Changeset 7698 for trunk/NEMOGCM/NEMO/OPA_SRC/DOM/dommsk.F90
- Timestamp:
- 2017-02-18T10:02:03+01:00 (7 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/NEMOGCM/NEMO/OPA_SRC/DOM/dommsk.F90
r7646 r7698 47 47 !!---------------------------------------------------------------------- 48 48 !! NEMO/OPA 3.2 , LODYC-IPSL (2009) 49 !! $Id$ 49 !! $Id$ 50 50 !! Software governed by the CeCILL licence (NEMOGCM/NEMO_CeCILL.txt) 51 51 !!---------------------------------------------------------------------- … … 137 137 ! ---------------------------- 138 138 ! 139 tmask(:,:,:) = 0._wp 139 !$OMP PARALLEL 140 !$OMP DO schedule(static) private(jk, jj, ji) 141 DO jk = 1, jpk 142 DO jj = 1, jpj 143 DO ji = 1, jpi 144 tmask(ji,jj,jk) = 0._wp 145 END DO 146 END DO 147 END DO 148 !$OMP DO schedule(static) private(jj, ji, iktop, ikbot) 140 149 DO jj = 1, jpj 141 150 DO ji = 1, jpi … … 147 156 END DO 148 157 END DO 158 !$OMP END PARALLEL 149 159 !SF add here lbc_lnk: bug not still understood : cause now domain configuration is read ! 150 160 !!gm I don't understand why... … … 161 171 ! ------------------------ 162 172 IF ( ln_bdy .AND. ln_mask_file ) THEN 173 !$OMP PARALLEL DO schedule(static) private(jk, jj, ji) 163 174 DO jk = 1, jpkm1 164 175 DO jj = 1, jpj … … 173 184 ! ---------------------------------------- 174 185 ! NB: at this point, fmask is designed for free slip lateral boundary condition 186 !$OMP PARALLEL DO schedule(static) private(jk, jj, ji) 175 187 DO jk = 1, jpk 176 188 DO jj = 1, jpjm1 … … 192 204 ! Ocean/land mask at wu-, wv- and w points (computed from tmask) 193 205 !----------------------------------------- 194 wmask (:,:,1) = tmask(:,:,1) ! surface 195 wumask(:,:,1) = umask(:,:,1) 196 wvmask(:,:,1) = vmask(:,:,1) 206 !$OMP PARALLEL 207 !$OMP DO schedule(static) private(jj, ji) 208 DO jj = 1, jpj 209 DO ji = 1, jpi 210 wmask (ji,jj,1) = tmask(ji,jj,1) ! surface 211 wumask(ji,jj,1) = umask(ji,jj,1) 212 wvmask(ji,jj,1) = vmask(ji,jj,1) 213 END DO 214 END DO 215 !$OMP DO schedule(static) private(jk,jj,ji) 197 216 DO jk = 2, jpk ! interior values 198 wmask (:,:,jk) = tmask(:,:,jk) * tmask(:,:,jk-1) 199 wumask(:,:,jk) = umask(:,:,jk) * umask(:,:,jk-1) 200 wvmask(:,:,jk) = vmask(:,:,jk) * vmask(:,:,jk-1) 201 END DO 217 DO jj = 1, jpj 218 DO ji = 1, jpi 219 wmask (ji,jj,jk) = tmask(ji,jj,jk) * tmask(ji,jj,jk-1) 220 wumask(ji,jj,jk) = umask(ji,jj,jk) * umask(ji,jj,jk-1) 221 wvmask(ji,jj,jk) = vmask(ji,jj,jk) * vmask(ji,jj,jk-1) 222 END DO 223 END DO 224 END DO 225 !$OMP END PARALLEL 202 226 203 227 … … 216 240 ! 217 241 ! ! halo mask : 0 on the halo and 1 elsewhere 218 tmask_h(:,:) = 1._wp 242 !$OMP PARALLEL DO schedule(static) private(jj, ji) 243 DO jj = 1, jpj 244 DO ji = 1, jpi 245 tmask_h(ji,jj) = 1._wp 246 END DO 247 END DO 219 248 tmask_h( 1 :iif, : ) = 0._wp ! first columns 220 249 tmask_h(iil:jpi, : ) = 0._wp ! last columns (including mpp extra columns) … … 241 270 ! 242 271 ! ! interior mask : 2D ocean mask x halo mask 243 tmask_i(:,:) = ssmask(:,:) * tmask_h(:,:) 272 !$OMP PARALLEL DO schedule(static) private(jj, ji) 273 DO jj = 1, jpj 274 DO ji = 1, jpi 275 tmask_i(ji,jj) = ssmask(ji,jj) * tmask_h(ji,jj) 276 END DO 277 END DO 244 278 245 279 … … 250 284 CALL wrk_alloc( jpi,jpj, zwf ) 251 285 ! 286 !$OMP PARALLEL 252 287 DO jk = 1, jpk 253 zwf(:,:) = fmask(:,:,jk) 288 !$OMP DO schedule(static) private(jj, ji) 289 DO jj = 1, jpj 290 DO ji = 1, jpi 291 zwf(ji,jj) = fmask(ji,jj,jk) 292 END DO 293 END DO 294 !$OMP DO schedule(static) private(jj, ji) 254 295 DO jj = 2, jpjm1 255 296 DO ji = fs_2, fs_jpim1 ! vector opt. … … 260 301 END DO 261 302 END DO 303 !$OMP DO schedule(static) private(jj) 262 304 DO jj = 2, jpjm1 263 305 IF( fmask(1,jj,jk) == 0._wp ) THEN … … 268 310 ENDIF 269 311 END DO 312 !$OMP DO schedule(static) private(ji) 270 313 DO ji = 2, jpim1 271 314 IF( fmask(ji,1,jk) == 0._wp ) THEN … … 277 320 END DO 278 321 END DO 322 !$OMP END PARALLEL 279 323 ! 280 324 CALL wrk_dealloc( jpi,jpj, zwf )
Note: See TracChangeset
for help on using the changeset viewer.