- Timestamp:
- 2016-09-01T12:17:31+02:00 (8 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/2016/dev_r6409_SIMPLIF_2_usrdef/NEMOGCM/NEMO/OPA_SRC/USR/usrdef_zgr.F90
r6717 r6904 82 82 CALL zgr_z ( pdept_1d, pdepw_1d, pe3t_1d , pe3w_1d ) ! Reference z-coordinate system 83 83 ! 84 CALL zgr_ top_bot( k_top , k_bot ) ! top and bottom oceanlevel indices84 CALL zgr_msk_top_bot( k_top , k_bot ) ! masked top and bottom ocean t-level indices 85 85 ! 86 86 ! ! z-coordinate (3D arrays) from the 1D z-coord. … … 98 98 !! 99 99 !! ** Purpose : set the depth of model levels and the resulting 100 !! vertical scale factors.100 !! vertical scale factors. 101 101 !! 102 102 !! ** Method : z-coordinate system (use in all type of coordinate) 103 !! The depth of model levels is defined from an analytical104 !! function the derivative of which gives the scale factors.105 !! both depth and scale factors only depend on k (1d arrays).106 !! w-level: pdepw_1d = pdep(k)107 !! pe3w_1d(k) = dk(pdep)(k) = e3(k)108 !! t-level: pdept_1d = pdep(k+0.5)109 !! pe3t_1d(k) = dk(pdep)(k+0.5) = e3(k+0.5)103 !! The depth of model levels is defined from an analytical 104 !! function the derivative of which gives the scale factors. 105 !! both depth and scale factors only depend on k (1d arrays). 106 !! w-level: pdepw_1d = pdep(k) 107 !! pe3w_1d(k) = dk(pdep)(k) = e3(k) 108 !! t-level: pdept_1d = pdep(k+0.5) 109 !! pe3t_1d(k) = dk(pdep)(k+0.5) = e3(k+0.5) 110 110 !! 111 111 !! Here the Madec & Imbard (1996) function is used … … 193 193 194 194 195 SUBROUTINE zgr_ top_bot( k_top , k_bot )196 !!---------------------------------------------------------------------- 197 !! *** ROUTINE zgr_ top_bot ***198 !! 199 !! ** Purpose : set the top and bottom oceanlevels195 SUBROUTINE zgr_msk_top_bot( k_top , k_bot ) 196 !!---------------------------------------------------------------------- 197 !! *** ROUTINE zgr_msk_top_bot *** 198 !! 199 !! ** Purpose : set the masked top and bottom ocean t-levels 200 200 !! 201 201 !! ** Method : GYRE case = closed flat box ocean without ocean cavities … … 208 208 INTEGER , DIMENSION(:,:), INTENT(out) :: k_top , k_bot ! first & last ocean level 209 209 ! 210 INTEGER :: ji, jj ! dummy loop indices211 INTEGER :: ii0, ii1, ij0, ij1 ! local indices212 210 REAL(wp), DIMENSION(jpi,jpj) :: z2d ! 2D local workspace 213 211 !!---------------------------------------------------------------------- … … 220 218 z2d(:,:) = REAL( jpkm1 , wp ) ! flat bottom 221 219 ! 222 CALL lbc_lnk( z2d, 'T', 1. ) ! applied the lateral boundary condition(here jperio=0 ==>> closed)220 CALL lbc_lnk( z2d, 'T', 1. ) ! set surrounding land to zero (here jperio=0 ==>> closed) 223 221 ! 224 222 k_bot(:,:) = INT( z2d(:,:) ) ! =jpkm1 over the ocean point, =0 elsewhere 225 223 ! 226 k_top(:,:) = MIN( 1 , k_bot(:,:) ) ! = 1over the ocean point, =0 elsewhere227 ! 228 END SUBROUTINE zgr_ top_bot224 k_top(:,:) = MIN( 1 , k_bot(:,:) ) ! = 1 over the ocean point, =0 elsewhere 225 ! 226 END SUBROUTINE zgr_msk_top_bot 229 227 230 228
Note: See TracChangeset
for help on using the changeset viewer.