- Timestamp:
- 2020-02-19T10:22:15+01:00 (4 years ago)
- Location:
- NEMO/branches/2020/KERNEL-03_Storkey_Coward_RK3_stage2/src
- Files:
-
- 73 edited
Legend:
- Unmodified
- Added
- Removed
-
NEMO/branches/2020/KERNEL-03_Storkey_Coward_RK3_stage2/src/ABL/abl.F90
r11305 r12406 11 11 USE dom_oce, ONLY: e1t, e1u, e1v, e1f ! scale factors for horizontal grid 12 12 USE dom_oce, ONLY: e2t, e2u, e2v, e2f ! 13 USE dom_oce, ONLY: r dt! oceanic time-step13 USE dom_oce, ONLY: rn_Dt ! oceanic time-step 14 14 USE sbc_oce, ONLY: ght_abl, ghw_abl, e3t_abl, e3w_abl, jpka ! scale factors and altitudes of ABL grid points in the vertical 15 15 -
NEMO/branches/2020/KERNEL-03_Storkey_Coward_RK3_stage2/src/ABL/ablmod.F90
r12353 r12406 436 436 zcff2 = jp_alp3_dyn * zsig**3 + jp_alp2_dyn * zsig**2 & 437 437 & + jp_alp1_dyn * zsig + jp_alp0_dyn 438 zcff = (1._wp-zmsk) + zmsk * zcff2 * r dt ! zcff = 1 for masked points439 ! rdt = rdt_abl / nn_fsbc438 zcff = (1._wp-zmsk) + zmsk * zcff2 * rn_Dt ! zcff = 1 for masked points 439 ! rn_Dt = rdt_abl / nn_fsbc 440 440 zcff = zcff * rest_eq(ji,jj) 441 441 z_cft( ji, jj, jk ) = zcff … … 460 460 zcff2 = jp_alp3_tra * zsig**3 + jp_alp2_tra * zsig**2 & 461 461 & + jp_alp1_tra * zsig + jp_alp0_tra 462 zcff = (1._wp-zmsk) + zmsk * zcff2 * r dt ! zcff = 1 for masked points463 ! rdt = rdt_abl / nn_fsbc462 zcff = (1._wp-zmsk) + zmsk * zcff2 * rn_Dt ! zcff = 1 for masked points 463 ! rn_Dt = rdt_abl / nn_fsbc 464 464 !z_cft( ji, jj, jk ) = zcff 465 465 tq_abl( ji, jj, jk, nt_a, jp_ta ) = (1._wp - zcff ) * tq_abl( ji, jj, jk, nt_a, jp_ta ) & -
NEMO/branches/2020/KERNEL-03_Storkey_Coward_RK3_stage2/src/ABL/sbcabl.F90
r12353 r12406 202 202 203 203 ! ABL timestep 204 rdt_abl = nn_fsbc * r dt204 rdt_abl = nn_fsbc * rn_Dt 205 205 206 206 ! Check parameters for dynamics -
NEMO/branches/2020/KERNEL-03_Storkey_Coward_RK3_stage2/src/ICE/icedia.F90
r12377 r12406 128 128 129 129 IF( iom_use('ibgfrchfxtop') .OR. iom_use('ibgfrchfxbot') ) THEN 130 CALL iom_put( 'ibgfrchfxtop' , frc_temtop * z1_e1e2 * 1.e-20 * kt*r dt ) ! heat on top of ice/snw/ocean (W/m2)131 CALL iom_put( 'ibgfrchfxbot' , frc_tembot * z1_e1e2 * 1.e-20 * kt*r dt ) ! heat on top of ocean(below ice) (W/m2)130 CALL iom_put( 'ibgfrchfxtop' , frc_temtop * z1_e1e2 * 1.e-20 * kt*rn_Dt ) ! heat on top of ice/snw/ocean (W/m2) 131 CALL iom_put( 'ibgfrchfxbot' , frc_tembot * z1_e1e2 * 1.e-20 * kt*rn_Dt ) ! heat on top of ocean(below ice) (W/m2) 132 132 ENDIF 133 133 -
NEMO/branches/2020/KERNEL-03_Storkey_Coward_RK3_stage2/src/ICE/icestp.F90
r12377 r12406 338 338 IF( ln_bdy .AND. ln_icediachk ) CALL ctl_warn('par_init: online conservation check does not work with BDY') 339 339 ! 340 rdt_ice = REAL(nn_fsbc) * r dt !--- sea-ice timestep and its inverse340 rdt_ice = REAL(nn_fsbc) * rn_Dt !--- sea-ice timestep and its inverse 341 341 r1_rdtice = 1._wp / rdt_ice 342 342 IF(lwp) WRITE(numout,*) 343 IF(lwp) WRITE(numout,*) ' ice timestep rdt_ice = nn_fsbc*r dt = ', rdt_ice343 IF(lwp) WRITE(numout,*) ' ice timestep rdt_ice = nn_fsbc*rn_Dt = ', rdt_ice 344 344 ! 345 345 r1_nlay_i = 1._wp / REAL( nlay_i, wp ) !--- inverse of nlay_i and nlay_s -
NEMO/branches/2020/KERNEL-03_Storkey_Coward_RK3_stage2/src/NST/agrif_oce_sponge.F90
r12397 r12406 439 439 440 440 !* set relaxation time scale 441 IF( l_1st_euler .AND. lk_agrif_fstep ) THEN ; ztrelax = rn_trelax_tra / ( r dt )442 ELSE ; ztrelax = rn_trelax_tra / (2._wp * r dt )441 IF( l_1st_euler .AND. lk_agrif_fstep ) THEN ; ztrelax = rn_trelax_tra / ( rn_Dt ) 442 ELSE ; ztrelax = rn_trelax_tra / (2._wp * rn_Dt ) 443 443 ENDIF 444 444 … … 596 596 #endif 597 597 !* set relaxation time scale 598 IF( l_1st_euler .AND. lk_agrif_fstep ) THEN ; ztrelax = rn_trelax_dyn / ( r dt )599 ELSE ; ztrelax = rn_trelax_dyn / (2._wp * r dt )598 IF( l_1st_euler .AND. lk_agrif_fstep ) THEN ; ztrelax = rn_trelax_dyn / ( rn_Dt ) 599 ELSE ; ztrelax = rn_trelax_dyn / (2._wp * rn_Dt ) 600 600 ENDIF 601 601 ! … … 772 772 # endif 773 773 !* set relaxation time scale 774 IF( l_1st_euler .AND. lk_agrif_fstep ) THEN ; ztrelax = rn_trelax_dyn / ( r dt )775 ELSE ; ztrelax = rn_trelax_dyn / (2._wp * r dt )774 IF( l_1st_euler .AND. lk_agrif_fstep ) THEN ; ztrelax = rn_trelax_dyn / ( rn_Dt ) 775 ELSE ; ztrelax = rn_trelax_dyn / (2._wp * rn_Dt ) 776 776 ENDIF 777 777 ! -
NEMO/branches/2020/KERNEL-03_Storkey_Coward_RK3_stage2/src/NST/agrif_oce_update.F90
r12397 r12406 1117 1117 IF (western_side) THEN 1118 1118 DO jj=j1,j2 1119 zcor = r dt * r1_e1e2t(i1 ,jj) * e2u(i1,jj) * (ub2_b(i1,jj)-tabres(i1,jj))1119 zcor = rn_Dt * r1_e1e2t(i1 ,jj) * e2u(i1,jj) * (ub2_b(i1,jj)-tabres(i1,jj)) 1120 1120 ssh(i1 ,jj,Kmm_a) = ssh(i1 ,jj,Kmm_a) + zcor 1121 1121 IF (.NOT.(lk_agrif_fstep.AND.(l_1st_euler))) ssh(i1 ,jj,Kbb_a) = ssh(i1 ,jj,Kbb_a) + atfp * zcor … … 1124 1124 IF (eastern_side) THEN 1125 1125 DO jj=j1,j2 1126 zcor = - r dt * r1_e1e2t(i2+1,jj) * e2u(i2,jj) * (ub2_b(i2,jj)-tabres(i2,jj))1126 zcor = - rn_Dt * r1_e1e2t(i2+1,jj) * e2u(i2,jj) * (ub2_b(i2,jj)-tabres(i2,jj)) 1127 1127 ssh(i2+1,jj,Kmm_a) = ssh(i2+1,jj,Kmm_a) + zcor 1128 1128 IF (.NOT.(lk_agrif_fstep.AND.(l_1st_euler))) ssh(i2+1,jj,Kbb_a) = ssh(i2+1,jj,Kbb_a) + atfp * zcor … … 1205 1205 IF (southern_side) THEN 1206 1206 DO ji=i1,i2 1207 zcor = r dt * r1_e1e2t(ji,j1 ) * e1v(ji,j1 ) * (vb2_b(ji,j1)-tabres(ji,j1))1207 zcor = rn_Dt * r1_e1e2t(ji,j1 ) * e1v(ji,j1 ) * (vb2_b(ji,j1)-tabres(ji,j1)) 1208 1208 ssh(ji,j1 ,Kmm_a) = ssh(ji,j1 ,Kmm_a) + zcor 1209 1209 IF (.NOT.(lk_agrif_fstep.AND.(l_1st_euler))) ssh(ji,j1 ,Kbb_a) = ssh(ji,j1,Kbb_a) + atfp * zcor … … 1212 1212 IF (northern_side) THEN 1213 1213 DO ji=i1,i2 1214 zcor = - r dt * r1_e1e2t(ji,j2+1) * e1v(ji,j2 ) * (vb2_b(ji,j2)-tabres(ji,j2))1214 zcor = - rn_Dt * r1_e1e2t(ji,j2+1) * e1v(ji,j2 ) * (vb2_b(ji,j2)-tabres(ji,j2)) 1215 1215 ssh(ji,j2+1,Kmm_a) = ssh(ji,j2+1,Kmm_a) + zcor 1216 1216 IF (.NOT.(lk_agrif_fstep.AND.(l_1st_euler))) ssh(ji,j2+1,Kbb_a) = ssh(ji,j2+1,Kbb_a) + atfp * zcor -
NEMO/branches/2020/KERNEL-03_Storkey_Coward_RK3_stage2/src/NST/agrif_top_sponge.F90
r12397 r12406 137 137 138 138 !* set relaxation time scale 139 IF( l_1st_euler .AND. lk_agrif_fstep ) THEN ; ztrelax = rn_trelax_tra / ( r dt )140 ELSE ; ztrelax = rn_trelax_tra / (2._wp * r dt )139 IF( l_1st_euler .AND. lk_agrif_fstep ) THEN ; ztrelax = rn_trelax_tra / ( rn_Dt ) 140 ELSE ; ztrelax = rn_trelax_tra / (2._wp * rn_Dt ) 141 141 ENDIF 142 142 -
NEMO/branches/2020/KERNEL-03_Storkey_Coward_RK3_stage2/src/NST/agrif_user.F90
r12377 r12406 202 202 203 203 ! Check time steps 204 IF( NINT(Agrif_Rhot()) * NINT(r dt) .NE. Agrif_Parent(rdt) ) THEN205 WRITE(cl_check1,*) NINT(Agrif_Parent(r dt))206 WRITE(cl_check2,*) NINT(r dt)207 WRITE(cl_check3,*) NINT(Agrif_Parent(r dt)/Agrif_Rhot())204 IF( NINT(Agrif_Rhot()) * NINT(rn_Dt) .NE. Agrif_Parent(rn_Dt) ) THEN 205 WRITE(cl_check1,*) NINT(Agrif_Parent(rn_Dt)) 206 WRITE(cl_check2,*) NINT(rn_Dt) 207 WRITE(cl_check3,*) NINT(Agrif_Parent(rn_Dt)/Agrif_Rhot()) 208 208 CALL ctl_stop( 'Incompatible time step between ocean grids', & 209 209 & 'parent grid value : '//cl_check1 , & … … 613 613 IF( check_namelist ) THEN 614 614 ! Check time steps 615 IF( NINT(Agrif_Rhot()) * NINT(r dt) .NE. Agrif_Parent(rdt) ) THEN616 WRITE(cl_check1,*) Agrif_Parent(r dt)617 WRITE(cl_check2,*) r dt618 WRITE(cl_check3,*) r dt*Agrif_Rhot()615 IF( NINT(Agrif_Rhot()) * NINT(rn_Dt) .NE. Agrif_Parent(rn_Dt) ) THEN 616 WRITE(cl_check1,*) Agrif_Parent(rn_Dt) 617 WRITE(cl_check2,*) rn_Dt 618 WRITE(cl_check3,*) rn_Dt*Agrif_Rhot() 619 619 CALL ctl_stop( 'incompatible time step between grids', & 620 620 & 'parent grid value : '//cl_check1 , & -
NEMO/branches/2020/KERNEL-03_Storkey_Coward_RK3_stage2/src/OCE/ASM/asminc.F90
r12397 r12406 534 534 ! 535 535 it = kt - nit000 + 1 536 zincwgt = wgtiau(it) / r dt ! IAU weight for the current time step536 zincwgt = wgtiau(it) / rn_Dt ! IAU weight for the current time step 537 537 ! 538 538 IF(lwp) THEN … … 651 651 ! 652 652 it = kt - nit000 + 1 653 zincwgt = wgtiau(it) / r dt ! IAU weight for the current time step653 zincwgt = wgtiau(it) / rn_Dt ! IAU weight for the current time step 654 654 ! 655 655 IF(lwp) THEN … … 722 722 ! 723 723 it = kt - nit000 + 1 724 zincwgt = wgtiau(it) / r dt ! IAU weight for the current time step724 zincwgt = wgtiau(it) / rn_Dt ! IAU weight for the current time step 725 725 ! 726 726 IF(lwp) THEN … … 841 841 it = kt - nit000 + 1 842 842 zincwgt = wgtiau(it) ! IAU weight for the current time step 843 ! note this is not a tendency so should not be divided by r dt (as with the tracer and other increments)843 ! note this is not a tendency so should not be divided by rn_Dt (as with the tracer and other increments) 844 844 ! 845 845 IF(lwp) THEN … … 876 876 #if defined key_cice && defined key_asminc 877 877 ! Sea-ice : CICE case. Pass ice increment tendency into CICE 878 ndaice_da(:,:) = seaice_bkginc(:,:) * zincwgt / r dt878 ndaice_da(:,:) = seaice_bkginc(:,:) * zincwgt / rn_Dt 879 879 #endif 880 880 ! … … 926 926 #if defined key_cice && defined key_asminc 927 927 ! Sea-ice : CICE case. Pass ice increment tendency into CICE 928 ndaice_da(:,:) = seaice_bkginc(:,:) / r dt928 ndaice_da(:,:) = seaice_bkginc(:,:) / rn_Dt 929 929 #endif 930 930 IF ( .NOT. PRESENT(kindic) ) THEN … … 959 959 ! ! fwf : ice formation and melting 960 960 ! 961 ! zfons = ( -nfresh_da(ji,jj)*soce + nfsalt_da(ji,jj) )*r dt961 ! zfons = ( -nfresh_da(ji,jj)*soce + nfsalt_da(ji,jj) )*rn_Dt 962 962 ! 963 963 ! ! change salinity down to mixed layer depth -
NEMO/branches/2020/KERNEL-03_Storkey_Coward_RK3_stage2/src/OCE/BDY/bdylib.F90
r12377 r12406 240 240 ! Centred derivative is calculated as average of "left" and "right" derivatives for 241 241 ! this reason. 242 ! Note no r dt factor in expression for zdt because it cancels in the expressions for242 ! Note no rn_Dt factor in expression for zdt because it cancels in the expressions for 243 243 ! zrx and zry. 244 244 zdt = phia(iibm1 ,ijbm1 ) - phib(iibm1 ,ijbm1 ) … … 259 259 zout = sign( 1., zrx ) 260 260 zout = 0.5*( zout + abs(zout) ) 261 zwgt = 2.*r dt*( (1.-zout) * idx%nbd(jb,igrd) + zout * idx%nbdout(jb,igrd) )261 zwgt = 2.*rn_Dt*( (1.-zout) * idx%nbd(jb,igrd) + zout * idx%nbdout(jb,igrd) ) 262 262 ! only apply radiation on outflow points 263 263 if( ll_npo ) then !! NPO version !! … … 425 425 zout = sign( 1., zrx ) 426 426 zout = 0.5*( zout + abs(zout) ) 427 zwgt = 2.*r dt*( (1.-zout) * idx%nbd(jb,igrd) + zout * idx%nbdout(jb,igrd) )427 zwgt = 2.*rn_Dt*( (1.-zout) * idx%nbd(jb,igrd) + zout * idx%nbdout(jb,igrd) ) 428 428 ! only apply radiation on outflow points 429 429 if( ll_npo ) then !! NPO version !! -
NEMO/branches/2020/KERNEL-03_Storkey_Coward_RK3_stage2/src/OCE/BDY/bdytides.F90
r12377 r12406 297 297 ! Absolute time from model initialization: 298 298 IF( PRESENT(kit) ) THEN 299 z_arg = ( REAL(kt, wp) + ( REAL(kit, wp) + zt_offset - 1. ) / REAL(nn_baro, wp) ) * r dt299 z_arg = ( REAL(kt, wp) + ( REAL(kit, wp) + zt_offset - 1. ) / REAL(nn_baro, wp) ) * rn_Dt 300 300 ELSE 301 z_arg = ( REAL(kt, wp) + zt_offset ) * r dt301 z_arg = ( REAL(kt, wp) + zt_offset ) * rn_Dt 302 302 ENDIF 303 303 304 304 ! Linear ramp on tidal component at open boundaries 305 305 zramp = 1. 306 IF (ln_tide_ramp) zramp = MIN(MAX( (z_arg - REAL(nit000,wp)*r dt)/(rn_tide_ramp_dt*rday),0.),1.)306 IF (ln_tide_ramp) zramp = MIN(MAX( (z_arg - REAL(nit000,wp)*rn_Dt)/(rn_tide_ramp_dt*rday),0.),1.) 307 307 308 308 DO ib_bdy = 1,nb_bdy … … 319 319 ! We refresh nodal factors every day below 320 320 ! This should be done somewhere else 321 IF ( ( nsec_day == NINT(0.5_wp * r dt) .OR. kt==nit000 ) .AND. lk_first_btstp ) THEN322 ! 323 kt_tide = kt - NINT((REAL(nsec_day,wp) - 0.5_wp * r dt)/rdt)321 IF ( ( nsec_day == NINT(0.5_wp * rn_Dt) .OR. kt==nit000 ) .AND. lk_first_btstp ) THEN 322 ! 323 kt_tide = kt - NINT((REAL(nsec_day,wp) - 0.5_wp * rn_Dt)/rn_Dt) 324 324 ! 325 325 IF(lwp) THEN … … 333 333 ! 334 334 ENDIF 335 zoff = REAL(-kt_tide,wp) * r dt ! time offset relative to nodal factor computation time335 zoff = REAL(-kt_tide,wp) * rn_Dt ! time offset relative to nodal factor computation time 336 336 ! 337 337 ! If time splitting, initialize arrays from slow varying open boundary data: -
NEMO/branches/2020/KERNEL-03_Storkey_Coward_RK3_stage2/src/OCE/DIA/dia25h.F90
r12377 r12406 140 140 ! ----------------- 141 141 ! Define frequency of summing to create 25 h mean 142 IF( MOD( 3600,NINT(r dt) ) == 0 ) THEN143 i_steps = 3600/NINT(r dt)142 IF( MOD( 3600,NINT(rn_Dt) ) == 0 ) THEN 143 i_steps = 3600/NINT(rn_Dt) 144 144 ELSE 145 CALL ctl_stop('STOP', 'dia_wri_tide: timestep must give MOD(3600,r dt) = 0 otherwise no hourly values are possible')145 CALL ctl_stop('STOP', 'dia_wri_tide: timestep must give MOD(3600,rn_Dt) = 0 otherwise no hourly values are possible') 146 146 ENDIF 147 147 -
NEMO/branches/2020/KERNEL-03_Storkey_Coward_RK3_stage2/src/OCE/DIA/diadetide.F90
r12377 r12406 9 9 USE in_out_manager , ONLY : lwp, numout 10 10 USE iom , ONLY : iom_put 11 USE dom_oce , ONLY : r dt, nsec_day11 USE dom_oce , ONLY : rn_Dt, nsec_day 12 12 USE phycst , ONLY : rpi 13 13 USE tide_mod … … 100 100 zwght = 0.0_wp 101 101 DO jn = 1, ndiadetide 102 ztmp = ( tdiadetide(jn) - REAL( nsec_day, KIND=wp ) ) / r dt102 ztmp = ( tdiadetide(jn) - REAL( nsec_day, KIND=wp ) ) / rn_Dt 103 103 IF ( ( ztmp < 0.5_wp ).AND.( ztmp >= -0.5_wp ) ) THEN 104 104 zwght = zwght + 1.0_wp / REAL( ndiadetide, KIND=wp ) -
NEMO/branches/2020/KERNEL-03_Storkey_Coward_RK3_stage2/src/OCE/DIA/diahsb.F90
r12377 r12406 121 121 ENDIF 122 122 123 frc_v = frc_v + z_frc_trd_v * r dt124 frc_t = frc_t + z_frc_trd_t * r dt125 frc_s = frc_s + z_frc_trd_s * r dt123 frc_v = frc_v + z_frc_trd_v * rn_Dt 124 frc_t = frc_t + z_frc_trd_t * rn_Dt 125 frc_s = frc_s + z_frc_trd_s * rn_Dt 126 126 ! ! Advection flux through fixed surface (z=0) 127 127 IF( ln_linssh ) THEN 128 frc_wn_t = frc_wn_t + z_wn_trd_t * r dt129 frc_wn_s = frc_wn_s + z_wn_trd_s * r dt128 frc_wn_t = frc_wn_t + z_wn_trd_t * rn_Dt 129 frc_wn_s = frc_wn_s + z_wn_trd_s * rn_Dt 130 130 ENDIF 131 131 … … 199 199 CALL iom_put( 'bgfrctem' , frc_t * rau0 * rcp * 1.e-20 ) ! hc - surface forcing (1.e20 J) 200 200 CALL iom_put( 'bgfrchfx' , frc_t * rau0 * rcp / & ! hc - surface forcing (W/m2) 201 & ( surf_tot * kt * r dt ) )201 & ( surf_tot * kt * rn_Dt ) ) 202 202 CALL iom_put( 'bgfrcsal' , frc_s * 1.e-9 ) ! sc - surface forcing (psu*km3) 203 203 … … 207 207 CALL iom_put( 'bgheatco' , zdiff_hc * 1.e-20 * rau0 * rcp ) ! Heat content drift (1.e20 J) 208 208 CALL iom_put( 'bgheatfx' , zdiff_hc * rau0 * rcp / & ! Heat flux drift (W/m2) 209 & ( surf_tot * kt * r dt ) )209 & ( surf_tot * kt * rn_Dt ) ) 210 210 CALL iom_put( 'bgsaltco' , zdiff_sc * 1.e-9 ) ! Salt content drift (psu*km3) 211 211 CALL iom_put( 'bgvolssh' , zdiff_v1 * 1.e-9 ) ! volume ssh drift (km3) … … 227 227 CALL iom_put( 'bgheatco' , zdiff_hc1 * 1.e-20 * rau0 * rcp ) ! Heat content drift (1.e20 J) 228 228 CALL iom_put( 'bgheatfx' , zdiff_hc1 * rau0 * rcp / & ! Heat flux drift (W/m2) 229 & ( surf_tot * kt * r dt ) )229 & ( surf_tot * kt * rn_Dt ) ) 230 230 CALL iom_put( 'bgsaltco' , zdiff_sc1 * 1.e-9 ) ! Salt content drift (psu*km3) 231 231 CALL iom_put( 'bgvolssh' , zdiff_v1 * 1.e-9 ) ! volume ssh drift (km3) -
NEMO/branches/2020/KERNEL-03_Storkey_Coward_RK3_stage2/src/OCE/DIA/dianam.F90
r10068 r12406 72 72 73 73 IF( llfsec .OR. kfreq < 0 ) THEN ; inbsec = kfreq ! output frequency already in seconds 74 ELSE ; inbsec = kfreq * NINT( r dt ) ! from time-step to seconds74 ELSE ; inbsec = kfreq * NINT( rn_Dt ) ! from time-step to seconds 75 75 ENDIF 76 76 iddss = NINT( rday ) ! number of seconds in 1 day … … 116 116 ! date of the beginning and the end of the run 117 117 118 zdrun = r dt / rday * REAL( nitend - nit000, wp ) ! length of the run in days119 zjul = fjulday - r dt / rday118 zdrun = rn_Dt / rday * REAL( nitend - nit000, wp ) ! length of the run in days 119 zjul = fjulday - rn_Dt / rday 120 120 CALL ju2ymds( zjul , iyear1, imonth1, iday1, zsec1 ) ! year/month/day of the beginning of run 121 121 CALL ju2ymds( zjul + zdrun, iyear2, imonth2, iday2, zsec2 ) ! year/month/day of the end of run -
NEMO/branches/2020/KERNEL-03_Storkey_Coward_RK3_stage2/src/OCE/DIA/diawri.F90
r12377 r12406 432 432 clop = "x" ! no use of the mask value (require less cpu time and otherwise the model crashes) 433 433 #if defined key_diainstant 434 zsto = nn_write * r dt434 zsto = nn_write * rn_Dt 435 435 clop = "inst("//TRIM(clop)//")" 436 436 #else 437 zsto=r dt437 zsto=rn_Dt 438 438 clop = "ave("//TRIM(clop)//")" 439 439 #endif 440 zout = nn_write * r dt441 zmax = ( nitend - nit000 + 1 ) * r dt440 zout = nn_write * rn_Dt 441 zmax = ( nitend - nit000 + 1 ) * rn_Dt 442 442 443 443 ! Define indices of the horizontal output zoom and vertical limit storage … … 460 460 461 461 ! Compute julian date from starting date of the run 462 CALL ymds2ju( nyear, nmonth, nday, r dt, zjulian )462 CALL ymds2ju( nyear, nmonth, nday, rn_Dt, zjulian ) 463 463 zjulian = zjulian - adatrj ! set calendar origin to the beginning of the experiment 464 464 IF(lwp)WRITE(numout,*) … … 482 482 CALL histbeg( clhstnam, jpi, glamt, jpj, gphit, & ! Horizontal grid: glamt and gphit 483 483 & iimi, iima-iimi+1, ijmi, ijma-ijmi+1, & 484 & nit000-1, zjulian, r dt, nh_T, nid_T, domain_id=nidom, snc4chunks=snc4set )484 & nit000-1, zjulian, rn_Dt, nh_T, nid_T, domain_id=nidom, snc4chunks=snc4set ) 485 485 CALL histvert( nid_T, "deptht", "Vertical T levels", & ! Vertical grid: gdept 486 486 & "m", ipk, gdept_1d, nz_T, "down" ) … … 518 518 CALL histbeg( clhstnam, jpi, glamu, jpj, gphiu, & ! Horizontal grid: glamu and gphiu 519 519 & iimi, iima-iimi+1, ijmi, ijma-ijmi+1, & 520 & nit000-1, zjulian, r dt, nh_U, nid_U, domain_id=nidom, snc4chunks=snc4set )520 & nit000-1, zjulian, rn_Dt, nh_U, nid_U, domain_id=nidom, snc4chunks=snc4set ) 521 521 CALL histvert( nid_U, "depthu", "Vertical U levels", & ! Vertical grid: gdept 522 522 & "m", ipk, gdept_1d, nz_U, "down" ) … … 531 531 CALL histbeg( clhstnam, jpi, glamv, jpj, gphiv, & ! Horizontal grid: glamv and gphiv 532 532 & iimi, iima-iimi+1, ijmi, ijma-ijmi+1, & 533 & nit000-1, zjulian, r dt, nh_V, nid_V, domain_id=nidom, snc4chunks=snc4set )533 & nit000-1, zjulian, rn_Dt, nh_V, nid_V, domain_id=nidom, snc4chunks=snc4set ) 534 534 CALL histvert( nid_V, "depthv", "Vertical V levels", & ! Vertical grid : gdept 535 535 & "m", ipk, gdept_1d, nz_V, "down" ) … … 544 544 CALL histbeg( clhstnam, jpi, glamt, jpj, gphit, & ! Horizontal grid: glamt and gphit 545 545 & iimi, iima-iimi+1, ijmi, ijma-ijmi+1, & 546 & nit000-1, zjulian, r dt, nh_W, nid_W, domain_id=nidom, snc4chunks=snc4set )546 & nit000-1, zjulian, rn_Dt, nh_W, nid_W, domain_id=nidom, snc4chunks=snc4set ) 547 547 CALL histvert( nid_W, "depthw", "Vertical W levels", & ! Vertical grid: gdepw 548 548 & "m", ipk, gdepw_1d, nz_W, "down" ) … … 554 554 CALL histbeg( clhstnam, jpi, glamt, jpj, gphit, & ! Horizontal grid: glamt and gphit 555 555 & iimi, iima-iimi+1, ijmi, ijma-ijmi+1, & 556 & nit000-1, zjulian, r dt, nh_A, nid_A, domain_id=nidom, snc4chunks=snc4set )556 & nit000-1, zjulian, rn_Dt, nh_A, nid_A, domain_id=nidom, snc4chunks=snc4set ) 557 557 CALL histvert( nid_A, "ght_abl", "Vertical T levels", & ! Vertical grid: gdept 558 558 & "m", ipka, ght_abl(2:jpka), nz_A, "up" ) -
NEMO/branches/2020/KERNEL-03_Storkey_Coward_RK3_stage2/src/OCE/DIU/diu_coolskin.F90
r12377 r12406 67 67 68 68 69 SUBROUTINE diurnal_sst_coolskin_step(psqflux, pstauflux, psrho, rdt)69 SUBROUTINE diurnal_sst_coolskin_step(psqflux, pstauflux, psrho, pDt) 70 70 !!---------------------------------------------------------------------- 71 71 !! *** ROUTINE diurnal_sst_takaya_step *** … … 81 81 REAL(wp), INTENT(IN), DIMENSION(jpi,jpj) :: pstauflux ! Wind stress (kg/ m s^2) 82 82 REAL(wp), INTENT(IN), DIMENSION(jpi,jpj) :: psrho ! Water density (kg/m^3) 83 REAL(wp), INTENT(IN) :: rdt ! Time-step83 REAL(wp), INTENT(IN) :: pDt ! Time-step 84 84 85 85 ! Local variables -
NEMO/branches/2020/KERNEL-03_Storkey_Coward_RK3_stage2/src/OCE/DIU/diu_layers.F90
r12377 r12406 39 39 ! Cool skin 40 40 41 CALL diurnal_sst_coolskin_step( qns, taum, rhop(:,:,1), r dt)41 CALL diurnal_sst_coolskin_step( qns, taum, rhop(:,:,1), rn_Dt) 42 42 43 43 CALL iom_put( "sst_wl" , x_dsst ) ! warm layer (write out before update below). … … 45 45 46 46 ! Diurnal warm layer model 47 CALL diurnal_sst_takaya_step( kstp, qsr, qns, taum, rhop(:,:,1), r dt)47 CALL diurnal_sst_takaya_step( kstp, qsr, qns, taum, rhop(:,:,1), rn_Dt) 48 48 49 49 END SUBROUTINE diurnal_layers -
NEMO/branches/2020/KERNEL-03_Storkey_Coward_RK3_stage2/src/OCE/DOM/daymod.F90
r12377 r12406 20 20 !! ------------------------------- 21 21 !! sbcmod assume that the time step is dividing the number of second of 22 !! in a day, i.e. ===> MOD( rday, r dt ) == 022 !! in a day, i.e. ===> MOD( rday, rn_Dt ) == 0 23 23 !! except when user defined forcing is used (see sbcmod.F90) 24 24 !!---------------------------------------------------------------------- … … 73 73 ! 74 74 ! max number of seconds between each restart 75 IF( REAL( nitend - nit000 + 1 ) * r dt > REAL( HUGE( nsec1jan000 ) ) ) THEN75 IF( REAL( nitend - nit000 + 1 ) * rn_Dt > REAL( HUGE( nsec1jan000 ) ) ) THEN 76 76 CALL ctl_stop( 'The number of seconds between each restart exceeds the integer 4 max value: 2^31-1. ', & 77 77 & 'You must do a restart at higher frequency (or remove this stop and recompile the code in I8)' ) … … 79 79 nsecd = NINT( rday ) 80 80 nsecd05 = NINT( 0.5 * rday ) 81 ndt = NINT( r dt )82 ndt05 = NINT( 0.5 * r dt )81 ndt = NINT( rn_Dt ) 82 ndt05 = NINT( 0.5 * rn_Dt ) 83 83 84 84 IF( .NOT. l_offline ) CALL day_rst( nit000, 'READ' ) … … 239 239 nsec_monday = nsec_monday + ndt 240 240 nsec_day = nsec_day + ndt 241 adatrj = adatrj + r dt / rday242 fjulday = fjulday + r dt / rday241 adatrj = adatrj + rn_Dt / rday 242 fjulday = fjulday + rn_Dt / rday 243 243 IF( ABS(fjulday - REAL(NINT(fjulday),wp)) < zprec ) fjulday = REAL(NINT(fjulday),wp) ! avoid truncation error 244 244 IF( ABS(adatrj - REAL(NINT(adatrj ),wp)) < zprec ) adatrj = REAL(NINT(adatrj ),wp) ! avoid truncation error … … 309 309 !! In both those options, the exact duration of the experiment 310 310 !! since the beginning (cumulated duration of all previous restart runs) 311 !! is not stored in the restart and is assumed to be (nit000-1)*r dt.311 !! is not stored in the restart and is assumed to be (nit000-1)*rn_Dt. 312 312 !! This is valid is the time step has remained constant. 313 313 !! … … 379 379 isecond = ( nhour * NINT(rhhmm) + nminute ) * NINT(rmmss) 380 380 IF( isecond - ndt05 .lt. 0 ) ndastp = ndastp - 1 ! Start hour is specified in the namelist (default 0) 381 adatrj = ( REAL( nit000-1, wp ) * r dt ) / rday381 adatrj = ( REAL( nit000-1, wp ) * rn_Dt ) / rday 382 382 ! note this is wrong if time step has changed during run 383 383 ENDIF … … 389 389 isecond = ( nhour * NINT(rhhmm) + nminute ) * NINT(rmmss) 390 390 IF( isecond - ndt05 .LT. 0 ) ndastp = ndastp - 1 ! Start hour is specified in the namelist (default 0) 391 adatrj = ( REAL( nit000-1, wp ) * r dt ) / rday391 adatrj = ( REAL( nit000-1, wp ) * rn_Dt ) / rday 392 392 ENDIF 393 393 IF( ABS(adatrj - REAL(NINT(adatrj),wp)) < 0.1 / rday ) adatrj = REAL(NINT(adatrj),wp) ! avoid truncation error -
NEMO/branches/2020/KERNEL-03_Storkey_Coward_RK3_stage2/src/OCE/DOM/dom_oce.F90
r12397 r12406 33 33 LOGICAL , PUBLIC :: ln_linssh !: =T linear free surface ==>> model level are fixed in time 34 34 LOGICAL , PUBLIC :: ln_meshmask !: =T create a mesh-mask file (mesh_mask.nc) 35 REAL(wp), PUBLIC :: rn_ rdt !: time step for the dynamics and tracer35 REAL(wp), PUBLIC :: rn_Dt !: time step for the dynamics and tracer 36 36 REAL(wp), PUBLIC :: rn_atfp !: asselin time filter parameter 37 37 LOGICAL , PUBLIC :: ln_1st_euler !: =T start with forward time step or not (=F) … … 49 49 LOGICAL, PUBLIC :: ln_bt_auto !: Set number of barotropic iterations automatically 50 50 INTEGER, PUBLIC :: nn_bt_flt !: Filter choice 51 INTEGER, PUBLIC :: nn_baro !: Number of barotropic iterations during one baroclinic step (r dt)51 INTEGER, PUBLIC :: nn_baro !: Number of barotropic iterations during one baroclinic step (rn_Dt) 52 52 REAL(wp), PUBLIC :: rn_bt_cmax !: Maximum allowed courant number (used if ln_bt_auto=T) 53 53 REAL(wp), PUBLIC :: rn_bt_alpha !: Time stepping diffusion parameter … … 56 56 ! !! old non-DOCTOR names still used in the model 57 57 REAL(wp), PUBLIC :: atfp !: asselin time filter parameter 58 REAL(wp), PUBLIC :: rdt !: time step for the dynamics and tracer59 58 60 59 ! !!! associated variables -
NEMO/branches/2020/KERNEL-03_Storkey_Coward_RK3_stage2/src/OCE/DOM/domain.F90
r12397 r12406 289 289 & nn_stock, nn_write , ln_mskland , ln_clobber , nn_chunksz, ln_1st_euler , & 290 290 & ln_cfmeta, ln_xios_read, nn_wxios 291 NAMELIST/namdom/ ln_linssh, rn_ rdt, rn_atfp, ln_crs, ln_meshmask291 NAMELIST/namdom/ ln_linssh, rn_Dt, rn_atfp, ln_crs, ln_meshmask 292 292 #if defined key_netcdf4 293 293 NAMELIST/namnc4/ nn_nchunks_i, nn_nchunks_j, nn_nchunks_k, ln_nc4zip … … 408 408 WRITE(numout,*) ' linear free surface (=T) ln_linssh = ', ln_linssh 409 409 WRITE(numout,*) ' create mesh/mask file ln_meshmask = ', ln_meshmask 410 WRITE(numout,*) ' ocean time step rn_ rdt = ', rn_rdt410 WRITE(numout,*) ' ocean time step rn_Dt = ', rn_Dt 411 411 WRITE(numout,*) ' asselin time filter parameter rn_atfp = ', rn_atfp 412 412 WRITE(numout,*) ' online coarsening of dynamical fields ln_crs = ', ln_crs … … 415 415 ! ! conversion DOCTOR names into model names (this should disappear soon) 416 416 atfp = rn_atfp 417 rdt = rn_rdt 417 !! Initialise current model timestep rDt = 2*rn_Dt if MLF or rDt = rn_Dt if RK3 418 !! rDt = rn_Dt 418 419 419 420 IF( TRIM(Agrif_CFixed()) == '0' ) THEN -
NEMO/branches/2020/KERNEL-03_Storkey_Coward_RK3_stage2/src/OCE/DOM/domvvl.F90
r12397 r12406 235 235 IF( ln_vvl_ztilde_as_zstar ) THEN ! z-star emulation using z-tile 236 236 frq_rst_e3t(:,:) = 0._wp !Ignore namelist settings 237 frq_rst_hdv(:,:) = 1._wp / r dt237 frq_rst_hdv(:,:) = 1._wp / rn_Dt 238 238 ENDIF 239 239 IF ( ln_vvl_zstar_at_eqtor ) THEN ! use z-star in vicinity of the Equator … … 247 247 ! values inside the equatorial band (ztilde as zstar) 248 248 frq_rst_e3t(ji,jj) = 0.0_wp 249 frq_rst_hdv(ji,jj) = 1.0_wp / r dt249 frq_rst_hdv(ji,jj) = 1.0_wp / rn_Dt 250 250 ELSE ! transition band (2.5 to 6 degrees N/S) 251 251 ! ! (linearly transition from z-tilde to z-star) … … 253 253 & * ( 1.0_wp - COS( rad*(ABS(gphit(ji,jj))-2.5_wp) & 254 254 & * 180._wp / 3.5_wp ) ) 255 frq_rst_hdv(ji,jj) = (1.0_wp / r dt) &256 & + ( frq_rst_hdv(ji,jj)-(1.e0_wp / r dt) )*0.5_wp &255 frq_rst_hdv(ji,jj) = (1.0_wp / rn_Dt) & 256 & + ( frq_rst_hdv(ji,jj)-(1.e0_wp / rn_Dt) )*0.5_wp & 257 257 & * ( 1._wp - COS( rad*(ABS(gphit(ji,jj))-2.5_wp) & 258 258 & * 180._wp / 3.5_wp ) ) … … 264 264 ij0 = 128 ; ij1 = 135 ; 265 265 frq_rst_e3t( mi0(ii0):mi1(ii1) , mj0(ij0):mj1(ij1) ) = 0.0_wp 266 frq_rst_hdv( mi0(ii0):mi1(ii1) , mj0(ij0):mj1(ij1) ) = 1.e0_wp / r dt266 frq_rst_hdv( mi0(ii0):mi1(ii1) , mj0(ij0):mj1(ij1) ) = 1.e0_wp / rn_Dt 267 267 ENDIF 268 268 ENDIF … … 373 373 IF( kt > nit000 ) THEN 374 374 DO jk = 1, jpkm1 375 hdiv_lf(:,:,jk) = hdiv_lf(:,:,jk) - r dt * frq_rst_hdv(:,:) &375 hdiv_lf(:,:,jk) = hdiv_lf(:,:,jk) - rn_Dt * frq_rst_hdv(:,:) & 376 376 & * ( hdiv_lf(:,:,jk) - e3t(:,:,jk,Kmm) * ( hdiv(:,:,jk) - zhdiv(:,:) ) ) 377 377 END DO … … 1001 1001 WRITE(numout,*) ' rn_rst_e3t = 0.e0' 1002 1002 WRITE(numout,*) ' hard-wired : z-tilde cutoff frequency of low-pass filter (days)' 1003 WRITE(numout,*) ' rn_lf_cutoff = 1.0/r dt'1003 WRITE(numout,*) ' rn_lf_cutoff = 1.0/rn_Dt' 1004 1004 ELSE 1005 1005 WRITE(numout,*) ' z-tilde to zstar restoration timescale (days) rn_rst_e3t = ', rn_rst_e3t -
NEMO/branches/2020/KERNEL-03_Storkey_Coward_RK3_stage2/src/OCE/DYN/dynatf.F90
r12397 r12406 195 195 ! Add volume filter correction: compatibility with tracer advection scheme 196 196 ! => time filter + conservation correction 197 zcoef = atfp * r dt * r1_rau0197 zcoef = atfp * rn_Dt * r1_rau0 198 198 zwfld(:,:) = emp_b(:,:) - emp(:,:) 199 199 IF ( ln_rnf ) zwfld(:,:) = zwfld(:,:) - ( rnf_b(:,:) - rnf(:,:) ) … … 207 207 ! to manage rnf, isf and possibly in the futur icb, tide water glacier (...) 208 208 ! ...(kt, coef, ktop, kbot, hz, fwf_b, fwf) 209 IF ( ln_isf ) CALL isf_dynatf( kt, Kmm, ze3t_f, atfp * r dt )209 IF ( ln_isf ) CALL isf_dynatf( kt, Kmm, ze3t_f, atfp * rn_Dt ) 210 210 ! 211 211 pe3t(:,:,1:jpkm1,Kmm) = ze3t_f(:,:,1:jpkm1) ! filtered scale factor at T-points -
NEMO/branches/2020/KERNEL-03_Storkey_Coward_RK3_stage2/src/OCE/DYN/dynspg.F90
r12377 r12406 69 69 !! apgu = - 1/rau0 di[apr] = 0.5*grav di[ssh_ib+ssh_ibb] 70 70 !! apgv = - 1/rau0 dj[apr] = 0.5*grav dj[ssh_ib+ssh_ibb] 71 !! Note that as all external forcing a time averaging over a two r dt71 !! Note that as all external forcing a time averaging over a two rn_Dt 72 72 !! period is used to prevent the divergence of odd and even time step. 73 73 !!---------------------------------------------------------------------- … … 114 114 ! 115 115 ! Update tide potential at the beginning of current time step 116 zt0step = REAL(nsec_day, wp)-0.5_wp*r dt116 zt0step = REAL(nsec_day, wp)-0.5_wp*rn_Dt 117 117 CALL upd_tide(zt0step, Kmm) 118 118 ! -
NEMO/branches/2020/KERNEL-03_Storkey_Coward_RK3_stage2/src/OCE/DYN/dynspg_ts.F90
r12397 r12406 429 429 ! Update tide potential at the beginning of current time substep 430 430 IF( ln_tide_pot .AND. ln_tide ) THEN 431 zt0substep = REAL(nsec_day, wp) - 0.5_wp*r dt + (jn + noffset - 1) * rdt / REAL(nn_baro, wp)431 zt0substep = REAL(nsec_day, wp) - 0.5_wp*rn_Dt + (jn + noffset - 1) * rn_Dt / REAL(nn_baro, wp) 432 432 CALL upd_tide(zt0substep, Kmm) 433 433 END IF … … 976 976 977 977 ! Estimate number of iterations to satisfy a max courant number= rn_bt_cmax 978 IF( ln_bt_auto ) nn_baro = CEILING( r dt / rn_bt_cmax * zcmax)978 IF( ln_bt_auto ) nn_baro = CEILING( rn_Dt / rn_bt_cmax * zcmax) 979 979 980 rdtbt = r dt / REAL( nn_baro , wp )980 rdtbt = rn_Dt / REAL( nn_baro , wp ) 981 981 zcmax = zcmax * rdtbt 982 982 ! Print results -
NEMO/branches/2020/KERNEL-03_Storkey_Coward_RK3_stage2/src/OCE/DYN/sshwzv.F90
r12397 r12406 223 223 !! from the filter, see Leclair and Madec 2010) and swap : 224 224 !! pssh(:,:,Kmm) = pssh(:,:,Kaa) + atfp * ( pssh(:,:,Kbb) -2 pssh(:,:,Kmm) + pssh(:,:,Kaa) ) 225 !! - atfp * r dt * ( emp_b - emp ) / rau0225 !! - atfp * rn_Dt * ( emp_b - emp ) / rau0 226 226 !! 227 227 !! ** action : - pssh(:,:,Kmm) time filtered … … 248 248 pssh(:,:,Kmm) = pssh(:,:,Kmm) + atfp * ( pssh(:,:,Kbb) - 2 * pssh(:,:,Kmm) + pssh(:,:,Kaa) ) 249 249 IF( .NOT.ln_linssh ) THEN ! "now" <-- with forcing removed 250 zcoef = atfp * r dt * r1_rau0250 zcoef = atfp * rn_Dt * r1_rau0 251 251 pssh(:,:,Kmm) = pssh(:,:,Kmm) - zcoef * ( emp_b(:,:) - emp (:,:) & 252 252 & - rnf_b(:,:) + rnf (:,:) & … … 255 255 256 256 ! ice sheet coupling 257 IF ( ln_isf .AND. ln_isfcpl .AND. kt == nit000+1) pssh(:,:,Kbb) = pssh(:,:,Kbb) - atfp * r dt * ( risfcpl_ssh(:,:) - 0.0 ) * ssmask(:,:)257 IF ( ln_isf .AND. ln_isfcpl .AND. kt == nit000+1) pssh(:,:,Kbb) = pssh(:,:,Kbb) - atfp * rn_Dt * ( risfcpl_ssh(:,:) - 0.0 ) * ssmask(:,:) 258 258 259 259 ENDIF … … 306 306 DO_3D_00_00( 1, jpkm1 ) 307 307 z1_e3t = 1._wp / e3t(ji,jj,jk,Kmm) 308 ! 2*r dt and not r2dt (for restartability)309 Cu_adv(ji,jj,jk) = 2._wp * r dt * ( ( MAX( ww(ji,jj,jk) , 0._wp ) - MIN( ww(ji,jj,jk+1) , 0._wp ) ) &308 ! 2*rn_Dt and not r2dt (for restartability) 309 Cu_adv(ji,jj,jk) = 2._wp * rn_Dt * ( ( MAX( ww(ji,jj,jk) , 0._wp ) - MIN( ww(ji,jj,jk+1) , 0._wp ) ) & 310 310 & + ( MAX( e2u(ji ,jj)*e3u(ji ,jj,jk,Kmm)*uu(ji ,jj,jk,Kmm) + un_td(ji ,jj,jk), 0._wp ) - & 311 311 & MIN( e2u(ji-1,jj)*e3u(ji-1,jj,jk,Kmm)*uu(ji-1,jj,jk,Kmm) + un_td(ji-1,jj,jk), 0._wp ) ) & … … 319 319 DO_3D_00_00( 1, jpkm1 ) 320 320 z1_e3t = 1._wp / e3t(ji,jj,jk,Kmm) 321 ! 2*r dt and not r2dt (for restartability)322 Cu_adv(ji,jj,jk) = 2._wp * r dt * ( ( MAX( ww(ji,jj,jk) , 0._wp ) - MIN( ww(ji,jj,jk+1) , 0._wp ) ) &321 ! 2*rn_Dt and not r2dt (for restartability) 322 Cu_adv(ji,jj,jk) = 2._wp * rn_Dt * ( ( MAX( ww(ji,jj,jk) , 0._wp ) - MIN( ww(ji,jj,jk+1) , 0._wp ) ) & 323 323 & + ( MAX( e2u(ji ,jj)*e3u(ji ,jj,jk,Kmm)*uu(ji ,jj,jk,Kmm), 0._wp ) - & 324 324 & MIN( e2u(ji-1,jj)*e3u(ji-1,jj,jk,Kmm)*uu(ji-1,jj,jk,Kmm), 0._wp ) ) & -
NEMO/branches/2020/KERNEL-03_Storkey_Coward_RK3_stage2/src/OCE/FLO/flo4rk.F90
r12377 r12406 130 130 ! computation of Runge-Kutta factor 131 131 DO jfl = 1, jpnfl 132 zrkxfl(jfl,jind) = r dt*zufl(jfl)133 zrkyfl(jfl,jind) = r dt*zvfl(jfl)134 zrkzfl(jfl,jind) = r dt*zwfl(jfl)132 zrkxfl(jfl,jind) = rn_Dt*zufl(jfl) 133 zrkyfl(jfl,jind) = rn_Dt*zvfl(jfl) 134 zrkzfl(jfl,jind) = rn_Dt*zwfl(jfl) 135 135 END DO 136 136 IF( jind /= 4 ) THEN -
NEMO/branches/2020/KERNEL-03_Storkey_Coward_RK3_stage2/src/OCE/FLO/floblk.F90
r12377 r12406 233 233 ! test to know if the "age" of the float is not bigger than the 234 234 ! time step 235 IF( zagenewfl(jfl) > r dt ) THEN236 zttfl(jfl) = (r dt-zagefl(jfl)) / zvol237 zagenewfl(jfl) = r dt235 IF( zagenewfl(jfl) > rn_Dt ) THEN 236 zttfl(jfl) = (rn_Dt-zagefl(jfl)) / zvol 237 zagenewfl(jfl) = rn_Dt 238 238 ENDIF 239 239 … … 340 340 ifin = 1 341 341 DO jfl = 1, jpnfl 342 IF( zagefl(jfl) < r dt ) ifin = 0342 IF( zagefl(jfl) < rn_Dt ) ifin = 0 343 343 tpifl(jfl) = zgifl(jfl) + 0.5 344 344 tpjfl(jfl) = zgjfl(jfl) + 0.5 … … 347 347 ifin = 1 348 348 DO jfl = 1, jpnfl 349 IF( zagefl(jfl) < r dt ) ifin = 0349 IF( zagefl(jfl) < rn_Dt ) ifin = 0 350 350 tpifl(jfl) = zgifl(jfl) + 0.5 351 351 tpjfl(jfl) = zgjfl(jfl) + 0.5 -
NEMO/branches/2020/KERNEL-03_Storkey_Coward_RK3_stage2/src/OCE/FLO/flowri.F90
r12377 r12406 245 245 !------------------------------- 246 246 irec = INT( (kt-nn_it000+1)/nn_writefl ) +1 247 ztime = ( kt-nn_it000 + 1 ) * r dt247 ztime = ( kt-nn_it000 + 1 ) * rn_Dt 248 248 249 249 CALL flioputv( numflo , 'time_counter', ztime , start=(/irec/) ) -
NEMO/branches/2020/KERNEL-03_Storkey_Coward_RK3_stage2/src/OCE/ICB/icbini.F90
r12377 r12406 60 60 !! - setup either test icebergs or calving file 61 61 !!---------------------------------------------------------------------- 62 REAL(wp), INTENT(in) :: pdt ! iceberg time-step (r dt*nn_fsbc)62 REAL(wp), INTENT(in) :: pdt ! iceberg time-step (rn_Dt*nn_fsbc) 63 63 INTEGER , INTENT(in) :: kt ! time step number 64 64 ! -
NEMO/branches/2020/KERNEL-03_Storkey_Coward_RK3_stage2/src/OCE/ICB/icbtrj.F90
r10068 r12406 74 74 75 75 ! compute end time step date 76 zfjulday = fjulday + r dt / rday * REAL( nitend - nit000 + 1 , wp)76 zfjulday = fjulday + rn_Dt / rday * REAL( nitend - nit000 + 1 , wp) 77 77 IF( ABS(zfjulday - REAL(NINT(zfjulday),wp)) < 0.1 / rday ) zfjulday = REAL(NINT(zfjulday),wp) ! avoid truncation error 78 78 CALL ju2ymds( zfjulday, iyear, imonth, iday, zsec ) -
NEMO/branches/2020/KERNEL-03_Storkey_Coward_RK3_stage2/src/OCE/IOM/iom.F90
r12377 r12406 274 274 ! 275 275 ! set time step length 276 dtime%second = r dt276 dtime%second = rn_Dt 277 277 CALL xios_set_timestep( dtime ) 278 278 ! … … 410 410 IF(cdmdl == "OPA") THEN 411 411 !from restart.F90 412 CALL iom_set_rstw_var_active("r dt")412 CALL iom_set_rstw_var_active("rn_Dt") 413 413 IF ( .NOT. ln_diurnal_only ) THEN 414 414 CALL iom_set_rstw_var_active('ub' ) … … 448 448 449 449 i = 0 450 i = i + 1; fields(i)%vname="r dt"; fields(i)%grid="grid_scalar"450 i = i + 1; fields(i)%vname="rn_Dt"; fields(i)%grid="grid_scalar" 451 451 i = i + 1; fields(i)%vname="un"; fields(i)%grid="grid_N_3D" 452 452 i = i + 1; fields(i)%vname="ub"; fields(i)%grid="grid_N_3D" … … 2358 2358 idx = INDEX(clname,'@startdate@') + INDEX(clname,'@STARTDATE@') 2359 2359 DO WHILE ( idx /= 0 ) 2360 cldate = iom_sdate( fjulday - r dt / rday )2360 cldate = iom_sdate( fjulday - rn_Dt / rday ) 2361 2361 clname = clname(1:idx-1)//TRIM(cldate)//clname(idx+11:LEN_TRIM(clname)) 2362 2362 idx = INDEX(clname,'@startdate@') + INDEX(clname,'@STARTDATE@') … … 2365 2365 idx = INDEX(clname,'@startdatefull@') + INDEX(clname,'@STARTDATEFULL@') 2366 2366 DO WHILE ( idx /= 0 ) 2367 cldate = iom_sdate( fjulday - r dt / rday, ldfull = .TRUE. )2367 cldate = iom_sdate( fjulday - rn_Dt / rday, ldfull = .TRUE. ) 2368 2368 clname = clname(1:idx-1)//TRIM(cldate)//clname(idx+15:LEN_TRIM(clname)) 2369 2369 idx = INDEX(clname,'@startdatefull@') + INDEX(clname,'@STARTDATEFULL@') … … 2372 2372 idx = INDEX(clname,'@enddate@') + INDEX(clname,'@ENDDATE@') 2373 2373 DO WHILE ( idx /= 0 ) 2374 cldate = iom_sdate( fjulday + r dt / rday * REAL( nitend - nit000, wp ), ld24 = .TRUE. )2374 cldate = iom_sdate( fjulday + rn_Dt / rday * REAL( nitend - nit000, wp ), ld24 = .TRUE. ) 2375 2375 clname = clname(1:idx-1)//TRIM(cldate)//clname(idx+9:LEN_TRIM(clname)) 2376 2376 idx = INDEX(clname,'@enddate@') + INDEX(clname,'@ENDDATE@') … … 2379 2379 idx = INDEX(clname,'@enddatefull@') + INDEX(clname,'@ENDDATEFULL@') 2380 2380 DO WHILE ( idx /= 0 ) 2381 cldate = iom_sdate( fjulday + r dt / rday * REAL( nitend - nit000, wp ), ld24 = .TRUE., ldfull = .TRUE. )2381 cldate = iom_sdate( fjulday + rn_Dt / rday * REAL( nitend - nit000, wp ), ld24 = .TRUE., ldfull = .TRUE. ) 2382 2382 clname = clname(1:idx-1)//TRIM(cldate)//clname(idx+13:LEN_TRIM(clname)) 2383 2383 idx = INDEX(clname,'@enddatefull@') + INDEX(clname,'@ENDDATEFULL@') -
NEMO/branches/2020/KERNEL-03_Storkey_Coward_RK3_stage2/src/OCE/IOM/restart.F90
r12397 r12406 144 144 !!---------------------------------------------------------------------- 145 145 IF(lwxios) CALL iom_swap( cwxios_context ) 146 CALL iom_rstput( kt, nitrst, numrow, 'rdt' , r dt , ldxios = lwxios) ! dynamics time step146 CALL iom_rstput( kt, nitrst, numrow, 'rdt' , rn_Dt , ldxios = lwxios) ! dynamics time step 147 147 CALL iom_delay_rst( 'WRITE', 'OCE', numrow ) ! save only ocean delayed global communication variables 148 148 … … 247 247 IF( iom_varid( numror, 'rdt', ldstop = .FALSE. ) > 0 ) THEN 248 248 CALL iom_get( numror, 'rdt', zrdt, ldxios = lrxios ) 249 IF( zrdt /= rn_ rdt ) THEN249 IF( zrdt /= rn_Dt ) THEN 250 250 IF(lwp) WRITE( numout,*) 251 251 IF(lwp) WRITE( numout,*) 'rst_read: rdt not equal to the read one' -
NEMO/branches/2020/KERNEL-03_Storkey_Coward_RK3_stage2/src/OCE/ISF/isfcpl.F90
r12397 r12406 502 502 ! compute run length 503 503 nstp_iscpl = nitend - nit000 + 1 504 rdt_iscpl = nstp_iscpl * rn_ rdt504 rdt_iscpl = nstp_iscpl * rn_Dt 505 505 z1_rdtiscpl = 1._wp / rdt_iscpl 506 506 -
NEMO/branches/2020/KERNEL-03_Storkey_Coward_RK3_stage2/src/OCE/ISF/isfdynatf.F90
r12372 r12406 39 39 REAL(wp), DIMENSION(jpi,jpj,jpk), INTENT(inout) :: pe3t_f ! time filtered scale factor to be corrected 40 40 ! 41 REAL(wp) , INTENT(in ) :: pcoef ! atfp * r dt * r1_rau041 REAL(wp) , INTENT(in ) :: pcoef ! atfp * rn_Dt * r1_rau0 42 42 !!-------------------------------------------------------------------- 43 43 INTEGER :: jk ! loop index … … 70 70 REAL(wp), DIMENSION(jpi,jpj) , INTENT(in ) :: pfrac, phtbl ! fraction of bottom cell included in tbl, tbl thickness 71 71 REAL(wp), DIMENSION(jpi,jpj) , INTENT(in ) :: pfwf , pfwf_b ! now/before fwf 72 REAL(wp), INTENT(in ) :: pcoef ! atfp * r dt * r1_rau072 REAL(wp), INTENT(in ) :: pcoef ! atfp * rn_Dt * r1_rau0 73 73 !!---------------------------------------------------------------------- 74 74 INTEGER :: ji,jj,jk -
NEMO/branches/2020/KERNEL-03_Storkey_Coward_RK3_stage2/src/OCE/LDF/ldfdyn.F90
r12377 r12406 407 407 zcmsmag = (rn_csmc/rpi)**2 ! (C_smag/pi)^2 408 408 zstabf_lo = rn_minfac * rn_minfac / ( 2._wp * 12._wp * 12._wp * zcmsmag ) ! lower limit stability factor scaling 409 zstabf_up = rn_maxfac / ( 4._wp * zcmsmag * 2._wp * r dt ) ! upper limit stability factor scaling409 zstabf_up = rn_maxfac / ( 4._wp * zcmsmag * 2._wp * rn_Dt ) ! upper limit stability factor scaling 410 410 IF( ln_dynldf_blp ) zstabf_lo = ( 16._wp / 9._wp ) * zstabf_lo ! provide |U|L^3/12 lower limit instead 411 411 ! ! of |U|L^3/16 in blp case -
NEMO/branches/2020/KERNEL-03_Storkey_Coward_RK3_stage2/src/OCE/OBS/diaobs.F90
r12377 r12406 539 539 ENDIF 540 540 541 idaystp = NINT( rday / r dt )541 idaystp = NINT( rday / rn_Dt ) 542 542 543 543 !----------------------------------------------------------------------- … … 774 774 & rday 775 775 USE dom_oce, ONLY : & ! Ocean space and time domain variables 776 & r dt776 & rn_Dt 777 777 778 778 IMPLICIT NONE … … 805 805 !! Compute number of days + number of hours + min since initial time 806 806 !!---------------------------------------------------------------------- 807 zdayfrc = kstp * r dt / rday807 zdayfrc = kstp * rn_Dt / rday 808 808 zdayfrc = zdayfrc - aint(zdayfrc) 809 809 imin = imin + int( zdayfrc * 24 * 60 ) … … 816 816 iday=iday+1 817 817 END DO 818 iday = iday + kstp * r dt / rday818 iday = iday + kstp * rn_Dt / rday 819 819 820 820 !----------------------------------------------------------------------- -
NEMO/branches/2020/KERNEL-03_Storkey_Coward_RK3_stage2/src/OCE/OBS/obs_prep.F90
r12377 r12406 613 613 !! * Modules used 614 614 USE dom_oce, ONLY : & ! Geographical information 615 & r dt615 & rn_Dt 616 616 USE phycst, ONLY : & ! Physical constants 617 617 & rday, & … … 662 662 663 663 ! Intialize the number of time steps per day 664 idaystp = NINT( rday / r dt )664 idaystp = NINT( rday / rn_Dt ) 665 665 666 666 !--------------------------------------------------------------------- … … 732 732 733 733 ! Add in the number of time steps to the observation minute 734 zminstp = rmmss / r dt734 zminstp = rmmss / rn_Dt 735 735 zhoustp = rhhmm * zminstp 736 736 -
NEMO/branches/2020/KERNEL-03_Storkey_Coward_RK3_stage2/src/OCE/SBC/fldread.F90
r12377 r12406 172 172 ! Note that all varibles starting by nsec_* are shifted time by +1/2 time step to be centrered 173 173 IF( PRESENT(kit) ) THEN ! ignore kn_fsbc in this case 174 isecsbc = nsec_year + nsec1jan000 + NINT( ( REAL( kit,wp) + zt_offset ) * r dt / REAL(nn_baro,wp) )174 isecsbc = nsec_year + nsec1jan000 + NINT( ( REAL( kit,wp) + zt_offset ) * rn_Dt / REAL(nn_baro,wp) ) 175 175 ELSE ! middle of sbc time step 176 176 ! note: we use kn_fsbc-1 because nsec_year is defined at the middle of the current time step 177 isecsbc = nsec_year + nsec1jan000 + NINT( ( 0.5*REAL(kn_fsbc-1,wp) + zt_offset ) * r dt )177 isecsbc = nsec_year + nsec1jan000 + NINT( ( 0.5*REAL(kn_fsbc-1,wp) + zt_offset ) * rn_Dt ) 178 178 ENDIF 179 179 imf = SIZE( sd ) -
NEMO/branches/2020/KERNEL-03_Storkey_Coward_RK3_stage2/src/OCE/SBC/sbcblk.F90
r12377 r12406 275 275 ENDIF 276 276 ! 277 IF( slf_i(jfpr)%freqh > 0. .AND. MOD( NINT(3600. * slf_i(jfpr)%freqh), nn_fsbc * NINT(r dt) ) /= 0 ) &278 & CALL ctl_warn( 'sbc_blk_init: sbcmod timestep r dt*nn_fsbc is NOT a submultiple of atmospheric forcing frequency.', &279 & ' This is not ideal. You should consider changing either r dt or nn_fsbc value...' )277 IF( slf_i(jfpr)%freqh > 0. .AND. MOD( NINT(3600. * slf_i(jfpr)%freqh), nn_fsbc * NINT(rn_Dt) ) /= 0 ) & 278 & CALL ctl_warn( 'sbc_blk_init: sbcmod timestep rn_Dt*nn_fsbc is NOT a submultiple of atmospheric forcing frequency.', & 279 & ' This is not ideal. You should consider changing either rn_Dt or nn_fsbc value...' ) 280 280 ENDIF 281 281 END DO -
NEMO/branches/2020/KERNEL-03_Storkey_Coward_RK3_stage2/src/OCE/SBC/sbcblk_skin_coare.F90
r12377 r12406 199 199 ! Okay test on updated absorbed flux: 200 200 !#LB: remove??? has a strong influence !!! 201 IF( (.NOT. l_exit).AND.(Qnt_ac(ji,jj) + zQabs*r dt <= 0._wp) ) THEN201 IF( (.NOT. l_exit).AND.(Qnt_ac(ji,jj) + zQabs*rn_Dt <= 0._wp) ) THEN 202 202 l_exit = .TRUE. 203 203 l_destroy_wl = .TRUE. … … 211 211 ! 2/ Regardless of WL formed (dT==0 or dT>0), we are in the process to initiate one or warm further it ! 212 212 213 ztac = Tau_ac(ji,jj) + MAX(.002_wp , pTau(ji,jj))*r dt ! updated momentum integral213 ztac = Tau_ac(ji,jj) + MAX(.002_wp , pTau(ji,jj))*rn_Dt ! updated momentum integral 214 214 !PRINT *, '#LBD: updated value for Tac=', REAL(ztac,4) 215 215 … … 218 218 DO jl = 1, 5 219 219 zQabs = frac_solar_abs(zHwl)*pQsw(ji,jj) + pQnsol(ji,jj) 220 zqac = Qnt_ac(ji,jj) + zQabs*r dt ! updated heat absorbed220 zqac = Qnt_ac(ji,jj) + zQabs*rn_Dt ! updated heat absorbed 221 221 IF( zqac <= 0._wp ) EXIT 222 222 zHwl = MAX( MIN( Hwl_max , zcd1*ztac/SQRT(zqac)) , 0.1_wp ) ! Warm-layer depth -
NEMO/branches/2020/KERNEL-03_Storkey_Coward_RK3_stage2/src/OCE/SBC/sbcblk_skin_ecmwf.F90
r12377 r12406 214 214 zcst2 = zcst1 / ( 5._wp*zHwl*zusw2 ) !OR: zcst2 = zcst1*rNuwl0 / ( 5._wp*zHwl*zusw2 ) ??? 215 215 216 zcst0 = r dt * (rNuwl0 + 1._wp) / zHwl216 zcst0 = rn_Dt * (rNuwl0 + 1._wp) / zHwl 217 217 218 218 ZA = zcst0 * zQabs / ( rNuwl0 * zRhoCp_w ) -
NEMO/branches/2020/KERNEL-03_Storkey_Coward_RK3_stage2/src/OCE/SBC/sbccpl.F90
r12377 r12406 1123 1123 ! ! Receive all the atmos. fields (including ice information) 1124 1124 ! ! ======================================================= ! 1125 isec = ( kt - nit000 ) * NINT( r dt ) ! date of exchanges1125 isec = ( kt - nit000 ) * NINT( rn_Dt ) ! date of exchanges 1126 1126 DO jn = 1, jprcv ! received fields sent by the atmosphere 1127 1127 IF( srcv(jn)%laction ) CALL cpl_rcv( jn, isec, frcv(jn)%z3, xcplmask(:,:,1:nn_cplmodel), nrcvinfo(jn) ) … … 2100 2100 !!---------------------------------------------------------------------- 2101 2101 ! 2102 isec = ( kt - nit000 ) * NINT( r dt ) ! date of exchanges2102 isec = ( kt - nit000 ) * NINT( rn_Dt ) ! date of exchanges 2103 2103 2104 2104 zfr_l(:,:) = 1.- fr_i(:,:) -
NEMO/branches/2020/KERNEL-03_Storkey_Coward_RK3_stage2/src/OCE/SBC/sbcdcy.F90
r12377 r12406 86 86 ! -------------- 87 87 ! When are we during the day (from 0 to 1) 88 zlo = ( REAL(nsec_day, wp) - 0.5_wp * r dt ) / rday89 zup = zlo + ( REAL(nn_fsbc, wp) * r dt ) / rday88 zlo = ( REAL(nsec_day, wp) - 0.5_wp * rn_Dt ) / rday 89 zup = zlo + ( REAL(nn_fsbc, wp) * rn_Dt ) / rday 90 90 ! 91 91 IF( nday_qsr == -1 ) THEN ! first time step only … … 251 251 END_2D 252 252 ! 253 ztmp = rday / ( r dt * REAL(nn_fsbc, wp) )253 ztmp = rday / ( rn_Dt * REAL(nn_fsbc, wp) ) 254 254 rscal(:,:) = rscal(:,:) * ztmp 255 255 ! -
NEMO/branches/2020/KERNEL-03_Storkey_Coward_RK3_stage2/src/OCE/SBC/sbcfwb.F90
r12377 r12406 126 126 ENDIF 127 127 ! ! Update fwfold if new year start 128 ikty = 365 * 86400 / r dt !!bug use of 365 days leap year or 360d year !!!!!!!128 ikty = 365 * 86400 / rn_Dt !!bug use of 365 days leap year or 360d year !!!!!!! 129 129 IF( MOD( kt, ikty ) == 0 ) THEN 130 130 a_fwb_b = a_fwb ! mean sea level taking into account the ice+snow -
NEMO/branches/2020/KERNEL-03_Storkey_Coward_RK3_stage2/src/OCE/SBC/sbcmod.F90
r12377 r12406 187 187 ! 188 188 IF( .NOT.ln_usr ) THEN ! the model calendar needs some specificities (except in user defined case) 189 IF( MOD( rday , r dt ) /= 0. ) CALL ctl_stop( 'the time step must devide the number of second of in a day' )189 IF( MOD( rday , rn_Dt ) /= 0. ) CALL ctl_stop( 'the time step must devide the number of second of in a day' ) 190 190 IF( MOD( rday , 2. ) /= 0. ) CALL ctl_stop( 'the number of second of in a day must be an even number' ) 191 IF( MOD( r dt , 2. ) /= 0. ) CALL ctl_stop( 'the time step (in second) must be an even number' )191 IF( MOD( rn_Dt , 2. ) /= 0. ) CALL ctl_stop( 'the time step (in second) must be an even number' ) 192 192 ENDIF 193 193 ! !** check option consistency … … 309 309 ! SAS time-step has to be declared in OASIS (mandatory) -> nn_fsbc has to be modified accordingly 310 310 IF( nn_components /= jp_iam_nemo ) THEN 311 IF( nn_components == jp_iam_opa ) nn_fsbc = cpl_freq('O_SFLX') / NINT(r dt)312 IF( nn_components == jp_iam_sas ) nn_fsbc = cpl_freq('I_SFLX') / NINT(r dt)311 IF( nn_components == jp_iam_opa ) nn_fsbc = cpl_freq('O_SFLX') / NINT(rn_Dt) 312 IF( nn_components == jp_iam_sas ) nn_fsbc = cpl_freq('I_SFLX') / NINT(rn_Dt) 313 313 ! 314 314 IF(lwp)THEN … … 331 331 ENDIF 332 332 ! 333 IF( MOD( rday, REAL(nn_fsbc, wp) * r dt ) /= 0 ) &333 IF( MOD( rday, REAL(nn_fsbc, wp) * rn_Dt ) /= 0 ) & 334 334 & CALL ctl_warn( 'sbc_init : nn_fsbc is NOT a multiple of the number of time steps in a day' ) 335 335 ! 336 IF( ln_dm2dc .AND. NINT(rday) / ( nn_fsbc * NINT(r dt) ) < 8 ) &336 IF( ln_dm2dc .AND. NINT(rday) / ( nn_fsbc * NINT(rn_Dt) ) < 8 ) & 337 337 & CALL ctl_warn( 'sbc_init : diurnal cycle for qsr: the sampling of the diurnal cycle is too small...' ) 338 338 ! -
NEMO/branches/2020/KERNEL-03_Storkey_Coward_RK3_stage2/src/OCE/TDE/tide_mod.F90
r12343 r12406 171 171 IF( ln_scal_load.AND.ln_read_load ) & 172 172 & CALL ctl_stop('Choose between ln_scal_load and ln_read_load') 173 IF( ln_tide_ramp.AND.((nitend-nit000+1)*r dt/rday < rn_tide_ramp_dt) ) &173 IF( ln_tide_ramp.AND.((nitend-nit000+1)*rn_Dt/rday < rn_tide_ramp_dt) ) & 174 174 & CALL ctl_stop('rn_tide_ramp_dt must be lower than run duration') 175 175 IF( ln_tide_ramp.AND.(rn_tide_ramp_dt<0.) ) & … … 424 424 !!---------------------------------------------------------------------- 425 425 426 IF( nsec_day == NINT(0.5_wp * r dt) .OR. kt == nit000 ) THEN ! start a new day426 IF( nsec_day == NINT(0.5_wp * rn_Dt) .OR. kt == nit000 ) THEN ! start a new day 427 427 ! 428 428 CALL tide_harmo(tide_components, tide_harmonics, ndt05) ! Update oscillation parameters of tidal components for start of current day … … 441 441 IF( ln_tide_pot ) CALL tide_init_potential 442 442 ! 443 rn_tide_ramp_t = (kt - nit000)*r dt ! Elapsed time in seconds443 rn_tide_ramp_t = (kt - nit000)*rn_Dt ! Elapsed time in seconds 444 444 ENDIF 445 445 ! -
NEMO/branches/2020/KERNEL-03_Storkey_Coward_RK3_stage2/src/OCE/TRA/traatf.F90
r12397 r12406 123 123 ENDIF 124 124 ! total trend for the non-time-filtered variables. 125 zfact = 1.0 / r dt125 zfact = 1.0 / rn_Dt 126 126 ! G Nurser 23 Mar 2017. Recalculate trend as Delta(e3t*T)/e3tn; e3tn cancel from pts(Kmm) terms 127 127 DO jk = 1, jpkm1 … … 151 151 ELSE ! Leap-Frog + Asselin filter time stepping 152 152 ! 153 IF( ln_linssh ) THEN ; CALL tra_atf_fix( kt, Kbb, Kmm, Kaa, nit000, 'TRA', pts, jpts ) ! linear free surface154 ELSE ; CALL tra_atf_vvl( kt, Kbb, Kmm, Kaa, nit000, r dt, 'TRA', pts, sbc_tsc, sbc_tsc_b, jpts ) ! non-linear free surface153 IF( ln_linssh ) THEN ; CALL tra_atf_fix( kt, Kbb, Kmm, Kaa, nit000, 'TRA', pts, jpts ) ! linear free surface 154 ELSE ; CALL tra_atf_vvl( kt, Kbb, Kmm, Kaa, nit000, rn_Dt, 'TRA', pts, sbc_tsc, sbc_tsc_b, jpts ) ! non-linear free surface 155 155 ENDIF 156 156 ! -
NEMO/branches/2020/KERNEL-03_Storkey_Coward_RK3_stage2/src/OCE/TRA/tranpc.F90
r12377 r12406 301 301 ! 302 302 IF( l_trdtra ) THEN ! send the Non penetrative mixing trends for diagnostic 303 z1_r2dt = 1._wp / (2._wp * r dt)303 z1_r2dt = 1._wp / (2._wp * rn_Dt) 304 304 ztrdt(:,:,:) = ( pts(:,:,:,jp_tem,Kaa) - ztrdt(:,:,:) ) * z1_r2dt 305 305 ztrds(:,:,:) = ( pts(:,:,:,jp_sal,Kaa) - ztrds(:,:,:) ) * z1_r2dt -
NEMO/branches/2020/KERNEL-03_Storkey_Coward_RK3_stage2/src/OCE/TRD/trdvor.F90
r12377 r12406 385 385 ! III.1 compute total trend 386 386 ! ------------------------ 387 zmean = 1._wp / ( REAL( nmoydpvor, wp ) * 2._wp * r dt )387 zmean = 1._wp / ( REAL( nmoydpvor, wp ) * 2._wp * rn_Dt ) 388 388 vor_avrtot(:,:) = ( vor_avr(:,:) - vor_avrbn(:,:) + vor_avrb(:,:) - vor_avrbb(:,:) ) * zmean 389 389 … … 504 504 ENDIF 505 505 #if defined key_diainstant 506 zsto = nn_write*r dt506 zsto = nn_write*rn_Dt 507 507 clop = "inst("//TRIM(clop)//")" 508 508 #else 509 zsto = r dt509 zsto = rn_Dt 510 510 clop = "ave("//TRIM(clop)//")" 511 511 #endif 512 zout = nn_trd*r dt512 zout = nn_trd*rn_Dt 513 513 514 514 IF(lwp) WRITE(numout,*) ' netCDF initialization' … … 516 516 ! II.2 Compute julian date from starting date of the run 517 517 ! ------------------------ 518 CALL ymds2ju( nyear, nmonth, nday, r dt, zjulian )518 CALL ymds2ju( nyear, nmonth, nday, rn_Dt, zjulian ) 519 519 zjulian = zjulian - adatrj ! set calendar origin to the beginning of the experiment 520 520 IF(lwp) WRITE(numout,*)' ' … … 528 528 IF(lwp) WRITE(numout,*) ' Name of NETCDF file ', clhstnam 529 529 CALL histbeg( clhstnam, jpi, glamf, jpj, gphif,1, jpi, & ! Horizontal grid : glamt and gphit 530 & 1, jpj, nit000-1, zjulian, r dt, nh_t, nidvor, domain_id=nidom, snc4chunks=snc4set )530 & 1, jpj, nit000-1, zjulian, rn_Dt, nh_t, nidvor, domain_id=nidom, snc4chunks=snc4set ) 531 531 CALL wheneq( jpi*jpj, fmask, 1, 1., ndexvor1, ndimvor1 ) ! surface 532 532 -
NEMO/branches/2020/KERNEL-03_Storkey_Coward_RK3_stage2/src/OCE/USR/usrdef_hgr.F90
r12377 r12406 107 107 IF( ln_bench ) THEN ! benchmark: forced the resolution to be 106 km 108 108 ze1 = 106000._wp ! but keep (lat,lon) at the right nn_GYRE resolution 109 CALL ctl_warn( ' GYRE used as Benchmark: e1=e2=106km, no need to adjust r dt, ahm,aht ' )109 CALL ctl_warn( ' GYRE used as Benchmark: e1=e2=106km, no need to adjust rn_Dt, ahm,aht ' ) 110 110 ENDIF 111 111 IF( nprint==1 .AND. lwp ) THEN -
NEMO/branches/2020/KERNEL-03_Storkey_Coward_RK3_stage2/src/OCE/USR/usrdef_sbc.F90
r12377 r12406 89 89 90 90 ! current day (in hours) since january the 1st of the current year 91 ztime = REAL( kt ) * r dt / (rmmss * rhhmm) & ! total incrementation (in hours)91 ztime = REAL( kt ) * rn_Dt / (rmmss * rhhmm) & ! total incrementation (in hours) 92 92 & - (nyear - 1) * rjjhh * zyydd ! minus years since beginning of experiment (in hours) 93 93 … … 154 154 !accumulates days of previous months of this year 155 155 ! day (in hours) since january the 1st 156 ztime = FLOAT( kt ) * r dt / (rmmss * rhhmm) & ! incrementation in hour156 ztime = FLOAT( kt ) * rn_Dt / (rmmss * rhhmm) & ! incrementation in hour 157 157 & - (nyear - 1) * rjjhh * zyydd ! - nber of hours the precedent years 158 158 ztimemax = ((5.*30.)+21.)* 24. ! 21th june in hours -
NEMO/branches/2020/KERNEL-03_Storkey_Coward_RK3_stage2/src/OCE/ZDF/zdfdrg.F90
r12377 r12406 165 165 !!--------------------------------------------------------------------- 166 166 ! 167 !!gm bug : time step is only r dt (not 2 rdt if euler start !)168 zm1_2dt = - 1._wp / ( 2._wp * r dt )167 !!gm bug : time step is only rn_Dt (not 2 rn_Dt if euler start !) 168 zm1_2dt = - 1._wp / ( 2._wp * rn_Dt ) 169 169 170 170 IF( l_trddyn ) THEN ! trends: store the input trends -
NEMO/branches/2020/KERNEL-03_Storkey_Coward_RK3_stage2/src/OCE/ZDF/zdfgls.F90
r12377 r12406 267 267 zd_up(ji,jj,jk) = zcof * ( p_avm(ji,jj,jk+1) + p_avm(ji,jj,jk ) ) / ( e3t(ji,jj,jk ,Kmm) * e3w(ji,jj,jk,Kmm) ) 268 268 ! ! diagonal 269 zdiag(ji,jj,jk) = 1._wp - zd_lw(ji,jj,jk) - zd_up(ji,jj,jk) + r dt * zdiss * wmask(ji,jj,jk)269 zdiag(ji,jj,jk) = 1._wp - zd_lw(ji,jj,jk) - zd_up(ji,jj,jk) + rn_Dt * zdiss * wmask(ji,jj,jk) 270 270 ! ! right hand side in en 271 en(ji,jj,jk) = en(ji,jj,jk) + r dt * zesh2 * wmask(ji,jj,jk)271 en(ji,jj,jk) = en(ji,jj,jk) + rn_Dt * zesh2 * wmask(ji,jj,jk) 272 272 END_3D 273 273 ! … … 477 477 zd_up(ji,jj,jk) = zcof * ( p_avm(ji,jj,jk+1) + p_avm(ji,jj,jk ) ) / ( e3t(ji,jj,jk ,Kmm) * e3w(ji,jj,jk,Kmm) ) 478 478 ! ! diagonal 479 zdiag(ji,jj,jk) = 1._wp - zd_lw(ji,jj,jk) - zd_up(ji,jj,jk) + r dt * zdiss * wmask(ji,jj,jk)479 zdiag(ji,jj,jk) = 1._wp - zd_lw(ji,jj,jk) - zd_up(ji,jj,jk) + rn_Dt * zdiss * wmask(ji,jj,jk) 480 480 ! ! right hand side in psi 481 psi(ji,jj,jk) = psi(ji,jj,jk) + r dt * zesh2 * wmask(ji,jj,jk)481 psi(ji,jj,jk) = psi(ji,jj,jk) + rn_Dt * zesh2 * wmask(ji,jj,jk) 482 482 END_3D 483 483 ! … … 1007 1007 rc04 = rc03 * rc0 1008 1008 rsbc_tke1 = -3._wp/2._wp*rn_crban*ra_sf*rl_sf ! Dirichlet + Wave breaking 1009 rsbc_tke2 = r dt * rn_crban / rl_sf ! Neumann + Wave breaking1009 rsbc_tke2 = rn_Dt * rn_crban / rl_sf ! Neumann + Wave breaking 1010 1010 zcr = MAX(rsmall, rsbc_tke1**(1./(-ra_sf*3._wp/2._wp))-1._wp ) 1011 1011 rtrans = 0.2_wp / zcr ! Ad. inverse transition length between log and wave layer 1012 1012 rsbc_zs1 = rn_charn/grav ! Charnock formula for surface roughness 1013 1013 rsbc_zs2 = rn_frac_hs / 0.85_wp / grav * 665._wp ! Rascle formula for surface roughness 1014 rsbc_psi1 = -0.5_wp * r dt * rc0**(rpp-2._wp*rmm) / rsc_psi1015 rsbc_psi2 = -0.5_wp * r dt * rc0**rpp * rnn * vkarmn**rnn / rsc_psi ! Neumann + NO Wave breaking1016 ! 1017 rfact_tke = -0.5_wp / rsc_tke * r dt ! Cst used for the Diffusion term of tke1018 rfact_psi = -0.5_wp / rsc_psi * r dt ! Cst used for the Diffusion term of tke1014 rsbc_psi1 = -0.5_wp * rn_Dt * rc0**(rpp-2._wp*rmm) / rsc_psi 1015 rsbc_psi2 = -0.5_wp * rn_Dt * rc0**rpp * rnn * vkarmn**rnn / rsc_psi ! Neumann + NO Wave breaking 1016 ! 1017 rfact_tke = -0.5_wp / rsc_tke * rn_Dt ! Cst used for the Diffusion term of tke 1018 rfact_psi = -0.5_wp / rsc_psi * rn_Dt ! Cst used for the Diffusion term of tke 1019 1019 ! 1020 1020 ! !* Wall proximity function -
NEMO/branches/2020/KERNEL-03_Storkey_Coward_RK3_stage2/src/OCE/ZDF/zdfosm.F90
r12377 r12406 441 441 & + 0.135 * zla(ji,jj) * zwstrl(ji,jj)**3/hbl(ji,jj) ) 442 442 443 zvel_max = - ( 1.0 + 1.0 * ( zwstrl(ji,jj)**3 + 0.5 * zwstrc(ji,jj)**3 )**pthird * rn_ rdt / hbl(ji,jj) ) &443 zvel_max = - ( 1.0 + 1.0 * ( zwstrl(ji,jj)**3 + 0.5 * zwstrc(ji,jj)**3 )**pthird * rn_Dt / hbl(ji,jj) ) & 444 444 & * zwb_ent(ji,jj) / ( zwstrl(ji,jj)**3 + 0.5 * zwstrc(ji,jj)**3 )**pthird 445 445 ! Entrainment including component due to shear turbulence. Modified Langmuir component, but gives same result for La=0.3 For testing uncomment. … … 447 447 ! & + ( 0.15 * ( 1.0 - EXP( -0.5 * zla(ji,jj) ) ) + 0.03 / zla(ji,jj)**2 ) * zustar(ji,jj)**3/hbl(ji,jj) ) 448 448 449 ! zvel_max = - ( 1.0 + 1.0 * ( zvstr(ji,jj)**3 + 0.5 * zwstrc(ji,jj)**3 )**pthird * rn_ rdt / zhbl(ji,jj) ) * zwb_ent(ji,jj) / &449 ! zvel_max = - ( 1.0 + 1.0 * ( zvstr(ji,jj)**3 + 0.5 * zwstrc(ji,jj)**3 )**pthird * rn_Dt / zhbl(ji,jj) ) * zwb_ent(ji,jj) / & 450 450 ! & ( zvstr(ji,jj)**3 + 0.5 * zwstrc(ji,jj)**3 )**pthird 451 451 zzdhdt = - zwb_ent(ji,jj) / ( zvel_max + MAX(zdb_bl(ji,jj),0.0) ) … … 458 458 IF ( zzdhdt < 0._wp ) THEN 459 459 ! For long timsteps factor in brackets slows the rapid collapse of the OSBL 460 zpert = 2.0 * ( 1.0 + 2.0 * zwstrl(ji,jj) * rn_ rdt / hbl(ji,jj) ) * zwstrl(ji,jj)**2 / hbl(ji,jj)460 zpert = 2.0 * ( 1.0 + 2.0 * zwstrl(ji,jj) * rn_Dt / hbl(ji,jj) ) * zwstrl(ji,jj)**2 / hbl(ji,jj) 461 461 ELSE 462 zpert = 2.0 * ( 1.0 + 2.0 * zwstrl(ji,jj) * rn_ rdt / hbl(ji,jj) ) * zwstrl(ji,jj)**2 / hbl(ji,jj) &462 zpert = 2.0 * ( 1.0 + 2.0 * zwstrl(ji,jj) * rn_Dt / hbl(ji,jj) ) * zwstrl(ji,jj)**2 / hbl(ji,jj) & 463 463 & + MAX( zdb_bl(ji,jj), 0.0 ) 464 464 ENDIF … … 472 472 ibld(:,:) = 3 473 473 474 zhbl_t(:,:) = hbl(:,:) + (zdhdt(:,:) - ww(ji,jj,ibld(ji,jj)))* rn_ rdt ! certainly need wb here, so subtract it474 zhbl_t(:,:) = hbl(:,:) + (zdhdt(:,:) - ww(ji,jj,ibld(ji,jj)))* rn_Dt ! certainly need wb here, so subtract it 475 475 zhbl_t(:,:) = MIN(zhbl_t(:,:), ht(:,:)) 476 zdhdt(:,:) = MIN(zdhdt(:,:), (zhbl_t(:,:) - hbl(:,:))/rn_ rdt + ww(ji,jj,ibld(ji,jj))) ! adjustment to represent limiting by ocean bottom476 zdhdt(:,:) = MIN(zdhdt(:,:), (zhbl_t(:,:) - hbl(:,:))/rn_Dt + ww(ji,jj,ibld(ji,jj))) ! adjustment to represent limiting by ocean bottom 477 477 478 478 DO_3D_00_00( 4, jpkm1 ) … … 496 496 IF ( lconv(ji,jj) ) THEN 497 497 !unstable 498 zvel_max = - ( 1.0 + 1.0 * ( zvstr(ji,jj)**3 + 0.5 * zwstrc(ji,jj)**3 )**pthird * rn_ rdt / hbl(ji,jj) ) &498 zvel_max = - ( 1.0 + 1.0 * ( zvstr(ji,jj)**3 + 0.5 * zwstrc(ji,jj)**3 )**pthird * rn_Dt / hbl(ji,jj) ) & 499 499 & * zwb_ent(ji,jj) / ( zvstr(ji,jj)**3 + 0.5 * zwstrc(ji,jj)**3 )**pthird 500 500 … … 503 503 & - zbeta * ( zs_bl(ji,jj) - ts(ji,jj,jm,jp_sal,Kmm) ) ), 0.0 ) + zvel_max 504 504 505 zhbl_s = zhbl_s + MIN( - zwb_ent(ji,jj) / zdb * rn_ rdt / FLOAT(ibld(ji,jj)-imld(ji,jj) ), e3w(ji,jj,jk,Kmm) )505 zhbl_s = zhbl_s + MIN( - zwb_ent(ji,jj) / zdb * rn_Dt / FLOAT(ibld(ji,jj)-imld(ji,jj) ), e3w(ji,jj,jk,Kmm) ) 506 506 zhbl_s = MIN(zhbl_s, ht(ji,jj)) 507 507 -
NEMO/branches/2020/KERNEL-03_Storkey_Coward_RK3_stage2/src/OCE/ZDF/zdftke.F90
r12377 r12406 207 207 ! 208 208 zbbrau = rn_ebb / rau0 ! Local constant initialisation 209 zfact1 = -.5_wp * r dt210 zfact2 = 1.5_wp * r dt * rn_ediss209 zfact1 = -.5_wp * rn_Dt 210 zfact2 = 1.5_wp * rn_Dt * rn_ediss 211 211 zfact3 = 0.5_wp * rn_ediss 212 212 ! … … 288 288 zwlc = rn_lc * SIN( rpi * gdepw(ji,jj,jk,Kmm) / zhlc(ji,jj) ) ! warning: optimization: zus^3 is in zfr_i 289 289 ! ! TKE Langmuir circulation source term 290 en(ji,jj,jk) = en(ji,jj,jk) + r dt * zfr_i(ji,jj) * ( zwlc * zwlc * zwlc ) / zhlc(ji,jj)290 en(ji,jj,jk) = en(ji,jj,jk) + rn_Dt * zfr_i(ji,jj) * ( zwlc * zwlc * zwlc ) / zhlc(ji,jj) 291 291 ENDIF 292 292 ENDIF … … 325 325 ! 326 326 ! ! right hand side in en 327 en(ji,jj,jk) = en(ji,jj,jk) + r dt * ( p_sh2(ji,jj,jk)& ! shear327 en(ji,jj,jk) = en(ji,jj,jk) + rn_Dt * ( p_sh2(ji,jj,jk) & ! shear 328 328 & - p_avt(ji,jj,jk) * rn2(ji,jj,jk) & ! stratification 329 329 & + zfact3 * dissl(ji,jj,jk) * en(ji,jj,jk) & ! dissipation -
NEMO/branches/2020/KERNEL-03_Storkey_Coward_RK3_stage2/src/OCE/nemogcm.F90
r12397 r12406 482 482 483 483 ! ! Icebergs 484 CALL icb_init( r dt, nit000) ! initialise icebergs instance484 CALL icb_init( rn_Dt, nit000) ! initialise icebergs instance 485 485 486 486 ! ice shelf -
NEMO/branches/2020/KERNEL-03_Storkey_Coward_RK3_stage2/src/OCE/step.F90
r12397 r12406 105 105 !<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< 106 106 ! 107 IF( l_1st_euler ) THEN ; r2dt = rn_ rdt ! start or restart with Euler 1st time-step108 ELSE ; r2dt = 2._wp * rn_ rdt ! restart with leapfrog107 IF( l_1st_euler ) THEN ; r2dt = rn_Dt ! start or restart with Euler 1st time-step 108 ELSE ; r2dt = 2._wp * rn_Dt ! restart with leapfrog 109 109 ENDIF 110 110 r1_2dt = 1._wp / r2dt -
NEMO/branches/2020/KERNEL-03_Storkey_Coward_RK3_stage2/src/OCE/timing.F90
r11536 r12406 390 390 WRITE(numtime,'(A28,F11.6,A2, F4.1,A3,A25,I8)') 'Waiting global time : ',timing_glob(4*ji-1) & 391 391 & , ' (', zperc,' %)', ' on MPI rank : ', ji 392 zsypd = rn_ rdt * REAL(nitend-nit000-1, wp) / (timing_glob(4*ji) * 365.)392 zsypd = rn_Dt * REAL(nitend-nit000-1, wp) / (timing_glob(4*ji) * 365.) 393 393 WRITE(numtime,'(A28,F11.6,A7,F10.3,A2,A15,I8)') 'Total time : ',timing_glob(4*ji ) & 394 394 & , ' (SYPD: ', zsypd, ')', ' on MPI rank : ', ji -
NEMO/branches/2020/KERNEL-03_Storkey_Coward_RK3_stage2/src/OFF/dtadyn.F90
r12377 r12406 622 622 !!---------------------------------------------------------------------- 623 623 ! 624 z2dt = 2._wp * r dt624 z2dt = 2._wp * rn_Dt 625 625 ! 626 626 zhdiv(:,:) = 0._wp -
NEMO/branches/2020/KERNEL-03_Storkey_Coward_RK3_stage2/src/SAS/diawri.F90
r12377 r12406 174 174 ENDIF 175 175 #if defined key_diainstant 176 zsto = nn_write * r dt176 zsto = nn_write * rn_Dt 177 177 clop = "inst("//TRIM(clop)//")" 178 178 #else 179 zsto=r dt179 zsto=rn_Dt 180 180 clop = "ave("//TRIM(clop)//")" 181 181 #endif 182 zout = nn_write * r dt183 zmax = ( nitend - nit000 + 1 ) * r dt182 zout = nn_write * rn_Dt 183 zmax = ( nitend - nit000 + 1 ) * rn_Dt 184 184 185 185 ! Define indices of the horizontal output zoom and vertical limit storage … … 202 202 203 203 ! Compute julian date from starting date of the run 204 CALL ymds2ju( nyear, nmonth, nday, r dt, zjulian )204 CALL ymds2ju( nyear, nmonth, nday, rn_Dt, zjulian ) 205 205 zjulian = zjulian - adatrj ! set calendar origin to the beginning of the experiment 206 206 IF(lwp)WRITE(numout,*) … … 224 224 CALL histbeg( clhstnam, jpi, glamt, jpj, gphit, & ! Horizontal grid: glamt and gphit 225 225 & iimi, iima-iimi+1, ijmi, ijma-ijmi+1, & 226 & nit000-1, zjulian, r dt, nh_T, nid_T, domain_id=nidom, snc4chunks=snc4set )226 & nit000-1, zjulian, rn_Dt, nh_T, nid_T, domain_id=nidom, snc4chunks=snc4set ) 227 227 CALL histvert( nid_T, "deptht", "Vertical T levels", & ! Vertical grid: gdept 228 228 & "m", ipk, gdept_1d, nz_T, "down" ) … … 236 236 CALL histbeg( clhstnam, jpi, glamu, jpj, gphiu, & ! Horizontal grid: glamu and gphiu 237 237 & iimi, iima-iimi+1, ijmi, ijma-ijmi+1, & 238 & nit000-1, zjulian, r dt, nh_U, nid_U, domain_id=nidom, snc4chunks=snc4set )238 & nit000-1, zjulian, rn_Dt, nh_U, nid_U, domain_id=nidom, snc4chunks=snc4set ) 239 239 CALL histvert( nid_U, "depthu", "Vertical U levels", & ! Vertical grid: gdept 240 240 & "m", ipk, gdept_1d, nz_U, "down" ) … … 248 248 CALL histbeg( clhstnam, jpi, glamv, jpj, gphiv, & ! Horizontal grid: glamv and gphiv 249 249 & iimi, iima-iimi+1, ijmi, ijma-ijmi+1, & 250 & nit000-1, zjulian, r dt, nh_V, nid_V, domain_id=nidom, snc4chunks=snc4set )250 & nit000-1, zjulian, rn_Dt, nh_V, nid_V, domain_id=nidom, snc4chunks=snc4set ) 251 251 CALL histvert( nid_V, "depthv", "Vertical V levels", & ! Vertical grid : gdept 252 252 & "m", ipk, gdept_1d, nz_V, "down" ) … … 261 261 CALL histbeg( clhstnam, jpi, glamt, jpj, gphit, & ! Horizontal grid: glamt and gphit 262 262 & iimi, iima-iimi+1, ijmi, ijma-ijmi+1, & 263 & nit000-1, zjulian, r dt, nh_A, nid_A, domain_id=nidom, snc4chunks=snc4set )263 & nit000-1, zjulian, rn_Dt, nh_A, nid_A, domain_id=nidom, snc4chunks=snc4set ) 264 264 CALL histvert( nid_A, "ght_abl", "Vertical T levels", & ! Vertical grid: gdept 265 265 & "m", ipka, ght_abl(2:jpka), nz_A, "up" ) -
NEMO/branches/2020/KERNEL-03_Storkey_Coward_RK3_stage2/src/SAS/nemogcm.F90
r12377 r12406 378 378 CALL bdy_init 379 379 ! ==> 380 CALL icb_init( r dt, nit000) ! initialise icebergs instance380 CALL icb_init( rn_Dt, nit000) ! initialise icebergs instance 381 381 ! 382 382 IF(lwp) WRITE(numout,cform_aaa) ! Flag AAAAAAA -
NEMO/branches/2020/KERNEL-03_Storkey_Coward_RK3_stage2/src/TOP/C14/trcatm_c14.F90
r12377 r12406 223 223 IF(kc14typ >= 1) THEN ! Transient C14 & CO2 224 224 ! 225 tyrc14_now = tyrc14_now + ( r dt / ( rday * nyear_len(1)) ) ! current time step in yr relative to tyrc14_beg225 tyrc14_now = tyrc14_now + ( rn_Dt / ( rday * nyear_len(1)) ) ! current time step in yr relative to tyrc14_beg 226 226 ! 227 227 ! CO2 -------------------------------------------------------- -
NEMO/branches/2020/KERNEL-03_Storkey_Coward_RK3_stage2/src/TOP/CFC/trcsms_cfc.F90
r12377 r12406 166 166 167 167 ! cumulation of surface flux at each time step 168 qint_cfc(ji,jj,jl) = qint_cfc(ji,jj,jl) + qtr_cfc(ji,jj,jl) * r dt168 qint_cfc(ji,jj,jl) = qint_cfc(ji,jj,jl) + qtr_cfc(ji,jj,jl) * rn_Dt 169 169 ! !----------------! 170 170 END_2D -
NEMO/branches/2020/KERNEL-03_Storkey_Coward_RK3_stage2/src/TOP/PISCES/P2Z/p2zexp.F90
r12397 r12406 98 98 zwork = vsed * tr(ji,jj,ikt,jpdet,Kmm) 99 99 zsedpoca(ji,jj) = ( zwork + dminl(ji,jj) * xksi(ji,jj) & 100 & - sedlam * sedpocn(ji,jj) - sedlostpoc * sedpocn(ji,jj) ) * r dt100 & - sedlam * sedpocn(ji,jj) - sedlostpoc * sedpocn(ji,jj) ) * rn_Dt 101 101 zgeolpoc = zgeolpoc + sedlostpoc * sedpocn(ji,jj) * e1e2t(ji,jj) 102 102 END_2D -
NEMO/branches/2020/KERNEL-03_Storkey_Coward_RK3_stage2/src/TOP/PISCES/P4Z/p4zsms.F90
r12397 r12406 106 106 xfact = 1.e+3 * rfact2r 107 107 IF(lwp) WRITE(numout,*) 108 IF(lwp) WRITE(numout,*) ' Passive Tracer time step rfact = ', rfact, ' r dt = ', rdt108 IF(lwp) WRITE(numout,*) ' Passive Tracer time step rfact = ', rfact, ' rn_Dt = ', rn_Dt 109 109 IF(lwp) write(numout,*) ' PISCES Biology time step rfact2 = ', rfact2 110 110 IF(lwp) WRITE(numout,*) -
NEMO/branches/2020/KERNEL-03_Storkey_Coward_RK3_stage2/src/TOP/PISCES/SED/oce_sed.F90
r12377 r12406 18 18 USE dom_oce , ONLY : mbkt => mbkt !: vertical index of the bottom last T- ocean level 19 19 USE dom_oce , ONLY : tmask => tmask !: land/ocean mask at t-points 20 USE dom_oce , ONLY : r dt => rdt!: time step for the dynamics20 USE dom_oce , ONLY : rn_Dt => rn_Dt !: time step for the dynamics 21 21 USE dom_oce , ONLY : nyear => nyear !: Current year 22 22 USE dom_oce , ONLY : ndastp => ndastp !: time step date in year/month/day aammjj -
NEMO/branches/2020/KERNEL-03_Storkey_Coward_RK3_stage2/src/TOP/PISCES/SED/sedrst.F90
r12377 r12406 330 330 !! In both those options, the exact duration of the experiment 331 331 !! since the beginning (cumulated duration of all previous restart runs) 332 !! is not stored in the restart and is assumed to be (nittrc000-1)*r dt.332 !! is not stored in the restart and is assumed to be (nittrc000-1)*rn_Dt. 333 333 !! This is valid is the time step has remained constant. 334 334 !! … … 381 381 ELSE 382 382 ndastp = ndate0 - 1 ! ndate0 read in the namelist in dom_nam 383 adatrj = ( REAL( nittrc000-1, wp ) * r dt ) / rday383 adatrj = ( REAL( nittrc000-1, wp ) * rn_Dt ) / rday 384 384 ! note this is wrong if time step has changed during run 385 385 ENDIF -
NEMO/branches/2020/KERNEL-03_Storkey_Coward_RK3_stage2/src/TOP/TRP/trcrad.F90
r12377 r12406 147 147 ! 148 148 IF( l_trdtrc ) ALLOCATE( ztrtrd(jpi,jpj,jpk) ) 149 zs2rdt = 1. / ( 2. * r dt )149 zs2rdt = 1. / ( 2. * rn_Dt ) 150 150 ! 151 151 DO jt = 1,2 ! Loop over time indices since exactly the same fix is applied to "now" and "after" fields -
NEMO/branches/2020/KERNEL-03_Storkey_Coward_RK3_stage2/src/TOP/TRP/trdmxl_trc.F90
r12377 r12406 401 401 DO jn = 1, jptra 402 402 IF( ln_trdtrc(jn) ) THEN 403 !-- Compute total trends (use rdttrc instead of r dt ???)403 !-- Compute total trends (use rdttrc instead of rn_Dt ???) 404 404 IF ( ln_trcadv_muscl .OR. ln_trcadv_muscl2 ) THEN ! EULER-FORWARD schemes 405 ztmltot(:,:,jn) = ( tml_trc(:,:,jn) - tmlbn_trc(:,:,jn) )/r dt405 ztmltot(:,:,jn) = ( tml_trc(:,:,jn) - tmlbn_trc(:,:,jn) )/rn_Dt 406 406 ELSE ! LEAP-FROG schemes 407 ztmltot(:,:,jn) = ( tml_trc(:,:,jn) - tmlbn_trc(:,:,jn) + tmlb_trc(:,:,jn) - tmlbb_trc(:,:,jn))/(2.*r dt)407 ztmltot(:,:,jn) = ( tml_trc(:,:,jn) - tmlbn_trc(:,:,jn) + tmlb_trc(:,:,jn) - tmlbb_trc(:,:,jn))/(2.*rn_Dt) 408 408 ENDIF 409 409 … … 439 439 IF( ln_trdtrc(jn) ) THEN 440 440 tml_sum_trc(:,:,jn) = tmlbn_trc(:,:,jn) + 2 * ( tml_sum_trc(:,:,jn) - tml_trc(:,:,jn) ) + tml_trc(:,:,jn) 441 ztmltot2 (:,:,jn) = ( tml_sum_trc(:,:,jn) - tml_sumb_trc(:,:,jn) ) / ( 2.*r dt ) ! now tracer unit is /sec441 ztmltot2 (:,:,jn) = ( tml_sum_trc(:,:,jn) - tml_sumb_trc(:,:,jn) ) / ( 2.*rn_Dt ) ! now tracer unit is /sec 442 442 ENDIF 443 443 END DO … … 852 852 CALL ctl_stop( 'STOP', 'trd_mxl_trc : this was never checked. Comment this line to proceed...' ) 853 853 ENDIF 854 zsto = nn_trd_trc * r dt854 zsto = nn_trd_trc * rn_Dt 855 855 clop = "inst("//TRIM(clop)//")" 856 856 # else 857 857 IF( ln_trdmxl_trc_instant ) THEN 858 zsto = r dt ! inst. diags : we use IOIPSL time averaging858 zsto = rn_Dt ! inst. diags : we use IOIPSL time averaging 859 859 ELSE 860 zsto = nn_trd_trc * r dt ! mean diags : we DO NOT use any IOIPSL time averaging860 zsto = nn_trd_trc * rn_Dt ! mean diags : we DO NOT use any IOIPSL time averaging 861 861 ENDIF 862 862 clop = "ave("//TRIM(clop)//")" 863 863 # endif 864 zout = nn_trd_trc * r dt864 zout = nn_trd_trc * rn_Dt 865 865 iiter = nittrc000 - 1 866 866 … … 869 869 ! II.2 Compute julian date from starting date of the run 870 870 ! ------------------------------------------------------ 871 CALL ymds2ju( nyear, nmonth, nday, r dt, zjulian )871 CALL ymds2ju( nyear, nmonth, nday, rn_Dt, zjulian ) 872 872 zjulian = zjulian - adatrj ! set calendar origin to the beginning of the experiment 873 873 IF(lwp) WRITE(numout,*)' ' … … 901 901 CALL dia_nam( clhstnam, nn_trd_trc, csuff ) 902 902 CALL histbeg( clhstnam, jpi, glamt, jpj, gphit, & 903 & 1, jpi, 1, jpj, iiter, zjulian, r dt, nh_t(jn), nidtrd(jn), domain_id=nidom, snc4chunks=snc4set )903 & 1, jpi, 1, jpj, iiter, zjulian, rn_Dt, nh_t(jn), nidtrd(jn), domain_id=nidom, snc4chunks=snc4set ) 904 904 905 905 !-- Define the ML depth variable … … 938 938 CALL histdef(nidtrd(jn), trim(clvar)//trim(ctrd_trc(jl,2)), clmxl//" "//clvar//ctrd_trc(jl,1), & 939 939 & cltrcu, jpi, jpj, nh_t(jn), 1 , 1, 1 , -99 , 32, clop, zsto, zout ) ! IOIPSL: time mean 940 END DO ! if zsto=r dt above940 END DO ! if zsto=rn_Dt above 941 941 942 942 CALL histdef(nidtrd(jn), trim(clvar)//trim(ctrd_trc(jpmxl_trc_radb,2)), clmxl//" "//clvar//ctrd_trc(jpmxl_trc_radb,1), & -
NEMO/branches/2020/KERNEL-03_Storkey_Coward_RK3_stage2/src/TOP/trcnam.F90
r12377 r12406 76 76 ENDIF 77 77 ! 78 rdttrc = r dt ! passive tracer time-step78 rdttrc = rn_Dt ! passive tracer time-step 79 79 ! 80 80 IF(lwp) THEN ! control print 81 81 WRITE(numout,*) 82 WRITE(numout,*) ' ==>>> Passive Tracer time step rdttrc = r dt = ', rdttrc82 WRITE(numout,*) ' ==>>> Passive Tracer time step rdttrc = rn_Dt = ', rdttrc 83 83 ENDIF 84 84 ! -
NEMO/branches/2020/KERNEL-03_Storkey_Coward_RK3_stage2/src/TOP/trcrst.F90
r12397 r12406 183 183 !! In both those options, the exact duration of the experiment 184 184 !! since the beginning (cumulated duration of all previous restart runs) 185 !! is not stored in the restart and is assumed to be (nittrc000-1)*r dt.185 !! is not stored in the restart and is assumed to be (nittrc000-1)*rn_Dt. 186 186 !! This is valid is the time step has remained constant. 187 187 !! … … 263 263 nminute = ( nn_time0 - nhour * 100 ) 264 264 IF( nhour*3600+nminute*60-ndt05 .lt. 0 ) ndastp=ndastp-1 ! Start hour is specified in the namelist (default 0) 265 adatrj = ( REAL( nit000-1, wp ) * r dt ) / rday265 adatrj = ( REAL( nit000-1, wp ) * rn_Dt ) / rday 266 266 ! note this is wrong if time step has changed during run 267 267 ENDIF
Note: See TracChangeset
for help on using the changeset viewer.