diff --git a/.gitmodules b/.gitmodules index 1b79f9e2f3..7f5d8dcf27 100644 --- a/.gitmodules +++ b/.gitmodules @@ -4,8 +4,10 @@ branch = main [submodule "physics/MP/TEMPO/TEMPO"] path = physics/MP/TEMPO/TEMPO - url = https://github.com/NCAR/TEMPO - branch = main + #url = https://github.com/NCAR/TEMPO + #branch = main + url = https://github.com/climbfuji/TEMPO + branch = feature/capgen-ng [submodule "physics/SFC_Layer/MYNN/MYNN"] path = physics/SFC_Layer/MYNN/MYNN url = https://github.com/NCAR/MYNN-SFC diff --git a/CODEOWNERS b/CODEOWNERS index 61ee44df80..c9bd438e47 100644 --- a/CODEOWNERS +++ b/CODEOWNERS @@ -4,190 +4,7 @@ # Default codeowners for files that don't have specific owners: -* @grantfirl @rhaesung @Qingfu-Liu @dustinswales @mzhangw @climbfuji - - -# The following lines are from the CCPP Primary Schemes Points of Contact -# https://docs.google.com/spreadsheets/d/14y0Th_sSpCqlssEMNfSZ_Ni9wrpPqfpPY0kRG7jCZB8/edit#gid=0 -# (Internal NOAA document.) - -physics/CONV/C3/cu_c3* @lisa-bengtsson @haiqinli @grantfirl @rhaesung @Qingfu-Liu @dustinswales -physics/CONV/Chikira_Sugiyama/cs_conv_aw_adj.* @AnningCheng-NOAA @grantfirl @rhaesung @Qingfu-Liu @dustinswales -physics/CONV/Chikira_Sugiyama/cs_conv.* @AnningCheng-NOAA @grantfirl @rhaesung @Qingfu-Liu @dustinswales -physics/CONV/Grell_Freitas/cu_gf* @haiqinli @grantfirl @rhaesung @Qingfu-Liu @dustinswales -physics/CONV/RAS/rascnv.* @haiqinli @JongilHan66 @grantfirl @rhaesung @Qingfu-Liu @dustinswales -physics/CONV/SAMF/samfdeepcnv.* @JongilHan66 @lisa-bengtsson @grantfirl @rhaesung @Qingfu-Liu @dustinswales -physics/CONV/SAMF/samfshalcnv.* @JongilHan66 @lisa-bengtsson @grantfirl @rhaesung @Qingfu-Liu @dustinswales -physics/CONV/SAMF/samfaerosols.* @JongilHan66 @lisa-bengtsson @grantfirl @rhaesung @Qingfu-Liu @dustinswales -physics/CONV/SAS/sascnvn.* @JongilHan66 @grantfirl @rhaesung @Qingfu-Liu @dustinswales -physics/CONV/SAS/shalcnv.* @JongilHan66 @grantfirl @rhaesung @Qingfu-Liu @dustinswales -physics/CONV/nTiedtke/cu_ntiedtke* @JongilHan66 @Qingfu-Liu @grantfirl @rhaesung @Qingfu-Liu @dustinswales -physics/CONV/progsigma_calc.f90 @lisa-bengtsson @grantfirl @rhaesung @Qingfu-Liu @dustinswales -physics/GWD/cires_orowam2017.f @mdtoyNOAA @grantfirl @rhaesung @Qingfu-Liu @dustinswales -physics/GWD/cires_tauamf_data.F90 @mdtoyNOAA @grantfirl @rhaesung @Qingfu-Liu @dustinswales -physics/GWD/cires_ugwp* @mdtoyNOAA @grantfirl @rhaesung @Qingfu-Liu @dustinswales -physics/GWD/drag_suite.* @mdtoyNOAA @grantfirl @rhaesung @Qingfu-Liu @dustinswales -physics/GWD/gwdc.* @Songyou184 @grantfirl @rhaesung @Qingfu-Liu @dustinswales -physics/GWD/gwdps.* @Songyou184 @grantfirl @rhaesung @Qingfu-Liu @dustinswales -physics/GWD/rayleigh_damp.* @yangfanglin @grantfirl @rhaesung @Qingfu-Liu @dustinswales -physics/GWD/ugwp_driver_v0.F90 @mdtoyNOAA @grantfirl @rhaesung @Qingfu-Liu @dustinswales -physics/GWD/ugwpv1_gsldrag.* @mdtoyNOAA @BoYang-NOAA @grantfirl @rhaesung @Qingfu-Liu @dustinswales -physics/GWD/ugwpv1_gsldrag_post.* @mdtoyNOAA @BoYang-NOAA @grantfirl @rhaesung @Qingfu-Liu @dustinswales -physics/GWD/unified_ugwp* @mdtoyNOAA @grantfirl @rhaesung @Qingfu-Liu @dustinswales -physics/MP/Ferrier_Aligo/module_MP_FER_HIRES.* @ericaligo-NOAA @grantfirl @rhaesung @Qingfu-Liu @dustinswales -physics/MP/Ferrier_Aligo/mp_fer_hires.* @ericaligo-NOAA @grantfirl @rhaesung @Qingfu-Liu @dustinswales -physics/MP/GFDL/v1_2019/gfdl_cloud_microphys.* @RuiyuSun @grantfirl @rhaesung @Qingfu-Liu @dustinswales -physics/MP/GFDL/v1_2019/gfdl_cloud_microphys_mod.* @RuiyuSun @grantfirl @rhaesung @Qingfu-Liu @dustinswales -physics/MP/GFDL/v3_2022/gfdl_cloud_microphys_v3.* @RuiyuSun @grantfirl @rhaesung @Qingfu-Liu @dustinswales -physics/MP/GFDL/v3_2022/gfdl_cloud_microphys_v3_mod.* @RuiyuSun @grantfirl @rhaesung @Qingfu-Liu @dustinswales -physics/MP/GFDL/fv_sat_adj.* @RuiyuSun @grantfirl @rhaesung @Qingfu-Liu @dustinswales -physics/MP/GFDL/multi_gases.F90 @RuiyuSun @grantfirl @rhaesung @Qingfu-Liu @dustinswales -physics/MP/Morrison_Gettelman/aer_cloud.F @AnningCheng-NOAA @andrewgettelman @grantfirl @rhaesung @Qingfu-Liu @dustinswales -physics/MP/Morrison_Gettelman/aerclm_def.F @AnningCheng-NOAA @andrewgettelman @grantfirl @rhaesung @Qingfu-Liu @dustinswales -physics/MP/Morrison_Gettelman/aerinterp.F90 @AnningCheng-NOAA @andrewgettelman @grantfirl @rhaesung @Qingfu-Liu @dustinswales -physics/MP/Morrison_Gettelman/cldmacro.F @AnningCheng-NOAA @andrewgettelman @grantfirl @rhaesung @Qingfu-Liu @dustinswales -physics/MP/Morrison_Gettelman/cldwat2m_micro.F @AnningCheng-NOAA @andrewgettelman @grantfirl @rhaesung @Qingfu-Liu @dustinswales -physics/MP/Morrison_Gettelman/micro_mg* @AnningCheng-NOAA @andrewgettelman @grantfirl @rhaesung @Qingfu-Liu @dustinswales -physics/MP/Morrison_Gettelman/m_micro* @AnningCheng-NOAA @andrewgettelman @grantfirl @rhaesung @Qingfu-Liu @dustinswales -physics/MP/Morrison_Gettelman/wv_saturation.F @AnningCheng-NOAA @andrewgettelman @grantfirl @rhaesung @Qingfu-Liu @dustinswales -physics/MP/NSSL/module_mp_nssl_2mom.F90 @MicroTed @grantfirl @rhaesung @Qingfu-Liu @dustinswales -physics/MP/NSSL/mp_nssl.* @MicroTed @grantfirl @rhaesung @Qingfu-Liu @dustinswales -physics/MP/Thompson/module_mp_thompson* @gthompsnWRF @RuiyuSun @AndersJensen-NOAA @grantfirl @rhaesung @Qingfu-Liu @dustinswales -physics/MP/Thompson/mp_thompson* @gthompsnWRF @RuiyuSun @AndersJensen-NOAA @grantfirl @rhaesung @Qingfu-Liu @dustinswales -physics/MP/Zhao_Carr/zhaocarr_gscond.* @RuiyuSun @grantfirl @rhaesung @Qingfu-Liu @dustinswales -physics/MP/Zhao_Carr/zhaocarr_precpd.* @RuiyuSun @grantfirl @rhaesung @Qingfu-Liu @dustinswales -physics/MP/calpreciptype.f90 @grantfirl @rhaesung @Qingfu-Liu @dustinswales -physics/MP/module_mp_radar.* @gthompsnWRF @RuiyuSun @grantfirl @rhaesung @Qingfu-Liu @dustinswales -physics/PBL/HEDMF/hedmf.* @JongilHan66 @WeiguoWang-NOAA @grantfirl @rhaesung @Qingfu-Liu @dustinswales -physics/PBL/MYJ/module_BL_MYJPBL.* @Qingfu-Liu @grantfirl @rhaesung @Qingfu-Liu @dustinswales -physics/PBL/MYJ/myjpbl_wrapper.* @Qingfu-Liu @grantfirl @rhaesung @Qingfu-Liu @dustinswales -physics/PBL/MYNN_EDMF/bl_mynn_common.f90 @joeolson42 @grantfirl @rhaesung @Qingfu-Liu @dustinswales -physics/PBL/MYNN_EDMF/module_bl_mynn.* @joeolson42 @grantfirl @rhaesung @Qingfu-Liu @dustinswales -physics/PBL/MYNN_EDMF/mynnedmf_wrapper.* @joeolson42 @grantfirl @rhaesung @Qingfu-Liu @dustinswales -physics/PBL/SATMEDMF/satmedmfvdif.* @JongilHan66 @grantfirl @rhaesung @Qingfu-Liu @dustinswales -physics/PBL/SATMEDMF/satmedmfvdifq.* @JongilHan66 @grantfirl @rhaesung @Qingfu-Liu @dustinswales -physics/PBL/SATMEDMF/mfscu.f @JongilHan66 @grantfirl @rhaesung @Qingfu-Liu @dustinswales -physics/PBL/SATMEDMF/mfscuq.f @JongilHan66 @grantfirl @rhaesung @Qingfu-Liu @dustinswales -physics/PBL/SHOC/moninshoc.* @grantfirl @rhaesung @Qingfu-Liu @dustinswales -physics/PBL/SHOC/shoc.* @grantfirl @rhaesung @Qingfu-Liu @dustinswales -physics/PBL/YSU/ysuvdif.* @Qingfu-Liu @WeiguoWang-NOAA @grantfirl @rhaesung @Qingfu-Liu @dustinswales -physics/PBL/saYSU/shinhongvdif.* @Qingfu-Liu @WeiguoWang-NOAA @grantfirl @rhaesung @Qingfu-Liu @dustinswales -physics/PBL/mfpbl.f @JongilHan66 @grantfirl @rhaesung @Qingfu-Liu @dustinswales -physics/PBL/mfpblt.f @JongilHan66 @grantfirl @rhaesung @Qingfu-Liu @dustinswales -physics/PBL/mfpbltq.f @JongilHan66 @grantfirl @rhaesung @Qingfu-Liu @dustinswales -physics/PBL/tridi.f @JongilHan66 @WeiguoWang-NOAA @grantfirl @rhaesung @Qingfu-Liu @dustinswales -physics/Radiation/RRTMG/iounitdef.f @grantfirl @rhaesung @Qingfu-Liu @dustinswales -physics/Radiation/RRTMG/module_bfmicrophysics.f @grantfirl @rhaesung @Qingfu-Liu @dustinswales -physics/Radiation/RRTMG/rad_sw_pre* @mjiacono @Qingfu-Liu @grantfirl @rhaesung @Qingfu-Liu @dustinswales -physics/Radiation/RRTMG/radcons.f90 @Qingfu-Liu @dustinswales @grantfirl @rhaesung @Qingfu-Liu @dustinswales -physics/Radiation/RRTMG/radlw_* @mjiacono @Qingfu-Liu @grantfirl @rhaesung @Qingfu-Liu @dustinswales -physics/Radiation/RRTMG/radsw_* @mjiacono @Qingfu-Liu @grantfirl @rhaesung @Qingfu-Liu @dustinswales -physics/Radiation/RRTMG/rrtmg_lw_cloud_optics.F90 @Qingfu-Liu @dustinswales @grantfirl @rhaesung @Qingfu-Liu @dustinswales -physics/Radiation/RRTMG/rrtmg_lw_post.* @Qingfu-Liu @dustinswales @grantfirl @rhaesung @Qingfu-Liu @dustinswales -physics/Radiation/RRTMG/rrtmg_sw_cloud_optics.F90 @dustinswales @Qingfu-Liu @grantfirl @rhaesung @Qingfu-Liu @dustinswales -physics/Radiation/RRTMG/rrtmg_sw_post.* @Qingfu-Liu @dustinswales @grantfirl @rhaesung @Qingfu-Liu @dustinswales -physics/Radiation/RRTMGP/rte-rrtmgp @dustinswales @Qingfu-Liu @grantfirl @rhaesung @Qingfu-Liu @dustinswales -physics/Radiation/RRTMGP/rrtmgp_aerosol_optics.* @dustinswales @Qingfu-Liu @grantfirl @rhaesung @Qingfu-Liu @dustinswales -physics/Radiation/RRTMGP/rrtmgp_lw_* @dustinswales @Qingfu-Liu @grantfirl @rhaesung @Qingfu-Liu @dustinswales -physics/Radiation/RRTMGP/rrtmgp_sw_* @dustinswales @Qingfu-Liu @grantfirl @rhaesung @Qingfu-Liu @dustinswales -physics/Radiation/mersenne_twister.f @grantfirl @rhaesung @Qingfu-Liu @dustinswales -physics/Radiation/radiation_aerosols.f @Qingfu-Liu @dustinswales @grantfirl @rhaesung @Qingfu-Liu @dustinswales -physics/Radiation/radiation_astronomy.f @Qingfu-Liu @dustinswales @grantfirl @rhaesung @Qingfu-Liu @dustinswales -physics/Radiation/radiation_cloud_overlap.F90 @Qingfu-Liu @dustinswales @grantfirl @rhaesung @Qingfu-Liu @dustinswales -physics/Radiation/radiation_clouds.f @Qingfu-Liu @dustinswales @grantfirl @rhaesung @Qingfu-Liu @dustinswales -physics/Radiation/radiation_gases.f @Qingfu-Liu @dustinswales @grantfirl @rhaesung @Qingfu-Liu @dustinswales -physics/Radiation/radiation_surface.f @Qingfu-Liu @dustinswales @grantfirl @rhaesung @Qingfu-Liu @dustinswales -physics/Radiation/radiation_tools.F90 @Qingfu-Liu @dustinswales @grantfirl @rhaesung @Qingfu-Liu @dustinswales -physics/SFC_Layer/GFDL/gfdl_sfc_layer.* @ZhanZhang-NOAA @grantfirl @rhaesung @Qingfu-Liu @dustinswales -physics/SFC_Layer/GFDL/module_sf_exchcoef.f90 @ZhanZhang-NOAA @grantfirl @rhaesung @Qingfu-Liu @dustinswales -physics/SFC_Layer/MYJ/myjsfc_wrapper.* @Qingfu-Liu @grantfirl @rhaesung @Qingfu-Liu @dustinswales -physics/SFC_Layer/MYJ/module_SF_JSFC.F90 @Qingfu-Liu @grantfirl @rhaesung @Qingfu-Liu @dustinswales -physics/SFC_Layer/MYNN/MYNN/module_sf_mynnsfc.* @joeolson42 @grantfirl @rhaesung @Qingfu-Liu @dustinswales -physics/SFC_Layer/MYNN/module_sf_mynn.F90 @joeolson42 @grantfirl @rhaesung @Qingfu-Liu @dustinswales -physics/SFC_Layer/UFS/date_def.f @XuLi-NOAA @grantfirl @rhaesung @Qingfu-Liu @dustinswales -physics/SFC_Layer/UFS/module_nst* @XuLi-NOAA @grantfirl @rhaesung @Qingfu-Liu @dustinswales -physics/SFC_Layer/UFS/sfc_diag.* @grantfirl @rhaesung @Qingfu-Liu @dustinswales -physics/SFC_Layer/UFS/sfc_diag_post.* @grantfirl @rhaesung @Qingfu-Liu @dustinswales -physics/SFC_Layer/UFS/sfc_diff.* @JongilHan66 @grantfirl @rhaesung @Qingfu-Liu @dustinswales -physics/SFC_Layer/UFS/sfc_nst* @XuLi-NOAA @grantfirl @rhaesung @Qingfu-Liu @dustinswales -physics/SFC_Models/Lake/CLM/clm_lake.* @tanyasmirnova @SamuelTrahanNOAA @grantfirl @rhaesung @Qingfu-Liu @dustinswales -physics/SFC_Models/Lake/Flake/flake* @barlage @grantfirl @rhaesung @Qingfu-Liu @dustinswales -physics/SFC_Models/Land/Noah/lsm_noah.* @HelinWei-NOAA @grantfirl @rhaesung @Qingfu-Liu @dustinswales -physics/SFC_Models/Land/Noah/namelist_soilveg.* @HelinWei-NOAA @barlage @cenlinhe @grantfirl @rhaesung @Qingfu-Liu @dustinswales -physics/SFC_Models/Land/Noah/set_soilveg.* @HelinWei-NOAA @barlage @cenlinhe @grantfirl @rhaesung @Qingfu-Liu @dustinswales -physics/SFC_Models/Land/Noah/sflx.f @HelinWei-NOAA @grantfirl @rhaesung @Qingfu-Liu @dustinswales -physics/SFC_Models/Land/Noah/surface_perturbation.* @HelinWei-NOAA @grantfirl @rhaesung @Qingfu-Liu @dustinswales -physics/SFC_Models/Land/Noahmp/*noahmp* @barlage @cenlinhe @grantfirl @rhaesung @Qingfu-Liu @dustinswales -physics/SFC_Models/Land/RUC/lsm_ruc.* @tanyasmirnova @grantfirl @rhaesung @Qingfu-Liu @dustinswales -physics/SFC_Models/Land/RUC/module_sf_ruclsm.* @tanyasmirnova @grantfirl @rhaesung @Qingfu-Liu @dustinswales -physics/SFC_Models/Land/RUC/module_soil_pre.* @tanyasmirnova @grantfirl @rhaesung @Qingfu-Liu @dustinswales -physics/SFC_Models/Land/RUC/namelist_soilveg_ruc.* @tanyasmirnova @grantfirl @rhaesung @Qingfu-Liu @dustinswales -physics/SFC_Models/Land/RUC/set_soilveg_ruc.* @tanyasmirnova @grantfirl @rhaesung @Qingfu-Liu @dustinswales -physics/SFC_Models/Land/sfc_land.* @grantfirl @rhaesung @Qingfu-Liu @dustinswales -physics/SFC_Models/Ocean/UFS/sfc_ocean.* @HelinWei-NOAA @grantfirl @rhaesung @Qingfu-Liu @dustinswales -physics/SFC_Models/SeaIce/CICE/sfc_cice.* @wd20xw @grantfirl @rhaesung @Qingfu-Liu @dustinswales -physics/SFC_Models/SeaIce/CICE/sfc_sice.* @wd20xw @grantfirl @rhaesung @Qingfu-Liu @dustinswales -physics/hooks/machine.* @grantfirl @rhaesung @Qingfu-Liu @dustinswales -physics/hooks/physcons.F90 @grantfirl @rhaesung @Qingfu-Liu @dustinswales -physics/photochem/module_h2ophys.* @Qingfu-Liu @grantfirl @rhaesung @Qingfu-Liu @dustinswales -physics/photochem/module_ozphys.* @dustinswales @grantfirl @rhaesung @Qingfu-Liu @dustinswales -physics/smoke_dust/* @haiqinli @grantfirl @rhaesung @Qingfu-Liu @dustinswales -physics/tools/funcphys.f90 @grantfirl @rhaesung @Qingfu-Liu @dustinswales -physics/tools/get_phi_fv3.* @grantfirl @rhaesung @Qingfu-Liu @dustinswales -physics/tools/get_prs_fv3.* @grantfirl @rhaesung @Qingfu-Liu @dustinswales -physics/Interstitials/UFS_SCM_NEPTUNE/GFS_cloud_diagnostics.* @dustinswales @Qingfu-Liu @grantfirl @rhaesung @Qingfu-Liu @dustinswales -physics/Interstitials/UFS_SCM_NEPTUNE/GFS_DCNV_generic_post.* @grantfirl @rhaesung @Qingfu-Liu @dustinswales -physics/Interstitials/UFS_SCM_NEPTUNE/GFS_DCNV_generic_pre.* @grantfirl @rhaesung @Qingfu-Liu @dustinswales -physics/Interstitials/UFS_SCM_NEPTUNE/GFS_debug.* @grantfirl @rhaesung @Qingfu-Liu @dustinswales -physics/Interstitials/UFS_SCM_NEPTUNE/GFS_GWD_generic_post.* @grantfirl @rhaesung @Qingfu-Liu @dustinswales -physics/Interstitials/UFS_SCM_NEPTUNE/GFS_GWD_generic_pre.* @grantfirl @rhaesung @Qingfu-Liu @dustinswales -physics/Interstitials/UFS_SCM_NEPTUNE/GFS_MP_generic_post.* @grantfirl @rhaesung @Qingfu-Liu @dustinswales -physics/Interstitials/UFS_SCM_NEPTUNE/GFS_MP_generic_pre.* @grantfirl @rhaesung @Qingfu-Liu @dustinswales -physics/Interstitials/UFS_SCM_NEPTUNE/GFS_PBL_generic_common.F90 @grantfirl @rhaesung @Qingfu-Liu @dustinswales -physics/Interstitials/UFS_SCM_NEPTUNE/GFS_PBL_generic_post.* @grantfirl @rhaesung @Qingfu-Liu @dustinswales -physics/Interstitials/UFS_SCM_NEPTUNE/GFS_PBL_generic_pre.* @grantfirl @rhaesung @Qingfu-Liu @dustinswales -physics/Interstitials/UFS_SCM_NEPTUNE/GFS_phys_time_vary.fv3.* @grantfirl @rhaesung @Qingfu-Liu @dustinswales -physics/Interstitials/UFS_SCM_NEPTUNE/GFS_phys_time_vary.scm.* @grantfirl @rhaesung @Qingfu-Liu @dustinswales -physics/Interstitials/UFS_SCM_NEPTUNE/GFS_physics_post.* @grantfirl @rhaesung @Qingfu-Liu @dustinswales -physics/Interstitials/UFS_SCM_NEPTUNE/GFS_radiation_surface.* @grantfirl @rhaesung @Qingfu-Liu @dustinswales -physics/Interstitials/UFS_SCM_NEPTUNE/GFS_rad_time_vary.fv3.* @grantfirl @rhaesung @Qingfu-Liu @dustinswales -physics/Interstitials/UFS_SCM_NEPTUNE/GFS_rad_time_vary.scm.* @grantfirl @rhaesung @Qingfu-Liu @dustinswales -physics/Interstitials/UFS_SCM_NEPTUNE/GFS_rrtmgp_cloud_mp.* @dustinswales @Qingfu-Liu @grantfirl @rhaesung @Qingfu-Liu @dustinswales -physics/Interstitials/UFS_SCM_NEPTUNE/GFS_rrtmgp_cloud_overlap.* @dustinswales @Qingfu-Liu @grantfirl @rhaesung @Qingfu-Liu @dustinswales -physics/Interstitials/UFS_SCM_NEPTUNE/GFS_radiation_post.* @Qingfu-Liu @dustinswales @grantfirl @rhaesung @Qingfu-Liu @dustinswales -physics/Interstitials/UFS_SCM_NEPTUNE/GFS_rrtmgp_pre.* @dustinswales @Qingfu-Liu @grantfirl @rhaesung @Qingfu-Liu @dustinswales -physics/Interstitials/UFS_SCM_NEPTUNE/GFS_rrtmg_pre.* @Qingfu-Liu @dustinswales @grantfirl @rhaesung @Qingfu-Liu @dustinswales -physics/Interstitials/UFS_SCM_NEPTUNE/GFS_rrtmgp_setup.* @dustinswales @Qingfu-Liu @grantfirl @rhaesung @Qingfu-Liu @dustinswales -physics/Interstitials/UFS_SCM_NEPTUNE/GFS_rrtmg_setup.* @Qingfu-Liu @dustinswales @grantfirl @rhaesung @Qingfu-Liu @dustinswales -physics/Interstitials/UFS_SCM_NEPTUNE/GFS_SCNV_generic_post.* @grantfirl @rhaesung @Qingfu-Liu @dustinswales -physics/Interstitials/UFS_SCM_NEPTUNE/GFS_SCNV_generic_pre.* @grantfirl @rhaesung @Qingfu-Liu @dustinswales -physics/Interstitials/UFS_SCM_NEPTUNE/GFS_stochastics.* @pjpegion @lisa-bengtsson @grantfirl @rhaesung @Qingfu-Liu @dustinswales -physics/Interstitials/UFS_SCM_NEPTUNE/GFS_suite_interstitial_1.* @grantfirl @rhaesung @Qingfu-Liu @dustinswales -physics/Interstitials/UFS_SCM_NEPTUNE/GFS_suite_interstitial_2.* @grantfirl @rhaesung @Qingfu-Liu @dustinswales -physics/Interstitials/UFS_SCM_NEPTUNE/GFS_suite_interstitial_3.* @grantfirl @rhaesung @Qingfu-Liu @dustinswales -physics/Interstitials/UFS_SCM_NEPTUNE/GFS_suite_interstitial_4.* @grantfirl @rhaesung @Qingfu-Liu @dustinswales -physics/Interstitials/UFS_SCM_NEPTUNE/GFS_suite_interstitial_5.* @grantfirl @rhaesung @Qingfu-Liu @dustinswales -physics/Interstitials/UFS_SCM_NEPTUNE/GFS_suite_stateout_reset.* @grantfirl @rhaesung @Qingfu-Liu @dustinswales -physics/Interstitials/UFS_SCM_NEPTUNE/GFS_suite_stateout_update.* @grantfirl @rhaesung @Qingfu-Liu @dustinswales -physics/Interstitials/UFS_SCM_NEPTUNE/GFS_surface_composites_inter.* @grantfirl @rhaesung @Qingfu-Liu @dustinswales -physics/Interstitials/UFS_SCM_NEPTUNE/GFS_surface_composites_post.* @grantfirl @rhaesung @Qingfu-Liu @dustinswales -physics/Interstitials/UFS_SCM_NEPTUNE/GFS_surface_composites_pre.* @grantfirl @rhaesung @Qingfu-Liu @dustinswales -physics/Interstitials/UFS_SCM_NEPTUNE/GFS_surface_generic_post.* @grantfirl @rhaesung @Qingfu-Liu @dustinswales -physics/Interstitials/UFS_SCM_NEPTUNE/GFS_surface_generic_pre.* @grantfirl @rhaesung @Qingfu-Liu @dustinswales -physics/Interstitials/UFS_SCM_NEPTUNE/GFS_surface_loop_control_part1.* @grantfirl @rhaesung @Qingfu-Liu @dustinswales -physics/Interstitials/UFS_SCM_NEPTUNE/GFS_surface_loop_control_part2.* @grantfirl @rhaesung @Qingfu-Liu @dustinswales -physics/Interstitials/UFS_SCM_NEPTUNE/GFS_time_vary_pre.fv3.* @grantfirl @rhaesung @Qingfu-Liu @dustinswales -physics/Interstitials/UFS_SCM_NEPTUNE/GFS_time_vary_pre.scm.* @grantfirl @rhaesung @Qingfu-Liu @dustinswales -physics/Interstitials/UFS_SCM_NEPTUNE/cnvc90.* @grantfirl @rhaesung @Qingfu-Liu @dustinswales -physics/Interstitials/UFS_SCM_NEPTUNE/dcyc2t3.* @Qingfu-Liu @dustinswales @grantfirl @rhaesung @Qingfu-Liu @dustinswales -physics/Interstitials/UFS_SCM_NEPTUNE/gcycle.F90 @grantfirl @rhaesung @Qingfu-Liu @dustinswales -physics/Interstitials/UFS_SCM_NEPTUNE/iccn_def.F @grantfirl @rhaesung @Qingfu-Liu @dustinswales -physics/Interstitials/UFS_SCM_NEPTUNE/iccninterp.F90 @grantfirl @rhaesung @Qingfu-Liu @dustinswales -physics/Interstitials/UFS_SCM_NEPTUNE/maximum_hourly_diagnostics.* @grantfirl @rhaesung @Qingfu-Liu @dustinswales -physics/Interstitials/UFS_SCM_NEPTUNE/scm_sfc_flux_spec.* @grantfirl @grantfirl @rhaesung @Qingfu-Liu @dustinswales -physics/Interstitials/UFS_SCM_NEPTUNE/sfcsub.F @grantfirl @rhaesung @Qingfu-Liu @dustinswales -physics/Interstitials/UFS_SCM_NEPTUNE/sgscloud_radpost.* @grantfirl @rhaesung @Qingfu-Liu @dustinswales -physics/Interstitials/UFS_SCM_NEPTUNE/sgscloud_radpre.* @grantfirl @rhaesung @Qingfu-Liu @dustinswales +* @grantfirl @scrasmussen @dustinswales ######################################################################## diff --git a/physics/CONV/C3/cu_c3_driver.meta b/physics/CONV/C3/cu_c3_driver.meta index af411cb6b9..32a493a114 100644 --- a/physics/CONV/C3/cu_c3_driver.meta +++ b/physics/CONV/C3/cu_c3_driver.meta @@ -288,6 +288,7 @@ units = none dimensions = () type = real + kind = kind_phys intent = in [phil] standard_name = geopotential diff --git a/physics/CONV/Grell_Freitas/cu_gf_driver.meta b/physics/CONV/Grell_Freitas/cu_gf_driver.meta index 39a20f7555..85b275c3c8 100644 --- a/physics/CONV/Grell_Freitas/cu_gf_driver.meta +++ b/physics/CONV/Grell_Freitas/cu_gf_driver.meta @@ -579,7 +579,6 @@ type = real kind = kind_phys intent = in - optional = True [do_mynnedmf] standard_name = flag_for_mellor_yamada_nakanishi_niino_pbl_scheme long_name = flag to activate MYNN-EDMF diff --git a/physics/CONV/SAMF/samfdeepcnv.meta b/physics/CONV/SAMF/samfdeepcnv.meta index 76d5def418..46183e1f8f 100644 --- a/physics/CONV/SAMF/samfdeepcnv.meta +++ b/physics/CONV/SAMF/samfdeepcnv.meta @@ -517,6 +517,7 @@ units = none dimensions = () type = real + kind = kind_phys intent = in [maxMF] standard_name = maximum_mass_flux diff --git a/physics/CONV/SAMF/samfshalcnv.meta b/physics/CONV/SAMF/samfshalcnv.meta index 6fc9c5d0fc..5b5c7a2ab8 100644 --- a/physics/CONV/SAMF/samfshalcnv.meta +++ b/physics/CONV/SAMF/samfshalcnv.meta @@ -549,6 +549,7 @@ units = none dimensions = () type = real + kind = kind_phys intent = in [cat_adj_shal] standard_name = adjustment_for_convective_advection_time_for_shallow diff --git a/physics/GWD/cires_ugwp.F90 b/physics/GWD/cires_ugwp.F90 index f9ee82c507..59cf81ed5c 100644 --- a/physics/GWD/cires_ugwp.F90 +++ b/physics/GWD/cires_ugwp.F90 @@ -16,7 +16,7 @@ module cires_ugwp use machine, only: kind_phys - use cires_ugwpv0_module, only: knob_ugwp_version, cires_ugwpv0_mod_init, cires_ugwpv0_mod_finalize + use cires_ugwpv0_module, only: knob_ugwp_version, cires_ugwpv0_mod_init, cires_ugwpv0_mod_final use ugwp_driver_v0 use gwdps, only: gwdps_run use cires_ugwp_triggers @@ -25,7 +25,7 @@ module cires_ugwp private - public cires_ugwp_init, cires_ugwp_run, cires_ugwp_finalize + public cires_ugwp_init, cires_ugwp_run, cires_ugwp_final logical :: is_initialized = .False. @@ -103,16 +103,16 @@ subroutine cires_ugwp_init (me, master, nlunit, input_nml_file, logunit, & end subroutine cires_ugwp_init ! ----------------------------------------------------------------------- -! finalize of cires_ugwp (_finalize) +! finalize of cires_ugwp (_final) ! ----------------------------------------------------------------------- !> The subroutine finalizes the CIRES UGWP #if 0 -!> \section arg_table_cires_ugwp_finalize Argument Table -!! \htmlinclude cires_ugwp_finalize.html +!> \section arg_table_cires_ugwp_final Argument Table +!! \htmlinclude cires_ugwp_final.html !! #endif - subroutine cires_ugwp_finalize(errmsg, errflg) + subroutine cires_ugwp_final(errmsg, errflg) implicit none ! @@ -125,11 +125,11 @@ subroutine cires_ugwp_finalize(errmsg, errflg) if (.not.is_initialized) return - call cires_ugwpv0_mod_finalize() + call cires_ugwpv0_mod_final() is_initialized = .false. - end subroutine cires_ugwp_finalize + end subroutine cires_ugwp_final ! ----------------------------------------------------------------------- ! originally from ugwp_driver_v0.f diff --git a/physics/GWD/cires_ugwp.meta b/physics/GWD/cires_ugwp.meta index f16ec7ce73..84a4b0d75d 100644 --- a/physics/GWD/cires_ugwp.meta +++ b/physics/GWD/cires_ugwp.meta @@ -163,7 +163,7 @@ ######################################################################## [ccpp-arg-table] - name = cires_ugwp_finalize + name = cires_ugwp_final type = scheme [errmsg] standard_name = ccpp_error_message diff --git a/physics/GWD/cires_ugwp_module.F90 b/physics/GWD/cires_ugwp_module.F90 index 3695487cde..ae1ada7f9e 100644 --- a/physics/GWD/cires_ugwp_module.F90 +++ b/physics/GWD/cires_ugwp_module.F90 @@ -71,7 +71,7 @@ module cires_ugwpv0_module !/ ! ! allocatable arrays, initilized during "cires_ugwp_init" & -! released during "cires_ugwp_finalize" +! released during "cires_ugwp_final" ! real, allocatable :: kvg(:), ktg(:), krad(:), kion(:) real, allocatable :: zkm(:), pmb(:) @@ -227,11 +227,11 @@ subroutine cires_ugwpv0_mod_init (me, master, nlunit, input_nml_file, logunit, & end subroutine cires_ugwpv0_mod_init ! ! ----------------------------------------------------------------------- -! finalize of cires_ugwp (_finalize) +! finalize of cires_ugwp (_final) ! ----------------------------------------------------------------------- !> This subroutine deallocate sources/spectra and some diagnostics. - subroutine cires_ugwpv0_mod_finalize + subroutine cires_ugwpv0_mod_final ! ! deallocate sources/spectra & some diagnostics need to find where "deaalocate them" ! before "end" of the FV3GFS @@ -245,5 +245,5 @@ subroutine cires_ugwpv0_mod_finalize deallocate( zkm, pmb ) deallocate( rfdis, rfdist) - end subroutine cires_ugwpv0_mod_finalize + end subroutine cires_ugwpv0_mod_final end module cires_ugwpv0_module diff --git a/physics/GWD/cires_ugwpv1_module.F90 b/physics/GWD/cires_ugwpv1_module.F90 index 534c1cb872..e250d2a026 100644 --- a/physics/GWD/cires_ugwpv1_module.F90 +++ b/physics/GWD/cires_ugwpv1_module.F90 @@ -92,7 +92,7 @@ module cires_ugwpv1_module ! ! allocatable arrays, initilized during "cires_ugwp_init" & -! released during "cires_ugwp_finalize" +! released during "cires_ugwp_final" ! real(kind=kind_phys), allocatable :: kvg(:), ktg(:), krad(:), kion(:) real(kind=kind_phys), allocatable :: zkm(:), pmb(:) diff --git a/physics/GWD/ugwpv1_gsldrag.F90 b/physics/GWD/ugwpv1_gsldrag.F90 index f4014fa108..4d34ae785f 100644 --- a/physics/GWD/ugwpv1_gsldrag.F90 +++ b/physics/GWD/ugwpv1_gsldrag.F90 @@ -54,7 +54,7 @@ module ugwpv1_gsldrag private - public ugwpv1_gsldrag_init, ugwpv1_gsldrag_run, ugwpv1_gsldrag_finalize + public ugwpv1_gsldrag_init, ugwpv1_gsldrag_run, ugwpv1_gsldrag_final logical :: is_initialized = .False. @@ -249,15 +249,15 @@ subroutine ugwpv1_gsldrag_init ( & end subroutine ugwpv1_gsldrag_init ! ----------------------------------------------------------------------- -! finalize of ugwpv1_gsldrag (_finalize) +! finalize of ugwpv1_gsldrag (_final) ! ----------------------------------------------------------------------- !>@brief The subroutine finalizes the CIRES UGWP -!> \section arg_table_ugwpv1_gsldrag_finalize Argument Table -!! \htmlinclude ugwpv1_gsldrag_finalize.html +!> \section arg_table_ugwpv1_gsldrag_final Argument Table +!! \htmlinclude ugwpv1_gsldrag_final.html !! - subroutine ugwpv1_gsldrag_finalize(errmsg, errflg) + subroutine ugwpv1_gsldrag_final(errmsg, errflg) implicit none @@ -274,7 +274,7 @@ subroutine ugwpv1_gsldrag_finalize(errmsg, errflg) is_initialized = .false. - end subroutine ugwpv1_gsldrag_finalize + end subroutine ugwpv1_gsldrag_final ! ----------------------------------------------------------------------- ! originally from ugwp_driver_v0.f diff --git a/physics/GWD/ugwpv1_gsldrag.meta b/physics/GWD/ugwpv1_gsldrag.meta index a969c44d47..65b9f3cae7 100644 --- a/physics/GWD/ugwpv1_gsldrag.meta +++ b/physics/GWD/ugwpv1_gsldrag.meta @@ -257,7 +257,7 @@ ######################################################################## [ccpp-arg-table] - name = ugwpv1_gsldrag_finalize + name = ugwpv1_gsldrag_final type = scheme [errmsg] standard_name = ccpp_error_message diff --git a/physics/GWD/unified_ugwp.F90 b/physics/GWD/unified_ugwp.F90 index ab5ee941c0..e826e1567f 100644 --- a/physics/GWD/unified_ugwp.F90 +++ b/physics/GWD/unified_ugwp.F90 @@ -35,8 +35,8 @@ module unified_ugwp use machine, only: kind_phys -! use cires_ugwp_module, only: knob_ugwp_version, cires_ugwp_mod_init, cires_ugwp_mod_finalize - use cires_ugwpv0_module, only: knob_ugwp_version, cires_ugwpv0_mod_init, cires_ugwpv0_mod_finalize +! use cires_ugwp_module, only: knob_ugwp_version, cires_ugwp_mod_init, cires_ugwp_mod_final + use cires_ugwpv0_module, only: knob_ugwp_version, cires_ugwpv0_mod_init, cires_ugwpv0_mod_final use gwdps, only: gwdps_run use cires_ugwp_triggers use ugwp_driver_v0 @@ -46,7 +46,7 @@ module unified_ugwp private - public unified_ugwp_init, unified_ugwp_run, unified_ugwp_finalize + public unified_ugwp_init, unified_ugwp_run, unified_ugwp_final logical :: is_initialized = .false. @@ -146,15 +146,15 @@ subroutine unified_ugwp_init (me, master, nlunit, input_nml_file, logunit, & end subroutine unified_ugwp_init ! ----------------------------------------------------------------------- -! finalize of unified_ugwp (_finalize) +! finalize of unified_ugwp (_final) ! ----------------------------------------------------------------------- !>@brief The subroutine finalizes the GFS UGWP -!> \section arg_table_unified_ugwp_finalize Argument Table -!! \htmlinclude unified_ugwp_finalize.html +!> \section arg_table_unified_ugwp_final Argument Table +!! \htmlinclude unified_ugwp_final.html !! - subroutine unified_ugwp_finalize(do_ugwp_v0,do_ugwp_v0_nst_only, & + subroutine unified_ugwp_final(do_ugwp_v0,do_ugwp_v0_nst_only, & errmsg, errflg) implicit none @@ -169,11 +169,11 @@ subroutine unified_ugwp_finalize(do_ugwp_v0,do_ugwp_v0_nst_only, & if (.not.is_initialized) return - if ( do_ugwp_v0 .or. do_ugwp_v0_nst_only ) call cires_ugwpv0_mod_finalize() + if ( do_ugwp_v0 .or. do_ugwp_v0_nst_only ) call cires_ugwpv0_mod_final() is_initialized = .false. - end subroutine unified_ugwp_finalize + end subroutine unified_ugwp_final ! ----------------------------------------------------------------------- ! originally from ugwp_driver_v0.f diff --git a/physics/GWD/unified_ugwp.meta b/physics/GWD/unified_ugwp.meta index 0e7bc78365..37fbb09080 100644 --- a/physics/GWD/unified_ugwp.meta +++ b/physics/GWD/unified_ugwp.meta @@ -229,7 +229,7 @@ ######################################################################## [ccpp-arg-table] - name = unified_ugwp_finalize + name = unified_ugwp_final type = scheme [do_ugwp_v0] standard_name = flag_for_ugwp_version_0 diff --git a/physics/Interstitials/UFS_SCM_NEPTUNE/GFS_MP_generic_post.meta b/physics/Interstitials/UFS_SCM_NEPTUNE/GFS_MP_generic_post.meta index ea1b456e34..0ae61d8595 100644 --- a/physics/Interstitials/UFS_SCM_NEPTUNE/GFS_MP_generic_post.meta +++ b/physics/Interstitials/UFS_SCM_NEPTUNE/GFS_MP_generic_post.meta @@ -228,7 +228,7 @@ dimensions = (horizontal_loop_extent,vertical_layer_dimension) type = real kind = kind_phys - intent = in + intent = inout [gq0] standard_name = tracer_concentration_of_new_state long_name = tracer concentration updated by physics diff --git a/physics/Interstitials/UFS_SCM_NEPTUNE/GFS_SCNV_generic_post.meta b/physics/Interstitials/UFS_SCM_NEPTUNE/GFS_SCNV_generic_post.meta index 02b6bbe543..9e8c1a4b12 100644 --- a/physics/Interstitials/UFS_SCM_NEPTUNE/GFS_SCNV_generic_post.meta +++ b/physics/Interstitials/UFS_SCM_NEPTUNE/GFS_SCNV_generic_post.meta @@ -184,7 +184,7 @@ [shcnvcw] standard_name = flag_for_saving_shallow_convective_cloud_area_fraction long_name = flag for shallow convective cloud - units = + units = flag dimensions = () type = logical intent = in diff --git a/physics/Interstitials/UFS_SCM_NEPTUNE/GFS_SCNV_generic_pre.meta b/physics/Interstitials/UFS_SCM_NEPTUNE/GFS_SCNV_generic_pre.meta index fbd9e47d83..a0ee036548 100644 --- a/physics/Interstitials/UFS_SCM_NEPTUNE/GFS_SCNV_generic_pre.meta +++ b/physics/Interstitials/UFS_SCM_NEPTUNE/GFS_SCNV_generic_pre.meta @@ -98,7 +98,7 @@ dimensions = (horizontal_loop_extent,vertical_layer_dimension,number_of_tracers) type = real kind = kind_phys - intent = in + intent = inout [ntqv] standard_name = index_of_specific_humidity_in_tracer_concentration_array long_name = tracer index for water vapor (specific humidity) diff --git a/physics/Interstitials/UFS_SCM_NEPTUNE/GFS_debug.F90 b/physics/Interstitials/UFS_SCM_NEPTUNE/GFS_debug.F90 deleted file mode 100644 index ae92a4789e..0000000000 --- a/physics/Interstitials/UFS_SCM_NEPTUNE/GFS_debug.F90 +++ /dev/null @@ -1,1638 +0,0 @@ -!> \file GFS_debug.F90 - - -!! -!! This is the place to switch between different debug outputs. -!! - The default behavior for Intel (or any compiler other than GNU) -!! is to print mininmum, maximum and 32-bit Adler checksum for arrays. -!! - The default behavior for GNU is to mininmum, maximum and -!! mean value of arrays, because calculating the checksum leads -!! to segmentation faults with gfortran (bug in malloc?). -!! - If none of the #define preprocessor statements is used, -!! arrays are printed in full (this is often unpractical). -!! - All output to stdout/stderr from these routines are prefixed -!! with 'XXX: ' so that they can be easily removed from the log files -!! using "grep -ve 'XXX: ' ..." if needed. -!! - Only one #define statement can be active at any time -!! -!! Available options for debug output: -!! -!! #define PRINT_SUM: print mininmum, maximum and mean value of arrays -!! -!! #define PRINT_CHKSUM: mininmum, maximum and 32-bit Adler checksum for arrays -!! - -#ifdef __GFORTRAN__ -#define PRINT_SUM -#else -#define PRINT_CHKSUM -#endif - -!! -!! -!! - - module print_var_chksum - - use machine, only: kind_phys - - implicit none - - private - - public chksum_int, chksum_real, print_var - - interface print_var - module procedure print_logic_0d - module procedure print_logic_1d - module procedure print_int_0d - module procedure print_int_1d - module procedure print_int_2d - module procedure print_real_0d - module procedure print_real_1d - module procedure print_real_2d - module procedure print_real_3d - module procedure print_real_4d - end interface - - contains - - subroutine print_logic_0d(mpirank, omprank, blkno, lat_d, lon_d, name, var) - - integer, intent(in) :: mpirank, omprank, blkno - real(kind_phys), intent(in) :: lat_d(:), lon_d(:) - character(len=*), intent(in) :: name - logical, intent(in) :: var - - write(0,'(2a,3i6,1x,l)') 'XXX: ', trim(name), mpirank, omprank, blkno, var - - end subroutine print_logic_0d - - subroutine print_logic_1d(mpirank, omprank, blkno, lat_d, lon_d, name, var) - - integer, intent(in) :: mpirank, omprank, blkno - real(kind_phys), intent(in) :: lat_d(:), lon_d(:) - character(len=*), intent(in) :: name - logical, intent(in) :: var(:) - - integer :: i - -#ifdef PRINT_SUM - write(0,'(2a,3i6,2i8)') 'XXX: ', trim(name), mpirank, omprank, blkno, size(var), count(var) -#elif defined(PRINT_CHKSUM) - write(0,'(2a,3i6,2i8)') 'XXX: ', trim(name), mpirank, omprank, blkno, size(var), count(var) -#else - do i=lbound(var,1),ubound(var,1) - write(0,'(2a,3i6,i6,2e16.7,1x,l)') 'XXX: ', trim(name), mpirank, omprank, blkno, i, lat_d(i), lon_d(i), var(i) - end do -#endif - - end subroutine print_logic_1d - - subroutine print_int_0d(mpirank, omprank, blkno, lat_d, lon_d, name, var) - - integer, intent(in) :: mpirank, omprank, blkno - real(kind_phys), intent(in) :: lat_d(:), lon_d(:) - character(len=*), intent(in) :: name - integer, intent(in) :: var - - write(0,'(2a,3i6,i15)') 'XXX: ', trim(name), mpirank, omprank, blkno, var - - end subroutine print_int_0d - - subroutine print_int_1d(mpirank, omprank, blkno, lat_d, lon_d, name, var) - - integer, intent(in) :: mpirank, omprank, blkno - real(kind_phys), intent(in) :: lat_d(:), lon_d(:) - character(len=*), intent(in) :: name - integer, intent(in) :: var(:) - - integer :: i - -#ifdef PRINT_SUM - write(0,'(2a,3i6,3i15)') 'XXX: ', trim(name), mpirank, omprank, blkno, sum(var), minval(var), maxval(var) -#elif defined(PRINT_CHKSUM) - write(0,'(2a,3i6,i20,2i15)') 'XXX: ', trim(name), mpirank, omprank, blkno, chksum_int(size(var),var), minval(var), maxval(var) -#else - do i=lbound(var,1),ubound(var,1) - write(0,'(2a,3i6,i6,2e16.7,i15)') 'XXX: ', trim(name), mpirank, omprank, blkno, i, lat_d(i), lon_d(i), var(i) - end do -#endif - - end subroutine print_int_1d - - subroutine print_int_2d(mpirank, omprank, blkno, lat_d, lon_d, name, var) - - integer, intent(in) :: mpirank, omprank, blkno - real(kind_phys), intent(in) :: lat_d(:), lon_d(:) - character(len=*), intent(in) :: name - integer, intent(in) :: var(:,:) - - integer :: i, k - -#ifdef PRINT_SUM - write(0,'(2a,3i6,3i15)') 'XXX: ', trim(name), mpirank, omprank, blkno, sum(var), minval(var), maxval(var) -#elif defined(PRINT_CHKSUM) - write(0,'(2a,3i6,i20,2i15)') 'XXX: ', trim(name), mpirank, omprank, blkno, chksum_int(size(var),var), minval(var), maxval(var) -#else - do i=lbound(var,1),ubound(var,1) - do k=lbound(var,2),ubound(var,2) - write(0,'(2a,3i6,2i6,2e16.7,i15)') 'XXX: ', trim(name), mpirank, omprank, blkno, i, k, lat_d(i), lon_d(i), var(i,k) - end do - end do -#endif - - end subroutine print_int_2d - - subroutine print_real_0d(mpirank, omprank, blkno, lat_d, lon_d, name, var) - - integer, intent(in) :: mpirank, omprank, blkno - real(kind_phys), intent(in) :: lat_d(:), lon_d(:) - character(len=*), intent(in) :: name - real(kind_phys), intent(in) :: var - - write(0,'(2a,3i6,e35.25)') 'XXX: ', trim(name), mpirank, omprank, blkno, var - - end subroutine print_real_0d - - subroutine print_real_1d(mpirank, omprank, blkno, lat_d, lon_d, name, var) - - integer, intent(in) :: mpirank, omprank, blkno - real(kind_phys), intent(in) :: lat_d(:), lon_d(:) - character(len=*), intent(in) :: name - real(kind_phys), intent(in) :: var(:) - - integer :: i - -#ifdef PRINT_SUM - write(0,'(2a,3i6,3e35.25)') 'XXX: ', trim(name), mpirank, omprank, blkno, sum(var), minval(var), maxval(var) -#elif defined(PRINT_CHKSUM) - write(0,'(2a,3i6,i20,2e35.25)') 'XXX: ', trim(name), mpirank, omprank, blkno, chksum_real(size(var),var), minval(var), maxval(var) -#else - do i=lbound(var,1),ubound(var,1) - write(0,'(2a,3i6,i6,2e16.7,e35.25)') 'XXX: ', trim(name), mpirank, omprank, blkno, i, lat_d(i), lon_d(i), var(i) - end do -#endif - - end subroutine print_real_1d - - subroutine print_real_2d(mpirank, omprank, blkno, lat_d, lon_d, name, var) - - integer, intent(in) :: mpirank, omprank, blkno - real(kind_phys), intent(in) :: lat_d(:), lon_d(:) - character(len=*), intent(in) :: name - real(kind_phys), intent(in) :: var(:,:) - - integer :: k, i - -#ifdef PRINT_SUM - write(0,'(2a,3i6,3e35.25)') 'XXX: ', trim(name), mpirank, omprank, blkno, sum(var), minval(var), maxval(var) -#elif defined(PRINT_CHKSUM) - write(0,'(2a,3i6,i20,2e35.25)') 'XXX: ', trim(name), mpirank, omprank, blkno, chksum_real(size(var),reshape(var,(/size(var)/))), minval(var), maxval(var) -#else - do i=lbound(var,1),ubound(var,1) - do k=lbound(var,2),ubound(var,2) - write(0,'(2a,3i6,2i6,2e16.7,e35.25)') 'XXX: ', trim(name), mpirank, omprank, blkno, i, k, lat_d(i), lon_d(i), var(i,k) - end do - end do -#endif - - end subroutine print_real_2d - - subroutine print_real_3d(mpirank, omprank, blkno, lat_d, lon_d, name, var) - - integer, intent(in) :: mpirank, omprank, blkno - real(kind_phys), intent(in) :: lat_d(:), lon_d(:) - character(len=*), intent(in) :: name - real(kind_phys), intent(in) :: var(:,:,:) - - integer :: k, i, l - -#ifdef PRINT_SUM - write(0,'(2a,3i6,3e35.25)') 'XXX: ', trim(name), mpirank, omprank, blkno, sum(var), minval(var), maxval(var) -#elif defined(PRINT_CHKSUM) - write(0,'(2a,3i6,i20,2e35.25)') 'XXX: ', trim(name), mpirank, omprank, blkno, chksum_real(size(var),reshape(var,(/size(var)/))), minval(var), maxval(var) -#else - do i=lbound(var,1),ubound(var,1) - do k=lbound(var,2),ubound(var,2) - do l=lbound(var,3),ubound(var,3) - write(0,'(2a,3i6,3i6,2e16.7,e35.25)') 'XXX: ', trim(name), mpirank, omprank, blkno, i, k, l, lat_d(i), lon_d(i), var(i,k,l) - end do - end do - end do -#endif - - end subroutine print_real_3d - - subroutine print_real_4d(mpirank, omprank, blkno, lat_d, lon_d, name, var) - - integer, intent(in) :: mpirank, omprank, blkno - real(kind_phys), intent(in) :: lat_d(:), lon_d(:) - character(len=*), intent(in) :: name - real(kind_phys), intent(in) :: var(:,:,:,:) - - integer :: k, i, l, m - -#ifdef PRINT_SUM - write(0,'(2a,3i6,3e35.25)') 'XXX: ', trim(name), mpirank, omprank, blkno, sum(var), minval(var), maxval(var) -#elif defined(PRINT_CHKSUM) - write(0,'(2a,3i6,i20,2e35.25)') 'XXX: ', trim(name), mpirank, omprank, blkno, chksum_real(size(var),reshape(var,(/size(var)/))), minval(var), maxval(var) -#else - do i=lbound(var,1),ubound(var,1) - do k=lbound(var,2),ubound(var,2) - do l=lbound(var,3),ubound(var,3) - do m=lbound(var,4),ubound(var,4) - write(0,'(2a,3i6,4i6,2e16.7,e35.25)') 'XXX: ', trim(name), mpirank, omprank, blkno, i, k, l, m, lat_d(i), lon_d(i), var(i,k,l,m) - end do - end do - end do - end do -#endif - - end subroutine print_real_4d - - function chksum_int(N, var) result(hash) - - integer, intent(in) :: N - integer, dimension(1:N), intent(in) :: var - integer*8, dimension(1:N) :: int_var - integer*8 :: a, b, i, hash - integer*8, parameter :: mod_adler=65521 - - a=1 - b=0 - i=1 - hash = 0 - int_var = TRANSFER(var, a, N) - - do i= 1, N - a = MOD(a + int_var(i), mod_adler) - b = MOD(b+a, mod_adler) - end do - - hash = ior(b * 65536, a) - - end function chksum_int - - function chksum_real(N, var) result(hash) - - integer, intent(in) :: N - real(kind_phys), dimension(1:N), intent(in) :: var - integer*8, dimension(1:N) :: int_var - integer*8 :: a, b, i, hash - integer*8, parameter :: mod_adler=65521 - - a=1 - b=0 - i=1 - hash = 0 - int_var = TRANSFER(var, a, N) - - do i= 1, N - a = MOD(a + int_var(i), mod_adler) - b = MOD(b+a, mod_adler) - end do - - hash = ior(b * 65536, a) - - end function chksum_real - - end module print_var_chksum - - module GFS_diagtoscreen - - use print_var_chksum, only: print_var - - use machine, only: kind_phys - - use GFS_typedefs, only: GFS_control_type, GFS_statein_type, & - GFS_stateout_type, GFS_sfcprop_type, & - GFS_coupling_type, GFS_grid_type, & - GFS_tbd_type, GFS_cldprop_type, & - GFS_radtend_type, GFS_diag_type - - use CCPP_typedefs, only: GFS_interstitial_type - - implicit none - - private - - public GFS_diagtoscreen_init, GFS_diagtoscreen_timestep_init, GFS_diagtoscreen_run - - contains - -!> \section arg_table_GFS_diagtoscreen_init Argument Table -!! \htmlinclude GFS_diagtoscreen_init.html -!! - subroutine GFS_diagtoscreen_init (Model, Statein, Stateout, Sfcprop, Coupling, & - Grid, Tbd, Cldprop, Radtend, Diag, Interstitial, & - errmsg, errflg) - - implicit none - - !--- interface variables - type(GFS_control_type), intent(in) :: Model - type(GFS_statein_type), intent(in) :: Statein - type(GFS_stateout_type), intent(in) :: Stateout - type(GFS_sfcprop_type), intent(in) :: Sfcprop - type(GFS_coupling_type), intent(in) :: Coupling - type(GFS_grid_type), intent(in) :: Grid - type(GFS_tbd_type), intent(in) :: Tbd - type(GFS_cldprop_type), intent(in) :: Cldprop - type(GFS_radtend_type), intent(in) :: Radtend - type(GFS_diag_type), intent(in) :: Diag - type(GFS_interstitial_type), intent(in) :: Interstitial(:) - character(len=*), intent(out) :: errmsg - integer, intent(out) :: errflg - - ! Initialize CCPP error handling variables - errmsg = '' - errflg = 0 - - call GFS_diagtoscreen_run (Model, Statein, Stateout, Sfcprop, & - Coupling, Grid, Tbd, Cldprop, & - Radtend, Diag, Interstitial(1), & - size(Interstitial), -999, errmsg, errflg) - - end subroutine GFS_diagtoscreen_init - -!> \section arg_table_GFS_diagtoscreen_timestep_init Argument Table -!! \htmlinclude GFS_diagtoscreen_timestep_init.html -!! - subroutine GFS_diagtoscreen_timestep_init (Model, Statein, Stateout, Sfcprop, Coupling, & - Grid, Tbd, Cldprop, Radtend, Diag, Interstitial, & - errmsg, errflg) - - implicit none - - !--- interface variables - type(GFS_control_type), intent(in) :: Model - type(GFS_statein_type), intent(in) :: Statein - type(GFS_stateout_type), intent(in) :: Stateout - type(GFS_sfcprop_type), intent(in) :: Sfcprop - type(GFS_coupling_type), intent(in) :: Coupling - type(GFS_grid_type), intent(in) :: Grid - type(GFS_tbd_type), intent(in) :: Tbd - type(GFS_cldprop_type), intent(in) :: Cldprop - type(GFS_radtend_type), intent(in) :: Radtend - type(GFS_diag_type), intent(in) :: Diag - type(GFS_interstitial_type), intent(in) :: Interstitial(:) - character(len=*), intent(out) :: errmsg - integer, intent(out) :: errflg - - ! Initialize CCPP error handling variables - errmsg = '' - errflg = 0 - - call GFS_diagtoscreen_run (Model, Statein, Stateout, Sfcprop, & - Coupling, Grid, Tbd, Cldprop, & - Radtend, Diag, Interstitial(1), & - size(Interstitial), -999, errmsg, errflg) - - end subroutine GFS_diagtoscreen_timestep_init - -!> \section arg_table_GFS_diagtoscreen_run Argument Table -!! \htmlinclude GFS_diagtoscreen_run.html -!! - subroutine GFS_diagtoscreen_run (Model, Statein, Stateout, Sfcprop, Coupling, & - Grid, Tbd, Cldprop, Radtend, Diag, Interstitial, & - nthreads, blkno, errmsg, errflg) - - use mpi_f08 -#ifdef _OPENMP - use omp_lib -#endif - - implicit none - - !--- interface variables - type(GFS_control_type), intent(in ) :: Model - type(GFS_statein_type), intent(in ) :: Statein - type(GFS_stateout_type), intent(in ) :: Stateout - type(GFS_sfcprop_type), intent(in ) :: Sfcprop - type(GFS_coupling_type), intent(in ) :: Coupling - type(GFS_grid_type), intent(in ) :: Grid - type(GFS_tbd_type), intent(in ) :: Tbd - type(GFS_cldprop_type), intent(in ) :: Cldprop - type(GFS_radtend_type), intent(in ) :: Radtend - type(GFS_diag_type), intent(in ) :: Diag - type(GFS_interstitial_type), intent(in) :: Interstitial - integer, intent(in ) :: nthreads - integer, intent(in ) :: blkno - character(len=*), intent(out) :: errmsg - integer, intent(out) :: errflg - - !--- local variables - integer :: impi, iomp, ierr, n, idtend, iprocess, itracer - integer :: mpirank, mpisize - integer :: omprank, ompsize - - ! Initialize CCPP error handling variables - errmsg = '' - errflg = 0 - - mpirank = Model%me - mpisize = Model%ntasks -#ifdef _OPENMP - omprank = OMP_GET_THREAD_NUM() - ompsize = nthreads -#else - omprank = 0 - ompsize = 1 -#endif - -#ifdef _OPENMP -!$OMP BARRIER -#endif -! call MPI_BARRIER(Model%communicator,ierr) - - do impi=0,mpisize-1 - do iomp=0,ompsize-1 - if (mpirank==impi .and. omprank==iomp) then - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Model%kdt' , Model%kdt) - ! Sfcprop - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Sfcprop%slmsk' , Sfcprop%slmsk) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Sfcprop%oceanfrac' , Sfcprop%oceanfrac) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Sfcprop%landfrac' , Sfcprop%landfrac) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Sfcprop%lakefrac' , Sfcprop%lakefrac) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Sfcprop%tsfc' , Sfcprop%tsfc) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Sfcprop%tsfco' , Sfcprop%tsfco) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Sfcprop%tsfcl' , Sfcprop%tsfcl) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Sfcprop%tisfc' , Sfcprop%tisfc) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Sfcprop%snowd' , Sfcprop%snowd) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Sfcprop%zorl' , Sfcprop%zorl) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Sfcprop%zorlw' , Sfcprop%zorlw) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Sfcprop%zorll' , Sfcprop%zorll) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Sfcprop%zorli' , Sfcprop%zorli) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Sfcprop%zorlwav' , Sfcprop%zorlwav) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Sfcprop%fice' , Sfcprop%fice) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Sfcprop%hprime' , Sfcprop%hprime) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Sfcprop%sncovr' , Sfcprop%sncovr) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Sfcprop%snoalb' , Sfcprop%snoalb) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Sfcprop%alvsf' , Sfcprop%alvsf) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Sfcprop%alnsf' , Sfcprop%alnsf) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Sfcprop%alvwf' , Sfcprop%alvwf) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Sfcprop%alnwf' , Sfcprop%alnwf) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Sfcprop%facsf' , Sfcprop%facsf) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Sfcprop%facwf' , Sfcprop%facwf) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Sfcprop%slope' , Sfcprop%slope) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Sfcprop%slope_save', Sfcprop%slope_save) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Sfcprop%shdmin' , Sfcprop%shdmin) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Sfcprop%shdmax' , Sfcprop%shdmax) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Sfcprop%tg3' , Sfcprop%tg3) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Sfcprop%vfrac' , Sfcprop%vfrac) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Sfcprop%vtype' , Sfcprop%vtype) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Sfcprop%vtype_save', Sfcprop%vtype_save) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Sfcprop%stype' , Sfcprop%stype) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Sfcprop%stype_save', Sfcprop%stype_save) - - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Sfcprop%scolor' , Sfcprop%scolor) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Sfcprop%scolore_save', Sfcprop%scolor_save) - - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Sfcprop%uustar' , Sfcprop%uustar) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Sfcprop%oro' , Sfcprop%oro) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Sfcprop%oro_uf' , Sfcprop%oro_uf) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Sfcprop%hice' , Sfcprop%hice) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Sfcprop%weasd' , Sfcprop%weasd) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Sfcprop%weasdl' , Sfcprop%weasdl) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Sfcprop%%weasdi' , Sfcprop%weasdi) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Sfcprop%canopy' , Sfcprop%canopy) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Sfcprop%ffmm' , Sfcprop%ffmm) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Sfcprop%ffhh' , Sfcprop%ffhh) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Sfcprop%f10m' , Sfcprop%f10m) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Sfcprop%tprcp' , Sfcprop%tprcp) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Sfcprop%srflag' , Sfcprop%srflag) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Sfcprop%slc' , Sfcprop%slc) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Sfcprop%smc' , Sfcprop%smc) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Sfcprop%stc' , Sfcprop%stc) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Sfcprop%t2m' , Sfcprop%t2m) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Sfcprop%q2m' , Sfcprop%q2m) - if (Model%nstf_name(1)>0) then - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Sfcprop%tref ', Sfcprop%tref) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Sfcprop%z_c ', Sfcprop%z_c) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Sfcprop%c_0 ', Sfcprop%c_0) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Sfcprop%c_d ', Sfcprop%c_d) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Sfcprop%w_0 ', Sfcprop%w_0) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Sfcprop%w_d ', Sfcprop%w_d) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Sfcprop%xt ', Sfcprop%xt) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Sfcprop%xs ', Sfcprop%xs) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Sfcprop%xu ', Sfcprop%xu) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Sfcprop%xv ', Sfcprop%xv) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Sfcprop%xz ', Sfcprop%xz) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Sfcprop%zm ', Sfcprop%zm) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Sfcprop%xtts ', Sfcprop%xtts) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Sfcprop%xzts ', Sfcprop%xzts) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Sfcprop%d_conv ', Sfcprop%d_conv) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Sfcprop%ifd ', Sfcprop%ifd) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Sfcprop%dt_cool ', Sfcprop%dt_cool) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Sfcprop%qrain ', Sfcprop%qrain) - end if - ! CCPP/RUC only - if (Model%lsm == Model%lsm_ruc) then - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Sfcprop%sh2o', Sfcprop%sh2o) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Sfcprop%smois', Sfcprop%smois) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Sfcprop%tslb', Sfcprop%tslb) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Sfcprop%clw_surf_land', Sfcprop%clw_surf_land) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Sfcprop%clw_surf_ice', Sfcprop%clw_surf_ice) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Sfcprop%qwv_surf_land', Sfcprop%qwv_surf_land) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Sfcprop%qwv_surf_ice', Sfcprop%qwv_surf_ice) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Sfcprop%flag_frsoil', Sfcprop%flag_frsoil) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Sfcprop%rhofr', Sfcprop%rhofr) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Sfcprop%tsnow_land', Sfcprop%tsnow_land) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Sfcprop%tsnow_ice', Sfcprop%tsnow_ice) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Sfcprop%snowfallac_land', Sfcprop%snowfallac_land) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Sfcprop%snowfallac_ice', Sfcprop%snowfallac_ice) - end if - ! Revised surface albedo and emissivity calculation - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Sfcprop%emis_lnd', Sfcprop%emis_lnd) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Sfcprop%emis_ice', Sfcprop%emis_ice) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Sfcprop%emis_wat', Sfcprop%emis_wat) - ! NoahMP and RUC - if (Model%lsm == Model%lsm_ruc .or. Model%lsm == Model%lsm_noahmp) then - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Sfcprop%albdirvis_lnd', Sfcprop%albdirvis_lnd) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Sfcprop%albdirnir_lnd', Sfcprop%albdirnir_lnd) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Sfcprop%albdifvis_lnd', Sfcprop%albdifvis_lnd) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Sfcprop%albdifnir_lnd', Sfcprop%albdifnir_lnd) - end if - ! RUC only - if (Model%lsm == Model%lsm_ruc) then - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Sfcprop%albdirvis_ice', Sfcprop%albdirvis_ice) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Sfcprop%albdifvis_ice', Sfcprop%albdifvis_ice) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Sfcprop%albdirnir_ice', Sfcprop%albdirnir_ice) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Sfcprop%albdifnir_ice', Sfcprop%albdifnir_ice) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Sfcprop%sfalb_lnd', Sfcprop%sfalb_lnd) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Sfcprop%sfalb_ice', Sfcprop%sfalb_ice) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Sfcprop%sfalb_lnd_bck', Sfcprop%sfalb_lnd_bck) - end if - ! Radtend - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Radtend%sfcfsw%upfxc', Radtend%sfcfsw(:)%upfxc) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Radtend%sfcfsw%dnfxc', Radtend%sfcfsw(:)%dnfxc) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Radtend%sfcfsw%upfx0', Radtend%sfcfsw(:)%upfx0) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Radtend%sfcfsw%dnfx0', Radtend%sfcfsw(:)%dnfx0) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Radtend%sfcflw%upfxc', Radtend%sfcflw(:)%upfxc) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Radtend%sfcflw%upfx0', Radtend%sfcflw(:)%upfx0) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Radtend%sfcflw%dnfxc', Radtend%sfcflw(:)%dnfxc) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Radtend%sfcflw%dnfx0', Radtend%sfcflw(:)%dnfx0) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Radtend%htrsw', Radtend%htrsw) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Radtend%htrlw', Radtend%htrlw) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Radtend%sfalb', Radtend%sfalb) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Radtend%coszen', Radtend%coszen) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Radtend%tsflw', Radtend%tsflw) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Radtend%semis', Radtend%semis) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Radtend%coszdg', Radtend%coszdg) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Radtend%swhc', Radtend%swhc) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Radtend%lwhc', Radtend%lwhc) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Radtend%lwhd', Radtend%lwhd) - ! Tbd - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Tbd%icsdsw' , Tbd%icsdsw) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Tbd%icsdlw' , Tbd%icsdlw) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Tbd%ozpl' , Tbd%ozpl) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Tbd%h2opl' , Tbd%h2opl) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Tbd%rann' , Tbd%rann) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Tbd%acv' , Tbd%acv) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Tbd%acvb' , Tbd%acvb) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Tbd%acvt' , Tbd%acvt) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Tbd%hpbl' , Tbd%hpbl) - if(Model%imfdeepcnv>0 .or. Model%imfshalcnv>0) then - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Tbd%ud_mf' , Tbd%ud_mf) - endif - if (Model%do_sppt) then - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Tbd%dtdtnp' , Tbd%dtdtnp) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Tbd%dtotprcp' , Tbd%dtotprcp) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Tbd%dcnvprcp' , Tbd%dcnvprcp) - end if - if (Model%cplflx .or. Model%cplchm) then - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Tbd%drain_cpl' , Tbd%drain_cpl) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Tbd%dsnow_cpl' , Tbd%dsnow_cpl) - end if - if (Model%nctp > 0 .and. Model%cscnv) then - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Tbd%phy_fctd' , Tbd%phy_fctd) - end if - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Tbd%phy_f2d' , Tbd%phy_f2d) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Tbd%phy_f3d' , Tbd%phy_f3d) - do n=1,size(Tbd%phy_f3d(1,1,:)) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Tbd%phy_f3d_n' , Tbd%phy_f3d(:,:,n)) - end do - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Tbd%in_nm' , Tbd%in_nm) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Tbd%ccn_nm' , Tbd%ccn_nm) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Tbd%aer_nm' , Tbd%aer_nm) - if (Model%imfdeepcnv == Model%imfdeepcnv_gf) then - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Tbd%cactiv' , Tbd%cactiv) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Tbd%cactiv_m' , Tbd%cactiv_m) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Tbd%aod_gf' , Tbd%aod_gf) - end if - ! Diag - !call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Diag%fluxr ', Diag%fluxr) - !do n=1,size(Diag%fluxr(1,:)) - ! call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Diag%fluxr_n ', Diag%fluxr(:,n)) - !end do - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Diag%srunoff ', Diag%srunoff) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Diag%evbs ', Diag%evbs) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Diag%evcw ', Diag%evcw) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Diag%sbsno ', Diag%sbsno) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Diag%evbsa ', Diag%evbsa) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Diag%evcwa ', Diag%evcwa) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Diag%snohfa ', Diag%snohfa) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Diag%transa ', Diag%transa) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Diag%sbsnoa ', Diag%sbsnoa) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Diag%snowca ', Diag%snowca) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Diag%soilm ', Diag%soilm) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Diag%tmpmin ', Diag%tmpmin) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Diag%tmpmax ', Diag%tmpmax) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Diag%dusfc ', Diag%dusfc) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Diag%dvsfc ', Diag%dvsfc) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Diag%dtsfc ', Diag%dtsfc) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Diag%dqsfc ', Diag%dqsfc) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Diag%totprcp ', Diag%totprcp) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Diag%totice ', Diag%totice) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Diag%totsnw ', Diag%totsnw) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Diag%totgrp ', Diag%totgrp) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Diag%totprcpb ', Diag%totprcpb) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Diag%toticeb ', Diag%toticeb) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Diag%totsnwb ', Diag%totsnwb) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Diag%totgrpb ', Diag%totgrpb) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Diag%suntim ', Diag%suntim) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Diag%runoff ', Diag%runoff) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Diag%ep ', Diag%ep) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Diag%cldwrk ', Diag%cldwrk) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Diag%dugwd ', Diag%dugwd) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Diag%dvgwd ', Diag%dvgwd) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Diag%psmean ', Diag%psmean) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Diag%cnvprcp ', Diag%cnvprcp) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Diag%cnvprcpb ', Diag%cnvprcpb) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Diag%spfhmin ', Diag%spfhmin) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Diag%spfhmax ', Diag%spfhmax) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Diag%u10mmax ', Diag%u10mmax) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Diag%v10mmax ', Diag%v10mmax) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Diag%wind10mmax ', Diag%wind10mmax) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Diag%rain ', Diag%rain) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Diag%rainc ', Diag%rainc) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Diag%ice ', Diag%ice) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Diag%snow ', Diag%snow) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Diag%graupel ', Diag%graupel) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Diag%u10m ', Diag%u10m) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Diag%v10m ', Diag%v10m) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Diag%dpt2m ', Diag%dpt2m) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Diag%zlvl ', Diag%zlvl) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Diag%psurf ', Diag%psurf) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Diag%pwat ', Diag%pwat) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Diag%t1 ', Diag%t1) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Diag%q1 ', Diag%q1) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Diag%u1 ', Diag%u1) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Diag%v1 ', Diag%v1) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Diag%chh ', Diag%chh) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Diag%cmm ', Diag%cmm) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Diag%dlwsfci ', Diag%dlwsfci) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Diag%ulwsfci ', Diag%ulwsfci) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Diag%dswsfci ', Diag%dswsfci) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Diag%dswsfcci ', Diag%dswsfcci) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Diag%nswsfci ', Diag%nswsfci) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Diag%uswsfci ', Diag%uswsfci) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Diag%dusfci ', Diag%dusfci) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Diag%dvsfci ', Diag%dvsfci) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Diag%dtsfci ', Diag%dtsfci) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Diag%dqsfci ', Diag%dqsfci) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Diag%gfluxi ', Diag%gfluxi) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Diag%epi ', Diag%epi) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Diag%smcwlt2 ', Diag%smcwlt2) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Diag%smcref2 ', Diag%smcref2) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Diag%sr ', Diag%sr) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Diag%tdomr ', Diag%tdomr) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Diag%tdomzr ', Diag%tdomzr) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Diag%tdomip ', Diag%tdomip) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Diag%tdoms ', Diag%tdoms) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Diag%trans ', Diag%trans) - ! CCPP/RUC only - if (Model%lsm == Model%lsm_ruc) then - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Sfcprop%wetness ', Sfcprop%wetness) - else - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Diag%wet1 ', Diag%wet1) - end if - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Diag%zmtnblck ', Diag%zmtnblck) - if (Model%ldiag3d) then - !do itracer=2,Model%ntracp100 - ! do iprocess=1,Model%nprocess - ! idtend = Model%dtidx(itracer,iprocess) - ! if(idtend>=1) then - ! call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, & - ! 'dtend_'//Model%dtend_tracer_labels(itracer)//'_' & - ! //Model%dtend_cause_labels(iprocess), Diag%dtend(1,1,idtend)) - ! endif - ! enddo - !enddo - if (Model%qdiag3d) then - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Diag%upd_mf ', Diag%upd_mf) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Diag%dwn_mf ', Diag%dwn_mf) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Diag%det_mf ', Diag%det_mf) - end if - end if - if(Model%lradar) then - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Diag%refl_10cm ', Diag%refl_10cm) - end if - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Diag%dkt ', Diag%dkt) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Diag%dku ', Diag%dku) - ! CCPP/MYNNEDMF only - if (Model%do_mynnedmf) then - if (Model%bl_mynn_output .ne. 0) then - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Diag%edmf_a ', Diag%edmf_a) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Diag%edmf_w ', Diag%edmf_w) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Diag%edmf_qt ', Diag%edmf_qt) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Diag%edmf_thl ', Diag%edmf_thl) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Diag%edmf_ent ', Diag%edmf_ent) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Diag%edmf_qc ', Diag%edmf_qc) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Diag%sub_thl ', Diag%sub_thl) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Diag%sub_sqv ', Diag%sub_sqv) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Diag%det_thl ', Diag%det_thl) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Diag%det_sqv ', Diag%det_sqv) - end if - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Diag%maxwidth ', Diag%maxwidth) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Diag%maxMF ', Diag%maxMF) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Diag%ztop_plume ', Diag%ztop_plume) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Diag%exch_h ', Diag%exch_h) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Diag%exch_m ', Diag%exch_m) - end if - ! UGWP - incomplete list - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Diag%dudt_gw ', Diag%dudt_gw) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Diag%dvdt_gw ', Diag%dvdt_gw) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Diag%dtdt_gw ', Diag%dtdt_gw) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Diag%kdis_gw ', Diag%kdis_gw) - if (Model%do_ugwp_v1 .or. Model%gwd_opt==33 .or. Model%gwd_opt==22) then - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Diag%dudt_ogw ', Diag%dudt_ogw ) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Diag%dvdt_ogw ', Diag%dvdt_ogw ) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Diag%dudt_obl ', Diag%dudt_obl ) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Diag%dvdt_obl ', Diag%dvdt_obl ) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Diag%dudt_oss ', Diag%dudt_oss ) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Diag%dvdt_oss ', Diag%dvdt_oss ) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Diag%dudt_ofd ', Diag%dudt_ofd ) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Diag%dvdt_ofd ', Diag%dvdt_ofd ) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Diag%du_ogwcol ', Diag%du_ogwcol) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Diag%dv_ogwcol ', Diag%dv_ogwcol) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Diag%du_oblcol ', Diag%du_oblcol) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Diag%dv_oblcol ', Diag%dv_oblcol) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Diag%du_osscol ', Diag%du_osscol) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Diag%dv_osscol ', Diag%dv_osscol) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Diag%du_ofdcol ', Diag%du_ofdcol) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Diag%dv_ofdcol ', Diag%dv_ofdcol) - else - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Diag%dudt_ogw ', Diag%dudt_ogw) - end if - ! Statein - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Statein%phii' , Statein%phii) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Statein%prsi' , Statein%prsi) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Statein%prsik' , Statein%prsik) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Statein%phil' , Statein%phil) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Statein%prsl' , Statein%prsl) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Statein%prslk' , Statein%prslk) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Statein%pgr' , Statein%pgr) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Statein%ugrs' , Statein%ugrs) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Statein%vgrs' , Statein%vgrs) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Statein%vvl' , Statein%vvl) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Statein%tgrs' , Statein%tgrs) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Statein%qgrs' , Statein%qgrs) - do n=1,size(Statein%qgrs(1,1,:)) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Statein%qgrs_n', Statein%qgrs(:,:,n)) - end do - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Statein%diss_est', Statein%diss_est) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Statein%smc' , Statein%smc) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Statein%stc' , Statein%stc) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Statein%slc' , Statein%slc) - ! Stateout - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Stateout%gu0', Stateout%gu0) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Stateout%gv0', Stateout%gv0) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Stateout%gt0', Stateout%gt0) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Stateout%gq0', Stateout%gq0) - do n=1,size(Stateout%gq0(1,1,:)) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Stateout%gq0_n', Stateout%gq0(:,:,n)) - end do - ! Coupling - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Coupling%nirbmdi', Coupling%nirbmdi) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Coupling%nirdfdi', Coupling%nirdfdi) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Coupling%visbmdi', Coupling%visbmdi) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Coupling%visdfdi', Coupling%visdfdi) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Coupling%nirbmui', Coupling%nirbmui) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Coupling%nirdfui', Coupling%nirdfui) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Coupling%visbmui', Coupling%visbmui) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Coupling%visdfui', Coupling%visdfui) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Coupling%sfcdsw ', Coupling%sfcdsw ) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Coupling%sfcnsw ', Coupling%sfcnsw ) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Coupling%sfcdlw ', Coupling%sfcdlw ) - if (Model%cplflx .or. Model%do_sppt .or. Model%cplchm) then - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Coupling%rain_cpl', Coupling%rain_cpl) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Coupling%snow_cpl', Coupling%snow_cpl) - end if -! if (Model%cplwav2atm) then -! call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Coupling%zorlwav_cpl' , Coupling%zorlwav_cpl ) -! end if - if (Model%cplflx) then - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Coupling%oro_cpl' , Coupling%oro_cpl ) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Coupling%slmsk_cpl' , Coupling%slmsk_cpl ) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Coupling%slimskin_cpl', Coupling%slimskin_cpl ) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Coupling%dusfcin_cpl ', Coupling%dusfcin_cpl ) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Coupling%dvsfcin_cpl ', Coupling%dvsfcin_cpl ) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Coupling%dtsfcin_cpl ', Coupling%dtsfcin_cpl ) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Coupling%dqsfcin_cpl ', Coupling%dqsfcin_cpl ) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Coupling%ulwsfcin_cpl', Coupling%ulwsfcin_cpl ) -! call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Coupling%tseain_cpl ', Coupling%tseain_cpl ) -! call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Coupling%tisfcin_cpl ', Coupling%tisfcin_cpl ) -! call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Coupling%ficein_cpl ', Coupling%ficein_cpl ) -! call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Coupling%hicein_cpl ', Coupling%hicein_cpl ) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Coupling%hsnoin_cpl ', Coupling%hsnoin_cpl ) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Coupling%dusfc_cpl ', Coupling%dusfc_cpl ) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Coupling%dvsfc_cpl ', Coupling%dvsfc_cpl ) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Coupling%dtsfc_cpl ', Coupling%dtsfc_cpl ) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Coupling%dqsfc_cpl ', Coupling%dqsfc_cpl ) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Coupling%dlwsfc_cpl ', Coupling%dlwsfc_cpl ) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Coupling%dswsfc_cpl ', Coupling%dswsfc_cpl ) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Coupling%dnirbm_cpl ', Coupling%dnirbm_cpl ) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Coupling%dnirdf_cpl ', Coupling%dnirdf_cpl ) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Coupling%dvisbm_cpl ', Coupling%dvisbm_cpl ) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Coupling%dvisdf_cpl ', Coupling%dvisdf_cpl ) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Coupling%nlwsfc_cpl ', Coupling%nlwsfc_cpl ) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Coupling%nswsfc_cpl ', Coupling%nswsfc_cpl ) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Coupling%nnirbm_cpl ', Coupling%nnirbm_cpl ) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Coupling%nnirdf_cpl ', Coupling%nnirdf_cpl ) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Coupling%nvisbm_cpl ', Coupling%nvisbm_cpl ) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Coupling%nvisdf_cpl ', Coupling%nvisdf_cpl ) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Coupling%dusfci_cpl ', Coupling%dusfci_cpl ) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Coupling%dvsfci_cpl ', Coupling%dvsfci_cpl ) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Coupling%dtsfci_cpl ', Coupling%dtsfci_cpl ) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Coupling%dqsfci_cpl ', Coupling%dqsfci_cpl ) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Coupling%dlwsfci_cpl ', Coupling%dlwsfci_cpl ) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Coupling%dswsfci_cpl ', Coupling%dswsfci_cpl ) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Coupling%dnirbmi_cpl ', Coupling%dnirbmi_cpl ) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Coupling%dnirdfi_cpl ', Coupling%dnirdfi_cpl ) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Coupling%dvisbmi_cpl ', Coupling%dvisbmi_cpl ) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Coupling%dvisdfi_cpl ', Coupling%dvisdfi_cpl ) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Coupling%nlwsfci_cpl ', Coupling%nlwsfci_cpl ) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Coupling%nswsfci_cpl ', Coupling%nswsfci_cpl ) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Coupling%nnirbmi_cpl ', Coupling%nnirbmi_cpl ) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Coupling%nnirdfi_cpl ', Coupling%nnirdfi_cpl ) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Coupling%nvisbmi_cpl ', Coupling%nvisbmi_cpl ) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Coupling%nvisdfi_cpl ', Coupling%nvisdfi_cpl ) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Coupling%t2mi_cpl ', Coupling%t2mi_cpl ) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Coupling%q2mi_cpl ', Coupling%q2mi_cpl ) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Coupling%u10mi_cpl ', Coupling%u10mi_cpl ) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Coupling%v10mi_cpl ', Coupling%v10mi_cpl ) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Coupling%tsfci_cpl ', Coupling%tsfci_cpl ) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Coupling%psurfi_cpl ', Coupling%psurfi_cpl ) - end if - if (Model%cplchm) then - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Coupling%rainc_cpl', Coupling%rainc_cpl) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Coupling%ushfsfci ', Coupling%ushfsfci ) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Coupling%pfi_lsan', Coupling%pfi_lsan ) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Coupling%pfl_lsan', Coupling%pfl_lsan ) - end if - if (Model%do_sppt) then - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Coupling%sppt_wts', Coupling%sppt_wts) - end if - if (Model%do_shum) then - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Coupling%shum_wts', Coupling%shum_wts) - end if - if (Model%do_skeb) then - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Coupling%skebu_wts', Coupling%skebu_wts ) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Coupling%skebv_wts', Coupling%skebv_wts ) - end if - if (Model%lndp_type /= 0) then - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Coupling%sfc_wts' , Coupling%sfc_wts ) - end if - if (Model%do_ca) then - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Coupling%ca1 ', Coupling%ca1 ) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Coupling%ca_deep ', Coupling%ca_deep ) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Coupling%ca_turb ', Coupling%ca_turb ) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Coupling%ca_shal ', Coupling%ca_shal ) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Coupling%ca_rad ', Coupling%ca_rad ) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Coupling%ca_micro ', Coupling%ca_micro ) - end if - if(Model%imp_physics == Model%imp_physics_thompson .and. Model%ltaerosol) then - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Coupling%nwfa2d', Coupling%nwfa2d) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Coupling%nifa2d', Coupling%nifa2d) - end if - if (Model%do_RRTMGP) then - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Coupling%fluxlwUP_jac', Coupling%fluxlwUP_jac) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Coupling%htrlw', Coupling%htrlw) - end if - ! - ! Grid - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Grid%xlon ', Grid%xlon ) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Grid%xlat ', Grid%xlat ) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Grid%xlat_d', Grid%xlat_d) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Grid%sinlat', Grid%sinlat) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Grid%coslat', Grid%coslat) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Grid%area ', Grid%area ) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Grid%dx ', Grid%dx ) - if (Model%kdt>0 .and. Model%ntoz>0) then - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Grid%ddy_o3 ', Grid%ddy_o3 ) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Grid%jindx1_o3', Grid%jindx1_o3) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Grid%jindx2_o3', Grid%jindx2_o3) - endif - if (Model%kdt>0 .and. Model%h2o_phys) then - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Grid%ddy_h ', Grid%ddy_h ) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Grid%jindx1_h', Grid%jindx1_h) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Grid%jindx2_h', Grid%jindx2_h) - endif - if (Model%kdt>0 .and. Model%do_ugwp_v1) then - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Grid%ddy_j1tau ', Grid%ddy_j1tau ) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Grid%ddy_j2tau ', Grid%ddy_j2tau ) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Grid%jindx1_tau', Grid%jindx1_tau ) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Grid%jindx2_tau', Grid%jindx2_tau ) - endif - end if -#ifdef _OPENMP -!$OMP BARRIER -#endif - end do -! call MPI_BARRIER(Model%communicator,ierr) - end do - -#ifdef _OPENMP -!$OMP BARRIER -#endif -! call MPI_BARRIER(Model%communicator,ierr) - - end subroutine GFS_diagtoscreen_run - - end module GFS_diagtoscreen - - - module GFS_interstitialtoscreen - - use print_var_chksum, only: print_var - - use machine, only: kind_phys - - use GFS_typedefs, only: GFS_control_type, GFS_statein_type, & - GFS_stateout_type, GFS_sfcprop_type, & - GFS_coupling_type, GFS_grid_type, & - GFS_tbd_type, GFS_cldprop_type, & - GFS_radtend_type, GFS_diag_type - - use CCPP_typedefs, only: GFS_interstitial_type - - - implicit none - - private - - public GFS_interstitialtoscreen_run - - contains - -!> \section arg_table_GFS_interstitialtoscreen_run Argument Table -!! \htmlinclude GFS_interstitialtoscreen_run.html -!! - subroutine GFS_interstitialtoscreen_run (Model, Statein, Stateout, Sfcprop, Coupling, & - Grid, Tbd, Cldprop, Radtend, Diag, Interstitial, & - nthreads, blkno, errmsg, errflg) - - use mpi_f08 -#ifdef _OPENMP - use omp_lib -#endif - implicit none - - !--- interface variables - type(GFS_control_type), intent(in ) :: Model - type(GFS_statein_type), intent(in ) :: Statein - type(GFS_stateout_type), intent(in ) :: Stateout - type(GFS_sfcprop_type), intent(in ) :: Sfcprop - type(GFS_coupling_type), intent(in ) :: Coupling - type(GFS_grid_type), intent(in ) :: Grid - type(GFS_tbd_type), intent(in ) :: Tbd - type(GFS_cldprop_type), intent(in ) :: Cldprop - type(GFS_radtend_type), intent(in ) :: Radtend - type(GFS_diag_type), intent(in ) :: Diag - type(GFS_interstitial_type), intent(in) :: Interstitial - integer, intent(in ) :: nthreads - integer, intent(in ) :: blkno - character(len=*), intent( out) :: errmsg - integer, intent( out) :: errflg - - !--- local variables - integer :: impi, iomp, ierr - integer :: mpirank, mpisize - integer :: omprank, ompsize - integer :: istart, iend, kstart, kend - - ! Initialize CCPP error handling variables - errmsg = '' - errflg = 0 - - mpirank = Model%me - call MPI_COMM_SIZE(Model%communicator, mpisize, ierr) -#ifdef _OPENMP - omprank = OMP_GET_THREAD_NUM() - ompsize = nthreads -#else - omprank = 0 - ompsize = 1 -#endif - -#ifdef _OPENMP -!$OMP BARRIER -#endif -! call MPI_BARRIER(Model%communicator,ierr) - - do impi=0,mpisize-1 - do iomp=0,ompsize-1 - if (mpirank==impi .and. omprank==iomp) then - ! Print static variables - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Interstitial%itc ', Interstitial%itc ) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Interstitial%nsamftrac ', Interstitial%nsamftrac ) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Interstitial%nscav ', Interstitial%nscav ) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Interstitial%ntiwx ', Interstitial%ntiwx ) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Interstitial%nvdiff ', Interstitial%nvdiff ) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Interstitial%trans_aero ', Interstitial%trans_aero ) - ! Print all other variables - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Interstitial%adjsfculw_land ', Interstitial%adjsfculw_land ) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Interstitial%adjsfculw_ice ', Interstitial%adjsfculw_ice ) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Interstitial%adjsfculw_water ', Interstitial%adjsfculw_water ) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Interstitial%adjnirbmd ', Interstitial%adjnirbmd ) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Interstitial%adjnirbmu ', Interstitial%adjnirbmu ) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Interstitial%adjnirdfd ', Interstitial%adjnirdfd ) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Interstitial%adjnirdfu ', Interstitial%adjnirdfu ) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Interstitial%adjvisbmd ', Interstitial%adjvisbmd ) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Interstitial%adjvisbmu ', Interstitial%adjvisbmu ) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Interstitial%adjvisdfu ', Interstitial%adjvisdfu ) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Interstitial%adjvisdfd ', Interstitial%adjvisdfd ) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Interstitial%aerodp ', Interstitial%aerodp ) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Interstitial%alb1d ', Interstitial%alb1d ) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Interstitial%bexp1d ', Interstitial%bexp1d ) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Interstitial%cd ', Interstitial%cd ) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Interstitial%cd_ice ', Interstitial%cd_ice ) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Interstitial%cd_land ', Interstitial%cd_land ) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Interstitial%cd_water ', Interstitial%cd_water ) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Interstitial%cdq ', Interstitial%cdq ) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Interstitial%cdq_ice ', Interstitial%cdq_ice ) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Interstitial%cdq_land ', Interstitial%cdq_land ) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Interstitial%cdq_water ', Interstitial%cdq_water ) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Interstitial%chh_ice ', Interstitial%chh_ice ) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Interstitial%chh_land ', Interstitial%chh_land ) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Interstitial%chh_water ', Interstitial%chh_water ) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Interstitial%cldf ', Interstitial%cldf ) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Interstitial%cldsa ', Interstitial%cldsa ) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Interstitial%cldtaulw ', Interstitial%cldtaulw ) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Interstitial%cldtausw ', Interstitial%cldtausw ) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Interstitial%cld1d ', Interstitial%cld1d ) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Interstitial%clw ', Interstitial%clw ) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Interstitial%clx ', Interstitial%clx ) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Interstitial%clouds ', Interstitial%clouds ) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Interstitial%cmm_ice ', Interstitial%cmm_ice ) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Interstitial%cmm_land ', Interstitial%cmm_land ) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Interstitial%cmm_water ', Interstitial%cmm_water ) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Interstitial%cnvc ', Interstitial%cnvc ) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Interstitial%ctei_r ', Interstitial%ctei_r ) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Interstitial%ctei_rml ', Interstitial%ctei_rml ) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Interstitial%cumabs ', Interstitial%cumabs ) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Interstitial%dd_mf ', Interstitial%dd_mf ) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Interstitial%de_lgth ', Interstitial%de_lgth ) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Interstitial%del ', Interstitial%del ) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Interstitial%del_gz ', Interstitial%del_gz ) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Interstitial%delr ', Interstitial%delr ) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Interstitial%dlength ', Interstitial%dlength ) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Interstitial%dqdt ', Interstitial%dqdt ) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Interstitial%dqsfc1 ', Interstitial%dqsfc1 ) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Interstitial%drain ', Interstitial%drain ) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Interstitial%dtdt ', Interstitial%dtdt ) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Interstitial%dtsfc1 ', Interstitial%dtsfc1 ) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Interstitial%dtzm ', Interstitial%dtzm ) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Interstitial%dt_mf ', Interstitial%dt_mf ) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Interstitial%dudt ', Interstitial%dudt ) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Interstitial%dusfcg ', Interstitial%dusfcg ) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Interstitial%dusfc1 ', Interstitial%dusfc1 ) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Interstitial%dvdftra ', Interstitial%dvdftra ) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Interstitial%dvdt ', Interstitial%dvdt ) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Interstitial%dvsfcg ', Interstitial%dvsfcg ) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Interstitial%dvsfc1 ', Interstitial%dvsfc1 ) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Interstitial%dzlyr ', Interstitial%dzlyr ) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Interstitial%elvmax ', Interstitial%elvmax ) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Interstitial%ep1d ', Interstitial%ep1d ) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Interstitial%ep1d_ice ', Interstitial%ep1d_ice ) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Interstitial%ep1d_land ', Interstitial%ep1d_land ) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Interstitial%ep1d_water ', Interstitial%ep1d_water ) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Interstitial%evap_ice ', Interstitial%evap_ice ) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Interstitial%evap_land ', Interstitial%evap_land ) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Interstitial%evap_water ', Interstitial%evap_water ) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Interstitial%ext_diag_thompson_reset', Interstitial%ext_diag_thompson_reset) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Interstitial%faerlw ', Interstitial%faerlw ) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Interstitial%faersw ', Interstitial%faersw ) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Interstitial%ffhh_ice ', Interstitial%ffhh_ice ) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Interstitial%ffhh_land ', Interstitial%ffhh_land ) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Interstitial%ffhh_water ', Interstitial%ffhh_water ) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Interstitial%fh2 ', Interstitial%fh2 ) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Interstitial%fh2_ice ', Interstitial%fh2_ice ) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Interstitial%fh2_land ', Interstitial%fh2_land ) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Interstitial%fh2_water ', Interstitial%fh2_water ) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Interstitial%flag_cice ', Interstitial%flag_cice ) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Interstitial%flag_guess ', Interstitial%flag_guess ) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Interstitial%flag_iter ', Interstitial%flag_iter ) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Interstitial%ffmm_ice ', Interstitial%ffmm_ice ) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Interstitial%ffmm_land ', Interstitial%ffmm_land ) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Interstitial%ffmm_water ', Interstitial%ffmm_water ) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Interstitial%fm10 ', Interstitial%fm10 ) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Interstitial%fm10_ice ', Interstitial%fm10_ice ) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Interstitial%fm10_land ', Interstitial%fm10_land ) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Interstitial%fm10_water ', Interstitial%fm10_water ) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Interstitial%frland ', Interstitial%frland ) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Interstitial%fscav ', Interstitial%fscav ) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Interstitial%fswtr ', Interstitial%fswtr ) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Interstitial%gabsbdlw ', Interstitial%gabsbdlw ) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Interstitial%gabsbdlw_ice ', Interstitial%gabsbdlw_ice ) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Interstitial%gabsbdlw_land ', Interstitial%gabsbdlw_land ) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Interstitial%gabsbdlw_water ', Interstitial%gabsbdlw_water ) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Interstitial%gamma ', Interstitial%gamma ) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Interstitial%gamq ', Interstitial%gamq ) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Interstitial%gamt ', Interstitial%gamt ) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Interstitial%gasvmr ', Interstitial%gasvmr ) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Interstitial%gflx ', Interstitial%gflx ) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Interstitial%gflx_ice ', Interstitial%gflx_ice ) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Interstitial%gflx_land ', Interstitial%gflx_land ) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Interstitial%gflx_water ', Interstitial%gflx_water ) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Interstitial%gwdcu ', Interstitial%gwdcu ) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Interstitial%gwdcv ', Interstitial%gwdcv ) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Interstitial%zvfun ', Interstitial%zvfun ) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Interstitial%hffac ', Interstitial%hffac ) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Interstitial%hflxq ', Interstitial%hflxq ) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Interstitial%hflx_ice ', Interstitial%hflx_ice ) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Interstitial%hflx_land ', Interstitial%hflx_land ) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Interstitial%hflx_water ', Interstitial%hflx_water ) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Interstitial%htlwc ', Interstitial%htlwc ) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Interstitial%htlw0 ', Interstitial%htlw0 ) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Interstitial%htswc ', Interstitial%htswc ) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Interstitial%htsw0 ', Interstitial%htsw0 ) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Interstitial%dry ', Interstitial%dry ) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Interstitial%idxday ', Interstitial%idxday ) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Interstitial%icy ', Interstitial%icy ) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Interstitial%lake ', Interstitial%lake ) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Interstitial%ocean ', Interstitial%ocean ) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Interstitial%islmsk ', Interstitial%islmsk ) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Interstitial%islmsk_cice ', Interstitial%islmsk_cice ) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Interstitial%wet ', Interstitial%wet ) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Interstitial%kb ', Interstitial%kb ) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Interstitial%kbot ', Interstitial%kbot ) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Interstitial%kcnv ', Interstitial%kcnv ) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Interstitial%kd ', Interstitial%kd ) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Interstitial%kinver ', Interstitial%kinver ) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Interstitial%kpbl ', Interstitial%kpbl ) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Interstitial%kt ', Interstitial%kt ) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Interstitial%ktop ', Interstitial%ktop ) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Interstitial%max_hourly_reset ', Interstitial%max_hourly_reset ) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Interstitial%mbota ', Interstitial%mbota ) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Interstitial%mtopa ', Interstitial%mtopa ) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Interstitial%nday ', Interstitial%nday ) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Interstitial%oa4 ', Interstitial%oa4 ) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Interstitial%oc ', Interstitial%oc ) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Interstitial%olyr ', Interstitial%olyr ) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Interstitial%plvl ', Interstitial%plvl ) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Interstitial%plyr ', Interstitial%plyr ) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Interstitial%prcpmp ', Interstitial%prcpmp ) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Interstitial%prnum ', Interstitial%prnum ) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Interstitial%qlyr ', Interstitial%qlyr ) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Interstitial%qss_ice ', Interstitial%qss_ice ) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Interstitial%qss_land ', Interstitial%qss_land ) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Interstitial%qss_water ', Interstitial%qss_water ) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Interstitial%raddt ', Interstitial%raddt ) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Interstitial%raincd ', Interstitial%raincd ) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Interstitial%raincs ', Interstitial%raincs ) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Interstitial%rainmcadj ', Interstitial%rainmcadj ) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Interstitial%rainp ', Interstitial%rainp ) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Interstitial%rb ', Interstitial%rb ) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Interstitial%rb_ice ', Interstitial%rb_ice ) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Interstitial%rb_land ', Interstitial%rb_land ) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Interstitial%rb_water ', Interstitial%rb_water ) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Interstitial%rhc ', Interstitial%rhc ) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Interstitial%runoff ', Interstitial%runoff ) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Interstitial%save_q ', Interstitial%save_q ) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Interstitial%save_t ', Interstitial%save_t ) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Interstitial%save_tcp ', Interstitial%save_tcp ) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Interstitial%save_u ', Interstitial%save_u ) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Interstitial%save_v ', Interstitial%save_v ) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Interstitial%scmpsw%uvbfc ', Interstitial%scmpsw%uvbfc ) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Interstitial%scmpsw%uvbf0 ', Interstitial%scmpsw%uvbf0 ) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Interstitial%scmpsw%nirbm ', Interstitial%scmpsw%nirbm ) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Interstitial%scmpsw%nirdf ', Interstitial%scmpsw%nirdf ) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Interstitial%scmpsw%visbm ', Interstitial%scmpsw%visbm ) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Interstitial%scmpsw%visdf ', Interstitial%scmpsw%visdf ) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Interstitial%sfcalb ', Interstitial%sfcalb ) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Interstitial%sigma ', Interstitial%sigma ) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Interstitial%sigmaf ', Interstitial%sigmaf ) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Interstitial%sigmafrac ', Interstitial%sigmafrac ) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Interstitial%sigmatot ', Interstitial%sigmatot ) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Interstitial%snowc ', Interstitial%snowc ) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Interstitial%snohf ', Interstitial%snohf ) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Interstitial%snowmt ', Interstitial%snowmt ) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Interstitial%stress ', Interstitial%stress ) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Interstitial%stress_ice ', Interstitial%stress_ice ) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Interstitial%stress_land ', Interstitial%stress_land ) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Interstitial%stress_water ', Interstitial%stress_water ) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Interstitial%theta ', Interstitial%theta ) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Interstitial%tlvl ', Interstitial%tlvl ) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Interstitial%tlyr ', Interstitial%tlyr ) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Interstitial%tprcp_ice ', Interstitial%tprcp_ice ) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Interstitial%tprcp_land ', Interstitial%tprcp_land ) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Interstitial%tprcp_water ', Interstitial%tprcp_water ) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Interstitial%tseal ', Interstitial%tseal ) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Interstitial%tsfa ', Interstitial%tsfa ) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Interstitial%tsfc_water ', Interstitial%tsfc_water ) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Interstitial%tsfg ', Interstitial%tsfg ) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Interstitial%tsurf_ice ', Interstitial%tsurf_ice ) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Interstitial%tsurf_land ', Interstitial%tsurf_land ) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Interstitial%tsurf_water ', Interstitial%tsurf_water ) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Interstitial%uustar_ice ', Interstitial%uustar_ice ) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Interstitial%uustar_land ', Interstitial%uustar_land ) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Interstitial%uustar_water ', Interstitial%uustar_water ) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Interstitial%vdftra ', Interstitial%vdftra ) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Interstitial%vegf1d ', Interstitial%vegf1d ) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Interstitial%wcbmax ', Interstitial%wcbmax ) -! call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Interstitial%weasd_ice ', Interstitial%weasd_ice ) -! call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Interstitial%weasd_land ', Interstitial%weasd_land ) -! call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Interstitial%weasd_water ', Interstitial%weasd_water ) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Interstitial%wind ', Interstitial%wind ) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Interstitial%work1 ', Interstitial%work1 ) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Interstitial%work2 ', Interstitial%work2 ) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Interstitial%work3 ', Interstitial%work3 ) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Interstitial%xcosz ', Interstitial%xcosz ) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Interstitial%xlai1d ', Interstitial%xlai1d ) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Interstitial%xmu ', Interstitial%xmu ) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Interstitial%z01d ', Interstitial%z01d ) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Interstitial%zt1d ', Interstitial%zt1d ) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Interstitial%ztmax_ice ', Interstitial%ztmax_ice ) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Interstitial%ztmax_land ', Interstitial%ztmax_land ) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Interstitial%ztmax_water ', Interstitial%ztmax_water ) - ! UGWP - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Interstitial%tau_mtb ', Interstitial%tau_mtb ) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Interstitial%tau_ogw ', Interstitial%tau_ogw ) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Interstitial%tau_tofd ', Interstitial%tau_tofd ) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Interstitial%tau_ngw ', Interstitial%tau_ngw ) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Interstitial%tau_oss ', Interstitial%tau_oss ) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Interstitial%dudt_mtb ', Interstitial%dudt_mtb ) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Interstitial%dudt_tms ', Interstitial%dudt_tms ) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Interstitial%zmtb ', Interstitial%zmtb ) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Interstitial%zlwb ', Interstitial%zlwb ) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Interstitial%zogw ', Interstitial%zogw ) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Interstitial%zngw ', Interstitial%zngw ) - ! UGWP v1 - if (Model%do_ugwp_v1) then - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Interstitial%dudt_ngw ', Interstitial%dudt_ngw ) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Interstitial%dvdt_ngw ', Interstitial%dvdt_ngw ) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Interstitial%dtdt_ngw ', Interstitial%dtdt_ngw ) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Interstitial%kdis_ngw ', Interstitial%kdis_ngw ) - end if - !-- GSD drag suite - if (Model%gwd_opt==3 .or. Model%gwd_opt==33 .or. & - Model%gwd_opt==2 .or. Model%gwd_opt==22) then - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Interstitial%varss ', Interstitial%varss ) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Interstitial%ocss ', Interstitial%ocss ) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Interstitial%oa4ss ', Interstitial%oa4ss ) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Interstitial%clxss ', Interstitial%clxss ) - end if - ! GFDL and Thompson MP - if (Model%imp_physics == Model%imp_physics_gfdl .or. Model%imp_physics == Model%imp_physics_thompson .or. Model%imp_physics == Model%imp_physics_nssl) then - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Interstitial%graupelmp ', Interstitial%graupelmp ) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Interstitial%icemp ', Interstitial%icemp ) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Interstitial%rainmp ', Interstitial%rainmp ) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Interstitial%snowmp ', Interstitial%snowmp ) - ! Morrison-Gettelman - else if (Model%imp_physics == Model%imp_physics_mg) then - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Interstitial%ncgl ', Interstitial%ncgl ) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Interstitial%ncpr ', Interstitial%ncpr ) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Interstitial%ncps ', Interstitial%ncps ) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Interstitial%qgl ', Interstitial%qgl ) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Interstitial%qrn ', Interstitial%qrn ) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Interstitial%qsnw ', Interstitial%qsnw ) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Interstitial%qlcn ', Interstitial%qlcn ) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Interstitial%qicn ', Interstitial%qicn ) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Interstitial%w_upi ', Interstitial%w_upi ) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Interstitial%cf_upi ', Interstitial%cf_upi ) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Interstitial%cnv_mfd ', Interstitial%cnv_mfd ) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Interstitial%cnv_dqldt ', Interstitial%cnv_dqldt ) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Interstitial%clcn ', Interstitial%clcn ) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Interstitial%cnv_fice ', Interstitial%cnv_fice ) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Interstitial%cnv_ndrop ', Interstitial%cnv_ndrop ) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Interstitial%cnv_nice ', Interstitial%cnv_nice ) - end if - ! SHOC - if (Model%do_shoc) then - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Interstitial%ncgl ', Interstitial%ncgl ) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Interstitial%qrn ', Interstitial%qrn ) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Interstitial%qsnw ', Interstitial%qsnw ) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Interstitial%qgl ', Interstitial%qgl ) - end if - ! Noah MP - if (Model%lsm == Model%lsm_noahmp) then - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Interstitial%t2mmp ', Interstitial%t2mmp ) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Interstitial%q2mp ', Interstitial%q2mp ) - end if - ! RRTMGP - if (Model%do_RRTMGP) then - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Interstitial%aerosolslw ', Interstitial%aerosolslw ) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Interstitial%aerosolssw ', Interstitial%aerosolssw ) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Interstitial%precip_frac ', Interstitial%precip_frac ) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Interstitial%fluxlwUP_allsky ', Interstitial%fluxlwUP_allsky ) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Interstitial%fluxlwDOWN_allsky ', Interstitial%fluxlwDOWN_allsky ) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Interstitial%fluxlwUP_clrsky ', Interstitial%fluxlwUP_clrsky ) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Interstitial%fluxlwDOWN_clrsky ', Interstitial%fluxlwDOWN_clrsky ) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Interstitial%fluxswUP_allsky ', Interstitial%fluxswUP_allsky ) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Interstitial%fluxswDOWN_allsky ', Interstitial%fluxswDOWN_allsky ) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Interstitial%fluxswUP_clrsky ', Interstitial%fluxswUP_clrsky ) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Interstitial%fluxswDOWN_clrsky ', Interstitial%fluxswDOWN_clrsky ) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Interstitial%relhum ', Interstitial%relhum ) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Interstitial%q_lay ', Interstitial%q_lay ) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Interstitial%qs_lay ', Interstitial%qs_lay ) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Interstitial%deltaZ ', Interstitial%deltaZ ) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Interstitial%p_lay ', Interstitial%p_lay ) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Interstitial%p_lev ', Interstitial%p_lev ) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Interstitial%t_lay ', Interstitial%t_lay ) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Interstitial%t_lev ', Interstitial%t_lev ) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Interstitial%tv_lay ', Interstitial%tv_lay ) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Interstitial%cloud_overlap_param ', Interstitial%cloud_overlap_param ) - call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Interstitial%precip_overlap_param', Interstitial%precip_overlap_param ) - end if - end if -#ifdef _OPENMP -!$OMP BARRIER -#endif - end do -! call MPI_BARRIER(Model%communicator,ierr) - end do - -#ifdef _OPENMP -!$OMP BARRIER -#endif -! call MPI_BARRIER(Model%communicator,ierr) - - end subroutine GFS_interstitialtoscreen_run - - end module GFS_interstitialtoscreen - - module GFS_abort - - private - - public GFS_abort_run - - contains - -!> \section arg_table_GFS_abort_run Argument Table -!! \htmlinclude GFS_abort_run.html -!! - subroutine GFS_abort_run (Model, blkno, errmsg, errflg) - - use machine, only: kind_phys - use GFS_typedefs, only: GFS_control_type - - implicit none - - !--- interface variables - type(GFS_control_type), intent(in ) :: Model - integer, intent(in ) :: blkno - character(len=*), intent( out) :: errmsg - integer, intent( out) :: errflg - - ! Initialize CCPP error handling variables - errmsg = '' - errflg = 0 - - if (Model%kdt==1 .and. blkno==size(Model%blksz)) then - if (Model%me==Model%master) write(0,*) "GFS_abort_run: ABORTING MODEL" - call sleep(10) - stop - end if - - end subroutine GFS_abort_run - - end module GFS_abort - - module GFS_checkland - - private - - public GFS_checkland_run - - contains - -!> \section arg_table_GFS_checkland_run Argument Table -!! \htmlinclude GFS_checkland_run.html -!! - subroutine GFS_checkland_run (me, master, blkno, im, kdt, iter, flag_iter, flag_guess, & - flag_init, flag_restart, frac_grid, isot, ivegsrc, stype,scolor, vtype, slope, & - dry, icy, wet, lake, ocean, oceanfrac, landfrac, lakefrac, slmsk, islmsk, & - zorl, zorlw, zorll, zorli, fice, errmsg, errflg ) - - use machine, only: kind_phys - - implicit none - - ! Interface variables - integer, intent(in ) :: me - integer, intent(in ) :: master - integer, intent(in ) :: blkno - integer, intent(in ) :: im - integer, intent(in ) :: kdt - integer, intent(in ) :: iter - logical, intent(in ) :: flag_iter(:) - logical, intent(in ) :: flag_guess(:) - logical, intent(in ) :: flag_init - logical, intent(in ) :: flag_restart - logical, intent(in ) :: frac_grid - integer, intent(in ) :: isot - integer, intent(in ) :: ivegsrc - integer, intent(in ) :: stype(:) - integer, intent(in ) :: scolor(:) - - integer, intent(in ) :: vtype(:) - integer, intent(in ) :: slope(:) - logical, intent(in ) :: dry(:) - logical, intent(in ) :: icy(:) - logical, intent(in ) :: wet(:) - logical, intent(in ) :: lake(:) - logical, intent(in ) :: ocean(:) - real(kind_phys), intent(in ) :: oceanfrac(:) - real(kind_phys), intent(in ) :: landfrac(:) - real(kind_phys), intent(in ) :: lakefrac(:) - real(kind_phys), intent(in ) :: slmsk(:) - integer, intent(in ) :: islmsk(:) - real(kind_phys), intent(in ) :: zorl(:) - real(kind_phys), intent(in ) :: zorlw(:) - real(kind_phys), intent(in ) :: zorll(:) - real(kind_phys), intent(in ) :: zorli(:) - real(kind_phys), intent(in ) :: fice(:) - character(len=*), intent( out) :: errmsg - integer, intent( out) :: errflg - - ! Local variables - integer :: i - - errflg = 0 - errmsg = '' - - write(0,'(a,i5)') 'YYY: me :', me - write(0,'(a,i5)') 'YYY: master :', master - write(0,'(a,i5)') 'YYY: blkno :', blkno - write(0,'(a,i5)') 'YYY: im :', im - write(0,'(a,i5)') 'YYY: kdt :', kdt - write(0,'(a,i5)') 'YYY: iter :', iter - write(0,'(a,1x,l)') 'YYY: flag_init :', flag_init - write(0,'(a,1x,l)') 'YYY: flag_restart :', flag_restart - write(0,'(a,1x,l)') 'YYY: frac_grid :', frac_grid - write(0,'(a,i5)') 'YYY: isot :', isot - write(0,'(a,i5)') 'YYY: ivegsrc :', ivegsrc - - do i=1,im - !if (fice(i)>0.999) then - !if (vegtype(i)==15) then - write(0,'(a,2i5,1x,1x,l)') 'YYY: i, blk, flag_iter(i) :', i, blkno, flag_iter(i) - write(0,'(a,2i5,1x,1x,l)') 'YYY: i, blk, flag_guess(i) :', i, blkno, flag_guess(i) - write(0,'(a,2i5,1x,i5)') 'YYY: i, blk, stype(i) :', i, blkno, stype(i) - - write(0,'(a,2i5,1x,i5)') 'YYY: i, blk, scolor(i) :', i, blkno, scolor(i) - write(0,'(a,2i5,1x,i5)') 'YYY: i, blk, vtype(i) :', i, blkno, vtype(i) - write(0,'(a,2i5,1x,i5)') 'YYY: i, blk, slope(i) :', i, blkno, slope(i) - write(0,'(a,2i5,1x,1x,l)') 'YYY: i, blk, dry(i) :', i, blkno, dry(i) - write(0,'(a,2i5,1x,1x,l)') 'YYY: i, blk, icy(i) :', i, blkno, icy(i) - write(0,'(a,2i5,1x,1x,l)') 'YYY: i, blk, wet(i) :', i, blkno, wet(i) - write(0,'(a,2i5,1x,1x,l)') 'YYY: i, blk, lake(i) :', i, blkno, lake(i) - write(0,'(a,2i5,1x,1x,l)') 'YYY: i, blk, ocean(i) :', i, blkno, ocean(i) - write(0,'(a,2i5,1x,e16.7)')'YYY: i, blk, oceanfrac(i) :', i, blkno, oceanfrac(i) - write(0,'(a,2i5,1x,e16.7)')'YYY: i, blk, landfrac(i) :', i, blkno, landfrac(i) - write(0,'(a,2i5,1x,e16.7)')'YYY: i, blk, lakefrac(i) :', i, blkno, lakefrac(i) - write(0,'(a,2i5,1x,e16.7)')'YYY: i, blk, fice(i) :', i, blkno, fice(i) - write(0,'(a,2i5,1x,e16.7)')'YYY: i, blk, slmsk(i) :', i, blkno, slmsk(i) - write(0,'(a,2i5,1x,i5)') 'YYY: i, blk, islmsk(i) :', i, blkno, islmsk(i) - write(0,'(a,2i5,1x,e16.7)')'YYY: i, blk, zorl(i) :', i, blkno, zorl(i) - write(0,'(a,2i5,1x,e16.7)')'YYY: i, blk, zorlw(i) :', i, blkno, zorlw(i) - write(0,'(a,2i5,1x,e16.7)')'YYY: i, blk, zorli(i) :', i, blkno, zorli(i) - write(0,'(a,2i5,1x,e16.7)')'YYY: i, blk, zorll(i) :', i, blkno, zorll(i) - !end if - end do - - end subroutine GFS_checkland_run - end module GFS_checkland - - module GFS_checktracers - - private - - public GFS_checktracers_init, GFS_checktracers_timestep_init, GFS_checktracers_run - - contains - -!> \section arg_table_GFS_checktracers_init Argument Table -!! \htmlinclude GFS_checktracers_init.html -!! - subroutine GFS_checktracers_init (me, master, im, levs, ntracer, kdt, qgrs, gq0, errmsg, errflg) - - use machine, only: kind_phys - - implicit none - - ! Interface variables - integer, intent(in ) :: me - integer, intent(in ) :: master - integer, intent(in ) :: im - integer, intent(in ) :: levs - integer, intent(in ) :: ntracer - integer, intent(in ) :: kdt - real(kind_phys), intent(in ) :: qgrs(:,:,:) - real(kind_phys), intent(in ) :: gq0(:,:,:) - character(len=*), intent( out) :: errmsg - integer, intent( out) :: errflg - - call GFS_checktracers_timestep_init (me, master, im, levs, ntracer, kdt, qgrs, gq0, errmsg, errflg) - - end subroutine GFS_checktracers_init - -!> \section arg_table_GFS_checktracers_timestep_init Argument Table -!! \htmlinclude GFS_checktracers_timestep_init.html -!! - subroutine GFS_checktracers_timestep_init (me, master, im, levs, ntracer, kdt, qgrs, gq0, errmsg, errflg) - - use machine, only: kind_phys - - implicit none - - ! Interface variables - integer, intent(in ) :: me - integer, intent(in ) :: master - integer, intent(in ) :: im - integer, intent(in ) :: levs - integer, intent(in ) :: ntracer - integer, intent(in ) :: kdt - real(kind_phys), intent(in ) :: qgrs(:,:,:) - real(kind_phys), intent(in ) :: gq0(:,:,:) - character(len=*), intent( out) :: errmsg - integer, intent( out) :: errflg - - ! Local variables - integer :: i, k, n - - errflg = 0 - errmsg = '' - - write(0,'(a,i5)') 'YYY: me :', me - write(0,'(a,i5)') 'YYY: master :', master - write(0,'(a,i5)') 'YYY: im :', im - write(0,'(a,i5)') 'YYY: levs :', levs - write(0,'(a,i5)') 'YYY: ntracer :', ntracer - write(0,'(a,i5)') 'YYY: kdt :', kdt - - do n=1,ntracer - do i=1,im - do k=1,levs - if (qgrs(i,k,n)<0 .or. gq0(i,k,n)<0) then - write(0,'(a,4i5,1x,2e16.7)') 'YYY: blk, n, i, k, qgrs, gq0 :', -999, n, i, k, qgrs(i,k,n), gq0(i,k,n) - end if - end do - end do - end do - - end subroutine GFS_checktracers_timestep_init - -!> \section arg_table_GFS_checktracers_run Argument Table -!! \htmlinclude GFS_checktracers_run.html -!! - subroutine GFS_checktracers_run (me, master, blkno, im, levs, ntracer, kdt, qgrs, gq0, errmsg, errflg) - - use machine, only: kind_phys - - implicit none - - ! Interface variables - integer, intent(in ) :: me - integer, intent(in ) :: master - integer, intent(in ) :: blkno - integer, intent(in ) :: im - integer, intent(in ) :: levs - integer, intent(in ) :: ntracer - integer, intent(in ) :: kdt - real(kind_phys), intent(in ) :: qgrs(:,:,:) - real(kind_phys), intent(in ) :: gq0(:,:,:) - character(len=*), intent( out) :: errmsg - integer, intent( out) :: errflg - - ! Local variables - integer :: i, k, n - - errflg = 0 - errmsg = '' - - write(0,'(a,i5)') 'YYY: me :', me - write(0,'(a,i5)') 'YYY: master :', master - write(0,'(a,i5)') 'YYY: blkno :', blkno - write(0,'(a,i5)') 'YYY: im :', im - write(0,'(a,i5)') 'YYY: levs :', levs - write(0,'(a,i5)') 'YYY: ntracer :', ntracer - write(0,'(a,i5)') 'YYY: kdt :', kdt - - do n=1,ntracer - do i=1,im - do k=1,levs - if (qgrs(i,k,n)<0 .or. gq0(i,k,n)<0) then - write(0,'(a,4i5,1x,2e16.7)') 'YYY: blk, n, i, k, qgrs, gq0 :', blkno, n, i, k, qgrs(i,k,n), gq0(i,k,n) - end if - end do - end do - end do - - end subroutine GFS_checktracers_run - - end module GFS_checktracers diff --git a/physics/Interstitials/UFS_SCM_NEPTUNE/GFS_debug.meta b/physics/Interstitials/UFS_SCM_NEPTUNE/GFS_debug.meta deleted file mode 100644 index 3fb25af274..0000000000 --- a/physics/Interstitials/UFS_SCM_NEPTUNE/GFS_debug.meta +++ /dev/null @@ -1,972 +0,0 @@ -[ccpp-table-properties] - name = GFS_diagtoscreen - type = scheme - dependencies = ../../hooks/machine.F - -######################################################################## -[ccpp-arg-table] - name = GFS_diagtoscreen_init - type = scheme -[Model] - standard_name = GFS_control_type_instance - long_name = instance of derived type GFS_control_type - units = DDT - dimensions = () - type = GFS_control_type - intent = in -[Statein] - standard_name = GFS_statein_type_instance - long_name = prognostic state data in from dycore - units = DDT - dimensions = () - type = GFS_statein_type - intent = in -[Stateout] - standard_name = GFS_stateout_type_instance - long_name = prognostic state or tendencies return to dycore - units = DDT - dimensions = () - type = GFS_stateout_type - intent = in -[Sfcprop] - standard_name = GFS_sfcprop_type_instance - long_name = instance of derived type GFS_sfcprop_type - units = DDT - dimensions = () - type = GFS_sfcprop_type - intent = in -[Coupling] - standard_name = GFS_coupling_type_instance - long_name = instance of derived type GFS_coupling_type - units = DDT - dimensions = () - type = GFS_coupling_type - intent = in -[Grid] - standard_name = GFS_grid_type_instance - long_name = instance of derived type GFS_grid_type - units = DDT - dimensions = () - type = GFS_grid_type - intent = in -[Tbd] - standard_name = GFS_tbd_type_instance - long_name = instance of derived type GFS_tbd_type - units = DDT - dimensions = () - type = GFS_tbd_type - intent = in -[Cldprop] - standard_name = GFS_cldprop_type_instance - long_name = instance of derived type GFS_cldprop_type - units = DDT - dimensions = () - type = GFS_cldprop_type - intent = in -[Radtend] - standard_name = GFS_radtend_type_instance - long_name = instance of derived type GFS_radtend_type - units = DDT - dimensions = () - type = GFS_radtend_type - intent = in -[Diag] - standard_name = GFS_diag_type_instance - long_name = instance of derived type GFS_diag_type - units = DDT - dimensions = () - type = GFS_diag_type - intent = in -[Interstitial] - standard_name = GFS_interstitial_type_instance_all_threads - long_name = instance of derived type GFS_interstitial_type - units = DDT - dimensions = (number_of_openmp_threads) - type = GFS_interstitial_type - intent = in -[errmsg] - standard_name = ccpp_error_message - long_name = error message for error handling in CCPP - units = none - dimensions = () - type = character - kind = len=* - intent = out -[errflg] - standard_name = ccpp_error_code - long_name = error code for error handling in CCPP - units = 1 - dimensions = () - type = integer - intent = out - -######################################################################## -[ccpp-arg-table] - name = GFS_diagtoscreen_timestep_init - type = scheme -[Model] - standard_name = GFS_control_type_instance - long_name = instance of derived type GFS_control_type in FV3 - units = DDT - dimensions = () - type = GFS_control_type - intent = in -[Statein] - standard_name = GFS_statein_type_instance - long_name = prognostic state data in from dycore - units = DDT - dimensions = () - type = GFS_statein_type - intent = in -[Stateout] - standard_name = GFS_stateout_type_instance - long_name = prognostic state or tendencies return to dycore - units = DDT - dimensions = () - type = GFS_stateout_type - intent = in -[Sfcprop] - standard_name = GFS_sfcprop_type_instance - long_name = instance of derived type GFS_sfcprop_type - units = DDT - dimensions = () - type = GFS_sfcprop_type - intent = in -[Coupling] - standard_name = GFS_coupling_type_instance - long_name = instance of derived type GFS_coupling_type - units = DDT - dimensions = () - type = GFS_coupling_type - intent = in -[Grid] - standard_name = GFS_grid_type_instance - long_name = instance of derived type GFS_grid_type - units = DDT - dimensions = () - type = GFS_grid_type - intent = in -[Tbd] - standard_name = GFS_tbd_type_instance - long_name = instance of derived type GFS_tbd_type - units = DDT - dimensions = () - type = GFS_tbd_type - intent = in -[Cldprop] - standard_name = GFS_cldprop_type_instance - long_name = instance of derived type GFS_cldprop_type - units = DDT - dimensions = () - type = GFS_cldprop_type - intent = in -[Radtend] - standard_name = GFS_radtend_type_instance - long_name = instance of derived type GFS_radtend_type - units = DDT - dimensions = () - type = GFS_radtend_type - intent = in -[Diag] - standard_name = GFS_diag_type_instance - long_name = instance of derived type GFS_diag_type - units = DDT - dimensions = () - type = GFS_diag_type - intent = in -[Interstitial] - standard_name = GFS_interstitial_type_instance_all_threads - long_name = instance of derived type GFS_interstitial_type - units = DDT - dimensions = (number_of_openmp_threads) - type = GFS_interstitial_type - intent = in -[errmsg] - standard_name = ccpp_error_message - long_name = error message for error handling in CCPP - units = none - dimensions = () - type = character - kind = len=* - intent = out -[errflg] - standard_name = ccpp_error_code - long_name = error code for error handling in CCPP - units = 1 - dimensions = () - type = integer - intent = out - -######################################################################## -[ccpp-arg-table] - name = GFS_diagtoscreen_run - type = scheme -[Model] - standard_name = GFS_control_type_instance - long_name = instance of derived type GFS_control_type in FV3 - units = DDT - dimensions = () - type = GFS_control_type - intent = in -[Statein] - standard_name = GFS_statein_type_instance - long_name = instance of derived type GFS_statein_type in FV3 - units = DDT - dimensions = () - type = GFS_statein_type - intent = in -[Stateout] - standard_name = GFS_stateout_type_instance - long_name = instance of derived type GFS_stateout_type - units = DDT - dimensions = () - type = GFS_stateout_type - intent = in -[Sfcprop] - standard_name = GFS_sfcprop_type_instance - long_name = instance of type GFS_sfcprop_type in FV3 - units = DDT - dimensions = () - type = GFS_sfcprop_type - intent = in -[Coupling] - standard_name = GFS_coupling_type_instance - long_name = instance of type GFS_coupling_type in FV3 - units = DDT - dimensions = () - type = GFS_coupling_type - intent = in -[Grid] - standard_name = GFS_grid_type_instance - long_name = instance of type GFS_grid_type in FV3 - units = DDT - dimensions = () - type = GFS_grid_type - intent = in -[Tbd] - standard_name = GFS_tbd_type_instance - long_name = instance of type GFS_tbd_type in FV3 - units = DDT - dimensions = () - type = GFS_tbd_type - intent = in -[Cldprop] - standard_name = GFS_cldprop_type_instance - long_name = instance of type GFS_cldprop_type in FV3 - units = DDT - dimensions = () - type = GFS_cldprop_type - intent = in -[Radtend] - standard_name = GFS_radtend_type_instance - long_name = instance of type GFS_radtend_type in FV3 - units = DDT - dimensions = () - type = GFS_radtend_type - intent = in -[Diag] - standard_name = GFS_diag_type_instance - long_name = instance of type GFS_diag_type in FV3 - units = DDT - dimensions = () - type = GFS_diag_type - intent = in -[Interstitial] - standard_name = GFS_interstitial_type_instance - long_name = instance of type GFS_interstitial_type in FV3 - units = DDT - dimensions = () - type = GFS_interstitial_type - intent = in -[nthreads] - standard_name = number_of_openmp_threads - long_name = number of OpenMP threads or fast physics schemes - units = count - dimensions = () - type = integer - intent = in -[blkno] - standard_name = ccpp_block_number - long_name = number of block for explicit data blocking in CCPP - units = index - dimensions = () - type = integer - intent = in -[errmsg] - standard_name = ccpp_error_message - long_name = error message for error handling in CCPP - units = none - dimensions = () - type = character - kind = len=* - intent = out -[errflg] - standard_name = ccpp_error_code - long_name = error code for error handling in CCPP - units = 1 - dimensions = () - type = integer - intent = out - -######################################################################## -[ccpp-table-properties] - name = GFS_interstitialtoscreen - type = scheme - dependencies = ../../hooks/machine.F - -######################################################################## -[ccpp-arg-table] - name = GFS_interstitialtoscreen_run - type = scheme -[Model] - standard_name = GFS_control_type_instance - long_name = instance of derived type GFS_control_type - units = DDT - dimensions = () - type = GFS_control_type - intent = in -[Statein] - standard_name = GFS_statein_type_instance - long_name = instance of derived type GFS_statein_type - units = DDT - dimensions = () - type = GFS_statein_type - intent = in -[Stateout] - standard_name = GFS_stateout_type_instance - long_name = instance of derived type GFS_stateout_type - units = DDT - dimensions = () - type = GFS_stateout_type - intent = in -[Sfcprop] - standard_name = GFS_sfcprop_type_instance - long_name = instance of derived type GFS_sfcprop_type - units = DDT - dimensions = () - type = GFS_sfcprop_type - intent = in -[Coupling] - standard_name = GFS_coupling_type_instance - long_name = instance of derived type GFS_coupling_type - units = DDT - dimensions = () - type = GFS_coupling_type - intent = in -[Grid] - standard_name = GFS_grid_type_instance - long_name = instance of derived type GFS_grid_type - units = DDT - dimensions = () - type = GFS_grid_type - intent = in -[Tbd] - standard_name = GFS_tbd_type_instance - long_name = instance of derived type GFS_tbd_type - units = DDT - dimensions = () - type = GFS_tbd_type - intent = in -[Cldprop] - standard_name = GFS_cldprop_type_instance - long_name = instance of derived type GFS_cldprop_type - units = DDT - dimensions = () - type = GFS_cldprop_type - intent = in -[Radtend] - standard_name = GFS_radtend_type_instance - long_name = instance of derived type GFS_radtend_type - units = DDT - dimensions = () - type = GFS_radtend_type - intent = in -[Diag] - standard_name = GFS_diag_type_instance - long_name = instance of derived type GFS_diag_type - units = DDT - dimensions = () - type = GFS_diag_type - intent = in -[Interstitial] - standard_name = GFS_interstitial_type_instance - long_name = instance of derived type GFS_interstitial_type - units = DDT - dimensions = () - type = GFS_interstitial_type - intent = in -[nthreads] - standard_name = number_of_openmp_threads - long_name = number of OpenMP threads or fast physics schemes - units = count - dimensions = () - type = integer - intent = in -[blkno] - standard_name = ccpp_block_number - long_name = number of block for explicit data blocking in CCPP - units = index - dimensions = () - type = integer - intent = in -[errmsg] - standard_name = ccpp_error_message - long_name = error message for error handling in CCPP - units = none - dimensions = () - type = character - kind = len=* - intent = out -[errflg] - standard_name = ccpp_error_code - long_name = error code for error handling in CCPP - units = 1 - dimensions = () - type = integer - intent = out - -######################################################################## -[ccpp-table-properties] - name = GFS_abort - type = scheme - dependencies = ../../hooks/machine.F - -######################################################################## -[ccpp-arg-table] - name = GFS_abort_run - type = scheme -[Model] - standard_name = GFS_control_type_instance - long_name = instance of derived type GFS_control_type - units = DDT - dimensions = () - type = GFS_control_type - intent = in -[blkno] - standard_name = ccpp_block_number - long_name = number of block for explicit data blocking in CCPP - units = index - dimensions = () - type = integer - intent = in -[errmsg] - standard_name = ccpp_error_message - long_name = error message for error handling in CCPP - units = none - dimensions = () - type = character - kind = len=* - intent = out -[errflg] - standard_name = ccpp_error_code - long_name = error code for error handling in CCPP - units = 1 - dimensions = () - type = integer - intent = out - -######################################################################## -[ccpp-table-properties] - name = GFS_checkland - type = scheme - dependencies = ../../hooks/machine.F - -######################################################################## -[ccpp-arg-table] - name = GFS_checkland_run - type = scheme -[me] - standard_name = mpi_rank - long_name = current MPI-rank - units = index - dimensions = () - type = integer - intent = in -[master] - standard_name = mpi_root - long_name = master MPI-rank - units = index - dimensions = () - type = integer - intent = in -[blkno] - standard_name = ccpp_block_number - long_name = number of block for explicit data blocking in CCPP - units = index - dimensions = () - type = integer - intent = in -[im] - standard_name = horizontal_loop_extent - long_name = horizontal loop extent - units = count - dimensions = () - type = integer - intent = in -[kdt] - standard_name = index_of_timestep - long_name = current number of time steps - units = index - dimensions = () - type = integer - intent = in -[iter] - standard_name = ccpp_loop_counter - long_name = loop counter for subcycling loops in CCPP - units = index - dimensions = () - type = integer - intent = in -[flag_iter] - standard_name = flag_for_iteration - long_name = flag for iteration - units = flag - dimensions = (horizontal_loop_extent) - type = logical - intent = in -[flag_guess] - standard_name = flag_for_guess_run - long_name = flag for guess run - units = flag - dimensions = (horizontal_loop_extent) - type = logical - intent = in -[flag_init] - standard_name = flag_for_first_timestep - long_name = flag signaling first time step for time integration loop - units = flag - dimensions = () - type = logical - intent = in -[flag_restart] - standard_name = flag_for_restart - long_name = flag for restart (warmstart) or coldstart - units = flag - dimensions = () - type = logical - intent = in -[frac_grid] - standard_name = flag_for_fractional_landmask - long_name = flag for fractional grid - units = flag - dimensions = () - type = logical - intent = in -[isot] - standard_name = control_for_soil_type_dataset - long_name = soil type dataset choice - units = index - dimensions = () - type = integer - intent = in -[ivegsrc] - standard_name = control_for_vegetation_dataset - long_name = land use dataset choice - units = index - dimensions = () - type = integer - intent = in -[stype] - standard_name = soil_type_classification - long_name = soil type for lsm - units = index - dimensions = (horizontal_loop_extent) - type = integer - intent = in -[scolor] - standard_name = soil_color_classification - long_name = soil color for lsm - units = index - dimensions = (horizontal_loop_extent) - type = integer - intent = in -[vtype] - standard_name = vegetation_type_classification - long_name = vegetation type for lsm - units = index - dimensions = (horizontal_loop_extent) - type = integer - intent = in -[slope] - standard_name = surface_slope_classification - long_name = sfc slope type for lsm - units = index - dimensions = (horizontal_loop_extent) - type = integer - intent = in -[dry] - standard_name = flag_nonzero_land_surface_fraction - long_name = flag indicating some land surface area fraction - units = flag - dimensions = (horizontal_loop_extent) - type = logical - intent = in -[icy] - standard_name = flag_nonzero_sea_ice_surface_fraction - long_name = flag indicating some sea ice surface area fraction - units = flag - dimensions = (horizontal_loop_extent) - type = logical - intent = in -[wet] - standard_name = flag_nonzero_wet_surface_fraction - long_name = flag indicating some ocean or lake surface area fraction - units = flag - dimensions = (horizontal_loop_extent) - type = logical - intent = in -[lake] - standard_name = flag_nonzero_lake_surface_fraction - long_name = flag indicating some lake surface area fraction - units = flag - dimensions = (horizontal_loop_extent) - type = logical - intent = in -[ocean] - standard_name = flag_nonzero_ocean_surface_fraction - long_name = flag indicating some ocean surface area fraction - units = flag - dimensions = (horizontal_loop_extent) - type = logical - intent = in -[oceanfrac] - standard_name = sea_area_fraction - long_name = fraction of horizontal grid area occupied by ocean - units = frac - dimensions = (horizontal_loop_extent) - type = real - kind = kind_phys - intent = in -[landfrac] - standard_name = land_area_fraction - long_name = fraction of horizontal grid area occupied by land - units = frac - dimensions = (horizontal_loop_extent) - type = real - kind = kind_phys - intent = in -[lakefrac] - standard_name = lake_area_fraction - long_name = fraction of horizontal grid area occupied by lake - units = frac - dimensions = (horizontal_loop_extent) - type = real - kind = kind_phys - intent = in -[slmsk] - standard_name = area_type - long_name = landmask: sea/land/ice=0/1/2 - units = flag - dimensions = (horizontal_loop_extent) - type = real - kind = kind_phys - intent = in -[islmsk] - standard_name = sea_land_ice_mask - long_name = sea/land/ice mask (=0/1/2) - units = flag - dimensions = (horizontal_loop_extent) - type = integer - intent = in -[zorl] - standard_name = surface_roughness_length - long_name = surface roughness length - units = cm - dimensions = (horizontal_loop_extent) - type = real - kind = kind_phys - intent = in -[zorlw] - standard_name = surface_roughness_length_over_water - long_name = surface roughness length over water - units = cm - dimensions = (horizontal_loop_extent) - type = real - kind = kind_phys - intent = in -[zorll] - standard_name = surface_roughness_length_over_land - long_name = surface roughness length over land - units = cm - dimensions = (horizontal_loop_extent) - type = real - kind = kind_phys - intent = in -[zorli] - standard_name = surface_roughness_length_over_ice - long_name = surface roughness length over ice - units = cm - dimensions = (horizontal_loop_extent) - type = real - kind = kind_phys - intent = in -[fice] - standard_name = sea_ice_area_fraction_of_sea_area_fraction - long_name = ice fraction over open water - units = frac - dimensions = (horizontal_loop_extent) - type = real - kind = kind_phys - intent = in -[errmsg] - standard_name = ccpp_error_message - long_name = error message for error handling in CCPP - units = none - dimensions = () - type = character - kind = len=* - intent = out -[errflg] - standard_name = ccpp_error_code - long_name = error code for error handling in CCPP - units = 1 - dimensions = () - type = integer - intent = out - -######################################################################## -[ccpp-table-properties] - name = GFS_checktracers - type = scheme - dependencies = ../../hooks/machine.F - -######################################################################## -[ccpp-arg-table] - name = GFS_checktracers_init - type = scheme -[me] - standard_name = mpi_rank - long_name = current MPI-rank - units = index - dimensions = () - type = integer - intent = in -[master] - standard_name = mpi_root - long_name = master MPI-rank - units = index - dimensions = () - type = integer - intent = in -[im] - standard_name = horizontal_dimension - long_name = horizontal dimension - units = count - dimensions = () - type = integer - intent = in -[levs] - standard_name = vertical_layer_dimension - long_name = number of vertical levels - units = count - dimensions = () - type = integer - intent = in -[ntracer] - standard_name = number_of_tracers - long_name = number of tracers - units = count - dimensions = () - type = integer - intent = in -[kdt] - standard_name = index_of_timestep - long_name = current number of time steps - units = index - dimensions = () - type = integer - intent = in -[qgrs] - standard_name = tracer_concentration - long_name = model layer mean tracer concentration - units = kg kg-1 - dimensions = (horizontal_dimension,vertical_layer_dimension,number_of_tracers) - type = real - kind = kind_phys - intent = in -[gq0] - standard_name = tracer_concentration_of_new_state - long_name = tracer concentration updated by physics - units = kg kg-1 - dimensions = (horizontal_dimension,vertical_layer_dimension,number_of_tracers) - type = real - kind = kind_phys - intent = in -[errmsg] - standard_name = ccpp_error_message - long_name = error message for error handling in CCPP - units = none - dimensions = () - type = character - kind = len=* - intent = out -[errflg] - standard_name = ccpp_error_code - long_name = error code for error handling in CCPP - units = 1 - dimensions = () - type = integer - intent = out - -######################################################################## -[ccpp-arg-table] - name = GFS_checktracers_timestep_init - type = scheme -[me] - standard_name = mpi_rank - long_name = current MPI-rank - units = index - dimensions = () - type = integer - intent = in -[master] - standard_name = mpi_root - long_name = master MPI-rank - units = index - dimensions = () - type = integer - intent = in -[im] - standard_name = horizontal_dimension - long_name = horizontal dimension - units = count - dimensions = () - type = integer - intent = in -[levs] - standard_name = vertical_layer_dimension - long_name = number of vertical levels - units = count - dimensions = () - type = integer - intent = in -[ntracer] - standard_name = number_of_tracers - long_name = number of tracers - units = count - dimensions = () - type = integer - intent = in -[kdt] - standard_name = index_of_timestep - long_name = current number of time steps - units = index - dimensions = () - type = integer - intent = in -[qgrs] - standard_name = tracer_concentration - long_name = model layer mean tracer concentration - units = kg kg-1 - dimensions = (horizontal_dimension,vertical_layer_dimension,number_of_tracers) - type = real - kind = kind_phys - intent = in -[gq0] - standard_name = tracer_concentration_of_new_state - long_name = tracer concentration updated by physics - units = kg kg-1 - dimensions = (horizontal_dimension,vertical_layer_dimension,number_of_tracers) - type = real - kind = kind_phys - intent = in -[errmsg] - standard_name = ccpp_error_message - long_name = error message for error handling in CCPP - units = none - dimensions = () - type = character - kind = len=* - intent = out -[errflg] - standard_name = ccpp_error_code - long_name = error code for error handling in CCPP - units = 1 - dimensions = () - type = integer - intent = out - -######################################################################## -[ccpp-arg-table] - name = GFS_checktracers_run - type = scheme -[me] - standard_name = mpi_rank - long_name = current MPI-rank - units = index - dimensions = () - type = integer - intent = in -[master] - standard_name = mpi_root - long_name = master MPI-rank - units = index - dimensions = () - type = integer - intent = in -[blkno] - standard_name = ccpp_block_number - long_name = number of block for explicit data blocking in CCPP - units = index - dimensions = () - type = integer - intent = in -[im] - standard_name = horizontal_loop_extent - long_name = horizontal loop extent - units = count - dimensions = () - type = integer - intent = in -[levs] - standard_name = vertical_layer_dimension - long_name = number of vertical levels - units = count - dimensions = () - type = integer - intent = in -[ntracer] - standard_name = number_of_tracers - long_name = number of tracers - units = count - dimensions = () - type = integer - intent = in -[kdt] - standard_name = index_of_timestep - long_name = current number of time steps - units = index - dimensions = () - type = integer - intent = in -[qgrs] - standard_name = tracer_concentration - long_name = model layer mean tracer concentration - units = kg kg-1 - dimensions = (horizontal_loop_extent,vertical_layer_dimension,number_of_tracers) - type = real - kind = kind_phys - intent = in -[gq0] - standard_name = tracer_concentration_of_new_state - long_name = tracer concentration updated by physics - units = kg kg-1 - dimensions = (horizontal_loop_extent,vertical_layer_dimension,number_of_tracers) - type = real - kind = kind_phys - intent = in -[errmsg] - standard_name = ccpp_error_message - long_name = error message for error handling in CCPP - units = none - dimensions = () - type = character - kind = len=* - intent = out -[errflg] - standard_name = ccpp_error_code - long_name = error code for error handling in CCPP - units = 1 - dimensions = () - type = integer - intent = out diff --git a/physics/Interstitials/UFS_SCM_NEPTUNE/GFS_phys_time_vary.fv3.F90 b/physics/Interstitials/UFS_SCM_NEPTUNE/GFS_phys_time_vary.fv3.F90 index ca21e914c9..202054e2b9 100644 --- a/physics/Interstitials/UFS_SCM_NEPTUNE/GFS_phys_time_vary.fv3.F90 +++ b/physics/Interstitials/UFS_SCM_NEPTUNE/GFS_phys_time_vary.fv3.F90 @@ -46,7 +46,7 @@ module GFS_phys_time_vary private - public GFS_phys_time_vary_init, GFS_phys_time_vary_timestep_init, GFS_phys_time_vary_finalize + public GFS_phys_time_vary_init, GFS_phys_time_vary_timestep_init, GFS_phys_time_vary_final real(kind=kind_phys), parameter :: con_hr = 3600.0_kind_phys real(kind=kind_phys), parameter :: con_99 = 99.0_kind_phys @@ -964,10 +964,10 @@ end subroutine find_photochem_time_index end subroutine GFS_phys_time_vary_timestep_init !> @} -!> \section arg_table_GFS_phys_time_vary_finalize Argument Table -!! \htmlinclude GFS_phys_time_vary_finalize.html +!> \section arg_table_GFS_phys_time_vary_final Argument Table +!! \htmlinclude GFS_phys_time_vary_final.html !! - subroutine GFS_phys_time_vary_finalize(is_initialized, errmsg, errflg) + subroutine GFS_phys_time_vary_final(is_initialized, errmsg, errflg) implicit none @@ -998,6 +998,6 @@ subroutine GFS_phys_time_vary_finalize(is_initialized, errmsg, errflg) is_initialized = .false. - end subroutine GFS_phys_time_vary_finalize + end subroutine GFS_phys_time_vary_final end module GFS_phys_time_vary diff --git a/physics/Interstitials/UFS_SCM_NEPTUNE/GFS_phys_time_vary.fv3.meta b/physics/Interstitials/UFS_SCM_NEPTUNE/GFS_phys_time_vary.fv3.meta index 1bad16da86..8bd350bdc3 100644 --- a/physics/Interstitials/UFS_SCM_NEPTUNE/GFS_phys_time_vary.fv3.meta +++ b/physics/Interstitials/UFS_SCM_NEPTUNE/GFS_phys_time_vary.fv3.meta @@ -1074,7 +1074,7 @@ ######################################################################## [ccpp-arg-table] - name = GFS_phys_time_vary_finalize + name = GFS_phys_time_vary_final type = scheme [is_initialized] standard_name = flag_for_gfs_phys_time_vary_interstitial_initialization diff --git a/physics/Interstitials/UFS_SCM_NEPTUNE/GFS_phys_time_vary.neptune.F90 b/physics/Interstitials/UFS_SCM_NEPTUNE/GFS_phys_time_vary.neptune.F90 index 9f10f5883d..5d94ace843 100644 --- a/physics/Interstitials/UFS_SCM_NEPTUNE/GFS_phys_time_vary.neptune.F90 +++ b/physics/Interstitials/UFS_SCM_NEPTUNE/GFS_phys_time_vary.neptune.F90 @@ -46,7 +46,7 @@ module GFS_phys_time_vary private - public GFS_phys_time_vary_init, GFS_phys_time_vary_timestep_init, GFS_phys_time_vary_finalize + public GFS_phys_time_vary_init, GFS_phys_time_vary_timestep_init, GFS_phys_time_vary_final real(kind=kind_phys), parameter :: con_hr = 3600.0_kind_phys real(kind=kind_phys), parameter :: con_99 = 99.0_kind_phys @@ -965,10 +965,10 @@ end subroutine find_photochem_time_index end subroutine GFS_phys_time_vary_timestep_init !> @} -!> \section arg_table_GFS_phys_time_vary_finalize Argument Table -!! \htmlinclude GFS_phys_time_vary_finalize.html +!> \section arg_table_GFS_phys_time_vary_final Argument Table +!! \htmlinclude GFS_phys_time_vary_final.html !! - subroutine GFS_phys_time_vary_finalize(is_initialized, errmsg, errflg) + subroutine GFS_phys_time_vary_final(is_initialized, errmsg, errflg) implicit none @@ -999,6 +999,6 @@ subroutine GFS_phys_time_vary_finalize(is_initialized, errmsg, errflg) is_initialized = .false. - end subroutine GFS_phys_time_vary_finalize + end subroutine GFS_phys_time_vary_final end module GFS_phys_time_vary diff --git a/physics/Interstitials/UFS_SCM_NEPTUNE/GFS_phys_time_vary.neptune.meta b/physics/Interstitials/UFS_SCM_NEPTUNE/GFS_phys_time_vary.neptune.meta index 1bad16da86..1c8834c317 100644 --- a/physics/Interstitials/UFS_SCM_NEPTUNE/GFS_phys_time_vary.neptune.meta +++ b/physics/Interstitials/UFS_SCM_NEPTUNE/GFS_phys_time_vary.neptune.meta @@ -1074,7 +1074,7 @@ ######################################################################## [ccpp-arg-table] - name = GFS_phys_time_vary_finalize + name = GFS_phys_time_vary_final type = scheme [is_initialized] standard_name = flag_for_gfs_phys_time_vary_interstitial_initialization @@ -2017,7 +2017,7 @@ dimensions = (horizontal_dimension) type = real kind = kind_phys - intent = inout + intent = in [xlon_d] standard_name = longitude_in_degree long_name = longitude in degree east @@ -2025,7 +2025,7 @@ dimensions = (horizontal_dimension) type = real kind = kind_phys - intent = inout + intent = in [landfrac] standard_name = land_area_fraction long_name = fraction of horizontal grid area occupied by land diff --git a/physics/Interstitials/UFS_SCM_NEPTUNE/GFS_phys_time_vary.scm.F90 b/physics/Interstitials/UFS_SCM_NEPTUNE/GFS_phys_time_vary.scm.F90 index 85fc6fc68a..af97fb0b1b 100644 --- a/physics/Interstitials/UFS_SCM_NEPTUNE/GFS_phys_time_vary.scm.F90 +++ b/physics/Interstitials/UFS_SCM_NEPTUNE/GFS_phys_time_vary.scm.F90 @@ -40,7 +40,7 @@ module GFS_phys_time_vary private - public GFS_phys_time_vary_init, GFS_phys_time_vary_timestep_init, GFS_phys_time_vary_finalize + public GFS_phys_time_vary_init, GFS_phys_time_vary_timestep_init, GFS_phys_time_vary_final real(kind=kind_phys), parameter :: con_hr = 3600.0_kind_phys real(kind=kind_phys), parameter :: con_99 = 99.0_kind_phys @@ -849,10 +849,10 @@ end subroutine find_photochem_time_index end subroutine GFS_phys_time_vary_timestep_init !> @} -!> \section arg_table_GFS_phys_time_vary_finalize Argument Table -!! \htmlinclude GFS_phys_time_vary_finalize.html +!> \section arg_table_GFS_phys_time_vary_final Argument Table +!! \htmlinclude GFS_phys_time_vary_final.html !! - subroutine GFS_phys_time_vary_finalize(is_initialized, errmsg, errflg) + subroutine GFS_phys_time_vary_final(is_initialized, errmsg, errflg) implicit none @@ -883,6 +883,6 @@ subroutine GFS_phys_time_vary_finalize(is_initialized, errmsg, errflg) is_initialized = .false. - end subroutine GFS_phys_time_vary_finalize + end subroutine GFS_phys_time_vary_final end module GFS_phys_time_vary diff --git a/physics/Interstitials/UFS_SCM_NEPTUNE/GFS_phys_time_vary.scm.meta b/physics/Interstitials/UFS_SCM_NEPTUNE/GFS_phys_time_vary.scm.meta index 98a60e3b49..f34244b42f 100644 --- a/physics/Interstitials/UFS_SCM_NEPTUNE/GFS_phys_time_vary.scm.meta +++ b/physics/Interstitials/UFS_SCM_NEPTUNE/GFS_phys_time_vary.scm.meta @@ -1073,7 +1073,7 @@ ######################################################################## [ccpp-arg-table] - name = GFS_phys_time_vary_finalize + name = GFS_phys_time_vary_final type = scheme [is_initialized] standard_name = flag_for_gfs_phys_time_vary_interstitial_initialization @@ -1189,7 +1189,7 @@ [nsswr] standard_name = number_of_timesteps_between_shortwave_radiation_calls long_name = number of timesteps between shortwave radiation calls - units = + units = count dimensions = () type = integer intent = in diff --git a/physics/Interstitials/UFS_SCM_NEPTUNE/GFS_rad_time_vary.scm.F90 b/physics/Interstitials/UFS_SCM_NEPTUNE/GFS_rad_time_vary.scm.F90 index 46585c9da0..93f3d7620d 100644 --- a/physics/Interstitials/UFS_SCM_NEPTUNE/GFS_rad_time_vary.scm.F90 +++ b/physics/Interstitials/UFS_SCM_NEPTUNE/GFS_rad_time_vary.scm.F90 @@ -29,19 +29,19 @@ subroutine GFS_rad_time_vary_timestep_init (lrseeds, rseeds, ! Interface variables logical, intent(in) :: lrseeds - integer, intent(in) :: rseeds(:,:) + integer, intent(in), optional :: rseeds(:,:) integer, intent(in) :: isubc_lw, isubc_sw, cnx, cny, isc, jsc, kdt integer, intent(in) :: imp_physics, imp_physics_zhao_carr, ipsd0, ipsdlim logical, intent(in) :: lslwr, lsswr - integer, intent(inout) :: icsdsw(:), icsdlw(:) + integer, intent(inout), optional :: icsdsw(:), icsdlw(:) integer, intent(in) :: imap(:), jmap(:) real(kind_phys), intent(in) :: sec - real(kind_phys), intent(inout) :: ps_2delt(:) - real(kind_phys), intent(inout) :: ps_1delt(:) - real(kind_phys), intent(inout) :: t_2delt(:,:) - real(kind_phys), intent(inout) :: t_1delt(:,:) - real(kind_phys), intent(inout) :: qv_2delt(:,:) - real(kind_phys), intent(inout) :: qv_1delt(:,:) + real(kind_phys), intent(inout), optional :: ps_2delt(:) + real(kind_phys), intent(inout), optional :: ps_1delt(:) + real(kind_phys), intent(inout), optional :: t_2delt(:,:) + real(kind_phys), intent(inout), optional :: t_1delt(:,:) + real(kind_phys), intent(inout), optional :: qv_2delt(:,:) + real(kind_phys), intent(inout), optional :: qv_1delt(:,:) real(kind_phys), intent(in) :: t(:,:), qv(:,:), ps(:) character(len=*), intent(out) :: errmsg integer, intent(out) :: errflg diff --git a/physics/Interstitials/UFS_SCM_NEPTUNE/GFS_radiation_post.meta b/physics/Interstitials/UFS_SCM_NEPTUNE/GFS_radiation_post.meta index b8a05e258e..41ab42cdcc 100644 --- a/physics/Interstitials/UFS_SCM_NEPTUNE/GFS_radiation_post.meta +++ b/physics/Interstitials/UFS_SCM_NEPTUNE/GFS_radiation_post.meta @@ -2,9 +2,11 @@ name = GFS_radiation_post type = scheme dependencies_path = ../../ - dependencies = hooks/machine.F,Radiation/radiation_aerosols.f + dependencies = hooks/machine.F,Radiation/RRTMG/iounitdef.f,Radiation/radiation_aerosols.f dependencies = Radiation/RRTMG/radlw_param.f,Radiation/radiation_tools.F90,Radiation/RRTMGP/rte-rrtmgp/extensions/mo_heating_rates.F90 - dependencies = Radiation/RRTMGP/rte-rrtmgp/rte-frontend/mo_rte_kind.F90 + dependencies = Radiation/RRTMGP/rte-rrtmgp/rte-frontend/mo_rte_kind.F90,Radiation/RRTMGP/rte-rrtmgp/rte-frontend/mo_rte_config.F90 + dependencies = Radiation/RRTMGP/rte-rrtmgp/rte-frontend/mo_rte_util_array_validation.F90 + dependencies = Radiation/RRTMGP/rte-rrtmgp/gas-optics/mo_gas_optics_constants.F90 ######################################################################## [ccpp-arg-table] diff --git a/physics/Interstitials/UFS_SCM_NEPTUNE/GFS_radiation_surface.meta b/physics/Interstitials/UFS_SCM_NEPTUNE/GFS_radiation_surface.meta index 0192b05472..685ccb843b 100644 --- a/physics/Interstitials/UFS_SCM_NEPTUNE/GFS_radiation_surface.meta +++ b/physics/Interstitials/UFS_SCM_NEPTUNE/GFS_radiation_surface.meta @@ -334,7 +334,7 @@ units = flag dimensions = (horizontal_loop_extent) type = integer - intent = inout + intent = in [alvsf] standard_name = vis_albedo_strong_cosz long_name = mean vis albedo with strong cosz dependency @@ -390,7 +390,7 @@ dimensions = (horizontal_loop_extent) type = real kind = kind_phys - intent = in + intent = inout [semis_ice] standard_name = surface_longwave_emissivity_over_ice long_name = surface lw emissivity in fraction over ice @@ -398,7 +398,7 @@ dimensions = (horizontal_loop_extent) type = real kind = kind_phys - intent = in + intent = inout [semis_wat] standard_name = surface_longwave_emissivity_over_water long_name = surface lw emissivity in fraction over water diff --git a/physics/Interstitials/UFS_SCM_NEPTUNE/GFS_rrtmg_pre.meta b/physics/Interstitials/UFS_SCM_NEPTUNE/GFS_rrtmg_pre.meta index 697aadfb5f..6e3cc81381 100644 --- a/physics/Interstitials/UFS_SCM_NEPTUNE/GFS_rrtmg_pre.meta +++ b/physics/Interstitials/UFS_SCM_NEPTUNE/GFS_rrtmg_pre.meta @@ -2,11 +2,11 @@ name = GFS_rrtmg_pre type = scheme dependencies_path = ../../ - dependencies = tools/funcphys.f90,hooks/machine.F + dependencies = hooks/physcons.F90,tools/funcphys.f90,hooks/machine.F dependencies = MP/TEMPO/TEMPO/module_mp_tempo_params.F90,MP/TEMPO/TEMPO/module_mp_tempo_utils.F90 dependencies = MP/Thompson/module_mp_thompson.F90,MP/Thompson/module_mp_thompson_make_number_concentrations.F90 - dependencies = Radiation/RRTMG/radcons.f90,Radiation/radiation_aerosols.f - dependencies = Radiation/radiation_astronomy.f,Radiation/radiation_clouds.f,Radiation/radiation_gases.f + dependencies = Radiation/RRTMG/radcons.f90,Radiation/RRTMG/iounitdef.f,Radiation/radiation_aerosols.f + dependencies = Radiation/radiation_astronomy.f,Radiation/radiation_cloud_overlap.F90,Radiation/radiation_clouds.f,Radiation/radiation_gases.f dependencies = Radiation/RRTMG/radlw_param.f,Radiation/RRTMG/radsw_param.f,Radiation/radiation_cloud_overlap.F90 dependencies = SFC_Models/Land/Noah/surface_perturbation.F90 dependencies = photochem/module_ozphys.F90 @@ -581,6 +581,7 @@ units = km dimensions = () type = real + kind = kind_phys intent = in [idcor] standard_name = flag_for_decorrelation_length_method diff --git a/physics/Interstitials/UFS_SCM_NEPTUNE/GFS_rrtmg_setup.F90 b/physics/Interstitials/UFS_SCM_NEPTUNE/GFS_rrtmg_setup.F90 index baa660dbc2..b627633d5a 100644 --- a/physics/Interstitials/UFS_SCM_NEPTUNE/GFS_rrtmg_setup.F90 +++ b/physics/Interstitials/UFS_SCM_NEPTUNE/GFS_rrtmg_setup.F90 @@ -11,7 +11,7 @@ module GFS_rrtmg_setup use mpi_f08 implicit none - public GFS_rrtmg_setup_init, GFS_rrtmg_setup_timestep_init, GFS_rrtmg_setup_finalize + public GFS_rrtmg_setup_init, GFS_rrtmg_setup_timestep_init, GFS_rrtmg_setup_final private @@ -295,10 +295,10 @@ subroutine GFS_rrtmg_setup_timestep_init (idate, jdate, deltsw, deltim, & end subroutine GFS_rrtmg_setup_timestep_init -!> \section arg_table_GFS_rrtmg_setup_finalize Argument Table -!! \htmlinclude GFS_rrtmg_setup_finalize.html +!> \section arg_table_GFS_rrtmg_setup_final Argument Table +!! \htmlinclude GFS_rrtmg_setup_final.html !! - subroutine GFS_rrtmg_setup_finalize (errmsg, errflg) + subroutine GFS_rrtmg_setup_final (errmsg, errflg) implicit none @@ -315,7 +315,7 @@ subroutine GFS_rrtmg_setup_finalize (errmsg, errflg) is_initialized = .false. - end subroutine GFS_rrtmg_setup_finalize + end subroutine GFS_rrtmg_setup_final !> This subroutine checks and updates time sensitive data used by !! radiation computations. This subroutine needs to be placed inside diff --git a/physics/Interstitials/UFS_SCM_NEPTUNE/GFS_rrtmg_setup.meta b/physics/Interstitials/UFS_SCM_NEPTUNE/GFS_rrtmg_setup.meta index 5bd5971a87..47c1e12793 100644 --- a/physics/Interstitials/UFS_SCM_NEPTUNE/GFS_rrtmg_setup.meta +++ b/physics/Interstitials/UFS_SCM_NEPTUNE/GFS_rrtmg_setup.meta @@ -4,9 +4,10 @@ dependencies_path = ../../ dependencies = tools/mpiutil.F90 dependencies = hooks/machine.F - dependencies = Radiation/radiation_aerosols.f - dependencies = Radiation/radiation_astronomy.f,Radiation/radiation_clouds.f,Radiation/radiation_gases.f + dependencies = Radiation/RRTMG/iounitdef.f,Radiation/radiation_aerosols.f + dependencies = Radiation/radiation_astronomy.f,Radiation/radiation_cloud_overlap.F90,Radiation/radiation_clouds.f,Radiation/radiation_gases.f dependencies = Radiation/RRTMG/radlw_main.F90,Radiation/RRTMG/radlw_param.f,Radiation/RRTMG/radsw_main.F90,Radiation/RRTMG/radsw_param.f + dependencies = Radiation/RRTMG/radlw_param.f,Radiation/RRTMG/radsw_param.f dependencies = MP/module_mp_radar.F90,MP/Thompson/module_mp_thompson.F90,photochem/module_ozphys.F90 ######################################################################## @@ -607,7 +608,7 @@ ######################################################################## [ccpp-arg-table] - name = GFS_rrtmg_setup_finalize + name = GFS_rrtmg_setup_final type = scheme [errmsg] standard_name = ccpp_error_message diff --git a/physics/Interstitials/UFS_SCM_NEPTUNE/GFS_rrtmgp_cloud_mp.F90 b/physics/Interstitials/UFS_SCM_NEPTUNE/GFS_rrtmgp_cloud_mp.F90 index a335f56a44..93388b710a 100644 --- a/physics/Interstitials/UFS_SCM_NEPTUNE/GFS_rrtmgp_cloud_mp.F90 +++ b/physics/Interstitials/UFS_SCM_NEPTUNE/GFS_rrtmgp_cloud_mp.F90 @@ -24,7 +24,7 @@ module GFS_rrtmgp_cloud_mp reice_min = 10.0, & !< Minimum ice size allowed by GFDL MP scheme reice_max = 150.0 !< Maximum ice size allowed by GFDL MP scheme - public GFS_rrtmgp_cloud_mp_init, GFS_rrtmgp_cloud_mp_run, GFS_rrtmgp_cloud_mp_finalize + public GFS_rrtmgp_cloud_mp_init, GFS_rrtmgp_cloud_mp_run, GFS_rrtmgp_cloud_mp_final contains diff --git a/physics/Interstitials/UFS_SCM_NEPTUNE/GFS_rrtmgp_pre.meta b/physics/Interstitials/UFS_SCM_NEPTUNE/GFS_rrtmgp_pre.meta index d7ba78ab07..762a3e1561 100644 --- a/physics/Interstitials/UFS_SCM_NEPTUNE/GFS_rrtmgp_pre.meta +++ b/physics/Interstitials/UFS_SCM_NEPTUNE/GFS_rrtmgp_pre.meta @@ -2,7 +2,7 @@ name = GFS_rrtmgp_pre type = scheme dependencies_path = ../../ - dependencies = tools/funcphys.f90,hooks/machine.F,Radiation/radiation_aerosols.f,photochem/module_ozphys.F90 + dependencies = hooks/physcons.F90,tools/funcphys.f90,hooks/machine.F,Radiation/RRTMG/iounitdef.f,Radiation/radiation_aerosols.f,photochem/module_ozphys.F90 dependencies = Radiation/RRTMG/iounitdef.f,Radiation/radiation_astronomy.f,Radiation/radiation_gases.f,Radiation/radiation_tools.F90 ######################################################################## @@ -362,7 +362,6 @@ type = real kind = kind_phys intent = inout - optional = True [tsfg] standard_name = surface_ground_temperature_for_radiation long_name = surface ground temperature for radiation @@ -517,7 +516,7 @@ units = count dimensions = () type = integer - intent = inout + intent = out [idxday] standard_name = daytime_points long_name = daytime points diff --git a/physics/Interstitials/UFS_SCM_NEPTUNE/GFS_rrtmgp_setup.F90 b/physics/Interstitials/UFS_SCM_NEPTUNE/GFS_rrtmgp_setup.F90 index 8f4200f370..544df8ffa8 100644 --- a/physics/Interstitials/UFS_SCM_NEPTUNE/GFS_rrtmgp_setup.F90 +++ b/physics/Interstitials/UFS_SCM_NEPTUNE/GFS_rrtmgp_setup.F90 @@ -10,7 +10,7 @@ module GFS_rrtmgp_setup use module_ozphys, only : ty_ozphys implicit none - public GFS_rrtmgp_setup_init, GFS_rrtmgp_setup_timestep_init, GFS_rrtmgp_setup_finalize + public GFS_rrtmgp_setup_init, GFS_rrtmgp_setup_timestep_init, GFS_rrtmgp_setup_final private @@ -249,10 +249,10 @@ subroutine GFS_rrtmgp_setup_timestep_init (idate, jdate, deltsw, deltim, doSWrad end subroutine GFS_rrtmgp_setup_timestep_init -!> \section arg_table_GFS_rrtmgp_setup_finalize Argument Table -!! \htmlinclude GFS_rrtmgp_setup_finalize.html +!> \section arg_table_GFS_rrtmgp_setup_final Argument Table +!! \htmlinclude GFS_rrtmgp_setup_final.html !! - subroutine GFS_rrtmgp_setup_finalize (errmsg, errflg) + subroutine GFS_rrtmgp_setup_final (errmsg, errflg) character(len=*), intent( out) :: errmsg integer, intent( out) :: errflg @@ -265,5 +265,5 @@ subroutine GFS_rrtmgp_setup_finalize (errmsg, errflg) ! do finalization stuff if needed is_initialized = .false. - end subroutine GFS_rrtmgp_setup_finalize + end subroutine GFS_rrtmgp_setup_final end module GFS_rrtmgp_setup diff --git a/physics/Interstitials/UFS_SCM_NEPTUNE/GFS_rrtmgp_setup.meta b/physics/Interstitials/UFS_SCM_NEPTUNE/GFS_rrtmgp_setup.meta index 1e31e35672..62ca9f0b97 100644 --- a/physics/Interstitials/UFS_SCM_NEPTUNE/GFS_rrtmgp_setup.meta +++ b/physics/Interstitials/UFS_SCM_NEPTUNE/GFS_rrtmgp_setup.meta @@ -3,7 +3,7 @@ type = scheme dependencies_path = ../../ dependencies = hooks/machine.F,MP/module_mp_radar.F90,MP/Thompson/module_mp_thompson.F90 - dependencies = Radiation/radiation_aerosols.f,photochem/module_ozphys.F90 + dependencies = Radiation/RRTMG/iounitdef.f,Radiation/radiation_aerosols.f,photochem/module_ozphys.F90 dependencies = Radiation/radiation_gases.f,Radiation/RRTMG/iounitdef.f,Radiation/radiation_astronomy.f ######################################################################## @@ -46,7 +46,6 @@ type = integer intent = in [imp_physics_wsm6] - intent = in standard_name = identifier_for_wsm6_microphysics_scheme long_name = choice of WSM6 microphysics scheme units = flag @@ -498,7 +497,7 @@ ######################################################################## [ccpp-arg-table] - name = GFS_rrtmgp_setup_finalize + name = GFS_rrtmgp_setup_final type = scheme [errmsg] standard_name = ccpp_error_message diff --git a/physics/Interstitials/UFS_SCM_NEPTUNE/GFS_suite_interstitial_3.F90 b/physics/Interstitials/UFS_SCM_NEPTUNE/GFS_suite_interstitial_3.F90 index b3d59c095e..21d02ae1a4 100644 --- a/physics/Interstitials/UFS_SCM_NEPTUNE/GFS_suite_interstitial_3.F90 +++ b/physics/Interstitials/UFS_SCM_NEPTUNE/GFS_suite_interstitial_3.F90 @@ -44,7 +44,7 @@ subroutine GFS_suite_interstitial_3_run (otsptflag, & integer, intent(in) :: ntinc, ntlnc logical, intent(in) :: ldiag3d, qdiag3d integer, dimension(:,:), intent(in) :: dtidx - real, dimension(:,:), intent(out) :: save_lnc, save_inc + real(kind=kind_phys), dimension(:,:), optional, intent(out) :: save_lnc, save_inc real(kind=kind_phys), intent(in ) :: rhcbot, rhcmax, rhcpbl, rhctop real(kind=kind_phys), intent(in ), dimension(:) :: work1, work2 diff --git a/physics/Interstitials/UFS_SCM_NEPTUNE/GFS_suite_interstitial_3.meta b/physics/Interstitials/UFS_SCM_NEPTUNE/GFS_suite_interstitial_3.meta index 4cf339e4de..bf8d2b9a7c 100644 --- a/physics/Interstitials/UFS_SCM_NEPTUNE/GFS_suite_interstitial_3.meta +++ b/physics/Interstitials/UFS_SCM_NEPTUNE/GFS_suite_interstitial_3.meta @@ -268,7 +268,7 @@ dimensions = (horizontal_loop_extent,vertical_layer_dimension) type = real kind = kind_phys - intent = out + intent = inout optional = True [omegain] standard_name = prognostic_updraft_velocity_in_convection @@ -277,7 +277,7 @@ dimensions = (horizontal_loop_extent,vertical_layer_dimension) type = real kind = kind_phys - intent = in + intent = inout optional = True [omegaout] standard_name = updraft_velocity_updated_by_physics @@ -533,7 +533,8 @@ dimensions = (horizontal_loop_extent,vertical_layer_dimension) type = real kind = kind_phys - intent = inout + intent = out + optional = true [save_inc] standard_name = ice_cloud_number_concentration_save long_name = ice cloud number concentration before entering a physics scheme @@ -541,7 +542,8 @@ dimensions = (horizontal_loop_extent,vertical_layer_dimension) type = real kind = kind_phys - intent = inout + intent = out + optional = true [ntlnc] standard_name = index_of_mass_number_concentration_of_cloud_droplets_in_tracer_concentration_array long_name = tracer index for liquid number concentration diff --git a/physics/Interstitials/UFS_SCM_NEPTUNE/GFS_suite_interstitial_4.F90 b/physics/Interstitials/UFS_SCM_NEPTUNE/GFS_suite_interstitial_4.F90 index f9a2b76ea0..31960fa1ad 100644 --- a/physics/Interstitials/UFS_SCM_NEPTUNE/GFS_suite_interstitial_4.F90 +++ b/physics/Interstitials/UFS_SCM_NEPTUNE/GFS_suite_interstitial_4.F90 @@ -39,7 +39,8 @@ subroutine GFS_suite_interstitial_4_run (im, levs, ltaerosol, tracers_total, ntr real(kind=kind_phys), intent(in ) :: con_pi, dtf real(kind=kind_phys), intent(in ), dimension(:,:) :: save_qc ! save_qi is not allocated for Zhao-Carr MP - real(kind=kind_phys), intent(in ), dimension(:,:) :: save_qi, save_lnc, save_inc + real(kind=kind_phys), intent(in ), dimension(:,:) :: save_qi + real(kind=kind_phys), intent(in ), dimension(:,:), optional :: save_lnc, save_inc ! dtend and dtidx are only allocated if ldiag3d logical, intent(in) :: ldiag3d, qdiag3d diff --git a/physics/Interstitials/UFS_SCM_NEPTUNE/GFS_suite_interstitial_4.meta b/physics/Interstitials/UFS_SCM_NEPTUNE/GFS_suite_interstitial_4.meta index 718b6ab95a..01c82878de 100644 --- a/physics/Interstitials/UFS_SCM_NEPTUNE/GFS_suite_interstitial_4.meta +++ b/physics/Interstitials/UFS_SCM_NEPTUNE/GFS_suite_interstitial_4.meta @@ -239,6 +239,7 @@ type = real kind = kind_phys intent = in + optional = true [save_inc] standard_name = ice_cloud_number_concentration_save long_name = ice cloud number concentration before entering a physics scheme @@ -247,6 +248,7 @@ type = real kind = kind_phys intent = in + optional = true [con_pi] standard_name = pi long_name = ratio of a circle's circumference to its diameter @@ -327,7 +329,7 @@ dimensions = (horizontal_loop_extent,vertical_layer_dimension) type = real kind = kind_phys - intent = inout + intent = in [dtidx] standard_name = cumulative_change_of_state_variables_outer_index long_name = index of state-variable and process in last dimension of diagnostic tendencies array AKA cumulative_change_index diff --git a/physics/Interstitials/UFS_SCM_NEPTUNE/GFS_surface_composites_pre.meta b/physics/Interstitials/UFS_SCM_NEPTUNE/GFS_surface_composites_pre.meta index 935b0778fd..d983513ba8 100644 --- a/physics/Interstitials/UFS_SCM_NEPTUNE/GFS_surface_composites_pre.meta +++ b/physics/Interstitials/UFS_SCM_NEPTUNE/GFS_surface_composites_pre.meta @@ -282,7 +282,7 @@ dimensions = (horizontal_loop_extent) type = real kind = kind_phys - intent = in + intent = inout [tprcp] standard_name = nonnegative_lwe_thickness_of_precipitation_amount_on_dynamics_timestep long_name = total precipitation amount in each time step diff --git a/physics/Interstitials/UFS_SCM_NEPTUNE/GFS_surface_generic_post.meta b/physics/Interstitials/UFS_SCM_NEPTUNE/GFS_surface_generic_post.meta index 5e7949b8fb..0524f9a701 100644 --- a/physics/Interstitials/UFS_SCM_NEPTUNE/GFS_surface_generic_post.meta +++ b/physics/Interstitials/UFS_SCM_NEPTUNE/GFS_surface_generic_post.meta @@ -454,7 +454,7 @@ dimensions = (horizontal_loop_extent) type = real kind = kind_phys - intent = in + intent = inout optional = True [epi] standard_name = instantaneous_surface_potential_evaporation diff --git a/physics/Interstitials/UFS_SCM_NEPTUNE/GFS_time_vary_pre.fv3.F90 b/physics/Interstitials/UFS_SCM_NEPTUNE/GFS_time_vary_pre.fv3.F90 index d9b12e4e10..3a5d93473a 100644 --- a/physics/Interstitials/UFS_SCM_NEPTUNE/GFS_time_vary_pre.fv3.F90 +++ b/physics/Interstitials/UFS_SCM_NEPTUNE/GFS_time_vary_pre.fv3.F90 @@ -9,7 +9,7 @@ module GFS_time_vary_pre private - public GFS_time_vary_pre_init, GFS_time_vary_pre_timestep_init, GFS_time_vary_pre_finalize + public GFS_time_vary_pre_init, GFS_time_vary_pre_timestep_init, GFS_time_vary_pre_final logical :: is_initialized = .false. @@ -42,10 +42,10 @@ subroutine GFS_time_vary_pre_init (errmsg, errflg) end subroutine GFS_time_vary_pre_init -!> \section arg_table_GFS_time_vary_pre_finalize Argument Table -!! \htmlinclude GFS_time_vary_pre_finalize.html +!> \section arg_table_GFS_time_vary_pre_final Argument Table +!! \htmlinclude GFS_time_vary_pre_final.html !! - subroutine GFS_time_vary_pre_finalize(errmsg, errflg) + subroutine GFS_time_vary_pre_final(errmsg, errflg) implicit none @@ -62,7 +62,7 @@ subroutine GFS_time_vary_pre_finalize(errmsg, errflg) is_initialized = .false. - end subroutine GFS_time_vary_pre_finalize + end subroutine GFS_time_vary_pre_final !> \section arg_table_GFS_time_vary_pre_timestep_init Argument Table diff --git a/physics/Interstitials/UFS_SCM_NEPTUNE/GFS_time_vary_pre.fv3.meta b/physics/Interstitials/UFS_SCM_NEPTUNE/GFS_time_vary_pre.fv3.meta index bdf4ec8d51..bb2e8c35aa 100644 --- a/physics/Interstitials/UFS_SCM_NEPTUNE/GFS_time_vary_pre.fv3.meta +++ b/physics/Interstitials/UFS_SCM_NEPTUNE/GFS_time_vary_pre.fv3.meta @@ -2,7 +2,7 @@ name = GFS_time_vary_pre type = scheme dependencies_path = ../../ - dependencies = tools/funcphys.f90,hooks/machine.F + dependencies = hooks/physcons.F90,tools/funcphys.f90,hooks/machine.F ######################################################################## [ccpp-arg-table] @@ -26,7 +26,7 @@ ######################################################################## [ccpp-arg-table] - name = GFS_time_vary_pre_finalize + name = GFS_time_vary_pre_final type = scheme [errmsg] standard_name = ccpp_error_message diff --git a/physics/Interstitials/UFS_SCM_NEPTUNE/GFS_time_vary_pre.neptune.F90 b/physics/Interstitials/UFS_SCM_NEPTUNE/GFS_time_vary_pre.neptune.F90 index 52ee21c68a..80ae601aa1 100644 --- a/physics/Interstitials/UFS_SCM_NEPTUNE/GFS_time_vary_pre.neptune.F90 +++ b/physics/Interstitials/UFS_SCM_NEPTUNE/GFS_time_vary_pre.neptune.F90 @@ -9,7 +9,7 @@ module GFS_time_vary_pre private - public GFS_time_vary_pre_init, GFS_time_vary_pre_timestep_init, GFS_time_vary_pre_finalize + public GFS_time_vary_pre_init, GFS_time_vary_pre_timestep_init, GFS_time_vary_pre_final logical :: is_initialized = .false. @@ -42,10 +42,10 @@ subroutine GFS_time_vary_pre_init (errmsg, errflg) end subroutine GFS_time_vary_pre_init -!> \section arg_table_GFS_time_vary_pre_finalize Argument Table -!! \htmlinclude GFS_time_vary_pre_finalize.html +!> \section arg_table_GFS_time_vary_pre_final Argument Table +!! \htmlinclude GFS_time_vary_pre_final.html !! - subroutine GFS_time_vary_pre_finalize(errmsg, errflg) + subroutine GFS_time_vary_pre_final(errmsg, errflg) implicit none @@ -62,7 +62,7 @@ subroutine GFS_time_vary_pre_finalize(errmsg, errflg) is_initialized = .false. - end subroutine GFS_time_vary_pre_finalize + end subroutine GFS_time_vary_pre_final !> \section arg_table_GFS_time_vary_pre_timestep_init Argument Table diff --git a/physics/Interstitials/UFS_SCM_NEPTUNE/GFS_time_vary_pre.neptune.meta b/physics/Interstitials/UFS_SCM_NEPTUNE/GFS_time_vary_pre.neptune.meta index bdf4ec8d51..bb2e8c35aa 100644 --- a/physics/Interstitials/UFS_SCM_NEPTUNE/GFS_time_vary_pre.neptune.meta +++ b/physics/Interstitials/UFS_SCM_NEPTUNE/GFS_time_vary_pre.neptune.meta @@ -2,7 +2,7 @@ name = GFS_time_vary_pre type = scheme dependencies_path = ../../ - dependencies = tools/funcphys.f90,hooks/machine.F + dependencies = hooks/physcons.F90,tools/funcphys.f90,hooks/machine.F ######################################################################## [ccpp-arg-table] @@ -26,7 +26,7 @@ ######################################################################## [ccpp-arg-table] - name = GFS_time_vary_pre_finalize + name = GFS_time_vary_pre_final type = scheme [errmsg] standard_name = ccpp_error_message diff --git a/physics/Interstitials/UFS_SCM_NEPTUNE/GFS_time_vary_pre.scm.F90 b/physics/Interstitials/UFS_SCM_NEPTUNE/GFS_time_vary_pre.scm.F90 index b8210a348a..2585d3231e 100644 --- a/physics/Interstitials/UFS_SCM_NEPTUNE/GFS_time_vary_pre.scm.F90 +++ b/physics/Interstitials/UFS_SCM_NEPTUNE/GFS_time_vary_pre.scm.F90 @@ -9,7 +9,7 @@ module GFS_time_vary_pre private - public GFS_time_vary_pre_init, GFS_time_vary_pre_timestep_init, GFS_time_vary_pre_finalize + public GFS_time_vary_pre_init, GFS_time_vary_pre_timestep_init, GFS_time_vary_pre_final logical :: is_initialized = .false. @@ -39,10 +39,10 @@ subroutine GFS_time_vary_pre_init (errmsg, errflg) end subroutine GFS_time_vary_pre_init -!> \section arg_table_GFS_time_vary_pre_finalize Argument Table -!! \htmlinclude GFS_time_vary_pre_finalize.html +!> \section arg_table_GFS_time_vary_pre_final Argument Table +!! \htmlinclude GFS_time_vary_pre_final.html !! - subroutine GFS_time_vary_pre_finalize(errmsg, errflg) + subroutine GFS_time_vary_pre_final(errmsg, errflg) implicit none @@ -59,7 +59,7 @@ subroutine GFS_time_vary_pre_finalize(errmsg, errflg) is_initialized = .false. - end subroutine GFS_time_vary_pre_finalize + end subroutine GFS_time_vary_pre_final !> \section arg_table_GFS_time_vary_pre_timestep_init Argument Table diff --git a/physics/Interstitials/UFS_SCM_NEPTUNE/GFS_time_vary_pre.scm.meta b/physics/Interstitials/UFS_SCM_NEPTUNE/GFS_time_vary_pre.scm.meta index 3bebfbe656..940d836c46 100644 --- a/physics/Interstitials/UFS_SCM_NEPTUNE/GFS_time_vary_pre.scm.meta +++ b/physics/Interstitials/UFS_SCM_NEPTUNE/GFS_time_vary_pre.scm.meta @@ -2,7 +2,7 @@ name = GFS_time_vary_pre type = scheme dependencies_path = ../../ - dependencies = tools/funcphys.f90,hooks/machine.F + dependencies = hooks/physcons.F90,tools/funcphys.f90,hooks/machine.F ######################################################################## [ccpp-arg-table] @@ -26,7 +26,7 @@ ######################################################################## [ccpp-arg-table] - name = GFS_time_vary_pre_finalize + name = GFS_time_vary_pre_final type = scheme [errmsg] standard_name = ccpp_error_message @@ -73,14 +73,14 @@ [nsswr] standard_name = number_of_timesteps_between_shortwave_radiation_calls long_name = number of timesteps between shortwave radiation calls - units = + units = count dimensions = () type = integer intent = in [nslwr] standard_name = number_of_timesteps_between_longwave_radiation_calls long_name = number of timesteps between longwave radiation calls - units = + units = count dimensions = () type = integer intent = in diff --git a/physics/Interstitials/UFS_SCM_NEPTUNE/maximum_hourly_diagnostics.meta b/physics/Interstitials/UFS_SCM_NEPTUNE/maximum_hourly_diagnostics.meta index 7108e2f97f..7109d04c37 100644 --- a/physics/Interstitials/UFS_SCM_NEPTUNE/maximum_hourly_diagnostics.meta +++ b/physics/Interstitials/UFS_SCM_NEPTUNE/maximum_hourly_diagnostics.meta @@ -229,7 +229,7 @@ dimensions = (horizontal_loop_extent) type = real kind = kind_phys - intent = inout + intent = in [pratemax] standard_name = maximum_precipitation_rate_over_maximum_hourly_time_interval long_name = maximum precipitation rate over maximum hourly time interval diff --git a/physics/Interstitials/UFS_SCM_NEPTUNE/module_ccpp_suite_simulator.meta b/physics/Interstitials/UFS_SCM_NEPTUNE/module_ccpp_suite_simulator.meta index 55b9e07b18..ace58583a5 100644 --- a/physics/Interstitials/UFS_SCM_NEPTUNE/module_ccpp_suite_simulator.meta +++ b/physics/Interstitials/UFS_SCM_NEPTUNE/module_ccpp_suite_simulator.meta @@ -1,24 +1,9 @@ [ccpp-table-properties] name = base_physics_process type = ddt - dependencies = + dependencies = ../../hooks/machine.F + #module_name = module_ccpp_suite_simulator [ccpp-arg-table] name = base_physics_process type = ddt - -######################################################################## -[ccpp-table-properties] - name = module_ccpp_suite_simulator - type = module - dependencies = ../../hooks/machine.F - -[ccpp-arg-table] - name = module_ccpp_suite_simulator - type = module -[base_physics_process] - standard_name = base_physics_process - long_name = definition of type base_physics_process - units = DDT - dimensions = () - type = base_physics_process diff --git a/physics/Interstitials/UFS_SCM_NEPTUNE/sgscloud_radpre.meta b/physics/Interstitials/UFS_SCM_NEPTUNE/sgscloud_radpre.meta index 57fa61dfe8..f4658747d6 100644 --- a/physics/Interstitials/UFS_SCM_NEPTUNE/sgscloud_radpre.meta +++ b/physics/Interstitials/UFS_SCM_NEPTUNE/sgscloud_radpre.meta @@ -2,7 +2,7 @@ name = sgscloud_radpre type = scheme dependencies_path = ../../ - dependencies = tools/funcphys.f90,hooks/machine.F + dependencies = hooks/physcons.F90,tools/funcphys.f90,hooks/machine.F dependencies = hooks/physcons.F90,Radiation/RRTMG/radcons.f90 dependencies = Radiation/radiation_clouds.f,MP/module_mp_radar.F90,MP/Thompson/module_mp_thompson.F90 diff --git a/physics/MP/Ferrier_Aligo/module_MP_FER_HIRES.F90 b/physics/MP/Ferrier_Aligo/module_MP_FER_HIRES.F90 index 43c98026bb..670a03c12f 100644 --- a/physics/MP/Ferrier_Aligo/module_MP_FER_HIRES.F90 +++ b/physics/MP/Ferrier_Aligo/module_MP_FER_HIRES.F90 @@ -2963,7 +2963,7 @@ REAL FUNCTION FPVSX0(T) ! END FUNCTION FPVSX0 - SUBROUTINE ferhires_finalize() + SUBROUTINE ferhires_final() IMPLICIT NONE @@ -2980,7 +2980,7 @@ SUBROUTINE ferhires_finalize() if (ALLOCATED(vsnowi)) DEALLOCATE(vsnowi) if (ALLOCATED(vel_rf)) DEALLOCATE(vel_rf) - END SUBROUTINE ferhires_finalize + END SUBROUTINE ferhires_final ! END MODULE module_mp_fer_hires diff --git a/physics/MP/Ferrier_Aligo/mp_fer_hires.F90 b/physics/MP/Ferrier_Aligo/mp_fer_hires.F90 index 1387dcbab1..91b7cba71e 100644 --- a/physics/MP/Ferrier_Aligo/mp_fer_hires.F90 +++ b/physics/MP/Ferrier_Aligo/mp_fer_hires.F90 @@ -7,11 +7,11 @@ module mp_fer_hires use machine, only : kind_phys use module_mp_fer_hires, only : ferrier_init_hr, FER_HIRES, & - ferhires_finalize + ferhires_final implicit none - public :: mp_fer_hires_init, mp_fer_hires_run, mp_fer_hires_finalize + public :: mp_fer_hires_init, mp_fer_hires_run, mp_fer_hires_final private @@ -338,10 +338,10 @@ SUBROUTINE mp_fer_hires_run(NCOL, NLEV, DT ,SPEC_ADV & end subroutine mp_fer_hires_run -!> \section arg_table_mp_fer_hires_finalize Argument Table -!! \htmlinclude mp_fer_hires_finalize.html +!> \section arg_table_mp_fer_hires_final Argument Table +!! \htmlinclude mp_fer_hires_final.html !! - subroutine mp_fer_hires_finalize (errmsg,errflg) + subroutine mp_fer_hires_final (errmsg,errflg) implicit none character(len=*), intent( out) :: errmsg @@ -353,9 +353,9 @@ subroutine mp_fer_hires_finalize (errmsg,errflg) if (.not.is_initialized) return - call ferhires_finalize() + call ferhires_final() is_initialized = .false. - end subroutine mp_fer_hires_finalize + end subroutine mp_fer_hires_final end module mp_fer_hires diff --git a/physics/MP/Ferrier_Aligo/mp_fer_hires.meta b/physics/MP/Ferrier_Aligo/mp_fer_hires.meta index 0838bede27..0c7741951e 100644 --- a/physics/MP/Ferrier_Aligo/mp_fer_hires.meta +++ b/physics/MP/Ferrier_Aligo/mp_fer_hires.meta @@ -95,7 +95,7 @@ intent = out ######################################################################## [ccpp-arg-table] - name = mp_fer_hires_finalize + name = mp_fer_hires_final type = scheme [errmsg] standard_name = ccpp_error_message @@ -158,7 +158,7 @@ standard_name = air_pressure_at_interface long_name = air pressure at model layer interfaces units = Pa - dimensions = (horizontal_loop_extent,vertical_layer_dimension) + dimensions = (horizontal_loop_extent,vertical_interface_dimension) type = real kind = kind_phys intent = in diff --git a/physics/MP/GFDL/fv_sat_adj.F90 b/physics/MP/GFDL/fv_sat_adj.F90 index 6fb0d73a17..aec8440015 100644 --- a/physics/MP/GFDL/fv_sat_adj.F90 +++ b/physics/MP/GFDL/fv_sat_adj.F90 @@ -68,7 +68,7 @@ module fv_sat_adj #ifdef MULTI_GASES use ccpp_multi_gases_mod, only: multi_gases_init, & - multi_gases_finalize, & + multi_gases_final, & virq_qpz, vicpqd_qpz, & vicvqd_qpz, num_gas #endif @@ -77,7 +77,7 @@ module fv_sat_adj private - public fv_sat_adj_init, fv_sat_adj_run, fv_sat_adj_finalize + public fv_sat_adj_init, fv_sat_adj_run, fv_sat_adj_final logical :: is_initialized = .false. @@ -187,11 +187,11 @@ subroutine fv_sat_adj_init(do_sat_adj, kmp, nwat, ngas, rilist, cpilist, & end subroutine fv_sat_adj_init !\ingroup fast_sat_adj -!>\brief The subroutine 'fv_sat_adj_finalize' deallocates lookup tables for the saturation mixing ratio. -!! \section arg_table_fv_sat_adj_finalize Argument Table -!! \htmlinclude fv_sat_adj_finalize.html +!>\brief The subroutine 'fv_sat_adj_final' deallocates lookup tables for the saturation mixing ratio. +!! \section arg_table_fv_sat_adj_final Argument Table +!! \htmlinclude fv_sat_adj_final.html !! -subroutine fv_sat_adj_finalize (errmsg, errflg) +subroutine fv_sat_adj_final (errmsg, errflg) implicit none @@ -211,12 +211,12 @@ subroutine fv_sat_adj_finalize (errmsg, errflg) if (allocated(desw )) deallocate(desw ) #ifdef MULTI_GASES - call multi_gases_finalize() + call multi_gases_final() #endif is_initialized = .false. -end subroutine fv_sat_adj_finalize +end subroutine fv_sat_adj_final !>\defgroup fast_sat_adj GFDL In-Core Fast Saturation Adjustment Module !> @{ diff --git a/physics/MP/GFDL/fv_sat_adj.meta b/physics/MP/GFDL/fv_sat_adj.meta index 98d8035832..5fc79663e9 100644 --- a/physics/MP/GFDL/fv_sat_adj.meta +++ b/physics/MP/GFDL/fv_sat_adj.meta @@ -85,7 +85,7 @@ ######################################################################## [ccpp-arg-table] - name = fv_sat_adj_finalize + name = fv_sat_adj_final type = scheme [errmsg] standard_name = ccpp_error_message diff --git a/physics/MP/GFDL/v1_2019/gfdl_cloud_microphys.F90 b/physics/MP/GFDL/v1_2019/gfdl_cloud_microphys.F90 index 6314b35777..975258fa1f 100644 --- a/physics/MP/GFDL/v1_2019/gfdl_cloud_microphys.F90 +++ b/physics/MP/GFDL/v1_2019/gfdl_cloud_microphys.F90 @@ -15,7 +15,7 @@ module gfdl_cloud_microphys private - public gfdl_cloud_microphys_run, gfdl_cloud_microphys_init, gfdl_cloud_microphys_finalize + public gfdl_cloud_microphys_run, gfdl_cloud_microphys_init, gfdl_cloud_microphys_final logical :: is_initialized = .false. @@ -73,13 +73,13 @@ subroutine gfdl_cloud_microphys_init (me, master, nlunit, input_nml_file, loguni end subroutine gfdl_cloud_microphys_init ! ======================================================================= -!>\brief The subroutine 'gfdl_cloud_microphys_finalize' terminates the GFDL +!>\brief The subroutine 'gfdl_cloud_microphys_final' terminates the GFDL !! cloud microphysics. !! -!! \section arg_table_gfdl_cloud_microphys_finalize Argument Table -!! \htmlinclude gfdl_cloud_microphys_finalize.html +!! \section arg_table_gfdl_cloud_microphys_final Argument Table +!! \htmlinclude gfdl_cloud_microphys_final.html !! - subroutine gfdl_cloud_microphys_finalize(errmsg, errflg) + subroutine gfdl_cloud_microphys_final(errmsg, errflg) implicit none @@ -96,7 +96,7 @@ subroutine gfdl_cloud_microphys_finalize(errmsg, errflg) is_initialized = .false. - end subroutine gfdl_cloud_microphys_finalize + end subroutine gfdl_cloud_microphys_final !>\defgroup gfdlmp GFDL Cloud Microphysics Module !! This is cloud microphysics package for GFDL global cloud resolving model. diff --git a/physics/MP/GFDL/v1_2019/gfdl_cloud_microphys.meta b/physics/MP/GFDL/v1_2019/gfdl_cloud_microphys.meta index 2b7db1961b..c1324436bd 100644 --- a/physics/MP/GFDL/v1_2019/gfdl_cloud_microphys.meta +++ b/physics/MP/GFDL/v1_2019/gfdl_cloud_microphys.meta @@ -93,7 +93,7 @@ ######################################################################## [ccpp-arg-table] - name = gfdl_cloud_microphys_finalize + name = gfdl_cloud_microphys_final type = scheme [errmsg] standard_name = ccpp_error_message diff --git a/physics/MP/GFDL/v3_2022/gfdl_cloud_microphys_v3.F90 b/physics/MP/GFDL/v3_2022/gfdl_cloud_microphys_v3.F90 index eae68d4f33..fe334183f8 100644 --- a/physics/MP/GFDL/v3_2022/gfdl_cloud_microphys_v3.F90 +++ b/physics/MP/GFDL/v3_2022/gfdl_cloud_microphys_v3.F90 @@ -12,7 +12,7 @@ module gfdl_cloud_microphys_v3 private - public gfdl_cloud_microphys_v3_run, gfdl_cloud_microphys_v3_init, gfdl_cloud_microphys_v3_finalize + public gfdl_cloud_microphys_v3_run, gfdl_cloud_microphys_v3_init, gfdl_cloud_microphys_v3_final logical :: is_initialized = .false. @@ -74,13 +74,13 @@ end subroutine gfdl_cloud_microphys_v3_init ! ======================================================================= -!>\brief The subroutine 'gfdl_cloud_microphys_v3_finalize' terminates the GFDL +!>\brief The subroutine 'gfdl_cloud_microphys_v3_final' terminates the GFDL !! cloud microphysics. !! -!! \section arg_table_gfdl_cloud_microphys_v3_finalize Argument Table -!! \htmlinclude gfdl_cloud_microphys_v3_finalize.html +!! \section arg_table_gfdl_cloud_microphys_v3_final Argument Table +!! \htmlinclude gfdl_cloud_microphys_v3_final.html !! - subroutine gfdl_cloud_microphys_v3_finalize(errmsg, errflg) + subroutine gfdl_cloud_microphys_v3_final(errmsg, errflg) implicit none @@ -97,7 +97,7 @@ subroutine gfdl_cloud_microphys_v3_finalize(errmsg, errflg) is_initialized = .false. - end subroutine gfdl_cloud_microphys_v3_finalize + end subroutine gfdl_cloud_microphys_v3_final !>\defgroup gfdlmp GFDL Cloud Microphysics Module !! This is cloud microphysics package for GFDL global cloud resolving model. diff --git a/physics/MP/GFDL/v3_2022/gfdl_cloud_microphys_v3.meta b/physics/MP/GFDL/v3_2022/gfdl_cloud_microphys_v3.meta index 3b022bf25b..c8e26fe8df 100644 --- a/physics/MP/GFDL/v3_2022/gfdl_cloud_microphys_v3.meta +++ b/physics/MP/GFDL/v3_2022/gfdl_cloud_microphys_v3.meta @@ -99,7 +99,7 @@ ######################################################################## [ccpp-arg-table] - name = gfdl_cloud_microphys_v3_finalize + name = gfdl_cloud_microphys_v3_final type = scheme [errmsg] standard_name = ccpp_error_message @@ -385,7 +385,7 @@ dimensions = (horizontal_loop_extent) type = real kind = kind_phys - intent = inout + intent = in [dtp] standard_name = timestep_for_physics long_name = physics timestep diff --git a/physics/MP/NSSL/mp_nssl.meta b/physics/MP/NSSL/mp_nssl.meta index 93a5aa65b6..6af238ca29 100644 --- a/physics/MP/NSSL/mp_nssl.meta +++ b/physics/MP/NSSL/mp_nssl.meta @@ -592,7 +592,7 @@ dimensions = (horizontal_loop_extent) type = real kind = kind_phys - intent = inout + intent = out [rain] standard_name = lwe_thickness_of_explicit_rain_amount long_name = explicit rain fall on physics timestep @@ -600,7 +600,7 @@ dimensions = (horizontal_loop_extent) type = real kind = kind_phys - intent = inout + intent = out [graupel] standard_name = lwe_thickness_of_graupel_amount long_name = graupel fall on physics timestep @@ -608,7 +608,7 @@ dimensions = (horizontal_loop_extent) type = real kind = kind_phys - intent = inout + intent = out [ice] standard_name = lwe_thickness_of_ice_amount long_name = ice fall on physics timestep @@ -616,7 +616,7 @@ dimensions = (horizontal_loop_extent) type = real kind = kind_phys - intent = inout + intent = out [snow] standard_name = lwe_thickness_of_snow_amount long_name = snow fall on physics timestep @@ -624,7 +624,7 @@ dimensions = (horizontal_loop_extent) type = real kind = kind_phys - intent = inout + intent = out [sr] standard_name = ratio_of_snowfall_to_rainfall long_name = ratio of snowfall to large-scale rainfall @@ -640,7 +640,7 @@ dimensions = (horizontal_loop_extent,vertical_layer_dimension) type = real kind = kind_phys - intent = out + intent = inout [do_radar_ref] standard_name = flag_for_radar_reflectivity long_name = flag for radar reflectivity diff --git a/physics/MP/TEMPO/TEMPO b/physics/MP/TEMPO/TEMPO index c62efd27ca..748b7ba46e 160000 --- a/physics/MP/TEMPO/TEMPO +++ b/physics/MP/TEMPO/TEMPO @@ -1 +1 @@ -Subproject commit c62efd27caa26f660edf24232f33f154e608b77a +Subproject commit 748b7ba46ee39d90976f0578d9c677cf94c6ebd5 diff --git a/physics/MP/TEMPO/module_mp_tempo.F90 b/physics/MP/TEMPO/module_mp_tempo.F90 index 89c62f7ec4..27a37442b0 100644 --- a/physics/MP/TEMPO/module_mp_tempo.F90 +++ b/physics/MP/TEMPO/module_mp_tempo.F90 @@ -1452,7 +1452,7 @@ END SUBROUTINE tempo_3d_to_1d_driver !> @} !>\ingroup aathompson - SUBROUTINE tempo_finalize() + SUBROUTINE tempo_final() IMPLICIT NONE @@ -1496,7 +1496,7 @@ SUBROUTINE tempo_finalize() if (ALLOCATED(tnccn_act)) DEALLOCATE(tnccn_act) - END SUBROUTINE tempo_finalize + END SUBROUTINE tempo_final end module module_mp_tempo !+---+-----------------------------------------------------------------+ diff --git a/physics/MP/TEMPO/mp_tempo.F90 b/physics/MP/TEMPO/mp_tempo.F90 index 174eaac2ee..b949a9836c 100644 --- a/physics/MP/TEMPO/mp_tempo.F90 +++ b/physics/MP/TEMPO/mp_tempo.F90 @@ -11,11 +11,11 @@ module mp_tempo use module_mp_tempo_params use module_mp_tempo_utils, only : make_IceNumber, make_RainNumber, make_DropletNumber - use module_mp_tempo, only : tempo_init, tempo_3d_to_1d_driver, tempo_finalize + use module_mp_tempo, only : tempo_init, tempo_3d_to_1d_driver, tempo_final implicit none - public :: mp_tempo_init, mp_tempo_run, mp_tempo_finalize + public :: mp_tempo_init, mp_tempo_run, mp_tempo_final private @@ -389,7 +389,7 @@ subroutine mp_tempo_run(ncol, nlev, con_g, con_rd, & refl_10cm, fullradar_diag, & max_hail_diam_sfc, & do_radar_ref, aerfld, & - mpicomm, mpirank, mpiroot, blkno, & + mpicomm, mpirank, mpiroot, & ext_diag, diag3d, reset_diag3d, & spp_wts_mp, spp_mp, n_var_spp, & spp_prt_list, spp_var_list, & @@ -437,7 +437,7 @@ subroutine mp_tempo_run(ncol, nlev, con_g, con_rd, & real(kind_phys), intent(in ) :: dtp logical, intent(in ) :: first_time_step integer, intent(in ) :: istep, nsteps - real, intent(in ) :: dt_inner + real(kind=kind_phys), intent(in ) :: dt_inner ! Precip/rain/snow/graupel fall amounts and fraction of frozen precip real(kind_phys), intent(inout) :: prcp(:) real(kind_phys), intent(inout), optional :: rain(:) @@ -451,8 +451,7 @@ subroutine mp_tempo_run(ncol, nlev, con_g, con_rd, & logical, intent(in ) :: do_radar_ref logical, intent(in) :: sedi_semi integer, intent(in) :: decfl - ! MPI and block information - integer, intent(in) :: blkno + ! MPI information type(MPI_Comm), intent(in) :: mpicomm integer, intent(in) :: mpirank integer, intent(in) :: mpiroot @@ -568,7 +567,7 @@ subroutine mp_tempo_run(ncol, nlev, con_g, con_rd, & return endif - if (first_time_step .and. istep==1 .and. blkno==1) then + if (first_time_step .and. istep==1) then ! Check initialization state if (.not.is_initialized) then write(errmsg, fmt='((a))') 'mp_tempo_run called before mp_tempo_init' @@ -1056,10 +1055,10 @@ subroutine mp_tempo_run(ncol, nlev, con_g, con_rd, & end subroutine mp_tempo_run !>@} -!> \section arg_table_mp_tempo_finalize Argument Table -!! \htmlinclude mp_tempo_finalize.html +!> \section arg_table_mp_tempo_final Argument Table +!! \htmlinclude mp_tempo_final.html !! - subroutine mp_tempo_finalize(is_initialized, errmsg, errflg) + subroutine mp_tempo_final(is_initialized, errmsg, errflg) implicit none logical, intent(inout) :: is_initialized @@ -1072,11 +1071,11 @@ subroutine mp_tempo_finalize(is_initialized, errmsg, errflg) if (.not.is_initialized) return - call tempo_finalize() + call tempo_final() is_initialized = .false. - end subroutine mp_tempo_finalize + end subroutine mp_tempo_final subroutine get_niwfa(aerfld, nifa, nwfa, ncol, nlev) ! To calculate nifa and nwfa from bins of aerosols. diff --git a/physics/MP/TEMPO/mp_tempo.meta b/physics/MP/TEMPO/mp_tempo.meta index b677c0645f..e59ae822bd 100644 --- a/physics/MP/TEMPO/mp_tempo.meta +++ b/physics/MP/TEMPO/mp_tempo.meta @@ -774,7 +774,7 @@ dimensions = (horizontal_loop_extent,vertical_layer_dimension) type = real kind = kind_phys - intent = out + intent = inout [max_hail_diam_sfc] standard_name = max_hail_diameter_sfc long_name = instantaneous maximum hail diameter at lowest model level @@ -826,13 +826,6 @@ dimensions = () type = integer intent = in -[blkno] - standard_name = ccpp_block_number - long_name = number of block for explicit data blocking in CCPP - units = index - dimensions = () - type = integer - intent = in [ext_diag] standard_name = flag_for_extended_diagnostic_output_from_thompson_microphysics long_name = flag for extended diagnostic output from thompson microphysics @@ -862,6 +855,7 @@ units = 1 dimensions = (horizontal_loop_extent,vertical_layer_dimension) type = real + kind = kind_phys intent = in optional = True [spp_mp] @@ -955,7 +949,7 @@ ######################################################################## [ccpp-arg-table] - name = mp_tempo_finalize + name = mp_tempo_final type = scheme [is_initialized] standard_name = flag_for_thompson_mp_scheme_initialization diff --git a/physics/MP/TEMPO/mp_tempo_post.F90 b/physics/MP/TEMPO/mp_tempo_post.F90 index ea71d7f140..dea4e78bfd 100644 --- a/physics/MP/TEMPO/mp_tempo_post.F90 +++ b/physics/MP/TEMPO/mp_tempo_post.F90 @@ -4,7 +4,7 @@ module mp_tempo_post implicit none - public :: mp_tempo_post_init, mp_tempo_post_run, mp_tempo_post_finalize + public :: mp_tempo_post_init, mp_tempo_post_run, mp_tempo_post_final private @@ -121,10 +121,10 @@ subroutine mp_tempo_post_run(ncol, nlev, tgrs_save, tgrs, prslk, dtp, ttendlim, end subroutine mp_tempo_post_run -!! \section arg_table_mp_tempo_post_finalize Argument Table -!! \htmlinclude mp_tempo_post_finalize.html +!! \section arg_table_mp_tempo_post_final Argument Table +!! \htmlinclude mp_tempo_post_final.html !! - subroutine mp_tempo_post_finalize(errmsg, errflg) + subroutine mp_tempo_post_final(errmsg, errflg) implicit none @@ -141,6 +141,6 @@ subroutine mp_tempo_post_finalize(errmsg, errflg) is_initialized = .false. - end subroutine mp_tempo_post_finalize + end subroutine mp_tempo_post_final end module mp_tempo_post diff --git a/physics/MP/TEMPO/mp_tempo_post.meta b/physics/MP/TEMPO/mp_tempo_post.meta index 6661948c7b..bde8751aca 100644 --- a/physics/MP/TEMPO/mp_tempo_post.meta +++ b/physics/MP/TEMPO/mp_tempo_post.meta @@ -114,7 +114,7 @@ ######################################################################## [ccpp-arg-table] - name = mp_tempo_post_finalize + name = mp_tempo_post_final type = scheme [errmsg] standard_name = ccpp_error_message diff --git a/physics/MP/Thompson/module_mp_thompson.F90 b/physics/MP/Thompson/module_mp_thompson.F90 index b01bf41dd5..58268e89f4 100644 --- a/physics/MP/Thompson/module_mp_thompson.F90 +++ b/physics/MP/Thompson/module_mp_thompson.F90 @@ -1821,7 +1821,7 @@ end subroutine mp_gt_driver !> @} !>\ingroup aathompson - subroutine thompson_finalize() + subroutine thompson_final() implicit none @@ -1866,7 +1866,7 @@ subroutine thompson_finalize() if (ALLOCATED(tnccn_act)) DEALLOCATE(tnccn_act) - end subroutine thompson_finalize + end subroutine thompson_final !+---+-----------------------------------------------------------------+ !ctrlL diff --git a/physics/MP/Thompson/mp_thompson.F90 b/physics/MP/Thompson/mp_thompson.F90 index b3454c49ff..3a2fe67d4b 100644 --- a/physics/MP/Thompson/mp_thompson.F90 +++ b/physics/MP/Thompson/mp_thompson.F90 @@ -10,7 +10,7 @@ module mp_thompson use mpi_f08 use machine, only : kind_phys - use module_mp_thompson, only : thompson_init, mp_gt_driver, thompson_finalize, calc_effectRad + use module_mp_thompson, only : thompson_init, mp_gt_driver, thompson_final, calc_effectRad use module_mp_thompson, only : naIN0, naIN1, naCCN0, naCCN1, eps use module_mp_thompson, only : re_qc_min, re_qc_max, re_qi_min, re_qi_max, re_qs_min, re_qs_max @@ -18,7 +18,7 @@ module mp_thompson implicit none - public :: mp_thompson_init, mp_thompson_run, mp_thompson_finalize + public :: mp_thompson_init, mp_thompson_run, mp_thompson_final private @@ -377,7 +377,7 @@ subroutine mp_thompson_run(ncol, nlev, con_g, con_rd, & refl_10cm, fullradar_diag, & max_hail_diam_sfc, & do_radar_ref, aerfld, & - mpicomm, mpirank, mpiroot, blkno, & + mpicomm, mpirank, mpiroot, & ext_diag, diag3d, reset_diag3d, & spp_wts_mp, spp_mp, n_var_spp, & spp_prt_list, spp_var_list, & @@ -425,7 +425,7 @@ subroutine mp_thompson_run(ncol, nlev, con_g, con_rd, & real(kind_phys), intent(in ) :: dtp logical, intent(in ) :: first_time_step integer, intent(in ) :: istep, nsteps - real, intent(in ) :: dt_inner + real(kind=kind_phys), intent(in ) :: dt_inner ! Precip/rain/snow/graupel fall amounts and fraction of frozen precip real(kind_phys), intent(inout) :: prcp(:) real(kind_phys), intent(inout) :: rain(:) @@ -439,8 +439,7 @@ subroutine mp_thompson_run(ncol, nlev, con_g, con_rd, & logical, intent(in ) :: do_radar_ref logical, intent(in) :: sedi_semi integer, intent(in) :: decfl - ! MPI and block information - integer, intent(in) :: blkno + ! MPI information type(MPI_Comm), intent(in) :: mpicomm integer, intent(in) :: mpirank integer, intent(in) :: mpiroot @@ -553,7 +552,7 @@ subroutine mp_thompson_run(ncol, nlev, con_g, con_rd, & errmsg = '' errflg = 0 - if (first_time_step .and. istep==1 .and. blkno==1) then + if (first_time_step .and. istep==1) then ! Check initialization state if (.not.is_initialized) then write(errmsg, fmt='((a))') 'mp_thompson_run called before mp_thompson_init' @@ -916,10 +915,10 @@ subroutine mp_thompson_run(ncol, nlev, con_g, con_rd, & end subroutine mp_thompson_run !>@} -!> \section arg_table_mp_thompson_finalize Argument Table -!! \htmlinclude mp_thompson_finalize.html +!> \section arg_table_mp_thompson_final Argument Table +!! \htmlinclude mp_thompson_final.html !! - subroutine mp_thompson_finalize(is_initialized, errmsg, errflg) + subroutine mp_thompson_final(is_initialized, errmsg, errflg) implicit none logical, intent(inout) :: is_initialized @@ -932,11 +931,11 @@ subroutine mp_thompson_finalize(is_initialized, errmsg, errflg) if (.not.is_initialized) return - call thompson_finalize() + call thompson_final() is_initialized = .false. - end subroutine mp_thompson_finalize + end subroutine mp_thompson_final subroutine get_niwfa(aerfld, nifa, nwfa, ncol, nlev) ! To calculate nifa and nwfa from bins of aerosols. diff --git a/physics/MP/Thompson/mp_thompson.meta b/physics/MP/Thompson/mp_thompson.meta index f1d2a45f5f..8da9d8a0cf 100644 --- a/physics/MP/Thompson/mp_thompson.meta +++ b/physics/MP/Thompson/mp_thompson.meta @@ -780,7 +780,7 @@ dimensions = (horizontal_loop_extent,vertical_layer_dimension) type = real kind = kind_phys - intent = out + intent = inout [max_hail_diam_sfc] standard_name = max_hail_diameter_sfc long_name = instantaneous maximum hail diameter at lowest model level @@ -832,13 +832,6 @@ dimensions = () type = integer intent = in -[blkno] - standard_name = ccpp_block_number - long_name = number of block for explicit data blocking in CCPP - units = index - dimensions = () - type = integer - intent = in [ext_diag] standard_name = flag_for_extended_diagnostic_output_from_thompson_microphysics long_name = flag for extended diagnostic output from thompson microphysics @@ -868,6 +861,7 @@ units = 1 dimensions = (horizontal_loop_extent,vertical_layer_dimension) type = real + kind = kind_phys intent = in optional = True [spp_mp] @@ -979,7 +973,7 @@ ######################################################################## [ccpp-arg-table] - name = mp_thompson_finalize + name = mp_thompson_final type = scheme [is_initialized] standard_name = flag_for_thompson_mp_scheme_initialization diff --git a/physics/MP/Thompson/mp_thompson_post.F90 b/physics/MP/Thompson/mp_thompson_post.F90 index 7b333f2b13..6b8fdc1846 100644 --- a/physics/MP/Thompson/mp_thompson_post.F90 +++ b/physics/MP/Thompson/mp_thompson_post.F90 @@ -9,7 +9,7 @@ module mp_thompson_post implicit none - public :: mp_thompson_post_init, mp_thompson_post_run, mp_thompson_post_finalize + public :: mp_thompson_post_init, mp_thompson_post_run, mp_thompson_post_final private @@ -129,10 +129,10 @@ subroutine mp_thompson_post_run(ncol, nlev, tgrs_save, tgrs, prslk, dtp, ttendli end subroutine mp_thompson_post_run -!> \section arg_table_mp_thompson_post_finalize Argument Table -!! \htmlinclude mp_thompson_post_finalize.html +!> \section arg_table_mp_thompson_post_final Argument Table +!! \htmlinclude mp_thompson_post_final.html !! - subroutine mp_thompson_post_finalize(errmsg, errflg) + subroutine mp_thompson_post_final(errmsg, errflg) implicit none @@ -149,6 +149,6 @@ subroutine mp_thompson_post_finalize(errmsg, errflg) is_initialized = .false. - end subroutine mp_thompson_post_finalize + end subroutine mp_thompson_post_final end module mp_thompson_post diff --git a/physics/MP/Thompson/mp_thompson_post.meta b/physics/MP/Thompson/mp_thompson_post.meta index 85704316ff..87fc1bdab3 100644 --- a/physics/MP/Thompson/mp_thompson_post.meta +++ b/physics/MP/Thompson/mp_thompson_post.meta @@ -135,7 +135,7 @@ ######################################################################## [ccpp-arg-table] - name = mp_thompson_post_finalize + name = mp_thompson_post_final type = scheme [errmsg] standard_name = ccpp_error_message diff --git a/physics/MP/multi_gases.F90 b/physics/MP/multi_gases.F90 index 4f7c53aa4b..0e241f017f 100644 --- a/physics/MP/multi_gases.F90 +++ b/physics/MP/multi_gases.F90 @@ -133,14 +133,14 @@ end subroutine multi_gases_init ! ---------------------------------------------------------------- ! ---------------------------------------------------------------- - subroutine multi_gases_finalize() + subroutine multi_gases_final() if(allocated(vir )) deallocate(vir ) if(allocated(vicv)) deallocate(vicp) if(allocated(vicp)) deallocate(vicv) return - end subroutine multi_gases_finalize + end subroutine multi_gases_final ! ---------------------------------------------------------------- ! -------------------------------------------------------- diff --git a/physics/PBL/MYNN_EDMF/mynnedmf_wrapper.meta b/physics/PBL/MYNN_EDMF/mynnedmf_wrapper.meta index e7b8a5a32f..bdd1de4615 100644 --- a/physics/PBL/MYNN_EDMF/mynnedmf_wrapper.meta +++ b/physics/PBL/MYNN_EDMF/mynnedmf_wrapper.meta @@ -109,6 +109,7 @@ units = none dimensions = () type = real + kind = kind_phys intent = in [con_t0c] standard_name = temperature_at_zero_celsius @@ -362,7 +363,7 @@ dimensions = (horizontal_loop_extent,vertical_layer_dimension) type = real kind = kind_phys - intent = inout + intent = in optional = True [prsl] standard_name = air_pressure @@ -1363,6 +1364,7 @@ units = 1 dimensions = () type = real + kind = kind_phys intent = in [icloud_bl] standard_name = control_for_sgs_cloud_radiation_coupling_in_mellor_yamamda_nakanishi_niino_pbl_scheme diff --git a/physics/PBL/YSU/ysuvdif.meta b/physics/PBL/YSU/ysuvdif.meta index 0e2eb4ccd0..8a34e33599 100644 --- a/physics/PBL/YSU/ysuvdif.meta +++ b/physics/PBL/YSU/ysuvdif.meta @@ -110,6 +110,7 @@ units = none dimensions = () type = real + kind = kind_phys intent = in [utnp] standard_name = process_split_cumulative_tendency_of_x_wind diff --git a/physics/PBL/saYSU/shinhongvdif.meta b/physics/PBL/saYSU/shinhongvdif.meta index 3e919d78f2..2e9916e5e3 100644 --- a/physics/PBL/saYSU/shinhongvdif.meta +++ b/physics/PBL/saYSU/shinhongvdif.meta @@ -110,6 +110,7 @@ units = none dimensions = () type = real + kind = kind_phys intent = in [utnp] standard_name = process_split_cumulative_tendency_of_x_wind diff --git a/physics/Radiation/RRTMG/radsw_param.meta b/physics/Radiation/RRTMG/radsw_param.meta index d6b734a7a6..56081806b8 100644 --- a/physics/Radiation/RRTMG/radsw_param.meta +++ b/physics/Radiation/RRTMG/radsw_param.meta @@ -2,6 +2,7 @@ name = topfsw_type type = ddt dependencies = + module_name = module_radsw_parameters [ccpp-arg-table] name = topfsw_type @@ -12,6 +13,7 @@ name = sfcfsw_type type = ddt dependencies = + module_name = module_radsw_parameters [ccpp-arg-table] name = sfcfsw_type @@ -21,7 +23,8 @@ [ccpp-table-properties] name = cmpfsw_type type = ddt - dependencies = + dependencies = + module_name = module_radsw_parameters [ccpp-arg-table] name = cmpfsw_type @@ -32,41 +35,8 @@ name = profsw_type type = ddt dependencies = + module_name = module_radsw_parameters [ccpp-arg-table] name = profsw_type type = ddt - -######################################################################## -[ccpp-table-properties] - name = module_radsw_parameters - type = module - dependencies = - -[ccpp-arg-table] - name = module_radsw_parameters - type = module -[topfsw_type] - standard_name = topfsw_type - long_name = definition of type topfsw_type - units = DDT - dimensions = () - type = topfsw_type -[sfcfsw_type] - standard_name = sfcfsw_type - long_name = definition of type sfcfsw_type - units = DDT - dimensions = () - type = sfcfsw_type -[cmpfsw_type] - standard_name = cmpfsw_type - long_name = definition of type cmpfsw_type - units = DDT - dimensions = () - type = cmpfsw_type -[profsw_type] - standard_name = profsw_type - long_name = definition of type profsw_type - units = DDT - dimensions = () - type = profsw_type diff --git a/physics/Radiation/RRTMGP/rrtmgp_lw_main.meta b/physics/Radiation/RRTMGP/rrtmgp_lw_main.meta index 9c7807c591..7aa7ca7740 100644 --- a/physics/Radiation/RRTMGP/rrtmgp_lw_main.meta +++ b/physics/Radiation/RRTMGP/rrtmgp_lw_main.meta @@ -3,7 +3,9 @@ type = scheme dependencies = ../../hooks/machine.F,../radiation_tools.F90,../mersenne_twister.f dependencies = rte-rrtmgp/rrtmgp-frontend/mo_gas_optics_rrtmgp.F90,rte-rrtmgp/extensions/mo_fluxes_byband.F90 - dependencies = rte-rrtmgp/rte-frontend/mo_rte_kind.F90,rte-rrtmgp/gas-optics/mo_gas_concentrations.F90,rte-rrtmgp/rte-frontend/mo_optical_props.F90 + dependencies = rte-rrtmgp/rte-frontend/mo_rte_kind.F90,rte-rrtmgp/gas-optics/mo_gas_concentrations.F90 + dependencies = rte-rrtmgp/rte-frontend/mo_optical_props.F90,rte-rrtmgp/rte-kernels/mo_optical_props_kernels.F90 + dependencies = rte-rrtmgp/rte-frontend/mo_rte_lw.F90,rte-rrtmgp/rte-frontend/mo_fluxes.F90 dependencies = rte-rrtmgp/rte-frontend/mo_source_functions.F90,rte-rrtmgp/rte-frontend/mo_rte_lw.F90,rte-rrtmgp/rte-frontend/mo_fluxes.F90 dependencies = rte-rrtmgp/rte-kernels/mo_fluxes_broadband_kernels.F90,rte-rrtmgp/rte-kernels/mo_rte_solver_kernels.F90 dependencies = rrtmgp_lw_gas_optics.F90, rrtmgp_lw_cloud_optics.F90,rrtmgp_sampling.F90 diff --git a/physics/Radiation/RRTMGP/rrtmgp_sw_main.meta b/physics/Radiation/RRTMGP/rrtmgp_sw_main.meta index a0935d84cb..43b7a06426 100644 --- a/physics/Radiation/RRTMGP/rrtmgp_sw_main.meta +++ b/physics/Radiation/RRTMGP/rrtmgp_sw_main.meta @@ -3,8 +3,12 @@ type = scheme dependencies = ../../hooks/machine.F,../radiation_tools.F90,../mersenne_twister.f dependencies = rte-rrtmgp/rrtmgp-frontend/mo_gas_optics_rrtmgp.F90,rte-rrtmgp/extensions/mo_fluxes_byband.F90 - dependencies = rte-rrtmgp/rte-frontend/mo_rte_kind.F90,rte-rrtmgp/gas-optics/mo_gas_concentrations.F90,rte-rrtmgp/rte-frontend/mo_optical_props.F90 + dependencies = rte-rrtmgp/rte-frontend/mo_rte_kind.F90,rte-rrtmgp/gas-optics/mo_gas_concentrations.F90 + dependencies = rte-rrtmgp/rte-frontend/mo_optical_props.F90,rte-rrtmgp/rte-kernels/mo_optical_props_kernels.F90 dependencies = rte-rrtmgp/rte-frontend/mo_rte_sw.F90,rte-rrtmgp/rte-frontend/mo_fluxes.F90 + dependencies = rte-rrtmgp/rte-kernels/mo_rte_util_array.F90,rte-rrtmgp/rrtmgp-kernels/mo_gas_optics_rrtmgp_kernels.F90 + dependencies = rte-rrtmgp/gas-optics/mo_gas_optics_util_string.F90,rte-rrtmgp/gas-optics/mo_gas_optics.F90 + dependencies = rte-rrtmgp/rrtmgp-frontend/mo_cloud_optics_rrtmgp.F90 dependencies = rte-rrtmgp/rte-kernels/mo_fluxes_broadband_kernels.F90, rte-rrtmgp/rte-kernels/mo_rte_solver_kernels.F90 dependencies = rrtmgp_sw_gas_optics.F90, rrtmgp_sw_cloud_optics.F90,rrtmgp_sampling.F90 dependencies = ../../Interstitials/UFS_SCM_NEPTUNE/GFS_rrtmgp_pre.F90 diff --git a/physics/SFC_Layer/GFDL/gfdl_sfc_layer.meta b/physics/SFC_Layer/GFDL/gfdl_sfc_layer.meta index ac98437e97..13dd823003 100644 --- a/physics/SFC_Layer/GFDL/gfdl_sfc_layer.meta +++ b/physics/SFC_Layer/GFDL/gfdl_sfc_layer.meta @@ -98,6 +98,7 @@ units = none dimensions = () type = real + kind = kind_phys intent = in [xlat] standard_name = latitude diff --git a/physics/SFC_Layer/UFS/sfc_diag.meta b/physics/SFC_Layer/UFS/sfc_diag.meta index e556e03ba2..a1e9eee00d 100644 --- a/physics/SFC_Layer/UFS/sfc_diag.meta +++ b/physics/SFC_Layer/UFS/sfc_diag.meta @@ -91,6 +91,7 @@ units = none dimensions = () type = real + kind = kind_phys intent = in [zf] standard_name = height_above_ground_at_lowest_model_layer diff --git a/physics/SFC_Models/Lake/CLM/clm_lake.meta b/physics/SFC_Models/Lake/CLM/clm_lake.meta index f2f9fb96d6..604c2a12b2 100644 --- a/physics/SFC_Models/Lake/CLM/clm_lake.meta +++ b/physics/SFC_Models/Lake/CLM/clm_lake.meta @@ -131,7 +131,7 @@ units = flag dimensions = (horizontal_loop_extent) type = integer - intent = inout + intent = in [clm_lake_initialized] standard_name = flag_for_clm_lake_initialization long_name = set to true in clm_lake_run after likeini is called, as a workaround for ccpp limitation @@ -328,7 +328,7 @@ dimensions = (horizontal_loop_extent) type = real kind = kind_phys - intent = in + intent = inout [flag_iter] standard_name = flag_for_iteration long_name = flag for iteration @@ -573,7 +573,7 @@ dimensions = (horizontal_loop_extent) type = real kind = kind_phys - intent = out + intent = inout [lake_q2m] standard_name = specific_humidity_at_2m_from_clm_lake long_name = specific humidity at 2m from clm lake @@ -581,7 +581,7 @@ dimensions = (horizontal_loop_extent) type = real kind = kind_phys - intent = out + intent = inout [weasd] standard_name = lwe_thickness_of_surface_snow_amount long_name = water equiv of acc snow depth over land and sea ice @@ -746,7 +746,7 @@ dimensions = (horizontal_loop_extent) type = real kind = kind_phys - intent = in + intent = inout [t1] standard_name = air_temperature_at_surface_adjacent_layer long_name = mean temperature at lowest model layer diff --git a/physics/SFC_Models/Lake/Flake/flake_driver.F90 b/physics/SFC_Models/Lake/Flake/flake_driver.F90 index b5d54009a9..6d93cfb638 100644 --- a/physics/SFC_Models/Lake/Flake/flake_driver.F90 +++ b/physics/SFC_Models/Lake/Flake/flake_driver.F90 @@ -418,14 +418,14 @@ module flake_driver_post use machine, only: kind_phys implicit none private - public flake_driver_post_init, flake_driver_post_finalize, flake_driver_post_run + public flake_driver_post_init, flake_driver_post_final, flake_driver_post_run contains subroutine flake_driver_post_init() end subroutine flake_driver_post_init - subroutine flake_driver_post_finalize() - end subroutine flake_driver_post_finalize + subroutine flake_driver_post_final() + end subroutine flake_driver_post_final !> \section arg_table_flake_driver_post Argument Table !! \htmlinclude flake_driver_post.html diff --git a/physics/SFC_Models/Land/Noah/lsm_noah.f b/physics/SFC_Models/Land/Noah/lsm_noah.f index 9f41b83d06..66b4caacd6 100644 --- a/physics/SFC_Models/Land/Noah/lsm_noah.f +++ b/physics/SFC_Models/Land/Noah/lsm_noah.f @@ -13,7 +13,7 @@ module lsm_noah private - public :: lsm_noah_init, lsm_noah_run, lsm_noah_finalize + public :: lsm_noah_init, lsm_noah_run, lsm_noah_final contains @@ -69,10 +69,10 @@ subroutine lsm_noah_init(lsm, lsm_noah, me, isot, ivegsrc, nlunit, end subroutine lsm_noah_init -!> \section arg_table_lsm_noah_finalize Argument Table -!! \htmlinclude lsm_noah_finalize.html +!> \section arg_table_lsm_noah_final Argument Table +!! \htmlinclude lsm_noah_final.html !! - subroutine lsm_noah_finalize(errmsg, errflg) + subroutine lsm_noah_final(errmsg, errflg) implicit none @@ -83,7 +83,7 @@ subroutine lsm_noah_finalize(errmsg, errflg) errmsg = '' errflg = 0 - end subroutine lsm_noah_finalize + end subroutine lsm_noah_final ! ===================================================================== ! diff --git a/physics/SFC_Models/Land/Noah/lsm_noah.meta b/physics/SFC_Models/Land/Noah/lsm_noah.meta index 3270c9de62..14de0b18e0 100644 --- a/physics/SFC_Models/Land/Noah/lsm_noah.meta +++ b/physics/SFC_Models/Land/Noah/lsm_noah.meta @@ -84,7 +84,7 @@ ######################################################################## [ccpp-arg-table] - name = lsm_noah_finalize + name = lsm_noah_final type = scheme [errmsg] standard_name = ccpp_error_message diff --git a/physics/SFC_Models/Land/Noahmp/lnd_iau_mod.F90 b/physics/SFC_Models/Land/Noahmp/lnd_iau_mod.F90 index cf32a86041..e446b90182 100644 --- a/physics/SFC_Models/Land/Noahmp/lnd_iau_mod.F90 +++ b/physics/SFC_Models/Land/Noahmp/lnd_iau_mod.F90 @@ -94,7 +94,7 @@ module land_iau_mod end type land_iau_control_type public land_iau_control_type, land_iau_external_data_type, land_iau_state_type, land_iau_mod_set_control, & - land_iau_mod_init, land_iau_mod_getiauforcing, land_iau_mod_finalize, calculate_landinc_mask + land_iau_mod_init, land_iau_mod_getiauforcing, land_iau_mod_final, calculate_landinc_mask contains @@ -363,7 +363,7 @@ subroutine land_iau_mod_init (Land_IAU_Control, Land_IAU_Data, Land_IAU_State, e end subroutine land_iau_mod_init -subroutine land_iau_mod_finalize(Land_IAU_Control, Land_IAU_Data, Land_IAU_state, errmsg, errflg) +subroutine land_iau_mod_final(Land_IAU_Control, Land_IAU_Data, Land_IAU_state, errmsg, errflg) implicit none @@ -383,7 +383,7 @@ subroutine land_iau_mod_finalize(Land_IAU_Control, Land_IAU_Data, Land_IAU_state if (allocated(Land_IAU_state%stc_inc)) deallocate(Land_IAU_state%stc_inc) if (allocated(Land_IAU_state%slc_inc)) deallocate(Land_IAU_state%slc_inc) -end subroutine land_iau_mod_finalize +end subroutine land_iau_mod_final subroutine land_iau_mod_getiauforcing(Land_IAU_Control, Land_IAU_Data, Land_IAU_State, errmsg, errflg) diff --git a/physics/SFC_Models/Land/Noahmp/lnd_iau_mod.meta b/physics/SFC_Models/Land/Noahmp/lnd_iau_mod.meta index 8541af659b..daa487ad4a 100644 --- a/physics/SFC_Models/Land/Noahmp/lnd_iau_mod.meta +++ b/physics/SFC_Models/Land/Noahmp/lnd_iau_mod.meta @@ -1,7 +1,8 @@ [ccpp-table-properties] name = land_iau_external_data_type type = ddt - dependencies = + dependencies = ../../../hooks/machine.F + module_name = land_iau_mod [ccpp-arg-table] name = land_iau_external_data_type @@ -12,7 +13,8 @@ [ccpp-table-properties] name = land_iau_state_type type = ddt - dependencies = + dependencies = ../../../hooks/machine.F + module_name = land_iau_mod [ccpp-arg-table] name = land_iau_state_type @@ -23,36 +25,9 @@ [ccpp-table-properties] name = land_iau_control_type type = ddt - dependencies = + dependencies = ../../../hooks/machine.F + module_name = land_iau_mod [ccpp-arg-table] name = land_iau_control_type type = ddt - -######################################################################## -[ccpp-table-properties] - name = land_iau_mod - type = module - dependencies = machine.F - -[ccpp-arg-table] - name = land_iau_mod - type = module -[land_iau_external_data_type] - standard_name = land_iau_external_data_type - long_name = definition of type land_iau_external_data_type - units = DDT - dimensions = () - type = land_iau_external_data_type -[land_iau_state_type] - standard_name = land_iau_state_type - long_name = definition of type land_iau_state_type - units = DDT - dimensions = () - type = land_iau_state_type -[land_iau_control_type] - standard_name = land_iau_control_type - long_name = definition of type land_iau_control_type - units = DDT - dimensions = () - type = land_iau_control_type diff --git a/physics/SFC_Models/Land/Noahmp/noahmpdrv.F90 b/physics/SFC_Models/Land/Noahmp/noahmpdrv.F90 index a5f855f111..3db26b6ebc 100644 --- a/physics/SFC_Models/Land/Noahmp/noahmpdrv.F90 +++ b/physics/SFC_Models/Land/Noahmp/noahmpdrv.F90 @@ -18,7 +18,7 @@ module noahmpdrv ! These hold and apply Land IAU increments for soil temperature ! (possibly will extend to soil moisture increments) use land_iau_mod, only: land_iau_control_type, land_iau_external_data_type, land_iau_state_type, & - land_iau_mod_init, land_iau_mod_getiauforcing, land_iau_mod_finalize, calculate_landinc_mask + land_iau_mod_init, land_iau_mod_getiauforcing, land_iau_mod_final, calculate_landinc_mask implicit none @@ -27,7 +27,7 @@ module noahmpdrv private public :: noahmpdrv_init, noahmpdrv_run, & - noahmpdrv_timestep_init, noahmpdrv_finalize + noahmpdrv_timestep_init, noahmpdrv_final contains @@ -380,11 +380,11 @@ end subroutine noahmpdrv_timestep_init !> \ingroup NoahMP_LSM !! \brief This subroutine mirrors noahmpdrv_init -!! it calls land_iau_finalize which frees up allocated memory by IAU_init (in noahmdrv_init) -!! \section arg_table_noahmpdrv_finalize Argument Table -!! \htmlinclude noahmpdrv_finalize.html +!! it calls land_iau_final which frees up allocated memory by IAU_init (in noahmdrv_init) +!! \section arg_table_noahmpdrv_final Argument Table +!! \htmlinclude noahmpdrv_final.html !! - subroutine noahmpdrv_finalize (Land_IAU_Control, Land_IAU_Data, Land_IAU_State, errmsg, errflg) + subroutine noahmpdrv_final (Land_IAU_Control, Land_IAU_Data, Land_IAU_State, errmsg, errflg) use machine, only: kind_phys implicit none @@ -399,9 +399,9 @@ subroutine noahmpdrv_finalize (Land_IAU_Control, Land_IAU_Data, Land_IAU_State, errflg = 0 if (.not. Land_IAU_Control%do_land_iau) return - call land_iau_mod_finalize(Land_IAU_Control, Land_IAU_Data, Land_IAU_State, errmsg, errflg) + call land_iau_mod_final(Land_IAU_Control, Land_IAU_Data, Land_IAU_State, errmsg, errflg) - end subroutine noahmpdrv_finalize + end subroutine noahmpdrv_final !> \ingroup NoahMP_LSM !! \brief This subroutine is the main CCPP entry point for the NoahMP LSM. diff --git a/physics/SFC_Models/Land/Noahmp/noahmpdrv.meta b/physics/SFC_Models/Land/Noahmp/noahmpdrv.meta index ff5d19f5aa..319f7911ef 100644 --- a/physics/SFC_Models/Land/Noahmp/noahmpdrv.meta +++ b/physics/SFC_Models/Land/Noahmp/noahmpdrv.meta @@ -285,7 +285,7 @@ ####################################################################### [ccpp-arg-table] - name = noahmpdrv_finalize + name = noahmpdrv_final type = scheme [land_iau_control] standard_name = land_data_assimilation_control diff --git a/physics/SFC_Models/Land/RUC/lsm_ruc.F90 b/physics/SFC_Models/Land/RUC/lsm_ruc.F90 index 70fba9534b..23a001a09f 100644 --- a/physics/SFC_Models/Land/RUC/lsm_ruc.F90 +++ b/physics/SFC_Models/Land/RUC/lsm_ruc.F90 @@ -17,7 +17,7 @@ module lsm_ruc private - public :: lsm_ruc_init, lsm_ruc_run, lsm_ruc_finalize + public :: lsm_ruc_init, lsm_ruc_run, lsm_ruc_final real(kind_phys), parameter :: zero = 0.0_kind_dbl_prec, one = 1.0_kind_dbl_prec, epsln = 1.0e-8_kind_dbl_prec real(kind_phys), dimension (2), parameter, private :: d = (/0.1,0.25/) @@ -237,10 +237,10 @@ subroutine lsm_ruc_init (me, master, isot, ivegsrc, nlunit, & end subroutine lsm_ruc_init -!> \section arg_table_lsm_ruc_finalize Argument Table -!! \htmlinclude lsm_ruc_finalize.html +!> \section arg_table_lsm_ruc_final Argument Table +!! \htmlinclude lsm_ruc_final.html !! - subroutine lsm_ruc_finalize (errmsg, errflg) + subroutine lsm_ruc_final (errmsg, errflg) implicit none @@ -251,7 +251,7 @@ subroutine lsm_ruc_finalize (errmsg, errflg) errmsg = '' errflg = 0 - end subroutine lsm_ruc_finalize + end subroutine lsm_ruc_final ! ===================================================================== ! ! lsm_ruc_run: ! diff --git a/physics/SFC_Models/Land/RUC/lsm_ruc.meta b/physics/SFC_Models/Land/RUC/lsm_ruc.meta index e40cecc635..b566f2c35a 100644 --- a/physics/SFC_Models/Land/RUC/lsm_ruc.meta +++ b/physics/SFC_Models/Land/RUC/lsm_ruc.meta @@ -514,7 +514,7 @@ ######################################################################## [ccpp-arg-table] - name = lsm_ruc_finalize + name = lsm_ruc_final type = scheme [errmsg] standard_name = ccpp_error_message @@ -791,7 +791,7 @@ units = index dimensions = (horizontal_loop_extent) type = integer - intent = in + intent = inout [vtype] standard_name = vegetation_type_classification long_name = vegetation type at each grid cell diff --git a/physics/SFC_Models/SeaIce/CICE/sfc_sice.meta b/physics/SFC_Models/SeaIce/CICE/sfc_sice.meta index 8436cdd1e6..6b3472cf46 100644 --- a/physics/SFC_Models/SeaIce/CICE/sfc_sice.meta +++ b/physics/SFC_Models/SeaIce/CICE/sfc_sice.meta @@ -304,7 +304,7 @@ dimensions = (horizontal_loop_extent) type = real kind = kind_phys - intent = in + intent = inout [tprcp] standard_name = nonnegative_lwe_thickness_of_precipitation_amount_on_dynamics_timestep_over_ice long_name = total precipitation amount in each time step over ice @@ -344,7 +344,7 @@ dimensions = (horizontal_loop_extent) type = real kind = kind_phys - intent = in + intent = inout [qss_w] standard_name = surface_specific_humidity_over_water long_name = surface air saturation specific humidity over water @@ -352,7 +352,7 @@ dimensions = (horizontal_loop_extent) type = real kind = kind_phys - intent = in + intent = inout [snowmt] standard_name = surface_snow_melt long_name = snow melt during timestep @@ -392,7 +392,7 @@ dimensions = (horizontal_loop_extent) type = real kind = kind_phys - intent = in + intent = inout [evapw] standard_name = kinematic_surface_upward_latent_heat_flux_over_water long_name = kinematic surface upward latent heat flux over water @@ -400,7 +400,7 @@ dimensions = (horizontal_loop_extent) type = real kind = kind_phys - intent = in + intent = inout [hflxi] standard_name = kinematic_surface_upward_sensible_heat_flux_over_ice long_name = kinematic surface upward sensible heat flux over ice @@ -408,7 +408,7 @@ dimensions = (horizontal_loop_extent) type = real kind = kind_phys - intent = in + intent = inout [hflxw] standard_name = kinematic_surface_upward_sensible_heat_flux_over_water long_name = kinematic surface upward sensible heat flux over water @@ -416,7 +416,7 @@ dimensions = (horizontal_loop_extent) type = real kind = kind_phys - intent = in + intent = inout [islmsk] standard_name = sea_land_ice_mask_cice long_name = sea/land/ice mask cice (=0/1/2) diff --git a/physics/smoke_dust/rrfs_smoke_wrapper.meta b/physics/smoke_dust/rrfs_smoke_wrapper.meta index ba630d1018..2f57bfaf2a 100755 --- a/physics/smoke_dust/rrfs_smoke_wrapper.meta +++ b/physics/smoke_dust/rrfs_smoke_wrapper.meta @@ -392,7 +392,7 @@ dimensions = (horizontal_loop_extent,vertical_layer_dimension) type = real kind = kind_phys - intent = inout + intent = in [us3d] standard_name = x_wind_of_new_state long_name = updated x-direction wind @@ -400,7 +400,7 @@ dimensions = (horizontal_loop_extent,vertical_layer_dimension) type = real kind = kind_phys - intent = inout + intent = in [vs3d] standard_name = y_wind_of_new_state long_name = updated y-direction wind @@ -408,7 +408,7 @@ dimensions = (horizontal_loop_extent,vertical_layer_dimension) type = real kind = kind_phys - intent = inout + intent = in [spechum] standard_name = specific_humidity_of_new_state long_name = water vapor specific humidity updated by physics @@ -416,7 +416,7 @@ dimensions = (horizontal_loop_extent,vertical_layer_dimension) type = real kind = kind_phys - intent = inout + intent = in [w] standard_name = lagrangian_tendency_of_air_pressure long_name = layer mean vertical velocity @@ -439,7 +439,7 @@ dimensions = (horizontal_loop_extent,vertical_dimension_of_soil_internal_to_land_surface_scheme) type = real kind = kind_phys - intent = inout + intent = in optional = True [tslb] standard_name = soil_temperature_for_land_surface_model @@ -896,7 +896,7 @@ dimensions = (horizontal_loop_extent) type = real kind = kind_phys - intent = out + intent = inout optional = True [hwp_ave] standard_name = hourly_wildfire_potential_average @@ -939,7 +939,7 @@ dimensions = (horizontal_loop_extent) type = real kind = kind_phys - intent = out + intent = inout optional = True [lu_nofire_out] standard_name = sum_of_land_use_fractions_for_no_fire_pixels