Changeset 12377 for NEMO/trunk/src/OCE/DOM/domzgr.F90
- Timestamp:
- 2020-02-12T15:39:06+01:00 (4 years ago)
- Location:
- NEMO/trunk
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
NEMO/trunk
- Property svn:externals
-
old new 3 3 ^/utils/build/mk@HEAD mk 4 4 ^/utils/tools@HEAD tools 5 ^/vendors/AGRIF/dev @HEAD ext/AGRIF5 ^/vendors/AGRIF/dev_r11615_ENHANCE-04_namelists_as_internalfiles_agrif@HEAD ext/AGRIF 6 6 ^/vendors/FCM@HEAD ext/FCM 7 7 ^/vendors/IOIPSL@HEAD ext/IOIPSL
-
- Property svn:externals
-
NEMO/trunk/src/OCE/DOM/domzgr.F90
r10425 r12377 44 44 45 45 !! * Substitutions 46 # include " vectopt_loop_substitute.h90"46 # include "do_loop_substitute.h90" 47 47 !!---------------------------------------------------------------------- 48 48 !! NEMO/OCE 4.0 , NEMO Consortium (2018) … … 71 71 INTEGER, DIMENSION(:,:), INTENT(out) :: k_top, k_bot ! ocean first and last level indices 72 72 ! 73 INTEGER :: jk ! dummy loop index 73 INTEGER :: ji,jj,jk ! dummy loop index 74 INTEGER :: ikt, ikb ! top/bot index 74 75 INTEGER :: ioptio, ibat, ios ! local integer 75 76 REAL(wp) :: zrefdep ! depth of the reference level (~10m) … … 118 119 ! Any closed seas (defined by closea_mask > 0 in domain_cfg file) to be filled 119 120 ! in at runtime if ln_closea=.false. 120 IF( .NOT.ln_closea ) CALL clo_bat( k_top, k_bot ) 121 IF( ln_closea ) THEN 122 IF ( ln_maskcs ) THEN 123 ! mask all the closed sea 124 CALL clo_msk( k_top, k_bot, mask_opnsea, 'mask_opensea' ) 125 ELSE IF ( ln_mask_csundef ) THEN 126 ! defined closed sea are kept 127 ! mask all the undefined closed sea 128 CALL clo_msk( k_top, k_bot, mask_csundef, 'mask_csundef' ) 129 END IF 130 END IF 121 131 ! 122 132 IF(lwp) THEN ! Control print … … 138 148 ! ! top/bottom ocean level indices for t-, u- and v-points (f-point also for top) 139 149 CALL zgr_top_bot( k_top, k_bot ) ! with a minimum value set to 1 140 141 150 ! 151 ! ! ice shelf draft and bathymetry 152 DO_2D_11_11 153 ikt = mikt(ji,jj) 154 ikb = mbkt(ji,jj) 155 bathy (ji,jj) = gdepw_0(ji,jj,ikb+1) 156 risfdep(ji,jj) = gdepw_0(ji,jj,ikt ) 157 END_2D 158 ! 142 159 ! ! deepest/shallowest W level Above/Below ~10m 143 160 !!gm BUG in s-coordinate this does not work! … … 296 313 ! ! N.B. top k-index of W-level = mikt 297 314 ! ! bottom k-index of W-level = mbkt+1 298 DO jj = 1, jpjm1 299 DO ji = 1, jpim1 300 miku(ji,jj) = MAX( mikt(ji+1,jj ) , mikt(ji,jj) ) 301 mikv(ji,jj) = MAX( mikt(ji ,jj+1) , mikt(ji,jj) ) 302 mikf(ji,jj) = MAX( mikt(ji ,jj+1) , mikt(ji,jj), mikt(ji+1,jj ), mikt(ji+1,jj+1) ) 303 ! 304 mbku(ji,jj) = MIN( mbkt(ji+1,jj ) , mbkt(ji,jj) ) 305 mbkv(ji,jj) = MIN( mbkt(ji ,jj+1) , mbkt(ji,jj) ) 306 END DO 307 END DO 315 DO_2D_10_10 316 miku(ji,jj) = MAX( mikt(ji+1,jj ) , mikt(ji,jj) ) 317 mikv(ji,jj) = MAX( mikt(ji ,jj+1) , mikt(ji,jj) ) 318 mikf(ji,jj) = MAX( mikt(ji ,jj+1) , mikt(ji,jj), mikt(ji+1,jj ), mikt(ji+1,jj+1) ) 319 ! 320 mbku(ji,jj) = MIN( mbkt(ji+1,jj ) , mbkt(ji,jj) ) 321 mbkv(ji,jj) = MIN( mbkt(ji ,jj+1) , mbkt(ji,jj) ) 322 END_2D 308 323 ! converte into REAL to use lbc_lnk ; impose a min value of 1 as a zero can be set in lbclnk 309 324 zk(:,:) = REAL( miku(:,:), wp ) ; CALL lbc_lnk( 'domzgr', zk, 'U', 1. ) ; miku(:,:) = MAX( NINT( zk(:,:) ), 1 )
Note: See TracChangeset
for help on using the changeset viewer.