Changeset 13295 for NEMO/trunk/src/OCE/DIA
- Timestamp:
- 2020-07-10T20:24:21+02:00 (4 years ago)
- Location:
- NEMO/trunk/src/OCE/DIA
- Files:
-
- 5 edited
Legend:
- Unmodified
- Added
- Removed
-
NEMO/trunk/src/OCE/DIA/diaar5.F90
r13286 r13295 110 110 ! 111 111 IF( iom_use( 'e3tb' ) ) THEN ! bottom layer thickness 112 DO_2D _11_11112 DO_2D( 1, 1, 1, 1 ) 113 113 ikb = mbkt(ji,jj) 114 114 z2d(ji,jj) = e3t(ji,jj,ikb,Kmm) … … 195 195 ! ! Mean density anomalie, temperature and salinity 196 196 ztsn(:,:,:,:) = 0._wp ! ztsn(:,:,1,jp_tem/sal) is used here as 2D Workspace for temperature & salinity 197 DO_3D _11_11(1, jpkm1 )197 DO_3D( 1, 1, 1, 1, 1, jpkm1 ) 198 198 zztmp = e1e2t(ji,jj) * e3t(ji,jj,jk,Kmm) 199 199 ztsn(ji,jj,1,jp_tem) = ztsn(ji,jj,1,jp_tem) + zztmp * ts(ji,jj,jk,jp_tem,Kmm) … … 255 255 IF( iom_use( 'tosmint_pot') ) THEN 256 256 z2d(:,:) = 0._wp 257 DO_3D _11_11(1, jpkm1 )257 DO_3D( 1, 1, 1, 1, 1, jpkm1 ) 258 258 z2d(ji,jj) = z2d(ji,jj) + rho0 * e3t(ji,jj,jk,Kmm) * ztpot(ji,jj,jk) 259 259 END_3D … … 276 276 zpe(:,:) = 0._wp 277 277 IF( ln_zdfddm ) THEN 278 DO_3D _11_11(2, jpk )278 DO_3D( 1, 1, 1, 1, 2, jpk ) 279 279 IF( rn2(ji,jj,jk) > 0._wp ) THEN 280 280 zrw = ( gdept(ji,jj,jk,Kmm) - gdepw(ji,jj,jk,Kmm) ) / e3w(ji,jj,jk,Kmm) … … 289 289 END_3D 290 290 ELSE 291 DO_3D _11_11(1, jpk )291 DO_3D( 1, 1, 1, 1, 1, jpk ) 292 292 zpe(ji,jj) = zpe(ji,jj) + avt(ji,jj,jk) * MIN(0._wp,rn2(ji,jj,jk)) * rho0 * e3w(ji,jj,jk,Kmm) 293 293 END_3D … … 324 324 325 325 z2d(:,:) = puflx(:,:,1) 326 DO_3D _00_00(1, jpkm1 )326 DO_3D( 0, 0, 0, 0, 1, jpkm1 ) 327 327 z2d(ji,jj) = z2d(ji,jj) + puflx(ji,jj,jk) 328 328 END_3D … … 338 338 ! 339 339 z2d(:,:) = pvflx(:,:,1) 340 DO_3D _00_00(1, jpkm1 )340 DO_3D( 0, 0, 0, 0, 1, jpkm1 ) 341 341 z2d(ji,jj) = z2d(ji,jj) + pvflx(ji,jj,jk) 342 342 END_3D … … 385 385 zvol0 (:,:) = 0._wp 386 386 thick0(:,:) = 0._wp 387 DO_3D _11_11(1, jpkm1 )387 DO_3D( 1, 1, 1, 1, 1, jpkm1 ) 388 388 idep = tmask(ji,jj,jk) * e3t_0(ji,jj,jk) 389 389 zvol0 (ji,jj) = zvol0 (ji,jj) + idep * e1e2t(ji,jj) … … 403 403 sn0(:,:,:) = sn0(:,:,:) * tmask(:,:,:) 404 404 IF( ln_zps ) THEN ! z-coord. partial steps 405 DO_2D _11_11405 DO_2D( 1, 1, 1, 1 ) 406 406 ik = mbkt(ji,jj) 407 407 IF( ik > 1 ) THEN -
NEMO/trunk/src/OCE/DIA/diacfl.F90
r13237 r13295 60 60 IF( ln_timing ) CALL timing_start('dia_cfl') 61 61 ! 62 DO_3D _11_11(1, jpk )62 DO_3D( 1, 1, 1, 1, 1, jpk ) 63 63 zCu_cfl(ji,jj,jk) = ABS( uu(ji,jj,jk,Kmm) ) * rDt / e1u (ji,jj) ! for i-direction 64 64 zCv_cfl(ji,jj,jk) = ABS( vv(ji,jj,jk,Kmm) ) * rDt / e2v (ji,jj) ! for j-direction -
NEMO/trunk/src/OCE/DIA/diahth.F90
r13237 r13295 130 130 zdepinv(:,:) = 0._wp 131 131 zmaxdzT(:,:) = 0._wp 132 DO_2D _11_11132 DO_2D( 1, 1, 1, 1 ) 133 133 zztmp = gdepw(ji,jj,mbkt(ji,jj)+1,Kmm) 134 134 hth (ji,jj) = zztmp … … 139 139 END_2D 140 140 IF( nla10 > 1 ) THEN 141 DO_2D _11_11141 DO_2D( 1, 1, 1, 1 ) 142 142 zztmp = gdepw(ji,jj,mbkt(ji,jj)+1,Kmm) 143 143 zrho0_3(ji,jj) = zztmp … … 148 148 ! Preliminary computation 149 149 ! computation of zdelr = (dr/dT)(T,S,10m)*(-0.2 degC) 150 DO_2D _11_11150 DO_2D( 1, 1, 1, 1 ) 151 151 IF( tmask(ji,jj,nla10) == 1. ) THEN 152 152 zu = 1779.50 + 11.250 * ts(ji,jj,nla10,jp_tem,Kmm) - 3.80 * ts(ji,jj,nla10,jp_sal,Kmm) & … … 170 170 ! MLD: rho = rho(1) + zrho1 ! 171 171 ! ------------------------------------------------------------- ! 172 DO_3DS _11_11(jpkm1, 2, -1 )172 DO_3DS( 1, 1, 1, 1, jpkm1, 2, -1 ) 173 173 ! 174 174 zzdep = gdepw(ji,jj,jk,Kmm) … … 207 207 ! depth of temperature inversion ! 208 208 ! ------------------------------------------------------------- ! 209 DO_3DS _11_11(jpkm1, nlb10, -1 )209 DO_3DS( 1, 1, 1, 1, jpkm1, nlb10, -1 ) 210 210 ! 211 211 zzdep = gdepw(ji,jj,jk,Kmm) * tmask(ji,jj,1) … … 305 305 ! --------------------------------------- ! 306 306 iktem(:,:) = 1 307 DO_3D _11_11(1, jpkm1 )307 DO_3D( 1, 1, 1, 1, 1, jpkm1 ) 308 308 zztmp = ts(ji,jj,jk,jp_tem,Kmm) 309 309 IF( zztmp >= ptem ) iktem(ji,jj) = jk … … 313 313 ! Depth of ptem isotherm ! 314 314 ! ------------------------------- ! 315 DO_2D _11_11315 DO_2D( 1, 1, 1, 1 ) 316 316 ! 317 317 zzdep = gdepw(ji,jj,mbkt(ji,jj)+1,Kmm) ! depth of the ocean bottom … … 351 351 ! 352 352 ilevel(:,:) = 1 353 DO_3D _11_11(2, jpkm1 )353 DO_3D( 1, 1, 1, 1, 2, jpkm1 ) 354 354 IF( ( gdept(ji,jj,jk,Kmm) < pdep ) .AND. ( tmask(ji,jj,jk) == 1 ) ) THEN 355 355 ilevel(ji,jj) = jk … … 359 359 END_3D 360 360 ! 361 DO_2D _11_11361 DO_2D( 1, 1, 1, 1 ) 362 362 ik = ilevel(ji,jj) 363 363 zthick(ji,jj) = pdep - zthick(ji,jj) ! remaining thickness to reach depht pdep -
NEMO/trunk/src/OCE/DIA/diaptr.F90
r13286 r13295 119 119 zmask(:,:,:) = 0._wp 120 120 zts(:,:,:,:) = 0._wp 121 DO_3D _10_11(1, jpkm1 )121 DO_3D( 1, 0, 1, 1, 1, jpkm1 ) 122 122 zvfc = e1v(ji,jj) * e3v(ji,jj,jk,Kmm) 123 123 zmask(ji,jj,jk) = vmask(ji,jj,jk) * zvfc … … 190 190 zts(:,:,:,:) = 0._wp 191 191 IF( iom_use( 'zotem' ) .OR. iom_use( 'zosal' ) .OR. iom_use( 'zosrf' ) ) THEN ! i-mean i-k-surface 192 DO_3D _11_11(1, jpkm1 )192 DO_3D( 1, 1, 1, 1, 1, jpkm1 ) 193 193 zsfc = e1t(ji,jj) * e3t(ji,jj,jk,Kmm) 194 194 zmask(ji,jj,jk) = tmask(ji,jj,jk) * zsfc … … 280 280 IF( iom_use( 'sopstvtr' ) .OR. iom_use( 'sophtvtr' ) ) THEN 281 281 zts(:,:,:,:) = 0._wp 282 DO_3D _10_11(1, jpkm1 )282 DO_3D( 1, 0, 1, 1, 1, jpkm1 ) 283 283 zvfc = e1v(ji,jj) * e3v(ji,jj,jk,Kmm) 284 284 zts(ji,jj,jk,jp_tem) = (ts(ji,jj,jk,jp_tem,Kmm)+ts(ji,jj+1,jk,jp_tem,Kmm)) * 0.5 * zvfc !Tracers averaged onto V grid … … 505 505 ijpj = jpj 506 506 p_fval(:) = 0._wp 507 DO_3D _00_00(1, jpkm1 )507 DO_3D( 0, 0, 0, 0, 1, jpkm1 ) 508 508 p_fval(jj) = p_fval(jj) + pvflx(ji,jj,jk) * pmsk(ji,jj) * tmask_i(ji,jj) 509 509 END_3D … … 538 538 ijpj = jpj 539 539 p_fval(:) = 0._wp 540 DO_2D _00_00540 DO_2D( 0, 0, 0, 0 ) 541 541 p_fval(jj) = p_fval(jj) + pvflx(ji,jj) * pmsk(ji,jj) * tmask_i(ji,jj) 542 542 END_2D … … 567 567 p_fval(:,:) = 0._wp 568 568 DO jc = 1, jpnj ! looping over all processors in j axis 569 DO_2D _00_00569 DO_2D( 0, 0, 0, 0 ) 570 570 p_fval(ji,jj) = p_fval(ji,jj-1) + pva(ji,jj) * tmask_i(ji,jj) 571 571 END_2D … … 606 606 p_fval(:,:) = 0._wp 607 607 ! 608 DO_3D _00_00(1, jpkm1 )608 DO_3D( 0, 0, 0, 0, 1, jpkm1 ) 609 609 p_fval(jj,jk) = p_fval(jj,jk) + pta(ji,jj,jk) * pmsk(ji,jj) * tmask_i(ji,jj) 610 610 END_3D -
NEMO/trunk/src/OCE/DIA/diawri.F90
r13286 r13295 175 175 CALL iom_put( "sst", ts(:,:,1,jp_tem,Kmm) ) ! surface temperature 176 176 IF ( iom_use("sbt") ) THEN 177 DO_2D _11_11177 DO_2D( 1, 1, 1, 1 ) 178 178 ikbot = mbkt(ji,jj) 179 179 z2d(ji,jj) = ts(ji,jj,ikbot,jp_tem,Kmm) … … 185 185 CALL iom_put( "sss", ts(:,:,1,jp_sal,Kmm) ) ! surface salinity 186 186 IF ( iom_use("sbs") ) THEN 187 DO_2D _11_11187 DO_2D( 1, 1, 1, 1 ) 188 188 ikbot = mbkt(ji,jj) 189 189 z2d(ji,jj) = ts(ji,jj,ikbot,jp_sal,Kmm) … … 199 199 zztmp = rho0 * 0.25 200 200 z2d(:,:) = 0._wp 201 DO_2D _00_00201 DO_2D( 0, 0, 0, 0 ) 202 202 zztmp2 = ( ( rCdU_bot(ji+1,jj)+rCdU_bot(ji ,jj) ) * uu(ji ,jj,mbku(ji ,jj),Kmm) )**2 & 203 203 & + ( ( rCdU_bot(ji ,jj)+rCdU_bot(ji-1,jj) ) * uu(ji-1,jj,mbku(ji-1,jj),Kmm) )**2 & … … 214 214 CALL iom_put( "ssu", uu(:,:,1,Kmm) ) ! surface i-current 215 215 IF ( iom_use("sbu") ) THEN 216 DO_2D _11_11216 DO_2D( 1, 1, 1, 1 ) 217 217 ikbot = mbku(ji,jj) 218 218 z2d(ji,jj) = uu(ji,jj,ikbot,Kmm) … … 224 224 CALL iom_put( "ssv", vv(:,:,1,Kmm) ) ! surface j-current 225 225 IF ( iom_use("sbv") ) THEN 226 DO_2D _11_11226 DO_2D( 1, 1, 1, 1 ) 227 227 ikbot = mbkv(ji,jj) 228 228 z2d(ji,jj) = vv(ji,jj,ikbot,Kmm) … … 254 254 255 255 IF ( iom_use("sstgrad") .OR. iom_use("sstgrad2") ) THEN 256 DO_2D _00_00256 DO_2D( 0, 0, 0, 0 ) 257 257 zztmp = ts(ji,jj,1,jp_tem,Kmm) 258 258 zztmpx = ( ts(ji+1,jj,1,jp_tem,Kmm) - zztmp ) * r1_e1u(ji,jj) + ( zztmp - ts(ji-1,jj ,1,jp_tem,Kmm) ) * r1_e1u(ji-1,jj) … … 270 270 IF( iom_use("heatc") ) THEN 271 271 z2d(:,:) = 0._wp 272 DO_3D _11_11(1, jpkm1 )272 DO_3D( 1, 1, 1, 1, 1, jpkm1 ) 273 273 z2d(ji,jj) = z2d(ji,jj) + e3t(ji,jj,jk,Kmm) * ts(ji,jj,jk,jp_tem,Kmm) * tmask(ji,jj,jk) 274 274 END_3D … … 278 278 IF( iom_use("saltc") ) THEN 279 279 z2d(:,:) = 0._wp 280 DO_3D _11_11(1, jpkm1 )280 DO_3D( 1, 1, 1, 1, 1, jpkm1 ) 281 281 z2d(ji,jj) = z2d(ji,jj) + e3t(ji,jj,jk,Kmm) * ts(ji,jj,jk,jp_sal,Kmm) * tmask(ji,jj,jk) 282 282 END_3D … … 286 286 IF ( iom_use("eken") ) THEN 287 287 z3d(:,:,jpk) = 0._wp 288 DO_3D _00_00(1, jpkm1 )288 DO_3D( 0, 0, 0, 0, 1, jpkm1 ) 289 289 zztmp = 0.25_wp * r1_e1e2t(ji,jj) / e3t(ji,jj,jk,Kmm) 290 290 z3d(ji,jj,jk) = zztmp * ( uu(ji-1,jj,jk,Kmm)**2 * e2u(ji-1,jj) * e3u(ji-1,jj,jk,Kmm) & … … 312 312 IF( iom_use("u_heattr") ) THEN 313 313 z2d(:,:) = 0._wp 314 DO_3D _00_00(1, jpkm1 )314 DO_3D( 0, 0, 0, 0, 1, jpkm1 ) 315 315 z2d(ji,jj) = z2d(ji,jj) + z3d(ji,jj,jk) * ( ts(ji,jj,jk,jp_tem,Kmm) + ts(ji+1,jj,jk,jp_tem,Kmm) ) 316 316 END_3D … … 321 321 IF( iom_use("u_salttr") ) THEN 322 322 z2d(:,:) = 0.e0 323 DO_3D _00_00(1, jpkm1 )323 DO_3D( 0, 0, 0, 0, 1, jpkm1 ) 324 324 z2d(ji,jj) = z2d(ji,jj) + z3d(ji,jj,jk) * ( ts(ji,jj,jk,jp_sal,Kmm) + ts(ji+1,jj,jk,jp_sal,Kmm) ) 325 325 END_3D … … 339 339 IF( iom_use("v_heattr") ) THEN 340 340 z2d(:,:) = 0.e0 341 DO_3D _00_00(1, jpkm1 )341 DO_3D( 0, 0, 0, 0, 1, jpkm1 ) 342 342 z2d(ji,jj) = z2d(ji,jj) + z3d(ji,jj,jk) * ( ts(ji,jj,jk,jp_tem,Kmm) + ts(ji,jj+1,jk,jp_tem,Kmm) ) 343 343 END_3D … … 348 348 IF( iom_use("v_salttr") ) THEN 349 349 z2d(:,:) = 0._wp 350 DO_3D _00_00(1, jpkm1 )350 DO_3D( 0, 0, 0, 0, 1, jpkm1 ) 351 351 z2d(ji,jj) = z2d(ji,jj) + z3d(ji,jj,jk) * ( ts(ji,jj,jk,jp_sal,Kmm) + ts(ji,jj+1,jk,jp_sal,Kmm) ) 352 352 END_3D … … 357 357 IF( iom_use("tosmint") ) THEN 358 358 z2d(:,:) = 0._wp 359 DO_3D _00_00(1, jpkm1 )359 DO_3D( 0, 0, 0, 0, 1, jpkm1 ) 360 360 z2d(ji,jj) = z2d(ji,jj) + e3t(ji,jj,jk,Kmm) * ts(ji,jj,jk,jp_tem,Kmm) 361 361 END_3D … … 365 365 IF( iom_use("somint") ) THEN 366 366 z2d(:,:)=0._wp 367 DO_3D _00_00(1, jpkm1 )367 DO_3D( 0, 0, 0, 0, 1, jpkm1 ) 368 368 z2d(ji,jj) = z2d(ji,jj) + e3t(ji,jj,jk,Kmm) * ts(ji,jj,jk,jp_sal,Kmm) 369 369 END_3D
Note: See TracChangeset
for help on using the changeset viewer.