- Timestamp:
- 2013-11-20T17:28:04+01:00 (10 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/2013/dev_MERGE_2013/NEMOGCM/NEMO/OPA_SRC/DOM/domain.F90
r4245 r4292 87 87 CALL dom_msk ! Masks 88 88 IF( ln_sco ) CALL dom_stiff ! Maximum stiffness ratio/hydrostatic consistency 89 IF( lk_vvl ) CALL dom_vvl! Vertical variable mesh89 IF( lk_vvl ) CALL dom_vvl_init ! Vertical variable mesh 90 90 ! 91 91 IF( lk_c1d ) CALL cor_c1d ! 1D configuration: Coriolis set at T-point 92 ! 93 ! - ML - Used in dom_vvl_sf_nxt and lateral diffusion routines 94 ! but could be usefull in many other routines 95 e12t (:,:) = e1t(:,:) * e2t(:,:) 96 e12u (:,:) = e1u(:,:) * e2u(:,:) 97 e12v (:,:) = e1v(:,:) * e2v(:,:) 98 e12f (:,:) = e1f(:,:) * e2f(:,:) 99 r1_e12t (:,:) = 1._wp / e12t(:,:) 100 r1_e12u (:,:) = 1._wp / e12u(:,:) 101 r1_e12v (:,:) = 1._wp / e12v(:,:) 102 r1_e12f (:,:) = 1._wp / e12f(:,:) 103 re2u_e1u(:,:) = e2u(:,:) / e1u(:,:) 104 re1v_e2v(:,:) = e1v(:,:) / e2v(:,:) 92 105 ! 93 106 hu(:,:) = 0._wp ! Ocean depth at U- and V-points 94 107 hv(:,:) = 0._wp 95 108 DO jk = 1, jpk 96 hu(:,:) = hu(:,:) + fse3u (:,:,jk) * umask(:,:,jk)97 hv(:,:) = hv(:,:) + fse3v (:,:,jk) * vmask(:,:,jk)109 hu(:,:) = hu(:,:) + fse3u_n(:,:,jk) * umask(:,:,jk) 110 hv(:,:) = hv(:,:) + fse3v_n(:,:,jk) * vmask(:,:,jk) 98 111 END DO 99 112 ! ! Inverse of the local depth … … 407 420 DO jj = 2, jpjm1 408 421 DO jk = 1, jpkm1 409 zr1(1) = umask(ji-1,jj ,jk) *abs( (gdepw (ji ,jj ,jk )-gdepw(ji-1,jj ,jk ) &410 & +gdepw (ji ,jj ,jk+1)-gdepw(ji-1,jj ,jk+1)) &411 & /(gdepw (ji ,jj ,jk )+gdepw(ji-1,jj ,jk ) &412 & -gdepw (ji ,jj ,jk+1)-gdepw(ji-1,jj ,jk+1) + rsmall) )413 zr1(2) = umask(ji ,jj ,jk) *abs( (gdepw (ji+1,jj ,jk )-gdepw(ji ,jj ,jk ) &414 & +gdepw (ji+1,jj ,jk+1)-gdepw(ji ,jj ,jk+1)) &415 & /(gdepw (ji+1,jj ,jk )+gdepw(ji ,jj ,jk ) &416 & -gdepw (ji+1,jj ,jk+1)-gdepw(ji ,jj ,jk+1) + rsmall) )417 zr1(3) = vmask(ji ,jj ,jk) *abs( (gdepw (ji ,jj+1,jk )-gdepw(ji ,jj ,jk ) &418 & +gdepw (ji ,jj+1,jk+1)-gdepw(ji ,jj ,jk+1)) &419 & /(gdepw (ji ,jj+1,jk )+gdepw(ji ,jj ,jk ) &420 & -gdepw (ji ,jj+1,jk+1)-gdepw(ji ,jj ,jk+1) + rsmall) )421 zr1(4) = vmask(ji ,jj-1,jk) *abs( (gdepw (ji ,jj ,jk )-gdepw(ji ,jj-1,jk ) &422 & +gdepw (ji ,jj ,jk+1)-gdepw(ji ,jj-1,jk+1)) &423 & /(gdepw (ji ,jj ,jk )+gdepw(ji ,jj-1,jk ) &424 & -gdepw (ji, jj ,jk+1)-gdepw(ji ,jj-1,jk+1) + rsmall) )422 zr1(1) = umask(ji-1,jj ,jk) *abs( (gdepw_0(ji ,jj ,jk )-gdepw_0(ji-1,jj ,jk ) & 423 & +gdepw_0(ji ,jj ,jk+1)-gdepw_0(ji-1,jj ,jk+1)) & 424 & /(gdepw_0(ji ,jj ,jk )+gdepw_0(ji-1,jj ,jk ) & 425 & -gdepw_0(ji ,jj ,jk+1)-gdepw_0(ji-1,jj ,jk+1) + rsmall) ) 426 zr1(2) = umask(ji ,jj ,jk) *abs( (gdepw_0(ji+1,jj ,jk )-gdepw_0(ji ,jj ,jk ) & 427 & +gdepw_0(ji+1,jj ,jk+1)-gdepw_0(ji ,jj ,jk+1)) & 428 & /(gdepw_0(ji+1,jj ,jk )+gdepw_0(ji ,jj ,jk ) & 429 & -gdepw_0(ji+1,jj ,jk+1)-gdepw_0(ji ,jj ,jk+1) + rsmall) ) 430 zr1(3) = vmask(ji ,jj ,jk) *abs( (gdepw_0(ji ,jj+1,jk )-gdepw_0(ji ,jj ,jk ) & 431 & +gdepw_0(ji ,jj+1,jk+1)-gdepw_0(ji ,jj ,jk+1)) & 432 & /(gdepw_0(ji ,jj+1,jk )+gdepw_0(ji ,jj ,jk ) & 433 & -gdepw_0(ji ,jj+1,jk+1)-gdepw_0(ji ,jj ,jk+1) + rsmall) ) 434 zr1(4) = vmask(ji ,jj-1,jk) *abs( (gdepw_0(ji ,jj ,jk )-gdepw_0(ji ,jj-1,jk ) & 435 & +gdepw_0(ji ,jj ,jk+1)-gdepw_0(ji ,jj-1,jk+1)) & 436 & /(gdepw_0(ji ,jj ,jk )+gdepw_0(ji ,jj-1,jk ) & 437 & -gdepw_0(ji, jj ,jk+1)-gdepw_0(ji ,jj-1,jk+1) + rsmall) ) 425 438 zrxmax = MAXVAL(zr1(1:4)) 426 439 rx1(ji,jj) = MAX(rx1(ji,jj), zrxmax)
Note: See TracChangeset
for help on using the changeset viewer.