diff --git a/doc/ChangeLog b/doc/ChangeLog index 4379529a11..709bafc224 100644 --- a/doc/ChangeLog +++ b/doc/ChangeLog @@ -1,5 +1,56 @@ =============================================================== +Tag name: cam6_4_190 +Originator(s): pel +Date: 21 Jul 2026 +One-line Summary: Correct outdated ztodt "2 delta-t" comments +Github PR URL: + +Purpose of changes (include the issue number and title text for each relevant GitHub issue): + + Issue 1626: The ztodt argument passed to physics is documented in many routines as + "2 delta-t" / "two times model timestep", a leftover from the leapfrog + (Eulerian spectral) dycore. All current dycores pass the plain physics + time step (get_step_size()). Comments only; no code changes. + +Describe any changes made to build system: N/A + +Describe any changes made to the namelist: N/A + +List any changes to the defaults for the boundary datasets: N/A + +Describe any substantial timing or memory changes: N/A + +Code reviewed by: + +List all files eliminated: N/A + +List all files added and what they do: N/A + +List all existing files that have been modified, and describe the changes: +M doc/ChangeLog +M src/chemistry/aerosol/aero_convproc.F90 +M src/physics/cam/check_energy.F90 +M src/physics/cam/convect_deep.F90 +M src/physics/cam/convect_shallow.F90 +M src/physics/cam/molec_diff.F90 +M src/physics/cam/physpkg.F90 +M src/physics/cam/qneg_module.F90 +M src/physics/cam/vertical_diffusion.F90 +M src/physics/cam/waccmx_phys_intr.F90 +M src/physics/cam/zm_conv_intr.F90 +M src/physics/cam7/convect_diagnostics.F90 +M src/physics/cam7/physpkg.F90 +M src/physics/simple/held_suarez_cam.F90 +M src/physics/simple/physpkg.F90 +M src/physics/waccmx/majorsp_diffusion.F90 + - correct ztodt comment: model physics timestep, not 2 delta-t + +Summarize any changes to answers: bit-for-bit unchanged (comments only) + +=============================================================== +=============================================================== + Tag name: cam6_4_189 Originator(s): fvitt Date: 21 Jul 2026 diff --git a/src/chemistry/aerosol/aero_convproc.F90 b/src/chemistry/aerosol/aero_convproc.F90 index 6fbbcd2dfb..33b918e044 100644 --- a/src/chemistry/aerosol/aero_convproc.F90 +++ b/src/chemistry/aerosol/aero_convproc.F90 @@ -330,7 +330,7 @@ subroutine aero_convproc_intr( aero_props, aero_state, state, ptend, pbuf, ztodt type(physics_state),target,intent(in ) :: state ! Physics state variables type(physics_ptend), intent(inout) :: ptend ! %lq set in aero_model_wetdep type(physics_buffer_desc), pointer :: pbuf(:) - real(r8), intent(in) :: ztodt ! 2 delta t (model time increment) + real(r8), intent(in) :: ztodt ! model physics timestep [s] integer, intent(in) :: nsrflx_mzaer2cnvpr real(r8), intent(in) :: qsrflx_mzaer2cnvpr(pcols,ncnstaer,nsrflx_mzaer2cnvpr) diff --git a/src/physics/cam/check_energy.F90 b/src/physics/cam/check_energy.F90 index d1d59e173f..003bf1feef 100644 --- a/src/physics/cam/check_energy.F90 +++ b/src/physics/cam/check_energy.F90 @@ -290,7 +290,7 @@ subroutine check_tracers_chng(state, tracerint, name, nstep, ztodt, cflx) type(check_tracers_data), intent(inout) :: tracerint! tracers integrals and boundary fluxes character*(*),intent(in) :: name ! parameterization name for fluxes integer , intent(in ) :: nstep ! current timestep number - real(r8), intent(in ) :: ztodt ! 2 delta t (model time increment) + real(r8), intent(in ) :: ztodt ! model physics timestep [s] real(r8), intent(in ) :: cflx(pcols,pcnst) ! boundary flux of tracers (kg/m2/s) !---------------------------Local storage------------------------------- diff --git a/src/physics/cam/convect_deep.F90 b/src/physics/cam/convect_deep.F90 index 166d5e5693..533b8395e5 100644 --- a/src/physics/cam/convect_deep.F90 +++ b/src/physics/cam/convect_deep.F90 @@ -185,7 +185,7 @@ subroutine convect_deep_tend( & type(physics_buffer_desc), pointer :: pbuf(:) - real(r8), intent(in) :: ztodt ! 2 delta t (model time increment) + real(r8), intent(in) :: ztodt ! model physics timestep [s] real(r8), intent(in) :: landfrac(pcols) ! Land fraction @@ -293,7 +293,7 @@ subroutine convect_deep_tend_2( state, ptend, ztodt, pbuf) type(physics_buffer_desc), pointer :: pbuf(:) - real(r8), intent(in) :: ztodt ! 2 delta t (model time increment) + real(r8), intent(in) :: ztodt ! model physics timestep [s] if ( deep_scheme .eq. 'ZM' ) then ! Zhang-McFarlane diff --git a/src/physics/cam/convect_shallow.F90 b/src/physics/cam/convect_shallow.F90 index b5cf332014..a6538d43fa 100644 --- a/src/physics/cam/convect_shallow.F90 +++ b/src/physics/cam/convect_shallow.F90 @@ -334,7 +334,7 @@ subroutine convect_shallow_tend( ztodt , cmfmc , & ! ---------------------- ! type(physics_buffer_desc), pointer :: pbuf(:) type(physics_state), intent(in) :: state ! Physics state variables - real(r8), intent(in) :: ztodt ! 2 delta-t [ s ] + real(r8), intent(in) :: ztodt ! model physics timestep [s] type(physics_ptend), intent(out) :: ptend_all ! Indivdual parameterization tendencies real(r8), intent(out) :: rliq2(pcols) ! Vertically-integrated reserved cloud condensate [ m/s ] diff --git a/src/physics/cam/molec_diff.F90 b/src/physics/cam/molec_diff.F90 index 49329db158..209302237b 100644 --- a/src/physics/cam/molec_diff.F90 +++ b/src/physics/cam/molec_diff.F90 @@ -249,7 +249,7 @@ function vd_lu_qdecomp( & type(BoundaryType), intent(in) :: interface_boundary ! Boundary on grid edge. type(BoundaryType), intent(in) :: molec_boundary ! Boundary at edge of molec_diff region. real(r8), intent(in) :: tint(:,:) ! Air temperature [ K ], interfaces - real(r8), intent(in) :: ztodt ! 2 delta-t [ s ] + real(r8), intent(in) :: ztodt ! model physics timestep [s] real(r8), intent(in) :: t(:,:) ! Air temperature [ K ] integer, intent(in) :: m ! cnst index diff --git a/src/physics/cam/physpkg.F90 b/src/physics/cam/physpkg.F90 index 3d6d260b23..b100426391 100644 --- a/src/physics/cam/physpkg.F90 +++ b/src/physics/cam/physpkg.F90 @@ -1099,7 +1099,7 @@ subroutine phys_run1(phys_state, ztodt, phys_tend, pbuf2d, cam_in, cam_out) ! ! Input arguments ! - real(r8), intent(in) :: ztodt ! physics time step unless nstep=0 + real(r8), intent(in) :: ztodt ! model physics timestep [s] ! ! Input/Output arguments ! @@ -1223,7 +1223,7 @@ subroutine phys_run2(phys_state, ztodt, phys_tend, pbuf2d, cam_out, & ! ! Input arguments ! - real(r8), intent(in) :: ztodt ! physics time step unless nstep=0 + real(r8), intent(in) :: ztodt ! model physics timestep [s] ! ! Input/Output arguments ! @@ -1436,7 +1436,7 @@ subroutine tphysac (ztodt, cam_in, & ! ! Arguments ! - real(r8), intent(in) :: ztodt ! Two times model timestep (2 delta-t) + real(r8), intent(in) :: ztodt ! model physics timestep [s] type(cam_in_t), intent(inout) :: cam_in type(cam_out_t), intent(inout) :: cam_out @@ -2198,7 +2198,7 @@ subroutine tphysbc (ztodt, state, & ! Arguments - real(r8), intent(in) :: ztodt ! 2 delta t (model time increment) + real(r8), intent(in) :: ztodt ! model physics timestep [s] type(physics_state), intent(inout), target :: state type(physics_tend ), intent(inout) :: tend diff --git a/src/physics/cam/qneg_module.F90 b/src/physics/cam/qneg_module.F90 index 773bf220a5..95db17583e 100644 --- a/src/physics/cam/qneg_module.F90 +++ b/src/physics/cam/qneg_module.F90 @@ -337,7 +337,7 @@ subroutine qneg4 (subnam, lchnk, ncol, ztodt, & integer, intent(in) :: lchnk ! chunk index integer, intent(in) :: ncol ! number of atmospheric columns ! - real(r8), intent(in) :: ztodt ! two times model timestep (2 delta-t) + real(r8), intent(in) :: ztodt ! model physics timestep [s] real(r8), intent(in) :: qbot(ncol,pcnst) ! moisture at lowest model level real(r8), intent(in) :: srfrpdel(ncol) ! 1./(pint(K+1)-pint(K)) ! diff --git a/src/physics/cam/vertical_diffusion.F90 b/src/physics/cam/vertical_diffusion.F90 index 3591221931..8394e2ee81 100644 --- a/src/physics/cam/vertical_diffusion.F90 +++ b/src/physics/cam/vertical_diffusion.F90 @@ -710,7 +710,7 @@ subroutine vertical_diffusion_tend( & type(physics_state), intent(inout) :: state ! Physics state variables type(cam_in_t), intent(in) :: cam_in ! Surface inputs - real(r8), intent(in) :: ztodt ! 2 delta-t [ s ] + real(r8), intent(in) :: ztodt ! model physics timestep [s] real(r8), intent(in) :: cldn(pcols,pver) ! New stratus fraction [ fraction ] ! ---------------------- ! diff --git a/src/physics/cam/waccmx_phys_intr.F90 b/src/physics/cam/waccmx_phys_intr.F90 index 3a695e77af..5b67161665 100644 --- a/src/physics/cam/waccmx_phys_intr.F90 +++ b/src/physics/cam/waccmx_phys_intr.F90 @@ -42,7 +42,7 @@ end subroutine waccmx_phys_mspd_init !------------------------------------------------------------------------------ subroutine waccmx_phys_mspd_tend(ztodt, state, ptend) - real(r8), intent(in) :: ztodt ! 2 delta-t + real(r8), intent(in) :: ztodt ! model physics timestep [s] type(physics_state), intent(in) :: state ! Physics state variables type(physics_ptend), intent(inout) :: ptend ! indivdual parameterization tendencies diff --git a/src/physics/cam/zm_conv_intr.F90 b/src/physics/cam/zm_conv_intr.F90 index 2c9abe5b76..987f1f84ce 100644 --- a/src/physics/cam/zm_conv_intr.F90 +++ b/src/physics/cam/zm_conv_intr.F90 @@ -388,7 +388,7 @@ subroutine zm_conv_tend(pblh ,mcon ,cme , & type(physics_ptend), intent(out) :: ptend_all ! individual parameterization tendencies type(physics_buffer_desc), pointer :: pbuf(:) - real(r8), intent(in) :: ztodt ! 2 delta t (model time increment) + real(r8), intent(in) :: ztodt ! model physics timestep [s] real(r8), intent(in) :: pblh(pcols) ! Planetary boundary layer height real(r8), intent(in) :: tpert(pcols) ! Thermal temperature excess real(r8), intent(in) :: landfrac(pcols) ! RBN - Landfrac @@ -817,7 +817,7 @@ subroutine zm_conv_tend_2( state, ptend, ztodt, pbuf) type(physics_buffer_desc), pointer :: pbuf(:) - real(r8), intent(in) :: ztodt ! 2 delta t (model time increment) + real(r8), intent(in) :: ztodt ! model physics timestep [s] ! Local variables integer :: i, lchnk, istat diff --git a/src/physics/cam7/convect_diagnostics.F90 b/src/physics/cam7/convect_diagnostics.F90 index 1ea7b38221..1000df8ef0 100644 --- a/src/physics/cam7/convect_diagnostics.F90 +++ b/src/physics/cam7/convect_diagnostics.F90 @@ -107,7 +107,7 @@ subroutine convect_diagnostics_calc( ztodt , cmfmc , & ! ---------------------- ! type(physics_buffer_desc), pointer :: pbuf(:) type(physics_state), intent(in) :: state ! Physics state variables - real(r8), intent(in) :: ztodt ! 2 delta-t [ s ] + real(r8), intent(in) :: ztodt ! model physics timestep [s] real(r8), intent(out) :: rliq2(pcols) ! Vertically-integrated reserved cloud condensate [ m/s ] real(r8), intent(out) :: qc2(pcols,pver) ! Same as qc but only from shallow convection scheme diff --git a/src/physics/cam7/physpkg.F90 b/src/physics/cam7/physpkg.F90 index 78d1deba92..867c699355 100644 --- a/src/physics/cam7/physpkg.F90 +++ b/src/physics/cam7/physpkg.F90 @@ -1095,7 +1095,7 @@ subroutine phys_run1(phys_state, ztodt, phys_tend, pbuf2d, cam_in, cam_out) ! ! Input arguments ! - real(r8), intent(in) :: ztodt ! physics time step unless nstep=0 + real(r8), intent(in) :: ztodt ! model physics timestep [s] ! ! Input/Output arguments ! @@ -1221,7 +1221,7 @@ subroutine phys_run2(phys_state, ztodt, phys_tend, pbuf2d, cam_out, & ! ! Input arguments ! - real(r8), intent(in) :: ztodt ! physics time step unless nstep=0 + real(r8), intent(in) :: ztodt ! model physics timestep [s] ! ! Input/Output arguments ! @@ -1457,7 +1457,7 @@ subroutine tphysac (ztodt, cam_in, & ! ! Arguments ! - real(r8), intent(in) :: ztodt ! Two times model timestep (2 delta-t) + real(r8), intent(in) :: ztodt ! model physics timestep [s] type(cam_in_t), intent(inout) :: cam_in type(cam_out_t), intent(inout) :: cam_out @@ -2682,7 +2682,7 @@ subroutine tphysbc (ztodt, state, & ! Arguments - real(r8), intent(in) :: ztodt ! 2 delta t (model time increment) + real(r8), intent(in) :: ztodt ! model physics timestep [s] type(physics_state), intent(inout), target :: state type(physics_tend ), intent(inout) :: tend diff --git a/src/physics/simple/held_suarez_cam.F90 b/src/physics/simple/held_suarez_cam.F90 index 78def4b354..69f461e638 100644 --- a/src/physics/simple/held_suarez_cam.F90 +++ b/src/physics/simple/held_suarez_cam.F90 @@ -68,7 +68,7 @@ subroutine held_suarez_tend(state, ptend, ztodt) ! Input arguments ! type(physics_state), intent(inout) :: state - real(r8), intent(in) :: ztodt ! Two times model timestep (2 delta-t) + real(r8), intent(in) :: ztodt ! model physics timestep [s] ! ! Output argument ! diff --git a/src/physics/simple/physpkg.F90 b/src/physics/simple/physpkg.F90 index a0893b08f0..1c8dcd4bb0 100644 --- a/src/physics/simple/physpkg.F90 +++ b/src/physics/simple/physpkg.F90 @@ -314,7 +314,7 @@ subroutine phys_run1(phys_state, ztodt, phys_tend, pbuf2d, cam_in, cam_out) ! ! Input arguments ! - real(r8), intent(in) :: ztodt ! physics time step unless nstep=0 + real(r8), intent(in) :: ztodt ! model physics timestep [s] ! ! Input/Output arguments ! @@ -403,7 +403,7 @@ subroutine phys_run2(phys_state, ztodt, phys_tend, pbuf2d, cam_out, cam_in) ! ! Input arguments ! - real(r8), intent(in) :: ztodt ! physics time step unless nstep=0 + real(r8), intent(in) :: ztodt ! model physics timestep [s] ! ! Input/Output arguments ! @@ -510,7 +510,7 @@ subroutine tphysac (ztodt, cam_in, cam_out, state, tend, pbuf) ! Arguments ! - real(r8), intent(in) :: ztodt ! Two times model timestep (2 delta-t) + real(r8), intent(in) :: ztodt ! model physics timestep [s] type(cam_in_t), intent(inout) :: cam_in type(cam_out_t), intent(inout) :: cam_out diff --git a/src/physics/waccmx/majorsp_diffusion.F90 b/src/physics/waccmx/majorsp_diffusion.F90 index 9784abd01f..be0ec3ddfe 100644 --- a/src/physics/waccmx/majorsp_diffusion.F90 +++ b/src/physics/waccmx/majorsp_diffusion.F90 @@ -139,7 +139,7 @@ subroutine mspd_intr(ztodt ,state ,ptend) use air_composition, only: rairv, mbarv !------------------------------Arguments-------------------------------- - real(r8), intent(in) :: ztodt ! 2 delta-t + real(r8), intent(in) :: ztodt ! model physics timestep [s] type(physics_state), intent(in) :: state ! Physics state variables type(physics_ptend), intent(inout) :: ptend ! indivdual parameterization tendencies !---------------------------Local storage------------------------------- @@ -228,7 +228,7 @@ subroutine mspdiff (lchnk ,ncol , real(r8), intent(in) :: pmid(pcols,pver) ! midpoint pressures real(r8), intent(in) :: pint(pcols,pverp) ! interface pressures real(r8), intent(in) :: pdel(pcols,pver) ! thickness between interfaces - real(r8), intent(in) :: ztodt ! 2 delta-t + real(r8), intent(in) :: ztodt ! model physics timestep [s] real(r8), intent(in) :: rairv(pcols,pver) ! composition dependent gas "constant" real(r8), intent(in) :: mbarv(pcols,pver) ! composition dependent mean mass