Mark everything in the physics_types
module along with constituents as initialized
to prevent physics from attempting to read them from a file.
(KCW, 2024-05-23)
Type | Visibility | Attributes | Name | Initial | |||
---|---|---|---|---|---|---|---|
integer, | private | :: | i | ||||
character(len=*), | private, | parameter | :: | subname | = | 'dyn_comp::mark_variables_as_initialized' |
subroutine mark_variables_as_initialized() ! Module(s) from CAM-SIMA. use cam_constituents, only: const_name, num_advected use cam_logfile, only: debugout_debug ! Module(s) from CCPP. use phys_vars_init_check, only: mark_as_initialized character(*), parameter :: subname = 'dyn_comp::mark_variables_as_initialized' integer :: i call dyn_debug_print(debugout_debug, subname // ' entered') ! The variables below are managed by dynamics interface. ! We are responsible for initializing and updating them. ! These variables are to be set during dynamics initialization. call mark_as_initialized('flag_for_dycore_energy_consistency_adjustment') call mark_as_initialized('total_energy_formula_for_dycore') ! These variables are to be set during dynamics-physics coupling. call mark_as_initialized('air_pressure') call mark_as_initialized('air_pressure_at_interface') call mark_as_initialized('air_pressure_of_dry_air') call mark_as_initialized('air_pressure_of_dry_air_at_interface') call mark_as_initialized('air_pressure_thickness') call mark_as_initialized('air_pressure_thickness_of_dry_air') call mark_as_initialized('air_temperature') call mark_as_initialized('dry_static_energy') call mark_as_initialized('eastward_wind') call mark_as_initialized('geopotential_height_wrt_surface') call mark_as_initialized('geopotential_height_wrt_surface_at_interface') call mark_as_initialized('lagrangian_tendency_of_air_pressure') call mark_as_initialized('ln_air_pressure') call mark_as_initialized('ln_air_pressure_at_interface') call mark_as_initialized('ln_air_pressure_of_dry_air') call mark_as_initialized('ln_air_pressure_of_dry_air_at_interface') call mark_as_initialized('northward_wind') call mark_as_initialized('reciprocal_of_air_pressure_thickness') call mark_as_initialized('reciprocal_of_air_pressure_thickness_of_dry_air') call mark_as_initialized('reciprocal_of_dimensionless_exner_function_wrt_surface_air_pressure') call mark_as_initialized('specific_heat_of_air_used_in_dycore') call mark_as_initialized('surface_air_pressure') call mark_as_initialized('surface_geopotential') call mark_as_initialized('surface_pressure_of_dry_air') call mark_as_initialized('tendency_of_air_temperature_due_to_model_physics') call mark_as_initialized('tendency_of_eastward_wind_due_to_model_physics') call mark_as_initialized('tendency_of_northward_wind_due_to_model_physics') ! CCPP standard names of constituents. do i = 1, num_advected call mark_as_initialized(trim(adjustl(const_name(i)))) end do ! The variables below are not managed by dynamics interface. They are used by external CCPP physics schemes. ! While we are not responsible for initializing or updating them, we still need to help mark them as initialized. ! These variables are to be set externally by the `check_energy_chng` CCPP physics scheme. call mark_as_initialized('vertically_integrated_total_energy_using_dycore_energy_formula') call mark_as_initialized('vertically_integrated_total_energy_using_dycore_energy_formula_at_end_of_physics_timestep') call mark_as_initialized('vertically_integrated_total_energy_using_dycore_energy_formula_at_start_of_physics_timestep') call mark_as_initialized('vertically_integrated_total_energy_using_physics_energy_formula') call mark_as_initialized('vertically_integrated_total_energy_using_physics_energy_formula_at_start_of_physics_timestep') call mark_as_initialized('vertically_integrated_total_water') call mark_as_initialized('vertically_integrated_total_water_at_start_of_physics_timestep') call dyn_debug_print(debugout_debug, subname // ' completed') end subroutine mark_variables_as_initialized