- Timestamp:
- 2015-12-07T16:11:45+01:00 (8 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/2015/dev_MetOffice_merge_2015/NEMOGCM/NEMO/OPA_SRC/TRA/traldf_iso.F90
r5836 r6012 103 103 ! 104 104 INTEGER :: ji, jj, jk, jn ! dummy loop indices 105 INTEGER :: ikt 105 106 INTEGER :: ierr ! local integer 106 107 REAL(wp) :: zmsku, zahu_w, zabe1, zcof1, zcoef3 ! local scalars … … 228 229 DO jj = 1, jpjm1 ! bottom correction (partial bottom cell) 229 230 DO ji = 1, fs_jpim1 ! vector opt. 230 !!gm the following anonymous remark is to considered: ! IF useless if zpshde defines pgu everywhere231 231 zdit(ji,jj,mbku(ji,jj)) = pgu(ji,jj,jn) 232 232 zdjt(ji,jj,mbkv(ji,jj)) = pgv(ji,jj,jn) … … 255 255 ELSE ; zdkt(:,:) = ( ptb(:,:,jk-1,jn) - ptb(:,:,jk,jn) ) * wmask(:,:,jk) 256 256 ENDIF 257 !!gm I don't understand why we should need this.... since wmask is used instead of tmask258 ! IF ( ln_isfcav ) THEN259 ! DO jj = 1, jpj260 ! DO ji = 1, jpi ! vector opt.261 ! ikt = mikt(ji,jj) ! surface level262 ! zdk1t(ji,jj,ikt) = ( ptb(ji,jj,ikt,jn ) - ptb(ji,jj,ikt+1,jn) ) * wmask(ji,jj,ikt+1)263 ! zdkt (ji,jj,ikt) = zdk1t(ji,jj,ikt)264 ! END DO265 ! END DO266 ! END IF267 !!gm268 257 269 258 DO jj = 1 , jpjm1 !== Horizontal fluxes … … 272 261 zabe2 = pahv(ji,jj,jk) * e1_e2v(ji,jj) * fse3v_n(ji,jj,jk) 273 262 ! 274 zmsku = 1. / MAX( tmask(ji+1,jj,jk ) + tmask(ji,jj,jk+1) &275 & + tmask(ji+1,jj,jk+1) + tmask(ji,jj,jk ), 1. )276 ! 277 zmskv = 1. / MAX( tmask(ji,jj+1,jk ) + tmask(ji,jj,jk+1) &278 & + tmask(ji,jj+1,jk+1) + tmask(ji,jj,jk ), 1. )263 zmsku = 1. / MAX( wmask(ji+1,jj,jk ) + wmask(ji,jj,jk+1) & 264 & + wmask(ji+1,jj,jk+1) + wmask(ji,jj,jk ), 1. ) 265 ! 266 zmskv = 1. / MAX( wmask(ji,jj+1,jk ) + wmask(ji,jj,jk+1) & 267 & + wmask(ji,jj+1,jk+1) + wmask(ji,jj,jk ), 1. ) 279 268 ! 280 269 zcof1 = - pahu(ji,jj,jk) * e2u(ji,jj) * uslp(ji,jj,jk) * zmsku … … 317 306 DO ji = fs_2, fs_jpim1 ! vector opt. 318 307 ! 319 zmsku = tmask(ji,jj,jk) / MAX( umask(ji ,jj,jk-1) + umask(ji-1,jj,jk) &308 zmsku = wmask(ji,jj,jk) / MAX( umask(ji ,jj,jk-1) + umask(ji-1,jj,jk) & 320 309 & + umask(ji-1,jj,jk-1) + umask(ji ,jj,jk) , 1._wp ) 321 zmskv = tmask(ji,jj,jk) / MAX( vmask(ji,jj ,jk-1) + vmask(ji,jj-1,jk) &310 zmskv = wmask(ji,jj,jk) / MAX( vmask(ji,jj ,jk-1) + vmask(ji,jj-1,jk) & 322 311 & + vmask(ji,jj-1,jk-1) + vmask(ji,jj ,jk) , 1._wp ) 323 312 ! … … 343 332 DO jj = 1, jpjm1 344 333 DO ji = fs_2, fs_jpim1 345 ztfw(ji,jj,jk) = ztfw(ji,jj,jk) + e1e2t(ji,jj) / fse3w(ji,jj,jk) * tmask(ji,jj,jk) &334 ztfw(ji,jj,jk) = ztfw(ji,jj,jk) + e1e2t(ji,jj) / fse3w(ji,jj,jk) * wmask(ji,jj,jk) & 346 335 & * ( ah_wslp2(ji,jj,jk) - akz(ji,jj,jk) ) & 347 336 & * ( ptb(ji,jj,jk-1,jn) - ptb(ji,jj,jk,jn) ) … … 358 347 ztfw(ji,jj,jk) = ztfw(ji,jj,jk) & 359 348 & + ah_wslp2(ji,jj,jk) * e1e2t(ji,jj) & 360 & * ( ptb(ji,jj,jk-1,jn) - ptb(ji,jj,jk,jn) ) * tmask(ji,jj,jk) / fse3w(ji,jj,jk)349 & * ( ptb(ji,jj,jk-1,jn) - ptb(ji,jj,jk,jn) ) * wmask(ji,jj,jk) / fse3w(ji,jj,jk) 361 350 END DO 362 351 END DO … … 366 355 DO jj = 1, jpjm1 367 356 DO ji = fs_2, fs_jpim1 368 ztfw(ji,jj,jk) = ztfw(ji,jj,jk) + e1e2t(ji,jj) / fse3w(ji,jj,jk) * tmask(ji,jj,jk) &357 ztfw(ji,jj,jk) = ztfw(ji,jj,jk) + e1e2t(ji,jj) / fse3w(ji,jj,jk) * wmask(ji,jj,jk) & 369 358 & * ( ah_wslp2(ji,jj,jk) * ( ptb (ji,jj,jk-1,jn) - ptb (ji,jj,jk,jn) ) & 370 359 & + akz (ji,jj,jk) * ( ptbb(ji,jj,jk-1,jn) - ptbb(ji,jj,jk,jn) ) )
Note: See TracChangeset
for help on using the changeset viewer.