- Timestamp:
- 2020-09-29T12:41:06+02:00 (4 years ago)
- Location:
- NEMO/branches/2020/r12377_ticket2386
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
NEMO/branches/2020/r12377_ticket2386
- Property svn:externals
-
old new 3 3 ^/utils/build/mk@HEAD mk 4 4 ^/utils/tools@HEAD tools 5 ^/vendors/AGRIF/dev @HEADext/AGRIF5 ^/vendors/AGRIF/dev_r12970_AGRIF_CMEMS ext/AGRIF 6 6 ^/vendors/FCM@HEAD ext/FCM 7 7 ^/vendors/IOIPSL@HEAD ext/IOIPSL 8 8 9 9 # SETTE 10 ^/utils/CI/sette@ HEADsette10 ^/utils/CI/sette@13507 sette
-
- Property svn:externals
-
NEMO/branches/2020/r12377_ticket2386/tests/WAD/MY_SRC/usrdef_zgr.F90
r12377 r13540 15 15 !!--------------------------------------------------------------------- 16 16 USE oce ! ocean variables 17 USE dom_oce , ONLY: ht_0, mi0, mi1, nimpp, njmpp, & 18 & mj0, mj1, glamt, gphit ! ocean space and time domain 17 USE dom_oce , ONLY: ht_0, mi0, mi1, mj0, mj1, glamt, gphit ! ocean space and time domain 19 18 USE usrdef_nam ! User defined : namelist variables 20 19 USE wet_dry , ONLY: rn_wdmin1, rn_wdmin2, rn_wdld ! Wetting and drying … … 29 28 PUBLIC usr_def_zgr ! called by domzgr.F90 30 29 30 !! * Substitutions 31 # include "do_loop_substitute.h90" 31 32 !!---------------------------------------------------------------------- 32 33 !! NEMO/OCE 4.0 , NEMO Consortium (2018) … … 242 243 ! at v-point: averaging zht 243 244 zhv = 0._wp 244 DO jj = 1, jpjm1245 zhv( :,jj) = 0.5_wp * ( zht(:,jj) + zht(:,jj+1) )246 END DO245 DO_2D( 0, 0, 0, 0 ) 246 zhv(ji,jj) = 0.5_wp * ( zht(ji,jj) + zht(ji,jj+1) ) 247 END_2D 247 248 CALL lbc_lnk( 'usrdef_zgr', zhv, 'V', 1. ) ! boundary condition: this mask the surrounding grid-points 248 249 DO jj = mj0(1), mj1(1) ! first row of global domain only … … 279 280 ht_0 = zht 280 281 k_bot(:,:) = jpkm1 * k_top(:,:) !* bottom ocean = jpk-1 (here use k_top as a land mask) 281 DO jj = 1, jpj 282 DO ji = 1, jpi 283 IF( zht(ji,jj) <= -(rn_wdld - rn_wdmin2)) THEN 284 k_bot(ji,jj) = 0 285 k_top(ji,jj) = 0 286 ENDIF 287 END DO 288 END DO 282 DO_2D( 1, 1, 1, 1 ) 283 IF( zht(ji,jj) <= -(rn_wdld - rn_wdmin2)) THEN 284 k_bot(ji,jj) = 0 285 k_top(ji,jj) = 0 286 ENDIF 287 END_2D 289 288 ! 290 289 ! !* terrain-following coordinate with e3.(k)=cst) 291 290 ! ! OVERFLOW case : identical with j-index (T=V, U=F) 292 DO jj = 1, jpjm1 293 DO ji = 1, jpim1 294 z1_jpkm1 = 1._wp / REAL( k_bot(ji,jj) - k_top(ji,jj) + 1 , wp) 295 DO jk = 1, jpk 296 zwet = MAX( zht(ji,jj), rn_wdmin1 ) 297 pdept(ji,jj,jk) = zwet * z1_jpkm1 * ( REAL( jk , wp ) - 0.5_wp ) 298 pdepw(ji,jj,jk) = zwet * z1_jpkm1 * ( REAL( jk-1 , wp ) ) 299 pe3t (ji,jj,jk) = zwet * z1_jpkm1 300 pe3w (ji,jj,jk) = zwet * z1_jpkm1 301 zwet = MAX( zhu(ji,jj), rn_wdmin1 ) 302 pe3u (ji,jj,jk) = zwet * z1_jpkm1 303 pe3uw(ji,jj,jk) = zwet * z1_jpkm1 304 pe3f (ji,jj,jk) = zwet * z1_jpkm1 305 zwet = MAX( zhv(ji,jj), rn_wdmin1 ) 306 pe3v (ji,jj,jk) = zwet * z1_jpkm1 307 pe3vw(ji,jj,jk) = zwet * z1_jpkm1 308 END DO 309 END DO 310 END DO 291 DO_2D( 0, 0, 0, 0 ) 292 z1_jpkm1 = 1._wp / REAL( k_bot(ji,jj) - k_top(ji,jj) + 1 , wp) 293 DO jk = 1, jpk 294 zwet = MAX( zht(ji,jj), rn_wdmin1 ) 295 pdept(ji,jj,jk) = zwet * z1_jpkm1 * ( REAL( jk , wp ) - 0.5_wp ) 296 pdepw(ji,jj,jk) = zwet * z1_jpkm1 * ( REAL( jk-1 , wp ) ) 297 pe3t (ji,jj,jk) = zwet * z1_jpkm1 298 pe3w (ji,jj,jk) = zwet * z1_jpkm1 299 zwet = MAX( zhu(ji,jj), rn_wdmin1 ) 300 pe3u (ji,jj,jk) = zwet * z1_jpkm1 301 pe3uw(ji,jj,jk) = zwet * z1_jpkm1 302 pe3f (ji,jj,jk) = zwet * z1_jpkm1 303 zwet = MAX( zhv(ji,jj), rn_wdmin1 ) 304 pe3v (ji,jj,jk) = zwet * z1_jpkm1 305 pe3vw(ji,jj,jk) = zwet * z1_jpkm1 306 END DO 307 END_2D 311 308 CALL lbc_lnk( 'usrdef_zgr', pdept, 'T', 1. ) 312 309 CALL lbc_lnk( 'usrdef_zgr', pdepw, 'T', 1. )
Note: See TracChangeset
for help on using the changeset viewer.