Skip to content

Commit

Permalink
Add is_first_timestep registry
Browse files Browse the repository at this point in the history
  • Loading branch information
jimmielin committed Oct 25, 2024
1 parent 333ad4e commit 041cdfb
Show file tree
Hide file tree
Showing 5 changed files with 19 additions and 5 deletions.
4 changes: 2 additions & 2 deletions .gitmodules
Original file line number Diff line number Diff line change
Expand Up @@ -19,8 +19,8 @@
fxDONOTUSEurl = https://github.com/MPAS-Dev/MPAS-Model.git
[submodule "ncar-physics"]
path = src/physics/ncar_ccpp
url = https://github.com/ESCOMP/atmospheric_physics
fxtag = e95c172d7a5a0ebf054f420b08416228e211baa3
url = https://github.com/jimmielin/atmospheric_physics
fxtag = 996a6d5
fxrequired = AlwaysRequired
fxDONOTUSEurl = https://github.com/ESCOMP/atmospheric_physics
[submodule "ccs_config"]
Expand Down
7 changes: 7 additions & 0 deletions src/control/cam_comp.F90
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,7 @@ module cam_comp
use physics_types, only: phys_state, phys_tend
use physics_types, only: dtime_phys
use physics_types, only: calday
use physics_types, only: is_first_timestep
use dyn_comp, only: dyn_import_t, dyn_export_t

use perf_mod, only: t_barrierf, t_startf, t_stopf
Expand Down Expand Up @@ -151,6 +152,9 @@ subroutine cam_init(caseid, ctitle, model_doi_url, &
dtime_phys = 0.0_r8
call mark_as_initialized('timestep_for_physics')

is_first_timestep = is_first_step()
call mark_as_initialized('is_first_timestep')

call init_pio_subsystem()

! Initializations using data passed from coupler.
Expand Down Expand Up @@ -263,6 +267,9 @@ subroutine cam_timestep_init()
use phys_comp, only: phys_timestep_init
use stepon, only: stepon_timestep_init

! Update timestep flags in physics state
is_first_timestep = is_first_step()

!----------------------------------------------------------
! First phase of dynamics (at least couple from dynamics to physics)
! Return time-step for physics from dynamics.
Expand Down
6 changes: 6 additions & 0 deletions src/data/registry.xml
Original file line number Diff line number Diff line change
Expand Up @@ -251,6 +251,12 @@
<dimensions>horizontal_dimension</dimensions>
<ic_file_input_names>tw_cur state_tw_cur</ic_file_input_names>
</variable>
<!-- Timestep properties -->
<variable local_name="is_first_timestep"
standard_name="is_first_timestep"
units="flag" type="logical" access="protected">
<long_name>flag indicating if is first timestep of initial run</long_name>
</variable>
<!-- State tendencies -->
<variable local_name="dTdt_total"
standard_name="tendency_of_air_temperature_due_to_model_physics"
Expand Down
5 changes: 3 additions & 2 deletions src/dynamics/se/dp_coupling.F90
Original file line number Diff line number Diff line change
Expand Up @@ -592,11 +592,12 @@ subroutine derived_phys_dry(cam_runtime_opts, phys_state, phys_tend)
use geopotential_temp, only: geopotential_temp_run
use static_energy, only: update_dry_static_energy_run
use qneg, only: qneg_run
! use check_energy, only: check_energy_timestep_init
! use check_energy_chng, only: check_energy_chng_timestep_init
use hycoef, only: hyai, ps0
use shr_vmath_mod, only: shr_vmath_log
use shr_kind_mod, only: shr_kind_cx
use dyn_comp, only: ixo, ixo2, ixh, ixh2
use dyn_tests_utils, only: vc_dry_pressure

! arguments
type(runtime_options), intent(in) :: cam_runtime_opts ! Runtime settings object
Expand Down Expand Up @@ -855,7 +856,7 @@ subroutine derived_phys_dry(cam_runtime_opts, phys_state, phys_tend)
!Remove once check_energy scheme exists in CAMDEN:
#if 0
! Compute energy and water integrals of input state
call check_energy_timestep_init(phys_state, phys_tend, pbuf_chnk)
! call check_energy_chng_timestep_init(...)
#endif

end subroutine derived_phys_dry
Expand Down
2 changes: 1 addition & 1 deletion src/physics/ncar_ccpp
Submodule ncar_ccpp updated 42 files
+11 −1 .github/workflows/test.yaml
+414 −0 schemes/check_energy/check_energy_chng.F90
+407 −0 schemes/check_energy/check_energy_chng.meta
+19 −0 schemes/check_energy/check_energy_chng_namelist.xml
+36 −0 schemes/check_energy/check_energy_fix.F90
+49 −0 schemes/check_energy/check_energy_fix.meta
+71 −0 schemes/check_energy/check_energy_gmean/check_energy_gmean.F90
+86 −0 schemes/check_energy/check_energy_gmean/check_energy_gmean.meta
+32 −0 schemes/check_energy/check_energy_save_teout.F90
+25 −0 schemes/check_energy/check_energy_save_teout.meta
+43 −0 schemes/check_energy/check_energy_scaling.F90
+49 −0 schemes/check_energy/check_energy_scaling.meta
+35 −0 schemes/check_energy/check_energy_zero_fluxes.F90
+43 −0 schemes/check_energy/check_energy_zero_fluxes.meta
+56 −51 schemes/musica/micm/musica_ccpp_micm.F90
+31 −54 schemes/musica/micm/musica_ccpp_micm_util.F90
+64 −44 schemes/musica/musica_ccpp.F90
+37 −1 schemes/musica/musica_ccpp.meta
+1 −1 schemes/musica/musica_ccpp_namelist.xml
+5 −3 schemes/musica/musica_ccpp_util.F90
+123 −31 schemes/musica/tuvx/musica_ccpp_tuvx.F90
+171 −0 schemes/musica/tuvx/musica_ccpp_tuvx_height_grid.F90
+86 −0 schemes/sima_diagnostics/check_energy_diagnostics.F90
+83 −0 schemes/sima_diagnostics/check_energy_diagnostics.meta
+60 −0 schemes/sima_diagnostics/check_energy_gmean_diagnostics.F90
+49 −0 schemes/sima_diagnostics/check_energy_gmean_diagnostics.meta
+5 −2 test/cmake/TestUtils.cmake
+10 −2 test/docker/Dockerfile.musica
+80 −0 test/docker/Dockerfile.musica.no_install
+23 −3 test/musica/CMakeLists.txt
+1 −2 test/musica/micm/CMakeLists.txt
+32 −69 test/musica/micm/test_micm_util.F90
+2 −2 test/musica/musica_ccpp_namelist.F90
+128 −123 test/musica/test_musica_api.F90
+26 −0 test/musica/tuvx/CMakeLists.txt
+0 −8 test/musica/tuvx/configs/ts1_tsmlt.json
+103 −0 test/musica/tuvx/test_tuvx_height_grid.F90
+27 −0 test/test_suites/suite_check_energy.xml
+27 −0 test/valgrind.supp
+152 −0 to_be_ccppized/coords_1d.F90
+1,181 −0 to_be_ccppized/linear_1d_operators.F90
+130 −0 to_be_ccppized/vertical_diffusion_solver.F90

0 comments on commit 041cdfb

Please sign in to comment.