Skip to content

Commit 0582e25

Browse files
committed
omp accl for producing mpas seeds
1 parent 558e3bd commit 0582e25

File tree

1 file changed

+10
-6
lines changed

1 file changed

+10
-6
lines changed

include/ftk/filters/particle_tracer_mpas_ocean.hh

Lines changed: 10 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -116,12 +116,13 @@ inline void particle_tracer_mpas_ocean::initialize_particles_latlonz(
116116
dlon = nlon == 1 ? 0.0 : (lon1 - lon0) / (nlon - 1);
117117
int hint = 0;
118118

119+
#pragma omp parallel for collapse(2)
119120
for (int i = 0; i < nlat; i ++) {
120-
const double lat = deg2rad(i * dlat + lat0);
121-
const double slat = std::sin(lat),
122-
clat = std::cos(lat);
123-
124121
for (int j = 0; j < nlon; j ++) {
122+
const double lat = deg2rad(i * dlat + lat0);
123+
const double slat = std::sin(lat),
124+
clat = std::cos(lat);
125+
125126
const double lon = deg2rad(j * dlon + lon0);
126127
const double clon = std::cos(lon),
127128
slon = std::sin(lon);
@@ -149,8 +150,11 @@ inline void particle_tracer_mpas_ocean::initialize_particles_latlonz(
149150
#endif
150151

151152
if (ci >= 0) {
152-
curve.push_back(p);
153-
trajectories.add(curve);
153+
#pragma omp critical
154+
{
155+
curve.push_back(p);
156+
trajectories.add(curve);
157+
}
154158
}
155159
}
156160
}

0 commit comments

Comments
 (0)