Changeset 12377 for NEMO/trunk/tests/BENCH
- Timestamp:
- 2020-02-12T15:39:06+01:00 (4 years ago)
- Location:
- NEMO/trunk
- Files:
-
- 5 edited
- 1 copied
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/tests/BENCH/MY_SRC/usrdef_nam.F90
r11536 r12377 61 61 !!---------------------------------------------------------------------- 62 62 ! 63 REWIND( numnam_cfg ) ! Namelist namusr_def (exist in namelist_cfg only)64 63 READ ( numnam_cfg, namusr_def, IOSTAT = ios, ERR = 903 ) 65 64 903 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namusr_def in configuration namelist' ) … … 72 71 IF( nn_isize < 0 .AND. nn_jsize < 0 ) THEN 73 72 ! 74 REWIND( numnam_ref ) ! Namelist nammpp in reference namelist: mpi variables75 73 READ ( numnam_ref, nammpp, IOSTAT = ios, ERR = 901) 76 74 901 IF( ios /= 0 ) CALL ctl_nam ( ios , 'nammpp in reference namelist' ) 77 75 ! 78 REWIND( numnam_cfg ) ! Namelist nammpp in configuration namelist: mpi variables79 76 READ ( numnam_cfg, nammpp, IOSTAT = ios, ERR = 902 ) 80 77 902 IF( ios > 0 ) CALL ctl_nam ( ios , 'nammpp in configuration namelist' ) -
NEMO/trunk/tests/BENCH/MY_SRC/usrdef_sbc.F90
r10179 r12377 41 41 CONTAINS 42 42 43 SUBROUTINE usrdef_sbc_oce( kt )43 SUBROUTINE usrdef_sbc_oce( kt, Kbb ) 44 44 !!--------------------------------------------------------------------- 45 45 !! *** ROUTINE usr_def_sbc *** … … 56 56 !!---------------------------------------------------------------------- 57 57 INTEGER, INTENT(in) :: kt ! ocean time step 58 INTEGER, INTENT(in) :: Kbb ! ocean time index 58 59 !!--------------------------------------------------------------------- 59 60 ! -
NEMO/trunk/tests/BENCH/MY_SRC/usrdef_zgr.F90
r11536 r12377 30 30 PUBLIC usr_def_zgr ! called by domzgr.F90 31 31 32 !! * Substitutions33 # include "vectopt_loop_substitute.h90"34 32 !!---------------------------------------------------------------------- 35 33 !! NEMO/OPA 4.0 , NEMO Consortium (2016) -
NEMO/trunk/tests/BENCH/MY_SRC/zdfiwm.F90
r11536 r12377 48 48 REAL(wp), ALLOCATABLE, SAVE, DIMENSION(:,:) :: hcri_iwm ! decay scale for low-mode critical slope dissipation (m) 49 49 50 !! * Substitutions51 # include "vectopt_loop_substitute.h90"52 50 !!---------------------------------------------------------------------- 53 51 !! NEMO/OCE 4.0 , NEMO Consortium (2018) … … 69 67 70 68 71 SUBROUTINE zdf_iwm( kt, p_avm, p_avt, p_avs )69 SUBROUTINE zdf_iwm( kt, Kmm, p_avm, p_avt, p_avs ) 72 70 !!---------------------------------------------------------------------- 73 71 !! *** ROUTINE zdf_iwm *** … … 118 116 !!---------------------------------------------------------------------- 119 117 INTEGER , INTENT(in ) :: kt ! ocean time step 118 INTEGER , INTENT(in ) :: Kmm ! time level index 120 119 REAL(wp), DIMENSION(:,:,:) , INTENT(inout) :: p_avm ! momentum Kz (w-points) 121 120 REAL(wp), DIMENSION(:,:,:) , INTENT(inout) :: p_avt, p_avs ! tracer Kz (w-points) … … 155 154 END DO 156 155 END DO 157 !!gm gde3w ==>>> check for ssh taken into account.... seem OK gde3w_n=gdept _n - sshn156 !!gm gde3w ==>>> check for ssh taken into account.... seem OK gde3w_n=gdept(Kmm) - ssh(Kmm) 158 157 DO jk = 2, jpkm1 ! complete with the level-dependent part 159 zemx_iwm(:,:,jk) = zfact(:,:) * ( EXP( ( gde3w _n(:,:,jk ) - zhdep(:,:) ) / hcri_iwm(:,:) ) &160 & - EXP( ( gde3w _n(:,:,jk-1) - zhdep(:,:) ) / hcri_iwm(:,:) ) ) * wmask(:,:,jk) &161 & / ( gde3w _n(:,:,jk) - gde3w_n(:,:,jk-1) )162 163 !!gm delta(gde3w _n) = e3t_n!! Please verify the grid-point position w versus t-point158 zemx_iwm(:,:,jk) = zfact(:,:) * ( EXP( ( gde3w(:,:,jk ) - zhdep(:,:) ) / hcri_iwm(:,:) ) & 159 & - EXP( ( gde3w(:,:,jk-1) - zhdep(:,:) ) / hcri_iwm(:,:) ) ) * wmask(:,:,jk) & 160 & / ( gde3w(:,:,jk) - gde3w(:,:,jk-1) ) 161 162 !!gm delta(gde3w) = e3t(Kmm) !! Please verify the grid-point position w versus t-point 164 163 !!gm it seems to me that only 1/hcri_iwm is used ==> compute it one for all 165 164 … … 175 174 zfact(:,:) = 0._wp 176 175 DO jk = 2, jpkm1 ! part independent of the level 177 zfact(:,:) = zfact(:,:) + e3w _n(:,:,jk) * SQRT( MAX( 0._wp, rn2(:,:,jk) ) ) * wmask(:,:,jk)176 zfact(:,:) = zfact(:,:) + e3w(:,:,jk,Kmm) * SQRT( MAX( 0._wp, rn2(:,:,jk) ) ) * wmask(:,:,jk) 178 177 END DO 179 178 ! … … 192 191 zfact(:,:) = 0._wp 193 192 DO jk = 2, jpkm1 ! part independent of the level 194 zfact(:,:) = zfact(:,:) + e3w _n(:,:,jk) * MAX( 0._wp, rn2(:,:,jk) ) * wmask(:,:,jk)193 zfact(:,:) = zfact(:,:) + e3w(:,:,jk,Kmm) * MAX( 0._wp, rn2(:,:,jk) ) * wmask(:,:,jk) 195 194 END DO 196 195 ! … … 213 212 zfact(:,:) = 0._wp 214 213 DO jk = 2, jpkm1 215 zfact(:,:) = zfact(:,:) + e3w _n(:,:,jk) * SQRT( MAX( 0._wp, rn2(:,:,jk) ) ) * wmask(:,:,jk)214 zfact(:,:) = zfact(:,:) + e3w(:,:,jk,Kmm) * SQRT( MAX( 0._wp, rn2(:,:,jk) ) ) * wmask(:,:,jk) 216 215 zwkb(:,:,jk) = zfact(:,:) 217 216 END DO 218 217 !!gm even better: 219 218 ! DO jk = 2, jpkm1 220 ! zwkb(:,:) = zwkb(:,:) + e3w _n(:,:,jk) * SQRT( MAX( 0._wp, rn2(:,:,jk) ) )219 ! zwkb(:,:) = zwkb(:,:) + e3w(:,:,jk,Kmm) * SQRT( MAX( 0._wp, rn2(:,:,jk) ) ) 221 220 ! END DO 222 221 ! zfact(:,:) = zwkb(:,:,jpkm1) … … 253 252 DO jk = 2, jpkm1 ! complete with the level-dependent part 254 253 zemx_iwm(:,:,jk) = zemx_iwm(:,:,jk) + zweight(:,:,jk) * zfact(:,:) * wmask(:,:,jk) & 255 & / ( gde3w _n(:,:,jk) - gde3w_n(:,:,jk-1) )256 !!gm use of e3t _njust above?254 & / ( gde3w(:,:,jk) - gde3w(:,:,jk-1) ) 255 !!gm use of e3t(:,:,:,Kmm) just above? 257 256 END DO 258 257 ! 259 258 !!gm this is to be replaced by just a constant value znu=1.e-6 m2/s 260 259 ! Calculate molecular kinematic viscosity 261 znu_t(:,:,:) = 1.e-4_wp * ( 17.91_wp - 0.53810_wp * ts n(:,:,:,jp_tem) + 0.00694_wp * tsn(:,:,:,jp_tem) * tsn(:,:,:,jp_tem) &262 & + 0.02305_wp * ts n(:,:,:,jp_sal) ) * tmask(:,:,:) * r1_rau0260 znu_t(:,:,:) = 1.e-4_wp * ( 17.91_wp - 0.53810_wp * ts(:,:,:,jp_tem,Kmm) + 0.00694_wp * ts(:,:,:,jp_tem,Kmm) * ts(:,:,:,jp_tem,Kmm) & 261 & + 0.02305_wp * ts(:,:,:,jp_sal,Kmm) ) * tmask(:,:,:) * r1_rau0 263 262 DO jk = 2, jpkm1 264 263 znu_w(:,:,jk) = 0.5_wp * ( znu_t(:,:,jk-1) + znu_t(:,:,jk) ) * wmask(:,:,jk) … … 300 299 DO jj = 1, jpj 301 300 DO ji = 1, jpi 302 zztmp = zztmp + e3w _n(ji,jj,jk) * e1e2t(ji,jj) &301 zztmp = zztmp + e3w(ji,jj,jk,Kmm) * e1e2t(ji,jj) & 303 302 & * MAX( 0._wp, rn2(ji,jj,jk) ) * zav_wave(ji,jj,jk) * wmask(ji,jj,jk) * tmask_i(ji,jj) 304 303 END DO … … 356 355 z2d(:,:) = 0._wp 357 356 DO jk = 2, jpkm1 358 z2d(:,:) = z2d(:,:) + e3w _n(:,:,jk) * z3d(:,:,jk) * wmask(:,:,jk)357 z2d(:,:) = z2d(:,:) + e3w(:,:,jk,Kmm) * z3d(:,:,jk) * wmask(:,:,jk) 359 358 END DO 360 359 z2d(:,:) = rau0 * z2d(:,:) … … 404 403 !!---------------------------------------------------------------------- 405 404 ! 406 REWIND( numnam_ref ) ! Namelist namzdf_iwm in reference namelist : Wave-driven mixing407 405 READ ( numnam_ref, namzdf_iwm, IOSTAT = ios, ERR = 901) 408 406 901 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namzdf_iwm in reference namelist' ) 409 407 ! 410 REWIND( numnam_cfg ) ! Namelist namzdf_iwm in configuration namelist : Wave-driven mixing411 408 READ ( numnam_cfg, namzdf_iwm, IOSTAT = ios, ERR = 902 ) 412 409 902 IF( ios > 0 ) CALL ctl_nam ( ios , 'namzdf_iwm in configuration namelist' )
Note: See TracChangeset
for help on using the changeset viewer.