- Timestamp:
- 2013-04-09T18:34:38+02:00 (11 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/2013/dev_r3858_NOC_ZTC/NEMOGCM/NEMO/OPA_SRC/DOM/domain.F90
r3764 r3865 86 86 CALL dom_msk ! Masks 87 87 IF( ln_sco ) CALL dom_stiff ! Maximum stiffness ratio/hydrostatic consistency 88 IF( lk_vvl ) CALL dom_vvl! Vertical variable mesh88 IF( lk_vvl ) CALL dom_vvl_init ! Vertical variable mesh 89 89 ! 90 90 IF( lk_c1d ) CALL cor_c1d ! 1D configuration: Coriolis set at T-point 91 ! 92 ! - ML - Used in dom_vvl_sf_nxt and lateral diffusion routines 93 ! but could be usefull in many other routines 94 e12t (:,:) = e1t(:,:) * e2t(:,:) 95 e12u (:,:) = e1u(:,:) * e2u(:,:) 96 e12v (:,:) = e1v(:,:) * e2v(:,:) 97 e12f (:,:) = e1f(:,:) * e2f(:,:) 98 r1_e12t (:,:) = 1._wp / e12t(:,:) 99 r1_e12u (:,:) = 1._wp / e12u(:,:) 100 r1_e12v (:,:) = 1._wp / e12v(:,:) 101 r1_e12f (:,:) = 1._wp / e12f(:,:) 102 re2u_e1u(:,:) = e2u(:,:) / e1u(:,:) 103 re1v_e2v(:,:) = e1v(:,:) / e2v(:,:) 91 104 ! 92 105 hu(:,:) = 0._wp ! Ocean depth at U- and V-points 93 106 hv(:,:) = 0._wp 94 107 DO jk = 1, jpk 95 hu(:,:) = hu(:,:) + fse3u (:,:,jk) * umask(:,:,jk)96 hv(:,:) = hv(:,:) + fse3v (:,:,jk) * vmask(:,:,jk)108 hu(:,:) = hu(:,:) + fse3u_n(:,:,jk) * umask(:,:,jk) 109 hv(:,:) = hv(:,:) + fse3v_n(:,:,jk) * vmask(:,:,jk) 97 110 END DO 98 111 ! ! Inverse of the local depth … … 345 358 DO jj = 2, jpjm1 346 359 DO jk = 1, jpkm1 347 zr1(1) = umask(ji-1,jj ,jk) *abs( (gdepw (ji ,jj ,jk )-gdepw(ji-1,jj ,jk ) &348 & +gdepw (ji ,jj ,jk+1)-gdepw(ji-1,jj ,jk+1)) &349 & /(gdepw (ji ,jj ,jk )+gdepw(ji-1,jj ,jk ) &350 & -gdepw (ji ,jj ,jk+1)-gdepw(ji-1,jj ,jk+1) + rsmall) )351 zr1(2) = umask(ji ,jj ,jk) *abs( (gdepw (ji+1,jj ,jk )-gdepw(ji ,jj ,jk ) &352 & +gdepw (ji+1,jj ,jk+1)-gdepw(ji ,jj ,jk+1)) &353 & /(gdepw (ji+1,jj ,jk )+gdepw(ji ,jj ,jk ) &354 & -gdepw (ji+1,jj ,jk+1)-gdepw(ji ,jj ,jk+1) + rsmall) )355 zr1(3) = vmask(ji ,jj ,jk) *abs( (gdepw (ji ,jj+1,jk )-gdepw(ji ,jj ,jk ) &356 & +gdepw (ji ,jj+1,jk+1)-gdepw(ji ,jj ,jk+1)) &357 & /(gdepw (ji ,jj+1,jk )+gdepw(ji ,jj ,jk ) &358 & -gdepw (ji ,jj+1,jk+1)-gdepw(ji ,jj ,jk+1) + rsmall) )359 zr1(4) = vmask(ji ,jj-1,jk) *abs( (gdepw (ji ,jj ,jk )-gdepw(ji ,jj-1,jk ) &360 & +gdepw (ji ,jj ,jk+1)-gdepw(ji ,jj-1,jk+1)) &361 & /(gdepw (ji ,jj ,jk )+gdepw(ji ,jj-1,jk ) &362 & -gdepw (ji, jj ,jk+1)-gdepw(ji ,jj-1,jk+1) + rsmall) )360 zr1(1) = umask(ji-1,jj ,jk) *abs( (gdepw_0(ji ,jj ,jk )-gdepw_0(ji-1,jj ,jk ) & 361 & +gdepw_0(ji ,jj ,jk+1)-gdepw_0(ji-1,jj ,jk+1)) & 362 & /(gdepw_0(ji ,jj ,jk )+gdepw_0(ji-1,jj ,jk ) & 363 & -gdepw_0(ji ,jj ,jk+1)-gdepw_0(ji-1,jj ,jk+1) + rsmall) ) 364 zr1(2) = umask(ji ,jj ,jk) *abs( (gdepw_0(ji+1,jj ,jk )-gdepw_0(ji ,jj ,jk ) & 365 & +gdepw_0(ji+1,jj ,jk+1)-gdepw_0(ji ,jj ,jk+1)) & 366 & /(gdepw_0(ji+1,jj ,jk )+gdepw_0(ji ,jj ,jk ) & 367 & -gdepw_0(ji+1,jj ,jk+1)-gdepw_0(ji ,jj ,jk+1) + rsmall) ) 368 zr1(3) = vmask(ji ,jj ,jk) *abs( (gdepw_0(ji ,jj+1,jk )-gdepw_0(ji ,jj ,jk ) & 369 & +gdepw_0(ji ,jj+1,jk+1)-gdepw_0(ji ,jj ,jk+1)) & 370 & /(gdepw_0(ji ,jj+1,jk )+gdepw_0(ji ,jj ,jk ) & 371 & -gdepw_0(ji ,jj+1,jk+1)-gdepw_0(ji ,jj ,jk+1) + rsmall) ) 372 zr1(4) = vmask(ji ,jj-1,jk) *abs( (gdepw_0(ji ,jj ,jk )-gdepw_0(ji ,jj-1,jk ) & 373 & +gdepw_0(ji ,jj ,jk+1)-gdepw_0(ji ,jj-1,jk+1)) & 374 & /(gdepw_0(ji ,jj ,jk )+gdepw_0(ji ,jj-1,jk ) & 375 & -gdepw_0(ji, jj ,jk+1)-gdepw_0(ji ,jj-1,jk+1) + rsmall) ) 363 376 zrxmax = MAXVAL(zr1(1:4)) 364 377 rx1(ji,jj) = MAX(rx1(ji,jj), zrxmax)
Note: See TracChangeset
for help on using the changeset viewer.