Skip to content

Commit

Permalink
Merge pull request NOAA-EMC#30 from climbfuji/gsd_develop_blocked_dat…
Browse files Browse the repository at this point in the history
…a_structures

gsd/develop: handle blocked data structures in init and finalize routines, remove pset logic, metadata cleanup
  • Loading branch information
DomHeinzeller authored Jun 1, 2020
2 parents c441a8e + 7ef6827 commit 2a5c1b8
Show file tree
Hide file tree
Showing 6 changed files with 140 additions and 148 deletions.
251 changes: 116 additions & 135 deletions ccpp/config/ccpp_prebuild_config.py
Original file line number Diff line number Diff line change
Expand Up @@ -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 <init> and <finalize> 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
Expand Down Expand Up @@ -359,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' : [
Expand Down Expand Up @@ -421,19 +402,19 @@
'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',
'water_friendly_aerosol_number_concentration_updated_by_physics',
'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' : {
Expand Down
2 changes: 1 addition & 1 deletion ccpp/framework
2 changes: 1 addition & 1 deletion ccpp/physics
4 changes: 2 additions & 2 deletions gfsphysics/CCPP_layer/CCPP_data.meta
Original file line number Diff line number Diff line change
Expand Up @@ -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
Loading

0 comments on commit 2a5c1b8

Please sign in to comment.