From 94b3ee0b1d465aa8fd4b06d89ee700ee839113cc Mon Sep 17 00:00:00 2001 From: Dom Heinzeller Date: Tue, 19 May 2020 20:59:32 -0600 Subject: [PATCH 1/7] ccpp/config/ccpp_prebuild_config.py: remove pset logic and unused GFS_suite_init_finalize_test scheme --- ccpp/config/ccpp_prebuild_config.py | 216 ++++++++++++++-------------- 1 file changed, 107 insertions(+), 109 deletions(-) diff --git a/ccpp/config/ccpp_prebuild_config.py b/ccpp/config/ccpp_prebuild_config.py index 0e2f44572..ed316818b 100755 --- a/ccpp/config/ccpp_prebuild_config.py +++ b/ccpp/config/ccpp_prebuild_config.py @@ -204,119 +204,117 @@ ] # Add all physics scheme files relative to basedir -SCHEME_FILES = { +SCHEME_FILES = [ # Relative path to source (from where ccpp_prebuild.py is called) : [ list of physics sets in which scheme may be called ]; # current restrictions are that each scheme can only belong to one physics set, and all schemes within one group in the # suite definition file have to belong to the same physics set - 'FV3/ccpp/physics/physics/GFS_DCNV_generic.F90' : [ 'slow_physics' ], - 'FV3/ccpp/physics/physics/GFS_GWD_generic.F90' : [ 'slow_physics' ], - 'FV3/ccpp/physics/physics/GFS_MP_generic.F90' : [ 'slow_physics' ], - 'FV3/ccpp/physics/physics/GFS_PBL_generic.F90' : [ 'slow_physics' ], - 'FV3/ccpp/physics/physics/GFS_SCNV_generic.F90' : [ 'slow_physics' ], - 'FV3/ccpp/physics/physics/GFS_debug.F90' : [ 'slow_physics' ], - 'FV3/ccpp/physics/physics/GFS_phys_time_vary.fv3.F90' : [ 'slow_physics' ], - 'FV3/ccpp/physics/physics/GFS_rad_time_vary.fv3.F90' : [ 'slow_physics' ], - 'FV3/ccpp/physics/physics/GFS_rrtmg_post.F90' : [ 'slow_physics' ], - 'FV3/ccpp/physics/physics/GFS_rrtmg_pre.F90' : [ 'slow_physics' ], - 'FV3/ccpp/physics/physics/GFS_rrtmg_setup.F90' : [ 'slow_physics' ], - 'FV3/ccpp/physics/physics/GFS_stochastics.F90' : [ 'slow_physics' ], - 'FV3/ccpp/physics/physics/GFS_suite_interstitial.F90' : [ 'slow_physics' ], - 'FV3/ccpp/physics/physics/GFS_surface_generic.F90' : [ 'slow_physics' ], - 'FV3/ccpp/physics/physics/GFS_surface_composites.F90' : [ 'slow_physics' ], - 'FV3/ccpp/physics/physics/GFS_surface_loop_control.F90' : [ 'slow_physics' ], - 'FV3/ccpp/physics/physics/GFS_time_vary_pre.fv3.F90' : [ 'slow_physics' ], - 'FV3/ccpp/physics/physics/cires_ugwp.F90' : [ 'slow_physics' ], - 'FV3/ccpp/physics/physics/cires_ugwp_post.F90' : [ 'slow_physics' ], - 'FV3/ccpp/physics/physics/cnvc90.f' : [ 'slow_physics' ], - 'FV3/ccpp/physics/physics/cs_conv.F90' : [ 'slow_physics' ], - 'FV3/ccpp/physics/physics/cs_conv_aw_adj.F90' : [ 'slow_physics' ], - 'FV3/ccpp/physics/physics/cu_ntiedtke_pre.F90' : [ 'slow_physics' ], - 'FV3/ccpp/physics/physics/cu_ntiedtke.F90' : [ 'slow_physics' ], - 'FV3/ccpp/physics/physics/cu_ntiedtke_post.F90' : [ 'slow_physics' ], - 'FV3/ccpp/physics/physics/dcyc2.f' : [ 'slow_physics' ], - 'FV3/ccpp/physics/physics/drag_suite.F90' : [ 'slow_physics' ], - 'FV3/ccpp/physics/physics/gcm_shoc.F90' : [ 'slow_physics' ], - 'FV3/ccpp/physics/physics/get_prs_fv3.F90' : [ 'slow_physics' ], - 'FV3/ccpp/physics/physics/gfdl_cloud_microphys.F90' : [ 'slow_physics' ], - 'FV3/ccpp/physics/physics/gfdl_fv_sat_adj.F90' : [ 'fast_physics' ], - 'FV3/ccpp/physics/physics/gscond.f' : [ 'slow_physics' ], - 'FV3/ccpp/physics/physics/gwdc.f' : [ 'slow_physics' ], - 'FV3/ccpp/physics/physics/gwdps.f' : [ 'slow_physics' ], - 'FV3/ccpp/physics/physics/h2ophys.f' : [ 'slow_physics' ], - 'FV3/ccpp/physics/physics/samfdeepcnv.f' : [ 'slow_physics' ], - 'FV3/ccpp/physics/physics/samfshalcnv.f' : [ 'slow_physics' ], - 'FV3/ccpp/physics/physics/sascnvn.F' : [ 'slow_physics' ], - 'FV3/ccpp/physics/physics/shalcnv.F' : [ 'slow_physics' ], - 'FV3/ccpp/physics/physics/maximum_hourly_diagnostics.F90' : [ 'slow_physics' ], - 'FV3/ccpp/physics/physics/m_micro.F90' : [ 'slow_physics' ], - 'FV3/ccpp/physics/physics/m_micro_interstitial.F90' : [ 'slow_physics' ], - 'FV3/ccpp/physics/physics/cu_gf_driver_pre.F90' : [ 'slow_physics' ], - 'FV3/ccpp/physics/physics/cu_gf_driver.F90' : [ 'slow_physics' ], - 'FV3/ccpp/physics/physics/cu_gf_driver_post.F90' : [ 'slow_physics' ], - 'FV3/ccpp/physics/physics/moninedmf.f' : [ 'slow_physics' ], - 'FV3/ccpp/physics/physics/moninedmf_hafs.f' : [ 'slow_physics' ], - 'FV3/ccpp/physics/physics/moninshoc.f' : [ 'slow_physics' ], - 'FV3/ccpp/physics/physics/satmedmfvdif.F' : [ 'slow_physics' ], - 'FV3/ccpp/physics/physics/satmedmfvdifq.F' : [ 'slow_physics' ], - 'FV3/ccpp/physics/physics/shinhongvdif.F90' : [ 'slow_physics' ], - 'FV3/ccpp/physics/physics/ysuvdif.F90' : [ 'slow_physics' ], - 'FV3/ccpp/physics/physics/module_MYNNPBL_wrapper.F90' : [ 'slow_physics' ], - 'FV3/ccpp/physics/physics/module_MYNNSFC_wrapper.F90' : [ 'slow_physics' ], - 'FV3/ccpp/physics/physics/module_SGSCloud_RadPre.F90' : [ 'slow_physics' ], - 'FV3/ccpp/physics/physics/module_SGSCloud_RadPost.F90' : [ 'slow_physics' ], - 'FV3/ccpp/physics/physics/module_MYJSFC_wrapper.F90' : [ 'slow_physics' ], - 'FV3/ccpp/physics/physics/module_MYJPBL_wrapper.F90' : [ 'slow_physics' ], - 'FV3/ccpp/physics/physics/mp_thompson_pre.F90' : [ 'slow_physics' ], - 'FV3/ccpp/physics/physics/mp_thompson.F90' : [ 'slow_physics' ], - 'FV3/ccpp/physics/physics/mp_thompson_post.F90' : [ 'slow_physics' ], - 'FV3/ccpp/physics/physics/ozphys.f' : [ 'slow_physics' ], - 'FV3/ccpp/physics/physics/ozphys_2015.f' : [ 'slow_physics' ], - 'FV3/ccpp/physics/physics/precpd.f' : [ 'slow_physics' ], - 'FV3/ccpp/physics/physics/phys_tend.F90' : [ 'slow_physics' ], - 'FV3/ccpp/physics/physics/radlw_main.f' : [ 'slow_physics' ], - 'FV3/ccpp/physics/physics/radsw_main.f' : [ 'slow_physics' ], - 'FV3/ccpp/physics/physics/rascnv.F90' : [ 'slow_physics' ], - 'FV3/ccpp/physics/physics/rayleigh_damp.f' : [ 'slow_physics' ], - 'FV3/ccpp/physics/physics/rrtmg_lw_post.F90' : [ 'slow_physics' ], - 'FV3/ccpp/physics/physics/rrtmg_lw_pre.F90' : [ 'slow_physics' ], - 'FV3/ccpp/physics/physics/rrtmg_sw_post.F90' : [ 'slow_physics' ], - 'FV3/ccpp/physics/physics/rrtmg_sw_pre.F90' : [ 'slow_physics' ], - 'FV3/ccpp/physics/physics/sfc_diag.f' : [ 'slow_physics' ], - 'FV3/ccpp/physics/physics/sfc_diag_post.F90' : [ 'slow_physics' ], - 'FV3/ccpp/physics/physics/sfc_drv_ruc.F90' : [ 'slow_physics' ], - 'FV3/ccpp/physics/physics/lsm_ruc_sfc_sice_interstitial.F90' : [ 'slow_physics' ], - 'FV3/ccpp/physics/physics/sfc_cice.f' : [ 'slow_physics' ], - 'FV3/ccpp/physics/physics/sfc_diff.f' : [ 'slow_physics' ], - 'FV3/ccpp/physics/physics/sfc_drv.f' : [ 'slow_physics' ], - 'FV3/ccpp/physics/physics/sfc_noahmp_drv.f' : [ 'slow_physics' ], - 'FV3/ccpp/physics/physics/sfc_nst.f' : [ 'slow_physics' ], - 'FV3/ccpp/physics/physics/sfc_ocean.F' : [ 'slow_physics' ], - 'FV3/ccpp/physics/physics/sfc_sice.f' : [ 'slow_physics' ], - # HAFS FER_HIRES - 'FV3/ccpp/physics/physics/mp_fer_hires.F90' : [ 'slow_physics' ], - # for testing the and sections - 'FV3/ccpp/physics/physics/GFS_suite_init_finalize_test.F90' : [ 'slow_physics' ], + 'FV3/ccpp/physics/physics/GFS_DCNV_generic.F90', + 'FV3/ccpp/physics/physics/GFS_GWD_generic.F90', + 'FV3/ccpp/physics/physics/GFS_MP_generic.F90', + 'FV3/ccpp/physics/physics/GFS_PBL_generic.F90', + 'FV3/ccpp/physics/physics/GFS_SCNV_generic.F90', + 'FV3/ccpp/physics/physics/GFS_debug.F90', + 'FV3/ccpp/physics/physics/GFS_phys_time_vary.fv3.F90', + 'FV3/ccpp/physics/physics/GFS_rad_time_vary.fv3.F90', + 'FV3/ccpp/physics/physics/GFS_rrtmg_post.F90', + 'FV3/ccpp/physics/physics/GFS_rrtmg_pre.F90', + 'FV3/ccpp/physics/physics/GFS_rrtmg_setup.F90', + 'FV3/ccpp/physics/physics/GFS_stochastics.F90', + 'FV3/ccpp/physics/physics/GFS_suite_interstitial.F90', + 'FV3/ccpp/physics/physics/GFS_surface_generic.F90', + 'FV3/ccpp/physics/physics/GFS_surface_composites.F90', + 'FV3/ccpp/physics/physics/GFS_surface_loop_control.F90', + 'FV3/ccpp/physics/physics/GFS_time_vary_pre.fv3.F90', + 'FV3/ccpp/physics/physics/cires_ugwp.F90', + 'FV3/ccpp/physics/physics/cires_ugwp_post.F90', + 'FV3/ccpp/physics/physics/cnvc90.f', + 'FV3/ccpp/physics/physics/cs_conv.F90', + 'FV3/ccpp/physics/physics/cs_conv_aw_adj.F90', + 'FV3/ccpp/physics/physics/cu_ntiedtke_pre.F90', + 'FV3/ccpp/physics/physics/cu_ntiedtke.F90', + 'FV3/ccpp/physics/physics/cu_ntiedtke_post.F90', + 'FV3/ccpp/physics/physics/dcyc2.f', + 'FV3/ccpp/physics/physics/drag_suite.F90', + 'FV3/ccpp/physics/physics/gcm_shoc.F90', + 'FV3/ccpp/physics/physics/get_prs_fv3.F90', + 'FV3/ccpp/physics/physics/gfdl_cloud_microphys.F90', + 'FV3/ccpp/physics/physics/gfdl_fv_sat_adj.F90', + 'FV3/ccpp/physics/physics/gscond.f', + 'FV3/ccpp/physics/physics/gwdc.f', + 'FV3/ccpp/physics/physics/gwdps.f', + 'FV3/ccpp/physics/physics/h2ophys.f', + 'FV3/ccpp/physics/physics/samfdeepcnv.f', + 'FV3/ccpp/physics/physics/samfshalcnv.f', + 'FV3/ccpp/physics/physics/sascnvn.F', + 'FV3/ccpp/physics/physics/shalcnv.F', + 'FV3/ccpp/physics/physics/maximum_hourly_diagnostics.F90', + 'FV3/ccpp/physics/physics/m_micro.F90', + 'FV3/ccpp/physics/physics/m_micro_interstitial.F90', + 'FV3/ccpp/physics/physics/cu_gf_driver_pre.F90', + 'FV3/ccpp/physics/physics/cu_gf_driver.F90', + 'FV3/ccpp/physics/physics/cu_gf_driver_post.F90', + 'FV3/ccpp/physics/physics/moninedmf.f', + 'FV3/ccpp/physics/physics/moninedmf_hafs.f', + 'FV3/ccpp/physics/physics/moninshoc.f', + 'FV3/ccpp/physics/physics/satmedmfvdif.F', + 'FV3/ccpp/physics/physics/satmedmfvdifq.F', + 'FV3/ccpp/physics/physics/shinhongvdif.F90', + 'FV3/ccpp/physics/physics/ysuvdif.F90', + 'FV3/ccpp/physics/physics/module_MYNNPBL_wrapper.F90', + 'FV3/ccpp/physics/physics/module_MYNNSFC_wrapper.F90', + 'FV3/ccpp/physics/physics/module_SGSCloud_RadPre.F90', + 'FV3/ccpp/physics/physics/module_SGSCloud_RadPost.F90', + 'FV3/ccpp/physics/physics/module_MYJSFC_wrapper.F90', + 'FV3/ccpp/physics/physics/module_MYJPBL_wrapper.F90', + 'FV3/ccpp/physics/physics/mp_thompson_pre.F90', + 'FV3/ccpp/physics/physics/mp_thompson.F90', + 'FV3/ccpp/physics/physics/mp_thompson_post.F90', + 'FV3/ccpp/physics/physics/ozphys.f', + 'FV3/ccpp/physics/physics/ozphys_2015.f', + 'FV3/ccpp/physics/physics/precpd.f', + 'FV3/ccpp/physics/physics/phys_tend.F90', + 'FV3/ccpp/physics/physics/radlw_main.f', + 'FV3/ccpp/physics/physics/radsw_main.f', + 'FV3/ccpp/physics/physics/rascnv.F90', + 'FV3/ccpp/physics/physics/rayleigh_damp.f', + 'FV3/ccpp/physics/physics/rrtmg_lw_post.F90', + 'FV3/ccpp/physics/physics/rrtmg_lw_pre.F90', + 'FV3/ccpp/physics/physics/rrtmg_sw_post.F90', + 'FV3/ccpp/physics/physics/rrtmg_sw_pre.F90', + 'FV3/ccpp/physics/physics/sfc_diag.f', + 'FV3/ccpp/physics/physics/sfc_diag_post.F90', + 'FV3/ccpp/physics/physics/sfc_drv_ruc.F90', + 'FV3/ccpp/physics/physics/lsm_ruc_sfc_sice_interstitial.F90', + 'FV3/ccpp/physics/physics/sfc_cice.f', + 'FV3/ccpp/physics/physics/sfc_diff.f', + 'FV3/ccpp/physics/physics/sfc_drv.f', + 'FV3/ccpp/physics/physics/sfc_noahmp_drv.f', + 'FV3/ccpp/physics/physics/sfc_nst.f', + 'FV3/ccpp/physics/physics/sfc_ocean.F', + 'FV3/ccpp/physics/physics/sfc_sice.f', + # HAFSFER_HIRES + 'FV3/ccpp/physics/physics/mp_fer_hires.F90', # RRTMGP - 'FV3/ccpp/physics/physics/rrtmg_lw_cloud_optics.F90' : [ 'slow_physics' ], - 'FV3/ccpp/physics/physics/rrtmg_sw_cloud_optics.F90' : [ 'slow_physics' ], - 'FV3/ccpp/physics/physics/rrtmgp_aux.F90' : [ 'slow_physics' ], - 'FV3/ccpp/physics/physics/rrtmgp_lw_gas_optics.F90' : [ 'slow_physics' ], - 'FV3/ccpp/physics/physics/rrtmgp_lw_cloud_optics.F90' : [ 'slow_physics' ], - 'FV3/ccpp/physics/physics/rrtmgp_sw_gas_optics.F90' : [ 'slow_physics' ], - 'FV3/ccpp/physics/physics/rrtmgp_sw_cloud_optics.F90' : [ 'slow_physics' ], - 'FV3/ccpp/physics/physics/rrtmgp_sw_aerosol_optics.F90' : [ 'slow_physics' ], - 'FV3/ccpp/physics/physics/rrtmgp_lw_rte.F90' : [ 'slow_physics' ], - 'FV3/ccpp/physics/physics/rrtmgp_lw_cloud_sampling.F90' : [ 'slow_physics' ], - 'FV3/ccpp/physics/physics/rrtmgp_sw_rte.F90' : [ 'slow_physics' ], - 'FV3/ccpp/physics/physics/rrtmgp_sw_cloud_sampling.F90' : [ 'slow_physics' ], - 'FV3/ccpp/physics/physics/rrtmgp_lw_aerosol_optics.F90' : [ 'slow_physics' ], - 'FV3/ccpp/physics/physics/GFS_rrtmgp_setup.F90' : [ 'slow_physics' ], - 'FV3/ccpp/physics/physics/GFS_rrtmgp_pre.F90' : [ 'slow_physics' ], - 'FV3/ccpp/physics/physics/rrtmgp_lw_pre.F90' : [ 'slow_physics' ], - 'FV3/ccpp/physics/physics/GFS_rrtmgp_sw_pre.F90' : [ 'slow_physics' ], - 'FV3/ccpp/physics/physics/GFS_rrtmgp_lw_post.F90' : [ 'slow_physics' ], - 'FV3/ccpp/physics/physics/GFS_rrtmgp_sw_post.F90' : [ 'slow_physics' ], - } + 'FV3/ccpp/physics/physics/rrtmg_lw_cloud_optics.F90', + 'FV3/ccpp/physics/physics/rrtmg_sw_cloud_optics.F90', + 'FV3/ccpp/physics/physics/rrtmgp_aux.F90', + 'FV3/ccpp/physics/physics/rrtmgp_lw_gas_optics.F90', + 'FV3/ccpp/physics/physics/rrtmgp_lw_cloud_optics.F90', + 'FV3/ccpp/physics/physics/rrtmgp_sw_gas_optics.F90', + 'FV3/ccpp/physics/physics/rrtmgp_sw_cloud_optics.F90', + 'FV3/ccpp/physics/physics/rrtmgp_sw_aerosol_optics.F90', + 'FV3/ccpp/physics/physics/rrtmgp_lw_rte.F90', + 'FV3/ccpp/physics/physics/rrtmgp_lw_cloud_sampling.F90', + 'FV3/ccpp/physics/physics/rrtmgp_sw_rte.F90', + 'FV3/ccpp/physics/physics/rrtmgp_sw_cloud_sampling.F90', + 'FV3/ccpp/physics/physics/rrtmgp_lw_aerosol_optics.F90', + 'FV3/ccpp/physics/physics/GFS_rrtmgp_setup.F90', + 'FV3/ccpp/physics/physics/GFS_rrtmgp_pre.F90', + 'FV3/ccpp/physics/physics/rrtmgp_lw_pre.F90', + 'FV3/ccpp/physics/physics/GFS_rrtmgp_sw_pre.F90', + 'FV3/ccpp/physics/physics/GFS_rrtmgp_lw_post.F90', + 'FV3/ccpp/physics/physics/GFS_rrtmgp_sw_post.F90', + ] # Default build dir, relative to current working directory, # if not specified as command-line argument From 499accf3e66f0ab56c1bbdcb58c94c0c3a69a58e Mon Sep 17 00:00:00 2001 From: Dom Heinzeller Date: Wed, 27 May 2020 11:50:39 -0600 Subject: [PATCH 2/7] ccpp/config/ccpp_prebuild_config.py: fix incorrect optional arguments --- ccpp/config/ccpp_prebuild_config.py | 35 ++++++++--------------------- 1 file changed, 9 insertions(+), 26 deletions(-) diff --git a/ccpp/config/ccpp_prebuild_config.py b/ccpp/config/ccpp_prebuild_config.py index ed316818b..6a3f54a27 100755 --- a/ccpp/config/ccpp_prebuild_config.py +++ b/ccpp/config/ccpp_prebuild_config.py @@ -357,33 +357,16 @@ 'rrtmgp_sw_rte' : { 'rrtmgp_sw_rte_run' : [ 'components_of_surface_downward_shortwave_fluxes', - 'sw_fluxes_sfc', - 'sw_fluxes_toa', ], }, 'GFS_rrtmgp_sw_post' : { - 'GFS_rrtmgp_sw_post_run' : [ - 'components_of_surface_downward_shortwave_fluxes', - 'sw_fluxes_sfc', - 'sw_fluxes_toa', - ], + 'GFS_rrtmgp_sw_post_run' : 'none', }, 'rrtmgp_lw_rte' : { - 'rrtmgp_lw_rte_run' : [ - 'lw_fluxes_sfc', - 'lw_fluxes_toa', - ], + 'rrtmgp_lw_rte_run' : 'none', }, 'GFS_rrtmgp_lw_post' : { - 'GFS_rrtmgp_lw_post_run' : [ - 'lw_fluxes_sfc', - 'lw_fluxes_toa', - ], - }, - 'GFS_rrtmgp_post' : { - 'GFS_rrtmgp_post_run' : [ - 'components_of_surface_downward_shortwave_fluxes', - ], + 'GFS_rrtmgp_lw_post_run' : 'none', }, 'rrtmg_sw' : { 'rrtmg_sw_run' : [ @@ -419,9 +402,9 @@ 'ice_friendly_aerosol_number_concentration', 'tendency_of_water_friendly_aerosols_at_surface', 'tendency_of_ice_friendly_aerosols_at_surface', - 'mean_effective_radius_for_liquid_cloud', - 'mean_effective_radius_for_ice_cloud', - 'mean_effective_radius_for_snow_flake', + 'effective_radius_of_stratiform_cloud_liquid_water_particle_in_um', + 'effective_radius_of_stratiform_cloud_ice_particle_in_um', + 'effective_radius_of_stratiform_cloud_snow_particle_in_um', ], 'mp_thompson_run' : [ 'cloud_droplet_number_concentration_updated_by_physics', @@ -429,9 +412,9 @@ 'ice_friendly_aerosol_number_concentration_updated_by_physics', 'tendency_of_water_friendly_aerosols_at_surface', 'tendency_of_ice_friendly_aerosols_at_surface', - 'mean_effective_radius_for_liquid_cloud', - 'mean_effective_radius_for_ice_cloud', - 'mean_effective_radius_for_snow_flake', + 'effective_radius_of_stratiform_cloud_liquid_water_particle_in_um', + 'effective_radius_of_stratiform_cloud_ice_particle_in_um', + 'effective_radius_of_stratiform_cloud_snow_particle_in_um', ], }, 'mp_fer_hires' : { From dec6867c40c8ae6020b117a2211671d8ad01a537 Mon Sep 17 00:00:00 2001 From: Dom Heinzeller Date: Wed, 27 May 2020 11:51:23 -0600 Subject: [PATCH 3/7] gfsphysics/CCPP_layer/CCPP_data.meta: fix incorrect dimensions used --- gfsphysics/CCPP_layer/CCPP_data.meta | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gfsphysics/CCPP_layer/CCPP_data.meta b/gfsphysics/CCPP_layer/CCPP_data.meta index 6cc38da06..e3f1249e5 100644 --- a/gfsphysics/CCPP_layer/CCPP_data.meta +++ b/gfsphysics/CCPP_layer/CCPP_data.meta @@ -35,11 +35,11 @@ standard_name = GFS_data_type_instance_all_blocks long_name = instance of derived type GFS_data_type units = DDT - dimensions = (ccpp_block_number) + dimensions = (ccpp_block_count) type = GFS_data_type [GFS_Interstitial] standard_name = GFS_interstitial_type_instance_all_threads long_name = instance of derived type GFS_interstitial_type units = DDT - dimensions = (ccpp_thread_number) + dimensions = (omp_threads) type = GFS_interstitial_type From b6411ba4afd82392ff1290a7b17dc0856c05742b Mon Sep 17 00:00:00 2001 From: Dom Heinzeller Date: Wed, 27 May 2020 11:52:55 -0600 Subject: [PATCH 4/7] gfsphysics/GFS_layer/GFS_typedefs.{F90,meta}: replace Model%blksz2 with Model%ncols, correct errors in metadata --- gfsphysics/GFS_layer/GFS_typedefs.F90 | 10 +++++----- gfsphysics/GFS_layer/GFS_typedefs.meta | 10 ++++++---- 2 files changed, 11 insertions(+), 9 deletions(-) diff --git a/gfsphysics/GFS_layer/GFS_typedefs.F90 b/gfsphysics/GFS_layer/GFS_typedefs.F90 index dcbd41ff2..8ebc4f914 100644 --- a/gfsphysics/GFS_layer/GFS_typedefs.F90 +++ b/gfsphysics/GFS_layer/GFS_typedefs.F90 @@ -596,7 +596,7 @@ module GFS_typedefs integer :: nblks !< for explicit data blocking: number of blocks integer, pointer :: blksz(:) !< for explicit data blocking: block sizes of all blocks #ifdef CCPP - integer, pointer :: blksz2(:) !< for explicit data blocking: block sizes of all blocks (duplicate) + integer :: ncols !< total number of columns for all blocks #endif !--- coupling parameters @@ -3576,8 +3576,7 @@ subroutine control_initialize (Model, nlunit, fn_nml, me, master, & allocate(Model%blksz(1:Model%nblks)) Model%blksz = blksz #ifdef CCPP - allocate(Model%blksz2(1:Model%nblks)) - Model%blksz2 = blksz + Model%ncols = sum(Model%blksz) #endif !--- coupling parameters @@ -4740,6 +4739,9 @@ subroutine control_print(Model) print *, ' latr : ', Model%latr print *, ' blksz(1) : ', Model%blksz(1) print *, ' blksz(nblks) : ', Model%blksz(Model%nblks) +#ifdef CCPP + print *, ' Model%ncols : ', Model%ncols +#endif print *, ' ' print *, 'coupling parameters' print *, ' cplflx : ', Model%cplflx @@ -5651,7 +5653,6 @@ subroutine diag_create (Diag, IM, Model) !--- MYNN variables: if (Model%do_mynnedmf) then if (Model%bl_mynn_output .ne. 0) then - !print*,"Allocating all MYNN-EDMF variables:" allocate (Diag%edmf_a (IM,Model%levs)) allocate (Diag%edmf_w (IM,Model%levs)) allocate (Diag%edmf_qt (IM,Model%levs)) @@ -5669,7 +5670,6 @@ subroutine diag_create (Diag, IM, Model) allocate (Diag%exch_h (IM,Model%levs)) allocate (Diag%exch_m (IM,Model%levs)) if (Model%bl_mynn_output .ne. 0) then - !print*,"Initializing all MYNN-EDMF variables with ",clear_val Diag%edmf_a = clear_val Diag%edmf_w = clear_val Diag%edmf_qt = clear_val diff --git a/gfsphysics/GFS_layer/GFS_typedefs.meta b/gfsphysics/GFS_layer/GFS_typedefs.meta index 7de8c364b..d61d40407 100644 --- a/gfsphysics/GFS_layer/GFS_typedefs.meta +++ b/gfsphysics/GFS_layer/GFS_typedefs.meta @@ -1876,6 +1876,7 @@ dimensions = (horizontal_dimension) type = real kind = kind_phys + active = (flag_for_microphysics_scheme == flag_for_thompson_microphysics_scheme .and. flag_for_aerosol_physics) [nifa2d] standard_name = tendency_of_ice_friendly_aerosols_at_surface long_name = instantaneous ice-friendly sfc aerosol source @@ -1883,6 +1884,7 @@ dimensions = (horizontal_dimension) type = real kind = kind_phys + active = (flag_for_microphysics_scheme == flag_for_thompson_microphysics_scheme .and. flag_for_aerosol_physics) [ushfsfci] standard_name = instantaneous_surface_upward_sensible_heat_flux_for_chemistry_coupling long_name = instantaneous upward sensible heat flux for chemistry coupling @@ -2067,16 +2069,16 @@ dimensions = () type = integer [nblks] - standard_name = number_of_blocks + standard_name = ccpp_block_count long_name = for explicit data blocking: number of blocks units = count dimensions = () type = integer [blksz] - standard_name = horizontal_block_size + standard_name = ccpp_block_sizes long_name = for explicit data blocking: block sizes of all blocks units = count - dimensions = (number_of_blocks) + dimensions = (ccpp_block_count) type = integer [blksz(ccpp_block_number)] standard_name = horizontal_loop_extent @@ -2084,7 +2086,7 @@ units = count dimensions = () type = integer -[blksz2(ccpp_block_number)] +[ncols] standard_name = horizontal_dimension long_name = horizontal dimension units = count From 45337f787101509636cd5fc5159b2f68fc7fe3aa Mon Sep 17 00:00:00 2001 From: Dom Heinzeller Date: Wed, 27 May 2020 11:53:23 -0600 Subject: [PATCH 5/7] Update .gitmodules and submodule pointers for ccpp-physics and ccpp-framework for code review and testing --- .gitmodules | 12 ++++++++---- ccpp/framework | 2 +- ccpp/physics | 2 +- 3 files changed, 10 insertions(+), 6 deletions(-) diff --git a/.gitmodules b/.gitmodules index bdc0ffbf1..b27bbc67f 100644 --- a/.gitmodules +++ b/.gitmodules @@ -4,9 +4,13 @@ branch = gsd/develop [submodule "ccpp/framework"] path = ccpp/framework - url = https://github.com/NOAA-GSD/ccpp-framework - branch = gsd/develop + #url = https://github.com/NOAA-GSD/ccpp-framework + #branch = gsd/develop + url = https://github.com/climbfuji/ccpp-framework + branch = gsd_develop_blocked_data_structures [submodule "ccpp/physics"] path = ccpp/physics - url = https://github.com/NOAA-GSD/ccpp-physics - branch = gsd/develop + #url = https://github.com/NOAA-GSD/ccpp-physics + #branch = gsd/develop + url = https://github.com/climbfuji/ccpp-physics + branch = gsd_develop_blocked_data_structures diff --git a/ccpp/framework b/ccpp/framework index d5ddd17c6..197504183 160000 --- a/ccpp/framework +++ b/ccpp/framework @@ -1 +1 @@ -Subproject commit d5ddd17c6bb5ef568265eae73db63f3f5f54f3d4 +Subproject commit 1975041837fb34774690212e57b41c3d79026d1f diff --git a/ccpp/physics b/ccpp/physics index 06473f6b0..6d6dd49ea 160000 --- a/ccpp/physics +++ b/ccpp/physics @@ -1 +1 @@ -Subproject commit 06473f6b017301985db40b7584e37eb0ebef8024 +Subproject commit 6d6dd49eafeb687ea23b23790937a8f2e21a898e From 289edfc507af77eef5735ebec66853bcabce868a Mon Sep 17 00:00:00 2001 From: Dom Heinzeller Date: Wed, 27 May 2020 20:14:31 -0600 Subject: [PATCH 6/7] Minor bugfixes for handling conditionally allocated variables --- ccpp/framework | 2 +- ccpp/physics | 2 +- gfsphysics/GFS_layer/GFS_typedefs.meta | 9 +++++++++ 3 files changed, 11 insertions(+), 2 deletions(-) diff --git a/ccpp/framework b/ccpp/framework index 197504183..6fec655d6 160000 --- a/ccpp/framework +++ b/ccpp/framework @@ -1 +1 @@ -Subproject commit 1975041837fb34774690212e57b41c3d79026d1f +Subproject commit 6fec655d6eb713d1f56c7772b3d1d03b46d35dbc diff --git a/ccpp/physics b/ccpp/physics index 6d6dd49ea..ecd677797 160000 --- a/ccpp/physics +++ b/ccpp/physics @@ -1 +1 @@ -Subproject commit 6d6dd49eafeb687ea23b23790937a8f2e21a898e +Subproject commit ecd67779749491ca6d0e0ec6f71ab5e8535f8a7f diff --git a/gfsphysics/GFS_layer/GFS_typedefs.meta b/gfsphysics/GFS_layer/GFS_typedefs.meta index d61d40407..8e26aec7c 100644 --- a/gfsphysics/GFS_layer/GFS_typedefs.meta +++ b/gfsphysics/GFS_layer/GFS_typedefs.meta @@ -200,6 +200,7 @@ long_name = number concentration of water-friendly aerosols units = kg-1 dimensions = (horizontal_dimension,vertical_dimension) + active = (index_for_water_friendly_aerosols > 0) type = real kind = kind_phys [qgrs(:,:,index_for_ice_friendly_aerosols)] @@ -207,6 +208,7 @@ long_name = number concentration of ice-friendly aerosols units = kg-1 dimensions = (horizontal_dimension,vertical_dimension) + active = (index_for_ice_friendly_aerosols > 0) type = real kind = kind_phys [qgrs(:,:,index_for_liquid_cloud_number_concentration)] @@ -216,6 +218,7 @@ dimensions = (horizontal_dimension,vertical_dimension) type = real kind = kind_phys + active = (index_for_liquid_cloud_number_concentration > 0) [qgrs(:,:,index_for_ice_cloud_number_concentration)] standard_name = ice_number_concentration long_name = number concentration of ice @@ -382,6 +385,7 @@ dimensions = (horizontal_dimension,vertical_dimension) type = real kind = kind_phys + active = (index_for_water_friendly_aerosols > 0) [gq0(:,:,index_for_ice_friendly_aerosols)] standard_name = ice_friendly_aerosol_number_concentration_updated_by_physics long_name = number concentration of ice-friendly aerosols updated by physics @@ -389,6 +393,7 @@ dimensions = (horizontal_dimension,vertical_dimension) type = real kind = kind_phys + active = (index_for_ice_friendly_aerosols > 0) [gq0(:,:,index_for_liquid_cloud_number_concentration)] standard_name = cloud_droplet_number_concentration_updated_by_physics long_name = number concentration of cloud droplets updated by physics @@ -396,6 +401,7 @@ dimensions = (horizontal_dimension,vertical_dimension) type = real kind = kind_phys + active = (index_for_liquid_cloud_number_concentration > 0) [gq0(:,:,index_for_ice_cloud_number_concentration)] standard_name = ice_number_concentration_updated_by_physics long_name = number concentration of ice updated by physics @@ -6802,6 +6808,7 @@ dimensions = (horizontal_dimension,vertical_dimension) type = real kind = kind_phys + active = (index_for_liquid_cloud_number_concentration > 0) [dqdt(:,:,index_for_ice_cloud_number_concentration)] standard_name = tendency_of_ice_number_concentration_due_to_model_physics long_name = number concentration of ice tendency due to model physics @@ -6816,6 +6823,7 @@ dimensions = (horizontal_dimension,vertical_dimension) type = real kind = kind_phys + active = (index_for_water_friendly_aerosols > 0) [dqdt(:,:,index_for_ice_friendly_aerosols)] standard_name = tendency_of_ice_friendly_aerosol_number_concentration_due_to_model_physics long_name = number concentration of ice-friendly aerosols tendency due to model physics @@ -6823,6 +6831,7 @@ dimensions = (horizontal_dimension,vertical_dimension) type = real kind = kind_phys + active = (index_for_ice_friendly_aerosols > 0) [dqdt(:,:,index_for_rain_water)] standard_name = tendency_of_rain_water_mixing_ratio_due_to_model_physics long_name = ratio of mass of rain water tendency to mass of dry air plus vapor (without condensates) due to model physics From 7ef68276ce7b4d8ef8efa038826ce8cdedefb29a Mon Sep 17 00:00:00 2001 From: Dom Heinzeller Date: Mon, 1 Jun 2020 15:34:08 -0600 Subject: [PATCH 7/7] Revert change to .gitmodules and update submodule pointers for ccpp-framework and ccpp-physics --- .gitmodules | 12 ++++-------- ccpp/framework | 2 +- ccpp/physics | 2 +- 3 files changed, 6 insertions(+), 10 deletions(-) diff --git a/.gitmodules b/.gitmodules index b27bbc67f..bdc0ffbf1 100644 --- a/.gitmodules +++ b/.gitmodules @@ -4,13 +4,9 @@ branch = gsd/develop [submodule "ccpp/framework"] path = ccpp/framework - #url = https://github.com/NOAA-GSD/ccpp-framework - #branch = gsd/develop - url = https://github.com/climbfuji/ccpp-framework - branch = gsd_develop_blocked_data_structures + url = https://github.com/NOAA-GSD/ccpp-framework + branch = gsd/develop [submodule "ccpp/physics"] path = ccpp/physics - #url = https://github.com/NOAA-GSD/ccpp-physics - #branch = gsd/develop - url = https://github.com/climbfuji/ccpp-physics - branch = gsd_develop_blocked_data_structures + url = https://github.com/NOAA-GSD/ccpp-physics + branch = gsd/develop diff --git a/ccpp/framework b/ccpp/framework index 6fec655d6..e883bb0f0 160000 --- a/ccpp/framework +++ b/ccpp/framework @@ -1 +1 @@ -Subproject commit 6fec655d6eb713d1f56c7772b3d1d03b46d35dbc +Subproject commit e883bb0f0245af4cf37084ceb2d692fb90f3ef43 diff --git a/ccpp/physics b/ccpp/physics index ecd677797..64e8ff620 160000 --- a/ccpp/physics +++ b/ccpp/physics @@ -1 +1 @@ -Subproject commit ecd67779749491ca6d0e0ec6f71ab5e8535f8a7f +Subproject commit 64e8ff620f969e864dd8390d85ba0e287427d8bb