From ad7f19f688ecc1a02d284b051d004b98b42537a9 Mon Sep 17 00:00:00 2001 From: Dustin Swales Date: Thu, 13 Jun 2024 15:52:19 +0000 Subject: [PATCH 1/8] Host side changes for h2o photochemistry scheme --- ccpp/config/ccpp_prebuild_config.py | 8 ++++++- ccpp/data/GFS_typedefs.F90 | 36 +++++++++++++++++------------ ccpp/data/GFS_typedefs.meta | 20 +++++++++++++++- ccpp/physics | 2 +- ccpp/suites/suite_FV3_GFS_v16.xml | 2 +- 5 files changed, 49 insertions(+), 19 deletions(-) diff --git a/ccpp/config/ccpp_prebuild_config.py b/ccpp/config/ccpp_prebuild_config.py index 976b1d4f6..19e79fa82 100755 --- a/ccpp/config/ccpp_prebuild_config.py +++ b/ccpp/config/ccpp_prebuild_config.py @@ -21,6 +21,7 @@ 'physics/physics/Radiation/RRTMG/radlw_param.f', 'physics/physics/photochem/h2o_def.f', 'physics/physics/photochem/module_ozphys.F90', + 'physics/physics/photochem/module_h2ophys.F90', 'data/CCPP_typedefs.F90', 'data/GFS_typedefs.F90', 'data/CCPP_data.F90', @@ -45,6 +46,10 @@ 'module_ozphys' : '', 'ty_ozphys' : '', }, + 'module_h2ophys' : { + 'module_h2ophys' : '', + 'ty_h2ophys' : '', + }, 'CCPP_typedefs' : { 'GFS_interstitial_type' : 'GFS_Interstitial(cdata%thrd_no)', 'GFDL_interstitial_type' : 'GFDL_interstitial', @@ -86,6 +91,7 @@ 'physics/physics/Interstitials/UFS_SCM_NEPTUNE/GFS_SCNV_generic_post.F90', 'physics/physics/Interstitials/UFS_SCM_NEPTUNE/GFS_debug.F90', 'physics/physics/Interstitials/UFS_SCM_NEPTUNE/GFS_phys_time_vary.fv3.F90', + 'physics/physics/Interstitials/UFS_SCM_NEPTUNE/GFS_photochemistry.F90', 'physics/physics/Interstitials/UFS_SCM_NEPTUNE/GFS_rad_time_vary.fv3.F90', 'physics/physics/Interstitials/UFS_SCM_NEPTUNE/GFS_radiation_surface.F90', 'physics/physics/Interstitials/UFS_SCM_NEPTUNE/GFS_rrtmg_post.F90', @@ -151,7 +157,7 @@ 'physics/physics/GWD/gwdc_post.f', 'physics/physics/GWD/gwdps.f', 'physics/physics/GWD/rayleigh_damp.f', - 'physics/physics/photochem/h2ophys.f', + 'physics/physics/photochem/module_h2ophys.F90', 'physics/physics/photochem/module_ozphys.F90', 'physics/physics/MP/Ferrier_Aligo/mp_fer_hires.F90', 'physics/physics/MP/GFDL/gfdl_cloud_microphys.F90', diff --git a/ccpp/data/GFS_typedefs.F90 b/ccpp/data/GFS_typedefs.F90 index 40c33cfc5..7e621b47f 100644 --- a/ccpp/data/GFS_typedefs.F90 +++ b/ccpp/data/GFS_typedefs.F90 @@ -14,8 +14,8 @@ module GFS_typedefs use module_radsw_parameters, only: topfsw_type, sfcfsw_type use module_radlw_parameters, only: topflw_type, sfcflw_type - use h2o_def, only: levh2o, h2o_coeff use module_ozphys, only: ty_ozphys + use module_h2ophys, only: ty_h2ophys implicit none @@ -1623,7 +1623,11 @@ module GFS_typedefs type(ty_ozphys) :: ozphys !< DDT with data needed by ozone physics integer :: levozp !< Number of vertical layers in ozone forcing data integer :: oz_coeff !< Number of coefficients in ozone forcing data - +!--- NRL h2o photchemistry physics + type(ty_h2ophys) :: h2ophys !< DDT with data needed by h2o photchemistry physics. + integer :: levh2o !< Number of vertical layers in stratospheric h2o data. + integer :: h2o_coeff !< Number of coefficients in stratospheric h2o data. + contains procedure :: init => control_initialize procedure :: init_chemistry => control_chemistry_initialize @@ -3976,6 +3980,9 @@ subroutine control_initialize (Model, nlunit, fn_nml, me, master, & integer :: kozpl = 28 !< File identifier for ozone forcing data integer :: kozc = 48 !< File identifier for ozone climotology data +!--- NRL h2o photochemistry physics + integer :: kh2oc = 29 !< File identifier for h2o photochemistry data. + !--- aerosol scavenging factors integer, parameter :: max_scav_factors = 183 character(len=40) :: fscav_aero(max_scav_factors) = '' @@ -4882,18 +4889,6 @@ subroutine control_initialize (Model, nlunit, fn_nml, me, master, & Model%oz_phys_2015 = oz_phys_2015 Model%h2o_phys = h2o_phys - ! To ensure that these values match what's in the physics, - ! array sizes are compared during model init in GFS_phys_time_vary_init() - ! - ! from module h2ointerp - if (h2o_phys) then - levh2o = 72 - h2o_coeff = 3 - else - levh2o = 1 - h2o_coeff = 1 - end if - Model%pdfcld = pdfcld Model%shcnvcw = shcnvcw Model%redrag = redrag @@ -5603,6 +5598,17 @@ subroutine control_initialize (Model, nlunit, fn_nml, me, master, & err_message = Model%ozphys%load_o3clim('global_o3prdlos.f77',kozc) end if + !--- NRL h2o photochemistry physics. + if (Model%h2o_phys) then + ! Load data for h2o photochemistry physics. + err_message = Model%h2ophys%load('global_h2oprdlos.f77',kh2oc) + Model%levh2o = Model%h2ophys%nlev + Model%h2o_coeff = Model%h2ophys%ncf + else + Model%levh2o = 1 + Model%h2o_coeff = 1 + end if + !--- quantities to be used to derive phy_f*d totals Model%nshoc_2d = nshoc_2d Model%nshoc_3d = nshoc_3d @@ -7139,7 +7145,7 @@ subroutine tbd_create (Tbd, IM, Model) !--- ozone and stratosphere h2o needs allocate (Tbd%ozpl (IM,Model%levozp,Model%oz_coeff)) - allocate (Tbd%h2opl (IM,levh2o,h2o_coeff)) + allocate (Tbd%h2opl (IM,Model%levh2o,Model%h2o_coeff)) Tbd%h2opl = clear_val Tbd%ozpl = clear_val diff --git a/ccpp/data/GFS_typedefs.meta b/ccpp/data/GFS_typedefs.meta index 5ac00e403..7da00252a 100644 --- a/ccpp/data/GFS_typedefs.meta +++ b/ccpp/data/GFS_typedefs.meta @@ -5334,6 +5334,12 @@ units = mixed dimensions = () type = ty_ozphys +[h2ophys] + standard_name = dataset_for_h2o_photochemistry_physics + long_name = dataset for NRL h2o photochemistry physics + units = mixed + dimensions = () + type = ty_h2ophys [h2o_phys] standard_name = flag_for_stratospheric_water_vapor_physics long_name = flag for stratospheric water vapor physics @@ -7011,6 +7017,18 @@ units = count dimensions = () type = integer +[levh2o] + standard_name = vertical_dimension_of_h2o_forcing_data + long_name = number of vertical layers in h2o forcing data + units = count + dimensions = () + type = integer +[h2o_coeff] + standard_name = number_of_coefficients_in_h2o_forcing_data + long_name = number of coefficients in h2o forcing data + units = index + dimensions = () + type = integer [ipt] standard_name = index_of_horizontal_gridpoint_for_debug_output long_name = horizontal index for point used for diagnostic printout @@ -10025,7 +10043,7 @@ relative_path = ../physics/physics/ dependencies = hooks/machine.F,hooks/physcons.F90 dependencies = Radiation/RRTMG/radlw_param.f,Radiation/RRTMG/radsw_param.f - dependencies = photochem/h2o_def.f,photochem/module_ozphys.F90 + dependencies = photochem/module_ozphys.F90,photochem/module_h2ophys.F90 dependencies = MP/GFDL/GFDL_parse_tracers.F90 [ccpp-arg-table] diff --git a/ccpp/physics b/ccpp/physics index 16a1d8817..cf89e99b9 160000 --- a/ccpp/physics +++ b/ccpp/physics @@ -1 +1 @@ -Subproject commit 16a1d881774d795f46db16017aeed7fc351d661a +Subproject commit cf89e99b968ca5e3cfa088788ea7713f32476c53 diff --git a/ccpp/suites/suite_FV3_GFS_v16.xml b/ccpp/suites/suite_FV3_GFS_v16.xml index bc5540ce1..37de8fbc5 100644 --- a/ccpp/suites/suite_FV3_GFS_v16.xml +++ b/ccpp/suites/suite_FV3_GFS_v16.xml @@ -65,7 +65,7 @@ cires_ugwp_post GFS_GWD_generic_post GFS_suite_stateout_update - h2ophys + GFS_photochemistry get_phi_fv3 GFS_suite_interstitial_3 GFS_DCNV_generic_pre From 024d89d1673180576d6afaecd706fea7210fe3be Mon Sep 17 00:00:00 2001 From: Dustin Swales Date: Thu, 13 Jun 2024 16:29:42 +0000 Subject: [PATCH 2/8] Update SDFs --- ccpp/suites/suite_FV3_GFS_v15_thompson_mynn_lam3km.xml | 2 +- ccpp/suites/suite_FV3_GFS_v15p2.xml | 2 +- ccpp/suites/suite_FV3_GFS_v16_csawmg.xml | 2 +- ccpp/suites/suite_FV3_GFS_v16_flake.xml | 2 +- ccpp/suites/suite_FV3_GFS_v16_fv3wam.xml | 2 +- ccpp/suites/suite_FV3_GFS_v16_ras.xml | 2 +- ccpp/suites/suite_FV3_GFS_v17_coupled_p8.xml | 2 +- ccpp/suites/suite_FV3_GFS_v17_coupled_p8_c3.xml | 2 +- ccpp/suites/suite_FV3_GFS_v17_coupled_p8_sfcocn.xml | 2 +- ccpp/suites/suite_FV3_GFS_v17_coupled_p8_ugwpv1.xml | 2 +- ccpp/suites/suite_FV3_GFS_v17_p8.xml | 2 +- ccpp/suites/suite_FV3_GFS_v17_p8_c3.xml | 2 +- ccpp/suites/suite_FV3_GFS_v17_p8_mynn.xml | 2 +- ccpp/suites/suite_FV3_GFS_v17_p8_rrtmgp.xml | 2 +- ccpp/suites/suite_FV3_GFS_v17_p8_ugwpv1.xml | 2 +- ccpp/suites/suite_FV3_HAFS_v1_gfdlmp_tedmf.xml | 2 +- ccpp/suites/suite_FV3_HAFS_v1_gfdlmp_tedmf_nonsst.xml | 2 +- ccpp/suites/suite_FV3_HAFS_v1_thompson.xml | 2 +- ccpp/suites/suite_FV3_HAFS_v1_thompson_nonsst.xml | 2 +- ccpp/suites/suite_FV3_HAFS_v1_thompson_tedmf_gfdlsf.xml | 2 +- ccpp/suites/suite_FV3_HRRR.xml | 2 +- ccpp/suites/suite_FV3_HRRR_c3.xml | 2 +- ccpp/suites/suite_FV3_HRRR_gf.xml | 2 +- ccpp/suites/suite_FV3_HRRR_gf_nogwd.xml | 2 +- ccpp/suites/suite_FV3_RAP.xml | 2 +- ccpp/suites/suite_FV3_RAP_cires_ugwp.xml | 2 +- ccpp/suites/suite_FV3_RAP_clm_lake.xml | 2 +- ccpp/suites/suite_FV3_RAP_flake.xml | 2 +- ccpp/suites/suite_FV3_RAP_noah.xml | 2 +- ccpp/suites/suite_FV3_RAP_noah_sfcdiff_cires_ugwp.xml | 2 +- ccpp/suites/suite_FV3_RAP_sfcdiff.xml | 2 +- ccpp/suites/suite_FV3_RAP_unified_ugwp.xml | 2 +- ccpp/suites/suite_FV3_RRFS_v1beta.xml | 2 +- ccpp/suites/suite_FV3_RRFS_v1nssl.xml | 2 +- ccpp/suites/suite_FV3_WoFS_v0.xml | 2 +- ccpp/suites/suite_FV3_global_nest_v1.xml | 2 +- ccpp/suites/suite_RRFSens_phy1.xml | 2 +- ccpp/suites/suite_RRFSens_phy2.xml | 2 +- ccpp/suites/suite_RRFSens_phy3.xml | 2 +- ccpp/suites/suite_RRFSens_phy4.xml | 2 +- ccpp/suites/suite_RRFSens_phy5.xml | 2 +- 41 files changed, 41 insertions(+), 41 deletions(-) diff --git a/ccpp/suites/suite_FV3_GFS_v15_thompson_mynn_lam3km.xml b/ccpp/suites/suite_FV3_GFS_v15_thompson_mynn_lam3km.xml index 922f7f305..3b93422b5 100644 --- a/ccpp/suites/suite_FV3_GFS_v15_thompson_mynn_lam3km.xml +++ b/ccpp/suites/suite_FV3_GFS_v15_thompson_mynn_lam3km.xml @@ -59,7 +59,7 @@ cires_ugwp_post GFS_GWD_generic_post GFS_suite_stateout_update - h2ophys + GFS_photochemistry get_phi_fv3 GFS_suite_interstitial_3 GFS_suite_interstitial_4 diff --git a/ccpp/suites/suite_FV3_GFS_v15p2.xml b/ccpp/suites/suite_FV3_GFS_v15p2.xml index c164a1c7e..bd7225019 100644 --- a/ccpp/suites/suite_FV3_GFS_v15p2.xml +++ b/ccpp/suites/suite_FV3_GFS_v15p2.xml @@ -65,7 +65,7 @@ cires_ugwp_post GFS_GWD_generic_post GFS_suite_stateout_update - h2ophys + GFS_photochemistry get_phi_fv3 GFS_suite_interstitial_3 GFS_DCNV_generic_pre diff --git a/ccpp/suites/suite_FV3_GFS_v16_csawmg.xml b/ccpp/suites/suite_FV3_GFS_v16_csawmg.xml index 3f972d784..907a0234c 100644 --- a/ccpp/suites/suite_FV3_GFS_v16_csawmg.xml +++ b/ccpp/suites/suite_FV3_GFS_v16_csawmg.xml @@ -60,7 +60,7 @@ cires_ugwp_post GFS_GWD_generic_post GFS_suite_stateout_update - h2ophys + GFS_photochemistry get_phi_fv3 GFS_suite_interstitial_3 GFS_DCNV_generic_pre diff --git a/ccpp/suites/suite_FV3_GFS_v16_flake.xml b/ccpp/suites/suite_FV3_GFS_v16_flake.xml index 4f09779a2..c11b2afdf 100644 --- a/ccpp/suites/suite_FV3_GFS_v16_flake.xml +++ b/ccpp/suites/suite_FV3_GFS_v16_flake.xml @@ -66,7 +66,7 @@ cires_ugwp_post GFS_GWD_generic_post GFS_suite_stateout_update - h2ophys + GFS_photochemistry get_phi_fv3 GFS_suite_interstitial_3 GFS_DCNV_generic_pre diff --git a/ccpp/suites/suite_FV3_GFS_v16_fv3wam.xml b/ccpp/suites/suite_FV3_GFS_v16_fv3wam.xml index 4de8927b1..e10022121 100644 --- a/ccpp/suites/suite_FV3_GFS_v16_fv3wam.xml +++ b/ccpp/suites/suite_FV3_GFS_v16_fv3wam.xml @@ -58,7 +58,7 @@ cires_ugwp_post GFS_GWD_generic_post GFS_suite_stateout_update - h2ophys + GFS_photochemistry get_phi_fv3 GFS_suite_interstitial_3 GFS_DCNV_generic_pre diff --git a/ccpp/suites/suite_FV3_GFS_v16_ras.xml b/ccpp/suites/suite_FV3_GFS_v16_ras.xml index d27a4887c..0545de59a 100644 --- a/ccpp/suites/suite_FV3_GFS_v16_ras.xml +++ b/ccpp/suites/suite_FV3_GFS_v16_ras.xml @@ -65,7 +65,7 @@ cires_ugwp_post GFS_GWD_generic_post GFS_suite_stateout_update - h2ophys + GFS_photochemistry get_phi_fv3 GFS_suite_interstitial_3 GFS_DCNV_generic_pre diff --git a/ccpp/suites/suite_FV3_GFS_v17_coupled_p8.xml b/ccpp/suites/suite_FV3_GFS_v17_coupled_p8.xml index 53007131f..0cf5f40af 100644 --- a/ccpp/suites/suite_FV3_GFS_v17_coupled_p8.xml +++ b/ccpp/suites/suite_FV3_GFS_v17_coupled_p8.xml @@ -61,7 +61,7 @@ unified_ugwp_post GFS_GWD_generic_post GFS_suite_stateout_update - h2ophys + GFS_photochemistry get_phi_fv3 GFS_suite_interstitial_3 GFS_DCNV_generic_pre diff --git a/ccpp/suites/suite_FV3_GFS_v17_coupled_p8_c3.xml b/ccpp/suites/suite_FV3_GFS_v17_coupled_p8_c3.xml index 64200955b..bba0f5b78 100644 --- a/ccpp/suites/suite_FV3_GFS_v17_coupled_p8_c3.xml +++ b/ccpp/suites/suite_FV3_GFS_v17_coupled_p8_c3.xml @@ -61,7 +61,7 @@ unified_ugwp_post GFS_GWD_generic_post GFS_suite_stateout_update - h2ophys + GFS_photochemistry get_phi_fv3 GFS_suite_interstitial_3 GFS_DCNV_generic_pre diff --git a/ccpp/suites/suite_FV3_GFS_v17_coupled_p8_sfcocn.xml b/ccpp/suites/suite_FV3_GFS_v17_coupled_p8_sfcocn.xml index 8b495a18f..3d25ec17b 100644 --- a/ccpp/suites/suite_FV3_GFS_v17_coupled_p8_sfcocn.xml +++ b/ccpp/suites/suite_FV3_GFS_v17_coupled_p8_sfcocn.xml @@ -59,7 +59,7 @@ unified_ugwp_post GFS_GWD_generic_post GFS_suite_stateout_update - h2ophys + GFS_photochemistry get_phi_fv3 GFS_suite_interstitial_3 GFS_DCNV_generic_pre diff --git a/ccpp/suites/suite_FV3_GFS_v17_coupled_p8_ugwpv1.xml b/ccpp/suites/suite_FV3_GFS_v17_coupled_p8_ugwpv1.xml index b63190e65..e7bb03710 100644 --- a/ccpp/suites/suite_FV3_GFS_v17_coupled_p8_ugwpv1.xml +++ b/ccpp/suites/suite_FV3_GFS_v17_coupled_p8_ugwpv1.xml @@ -61,7 +61,7 @@ ugwpv1_gsldrag_post GFS_GWD_generic_post GFS_suite_stateout_update - h2ophys + GFS_photochemistry get_phi_fv3 GFS_suite_interstitial_3 GFS_DCNV_generic_pre diff --git a/ccpp/suites/suite_FV3_GFS_v17_p8.xml b/ccpp/suites/suite_FV3_GFS_v17_p8.xml index e90d0c42b..58f9431a8 100644 --- a/ccpp/suites/suite_FV3_GFS_v17_p8.xml +++ b/ccpp/suites/suite_FV3_GFS_v17_p8.xml @@ -61,7 +61,7 @@ unified_ugwp_post GFS_GWD_generic_post GFS_suite_stateout_update - h2ophys + GFS_photochemistry get_phi_fv3 GFS_suite_interstitial_3 GFS_DCNV_generic_pre diff --git a/ccpp/suites/suite_FV3_GFS_v17_p8_c3.xml b/ccpp/suites/suite_FV3_GFS_v17_p8_c3.xml index e9257a7f3..54258c15e 100644 --- a/ccpp/suites/suite_FV3_GFS_v17_p8_c3.xml +++ b/ccpp/suites/suite_FV3_GFS_v17_p8_c3.xml @@ -62,7 +62,7 @@ unified_ugwp_post GFS_GWD_generic_post GFS_suite_stateout_update - h2ophys + GFS_photochemistry get_phi_fv3 GFS_suite_interstitial_3 GFS_DCNV_generic_pre diff --git a/ccpp/suites/suite_FV3_GFS_v17_p8_mynn.xml b/ccpp/suites/suite_FV3_GFS_v17_p8_mynn.xml index fb7672ac3..e54c3ab06 100644 --- a/ccpp/suites/suite_FV3_GFS_v17_p8_mynn.xml +++ b/ccpp/suites/suite_FV3_GFS_v17_p8_mynn.xml @@ -63,7 +63,7 @@ unified_ugwp_post GFS_GWD_generic_post GFS_suite_stateout_update - h2ophys + GFS_photochemistry get_phi_fv3 GFS_suite_interstitial_3 GFS_DCNV_generic_pre diff --git a/ccpp/suites/suite_FV3_GFS_v17_p8_rrtmgp.xml b/ccpp/suites/suite_FV3_GFS_v17_p8_rrtmgp.xml index 57aa71179..1bbd34def 100644 --- a/ccpp/suites/suite_FV3_GFS_v17_p8_rrtmgp.xml +++ b/ccpp/suites/suite_FV3_GFS_v17_p8_rrtmgp.xml @@ -61,7 +61,7 @@ unified_ugwp_post GFS_GWD_generic_post GFS_suite_stateout_update - h2ophys + GFS_photochemistry get_phi_fv3 GFS_suite_interstitial_3 GFS_DCNV_generic_pre diff --git a/ccpp/suites/suite_FV3_GFS_v17_p8_ugwpv1.xml b/ccpp/suites/suite_FV3_GFS_v17_p8_ugwpv1.xml index 2a5034035..c94396454 100644 --- a/ccpp/suites/suite_FV3_GFS_v17_p8_ugwpv1.xml +++ b/ccpp/suites/suite_FV3_GFS_v17_p8_ugwpv1.xml @@ -60,7 +60,7 @@ ugwpv1_gsldrag_post GFS_GWD_generic_post GFS_suite_stateout_update - h2ophys + GFS_photochemistry get_phi_fv3 GFS_suite_interstitial_3 GFS_DCNV_generic_pre diff --git a/ccpp/suites/suite_FV3_HAFS_v1_gfdlmp_tedmf.xml b/ccpp/suites/suite_FV3_HAFS_v1_gfdlmp_tedmf.xml index 0a08ee576..db918c643 100644 --- a/ccpp/suites/suite_FV3_HAFS_v1_gfdlmp_tedmf.xml +++ b/ccpp/suites/suite_FV3_HAFS_v1_gfdlmp_tedmf.xml @@ -65,7 +65,7 @@ unified_ugwp_post GFS_GWD_generic_post GFS_suite_stateout_update - h2ophys + GFS_photochemistry get_phi_fv3 GFS_suite_interstitial_3 GFS_DCNV_generic_pre diff --git a/ccpp/suites/suite_FV3_HAFS_v1_gfdlmp_tedmf_nonsst.xml b/ccpp/suites/suite_FV3_HAFS_v1_gfdlmp_tedmf_nonsst.xml index 3fc78efad..f2a02001e 100644 --- a/ccpp/suites/suite_FV3_HAFS_v1_gfdlmp_tedmf_nonsst.xml +++ b/ccpp/suites/suite_FV3_HAFS_v1_gfdlmp_tedmf_nonsst.xml @@ -63,7 +63,7 @@ unified_ugwp_post GFS_GWD_generic_post GFS_suite_stateout_update - h2ophys + GFS_photochemistry get_phi_fv3 GFS_suite_interstitial_3 GFS_DCNV_generic_pre diff --git a/ccpp/suites/suite_FV3_HAFS_v1_thompson.xml b/ccpp/suites/suite_FV3_HAFS_v1_thompson.xml index 0e9dc6e5f..6a043e897 100644 --- a/ccpp/suites/suite_FV3_HAFS_v1_thompson.xml +++ b/ccpp/suites/suite_FV3_HAFS_v1_thompson.xml @@ -60,7 +60,7 @@ unified_ugwp_post GFS_GWD_generic_post GFS_suite_stateout_update - h2ophys + GFS_photochemistry get_phi_fv3 GFS_suite_interstitial_3 GFS_DCNV_generic_pre diff --git a/ccpp/suites/suite_FV3_HAFS_v1_thompson_nonsst.xml b/ccpp/suites/suite_FV3_HAFS_v1_thompson_nonsst.xml index fe83ee91d..5408b3898 100644 --- a/ccpp/suites/suite_FV3_HAFS_v1_thompson_nonsst.xml +++ b/ccpp/suites/suite_FV3_HAFS_v1_thompson_nonsst.xml @@ -58,7 +58,7 @@ unified_ugwp_post GFS_GWD_generic_post GFS_suite_stateout_update - h2ophys + GFS_photochemistry get_phi_fv3 GFS_suite_interstitial_3 GFS_DCNV_generic_pre diff --git a/ccpp/suites/suite_FV3_HAFS_v1_thompson_tedmf_gfdlsf.xml b/ccpp/suites/suite_FV3_HAFS_v1_thompson_tedmf_gfdlsf.xml index 70018e7cc..6283e3a3f 100644 --- a/ccpp/suites/suite_FV3_HAFS_v1_thompson_tedmf_gfdlsf.xml +++ b/ccpp/suites/suite_FV3_HAFS_v1_thompson_tedmf_gfdlsf.xml @@ -60,7 +60,7 @@ unified_ugwp_post GFS_GWD_generic_post GFS_suite_stateout_update - h2ophys + GFS_photochemistry get_phi_fv3 GFS_suite_interstitial_3 GFS_DCNV_generic_pre diff --git a/ccpp/suites/suite_FV3_HRRR.xml b/ccpp/suites/suite_FV3_HRRR.xml index 2177dc078..fabe94665 100644 --- a/ccpp/suites/suite_FV3_HRRR.xml +++ b/ccpp/suites/suite_FV3_HRRR.xml @@ -58,7 +58,7 @@ drag_suite GFS_GWD_generic_post GFS_suite_stateout_update - h2ophys + GFS_photochemistry get_phi_fv3 GFS_suite_interstitial_3 GFS_suite_interstitial_4 diff --git a/ccpp/suites/suite_FV3_HRRR_c3.xml b/ccpp/suites/suite_FV3_HRRR_c3.xml index e3ad50a8a..c0f3ec1f5 100644 --- a/ccpp/suites/suite_FV3_HRRR_c3.xml +++ b/ccpp/suites/suite_FV3_HRRR_c3.xml @@ -58,7 +58,7 @@ drag_suite GFS_GWD_generic_post GFS_suite_stateout_update - h2ophys + GFS_photochemistry get_phi_fv3 GFS_suite_interstitial_3 GFS_DCNV_generic_pre diff --git a/ccpp/suites/suite_FV3_HRRR_gf.xml b/ccpp/suites/suite_FV3_HRRR_gf.xml index 48260ce9f..f3f227106 100644 --- a/ccpp/suites/suite_FV3_HRRR_gf.xml +++ b/ccpp/suites/suite_FV3_HRRR_gf.xml @@ -58,7 +58,7 @@ drag_suite GFS_GWD_generic_post GFS_suite_stateout_update - h2ophys + GFS_photochemistry get_phi_fv3 GFS_suite_interstitial_3 GFS_DCNV_generic_pre diff --git a/ccpp/suites/suite_FV3_HRRR_gf_nogwd.xml b/ccpp/suites/suite_FV3_HRRR_gf_nogwd.xml index 0f0022d1c..6b01cbd79 100644 --- a/ccpp/suites/suite_FV3_HRRR_gf_nogwd.xml +++ b/ccpp/suites/suite_FV3_HRRR_gf_nogwd.xml @@ -55,7 +55,7 @@ mynnedmf_wrapper rrfs_smoke_postpbl GFS_suite_stateout_update - h2ophys + GFS_photochemistry get_phi_fv3 GFS_suite_interstitial_3 GFS_DCNV_generic_pre diff --git a/ccpp/suites/suite_FV3_RAP.xml b/ccpp/suites/suite_FV3_RAP.xml index b5a2117f6..c2243e3fa 100644 --- a/ccpp/suites/suite_FV3_RAP.xml +++ b/ccpp/suites/suite_FV3_RAP.xml @@ -58,7 +58,7 @@ drag_suite GFS_GWD_generic_post GFS_suite_stateout_update - h2ophys + GFS_photochemistry get_phi_fv3 GFS_suite_interstitial_3 GFS_DCNV_generic_pre diff --git a/ccpp/suites/suite_FV3_RAP_cires_ugwp.xml b/ccpp/suites/suite_FV3_RAP_cires_ugwp.xml index e6294028c..7760b059c 100644 --- a/ccpp/suites/suite_FV3_RAP_cires_ugwp.xml +++ b/ccpp/suites/suite_FV3_RAP_cires_ugwp.xml @@ -59,7 +59,7 @@ cires_ugwp_post GFS_GWD_generic_post GFS_suite_stateout_update - h2ophys + GFS_photochemistry get_phi_fv3 GFS_suite_interstitial_3 GFS_DCNV_generic_pre diff --git a/ccpp/suites/suite_FV3_RAP_clm_lake.xml b/ccpp/suites/suite_FV3_RAP_clm_lake.xml index e7fef4461..d794cd74a 100644 --- a/ccpp/suites/suite_FV3_RAP_clm_lake.xml +++ b/ccpp/suites/suite_FV3_RAP_clm_lake.xml @@ -59,7 +59,7 @@ drag_suite GFS_GWD_generic_post GFS_suite_stateout_update - h2ophys + GFS_photochemistry get_phi_fv3 GFS_suite_interstitial_3 GFS_DCNV_generic_pre diff --git a/ccpp/suites/suite_FV3_RAP_flake.xml b/ccpp/suites/suite_FV3_RAP_flake.xml index 3239355fa..652071989 100644 --- a/ccpp/suites/suite_FV3_RAP_flake.xml +++ b/ccpp/suites/suite_FV3_RAP_flake.xml @@ -59,7 +59,7 @@ drag_suite GFS_GWD_generic_post GFS_suite_stateout_update - h2ophys + GFS_photochemistry get_phi_fv3 GFS_suite_interstitial_3 GFS_DCNV_generic_pre diff --git a/ccpp/suites/suite_FV3_RAP_noah.xml b/ccpp/suites/suite_FV3_RAP_noah.xml index 80a515356..7311eb989 100644 --- a/ccpp/suites/suite_FV3_RAP_noah.xml +++ b/ccpp/suites/suite_FV3_RAP_noah.xml @@ -59,7 +59,7 @@ drag_suite GFS_GWD_generic_post GFS_suite_stateout_update - h2ophys + GFS_photochemistry get_phi_fv3 GFS_suite_interstitial_3 GFS_DCNV_generic_pre diff --git a/ccpp/suites/suite_FV3_RAP_noah_sfcdiff_cires_ugwp.xml b/ccpp/suites/suite_FV3_RAP_noah_sfcdiff_cires_ugwp.xml index 2d6d0377b..229ebc08f 100644 --- a/ccpp/suites/suite_FV3_RAP_noah_sfcdiff_cires_ugwp.xml +++ b/ccpp/suites/suite_FV3_RAP_noah_sfcdiff_cires_ugwp.xml @@ -60,7 +60,7 @@ cires_ugwp_post GFS_GWD_generic_post GFS_suite_stateout_update - h2ophys + GFS_photochemistry get_phi_fv3 GFS_suite_interstitial_3 GFS_DCNV_generic_pre diff --git a/ccpp/suites/suite_FV3_RAP_sfcdiff.xml b/ccpp/suites/suite_FV3_RAP_sfcdiff.xml index 23bbf1f54..7c2908a25 100644 --- a/ccpp/suites/suite_FV3_RAP_sfcdiff.xml +++ b/ccpp/suites/suite_FV3_RAP_sfcdiff.xml @@ -58,7 +58,7 @@ drag_suite GFS_GWD_generic_post GFS_suite_stateout_update - h2ophys + GFS_photochemistry get_phi_fv3 GFS_suite_interstitial_3 GFS_DCNV_generic_pre diff --git a/ccpp/suites/suite_FV3_RAP_unified_ugwp.xml b/ccpp/suites/suite_FV3_RAP_unified_ugwp.xml index 509ffea89..6913b8e4a 100644 --- a/ccpp/suites/suite_FV3_RAP_unified_ugwp.xml +++ b/ccpp/suites/suite_FV3_RAP_unified_ugwp.xml @@ -59,7 +59,7 @@ unified_ugwp_post GFS_GWD_generic_post GFS_suite_stateout_update - h2ophys + GFS_photochemistry get_phi_fv3 GFS_suite_interstitial_3 GFS_DCNV_generic_pre diff --git a/ccpp/suites/suite_FV3_RRFS_v1beta.xml b/ccpp/suites/suite_FV3_RRFS_v1beta.xml index 90165d880..01589e271 100644 --- a/ccpp/suites/suite_FV3_RRFS_v1beta.xml +++ b/ccpp/suites/suite_FV3_RRFS_v1beta.xml @@ -60,7 +60,7 @@ cires_ugwp_post GFS_GWD_generic_post GFS_suite_stateout_update - h2ophys + GFS_photochemistry get_phi_fv3 GFS_suite_interstitial_3 GFS_suite_interstitial_4 diff --git a/ccpp/suites/suite_FV3_RRFS_v1nssl.xml b/ccpp/suites/suite_FV3_RRFS_v1nssl.xml index e24d2c6f2..107254b18 100644 --- a/ccpp/suites/suite_FV3_RRFS_v1nssl.xml +++ b/ccpp/suites/suite_FV3_RRFS_v1nssl.xml @@ -60,7 +60,7 @@ cires_ugwp_post GFS_GWD_generic_post GFS_suite_stateout_update - h2ophys + GFS_photochemistry get_phi_fv3 GFS_MP_generic_pre mp_nssl diff --git a/ccpp/suites/suite_FV3_WoFS_v0.xml b/ccpp/suites/suite_FV3_WoFS_v0.xml index 140ba9023..6e68a9773 100644 --- a/ccpp/suites/suite_FV3_WoFS_v0.xml +++ b/ccpp/suites/suite_FV3_WoFS_v0.xml @@ -60,7 +60,7 @@ cires_ugwp_post GFS_GWD_generic_post GFS_suite_stateout_update - h2ophys + GFS_photochemistry get_phi_fv3 GFS_MP_generic_pre mp_nssl diff --git a/ccpp/suites/suite_FV3_global_nest_v1.xml b/ccpp/suites/suite_FV3_global_nest_v1.xml index 6f55e56f7..79ef5545f 100644 --- a/ccpp/suites/suite_FV3_global_nest_v1.xml +++ b/ccpp/suites/suite_FV3_global_nest_v1.xml @@ -60,7 +60,7 @@ ugwpv1_gsldrag_post GFS_GWD_generic_post GFS_suite_stateout_update - h2ophys + GFS_photochemistry get_phi_fv3 GFS_suite_interstitial_3 GFS_DCNV_generic_pre diff --git a/ccpp/suites/suite_RRFSens_phy1.xml b/ccpp/suites/suite_RRFSens_phy1.xml index f0de1ebf4..b7d007843 100644 --- a/ccpp/suites/suite_RRFSens_phy1.xml +++ b/ccpp/suites/suite_RRFSens_phy1.xml @@ -57,7 +57,7 @@ drag_suite GFS_GWD_generic_post GFS_suite_stateout_update - h2ophys + GFS_photochemistry get_phi_fv3 GFS_suite_interstitial_3 GFS_DCNV_generic_pre diff --git a/ccpp/suites/suite_RRFSens_phy2.xml b/ccpp/suites/suite_RRFSens_phy2.xml index 44cafb249..e2f730833 100644 --- a/ccpp/suites/suite_RRFSens_phy2.xml +++ b/ccpp/suites/suite_RRFSens_phy2.xml @@ -56,7 +56,7 @@ drag_suite GFS_GWD_generic_post GFS_suite_stateout_update - h2ophys + GFS_photochemistry get_phi_fv3 GFS_suite_interstitial_3 GFS_DCNV_generic_pre diff --git a/ccpp/suites/suite_RRFSens_phy3.xml b/ccpp/suites/suite_RRFSens_phy3.xml index da442619d..470f5d15d 100644 --- a/ccpp/suites/suite_RRFSens_phy3.xml +++ b/ccpp/suites/suite_RRFSens_phy3.xml @@ -56,7 +56,7 @@ drag_suite GFS_GWD_generic_post GFS_suite_stateout_update - h2ophys + GFS_photochemistry get_phi_fv3 GFS_suite_interstitial_3 GFS_DCNV_generic_pre diff --git a/ccpp/suites/suite_RRFSens_phy4.xml b/ccpp/suites/suite_RRFSens_phy4.xml index 74a1e8972..5b07083b9 100644 --- a/ccpp/suites/suite_RRFSens_phy4.xml +++ b/ccpp/suites/suite_RRFSens_phy4.xml @@ -57,7 +57,7 @@ drag_suite GFS_GWD_generic_post GFS_suite_stateout_update - h2ophys + GFS_photochemistry get_phi_fv3 GFS_suite_interstitial_3 GFS_DCNV_generic_pre diff --git a/ccpp/suites/suite_RRFSens_phy5.xml b/ccpp/suites/suite_RRFSens_phy5.xml index 0321e64e9..c06338056 100644 --- a/ccpp/suites/suite_RRFSens_phy5.xml +++ b/ccpp/suites/suite_RRFSens_phy5.xml @@ -56,7 +56,7 @@ drag_suite GFS_GWD_generic_post GFS_suite_stateout_update - h2ophys + GFS_photochemistry get_phi_fv3 GFS_suite_interstitial_3 GFS_DCNV_generic_pre From aa3c0042c3d50bc61479b95b3cfaef44124ca5c4 Mon Sep 17 00:00:00 2001 From: Dustin Swales Date: Thu, 13 Jun 2024 16:46:38 +0000 Subject: [PATCH 3/8] Fix in ccpp prebuild config --- ccpp/config/ccpp_prebuild_config.py | 1 - 1 file changed, 1 deletion(-) diff --git a/ccpp/config/ccpp_prebuild_config.py b/ccpp/config/ccpp_prebuild_config.py index 19e79fa82..c62d63ac4 100755 --- a/ccpp/config/ccpp_prebuild_config.py +++ b/ccpp/config/ccpp_prebuild_config.py @@ -19,7 +19,6 @@ 'physics/physics/hooks/machine.F', 'physics/physics/Radiation/RRTMG/radsw_param.f', 'physics/physics/Radiation/RRTMG/radlw_param.f', - 'physics/physics/photochem/h2o_def.f', 'physics/physics/photochem/module_ozphys.F90', 'physics/physics/photochem/module_h2ophys.F90', 'data/CCPP_typedefs.F90', From b6b26fc2c9330747406484787f6e5c0533491e40 Mon Sep 17 00:00:00 2001 From: Dustin Swales Date: Thu, 13 Jun 2024 16:47:39 +0000 Subject: [PATCH 4/8] Update .gitmodules --- .gitmodules | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.gitmodules b/.gitmodules index 22c723ac1..e1db3a025 100644 --- a/.gitmodules +++ b/.gitmodules @@ -8,8 +8,8 @@ branch = main [submodule "ccpp/physics"] path = ccpp/physics - url = https://github.com/ufs-community/ccpp-physics - branch = ufs/dev + url = https://github.com/dustinswales/ccpp-physics + branch = feature/refactor_h2ophys [submodule "upp"] path = upp url = https://github.com/NOAA-EMC/UPP From e22228e1d4d85951ddd5077c5077f0aec19894b1 Mon Sep 17 00:00:00 2001 From: Dustin Swales Date: Thu, 13 Jun 2024 17:46:05 +0000 Subject: [PATCH 5/8] Update physics --- ccpp/physics | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ccpp/physics b/ccpp/physics index cf89e99b9..a446feceb 160000 --- a/ccpp/physics +++ b/ccpp/physics @@ -1 +1 @@ -Subproject commit cf89e99b968ca5e3cfa088788ea7713f32476c53 +Subproject commit a446feceba9d6301684195791da0b0b2332fcbb7 From f37e2606e397c926e2c9f26b959f977ef9513662 Mon Sep 17 00:00:00 2001 From: Dustin Swales Date: Fri, 14 Jun 2024 20:20:31 +0000 Subject: [PATCH 6/8] Now B4B Identical --- ccpp/physics | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ccpp/physics b/ccpp/physics index a446feceb..99c02ef54 160000 --- a/ccpp/physics +++ b/ccpp/physics @@ -1 +1 @@ -Subproject commit a446feceba9d6301684195791da0b0b2332fcbb7 +Subproject commit 99c02ef5490a4f5367dea92ea51dcbf1fad583a0 From 19890d554dbe4bbfd9741042de581b3ea01850a0 Mon Sep 17 00:00:00 2001 From: Dustin Swales Date: Mon, 15 Jul 2024 20:04:47 +0000 Subject: [PATCH 7/8] Address reviewers comments --- ccpp/data/GFS_typedefs.F90 | 2 ++ ccpp/data/GFS_typedefs.meta | 5 +++++ ccpp/physics | 2 +- 3 files changed, 8 insertions(+), 1 deletion(-) diff --git a/ccpp/data/GFS_typedefs.F90 b/ccpp/data/GFS_typedefs.F90 index 7e621b47f..29467ce6f 100644 --- a/ccpp/data/GFS_typedefs.F90 +++ b/ccpp/data/GFS_typedefs.F90 @@ -1015,6 +1015,7 @@ module GFS_typedefs real(kind=kind_phys) :: dt_inner !< time step for the inner loop in s logical :: sedi_semi !< flag for semi Lagrangian sedi of rain integer :: decfl !< deformed CFL factor + logical :: thpsnmp_is_init !< Local scheme initialization flag !--- GFDL microphysical paramters logical :: lgfdlmprad !< flag for GFDL mp scheme and radiation consistency @@ -3555,6 +3556,7 @@ subroutine control_initialize (Model, nlunit, fn_nml, me, master, & real(kind=kind_phys) :: dt_inner = -999.0 !< time step for the inner loop logical :: sedi_semi = .false. !< flag for semi Lagrangian sedi of rain integer :: decfl = 8 !< deformed CFL factor + logical :: thpsnmp_is_init = .false. !< Local scheme initialization flag !--- GFDL microphysical parameters logical :: lgfdlmprad = .false. !< flag for GFDLMP radiation interaction diff --git a/ccpp/data/GFS_typedefs.meta b/ccpp/data/GFS_typedefs.meta index 7da00252a..de46f85d1 100644 --- a/ccpp/data/GFS_typedefs.meta +++ b/ccpp/data/GFS_typedefs.meta @@ -4821,6 +4821,11 @@ units = count dimensions = () type = integer +[thpsnmp_is_init] + standard_name = flag_for_thompson_mp_scheme_initialization + long_name = flag carrying scheme initialization status + units = flag + type = logical [lgfdlmprad] standard_name = flag_for_GFDL_microphysics_radiation_interaction long_name = flag for GFDL microphysics-radiation interaction diff --git a/ccpp/physics b/ccpp/physics index 99c02ef54..420317e6b 160000 --- a/ccpp/physics +++ b/ccpp/physics @@ -1 +1 @@ -Subproject commit 99c02ef5490a4f5367dea92ea51dcbf1fad583a0 +Subproject commit 420317e6b8e4adb57c68b1ea9381d1a15f4cc86f From c65928c882bff2c151668733b51657db6a66fe7e Mon Sep 17 00:00:00 2001 From: Dustin Swales Date: Fri, 23 Aug 2024 15:52:34 +0000 Subject: [PATCH 8/8] Omission from previous commit --- ccpp/data/GFS_typedefs.meta | 1 + ccpp/physics | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/ccpp/data/GFS_typedefs.meta b/ccpp/data/GFS_typedefs.meta index 49cdf767a..72e065540 100644 --- a/ccpp/data/GFS_typedefs.meta +++ b/ccpp/data/GFS_typedefs.meta @@ -4825,6 +4825,7 @@ standard_name = flag_for_thompson_mp_scheme_initialization long_name = flag carrying scheme initialization status units = flag + dimensions = () type = logical [lgfdlmprad] standard_name = flag_for_GFDL_microphysics_radiation_interaction diff --git a/ccpp/physics b/ccpp/physics index 420317e6b..2e3bf1f56 160000 --- a/ccpp/physics +++ b/ccpp/physics @@ -1 +1 @@ -Subproject commit 420317e6b8e4adb57c68b1ea9381d1a15f4cc86f +Subproject commit 2e3bf1f5672501c13b143ed1b23120bd10537305