diff --git a/.github/workflows/ci_run_scm_rts.yml b/.github/workflows/ci_run_scm_rts.yml index b23c03422..2d91785e8 100644 --- a/.github/workflows/ci_run_scm_rts.yml +++ b/.github/workflows/ci_run_scm_rts.yml @@ -22,8 +22,8 @@ jobs: sp_ROOT: /home/runner/NCEPLIBS-sp w3emc_ROOT: /home/runner/myw3emc SCM_ROOT: /home/runner/work/ccpp-scm/ccpp-scm - suites: SCM_GFS_v15p2,SCM_GFS_v16,SCM_GFS_v17_p8,SCM_HRRR,SCM_RRFS_v1beta,SCM_RAP,SCM_WoFS_v0,SCM_HRRR_gf,SCM_GFS_v17_p8_ugwpv1,SCM_GFS_v16_RRTMGP - suites_ps: SCM_GFS_v15p2_ps,SCM_GFS_v16_ps,SCM_GFS_v17_p8_ps,SCM_HRRR_ps,SCM_RRFS_v1beta_ps,SCM_RAP_ps,SCM_WoFS_v0_ps,SCM_HRRR_gf_ps,SCM_GFS_v17_p8_ugwpv1_ps,SCM_GFS_v16_RRTMGP_ps + suites: SCM_GFS_v15p2,SCM_GFS_v16,SCM_GFS_v17_p8,SCM_HRRR,SCM_RRFS_v1beta,SCM_RAP,SCM_WoFS_v0,SCM_HRRR_gf,SCM_GFS_v17_p8_ugwpv1,SCM_GFS_v16_RRTMGP,SCM_GFS_v16_debug + suites_ps: SCM_GFS_v15p2_ps,SCM_GFS_v16_ps,SCM_GFS_v17_p8_ps,SCM_HRRR_ps,SCM_RRFS_v1beta_ps,SCM_RAP_ps,SCM_WoFS_v0_ps,SCM_HRRR_gf_ps,SCM_GFS_v17_p8_ugwpv1_ps,SCM_GFS_v16_RRTMGP_ps,SCM_GFS_v16_debug_ps dir_rt: /home/runner/work/ccpp-scm/ccpp-scm/test/artifact-${{matrix.build-type}} dir_bl: /home/runner/work/ccpp-scm/ccpp-scm/test/BL-${{matrix.build-type}} diff --git a/.github/workflows/ci_scm_ccpp_prebuild.yml b/.github/workflows/ci_scm_ccpp_prebuild.yml index fbcaa169d..662aa267c 100644 --- a/.github/workflows/ci_scm_ccpp_prebuild.yml +++ b/.github/workflows/ci_scm_ccpp_prebuild.yml @@ -1,4 +1,5 @@ -name: CI test to run SCM ccpp_prebuild script +# CI test to run SCM ccpp_prebuild script +name: build on: [push, pull_request, workflow_dispatch] diff --git a/README.md b/README.md index 0db822ec2..993628961 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,15 @@ -# User's Guide +# Single Column Model (SCM) -Please find the up-to-date User's Guide located on ReadTheDocs: https://ccpp-scm.readthedocs.io/en/latest/ +[![Build Status](https://github.com/NCAR/ccpp-scm/actions/workflows/ci_scm_ccpp_prebuild.yml/badge.svg?branch=main)](https://github.com/NCAR/ccpp-scm/actions/workflows/ci_scm_ccpp_prebuild.yml) +[![Release](https://img.shields.io/github/release/NCAR/ccpp-scm.svg)](https://github.com/NCAR/ccpp-scm/releases/latest) +[![DOI](https://zenodo.org/badge/DOI/10.5281/zenodo.13156711.svg)](https://doi.org/10.5281/zenodo.13156711) + + +The SCM is a tool for developing physics suites and diagnosing their performance. This SCM works with the +- [Common Community Physics Package (CCPP):](https://github.com/NCAR/ccpp-physics) a library of physical parameterizations for atmospheric numerical models. +- [CCPP Framework:](https://github.com/NCAR/ccpp-framework) a framework for connecting atmospheric models to physics suites. + +## Documentation +- [SCM readthedocs](https://ccpp-scm.readthedocs.io/en/v7.0.0/) +- [CCPP readthedocs](https://ccpp-techdoc.readthedocs.io/en/v7.0.0/) +- [Scientific documentation](https://dtcenter.ucar.edu/GMTB/v7.0.0/sci_doc/index.html) diff --git a/ccpp/config/ccpp_prebuild_config.py b/ccpp/config/ccpp_prebuild_config.py index d68aaf98b..c63650382 100755 --- a/ccpp/config/ccpp_prebuild_config.py +++ b/ccpp/config/ccpp_prebuild_config.py @@ -19,8 +19,8 @@ 'ccpp/physics/physics/hooks/machine.F', 'ccpp/physics/physics/Radiation/RRTMG/radsw_param.f', 'ccpp/physics/physics/Radiation/RRTMG/radlw_param.f', - 'ccpp/physics/physics/photochem/h2o_def.f', 'ccpp/physics/physics/photochem/module_ozphys.F90', + 'ccpp/physics/physics/photochem/module_h2ophys.F90', 'ccpp/physics/physics/Interstitials/UFS_SCM_NEPTUNE/module_ccpp_suite_simulator.F90', 'scm/src/CCPP_typedefs.F90', 'scm/src/GFS_typedefs.F90', @@ -49,8 +49,12 @@ 'module_ozphys' : '', 'ty_ozphys' : '', }, + 'module_h2ophys' : { + 'module_h2ophys' : '', + 'ty_h2ophys' : '', + }, 'CCPP_typedefs' : { - 'GFS_interstitial_type' : 'physics%Interstitial', + 'GFS_interstitial_type' : 'physics%Interstitial(cdata%thrd_no)', 'CCPP_typedefs' : '', }, 'GFS_typedefs' : { @@ -94,7 +98,9 @@ 'ccpp/physics/physics/Interstitials/UFS_SCM_NEPTUNE/GFS_PBL_generic_post.F90' , 'ccpp/physics/physics/Interstitials/UFS_SCM_NEPTUNE/GFS_SCNV_generic_pre.F90' , 'ccpp/physics/physics/Interstitials/UFS_SCM_NEPTUNE/GFS_SCNV_generic_post.F90' , + 'ccpp/physics/physics/Interstitials/UFS_SCM_NEPTUNE/GFS_debug.F90' , 'ccpp/physics/physics/Interstitials/UFS_SCM_NEPTUNE/GFS_phys_time_vary.scm.F90' , + 'ccpp/physics/physics/Interstitials/UFS_SCM_NEPTUNE/GFS_photochemistry.F90' , 'ccpp/physics/physics/Interstitials/UFS_SCM_NEPTUNE/GFS_rad_time_vary.scm.F90' , 'ccpp/physics/physics/Interstitials/UFS_SCM_NEPTUNE/GFS_radiation_surface.F90' , 'ccpp/physics/physics/Interstitials/UFS_SCM_NEPTUNE/GFS_rrtmg_post.F90' , @@ -163,7 +169,7 @@ 'ccpp/physics/physics/GWD/gwdc_post.f', 'ccpp/physics/physics/GWD/gwdps.f', 'ccpp/physics/physics/GWD/rayleigh_damp.f', - 'ccpp/physics/physics/photochem/h2ophys.f', + 'ccpp/physics/physics/photochem/module_h2ophys.F90', 'ccpp/physics/physics/photochem/module_ozphys.F90', 'ccpp/physics/physics/MP/Ferrier_Aligo/mp_fer_hires.F90', 'ccpp/physics/physics/MP/GFDL/gfdl_cloud_microphys.F90', diff --git a/ccpp/config/scheme_files.txt b/ccpp/config/scheme_files.txt index 253c98821..cce7e3d64 100755 --- a/ccpp/config/scheme_files.txt +++ b/ccpp/config/scheme_files.txt @@ -49,6 +49,7 @@ ccpp/physics/physics/Interstitials/UFS_SCM_NEPTUNE/GFS_cloud_diagnostics.F90 ccpp/physics/physics/Interstitials/UFS_SCM_NEPTUNE/GFS_rrtmgp_cloud_mp.F90 ccpp/physics/physics/Interstitials/UFS_SCM_NEPTUNE/GFS_rrtmgp_cloud_overlap.F90 ccpp/physics/physics/Interstitials/UFS_SCM_NEPTUNE/GFS_rrtmgp_post.F90 +ccpp/physics/physics/Interstitials/UFS_SCM_NEPTUNE/GFS_photochemistry.F90 ccpp/physics/physics/Interstitials/UFS_SCM_NEPTUNE/dcyc2t3.f ccpp/physics/physics/Interstitials/UFS_SCM_NEPTUNE/cnvc90.f ccpp/physics/physics/Interstitials/UFS_SCM_NEPTUNE/maximum_hourly_diagnostics.F90 diff --git a/ccpp/suites/suite_HAFS_v0_hwrf.xml b/ccpp/suites/suite_HAFS_v0_hwrf.xml index c96348cfd..1b71266eb 100644 --- a/ccpp/suites/suite_HAFS_v0_hwrf.xml +++ b/ccpp/suites/suite_HAFS_v0_hwrf.xml @@ -60,7 +60,7 @@ cires_ugwp_post GFS_GWD_generic_post GFS_suite_stateout_update - h2ophys + GFS_photochemistry GFS_DCNV_generic_pre get_phi_fv3 GFS_suite_interstitial_3 diff --git a/ccpp/suites/suite_HAFS_v0_hwrf_ps.xml b/ccpp/suites/suite_HAFS_v0_hwrf_ps.xml index cfae0831a..705b5942e 100644 --- a/ccpp/suites/suite_HAFS_v0_hwrf_ps.xml +++ b/ccpp/suites/suite_HAFS_v0_hwrf_ps.xml @@ -41,7 +41,7 @@ cires_ugwp_post GFS_GWD_generic_post GFS_suite_stateout_update - h2ophys + GFS_photochemistry GFS_DCNV_generic_pre get_phi_fv3 GFS_suite_interstitial_3 diff --git a/ccpp/suites/suite_HAFS_v0_hwrf_thompson.xml b/ccpp/suites/suite_HAFS_v0_hwrf_thompson.xml index e59f0ebfe..906912919 100644 --- a/ccpp/suites/suite_HAFS_v0_hwrf_thompson.xml +++ b/ccpp/suites/suite_HAFS_v0_hwrf_thompson.xml @@ -62,7 +62,7 @@ cires_ugwp_post GFS_GWD_generic_post GFS_suite_stateout_update - h2ophys + GFS_photochemistry GFS_DCNV_generic_pre get_phi_fv3 GFS_suite_interstitial_3 diff --git a/ccpp/suites/suite_HAFS_v0_hwrf_thompson_ps.xml b/ccpp/suites/suite_HAFS_v0_hwrf_thompson_ps.xml index 1831f8829..b4d01df6d 100644 --- a/ccpp/suites/suite_HAFS_v0_hwrf_thompson_ps.xml +++ b/ccpp/suites/suite_HAFS_v0_hwrf_thompson_ps.xml @@ -43,7 +43,7 @@ cires_ugwp_post GFS_GWD_generic_post GFS_suite_stateout_update - h2ophys + GFS_photochemistry GFS_DCNV_generic_pre get_phi_fv3 GFS_suite_interstitial_3 diff --git a/ccpp/suites/suite_SCM_GFS_v15p2.xml b/ccpp/suites/suite_SCM_GFS_v15p2.xml index 087e25d4a..f5b6afea0 100644 --- a/ccpp/suites/suite_SCM_GFS_v15p2.xml +++ b/ccpp/suites/suite_SCM_GFS_v15p2.xml @@ -59,7 +59,7 @@ cires_ugwp_post GFS_GWD_generic_post GFS_suite_stateout_update - h2ophys + GFS_photochemistry get_phi_fv3 GFS_suite_interstitial_3 GFS_DCNV_generic_pre diff --git a/ccpp/suites/suite_SCM_GFS_v15p2_ACM_ps.xml b/ccpp/suites/suite_SCM_GFS_v15p2_ACM_ps.xml index 8f6cc0d53..97d026929 100644 --- a/ccpp/suites/suite_SCM_GFS_v15p2_ACM_ps.xml +++ b/ccpp/suites/suite_SCM_GFS_v15p2_ACM_ps.xml @@ -40,7 +40,7 @@ cires_ugwp_post GFS_GWD_generic_post GFS_suite_stateout_update - h2ophys + GFS_photochemistry get_phi_fv3 GFS_suite_interstitial_3 GFS_DCNV_generic_pre diff --git a/ccpp/suites/suite_SCM_GFS_v15p2_FA.xml b/ccpp/suites/suite_SCM_GFS_v15p2_FA.xml index 19d469bc6..2c4a6ba04 100644 --- a/ccpp/suites/suite_SCM_GFS_v15p2_FA.xml +++ b/ccpp/suites/suite_SCM_GFS_v15p2_FA.xml @@ -59,7 +59,7 @@ cires_ugwp_post GFS_GWD_generic_post GFS_suite_stateout_update - h2ophys + GFS_photochemistry get_phi_fv3 GFS_suite_interstitial_3 GFS_DCNV_generic_pre diff --git a/ccpp/suites/suite_SCM_GFS_v15p2_MYJ.xml b/ccpp/suites/suite_SCM_GFS_v15p2_MYJ.xml index ff52d53dc..7a1221e82 100644 --- a/ccpp/suites/suite_SCM_GFS_v15p2_MYJ.xml +++ b/ccpp/suites/suite_SCM_GFS_v15p2_MYJ.xml @@ -59,7 +59,7 @@ cires_ugwp_post GFS_GWD_generic_post GFS_suite_stateout_update - h2ophys + GFS_photochemistry get_phi_fv3 GFS_suite_interstitial_3 GFS_DCNV_generic_pre diff --git a/ccpp/suites/suite_SCM_GFS_v15p2_RRTMGP.xml b/ccpp/suites/suite_SCM_GFS_v15p2_RRTMGP.xml index 501705f91..700d6a3f5 100644 --- a/ccpp/suites/suite_SCM_GFS_v15p2_RRTMGP.xml +++ b/ccpp/suites/suite_SCM_GFS_v15p2_RRTMGP.xml @@ -60,7 +60,7 @@ cires_ugwp_post GFS_GWD_generic_post GFS_suite_stateout_update - h2ophys + GFS_photochemistry get_phi_fv3 GFS_suite_interstitial_3 GFS_DCNV_generic_pre diff --git a/ccpp/suites/suite_SCM_GFS_v15p2_RRTMGP_ps.xml b/ccpp/suites/suite_SCM_GFS_v15p2_RRTMGP_ps.xml index ef731e0b5..03f602f86 100644 --- a/ccpp/suites/suite_SCM_GFS_v15p2_RRTMGP_ps.xml +++ b/ccpp/suites/suite_SCM_GFS_v15p2_RRTMGP_ps.xml @@ -41,7 +41,7 @@ cires_ugwp_post GFS_GWD_generic_post GFS_suite_stateout_update - h2ophys + GFS_photochemistry get_phi_fv3 GFS_suite_interstitial_3 GFS_DCNV_generic_pre diff --git a/ccpp/suites/suite_SCM_GFS_v15p2_YSU_ps.xml b/ccpp/suites/suite_SCM_GFS_v15p2_YSU_ps.xml index f63ab5537..aeb6bceab 100644 --- a/ccpp/suites/suite_SCM_GFS_v15p2_YSU_ps.xml +++ b/ccpp/suites/suite_SCM_GFS_v15p2_YSU_ps.xml @@ -40,7 +40,7 @@ cires_ugwp_post GFS_GWD_generic_post GFS_suite_stateout_update - h2ophys + GFS_photochemistry get_phi_fv3 GFS_suite_interstitial_3 GFS_DCNV_generic_pre diff --git a/ccpp/suites/suite_SCM_GFS_v15p2_no_nsst.xml b/ccpp/suites/suite_SCM_GFS_v15p2_no_nsst.xml index 8fb960315..4ab952c2e 100644 --- a/ccpp/suites/suite_SCM_GFS_v15p2_no_nsst.xml +++ b/ccpp/suites/suite_SCM_GFS_v15p2_no_nsst.xml @@ -57,7 +57,7 @@ cires_ugwp_post GFS_GWD_generic_post GFS_suite_stateout_update - h2ophys + GFS_photochemistry get_phi_fv3 GFS_suite_interstitial_3 GFS_DCNV_generic_pre diff --git a/ccpp/suites/suite_SCM_GFS_v15p2_no_nsst_ps.xml b/ccpp/suites/suite_SCM_GFS_v15p2_no_nsst_ps.xml index a409f3edc..226651ec5 100644 --- a/ccpp/suites/suite_SCM_GFS_v15p2_no_nsst_ps.xml +++ b/ccpp/suites/suite_SCM_GFS_v15p2_no_nsst_ps.xml @@ -40,7 +40,7 @@ cires_ugwp_post GFS_GWD_generic_post GFS_suite_stateout_update - h2ophys + GFS_photochemistry get_phi_fv3 GFS_suite_interstitial_3 GFS_DCNV_generic_pre diff --git a/ccpp/suites/suite_SCM_GFS_v15p2_noahmp.xml b/ccpp/suites/suite_SCM_GFS_v15p2_noahmp.xml index c845c8878..18425531a 100644 --- a/ccpp/suites/suite_SCM_GFS_v15p2_noahmp.xml +++ b/ccpp/suites/suite_SCM_GFS_v15p2_noahmp.xml @@ -59,7 +59,7 @@ cires_ugwp_post GFS_GWD_generic_post GFS_suite_stateout_update - h2ophys + GFS_photochemistry get_phi_fv3 GFS_suite_interstitial_3 GFS_DCNV_generic_pre diff --git a/ccpp/suites/suite_SCM_GFS_v15p2_ps.xml b/ccpp/suites/suite_SCM_GFS_v15p2_ps.xml index 9fb1ac66b..e474cdf3f 100644 --- a/ccpp/suites/suite_SCM_GFS_v15p2_ps.xml +++ b/ccpp/suites/suite_SCM_GFS_v15p2_ps.xml @@ -40,7 +40,7 @@ cires_ugwp_post GFS_GWD_generic_post GFS_suite_stateout_update - h2ophys + GFS_photochemistry get_phi_fv3 GFS_suite_interstitial_3 GFS_DCNV_generic_pre diff --git a/ccpp/suites/suite_SCM_GFS_v15p2_saYSU_ps.xml b/ccpp/suites/suite_SCM_GFS_v15p2_saYSU_ps.xml index 9b3948944..2e613b132 100644 --- a/ccpp/suites/suite_SCM_GFS_v15p2_saYSU_ps.xml +++ b/ccpp/suites/suite_SCM_GFS_v15p2_saYSU_ps.xml @@ -40,7 +40,7 @@ cires_ugwp_post GFS_GWD_generic_post GFS_suite_stateout_update - h2ophys + GFS_photochemistry get_phi_fv3 GFS_suite_interstitial_3 GFS_DCNV_generic_pre diff --git a/ccpp/suites/suite_SCM_GFS_v16.xml b/ccpp/suites/suite_SCM_GFS_v16.xml index 9418992ac..7f3562c48 100644 --- a/ccpp/suites/suite_SCM_GFS_v16.xml +++ b/ccpp/suites/suite_SCM_GFS_v16.xml @@ -59,7 +59,7 @@ cires_ugwp_post GFS_GWD_generic_post GFS_suite_stateout_update - h2ophys + GFS_photochemistry get_phi_fv3 GFS_suite_interstitial_3 GFS_DCNV_generic_pre diff --git a/ccpp/suites/suite_SCM_GFS_v16_RRTMGP.xml b/ccpp/suites/suite_SCM_GFS_v16_RRTMGP.xml index b427bcf25..174d07734 100644 --- a/ccpp/suites/suite_SCM_GFS_v16_RRTMGP.xml +++ b/ccpp/suites/suite_SCM_GFS_v16_RRTMGP.xml @@ -60,7 +60,7 @@ cires_ugwp_post GFS_GWD_generic_post GFS_suite_stateout_update - h2ophys + GFS_photochemistry get_phi_fv3 GFS_suite_interstitial_3 GFS_DCNV_generic_pre diff --git a/ccpp/suites/suite_SCM_GFS_v16_RRTMGP_ps.xml b/ccpp/suites/suite_SCM_GFS_v16_RRTMGP_ps.xml index 31ea5c712..4d8b8e8a6 100644 --- a/ccpp/suites/suite_SCM_GFS_v16_RRTMGP_ps.xml +++ b/ccpp/suites/suite_SCM_GFS_v16_RRTMGP_ps.xml @@ -41,7 +41,7 @@ cires_ugwp_post GFS_GWD_generic_post GFS_suite_stateout_update - h2ophys + GFS_photochemistry get_phi_fv3 GFS_suite_interstitial_3 GFS_DCNV_generic_pre diff --git a/ccpp/suites/suite_SCM_GFS_v16_debug.xml b/ccpp/suites/suite_SCM_GFS_v16_debug.xml new file mode 100644 index 000000000..a7643d83c --- /dev/null +++ b/ccpp/suites/suite_SCM_GFS_v16_debug.xml @@ -0,0 +1,85 @@ + + + + + + GFS_time_vary_pre + GFS_rrtmg_setup + GFS_rad_time_vary + GFS_phys_time_vary + + + + + GFS_suite_interstitial_rad_reset + GFS_rrtmg_pre + GFS_radiation_surface + rad_sw_pre + rrtmg_sw + rrtmg_sw_post + rrtmg_lw + rrtmg_lw_post + GFS_rrtmg_post + + + + + GFS_suite_interstitial_phys_reset + GFS_suite_stateout_reset + get_prs_fv3 + GFS_suite_interstitial_1 + GFS_surface_generic_pre + GFS_surface_composites_pre + dcyc2t3 + GFS_surface_composites_inter + GFS_suite_interstitial_2 + + + + sfc_diff + GFS_surface_loop_control_part1 + sfc_nst_pre + sfc_nst + sfc_nst_post + lsm_noah + sfc_sice + GFS_surface_loop_control_part2 + + + + GFS_surface_composites_post + sfc_diag + sfc_diag_post + GFS_surface_generic_post + GFS_PBL_generic_pre + satmedmfvdifq + GFS_PBL_generic_post + GFS_GWD_generic_pre + cires_ugwp + cires_ugwp_post + GFS_GWD_generic_post + GFS_suite_stateout_update + GFS_photochemistry + get_phi_fv3 + GFS_suite_interstitial_3 + GFS_DCNV_generic_pre + samfdeepcnv + GFS_DCNV_generic_post + GFS_SCNV_generic_pre + samfshalcnv + GFS_SCNV_generic_post + GFS_suite_interstitial_4 + cnvc90 + GFS_MP_generic_pre + gfdl_cloud_microphys + GFS_MP_generic_post + maximum_hourly_diagnostics + GFS_physics_post + GFS_diagtoscreen + GFS_interstitialtoscreen + GFS_checkland + GFS_checktracers + + + + diff --git a/ccpp/suites/suite_SCM_GFS_v16_debug_ps.xml b/ccpp/suites/suite_SCM_GFS_v16_debug_ps.xml new file mode 100644 index 000000000..4789c6cad --- /dev/null +++ b/ccpp/suites/suite_SCM_GFS_v16_debug_ps.xml @@ -0,0 +1,66 @@ + + + + + + GFS_time_vary_pre + GFS_rrtmg_setup + GFS_rad_time_vary + GFS_phys_time_vary + + + + + GFS_suite_interstitial_rad_reset + GFS_rrtmg_pre + GFS_radiation_surface + rad_sw_pre + rrtmg_sw + rrtmg_sw_post + rrtmg_lw + rrtmg_lw_post + GFS_rrtmg_post + + + + + GFS_suite_interstitial_phys_reset + GFS_suite_stateout_reset + get_prs_fv3 + GFS_suite_interstitial_1 + GFS_surface_generic_pre + scm_sfc_flux_spec + dcyc2t3 + GFS_suite_interstitial_2 + GFS_PBL_generic_pre + satmedmfvdifq + GFS_PBL_generic_post + GFS_GWD_generic_pre + cires_ugwp + cires_ugwp_post + GFS_GWD_generic_post + GFS_suite_stateout_update + GFS_photochemistry + get_phi_fv3 + GFS_suite_interstitial_3 + GFS_DCNV_generic_pre + samfdeepcnv + GFS_DCNV_generic_post + GFS_SCNV_generic_pre + samfshalcnv + GFS_SCNV_generic_post + GFS_suite_interstitial_4 + cnvc90 + GFS_MP_generic_pre + gfdl_cloud_microphys + GFS_MP_generic_post + maximum_hourly_diagnostics + GFS_physics_post + GFS_diagtoscreen + GFS_interstitialtoscreen + GFS_checkland + GFS_checktracers + + + + diff --git a/ccpp/suites/suite_SCM_GFS_v16_no_nsst.xml b/ccpp/suites/suite_SCM_GFS_v16_no_nsst.xml index 19733a6eb..77d4d613f 100644 --- a/ccpp/suites/suite_SCM_GFS_v16_no_nsst.xml +++ b/ccpp/suites/suite_SCM_GFS_v16_no_nsst.xml @@ -57,7 +57,7 @@ cires_ugwp_post GFS_GWD_generic_post GFS_suite_stateout_update - h2ophys + GFS_photochemistry get_phi_fv3 GFS_suite_interstitial_3 GFS_DCNV_generic_pre diff --git a/ccpp/suites/suite_SCM_GFS_v16_no_nsst_ps.xml b/ccpp/suites/suite_SCM_GFS_v16_no_nsst_ps.xml index 5437699c1..e8a247683 100644 --- a/ccpp/suites/suite_SCM_GFS_v16_no_nsst_ps.xml +++ b/ccpp/suites/suite_SCM_GFS_v16_no_nsst_ps.xml @@ -40,7 +40,7 @@ cires_ugwp_post GFS_GWD_generic_post GFS_suite_stateout_update - h2ophys + GFS_photochemistry get_phi_fv3 GFS_suite_interstitial_3 GFS_DCNV_generic_pre diff --git a/ccpp/suites/suite_SCM_GFS_v16_ps.xml b/ccpp/suites/suite_SCM_GFS_v16_ps.xml index 6320bf6a6..98d24e590 100644 --- a/ccpp/suites/suite_SCM_GFS_v16_ps.xml +++ b/ccpp/suites/suite_SCM_GFS_v16_ps.xml @@ -40,7 +40,7 @@ cires_ugwp_post GFS_GWD_generic_post GFS_suite_stateout_update - h2ophys + GFS_photochemistry get_phi_fv3 GFS_suite_interstitial_3 GFS_DCNV_generic_pre diff --git a/ccpp/suites/suite_SCM_GFS_v16_ugwpv1.xml b/ccpp/suites/suite_SCM_GFS_v16_ugwpv1.xml index 0d4ebc861..0e7a06823 100644 --- a/ccpp/suites/suite_SCM_GFS_v16_ugwpv1.xml +++ b/ccpp/suites/suite_SCM_GFS_v16_ugwpv1.xml @@ -59,7 +59,7 @@ ugwpv1_gsldrag_post GFS_GWD_generic_post GFS_suite_stateout_update - h2ophys + GFS_photochemistry get_phi_fv3 GFS_suite_interstitial_3 GFS_DCNV_generic_pre diff --git a/ccpp/suites/suite_SCM_GFS_v17_p8.xml b/ccpp/suites/suite_SCM_GFS_v17_p8.xml index 17eb9993b..49662418d 100644 --- a/ccpp/suites/suite_SCM_GFS_v17_p8.xml +++ b/ccpp/suites/suite_SCM_GFS_v17_p8.xml @@ -60,7 +60,7 @@ unified_ugwp_post GFS_GWD_generic_post GFS_suite_stateout_update - h2ophys + GFS_photochemistry get_phi_fv3 GFS_suite_interstitial_3 GFS_DCNV_generic_pre diff --git a/ccpp/suites/suite_SCM_GFS_v17_p8_c3.xml b/ccpp/suites/suite_SCM_GFS_v17_p8_c3.xml index 5105ec520..a984aab62 100644 --- a/ccpp/suites/suite_SCM_GFS_v17_p8_c3.xml +++ b/ccpp/suites/suite_SCM_GFS_v17_p8_c3.xml @@ -60,7 +60,7 @@ unified_ugwp_post GFS_GWD_generic_post GFS_suite_stateout_update - h2ophys + GFS_photochemistry get_phi_fv3 GFS_suite_interstitial_3 GFS_DCNV_generic_pre diff --git a/ccpp/suites/suite_SCM_GFS_v17_p8_c3_ps.xml b/ccpp/suites/suite_SCM_GFS_v17_p8_c3_ps.xml index 4a759285c..eee4317c7 100644 --- a/ccpp/suites/suite_SCM_GFS_v17_p8_c3_ps.xml +++ b/ccpp/suites/suite_SCM_GFS_v17_p8_c3_ps.xml @@ -41,7 +41,7 @@ unified_ugwp_post GFS_GWD_generic_post GFS_suite_stateout_update - h2ophys + GFS_photochemistry get_phi_fv3 GFS_suite_interstitial_3 GFS_DCNV_generic_pre diff --git a/ccpp/suites/suite_SCM_GFS_v17_p8_ps.xml b/ccpp/suites/suite_SCM_GFS_v17_p8_ps.xml index 35c3941a8..68d4970eb 100644 --- a/ccpp/suites/suite_SCM_GFS_v17_p8_ps.xml +++ b/ccpp/suites/suite_SCM_GFS_v17_p8_ps.xml @@ -41,7 +41,7 @@ unified_ugwp_post GFS_GWD_generic_post GFS_suite_stateout_update - h2ophys + GFS_photochemistry get_phi_fv3 GFS_suite_interstitial_3 GFS_DCNV_generic_pre diff --git a/ccpp/suites/suite_SCM_GFS_v17_p8_ugwpv1.xml b/ccpp/suites/suite_SCM_GFS_v17_p8_ugwpv1.xml index 865fe47f6..e39f865a8 100644 --- a/ccpp/suites/suite_SCM_GFS_v17_p8_ugwpv1.xml +++ b/ccpp/suites/suite_SCM_GFS_v17_p8_ugwpv1.xml @@ -60,7 +60,7 @@ ugwpv1_gsldrag_post GFS_GWD_generic_post GFS_suite_stateout_update - h2ophys + GFS_photochemistry get_phi_fv3 GFS_suite_interstitial_3 GFS_DCNV_generic_pre diff --git a/ccpp/suites/suite_SCM_GFS_v17_p8_ugwpv1_ps.xml b/ccpp/suites/suite_SCM_GFS_v17_p8_ugwpv1_ps.xml index cd62b628e..b0dd07353 100644 --- a/ccpp/suites/suite_SCM_GFS_v17_p8_ugwpv1_ps.xml +++ b/ccpp/suites/suite_SCM_GFS_v17_p8_ugwpv1_ps.xml @@ -41,7 +41,7 @@ ugwpv1_gsldrag_post GFS_GWD_generic_post GFS_suite_stateout_update - h2ophys + GFS_photochemistry get_phi_fv3 GFS_suite_interstitial_3 GFS_DCNV_generic_pre diff --git a/ccpp/suites/suite_SCM_GSD_v1.xml b/ccpp/suites/suite_SCM_GSD_v1.xml index d7d45d10f..ae48d3ef1 100644 --- a/ccpp/suites/suite_SCM_GSD_v1.xml +++ b/ccpp/suites/suite_SCM_GSD_v1.xml @@ -59,7 +59,7 @@ cires_ugwp_post GFS_GWD_generic_post GFS_suite_stateout_update - h2ophys + GFS_photochemistry get_phi_fv3 GFS_suite_interstitial_3 GFS_DCNV_generic_pre diff --git a/ccpp/suites/suite_SCM_GSD_v1_ps.xml b/ccpp/suites/suite_SCM_GSD_v1_ps.xml index 83fa060a2..94d72810e 100644 --- a/ccpp/suites/suite_SCM_GSD_v1_ps.xml +++ b/ccpp/suites/suite_SCM_GSD_v1_ps.xml @@ -41,7 +41,7 @@ cires_ugwp_post GFS_GWD_generic_post GFS_suite_stateout_update - h2ophys + GFS_photochemistry get_phi_fv3 GFS_suite_interstitial_3 GFS_DCNV_generic_pre diff --git a/ccpp/suites/suite_SCM_GSD_v1nssl.xml b/ccpp/suites/suite_SCM_GSD_v1nssl.xml index fefdc11ad..f77b5eba6 100644 --- a/ccpp/suites/suite_SCM_GSD_v1nssl.xml +++ b/ccpp/suites/suite_SCM_GSD_v1nssl.xml @@ -59,7 +59,7 @@ cires_ugwp_post GFS_GWD_generic_post GFS_suite_stateout_update - h2ophys + GFS_photochemistry get_phi_fv3 GFS_suite_interstitial_3 GFS_DCNV_generic_pre diff --git a/ccpp/suites/suite_SCM_GSD_v1nssl_ps.xml b/ccpp/suites/suite_SCM_GSD_v1nssl_ps.xml index fbf82ce98..88fc1e8fa 100644 --- a/ccpp/suites/suite_SCM_GSD_v1nssl_ps.xml +++ b/ccpp/suites/suite_SCM_GSD_v1nssl_ps.xml @@ -41,7 +41,7 @@ cires_ugwp_post GFS_GWD_generic_post GFS_suite_stateout_update - h2ophys + GFS_photochemistry get_phi_fv3 GFS_suite_interstitial_3 GFS_DCNV_generic_pre diff --git a/ccpp/suites/suite_SCM_HRRR.xml b/ccpp/suites/suite_SCM_HRRR.xml index 7904da3f3..57912f78a 100644 --- a/ccpp/suites/suite_SCM_HRRR.xml +++ b/ccpp/suites/suite_SCM_HRRR.xml @@ -59,7 +59,7 @@ drag_suite GFS_GWD_generic_post GFS_suite_stateout_update - h2ophys + GFS_photochemistry get_phi_fv3 GFS_suite_interstitial_3 GFS_suite_interstitial_4 diff --git a/ccpp/suites/suite_SCM_HRRR_gf.xml b/ccpp/suites/suite_SCM_HRRR_gf.xml index f80ab4c7c..e4637008b 100644 --- a/ccpp/suites/suite_SCM_HRRR_gf.xml +++ b/ccpp/suites/suite_SCM_HRRR_gf.xml @@ -57,7 +57,7 @@ drag_suite GFS_GWD_generic_post GFS_suite_stateout_update - h2ophys + GFS_photochemistry get_phi_fv3 GFS_suite_interstitial_3 GFS_DCNV_generic_pre diff --git a/ccpp/suites/suite_SCM_HRRR_gf_ps.xml b/ccpp/suites/suite_SCM_HRRR_gf_ps.xml index 3fc25cc5b..1329f4b97 100644 --- a/ccpp/suites/suite_SCM_HRRR_gf_ps.xml +++ b/ccpp/suites/suite_SCM_HRRR_gf_ps.xml @@ -41,7 +41,7 @@ drag_suite GFS_GWD_generic_post GFS_suite_stateout_update - h2ophys + GFS_photochemistry get_phi_fv3 GFS_suite_interstitial_3 GFS_DCNV_generic_pre diff --git a/ccpp/suites/suite_SCM_HRRR_ps.xml b/ccpp/suites/suite_SCM_HRRR_ps.xml index e1f930dbf..0ac6c29ff 100644 --- a/ccpp/suites/suite_SCM_HRRR_ps.xml +++ b/ccpp/suites/suite_SCM_HRRR_ps.xml @@ -40,7 +40,7 @@ drag_suite GFS_GWD_generic_post GFS_suite_stateout_update - h2ophys + GFS_photochemistry get_phi_fv3 GFS_suite_interstitial_3 GFS_suite_interstitial_4 diff --git a/ccpp/suites/suite_SCM_RAP.xml b/ccpp/suites/suite_SCM_RAP.xml index 68040872d..62e945e1e 100644 --- a/ccpp/suites/suite_SCM_RAP.xml +++ b/ccpp/suites/suite_SCM_RAP.xml @@ -58,7 +58,7 @@ drag_suite GFS_GWD_generic_post GFS_suite_stateout_update - h2ophys + GFS_photochemistry get_phi_fv3 GFS_suite_interstitial_3 GFS_DCNV_generic_pre diff --git a/ccpp/suites/suite_SCM_RAP_ps.xml b/ccpp/suites/suite_SCM_RAP_ps.xml index 6855b1167..4149acba5 100644 --- a/ccpp/suites/suite_SCM_RAP_ps.xml +++ b/ccpp/suites/suite_SCM_RAP_ps.xml @@ -40,7 +40,7 @@ drag_suite GFS_GWD_generic_post GFS_suite_stateout_update - h2ophys + GFS_photochemistry get_phi_fv3 GFS_suite_interstitial_3 GFS_DCNV_generic_pre diff --git a/ccpp/suites/suite_SCM_RRFS_v1alpha.xml b/ccpp/suites/suite_SCM_RRFS_v1alpha.xml index 7b0ec9db9..8a6e99e05 100644 --- a/ccpp/suites/suite_SCM_RRFS_v1alpha.xml +++ b/ccpp/suites/suite_SCM_RRFS_v1alpha.xml @@ -60,7 +60,7 @@ cires_ugwp_post GFS_GWD_generic_post GFS_suite_stateout_update - h2ophys + GFS_photochemistry get_phi_fv3 GFS_suite_interstitial_3 GFS_suite_interstitial_4 diff --git a/ccpp/suites/suite_SCM_RRFS_v1alpha_ps.xml b/ccpp/suites/suite_SCM_RRFS_v1alpha_ps.xml index f21105dba..5e6f6e34a 100644 --- a/ccpp/suites/suite_SCM_RRFS_v1alpha_ps.xml +++ b/ccpp/suites/suite_SCM_RRFS_v1alpha_ps.xml @@ -41,7 +41,7 @@ cires_ugwp_post GFS_GWD_generic_post GFS_suite_stateout_update - h2ophys + GFS_photochemistry get_phi_fv3 GFS_suite_interstitial_3 GFS_suite_interstitial_4 diff --git a/ccpp/suites/suite_SCM_RRFS_v1beta.xml b/ccpp/suites/suite_SCM_RRFS_v1beta.xml index 1921f3f56..4e87c32cc 100644 --- a/ccpp/suites/suite_SCM_RRFS_v1beta.xml +++ b/ccpp/suites/suite_SCM_RRFS_v1beta.xml @@ -60,7 +60,7 @@ cires_ugwp_post GFS_GWD_generic_post GFS_suite_stateout_update - h2ophys + GFS_photochemistry get_phi_fv3 GFS_suite_interstitial_3 GFS_suite_interstitial_4 diff --git a/ccpp/suites/suite_SCM_RRFS_v1beta_ps.xml b/ccpp/suites/suite_SCM_RRFS_v1beta_ps.xml index 4c554c438..d663d450b 100644 --- a/ccpp/suites/suite_SCM_RRFS_v1beta_ps.xml +++ b/ccpp/suites/suite_SCM_RRFS_v1beta_ps.xml @@ -41,7 +41,7 @@ cires_ugwp_post GFS_GWD_generic_post GFS_suite_stateout_update - h2ophys + GFS_photochemistry get_phi_fv3 GFS_suite_interstitial_3 GFS_suite_interstitial_4 diff --git a/ccpp/suites/suite_SCM_RRFS_v1nssl.xml b/ccpp/suites/suite_SCM_RRFS_v1nssl.xml index 439f34737..926a5e12a 100644 --- a/ccpp/suites/suite_SCM_RRFS_v1nssl.xml +++ b/ccpp/suites/suite_SCM_RRFS_v1nssl.xml @@ -60,7 +60,7 @@ cires_ugwp_post GFS_GWD_generic_post GFS_suite_stateout_update - h2ophys + GFS_photochemistry get_phi_fv3 diff --git a/ccpp/suites/suite_SCM_WoFS_v0.xml b/ccpp/suites/suite_SCM_WoFS_v0.xml index a16c8b116..87a728561 100644 --- a/ccpp/suites/suite_SCM_WoFS_v0.xml +++ b/ccpp/suites/suite_SCM_WoFS_v0.xml @@ -60,7 +60,7 @@ cires_ugwp_post GFS_GWD_generic_post GFS_suite_stateout_update - h2ophys + GFS_photochemistry get_phi_fv3 GFS_MP_generic_pre mp_nssl diff --git a/ccpp/suites/suite_SCM_WoFS_v0_ps.xml b/ccpp/suites/suite_SCM_WoFS_v0_ps.xml index 3592ac2b5..24948795e 100644 --- a/ccpp/suites/suite_SCM_WoFS_v0_ps.xml +++ b/ccpp/suites/suite_SCM_WoFS_v0_ps.xml @@ -41,7 +41,7 @@ cires_ugwp_post GFS_GWD_generic_post GFS_suite_stateout_update - h2ophys + GFS_photochemistry get_phi_fv3 GFS_MP_generic_pre mp_nssl diff --git a/ccpp/suites/suite_SCM_csawmg.xml b/ccpp/suites/suite_SCM_csawmg.xml index 61e856774..a0b541b3c 100644 --- a/ccpp/suites/suite_SCM_csawmg.xml +++ b/ccpp/suites/suite_SCM_csawmg.xml @@ -60,7 +60,7 @@ cires_ugwp_post GFS_GWD_generic_post GFS_suite_stateout_update - h2ophys + GFS_photochemistry get_phi_fv3 GFS_suite_interstitial_3 GFS_DCNV_generic_pre diff --git a/ccpp/suites/suite_SCM_csawmg_ps.xml b/ccpp/suites/suite_SCM_csawmg_ps.xml index c7ccf9963..44e09e6f0 100644 --- a/ccpp/suites/suite_SCM_csawmg_ps.xml +++ b/ccpp/suites/suite_SCM_csawmg_ps.xml @@ -41,7 +41,7 @@ cires_ugwp_post GFS_GWD_generic_post GFS_suite_stateout_update - h2ophys + GFS_photochemistry get_phi_fv3 GFS_suite_interstitial_3 GFS_DCNV_generic_pre diff --git a/contrib/get_aerosol_climo.sh b/contrib/get_aerosol_climo.sh index 695d1c7a7..fdaaf3016 100755 --- a/contrib/get_aerosol_climo.sh +++ b/contrib/get_aerosol_climo.sh @@ -1,5 +1,35 @@ #!/bin/bash +# Function to display help message +print_help() { + echo "get_aerosol_climo.sh: contrib/get_aerosol_climo.sh [-v,--verbose]" + echo " Script for downloading/extracting the GOCART climatological aerosol data." + echo "" + echo "Options:" + echo " -v, --verbose Turn on wget verbose output." + echo " --help Show this help message and exit." +} + +verbose="-q" +# Parse command-line arguments +while [[ "$#" -gt 0 ]]; do + case $1 in + --help) + print_help + exit 0 + ;; + -v|--verbose) + verbose="-v" + ;; + *) + echo "Unknown option: $1" + print_help + exit 1 + ;; + esac + shift +done + #set -ex # Directory where this script is located @@ -20,10 +50,9 @@ data_files=("FV3_aeroclim1" "FV3_aeroclim2" "FV3_aeroclim3" "FV3_aeroclim_optics cd $BASEDIR/scm/data/physics_input_data/ for file in "${data_files[@]}"; do echo "Retrieving $file.tar.gz" - wget https://github.com/NCAR/ccpp-scm/releases/download/v7.0.0-beta/${file}.tar.gz + wget ${verbose} https://github.com/NCAR/ccpp-scm/releases/download/v7.0.0/${file}.tar.gz tar -xvf ${file}.tar.gz rm -f ${file}.tar.gz done cd $BASEDIR/ - diff --git a/contrib/get_all_static_data.sh b/contrib/get_all_static_data.sh index 99c0cd4de..d7d9aa7e9 100755 --- a/contrib/get_all_static_data.sh +++ b/contrib/get_all_static_data.sh @@ -1,5 +1,35 @@ #!/bin/bash +# Function to display help message +print_help() { + echo "get_all_static_data.sh: contrib/get_all_static_data.sh [-v,--verbose]" + echo " Script for downloading/extracting the processed SCM case data." + echo "" + echo "Options:" + echo " -v, --verbose Turn on wget verbose output." + echo " --help Show this help message and exit." +} + +verbose="-q" +# Parse command-line arguments +while [[ "$#" -gt 0 ]]; do + case $1 in + --help) + print_help + exit 0 + ;; + -v|--verbose) + verbose="-v" + ;; + *) + echo "Unknown option: $1" + print_help + exit 1 + ;; + esac + shift +done + #set -ex # Directory where this script is located @@ -21,10 +51,9 @@ for file in "${data_files[@]}"; do mkdir -p $BASEDIR/scm/data/$file cd $BASEDIR/scm/data/$file echo "Retrieving $file" - wget https://github.com/NCAR/ccpp-scm/releases/download/v7.0.0-beta/${file}.tar.gz + wget ${verbose} https://github.com/NCAR/ccpp-scm/releases/download/v7.0.0/${file}.tar.gz tar -xf ${file}.tar.gz rm -f ${file}.tar.gz done cd $BASEDIR/ - diff --git a/contrib/get_mg_inccn_data.sh b/contrib/get_mg_inccn_data.sh index e98c277a8..6b37ec786 100755 --- a/contrib/get_mg_inccn_data.sh +++ b/contrib/get_mg_inccn_data.sh @@ -1,5 +1,35 @@ #!/bin/bash +# Function to display help message +print_help() { + echo "get_mg_inccn_data.sh: contrib/get_mg_inccn_data.sh [-v,--verbose]" + echo " Script for downloading/extracting the Morrison-Gettelman data." + echo "" + echo "Options:" + echo " -v, --verbose Turn on wget verbose output." + echo " --help Show this help message and exit." +} + +verbose="-q" +# Parse command-line arguments +while [[ "$#" -gt 0 ]]; do + case $1 in + --help) + print_help + exit 0 + ;; + -v|--verbose) + verbose="-v" + ;; + *) + echo "Unknown option: $1" + print_help + exit 1 + ;; + esac + shift +done + set -ex # Directory where this script is located @@ -16,8 +46,7 @@ BASEDIR=$MYDIR/.. # Change to directory containing the physics input data, download and extract archive cd $BASEDIR/scm/data/physics_input_data/ -wget https://github.com/NCAR/ccpp-scm/releases/download/v7.0.0-beta/MG_INCCN_data.tar.gz +wget ${verbose} https://github.com/NCAR/ccpp-scm/releases/download/v7.0.0/MG_INCCN_data.tar.gz tar -xvf MG_INCCN_data.tar.gz rm -f MG_INCCN_data.tar.gz cd $BASEDIR/ - diff --git a/contrib/get_thompson_tables.sh b/contrib/get_thompson_tables.sh index 86a9487bc..b40188e74 100755 --- a/contrib/get_thompson_tables.sh +++ b/contrib/get_thompson_tables.sh @@ -1,5 +1,35 @@ #!/bin/bash +# Function to display help message +print_help() { + echo "get_thompson_tables.sh: contrib/get_thompson_tables.sh [-v,--verbose]" + echo " Script for downloading/extracting the Thompson lookup tables." + echo "" + echo "Options:" + echo " -v, --verbose Turn on wget verbose output." + echo " --help Show this help message and exit." +} + +verbose="-q" +# Parse command-line arguments +while [[ "$#" -gt 0 ]]; do + case $1 in + --help) + print_help + exit 0 + ;; + -v|--verbose) + verbose="-v" + ;; + *) + echo "Unknown option: $1" + print_help + exit 1 + ;; + esac + shift +done + set -ex if [[ $(uname -s) == Darwin ]]; then @@ -15,8 +45,7 @@ BASEDIR=$MYDIR/.. # Change to directory containing the physics input data, download and extract archive cd $BASEDIR/scm/data/physics_input_data/ -wget https://github.com/NCAR/ccpp-scm/releases/download/v7.0.0-beta/thompson_tables.tar.gz +wget ${verbose} https://github.com/NCAR/ccpp-scm/releases/download/v7.0.0/thompson_tables.tar.gz tar -xvf thompson_tables.tar.gz rm -f thompson_tables.tar.gz cd $BASEDIR/ - diff --git a/docker/Dockerfile b/docker/Dockerfile index 97ced6d17..979781134 100644 --- a/docker/Dockerfile +++ b/docker/Dockerfile @@ -74,7 +74,7 @@ ENV w3emc_ROOT=/comsoftware/nceplibs # Obtain CCPP SCM source code, build code, and download static data RUN if [ -z "$PR_NUMBER" ]; then \ cd /comsoftware \ - && git clone --recursive -b main https://github.com/NCAR/ccpp-scm; \ + && git clone --recursive -b release/public-v7 https://github.com/NCAR/ccpp-scm; \ else \ cd /comsoftware \ && git clone https://github.com/NCAR/ccpp-scm \ diff --git a/environment-scm_analysis.yml b/environment-scm_analysis.yml new file mode 100644 index 000000000..b8ce5d17b --- /dev/null +++ b/environment-scm_analysis.yml @@ -0,0 +1,9 @@ +name: env_scm_analysis + +dependencies: + - conda-forge::python=3.7 + - conda-forge::netcdf4 + - conda-forge::f90nml + - conda-forge::configobj + - conda-forge::matplotlib + - conda-forge::pandas diff --git a/scm/doc/TechGuide/chap_cases.rst b/scm/doc/TechGuide/chap_cases.rst index a9c9bbdaa..780eb2f1f 100644 --- a/scm/doc/TechGuide/chap_cases.rst +++ b/scm/doc/TechGuide/chap_cases.rst @@ -297,6 +297,20 @@ Activate environment: .. code:: bash > conda activate env_ufscasegen + +Note that it may be possible for conda to fail to solve for the environment when attempting to use the yml file. It +should still be possible to create the same environment manually: + +.. code:: bash + + > conda create --name env_ufscasegen + > conda install -n env_ufscasegen --channel=conda-forge python=3.8.5 + > conda install -n env_ufscasegen --channel=conda-forge netcdf4 + > conda install -n env_ufscasegen --channel=conda-forge f90nml + > conda install -n env_ufscasegen --channel=conda-forge xarray + > conda install -n env_ufscasegen --channel=conda-forge numpy + > conda install -n env_ufscasegen --channel=conda-forge shapely + > conda install -n env_ufscasegen --channel=conda-forge xesmf .. _`ufscasegen`: @@ -422,13 +436,24 @@ appreciably different than the calculated geostrophic winds), this often leads t with time. An option exists within the script to assume that the mean three-dimensional winds are, in fact, identical to the geostrophic winds as well. Using this option eliminates any spurious turning. +Writing UFS Comparison Data + +The `--save_comp` (or `-sc`) options allow one to write out the UFS data for the chosen column in NetCDF format. The profiles of the state variables +`u`, `v`, `T`, and `q_v` are written out for the given point for each history file time. In addition, a collection of other +diagnostics like profiles of physics tendencies and scalar surface variables are saved and written. One can include any variable that is +provided in the UFS history files, although the specific variables are hard-coded in the `UFS_case_gen.py` file which will require editing +to change. The file with comparison data is automatically written out to the `scm/data/comparison_data` directory, although this is controlled +by the `COMPARISON_DATA_DIR` global variable in the `UFS_case_gen.py` script. The filename is a concatenation of the case name (specified by the +`--case_name (-n)` argument) and `_comp_data.nc`. + .. _`ufsforcingensemblegenerator`: UFS_forcing_ensemble_generator.py ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ There is an additional script in ``scm/etc/scripts/UFS_forcing_ensemble_generator.py`` to create UFS-caseGen case(s) starting -with output from UFS Weather Model (UWM) Regression Tests (RTs). +with output from UFS Weather Model (UWM) Regression Tests (RTs). This script provides a wrapper for ``UFS_case_gen.py`` for +generating multiple cases at once. .. code:: bash @@ -489,11 +514,12 @@ staged UWM RTs located at: Example 1: UFS-caseGen for single point ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -UFS regression test, ``control_c192``, for single point. +UFS regression test, ``control_c192``, for a single point using calculated horizontal advective tendencies, +supplying the vertical velocity for the vertical advective terms and nudging the horizontal winds: .. code:: bash - ./UFS_forcing_ensemble_generator.py -d [path_to_regression_tests_output]/control_c192_intel/ -sc --C_RES 192 -dt 360 -n control_c192 -lons 300 -lats 34 + ./UFS_forcing_ensemble_generator.py -d [path_to_regression_tests_output]/control_c192_intel/ -sc --C_RES 192 -dt 360 -n control_c192 -lons 300 -lats 34 -fm 2 -vm 2 -wn Upon successful completion of the script, the command to run the case(s) will print to the screen. For example, @@ -509,11 +535,11 @@ The file ``scm_ufsens_control_c192.py`` is created in ``ccpp-scm/scm/bin/``, whe Example 2: UFS-caseGen for list of points ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -UFS regression test, ``control_c384``, for multiple points. +UFS regression test, ``control_c384``, for multiple points assuming the same forcing method as above: .. code:: bash - ./UFS_forcing_ensemble_generator.py -d /glade/derecho/scratch/epicufsrt/ufs-weather-model/RT/NEMSfv3gfs/develop-20240607/control_c384_intel/ -sc --C_RES 384 -dt 225 -n control_c384 -lons 300 300 300 300 -lats 34 35 35 37 + ./UFS_forcing_ensemble_generator.py -d /glade/derecho/scratch/epicufsrt/ufs-weather-model/RT/NEMSfv3gfs/develop-20240607/control_c384_intel/ -sc --C_RES 384 -dt 225 -n control_c384 -lons 300 300 300 300 -lats 34 35 35 37 -fm 2 -vm 2 -wn Upon successful completion of the script, the command to run the case(s) will print to the screen. For example, diff --git a/scm/doc/TechGuide/chap_quick.rst b/scm/doc/TechGuide/chap_quick.rst index 5c7880535..969c1e758 100644 --- a/scm/doc/TechGuide/chap_quick.rst +++ b/scm/doc/TechGuide/chap_quick.rst @@ -216,13 +216,6 @@ Unified Forecast System and related applications, only a minority of which are r install libraries manually if they wish, but they will need to make sure the appropriate environment variables are set to the correct values so that the build system can find them, as described in the following paragraphs. - -<<<<<<< HEAD -Setting up compilation environment -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - -For users on a pre-configured platform, the spack-stack environment can be loaded via one of the provided modules in ``scm/etc/modules/`` as described in :numref:`Section %s `. -======= For users on a pre-configured platform, you can load the spack-stack environment via one of the provided modules in ``scm/etc/modules/``. For example, users on the NSF NCAR machine Derecho who wish to use Intel compilers can do the following: @@ -231,7 +224,6 @@ For example, users on the NSF NCAR machine Derecho who wish to use Intel compile cd [path/to/ccpp-scm/] module use scm/etc/modules/ module load derecho_intel ->>>>>>> feature/modulefile_updates Additionally, for users who have installed spack-stack on their own MacOS or Linux machine can use the provided ``macos_clang`` or ``linux_gnu`` modules. @@ -602,6 +594,12 @@ If using the main branch, you should run the above command to ensure you have th - Use this to specify the timestep to use (if different than the default specified in ``../src/suite_info.py``). +- ``--mpi_command`` + + - Provide argument to define the MPI command that will be invoked. + Default MPI command is ``mpirun -np 1``. + (Note: to run on a Derecho login node the empty argument ``--mpi_command ''`` is required.) + - ``--verbose [-v]`` - Use this option to see additional debugging output from the run @@ -613,11 +611,7 @@ configuration files located in ``../etc/case_config`` (*without the .nml extensi specifying a suite other than the default, the suite name used must match the value of the suite name in one of the suite definition files located in ``../../ccpp/suites`` (Note: not the filename of the suite definition file). As -<<<<<<< HEAD -part of the CCPP SCM v7.0.0 release, the following suite names are supported: -======= part of the seventh CCPP release, the following suite names are supported: ->>>>>>> feature/modulefile_updates #. SCM_GFS_v16 @@ -888,7 +882,7 @@ Running the Docker image #. To run the SCM, you can run the Docker container that was just created and give it the same run commands as discussed in :numref:`Section %s ` - **Be sure to remember to include the ``-d`` and ``--mpi_command "mpirun -np 1 --allow-run-as-root"`` + **Be sure to remember to include the ``-d`` and ``--mpi_command "mpirun -np 1 --allow-run-as-root"`` options for all run commands**. For example, .. code:: bash diff --git a/scm/etc/scm_qsub_example.py b/scm/etc/scm_qsub_example.py index e34d80ab4..70b3d82a4 100755 --- a/scm/etc/scm_qsub_example.py +++ b/scm/etc/scm_qsub_example.py @@ -34,7 +34,7 @@ WALLTIME = "walltime=00:20:00" PROCESSORS = "select=1:ncpus=1" QUEUE = "develop" -COMMAND = "./run_scm.py -c twpice" +COMMAND = "cd $PBS_O_WORKDIR; ./run_scm.py -c twpice" EMAIL_ADDR = MY_EMAIL SERIAL_MEM = "512M" WORKING_DIR = os.path.dirname(os.path.abspath(__file__)) diff --git a/scm/etc/scripts/plot_configs/twpice_all_suites.ini b/scm/etc/scripts/plot_configs/twpice_all_suites.ini index 1cc5b1da0..f9a57798a 100644 --- a/scm/etc/scripts/plot_configs/twpice_all_suites.ini +++ b/scm/etc/scripts/plot_configs/twpice_all_suites.ini @@ -1,5 +1,5 @@ -scm_datasets = output_twpice_SCM_GFS_v16/output.nc, output_twpice_SCM_GFS_v17_p8/output.nc, output_twpice_SCM_RAP/output.nc, output_twpice_SCM_RRFS_v1beta/output.nc, output_twpice_SCM_WoFS_v0/output.nc, output_twpice_SCM_HRRR/output.nc -scm_datasets_labels = GFSv16, GFSv17p8, RAP, RRFSv1b, WoFSv0, HRRR +scm_datasets = output_twpice_SCM_GFS_v16/output.nc, output_twpice_SCM_GFS_v16_RRTMGP/output.nc, output_twpice_SCM_GFS_v17_p8_ugwpv1/output.nc, output_twpice_SCM_WoFS_v0/output.nc, output_twpice_SCM_HRRR_gf/output.nc +scm_datasets_labels = GFSv16, GFSv16-GP, GFSv17p8-ugwpv1, WoFSv0, HRRR-gf plot_dir = plots_twpice_all_suites/ obs_file = ../data/raw_case_input/twp180iopsndgvarana_v2.1_C3.c1.20060117.000000.cdf obs_compare = True @@ -23,24 +23,27 @@ time_series_resample = True y_log = False y_min_option = min #min, max, val (if val, add y_min = float value) y_max_option = max #min, max, val (if val, add y_max = float value) - conversion_factor = 1000.0, 1000.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0 + conversion_factor = 1000.0, 1000.0, 1.0, 86400.0, 86400.0, 86400.0, 86400.0, 86400.0 [[profiles_mean_multi]] [[[T_forcing]]] vars = T_force_tend, dT_dt_pbl, dT_dt_conv, dT_dt_micro, dT_dt_lwrad, dT_dt_swrad vars_labels = 'force', 'PBL', 'Conv', 'MP', 'LW', 'SW' x_label = 'K/day' + conversion_factor = 86400.0 [[[conv_tendencies]]] vars = dT_dt_deepconv, dT_dt_shalconv vars_labels = 'deep', 'shallow' x_label = 'K/day' + conversion_factor = 86400.0 [[profiles_instant]] [[time_series]] - vars = 'pres_s','lhf','shf','tprcp_rate_inst' + vars = 'pres_s','lhf','shf','tprcp_rate_accum' vars_labels = 'surface pressure (Pa)','latent heat flux ($W$ $m^{-2}$)','sensible heat flux ($W$ $m^{-2}$)','surface rainfall rate ($mm$ $hr{-1}$)' - + conversion_factor = 1.0, 1.0, 1.0, 3600000.0 + [[contours]] vars = qv, vars_labels = 'Water Vapor ($g$ $kg^{-1}$)', diff --git a/scm/src/GFS_typedefs.F90 b/scm/src/GFS_typedefs.F90 index ab0d82ae0..fb9e11ce0 100644 --- a/scm/src/GFS_typedefs.F90 +++ b/scm/src/GFS_typedefs.F90 @@ -5,8 +5,8 @@ module GFS_typedefs use module_radsw_parameters, only: topfsw_type, sfcfsw_type use module_radlw_parameters, only: topflw_type, sfcflw_type - use h2o_def, only: levh2o, h2o_coeff use module_ozphys, only: ty_ozphys + use module_h2ophys, only: ty_h2ophys use module_ccpp_suite_simulator, only: base_physics_process implicit none @@ -296,6 +296,11 @@ module GFS_typedefs real (kind=kind_phys), pointer :: spec_sh_flux (:) => null() !< specified kinematic surface sensible heat flux real (kind=kind_phys), pointer :: spec_lh_flux (:) => null() !< specified kinematic surface latent heat flux +!--- fire_behavior + real (kind=kind_phys), pointer :: hflx_fire (:) => null() !< kinematic surface upward sensible heat flux of fire + real (kind=kind_phys), pointer :: evap_fire (:) => null() !< kinematic surface upward latent heat flux of fire + real (kind=kind_phys), pointer :: smoke_fire (:) => null() !< smoke emission of fire + !-- In/Out real (kind=kind_phys), pointer :: maxupmf(:) => null() !< maximum up draft mass flux for Grell-Freitas real (kind=kind_phys), pointer :: conv_act(:) => null() !< convective activity counter for Grell-Freitas @@ -752,7 +757,11 @@ module GFS_typedefs integer :: nblks !< for explicit data blocking: number of blocks integer, pointer :: blksz(:) !< for explicit data blocking: block sizes of all blocks integer :: ncols !< total number of columns for all blocks - + ! + integer :: nchunks !< number of chunks of an array that are used in the CCPP run phase + integer, pointer :: chunk_begin(:) !< first indices of chunks of an array for the CCPP run phase + integer, pointer :: chunk_end(:) !< last indices of chunks of an array for the CCPP run phase + ! integer :: fire_aux_data_levels !< vertical levels of fire auxiliary data !--- coupling parameters @@ -766,6 +775,7 @@ module GFS_typedefs logical :: cpllnd !< default no cpllnd collection logical :: cpllnd2atm !< default no lnd->atm coupling logical :: rrfs_sd !< default no rrfs_sd collection + logical :: cpl_fire !< default no fire_behavior collection logical :: use_cice_alb !< default .false. - i.e. don't use albedo imported from the ice model logical :: cpl_imp_mrg !< default no merge import with internal forcings logical :: cpl_imp_dbg !< default no write import data to file post merge @@ -1018,6 +1028,7 @@ module GFS_typedefs real(kind=kind_phys) :: dt_inner !< time step for the inner loop in s logical :: sedi_semi !< flag for semi Lagrangian sedi of rain integer :: decfl !< deformed CFL factor + logical :: thpsnmp_is_init !< Local scheme initialization flag !--- GFDL microphysical paramters logical :: lgfdlmprad !< flag for GFDL mp scheme and radiation consistency @@ -1488,6 +1499,7 @@ module GFS_typedefs integer :: nto2 !< tracer index for oxygen integer :: ntwa !< tracer index for water friendly aerosol integer :: ntia !< tracer index for ice friendly aerosol + integer :: ntfsmoke !< tracer index for fire smoke integer :: ntsmoke !< tracer index for smoke integer :: ntdust !< tracer index for dust integer :: ntcoarsepm !< tracer index for coarse PM @@ -1610,6 +1622,9 @@ module GFS_typedefs real(kind=kind_phys), pointer :: si(:) !< vertical sigma coordinate for model initialization real(kind=kind_phys) :: sec !< seconds since model initialization +!--- Increment grid + logical :: increment_file_on_native_grid ! increment on native grid else Gaussian grid + !--- IAU integer :: iau_offset real(kind=kind_phys) :: iau_delthrs ! iau time interval (to scale increments) in hours @@ -1633,6 +1648,10 @@ module GFS_typedefs type(ty_ozphys) :: ozphys !< DDT with data needed by ozone physics integer :: levozp !< Number of vertical layers in ozone forcing data integer :: oz_coeff !< Number of coefficients in ozone forcing data +!--- NRL h2o photchemistry physics + type(ty_h2ophys) :: h2ophys !< DDT with data needed by h2o photchemistry physics. + integer :: levh2o !< Number of vertical layers in stratospheric h2o data. + integer :: h2o_coeff !< Number of coefficients in stratospheric h2o data. !--- CCPP suite simulator logical :: do_ccpp_suite_sim ! @@ -1665,50 +1684,50 @@ module GFS_typedefs !! type GFS_grid_type - real (kind=kind_phys), pointer :: xlon (:) => null() !< grid longitude in radians, ok for both 0->2pi - !! or -pi -> +pi ranges - real (kind=kind_phys), pointer :: xlat (:) => null() !< grid latitude in radians, default to pi/2 -> - !! -pi/2 range, otherwise adj in subr called - real (kind=kind_phys), pointer :: xlat_d (:) => null() !< grid latitude in degrees, default to 90 -> - !! -90 range, otherwise adj in subr called - real (kind=kind_phys), pointer :: xlon_d (:) => null() !< grid longitude in degrees, default to 0 -> - !! 360 range, otherwise adj in subr called - real (kind=kind_phys), pointer :: sinlat (:) => null() !< sine of the grids corresponding latitudes - real (kind=kind_phys), pointer :: coslat (:) => null() !< cosine of the grids corresponding latitudes - real (kind=kind_phys), pointer :: area (:) => null() !< area of the grid cell - real (kind=kind_phys), pointer :: dx (:) => null() !< relative dx for the grid cell + real (kind=kind_phys), pointer :: xlon (:) !< grid longitude in radians, ok for both 0->2pi + !! or -pi -> +pi ranges + real (kind=kind_phys), pointer :: xlat (:) !< grid latitude in radians, default to pi/2 -> + !! -pi/2 range, otherwise adj in subr called + real (kind=kind_phys), pointer :: xlat_d (:) !< grid latitude in degrees, default to 90 -> + !! -90 range, otherwise adj in subr called + real (kind=kind_phys), pointer :: xlon_d (:) !< grid longitude in degrees, default to 0 -> + !! 360 range, otherwise adj in subr called + real (kind=kind_phys), pointer :: sinlat (:) !< sine of the grids corresponding latitudes + real (kind=kind_phys), pointer :: coslat (:) !< cosine of the grids corresponding latitudes + real (kind=kind_phys), pointer :: area (:) !< area of the grid cell + real (kind=kind_phys), pointer :: dx (:) !< relative dx for the grid cell !--- grid-related interpolation data for prognostic ozone - real (kind=kind_phys), pointer :: ddy_o3 (:) => null() !< interpolation weight for ozone - integer, pointer :: jindx1_o3 (:) => null() !< interpolation low index for ozone - integer, pointer :: jindx2_o3 (:) => null() !< interpolation high index for ozone + real (kind=kind_phys), pointer :: ddy_o3 (:) !< interpolation weight for ozone + integer, pointer :: jindx1_o3 (:) !< interpolation low index for ozone + integer, pointer :: jindx2_o3 (:) !< interpolation high index for ozone !--- grid-related interpolation data for stratosphere water - real (kind=kind_phys), pointer :: ddy_h (:) => null() !< interpolation weight for h2o - integer, pointer :: jindx1_h (:) => null() !< interpolation low index for h2o - integer, pointer :: jindx2_h (:) => null() !< interpolation high index for h2o + real (kind=kind_phys), pointer :: ddy_h (:) !< interpolation weight for h2o + integer, pointer :: jindx1_h (:) !< interpolation low index for h2o + integer, pointer :: jindx2_h (:) !< interpolation high index for h2o !--- grid-related interpolation data for prognostic iccn - real (kind=kind_phys), pointer :: ddy_ci (:) => null() !< interpolation weight for iccn - integer, pointer :: jindx1_ci (:) => null() !< interpolation low index for iccn - integer, pointer :: jindx2_ci (:) => null() !< interpolation high index for iccn - real (kind=kind_phys), pointer :: ddx_ci (:) => null() !< interpolation weight for iccn - integer, pointer :: iindx1_ci (:) => null() !< interpolation low index for iccn - integer, pointer :: iindx2_ci (:) => null() !< interpolation high index for iccn + real (kind=kind_phys), pointer :: ddy_ci (:) !< interpolation weight for iccn + integer, pointer :: jindx1_ci (:) !< interpolation low index for iccn + integer, pointer :: jindx2_ci (:) !< interpolation high index for iccn + real (kind=kind_phys), pointer :: ddx_ci (:) !< interpolation weight for iccn + integer, pointer :: iindx1_ci (:) !< interpolation low index for iccn + integer, pointer :: iindx2_ci (:) !< interpolation high index for iccn !--- grid-related interpolation data for prescribed aerosols - real (kind=kind_phys), pointer :: ddy_aer (:) => null() !< interpolation weight for iaerclm - integer, pointer :: jindx1_aer (:) => null() !< interpolation low index for iaerclm - integer, pointer :: jindx2_aer (:) => null() !< interpolation high index for iaerclm - real (kind=kind_phys), pointer :: ddx_aer (:) => null() !< interpolation weight for iaerclm - integer, pointer :: iindx1_aer (:) => null() !< interpolation low index for iaerclm - integer, pointer :: iindx2_aer (:) => null() !< interpolation high index for iaerclm + real (kind=kind_phys), pointer :: ddy_aer (:) !< interpolation weight for iaerclm + integer, pointer :: jindx1_aer (:) !< interpolation low index for iaerclm + integer, pointer :: jindx2_aer (:) !< interpolation high index for iaerclm + real (kind=kind_phys), pointer :: ddx_aer (:) !< interpolation weight for iaerclm + integer, pointer :: iindx1_aer (:) !< interpolation low index for iaerclm + integer, pointer :: iindx2_aer (:) !< interpolation high index for iaerclm !--- grid-related interpolation data for cires_ugwp_v1 - real (kind=kind_phys), pointer :: ddy_j1tau (:) => null() !< interpolation weight for tau_ugwp - real (kind=kind_phys), pointer :: ddy_j2tau (:) => null() !< interpolation weight for tau_ugwp - integer, pointer :: jindx1_tau (:) => null() !< interpolation low index for tau_ugwp - integer, pointer :: jindx2_tau (:) => null() !< interpolation high index for tau_ugwp + real (kind=kind_phys), pointer :: ddy_j1tau (:) !< interpolation weight for tau_ugwp + real (kind=kind_phys), pointer :: ddy_j2tau (:) !< interpolation weight for tau_ugwp + integer, pointer :: jindx1_tau (:) !< interpolation low index for tau_ugwp + integer, pointer :: jindx2_tau (:) !< interpolation high index for tau_ugwp contains procedure :: create => grid_create !< allocate array data @@ -2209,12 +2228,14 @@ module GFS_typedefs !------------------------ ! GFS_statein_type%create !------------------------ - subroutine statein_create (Statein, IM, Model) + subroutine statein_create (Statein, Model) implicit none class(GFS_statein_type) :: Statein - integer, intent(in) :: IM type(GFS_control_type), intent(in) :: Model + integer :: IM + + IM = Model%ncols !--- level geopotential and pressures allocate (Statein%phii (IM,Model%levs+1)) @@ -2276,13 +2297,15 @@ end subroutine statein_create !------------------------- ! GFS_stateout_type%create !------------------------- - subroutine stateout_create (Stateout, IM, Model) + subroutine stateout_create (Stateout, Model) implicit none class(GFS_stateout_type) :: Stateout - integer, intent(in) :: IM type(GFS_control_type), intent(in) :: Model + integer :: IM + + IM = Model%ncols allocate (Stateout%gu0 (IM,Model%levs)) allocate (Stateout%gv0 (IM,Model%levs)) @@ -2300,13 +2323,15 @@ end subroutine stateout_create !------------------------ ! GFS_sfcprop_type%create !------------------------ - subroutine sfcprop_create (Sfcprop, IM, Model) + subroutine sfcprop_create (Sfcprop, Model) implicit none class(GFS_sfcprop_type) :: Sfcprop - integer, intent(in) :: IM type(GFS_control_type), intent(in) :: Model + integer :: IM + + IM = Model%ncols !--- physics and radiation allocate (Sfcprop%slmsk (IM)) @@ -2869,19 +2894,31 @@ subroutine sfcprop_create (Sfcprop, IM, Model) Sfcprop%lu_qfire = clear_val endif + !--- if fire_behavior is on + if(Model%cpl_fire) then + allocate (Sfcprop%hflx_fire (IM)) + allocate (Sfcprop%evap_fire (IM)) + allocate (Sfcprop%smoke_fire (IM)) + Sfcprop%hflx_fire = zero + Sfcprop%evap_fire = zero + Sfcprop%smoke_fire = zero + endif + end subroutine sfcprop_create !------------------------- ! GFS_coupling_type%create !------------------------- - subroutine coupling_create (Coupling, IM, Model) + subroutine coupling_create (Coupling, Model) implicit none class(GFS_coupling_type) :: Coupling - integer, intent(in) :: IM type(GFS_control_type), intent(in) :: Model + integer :: IM + + IM = Model%ncols !--- radiation out !--- physics in @@ -2926,7 +2963,7 @@ subroutine coupling_create (Coupling, IM, Model) Coupling%tsfc_radtime = clear_val endif - if (Model%cplflx .or. Model%do_sppt .or. Model%cplchm .or. Model%ca_global .or. Model%cpllnd) then + if (Model%cplflx .or. Model%do_sppt .or. Model%cplchm .or. Model%ca_global .or. Model%cpllnd .or. Model%cpl_fire) then allocate (Coupling%rain_cpl (IM)) allocate (Coupling%snow_cpl (IM)) Coupling%rain_cpl = clear_val @@ -2955,7 +2992,7 @@ subroutine coupling_create (Coupling, IM, Model) ! Coupling%zorlwav_cpl = clear_val ! endif - if (Model%cplflx .or. Model%cpllnd) then + if (Model%cplflx .or. Model%cpllnd .or. Model%cpl_fire) then allocate (Coupling%dlwsfci_cpl (IM)) allocate (Coupling%dswsfci_cpl (IM)) allocate (Coupling%dlwsfc_cpl (IM)) @@ -2989,7 +3026,7 @@ subroutine coupling_create (Coupling, IM, Model) Coupling%nvisdf_cpl = clear_val end if - if (Model%cplflx) then + if (Model%cplflx .or. Model%cpl_fire) then !--- incoming quantities allocate (Coupling%slimskin_cpl (IM)) allocate (Coupling%dusfcin_cpl (IM)) @@ -3154,7 +3191,7 @@ subroutine coupling_create (Coupling, IM, Model) Coupling%pfl_lsan = clear_val endif - if (Model%cplchm .or. Model%cplflx .or. Model%cpllnd) then + if (Model%cplchm .or. Model%cplflx .or. Model%cpllnd .or. Model%cpl_fire) then !--- accumulated convective rainfall allocate (Coupling%rainc_cpl (IM)) Coupling%rainc_cpl = clear_val @@ -3363,6 +3400,7 @@ subroutine control_initialize (Model, nlunit, fn_nml, me, master, & logical :: cpllnd = .false. !< default no cpllnd collection logical :: cpllnd2atm = .false. !< default no cpllnd2atm coupling logical :: rrfs_sd = .false. !< default no rrfs_sd collection + logical :: cpl_fire = .false. !< default no fire behavior colleciton logical :: use_cice_alb = .false. !< default no cice albedo logical :: cpl_imp_mrg = .false. !< default no merge import with internal forcings logical :: cpl_imp_dbg = .false. !< default no write import data to file post merge @@ -3558,6 +3596,7 @@ subroutine control_initialize (Model, nlunit, fn_nml, me, master, & real(kind=kind_phys) :: dt_inner = -999.0 !< time step for the inner loop logical :: sedi_semi = .false. !< flag for semi Lagrangian sedi of rain integer :: decfl = 8 !< deformed CFL factor + logical :: thpsnmp_is_init = .false. !< Local scheme initialization flag !--- GFDL microphysical parameters logical :: lgfdlmprad = .false. !< flag for GFDLMP radiation interaction @@ -3907,6 +3946,9 @@ subroutine control_initialize (Model, nlunit, fn_nml, me, master, & logical :: ca_entr = .false. logical :: ca_trigger = .false. +!--- Increment grid + logical :: increment_file_on_native_grid = .false. ! increment on native grid else Gaussian grid + !--- IAU options real(kind=kind_phys) :: iau_delthrs = 0 !< iau time interval (to scale increments) character(len=240) :: iau_inc_files(7) = '' !< list of increment files @@ -3992,6 +4034,9 @@ subroutine control_initialize (Model, nlunit, fn_nml, me, master, & integer :: kozpl = 28 !< File identifier for ozone forcing data integer :: kozc = 48 !< File identifier for ozone climotology data +!--- NRL h2o photochemistry physics + integer :: kh2oc = 29 !< File identifier for h2o photochemistry data. + !--- CCPP suite simulator logical :: do_ccpp_suite_sim = .false. integer :: nphys_proc = 0 @@ -4022,7 +4067,7 @@ subroutine control_initialize (Model, nlunit, fn_nml, me, master, & !--- coupling parameters cplflx, cplice, cplocn2atm, cplwav, cplwav2atm, cplaqm, & cplchm, cpllnd, cpllnd2atm, cpl_imp_mrg, cpl_imp_dbg, & - rrfs_sd, use_cice_alb, & + cpl_fire, rrfs_sd, use_cice_alb, & #ifdef IDEA_PHYS lsidea, weimer_model, f107_kp_size, f107_kp_interval, & f107_kp_skip_size, f107_kp_data_size, f107_kp_read_in_start, & @@ -4141,6 +4186,8 @@ subroutine control_initialize (Model, nlunit, fn_nml, me, master, & nseed, nseed_g, nthresh, do_ca, ca_advect, & ca_sgs, ca_global,iseed_ca,ca_smooth, & nspinup,ca_amplitude,nsmooth,ca_closure,ca_entr,ca_trigger, & + !--- Increment grid + increment_file_on_native_grid, & !--- IAU iau_delthrs,iaufhrs,iau_inc_files,iau_filter_increments, & iau_drymassfixer, & @@ -4406,7 +4453,17 @@ subroutine control_initialize (Model, nlunit, fn_nml, me, master, & allocate(Model%blksz(1:Model%nblks)) Model%blksz = blksz Model%ncols = sum(Model%blksz) - + ! DH* + Model%nchunks = size(blksz) + allocate(Model%chunk_begin(Model%nchunks)) + allocate(Model%chunk_end(Model%nchunks)) + Model%chunk_begin(1) = 1 + Model%chunk_end(1) = Model%chunk_begin(1) + blksz(1) - 1 + do i=2,Model%nchunks + Model%chunk_begin(i) = Model%chunk_end(i-1) + 1 + Model%chunk_end(i) = Model%chunk_begin(i) + blksz(i) - 1 + end do + !--- coupling parameters Model%cplflx = cplflx Model%cplice = cplice @@ -4432,6 +4489,7 @@ subroutine control_initialize (Model, nlunit, fn_nml, me, master, & !--- RRFS-SD Model%rrfs_sd = rrfs_sd + Model%cpl_fire = cpl_fire Model%dust_drylimit_factor = dust_drylimit_factor Model%dust_moist_correction = dust_moist_correction Model%dust_moist_opt = dust_moist_opt @@ -4963,18 +5021,6 @@ subroutine control_initialize (Model, nlunit, fn_nml, me, master, & Model%oz_phys_2015 = oz_phys_2015 Model%h2o_phys = h2o_phys - ! To ensure that these values match what's in the physics, - ! array sizes are compared during model init in GFS_phys_time_vary_init() - ! - ! from module h2ointerp - if (h2o_phys) then - levh2o = 72 - h2o_coeff = 3 - else - levh2o = 1 - h2o_coeff = 1 - end if - Model%pdfcld = pdfcld Model%shcnvcw = shcnvcw Model%redrag = redrag @@ -5257,6 +5303,9 @@ subroutine control_initialize (Model, nlunit, fn_nml, me, master, & Model%nqrimef = get_tracer_index(Model%tracer_names, 'q_rimef', Model%me, Model%master, Model%debug) Model%ntwa = get_tracer_index(Model%tracer_names, 'liq_aero', Model%me, Model%master, Model%debug) Model%ntia = get_tracer_index(Model%tracer_names, 'ice_aero', Model%me, Model%master, Model%debug) + if (Model%cpl_fire) then + Model%ntfsmoke = get_tracer_index(Model%tracer_names, 'fsmoke', Model%me, Model%master, Model%debug) + endif if (Model%rrfs_sd) then Model%ntsmoke = get_tracer_index(Model%tracer_names, 'smoke', Model%me, Model%master, Model%debug) Model%ntdust = get_tracer_index(Model%tracer_names, 'dust', Model%me, Model%master, Model%debug) @@ -5690,6 +5739,17 @@ subroutine control_initialize (Model, nlunit, fn_nml, me, master, & err_message = Model%ozphys%load_o3clim('global_o3prdlos.f77',kozc) end if + !--- NRL h2o photochemistry physics. + if (Model%h2o_phys) then + ! Load data for h2o photochemistry physics. + err_message = Model%h2ophys%load('global_h2oprdlos.f77',kh2oc) + Model%levh2o = Model%h2ophys%nlev + Model%h2o_coeff = Model%h2ophys%ncf + else + Model%levh2o = 1 + Model%h2o_coeff = 1 + end if + !--- quantities to be used to derive phy_f*d totals Model%nshoc_2d = nshoc_2d Model%nshoc_3d = nshoc_3d @@ -6563,6 +6623,7 @@ subroutine control_print(Model) print *, ' cpllnd : ', Model%cpllnd print *, ' cpllnd2atm : ', Model%cpllnd2atm print *, ' rrfs_sd : ', Model%rrfs_sd + print *, ' cpl_fire : ', Model%cpl_fire print *, ' use_cice_alb : ', Model%use_cice_alb print *, ' cpl_imp_mrg : ', Model%cpl_imp_mrg print *, ' cpl_imp_dbg : ', Model%cpl_imp_dbg @@ -7035,6 +7096,7 @@ subroutine control_print(Model) print *, ' nto2 : ', Model%nto2 print *, ' ntwa : ', Model%ntwa print *, ' ntia : ', Model%ntia + print *, ' ntfsmoke : ', Model%ntfsmoke print *, ' ntsmoke : ', Model%ntsmoke print *, ' ntdust : ', Model%ntdust print *, ' ntcoarsepm : ', Model%ntcoarsepm @@ -7098,14 +7160,15 @@ end subroutine control_print !---------------- ! GFS_grid%create !---------------- - subroutine grid_create (Grid, IM, Model) + subroutine grid_create (Grid, Model) implicit none class(GFS_grid_type) :: Grid - integer, intent(in) :: IM type(GFS_control_type), intent(in) :: Model + integer :: IM + IM = Model%ncols allocate (Grid%xlon (IM)) allocate (Grid%xlat (IM)) allocate (Grid%xlat_d (IM)) @@ -7199,14 +7262,15 @@ end subroutine grid_create !-------------------- ! GFS_tbd_type%create !-------------------- - subroutine tbd_create (Tbd, IM, Model) + subroutine tbd_create (Tbd, Model) implicit none class(GFS_tbd_type) :: Tbd - integer, intent(in) :: IM type(GFS_control_type), intent(in) :: Model + integer :: IM + IM = Model%ncols !--- In !--- sub-grid cloud radiation if ( Model%isubc_lw == 2 .or. Model%isubc_sw == 2 ) then @@ -7235,12 +7299,11 @@ subroutine tbd_create (Tbd, IM, Model) !--- ozone and stratosphere h2o needs allocate (Tbd%ozpl (IM,Model%levozp,Model%oz_coeff)) - allocate (Tbd%h2opl (IM,levh2o,h2o_coeff)) + allocate (Tbd%h2opl (IM,Model%levh2o,Model%h2o_coeff)) Tbd%h2opl = clear_val Tbd%ozpl = clear_val !--- ccn and in needs - ! DH* allocate only for MG? *DH allocate (Tbd%in_nm (IM,Model%levs)) allocate (Tbd%ccn_nm (IM,Model%levs)) Tbd%in_nm = clear_val @@ -7254,7 +7317,6 @@ subroutine tbd_create (Tbd, IM, Model) endif !--- tau_amf for NGWs - ! DH* allocate only for UGWP ? *DH allocate (Tbd%tau_amf(im) ) Tbd%tau_amf = clear_val @@ -7398,13 +7460,15 @@ end subroutine tbd_create !------------------------ ! GFS_cldprop_type%create !------------------------ - subroutine cldprop_create (Cldprop, IM, Model) + subroutine cldprop_create (Cldprop, Model) implicit none class(GFS_cldprop_type) :: Cldprop - integer, intent(in) :: IM type(GFS_control_type), intent(in) :: Model + integer :: IM + + IM = Model%ncols allocate (Cldprop%cv (IM)) allocate (Cldprop%cvt (IM)) @@ -7420,13 +7484,15 @@ end subroutine cldprop_create !****************************************** ! GFS_radtend_type%create !****************************************** - subroutine radtend_create (Radtend, IM, Model) + subroutine radtend_create (Radtend, Model) implicit none class(GFS_radtend_type) :: Radtend - integer, intent(in) :: IM type(GFS_control_type), intent(in) :: Model + integer :: IM + + IM = Model%ncols !--- Out (radiation only) allocate (Radtend%sfcfsw (IM)) @@ -7698,16 +7764,16 @@ end subroutine label_dtend_cause !---------------- ! GFS_diag%create !---------------- - subroutine diag_create (Diag, IM, Model) + subroutine diag_create (Diag, Model) use parse_tracers, only: get_tracer_index class(GFS_diag_type) :: Diag - integer, intent(in) :: IM type(GFS_control_type), intent(in) :: Model - -! + integer :: IM logical, save :: linit logical :: have_pbl, have_dcnv, have_scnv, have_mp, have_oz_phys + IM = Model%ncols + if(Model%print_diff_pgr) then allocate(Diag%old_pgr(IM)) Diag%old_pgr = clear_val diff --git a/scm/src/GFS_typedefs.meta b/scm/src/GFS_typedefs.meta index aa462ff13..10219e472 100644 --- a/scm/src/GFS_typedefs.meta +++ b/scm/src/GFS_typedefs.meta @@ -20,112 +20,112 @@ standard_name = geopotential_at_interface long_name = geopotential at model layer interfaces units = m2 s-2 - dimensions = (horizontal_loop_extent,vertical_interface_dimension) + dimensions = (horizontal_dimension,vertical_interface_dimension) type = real kind = kind_phys [prsi] standard_name = air_pressure_at_interface long_name = air pressure at model layer interfaces units = Pa - dimensions = (horizontal_loop_extent,vertical_interface_dimension) + dimensions = (horizontal_dimension,vertical_interface_dimension) type = real kind = kind_phys [prsi(:,ccpp_constant_one)] standard_name = air_pressure_at_lowest_model_interface long_name = air pressure at lowest model interface units = Pa - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys [prsik] standard_name = dimensionless_exner_function_at_interface long_name = dimensionless Exner function at model layer interfaces units = none - dimensions = (horizontal_loop_extent,vertical_interface_dimension) + dimensions = (horizontal_dimension,vertical_interface_dimension) type = real kind = kind_phys [prsik(:,surface_index_used_in_gfs)] standard_name = surface_dimensionless_exner_function long_name = dimensionless Exner function at lowest model interface units = none - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys [phil] standard_name = geopotential long_name = geopotential at model layer centers units = m2 s-2 - dimensions = (horizontal_loop_extent,vertical_layer_dimension) + dimensions = (horizontal_dimension,vertical_layer_dimension) type = real kind = kind_phys [prsl] standard_name = air_pressure long_name = mean layer pressure units = Pa - dimensions = (horizontal_loop_extent,vertical_layer_dimension) + dimensions = (horizontal_dimension,vertical_layer_dimension) type = real kind = kind_phys [prsl(:,surface_index_used_in_gfs)] standard_name = air_pressure_at_surface_adjacent_layer long_name = mean pressure at lowest model layer units = Pa - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys [prslk] standard_name = dimensionless_exner_function long_name = dimensionless Exner function at model layer centers units = none - dimensions = (horizontal_loop_extent,vertical_layer_dimension) + dimensions = (horizontal_dimension,vertical_layer_dimension) type = real kind = kind_phys [prslk(:,surface_index_used_in_gfs)] standard_name = dimensionless_exner_function_at_surface_adjacent_layer long_name = dimensionless Exner function at lowest model layer units = none - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys [pgr] standard_name = surface_air_pressure long_name = surface pressure units = Pa - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys [ugrs] standard_name = x_wind long_name = zonal wind units = m s-1 - dimensions = (horizontal_loop_extent,vertical_layer_dimension) + dimensions = (horizontal_dimension,vertical_layer_dimension) type = real kind = kind_phys [ugrs(:,surface_index_used_in_gfs)] standard_name = x_wind_at_surface_adjacent_layer long_name = zonal wind at lowest model layer units = m s-1 - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys [vgrs] standard_name = y_wind long_name = meridional wind units = m s-1 - dimensions = (horizontal_loop_extent,vertical_layer_dimension) + dimensions = (horizontal_dimension,vertical_layer_dimension) type = real kind = kind_phys [vgrs(:,surface_index_used_in_gfs)] standard_name = y_wind_at_surface_adjacent_layer long_name = meridional wind at lowest model layer units = m s-1 - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys [wgrs] standard_name = unsmoothed_nonhydrostatic_upward_air_velocity long_name = unsmoothed non-hydrostatic upward air velocity units = m s-1 - dimensions = (horizontal_loop_extent,vertical_layer_dimension) + dimensions = (horizontal_dimension,vertical_layer_dimension) type = real kind = kind_phys active = (do_lightning_threat_index_calculations) @@ -133,91 +133,91 @@ standard_name = lagrangian_tendency_of_air_pressure long_name = layer mean vertical velocity units = Pa s-1 - dimensions = (horizontal_loop_extent,vertical_layer_dimension) + dimensions = (horizontal_dimension,vertical_layer_dimension) type = real kind = kind_phys [tgrs] standard_name = air_temperature long_name = model layer mean temperature units = K - dimensions = (horizontal_loop_extent,vertical_layer_dimension) + dimensions = (horizontal_dimension,vertical_layer_dimension) type = real kind = kind_phys [tgrs(:,surface_index_used_in_gfs)] standard_name = air_temperature_at_surface_adjacent_layer long_name = mean temperature at lowest model layer units = K - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys [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) + dimensions = (horizontal_dimension,vertical_layer_dimension,number_of_tracers) type = real kind = kind_phys [qgrs(:,:,index_of_specific_humidity_in_tracer_concentration_array)] standard_name = specific_humidity long_name = water vapor specific humidity units = kg kg-1 - dimensions = (horizontal_loop_extent,vertical_layer_dimension) + dimensions = (horizontal_dimension,vertical_layer_dimension) type = real kind = kind_phys [qgrs(:,surface_index_used_in_gfs,index_of_specific_humidity_in_tracer_concentration_array)] standard_name = specific_humidity_at_surface_adjacent_layer long_name = water vapor specific humidity at lowest model layer units = kg kg-1 - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys [qgrs(:,:,index_of_cloud_liquid_water_mixing_ratio_in_tracer_concentration_array)] standard_name = cloud_liquid_water_mixing_ratio long_name = ratio of mass of cloud water to mass of dry air plus vapor (without condensates) units = kg kg-1 - dimensions = (horizontal_loop_extent,vertical_layer_dimension) + dimensions = (horizontal_dimension,vertical_layer_dimension) type = real kind = kind_phys [qgrs(:,surface_index_used_in_gfs,index_of_cloud_liquid_water_mixing_ratio_in_tracer_concentration_array)] standard_name = cloud_liquid_water_mixing_ratio_at_surface_adjacent_layer long_name = ratio of mass of cloud water to mass of dry air plus vapor (without condensates) at lowest model layer units = kg kg-1 - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys [qgrs(:,:,index_of_cloud_ice_mixing_ratio_in_tracer_concentration_array)] standard_name = cloud_ice_mixing_ratio long_name = ratio of mass of ice water to mass of dry air plus vapor (without condensates) units = kg kg-1 - dimensions = (horizontal_loop_extent,vertical_layer_dimension) + dimensions = (horizontal_dimension,vertical_layer_dimension) type = real kind = kind_phys [qgrs(:,:,index_of_rain_mixing_ratio_in_tracer_concentration_array)] standard_name = rain_mixing_ratio long_name = ratio of mass of rain water to mass of dry air plus vapor (without condensates) units = kg kg-1 - dimensions = (horizontal_loop_extent,vertical_layer_dimension) + dimensions = (horizontal_dimension,vertical_layer_dimension) type = real kind = kind_phys [qgrs(:,:,index_of_snow_mixing_ratio_in_tracer_concentration_array)] standard_name = snow_mixing_ratio long_name = ratio of mass of snow water to mass of dry air plus vapor (without condensates) units = kg kg-1 - dimensions = (horizontal_loop_extent,vertical_layer_dimension) + dimensions = (horizontal_dimension,vertical_layer_dimension) type = real kind = kind_phys [qgrs(:,:,index_of_graupel_mixing_ratio_in_tracer_concentration_array)] standard_name = graupel_mixing_ratio long_name = ratio of mass of graupel to mass of dry air plus vapor (without condensates) units = kg kg-1 - dimensions = (horizontal_loop_extent,vertical_layer_dimension) + dimensions = (horizontal_dimension,vertical_layer_dimension) type = real kind = kind_phys [qgrs(:,:,index_of_hail_mixing_ratio_in_tracer_concentration_array)] standard_name = hail_mixing_ratio long_name = ratio of mass of hail to mass of dry air plus vapor (without condensates) units = kg kg-1 - dimensions = (horizontal_loop_extent,vertical_layer_dimension) + dimensions = (horizontal_dimension,vertical_layer_dimension) type = real kind = kind_phys active = (index_of_hail_mixing_ratio_in_tracer_concentration_array > 0) @@ -225,14 +225,14 @@ standard_name = ozone_mixing_ratio long_name = ozone mixing ratio units = kg kg-1 - dimensions = (horizontal_loop_extent,vertical_layer_dimension) + dimensions = (horizontal_dimension,vertical_layer_dimension) type = real kind = kind_phys [qgrs(:,:,index_of_mass_number_concentration_of_hygroscopic_aerosols_in_tracer_concentration_array)] standard_name = mass_number_concentration_of_hygroscopic_aerosols long_name = number concentration of water-friendly aerosols units = kg-1 - dimensions = (horizontal_loop_extent,vertical_layer_dimension) + dimensions = (horizontal_dimension,vertical_layer_dimension) active = (index_of_mass_number_concentration_of_hygroscopic_aerosols_in_tracer_concentration_array > 0) type = real kind = kind_phys @@ -240,7 +240,7 @@ standard_name = mass_number_concentration_of_nonhygroscopic_ice_nucleating_aerosols long_name = number concentration of ice-friendly aerosols units = kg-1 - dimensions = (horizontal_loop_extent,vertical_layer_dimension) + dimensions = (horizontal_dimension,vertical_layer_dimension) active = (index_of_mass_number_concentration_of_nonhygroscopic_ice_nucleating_aerosols_in_tracer_concentration_array > 0) type = real kind = kind_phys @@ -248,7 +248,7 @@ standard_name = mass_number_concentration_of_cloud_liquid_water_particles_in_air long_name = number concentration of cloud droplets (liquid) units = kg-1 - dimensions = (horizontal_loop_extent,vertical_layer_dimension) + dimensions = (horizontal_dimension,vertical_layer_dimension) type = real kind = kind_phys active = (index_of_mass_number_concentration_of_cloud_droplets_in_tracer_concentration_array > 0) @@ -256,35 +256,35 @@ standard_name = mass_number_concentration_of_cloud_ice_water_crystals_in_air long_name = number concentration of ice units = kg-1 - dimensions = (horizontal_loop_extent,vertical_layer_dimension) + dimensions = (horizontal_dimension,vertical_layer_dimension) type = real kind = kind_phys [qgrs(:,:,index_of_mass_number_concentration_of_rain_in_tracer_concentration_array)] standard_name = mass_number_concentration_of_rain_water_in_air long_name = number concentration of rain units = kg-1 - dimensions = (horizontal_loop_extent,vertical_layer_dimension) + dimensions = (horizontal_dimension,vertical_layer_dimension) type = real kind = kind_phys [qgrs(:,:,index_of_mass_number_concentration_of_snow_in_tracer_concentration_array)] standard_name = mass_number_concentration_of_snow_in_air long_name = number concentration of snow units = kg-1 - dimensions = (horizontal_loop_extent,vertical_layer_dimension) + dimensions = (horizontal_dimension,vertical_layer_dimension) type = real kind = kind_phys [qgrs(:,:,index_of_mass_number_concentration_of_graupel_in_tracer_concentration_array)] standard_name = mass_number_concentration_of_graupel_in_air long_name = number concentration of graupel units = kg-1 - dimensions = (horizontal_loop_extent,vertical_layer_dimension) + dimensions = (horizontal_dimension,vertical_layer_dimension) type = real kind = kind_phys [qgrs(:,:,index_of_mass_number_concentration_of_hail_in_tracer_concentration_array)] standard_name = mass_number_concentration_of_hail_in_air long_name = number concentration of hail units = kg-1 - dimensions = (horizontal_loop_extent,vertical_layer_dimension) + dimensions = (horizontal_dimension,vertical_layer_dimension) type = real kind = kind_phys active = (index_of_mass_number_concentration_of_hail_in_tracer_concentration_array > 0) @@ -292,7 +292,7 @@ standard_name = reflectivity_of_rain_in_air long_name = reflectivity of rain units = m6 kg-1 - dimensions = (horizontal_loop_extent,vertical_layer_dimension) + dimensions = (horizontal_dimension,vertical_layer_dimension) type = real kind = kind_phys active = (index_of_reflectivity_of_rain_in_tracer_concentration_array > 0) @@ -300,7 +300,7 @@ standard_name = reflectivity_of_graupel_in_air long_name = reflectivity of graupel units = m6 kg-1 - dimensions = (horizontal_loop_extent,vertical_layer_dimension) + dimensions = (horizontal_dimension,vertical_layer_dimension) type = real kind = kind_phys active = (index_of_reflectivity_of_graupel_in_tracer_concentration_array > 0) @@ -308,7 +308,7 @@ standard_name = reflectivity_of_hail_in_air long_name = reflectivity of hail units = m6 kg-1 - dimensions = (horizontal_loop_extent,vertical_layer_dimension) + dimensions = (horizontal_dimension,vertical_layer_dimension) type = real kind = kind_phys active = (index_of_reflectivity_of_hail_in_tracer_concentration_array > 0) @@ -316,7 +316,7 @@ standard_name = cloud_condensation_nuclei_number_concentration long_name = number concentration of cloud condensation nuclei units = kg-1 - dimensions = (horizontal_loop_extent,vertical_layer_dimension) + dimensions = (horizontal_dimension,vertical_layer_dimension) type = real kind = kind_phys active = ( index_of_cloud_condensation_nuclei_number_concentration_in_tracer_concentration_array > 0 ) @@ -324,7 +324,7 @@ standard_name = activated_cloud_condensation_nuclei_number_concentration long_name = number concentration of activated cloud condensation nuclei units = kg-1 - dimensions = (horizontal_loop_extent,vertical_layer_dimension) + dimensions = (horizontal_dimension,vertical_layer_dimension) type = real kind = kind_phys active = ( index_of_activated_cloud_condensation_nuclei_number_concentration_in_tracer_concentration_array > 0 ) @@ -332,7 +332,7 @@ standard_name = graupel_volume long_name = graupel particle volume units = m3 kg-1 - dimensions = (horizontal_loop_extent,vertical_layer_dimension) + dimensions = (horizontal_dimension,vertical_layer_dimension) type = real kind = kind_phys active = ( index_of_graupel_volume_in_tracer_concentration_array > 0 ) @@ -340,7 +340,7 @@ standard_name = hail_volume long_name = hail particle volume units = m3 kg-1 - dimensions = (horizontal_loop_extent,vertical_layer_dimension) + dimensions = (horizontal_dimension,vertical_layer_dimension) type = real kind = kind_phys active = ( index_of_hail_volume_in_tracer_concentration_array > 0 ) @@ -348,14 +348,14 @@ standard_name = turbulent_kinetic_energy long_name = turbulent kinetic energy units = J - dimensions = (horizontal_loop_extent,vertical_layer_dimension) + dimensions = (horizontal_dimension,vertical_layer_dimension) type = real kind = kind_phys [qgrs(:,:,index_of_updraft_area_fraction_in_tracer_concentration_array)] standard_name = prognostic_updraft_area_fraction_in_convection long_name = convective updraft area fraction units = frac - dimensions = (horizontal_loop_extent,vertical_layer_dimension) + dimensions = (horizontal_dimension,vertical_layer_dimension) type = real kind = kind_phys active = (index_of_updraft_area_fraction_in_tracer_concentration_array > 0 ) @@ -363,21 +363,21 @@ standard_name = smoke_tracer_concentration long_name = concentration of smoke units = kg kg-1 - dimensions = (horizontal_loop_extent,vertical_layer_dimension) + dimensions = (horizontal_dimension,vertical_layer_dimension) type = real kind = kind_phys [qgrs(:,:,index_for_dust_in_tracer_concentration_array)] standard_name = dust_tracer_concentration long_name = concentration of dust units = kg kg-1 - dimensions = (horizontal_loop_extent,vertical_layer_dimension) + dimensions = (horizontal_dimension,vertical_layer_dimension) type = real kind = kind_phys [diss_est] standard_name = dissipation_estimate_of_air_temperature_at_model_layers long_name = dissipation estimate model layer mean temperature units = K - dimensions = (horizontal_loop_extent,vertical_layer_dimension) + dimensions = (horizontal_dimension,vertical_layer_dimension) type = real kind = kind_phys @@ -394,112 +394,112 @@ standard_name = x_wind_of_new_state long_name = zonal wind updated by physics units = m s-1 - dimensions = (horizontal_loop_extent,vertical_layer_dimension) + dimensions = (horizontal_dimension,vertical_layer_dimension) type = real kind = kind_phys [gu0(:,surface_index_used_in_gfs)] standard_name = x_wind_of_new_state_at_surface_adjacent_layer long_name = zonal wind at lowest model layer updated by physics units = m s-1 - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys [gv0] standard_name = y_wind_of_new_state long_name = meridional wind updated by physics units = m s-1 - dimensions = (horizontal_loop_extent,vertical_layer_dimension) + dimensions = (horizontal_dimension,vertical_layer_dimension) type = real kind = kind_phys [gv0(:,surface_index_used_in_gfs)] standard_name = y_wind_of_new_state_at_surface_adjacent_layer long_name = meridional wind at lowest model layer updated by physics units = m s-1 - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys [gt0] standard_name = air_temperature_of_new_state long_name = temperature updated by physics units = K - dimensions = (horizontal_loop_extent,vertical_layer_dimension) + dimensions = (horizontal_dimension,vertical_layer_dimension) type = real kind = kind_phys [gt0(:,surface_index_used_in_gfs)] standard_name = air_temperature_of_new_state_at_surface_adjacent_layer long_name = temperature at lowest model layer updated by physics units = K - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys [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) + dimensions = (horizontal_dimension,vertical_layer_dimension,number_of_tracers) type = real kind = kind_phys [gq0(:,:,index_of_specific_humidity_in_tracer_concentration_array)] standard_name = specific_humidity_of_new_state long_name = water vapor specific humidity updated by physics units = kg kg-1 - dimensions = (horizontal_loop_extent,vertical_layer_dimension) + dimensions = (horizontal_dimension,vertical_layer_dimension) type = real kind = kind_phys [gq0(:,surface_index_used_in_gfs,index_of_specific_humidity_in_tracer_concentration_array)] standard_name = specific_humidity_of_new_state_at_surface_adjacent_layer long_name = water vapor specific humidity at lowest model layer updated by physics units = kg kg-1 - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys [gq0(:,:,index_of_ozone_mixing_ratio_in_tracer_concentration_array)] standard_name = ozone_concentration_of_new_state long_name = ozone concentration updated by physics units = kg kg-1 - dimensions = (horizontal_loop_extent,vertical_layer_dimension) + dimensions = (horizontal_dimension,vertical_layer_dimension) type = real kind = kind_phys [gq0(:,:,index_of_cloud_liquid_water_mixing_ratio_in_tracer_concentration_array)] standard_name = cloud_liquid_water_mixing_ratio_of_new_state long_name = ratio of mass of cloud water to mass of dry air plus vapor (without condensates) updated by physics units = kg kg-1 - dimensions = (horizontal_loop_extent,vertical_layer_dimension) + dimensions = (horizontal_dimension,vertical_layer_dimension) type = real kind = kind_phys [gq0(:,:,index_of_cloud_ice_mixing_ratio_in_tracer_concentration_array)] standard_name = cloud_ice_mixing_ratio_of_new_state long_name = ratio of mass of ice water to mass of dry air plus vapor (without condensates) updated by physics units = kg kg-1 - dimensions = (horizontal_loop_extent,vertical_layer_dimension) + dimensions = (horizontal_dimension,vertical_layer_dimension) type = real kind = kind_phys [gq0(:,:,index_of_rain_mixing_ratio_in_tracer_concentration_array)] standard_name = rain_mixing_ratio_of_new_state long_name = ratio of mass of rain water to mass of dry air plus vapor (without condensates) updated by physics units = kg kg-1 - dimensions = (horizontal_loop_extent,vertical_layer_dimension) + dimensions = (horizontal_dimension,vertical_layer_dimension) type = real kind = kind_phys [gq0(:,:,index_of_snow_mixing_ratio_in_tracer_concentration_array)] standard_name = snow_mixing_ratio_of_new_state long_name = ratio of mass of snow water to mass of dry air plus vapor (without condensates) updated by physics units = kg kg-1 - dimensions = (horizontal_loop_extent,vertical_layer_dimension) + dimensions = (horizontal_dimension,vertical_layer_dimension) type = real kind = kind_phys [gq0(:,:,index_of_graupel_mixing_ratio_in_tracer_concentration_array)] standard_name = graupel_mixing_ratio_of_new_state long_name = ratio of mass of graupel to mass of dry air plus vapor (without condensates) updated by physics units = kg kg-1 - dimensions = (horizontal_loop_extent,vertical_layer_dimension) + dimensions = (horizontal_dimension,vertical_layer_dimension) type = real kind = kind_phys [gq0(:,:,index_of_hail_mixing_ratio_in_tracer_concentration_array)] standard_name = hail_mixing_ratio_of_new_state long_name = ratio of mass of hail to mass of dry air plus vapor (without condensates) updated by physics units = kg kg-1 - dimensions = (horizontal_loop_extent,vertical_layer_dimension) + dimensions = (horizontal_dimension,vertical_layer_dimension) type = real kind = kind_phys active = ( index_of_hail_mixing_ratio_in_tracer_concentration_array > 0 ) @@ -507,14 +507,14 @@ standard_name = mass_weighted_rime_factor_of_new_state long_name = mass weighted rime factor updated by physics units = kg kg-1 - dimensions = (horizontal_loop_extent,vertical_layer_dimension) + dimensions = (horizontal_dimension,vertical_layer_dimension) type = real kind = kind_phys [gq0(:,:,index_of_mass_number_concentration_of_hygroscopic_aerosols_in_tracer_concentration_array)] standard_name = mass_number_concentration_of_hygroscopic_aerosols_of_new_state long_name = number concentration of water-friendly aerosols updated by physics units = kg-1 - dimensions = (horizontal_loop_extent,vertical_layer_dimension) + dimensions = (horizontal_dimension,vertical_layer_dimension) type = real kind = kind_phys active = (index_of_mass_number_concentration_of_hygroscopic_aerosols_in_tracer_concentration_array > 0) @@ -522,7 +522,7 @@ standard_name = mass_number_concentration_of_nonhygroscopic_ice_nucleating_aerosols_of_new_state long_name = number concentration of ice-friendly aerosols updated by physics units = kg-1 - dimensions = (horizontal_loop_extent,vertical_layer_dimension) + dimensions = (horizontal_dimension,vertical_layer_dimension) type = real kind = kind_phys active = (index_of_mass_number_concentration_of_nonhygroscopic_ice_nucleating_aerosols_in_tracer_concentration_array > 0) @@ -530,7 +530,7 @@ standard_name = mass_number_concentration_of_cloud_liquid_water_particles_in_air_of_new_state long_name = number concentration of cloud droplets updated by physics units = kg-1 - dimensions = (horizontal_loop_extent,vertical_layer_dimension) + dimensions = (horizontal_dimension,vertical_layer_dimension) type = real kind = kind_phys active = (index_of_mass_number_concentration_of_cloud_droplets_in_tracer_concentration_array > 0) @@ -538,35 +538,35 @@ standard_name = mass_number_concentration_of_cloud_ice_water_crystals_in_air_of_new_state long_name = number concentration of ice updated by physics units = kg-1 - dimensions = (horizontal_loop_extent,vertical_layer_dimension) + dimensions = (horizontal_dimension,vertical_layer_dimension) type = real kind = kind_phys [gq0(:,:,index_of_mass_number_concentration_of_rain_in_tracer_concentration_array)] standard_name = mass_number_concentration_of_rain_of_new_state long_name = number concentration of rain updated by physics units = kg-1 - dimensions = (horizontal_loop_extent,vertical_layer_dimension) + dimensions = (horizontal_dimension,vertical_layer_dimension) type = real kind = kind_phys [gq0(:,:,index_of_mass_number_concentration_of_snow_in_tracer_concentration_array)] standard_name = mass_number_concentration_of_snow_of_new_state long_name = number concentration of snow updated by physics units = kg-1 - dimensions = (horizontal_loop_extent,vertical_layer_dimension) + dimensions = (horizontal_dimension,vertical_layer_dimension) type = real kind = kind_phys [gq0(:,:,index_of_mass_number_concentration_of_graupel_in_tracer_concentration_array)] standard_name = mass_number_concentration_of_graupel_of_new_state long_name = number concentration of graupel updated by physics units = kg-1 - dimensions = (horizontal_loop_extent,vertical_layer_dimension) + dimensions = (horizontal_dimension,vertical_layer_dimension) type = real kind = kind_phys [gq0(:,:,index_of_mass_number_concentration_of_hail_in_tracer_concentration_array)] standard_name = mass_number_concentration_of_hail_of_new_state long_name = number concentration of hail updated by physics units = kg-1 - dimensions = (horizontal_loop_extent,vertical_layer_dimension) + dimensions = (horizontal_dimension,vertical_layer_dimension) type = real kind = kind_phys active = ( index_of_mass_number_concentration_of_hail_in_tracer_concentration_array > 0 ) @@ -574,7 +574,7 @@ standard_name = cloud_condensation_nuclei_number_concentration_of_new_state long_name = number concentration of cloud condensation nuclei updated by physics units = kg-1 - dimensions = (horizontal_loop_extent,vertical_layer_dimension) + dimensions = (horizontal_dimension,vertical_layer_dimension) type = real kind = kind_phys active = ( index_of_cloud_condensation_nuclei_number_concentration_in_tracer_concentration_array > 0 ) @@ -582,7 +582,7 @@ standard_name = activated_cloud_condensation_nuclei_number_concentration_of_new_state long_name = number concentration of cloud condensation nuclei updated by physics units = kg-1 - dimensions = (horizontal_loop_extent,vertical_layer_dimension) + dimensions = (horizontal_dimension,vertical_layer_dimension) type = real kind = kind_phys active = ( index_of_activated_cloud_condensation_nuclei_number_concentration_in_tracer_concentration_array > 0 ) @@ -590,7 +590,7 @@ standard_name = graupel_volume_of_new_state long_name = graupel volume updated by physics units = m3 kg-1 - dimensions = (horizontal_loop_extent,vertical_layer_dimension) + dimensions = (horizontal_dimension,vertical_layer_dimension) type = real kind = kind_phys active = ( index_of_graupel_volume_in_tracer_concentration_array > 0 ) @@ -598,7 +598,7 @@ standard_name = hail_volume_of_new_state long_name = hail volume updated by physics units = m3 kg-1 - dimensions = (horizontal_loop_extent,vertical_layer_dimension) + dimensions = (horizontal_dimension,vertical_layer_dimension) type = real kind = kind_phys active = ( index_of_hail_volume_in_tracer_concentration_array > 0 ) @@ -606,7 +606,7 @@ standard_name = reflectivity_of_rain_of_new_state long_name = reflectivity of rain updated by physics units = m6 kg-1 - dimensions = (horizontal_loop_extent,vertical_layer_dimension) + dimensions = (horizontal_dimension,vertical_layer_dimension) type = real kind = kind_phys active = ( index_of_reflectivity_of_rain_in_tracer_concentration_array > 0 ) @@ -614,7 +614,7 @@ standard_name = reflectivity_of_graupel_of_new_state long_name = reflectivity of graupel updated by physics units = m6 kg-1 - dimensions = (horizontal_loop_extent,vertical_layer_dimension) + dimensions = (horizontal_dimension,vertical_layer_dimension) type = real kind = kind_phys active = ( index_of_reflectivity_of_graupel_in_tracer_concentration_array > 0 ) @@ -622,7 +622,7 @@ standard_name = reflectivity_of_hail_of_new_state long_name = reflectivity of hail updated by physics units = m6 kg-1 - dimensions = (horizontal_loop_extent,vertical_layer_dimension) + dimensions = (horizontal_dimension,vertical_layer_dimension) type = real kind = kind_phys active = ( index_of_reflectivity_of_hail_in_tracer_concentration_array > 0 ) @@ -630,17 +630,18 @@ standard_name = cloud_area_fraction_in_atmosphere_layer_of_new_state long_name = cloud fraction updated by physics units = frac - dimensions = (horizontal_loop_extent,vertical_layer_dimension) + dimensions = (horizontal_dimension,vertical_layer_dimension) type = real kind = kind_phys [gq0(:,:,index_of_updraft_area_fraction_in_tracer_concentration_array)] standard_name = updraft_area_fraction_updated_by_physics long_name = convective updraft area fraction updated by physics units = frac - dimensions = (horizontal_loop_extent,vertical_layer_dimension) + dimensions = (horizontal_dimension,vertical_layer_dimension) type = real kind = kind_phys active = ( index_of_updraft_area_fraction_in_tracer_concentration_array > 0 ) + ######################################################################## [ccpp-table-properties] name = GFS_sfcprop_type @@ -654,56 +655,56 @@ standard_name = area_type long_name = landmask: sea/land/ice=0/1/2 units = flag - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys [oceanfrac] standard_name = sea_area_fraction long_name = fraction of horizontal grid area occupied by ocean units = frac - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys [landfrac] standard_name = land_area_fraction long_name = fraction of horizontal grid area occupied by land units = frac - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys [vegtype_frac] standard_name = fraction_of_vegetation_category long_name = fraction of horizontal grid area occupied by given vegetation category units = frac - dimensions = (horizontal_loop_extent,number_of_vegetation_categories) + dimensions = (horizontal_dimension,number_of_vegetation_categories) type = real kind = kind_phys [soiltype_frac] standard_name = fraction_of_soil_category long_name = fraction of horizontal grid area occupied by given soil category units = frac - dimensions = (horizontal_loop_extent,number_of_soil_categories) + dimensions = (horizontal_dimension,number_of_soil_categories) type = real kind = kind_phys [lakefrac] standard_name = lake_area_fraction long_name = fraction of horizontal grid area occupied by lake units = frac - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys [lakedepth] standard_name = lake_depth long_name = lake depth units = m - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys [clm_lakedepth] standard_name = clm_lake_depth long_name = clm internal copy of lake depth with 10.0 replaced by default lake depth units = m - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys active = (control_for_lake_model_execution_method > 0 .and. control_for_lake_model_selection == 2) @@ -711,13 +712,13 @@ standard_name = flag_for_using_lake_model long_name = flag indicating lake points using a lake model units = flag - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = integer [lake_t2m] standard_name = temperature_at_2m_from_clm_lake long_name = temperature at 2m from clm lake units = K - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys active = (control_for_lake_model_execution_method > 0 .and. control_for_lake_model_selection == 2) @@ -725,7 +726,7 @@ standard_name = specific_humidity_at_2m_from_clm_lake long_name = specific humidity at 2m from clm lake units = frac - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys active = (control_for_lake_model_execution_method > 0 .and. control_for_lake_model_selection == 2) @@ -733,7 +734,7 @@ standard_name = mixed_layer_depth_of_lakes long_name = depth of lake mixing layer units = m - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys active = (control_for_lake_model_selection == 1 .and. control_for_lake_model_execution_method > 0) @@ -741,7 +742,7 @@ standard_name = lake_mixed_layer_temperature long_name = temperature of lake mixing layer units = K - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys active = (control_for_lake_model_selection == 1 .and. control_for_lake_model_execution_method > 0) @@ -749,7 +750,7 @@ standard_name = mean_temperature_of_the_water_column long_name = thee mean temperature of the water column units = K - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys active = (control_for_lake_model_selection == 1 .and. control_for_lake_model_execution_method > 0) @@ -757,7 +758,7 @@ standard_name = the_thermally_active_layer_depth_of_the_bottom_sediment long_name = the depth of the thermally active layer of the bottom sediment units = m - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys active = (control_for_lake_model_selection == 1 .and. control_for_lake_model_execution_method > 0) @@ -765,7 +766,7 @@ standard_name = temperature_at_the_bottom_of_the_sediment_upper_layer long_name = the temperature at the bottom of the sediment upper layer units = K - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys active = (control_for_lake_model_selection == 1 .and. control_for_lake_model_execution_method > 0) @@ -773,7 +774,7 @@ standard_name = lake_bottom_temperature long_name = the temperature at the water-bottom sediment interface units = K - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys active = (control_for_lake_model_selection == 1 .and. control_for_lake_model_execution_method > 0) @@ -781,7 +782,7 @@ standard_name = temperature_for_bottom_layer_of_water long_name = the temperature at the lake bottom layer water units = K - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys active = (control_for_lake_model_selection == 1 .and. control_for_lake_model_execution_method > 0) @@ -789,7 +790,7 @@ standard_name = shape_factor_of_water_temperature_vertical_profile long_name = the shape factor of water temperature vertical profile units = none - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys active = (control_for_lake_model_selection == 1 .and. control_for_lake_model_execution_method > 0) @@ -797,7 +798,7 @@ standard_name = temperature_of_snow_on_lake long_name = temperature of snow on a lake units = K - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys active = (control_for_lake_model_execution_method > 0) @@ -805,126 +806,126 @@ standard_name = surface_skin_temperature long_name = surface skin temperature units = K - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys [tsfco] standard_name = sea_surface_temperature long_name = sea surface temperature units = K - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys [usfco] standard_name = x_ocean_current long_name = zonal current at ocean surface units = m s-1 - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys [vsfco] standard_name = y_ocean_current long_name = meridional current at ocean surface units = m s-1 - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys [tsfcl] standard_name = surface_skin_temperature_over_land long_name = surface skin temperature over land units = K - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys [tisfc] standard_name = surface_skin_temperature_over_ice long_name = surface skin temperature over ice units = K - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys [tiice] standard_name = temperature_in_ice_layer long_name = sea ice internal temperature units = K - dimensions = (horizontal_loop_extent,vertical_dimension_of_sea_ice) + dimensions = (horizontal_dimension,vertical_dimension_of_sea_ice) type = real kind = kind_phys [snowd] standard_name = lwe_surface_snow long_name = water equivalent snow depth units = mm - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys [zorl] standard_name = surface_roughness_length long_name = surface roughness length units = cm - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys [zorlw] standard_name = surface_roughness_length_over_water long_name = surface roughness length over water units = cm - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys [zorll] standard_name = surface_roughness_length_over_land long_name = surface roughness length over land units = cm - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys [zorli] standard_name = surface_roughness_length_over_ice long_name = surface roughness length over ice units = cm - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys [zorlwav] standard_name = surface_roughness_length_from_wave_model long_name = surface roughness length from wave model units = cm - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys [fice] standard_name = sea_ice_area_fraction_of_sea_area_fraction long_name = ice fraction over open water units = frac - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys [snodl] standard_name = surface_snow_thickness_water_equivalent_over_land long_name = water equivalent snow depth over land units = mm - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys [weasdl] standard_name = water_equivalent_accumulated_snow_depth_over_land long_name = water equiv of acc snow depth over land units = mm - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys [snodi] standard_name = surface_snow_thickness_water_equivalent_over_ice long_name = water equivalent snow depth over ice units = mm - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys [weasdi] standard_name = water_equivalent_accumulated_snow_depth_over_ice long_name = water equiv of acc snow depth over land units = mm - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys [isubgrd_sigma] @@ -937,21 +938,21 @@ standard_name = statistical_measures_of_subgrid_orography_collection_array long_name = orographic metrics units = mixed - dimensions = (horizontal_loop_extent,number_of_statistical_measures_of_subgrid_orography) + dimensions = (horizontal_dimension,number_of_statistical_measures_of_subgrid_orography) type = real kind = kind_phys [hprime(:,index_for_the_standard_deviation_of_subgrid_orography_in_hprime_array)] standard_name = standard_deviation_of_subgrid_orography long_name = standard deviation of subgrid height_above_mean_sea_level units = m - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys [dust12m_in] standard_name = fengsha_dust12m_input long_name = fengsha dust input units = various - dimensions = (horizontal_loop_extent,12,5) + dimensions = (horizontal_dimension,12,5) type = real kind = kind_phys active = (do_smoke_coupling) @@ -959,7 +960,7 @@ standard_name = anthropogenic_background_input long_name = anthropogenic background input units = various - dimensions = (horizontal_loop_extent,1) + dimensions = (horizontal_dimension,1) type = real kind = kind_phys active = (do_smoke_coupling) @@ -967,7 +968,7 @@ standard_name = emission_smoke_RRFS long_name = emission fire RRFS units = various - dimensions = (horizontal_loop_extent,24,2) + dimensions = (horizontal_dimension,24,2) type = real kind = kind_phys active = (do_smoke_coupling) @@ -975,7 +976,7 @@ standard_name = emission_smoke_prvd_RRFS long_name = emission fire RRFS daily units = various - dimensions = (horizontal_loop_extent,4) + dimensions = (horizontal_dimension,4) type = real kind = kind_phys active = (do_smoke_coupling) @@ -983,7 +984,7 @@ standard_name = baseline_surface_roughness_length long_name = baseline surface roughness length for momentum in meter units = m - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys active = (flag_for_mellor_yamada_janjic_surface_layer_scheme .or. flag_for_mellor_yamada_janjic_pbl_scheme) @@ -991,28 +992,28 @@ standard_name = baseline_surface_longwave_emissivity long_name = baseline surface lw emissivity in fraction units = frac - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys [sncovr] standard_name = surface_snow_area_fraction_over_land long_name = surface snow area fraction units = frac - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys [sncovr_ice] standard_name = surface_snow_area_fraction_over_ice long_name = surface snow area fraction over ice units = frac - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys [fire_heat_flux] standard_name = surface_fire_heat_flux long_name = heat flux of fire at the surface units = W m-2 - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys active = (control_for_land_surface_scheme == identifier_for_ruc_land_surface_scheme) @@ -1020,7 +1021,7 @@ standard_name = fraction_of_grid_cell_burning long_name = ration of the burnt area to the grid cell area units = frac - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys active = (control_for_land_surface_scheme == identifier_for_ruc_land_surface_scheme) @@ -1028,35 +1029,35 @@ standard_name = upper_bound_of_max_albedo_assuming_deep_snow long_name = maximum snow albedo units = frac - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys [emis_lnd] standard_name = surface_longwave_emissivity_over_land long_name = surface lw emissivity in fraction over land units = frac - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys [emis_ice] standard_name = surface_longwave_emissivity_over_ice long_name = surface lw emissivity in fraction over ice units = frac - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys [emis_wat] standard_name = surface_longwave_emissivity_over_water long_name = surface lw emissivity in fraction over water units = frac - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys [sfalb_lnd] standard_name = surface_diffused_shortwave_albedo_over_land long_name = mean surface diffused sw albedo over land units = frac - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys active = (control_for_land_surface_scheme == identifier_for_ruc_land_surface_scheme) @@ -1064,7 +1065,7 @@ standard_name = surface_diffused_shortwave_albedo_over_ice long_name = mean surface diffused sw albedo over ice units = frac - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys active = (control_for_land_surface_scheme == identifier_for_ruc_land_surface_scheme) @@ -1072,7 +1073,7 @@ standard_name = surface_snow_free_albedo_over_land long_name = surface snow-free albedo over ice units = frac - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys active = (control_for_land_surface_scheme == identifier_for_ruc_land_surface_scheme) @@ -1080,118 +1081,118 @@ standard_name = vis_albedo_weak_cosz long_name = mean vis albedo with weak cosz dependency units = frac - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys [alnwf] standard_name = nir_albedo_weak_cosz long_name = mean nir albedo with weak cosz dependency units = frac - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys [slope] standard_name = surface_slope_classification long_name = sfc slope type for lsm units = index - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = integer [slope_save] standard_name = surface_slope_classification_save long_name = sfc slope type for lsm save units = index - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = integer [shdmin] standard_name = min_vegetation_area_fraction long_name = min fractional coverage of green vegetation units = frac - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys [shdmax] standard_name = max_vegetation_area_fraction long_name = max fractional coverage of green vegetation units = frac - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys [tg3] standard_name = deep_soil_temperature long_name = deep soil temperature units = K - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys [vfrac] standard_name = vegetation_area_fraction long_name = areal fractional cover of green vegetation units = frac - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys [vtype] standard_name = vegetation_type_classification long_name = vegetation type for lsm units = index - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = integer [vtype_save] standard_name = vegetation_type_classification_save long_name = vegetation type for lsm save units = index - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = integer [stype] standard_name = soil_type_classification long_name = soil type for lsm units = index - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = integer [stype_save] standard_name = soil_type_classification_save long_name = soil type for lsm save units = index - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = integer [scolor] standard_name = soil_color_classification long_name = soil color for lsm units = index - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = integer [scolor_save] standard_name = soil_color_classification_save long_name = soil color for lsm save units = index - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = integer [uustar] standard_name = surface_friction_velocity long_name = boundary layer parameter units = m s-1 - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys [oro] standard_name = height_above_mean_sea_level long_name = height_above_mean_sea_level units = m - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys [oro_uf] standard_name = unfiltered_height_above_mean_sea_level long_name = unfiltered height_above_mean_sea_level units = m - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys [maxupmf] standard_name = maximum_convective_updraft_mass_flux long_name = maximum convective updraft mass flux within a column units = m s-1 - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys active = (control_for_deep_convection_scheme == identifier_for_grell_freitas_deep_convection .or. control_for_deep_convection_scheme == identifier_for_c3_deep_convection) @@ -1199,7 +1200,7 @@ standard_name = consecutive_calls_for_grell_freitas_convection long_name = Memory counter for GF units = none - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys active = (control_for_deep_convection_scheme == identifier_for_grell_freitas_deep_convection .or. control_for_deep_convection_scheme == identifier_for_c3_deep_convection) @@ -1207,7 +1208,7 @@ standard_name = consecutive_calls_for_grell_freitas_mid_level_convection long_name = Memory counter for GF midlevel units = none - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys active = (control_for_deep_convection_scheme == identifier_for_grell_freitas_deep_convection .or. control_for_deep_convection_scheme == identifier_for_c3_deep_convection) @@ -1215,63 +1216,63 @@ standard_name = specified_surface_upward_temperature_flux long_name = specified kinematic surface upward sensible heat flux units = K m s-1 - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys [spec_lh_flux] standard_name = specified_surface_upward_specific_humidity_flux long_name = specified kinematic surface upward latent heat flux units = kg kg-1 m s-1 - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys [hice] standard_name = sea_ice_thickness long_name = sea ice thickness units = m - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys [weasd] standard_name = lwe_thickness_of_surface_snow_amount long_name = water equiv of acc snow depth over land and sea ice units = mm - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys [canopy] standard_name = canopy_water_amount long_name = canopy water amount units = kg m-2 - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys [ffmm] standard_name = Monin_Obukhov_similarity_function_for_momentum long_name = Monin-Obukhov similarity function for momentum units = none - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys [ffhh] standard_name = Monin_Obukhov_similarity_function_for_heat long_name = Monin-Obukhov similarity function for heat units = none - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys [f10m] standard_name = ratio_of_wind_at_surface_adjacent_layer_to_wind_at_10m long_name = ratio of sigma level 1 wind and 10m wind units = ratio - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys [rca] standard_name = aerodynamic_resistance_in_canopy long_name = canopy resistance units = s m-1 - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys active = (control_for_land_surface_scheme == identifier_for_noah_land_surface_scheme .or. control_for_land_surface_scheme == identifier_for_noahmp_land_surface_scheme) @@ -1279,63 +1280,63 @@ standard_name = nonnegative_lwe_thickness_of_precipitation_amount_on_dynamics_timestep long_name = total precipitation amount in each time step units = m - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys [srflag] standard_name = precipitation_type long_name = snow/rain flag for precipitation units = flag - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys [slc] standard_name = volume_fraction_of_unfrozen_water_in_soil long_name = liquid soil moisture units = frac - dimensions = (horizontal_loop_extent,vertical_dimension_of_soil) + dimensions = (horizontal_dimension,vertical_dimension_of_soil) type = real kind = kind_phys [smc] standard_name = volume_fraction_of_condensed_water_in_soil long_name = total soil moisture units = frac - dimensions = (horizontal_loop_extent,vertical_dimension_of_soil) + dimensions = (horizontal_dimension,vertical_dimension_of_soil) type = real kind = kind_phys [stc] standard_name = soil_temperature long_name = soil temperature units = K - dimensions = (horizontal_loop_extent,vertical_dimension_of_soil) + dimensions = (horizontal_dimension,vertical_dimension_of_soil) type = real kind = kind_phys [t2m] standard_name = air_temperature_at_2m long_name = 2 meter temperature units = K - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys [th2m] standard_name = air_potential_temperature_at_2m long_name = 2 meter potential temperature units = K - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys [q2m] standard_name = specific_humidity_at_2m long_name = 2 meter specific humidity units = kg kg-1 - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys [tref] standard_name = reference_sea_surface_temperature long_name = sea surface reference temperature units = K - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys active = (index_to_control_for_nsstm > 0) @@ -1343,7 +1344,7 @@ standard_name = molecular_sublayer_thickness_in_sea_water long_name = sub-layer cooling thickness units = m - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys active = (index_to_control_for_nsstm > 0) @@ -1351,7 +1352,7 @@ standard_name = coefficient_c_0 long_name = coefficient 1 to calculate d(Tz)/d(Ts) units = none - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys active = (index_to_control_for_nsstm > 0) @@ -1359,7 +1360,7 @@ standard_name = coefficient_c_d long_name = coefficient 2 to calculate d(Tz)/d(Ts) units = none - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys active = (index_to_control_for_nsstm > 0) @@ -1367,7 +1368,7 @@ standard_name = coefficient_w_0 long_name = coefficient 3 to calculate d(Tz)/d(Ts) units = none - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys active = (index_to_control_for_nsstm > 0) @@ -1375,7 +1376,7 @@ standard_name = coefficient_w_d long_name = coefficient 4 to calculate d(Tz)/d(Ts) units = none - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys active = (index_to_control_for_nsstm > 0) @@ -1383,7 +1384,7 @@ standard_name = heat_content_in_diurnal_thermocline long_name = heat content in diurnal thermocline layer units = K m - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys active = (index_to_control_for_nsstm > 0) @@ -1391,7 +1392,7 @@ standard_name = sea_water_salinity_in_diurnal_thermocline long_name = salinity content in diurnal thermocline layer units = ppt m - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys active = (index_to_control_for_nsstm > 0) @@ -1399,7 +1400,7 @@ standard_name = x_current_in_diurnal_thermocline long_name = u-current content in diurnal thermocline layer units = m2 s-1 - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys active = (index_to_control_for_nsstm > 0) @@ -1407,7 +1408,7 @@ standard_name = y_current_in_diurnal_thermocline long_name = v-current content in diurnal thermocline layer units = m2 s-1 - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys active = (index_to_control_for_nsstm > 0) @@ -1415,7 +1416,7 @@ standard_name = diurnal_thermocline_layer_thickness long_name = diurnal thermocline layer thickness units = m - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys active = (index_to_control_for_nsstm > 0) @@ -1423,7 +1424,7 @@ standard_name = ocean_mixed_layer_thickness long_name = mixed layer thickness units = m - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys active = (index_to_control_for_nsstm > 0) @@ -1431,7 +1432,7 @@ standard_name = derivative_of_heat_content_in_diurnal_thermocline_wrt_surface_skin_temperature long_name = d(xt)/d(ts) units = m - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys active = (index_to_control_for_nsstm > 0) @@ -1439,7 +1440,7 @@ standard_name = derivative_of_diurnal_thermocline_layer_thickness_wrt_surface_skin_temperature long_name = d(xz)/d(ts) units = m K-1 - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys active = (index_to_control_for_nsstm > 0) @@ -1447,7 +1448,7 @@ standard_name = free_convection_layer_thickness_in_sea_water long_name = thickness of free convection layer (FCL) units = m - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys active = (index_to_control_for_nsstm > 0) @@ -1455,7 +1456,7 @@ standard_name = control_for_diurnal_thermocline_calculation long_name = index to start dtlm run or not units = index - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys active = (index_to_control_for_nsstm > 0) @@ -1463,7 +1464,7 @@ standard_name = molecular_sublayer_temperature_correction_in_sea_water long_name = sub-layer cooling amount units = K - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys active = (index_to_control_for_nsstm > 0) @@ -1471,7 +1472,7 @@ standard_name = surface_sensible_heat_due_to_rainfall long_name = sensible heat flux due to rainfall units = W - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys active = (index_to_control_for_nsstm > 0) @@ -1479,7 +1480,7 @@ standard_name = number_of_snow_layers long_name = number of snow layers units = count - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys active = (control_for_land_surface_scheme == identifier_for_noahmp_land_surface_scheme) @@ -1487,7 +1488,7 @@ standard_name = canopy_temperature long_name = vegetation temperature units = K - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys active = (control_for_land_surface_scheme == identifier_for_noahmp_land_surface_scheme) @@ -1495,7 +1496,7 @@ standard_name = ground_temperature long_name = ground temperature for noahmp units = K - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys active = (control_for_land_surface_scheme == identifier_for_noahmp_land_surface_scheme) @@ -1503,7 +1504,7 @@ standard_name = canopy_intercepted_ice_mass long_name = canopy intercepted ice mass units = mm - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys active = (control_for_land_surface_scheme == identifier_for_noahmp_land_surface_scheme) @@ -1511,7 +1512,7 @@ standard_name = canopy_intercepted_liquid_water long_name = canopy intercepted liquid water units = mm - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys active = (control_for_land_surface_scheme == identifier_for_noahmp_land_surface_scheme) @@ -1519,7 +1520,7 @@ standard_name = air_vapor_pressure_in_canopy long_name = canopy air vapor pressure units = Pa - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys active = (control_for_land_surface_scheme == identifier_for_noahmp_land_surface_scheme) @@ -1527,7 +1528,7 @@ standard_name = air_temperature_in_canopy long_name = canopy air temperature units = K - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys active = (control_for_land_surface_scheme == identifier_for_noahmp_land_surface_scheme) @@ -1535,7 +1536,7 @@ standard_name = surface_drag_coefficient_for_momentum_for_noahmp long_name = surface drag coefficient for momentum for noahmp units = none - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys active = (control_for_land_surface_scheme == identifier_for_noahmp_land_surface_scheme) @@ -1543,7 +1544,7 @@ standard_name = surface_drag_coefficient_for_heat_and_moisture_for_noahmp long_name = surface exchange coeff heat & moisture for noahmp units = none - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys active = (control_for_land_surface_scheme == identifier_for_noahmp_land_surface_scheme) @@ -1551,7 +1552,7 @@ standard_name = wet_canopy_area_fraction long_name = area fraction of canopy that is wetted/snowed units = none - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys active = (control_for_land_surface_scheme == identifier_for_noahmp_land_surface_scheme) @@ -1559,7 +1560,7 @@ standard_name = lwe_thickness_of_snowfall_amount_on_previous_timestep long_name = snow mass at previous time step units = mm - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys active = (control_for_land_surface_scheme == identifier_for_noahmp_land_surface_scheme) @@ -1567,7 +1568,7 @@ standard_name = surface_albedo_assuming_deep_snow_on_previous_timestep long_name = snow albedo at previous time step units = frac - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys active = (control_for_land_surface_scheme == identifier_for_noahmp_land_surface_scheme) @@ -1575,7 +1576,7 @@ standard_name = lwe_snowfall_rate long_name = snow precipitation rate at surface units = mm s-1 - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys active = (control_for_land_surface_scheme == identifier_for_noahmp_land_surface_scheme) @@ -1583,7 +1584,7 @@ standard_name = water_storage_in_lake long_name = lake water storage units = mm - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys active = (control_for_land_surface_scheme == identifier_for_noahmp_land_surface_scheme) @@ -1591,7 +1592,7 @@ standard_name = water_table_depth long_name = water table depth units = m - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys active = (control_for_land_surface_scheme == identifier_for_noahmp_land_surface_scheme) @@ -1599,7 +1600,7 @@ standard_name = water_storage_in_aquifer long_name = water storage in aquifer units = mm - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys active = (control_for_land_surface_scheme == identifier_for_noahmp_land_surface_scheme) @@ -1607,7 +1608,7 @@ standard_name = water_storage_in_aquifer_and_saturated_soil long_name = water storage in aquifer and saturated soil units = mm - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys active = (control_for_land_surface_scheme == identifier_for_noahmp_land_surface_scheme) @@ -1615,7 +1616,7 @@ standard_name = temperature_in_surface_snow long_name = temperature_in_surface_snow units = K - dimensions = (horizontal_loop_extent, lower_bound_of_vertical_dimension_of_surface_snow:upper_bound_of_vertical_dimension_of_surface_snow) + dimensions = (horizontal_dimension, lower_bound_of_vertical_dimension_of_surface_snow:upper_bound_of_vertical_dimension_of_surface_snow) type = real kind = kind_phys active = (control_for_land_surface_scheme == identifier_for_noahmp_land_surface_scheme) @@ -1623,7 +1624,7 @@ standard_name = depth_from_snow_surface_at_bottom_interface long_name = depth from the top of the snow surface at the bottom of the layer units = m - dimensions = (horizontal_loop_extent, lower_bound_of_vertical_dimension_of_surface_snow:vertical_dimension_of_soil_internal_to_land_surface_scheme) + dimensions = (horizontal_dimension, lower_bound_of_vertical_dimension_of_surface_snow:vertical_dimension_of_soil_internal_to_land_surface_scheme) type = real kind = kind_phys active = (control_for_land_surface_scheme == identifier_for_noahmp_land_surface_scheme) @@ -1631,7 +1632,7 @@ standard_name = lwe_thickness_of_ice_in_surface_snow long_name = snow layer ice units = mm - dimensions = (horizontal_loop_extent, lower_bound_of_vertical_dimension_of_surface_snow:upper_bound_of_vertical_dimension_of_surface_snow) + dimensions = (horizontal_dimension, lower_bound_of_vertical_dimension_of_surface_snow:upper_bound_of_vertical_dimension_of_surface_snow) type = real kind = kind_phys active = (control_for_land_surface_scheme == identifier_for_noahmp_land_surface_scheme) @@ -1639,7 +1640,7 @@ standard_name = lwe_thickness_of_liquid_water_in_surface_snow long_name = snow layer liquid water units = mm - dimensions = (horizontal_loop_extent, lower_bound_of_vertical_dimension_of_surface_snow:upper_bound_of_vertical_dimension_of_surface_snow) + dimensions = (horizontal_dimension, lower_bound_of_vertical_dimension_of_surface_snow:upper_bound_of_vertical_dimension_of_surface_snow) type = real kind = kind_phys active = (control_for_land_surface_scheme == identifier_for_noahmp_land_surface_scheme) @@ -1647,7 +1648,7 @@ standard_name = leaf_mass_content long_name = leaf mass units = g m-2 - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys active = (control_for_land_surface_scheme == identifier_for_noahmp_land_surface_scheme) @@ -1655,7 +1656,7 @@ standard_name = fine_root_mass_content long_name = fine root mass units = g m-2 - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys active = (control_for_land_surface_scheme == identifier_for_noahmp_land_surface_scheme) @@ -1663,7 +1664,7 @@ standard_name = stem_mass_content long_name = stem mass units = g m-2 - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys active = (control_for_land_surface_scheme == identifier_for_noahmp_land_surface_scheme) @@ -1671,7 +1672,7 @@ standard_name = wood_mass_content long_name = wood mass including woody roots units = g m-2 - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys active = (control_for_land_surface_scheme == identifier_for_noahmp_land_surface_scheme) @@ -1679,7 +1680,7 @@ standard_name = slow_soil_pool_mass_content_of_carbon long_name = stable carbon in deep soil units = g m-2 - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys active = (control_for_land_surface_scheme == identifier_for_noahmp_land_surface_scheme) @@ -1687,7 +1688,7 @@ standard_name = fast_soil_pool_mass_content_of_carbon long_name = short-lived carbon in shallow soil units = g m-2 - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys active = (control_for_land_surface_scheme == identifier_for_noahmp_land_surface_scheme) @@ -1695,7 +1696,7 @@ standard_name = leaf_area_index long_name = leaf area index units = none - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys active = (control_for_land_surface_scheme == identifier_for_noah_land_surface_scheme .or. control_for_land_surface_scheme == identifier_for_noahmp_land_surface_scheme .or. control_for_land_surface_scheme == identifier_for_ruc_land_surface_scheme) @@ -1703,7 +1704,7 @@ standard_name = stem_area_index long_name = stem area index units = none - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys active = (control_for_land_surface_scheme == identifier_for_noahmp_land_surface_scheme) @@ -1711,7 +1712,7 @@ standard_name = dimensionless_age_of_surface_snow long_name = non-dimensional snow age units = none - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys active = (control_for_land_surface_scheme == identifier_for_noahmp_land_surface_scheme) @@ -1719,7 +1720,7 @@ standard_name = volumetric_equilibrium_soil_moisture long_name = equilibrium soil water content units = m3 m-3 - dimensions = (horizontal_loop_extent,vertical_dimension_of_soil_internal_to_land_surface_scheme) + dimensions = (horizontal_dimension,vertical_dimension_of_soil_internal_to_land_surface_scheme) type = real kind = kind_phys active = (control_for_land_surface_scheme == identifier_for_noahmp_land_surface_scheme) @@ -1727,7 +1728,7 @@ standard_name = volumetric_soil_moisture_between_soil_bottom_and_water_table long_name = soil water content between the bottom of the soil and the water table units = m3 m-3 - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys active = (control_for_land_surface_scheme == identifier_for_noahmp_land_surface_scheme) @@ -1735,7 +1736,7 @@ standard_name = water_table_recharge_assuming_deep long_name = recharge to or from the water table when deep units = m - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys active = (control_for_land_surface_scheme == identifier_for_noahmp_land_surface_scheme) @@ -1743,7 +1744,7 @@ standard_name = water_table_recharge_assuming_shallow long_name = recharge to or from the water table when shallow units = m - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys active = (control_for_land_surface_scheme == identifier_for_noahmp_land_surface_scheme) @@ -1751,35 +1752,35 @@ standard_name = surface_albedo_direct_visible_over_land long_name = direct surface albedo visible band over land units = frac - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys [albdirnir_lnd] standard_name = surface_albedo_direct_NIR_over_land long_name = direct surface albedo NIR band over land units = frac - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys [albdifvis_lnd] standard_name = surface_albedo_diffuse_visible_over_land long_name = diffuse surface albedo visible band over land units = frac - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys [albdifnir_lnd] standard_name = surface_albedo_diffuse_NIR_over_land long_name = diffuse surface albedo NIR band over land units = frac - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys [albdirvis_ice] standard_name = surface_albedo_direct_visible_over_ice long_name = direct surface albedo visible band over ice units = frac - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys active = (control_for_land_surface_scheme == identifier_for_ruc_land_surface_scheme .or. flag_for_cice_albedo) @@ -1787,7 +1788,7 @@ standard_name = surface_albedo_diffuse_visible_over_ice long_name = diffuse surface albedo visible band over ice units = frac - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys active = (control_for_land_surface_scheme == identifier_for_ruc_land_surface_scheme .or. flag_for_cice_albedo) @@ -1795,7 +1796,7 @@ standard_name = surface_albedo_direct_NIR_over_ice long_name = direct surface albedo NIR band over ice units = frac - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys active = (control_for_land_surface_scheme == identifier_for_ruc_land_surface_scheme .or. flag_for_cice_albedo) @@ -1803,7 +1804,7 @@ standard_name = surface_albedo_diffuse_NIR_over_ice long_name = diffuse surface albedo NIR band over ice units = frac - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys active = (control_for_land_surface_scheme == identifier_for_ruc_land_surface_scheme .or. flag_for_cice_albedo) @@ -1811,7 +1812,7 @@ standard_name = normalized_soil_wetness_for_land_surface_model long_name = normalized soil wetness for lsm units = frac - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys active = (control_for_land_surface_scheme == identifier_for_ruc_land_surface_scheme) @@ -1819,7 +1820,7 @@ standard_name = volume_fraction_of_unfrozen_soil_moisture_for_land_surface_model long_name = volume fraction of unfrozen soil moisture for lsm units = frac - dimensions = (horizontal_loop_extent,vertical_dimension_of_soil_internal_to_land_surface_scheme) + dimensions = (horizontal_dimension,vertical_dimension_of_soil_internal_to_land_surface_scheme) type = real kind = kind_phys active = (control_for_land_surface_scheme == identifier_for_ruc_land_surface_scheme) @@ -1827,7 +1828,7 @@ standard_name = volume_fraction_of_frozen_soil_moisture_for_land_surface_model long_name = volume fraction of frozen soil moisture for lsm units = frac - dimensions = (horizontal_loop_extent,vertical_dimension_of_soil_internal_to_land_surface_scheme) + dimensions = (horizontal_dimension,vertical_dimension_of_soil_internal_to_land_surface_scheme) type = real kind = kind_phys active = (control_for_land_surface_scheme == identifier_for_ruc_land_surface_scheme) @@ -1835,7 +1836,7 @@ standard_name = volume_fraction_of_soil_moisture_for_land_surface_model long_name = volumetric fraction of soil moisture for lsm units = frac - dimensions = (horizontal_loop_extent,vertical_dimension_of_soil_internal_to_land_surface_scheme) + dimensions = (horizontal_dimension,vertical_dimension_of_soil_internal_to_land_surface_scheme) type = real kind = kind_phys active = (control_for_land_surface_scheme == identifier_for_ruc_land_surface_scheme) @@ -1843,7 +1844,7 @@ standard_name = soil_temperature_for_land_surface_model long_name = soil temperature for land surface model units = K - dimensions = (horizontal_loop_extent,vertical_dimension_of_soil_internal_to_land_surface_scheme) + dimensions = (horizontal_dimension,vertical_dimension_of_soil_internal_to_land_surface_scheme) type = real kind = kind_phys active = (control_for_land_surface_scheme == identifier_for_ruc_land_surface_scheme) @@ -1851,7 +1852,7 @@ standard_name = cloud_condensed_water_mixing_ratio_at_surface_over_land long_name = moist cloud water mixing ratio at surface over land units = kg kg-1 - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys active = (control_for_land_surface_scheme == identifier_for_ruc_land_surface_scheme) @@ -1859,7 +1860,7 @@ standard_name = cloud_condensed_water_mixing_ratio_at_surface_over_ice long_name = moist cloud water mixing ratio at surface over ice units = kg kg-1 - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys active = (control_for_land_surface_scheme == identifier_for_ruc_land_surface_scheme) @@ -1867,7 +1868,7 @@ standard_name = water_vapor_mixing_ratio_at_surface_over_land long_name = water vapor mixing ratio at surface over land units = kg kg-1 - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys active = (control_for_land_surface_scheme == identifier_for_ruc_land_surface_scheme) @@ -1875,7 +1876,7 @@ standard_name = water_vapor_mixing_ratio_at_surface_over_ice long_name = water vapor mixing ratio at surface over ice units = kg kg-1 - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys active = (control_for_land_surface_scheme == identifier_for_ruc_land_surface_scheme) @@ -1883,7 +1884,7 @@ standard_name = control_for_frozen_soil_physics long_name = flag for frozen soil physics (RUC) units = flag - dimensions = (horizontal_loop_extent,vertical_dimension_of_soil_internal_to_land_surface_scheme) + dimensions = (horizontal_dimension,vertical_dimension_of_soil_internal_to_land_surface_scheme) type = real kind = kind_phys active = (control_for_land_surface_scheme == identifier_for_ruc_land_surface_scheme) @@ -1891,7 +1892,7 @@ standard_name = lsm_internal_surface_frozen_precipitation_density long_name = density of frozen precipitation units = kg m-3 - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys active = (control_for_land_surface_scheme == identifier_for_ruc_land_surface_scheme) @@ -1899,7 +1900,7 @@ standard_name = temperature_in_surface_snow_at_surface_adjacent_layer_over_land long_name = snow temperature at the bottom of the first snow layer over land units = K - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys active = (control_for_land_surface_scheme == identifier_for_ruc_land_surface_scheme) @@ -1907,7 +1908,7 @@ standard_name = temperature_in_surface_snow_at_surface_adjacent_layer_over_ice long_name = snow temperature at the bottom of the first snow layer over ice units = K - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys active = (control_for_land_surface_scheme == identifier_for_ruc_land_surface_scheme) @@ -1915,7 +1916,7 @@ standard_name = surface_snow_amount_assuming_variable_snow_density_over_land long_name = run-total snow accumulation on the ground with variable snow density over land units = kg m-2 - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys active = (control_for_land_surface_scheme == identifier_for_ruc_land_surface_scheme) @@ -1923,14 +1924,14 @@ standard_name = surface_snow_lwe_thickness_amount_over_land long_name = run-total snowfall water equivalent over land units = kg m-2 - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys [snowfallac_ice] standard_name = surface_snow_amount_assuming_variable_snow_density_over_ice long_name = run-total snow accumulation on the ground with variable snow density over ice units = kg m-2 - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys active = (control_for_land_surface_scheme == identifier_for_ruc_land_surface_scheme) @@ -1938,14 +1939,14 @@ standard_name = surface_snow_lwe_thickness_amount_over_ice long_name = run-total snowfall water equivalent over ice units = kg m-2 - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys [ustm] standard_name = surface_friction_velocity_for_momentum long_name = friction velocity isolated for momentum only units = m s-1 - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys active = (flag_for_mellor_yamada_nakanishi_niino_surface_layer_scheme) @@ -1953,7 +1954,7 @@ standard_name = ratio_of_height_to_monin_obukhov_length long_name = monin obukhov surface stability parameter units = none - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys active = (flag_for_mellor_yamada_nakanishi_niino_surface_layer_scheme) @@ -1961,7 +1962,7 @@ standard_name = surface_temperature_scale long_name = temperature flux divided by ustar (temperature scale) units = K - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys active = (flag_for_mellor_yamada_nakanishi_niino_surface_layer_scheme) @@ -1969,28 +1970,28 @@ standard_name = reciprocal_of_obukhov_length long_name = one over obukhov length units = m-1 - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys [flhc] standard_name = surface_exchange_coefficient_for_heat long_name = surface exchange coefficient for heat units = W m-2 K-1 - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys [flqc] standard_name = surface_exchange_coefficient_for_moisture long_name = surface exchange coefficient for moisture units = kg m-2 s-1 - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys [chs2] standard_name = surface_exchange_coefficient_for_heat_at_2m long_name = exchange coefficient for heat at 2 meters units = m s-1 - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys active = (flag_for_mellor_yamada_nakanishi_niino_surface_layer_scheme) @@ -1998,7 +1999,7 @@ standard_name = surface_exchange_coefficient_for_moisture_at_2m long_name = exchange coefficient for moisture at 2 meters units = m s-1 - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys active = (flag_for_mellor_yamada_nakanishi_niino_surface_layer_scheme) @@ -2006,7 +2007,7 @@ standard_name = surface_upward_latent_heat_flux long_name = latent heating at the surface (pos = up) units = W m-2 - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys active = (flag_for_mellor_yamada_nakanishi_niino_surface_layer_scheme) @@ -2014,28 +2015,28 @@ standard_name = surface_upward_specific_humidity_flux long_name = kinematic surface upward latent heat flux units = kg kg-1 m s-1 - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys [hflx] standard_name = surface_upward_temperature_flux long_name = kinematic surface upward sensible heat flux units = K m s-1 - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys [qss] standard_name = surface_specific_humidity long_name = surface air saturation specific humidity units = kg kg-1 - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys [raincprv] standard_name = lwe_thickness_of_convective_precipitation_amount_on_previous_timestep long_name = convective_precipitation_amount from previous timestep units = m - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys active = (control_for_land_surface_scheme == identifier_for_ruc_land_surface_scheme .or. control_for_land_surface_scheme == identifier_for_noahmp_land_surface_scheme .or. ( control_for_lake_model_execution_method > 0 .and. control_for_lake_model_selection == 2) ) @@ -2043,7 +2044,7 @@ standard_name = lwe_thickness_of_explicit_precipitation_amount_on_previous_timestep long_name = explicit rainfall from previous timestep units = m - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys active = (control_for_land_surface_scheme == identifier_for_ruc_land_surface_scheme .or. control_for_land_surface_scheme == identifier_for_noahmp_land_surface_scheme .or. ( control_for_lake_model_execution_method > 0 .and. control_for_lake_model_selection == 2) ) @@ -2051,7 +2052,7 @@ standard_name = lwe_thickness_of_ice_precipitation_amount_on_previous_timestep long_name = ice amount from previous timestep units = m - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys active = (control_for_land_surface_scheme == identifier_for_ruc_land_surface_scheme .or. control_for_land_surface_scheme == identifier_for_noahmp_land_surface_scheme) @@ -2059,7 +2060,7 @@ standard_name = snow_mass_on_previous_timestep long_name = snow amount from previous timestep units = m - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys active = (control_for_land_surface_scheme == identifier_for_ruc_land_surface_scheme .or. control_for_land_surface_scheme == identifier_for_noahmp_land_surface_scheme) @@ -2067,7 +2068,7 @@ standard_name = lwe_thickness_of_graupel_amount_on_previous_timestep long_name = graupel amount from previous timestep units = m - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys active = (control_for_land_surface_scheme == identifier_for_ruc_land_surface_scheme .or. control_for_land_surface_scheme == identifier_for_noahmp_land_surface_scheme) @@ -2075,7 +2076,7 @@ standard_name = convective_precipitation_rate_on_previous_timestep long_name = convective precipitation rate from previous timestep units = mm s-1 - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys active = (control_for_land_surface_scheme == identifier_for_noahmp_land_surface_scheme) @@ -2083,7 +2084,7 @@ standard_name = explicit_precipitation_rate_on_previous_timestep long_name = explicit rainfall rate previous timestep units = mm s-1 - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys active = (control_for_land_surface_scheme == identifier_for_noahmp_land_surface_scheme) @@ -2091,7 +2092,7 @@ standard_name = ice_precipitation_rate_on_previous_timestep long_name = ice precipitation rate from previous timestep units = mm s-1 - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys active = (control_for_land_surface_scheme == identifier_for_noahmp_land_surface_scheme) @@ -2099,7 +2100,7 @@ standard_name = snowfall_rate_on_previous_timestep long_name = snow precipitation rate from previous timestep units = mm s-1 - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys active = (control_for_land_surface_scheme == identifier_for_noahmp_land_surface_scheme) @@ -2107,7 +2108,7 @@ standard_name = graupel_precipitation_rate_on_previous_timestep long_name = graupel precipitation rate from previous timestep units = mm s-1 - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys active = (control_for_land_surface_scheme == identifier_for_noahmp_land_surface_scheme) @@ -2115,35 +2116,35 @@ standard_name = vis_albedo_strong_cosz long_name = mean vis albedo with strong cosz dependency units = frac - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys [alnsf] standard_name = nir_albedo_strong_cosz long_name = mean nir albedo with strong cosz dependency units = frac - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys [facsf] standard_name =strong_cosz_area_fraction long_name = fractional coverage with strong cosz dependency units = frac - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys [facwf] standard_name = weak_cosz_area_fraction long_name = fractional coverage with weak cosz dependency units = frac - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys [lake_albedo] standard_name = mid_day_surface_albedo_over_lake long_name = mid day surface albedo over lake units = fraction - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys active = (control_for_lake_model_selection == 2 .and. control_for_lake_model_execution_method > 0) @@ -2151,7 +2152,7 @@ standard_name = lake_depth_before_correction long_name = lake depth_before_correction units = m - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys active = (control_for_lake_model_selection == 2 .and. control_for_lake_model_execution_method > 0) @@ -2159,7 +2160,7 @@ standard_name = water_equivalent_accumulated_snow_depth_in_clm_lake_model long_name = water equiv of acc snow depth over lake in clm lake model units = mm - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys active = (control_for_lake_model_selection == 2 .and. control_for_lake_model_execution_method > 0) @@ -2167,7 +2168,7 @@ standard_name = actual_snow_depth_in_clm_lake_model long_name = actual acc snow depth over lake in clm lake model units = m - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys active = (control_for_lake_model_selection == 2 .and. control_for_lake_model_execution_method > 0) @@ -2175,7 +2176,7 @@ standard_name = snow_layers_in_clm_lake_model long_name = snow layers in clm lake model (treated as integer) units = count - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys active = (control_for_lake_model_selection == 2 .and. control_for_lake_model_execution_method > 0) @@ -2183,7 +2184,7 @@ standard_name = snow_level_depth_in_clm_lake_model long_name = snow level depth in clm lake model units = m - dimensions = (horizontal_loop_extent,snow_plus_soil_minus_one_vertical_dimension_for_clm_lake_model) + dimensions = (horizontal_dimension,snow_plus_soil_minus_one_vertical_dimension_for_clm_lake_model) type = real kind = kind_phys active = (control_for_lake_model_selection == 2 .and. control_for_lake_model_execution_method > 0) @@ -2191,7 +2192,7 @@ standard_name = snow_level_thickness_in_clm_lake_model long_name = snow level thickness in clm lake model units = m - dimensions = (horizontal_loop_extent,snow_plus_soil_minus_one_vertical_dimension_for_clm_lake_model) + dimensions = (horizontal_dimension,snow_plus_soil_minus_one_vertical_dimension_for_clm_lake_model) type = real kind = kind_phys active = (control_for_lake_model_selection == 2 .and. control_for_lake_model_execution_method > 0) @@ -2199,7 +2200,7 @@ standard_name = snow_interface_depth_in_clm_lake_model long_name = snow interface_depth in clm lake model units = m - dimensions = (horizontal_loop_extent,snow_plus_soil_vertical_dimension_for_clm_lake_model) + dimensions = (horizontal_dimension,snow_plus_soil_vertical_dimension_for_clm_lake_model) type = real kind = kind_phys active = (control_for_lake_model_selection == 2 .and. control_for_lake_model_execution_method > 0) @@ -2207,7 +2208,7 @@ standard_name = volumetric_soil_water_in_clm_lake_model long_name = volumetric soil water in clm lake model units = m3 m-3 - dimensions = (horizontal_loop_extent,snow_plus_soil_minus_one_vertical_dimension_for_clm_lake_model) + dimensions = (horizontal_dimension,snow_plus_soil_minus_one_vertical_dimension_for_clm_lake_model) type = real kind = kind_phys active = (control_for_lake_model_selection == 2 .and. control_for_lake_model_execution_method > 0) @@ -2215,7 +2216,7 @@ standard_name = soil_liquid_water_content_in_clm_lake_model long_name = soil liquid water content in clm lake model units = kg m-3 - dimensions = (horizontal_loop_extent,snow_plus_soil_minus_one_vertical_dimension_for_clm_lake_model) + dimensions = (horizontal_dimension,snow_plus_soil_minus_one_vertical_dimension_for_clm_lake_model) type = real kind = kind_phys active = (control_for_lake_model_selection == 2 .and. control_for_lake_model_execution_method > 0) @@ -2223,7 +2224,7 @@ standard_name = soil_ice_water_content_in_clm_lake_model long_name = soil ice water content in clm lake model units = kg m-3 - dimensions = (horizontal_loop_extent,snow_plus_soil_minus_one_vertical_dimension_for_clm_lake_model) + dimensions = (horizontal_dimension,snow_plus_soil_minus_one_vertical_dimension_for_clm_lake_model) type = real kind = kind_phys active = (control_for_lake_model_selection == 2 .and. control_for_lake_model_execution_method > 0) @@ -2231,7 +2232,7 @@ standard_name = skin_temperature_from_lake_model long_name = skin temperature from lake model units = K - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys active = (control_for_lake_model_selection == 2 .and. control_for_lake_model_execution_method > 0) @@ -2239,7 +2240,7 @@ standard_name = soil_or_snow_layer_temperature_from_clm_lake_model long_name = soil or snow layer temperature from clm lake model units = K - dimensions = (horizontal_loop_extent,snow_plus_soil_minus_one_vertical_dimension_for_clm_lake_model) + dimensions = (horizontal_dimension,snow_plus_soil_minus_one_vertical_dimension_for_clm_lake_model) type = real kind = kind_phys active = (control_for_lake_model_selection == 2 .and. control_for_lake_model_execution_method > 0) @@ -2247,7 +2248,7 @@ standard_name = lake_layer_temperature_from_clm_lake_model long_name = lake layer temperature from clm lake model units = K - dimensions = (horizontal_loop_extent,lake_vertical_dimension_for_clm_lake_model) + dimensions = (horizontal_dimension,lake_vertical_dimension_for_clm_lake_model) type = real kind = kind_phys active = (control_for_lake_model_selection == 2 .and. control_for_lake_model_execution_method > 0) @@ -2255,7 +2256,7 @@ standard_name = top_level_eddy_conductivity_from_previous_timestep_in_clm_lake_model long_name = top level eddy conductivity from previous timestep in clm lake model units = kg m-3 - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys active = (control_for_lake_model_selection == 2 .and. control_for_lake_model_execution_method > 0) @@ -2263,14 +2264,14 @@ standard_name = lake_fractional_ice_cover_on_clm_lake_levels long_name = lake fractional ice cover on clm lake levels units = kg m-3 - dimensions = (horizontal_loop_extent,lake_vertical_dimension_for_clm_lake_model) + dimensions = (horizontal_dimension,lake_vertical_dimension_for_clm_lake_model) type = real kind = kind_phys active = (control_for_lake_model_selection == 2 .and. control_for_lake_model_execution_method > 0) [lake_ht] standard_name = test_lake_ht long_name = test_lake_ht - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) units = unitless type = real kind = kind_phys @@ -2279,7 +2280,7 @@ standard_name = flag_for_clm_lake_initialization long_name = set to true in clm_lake_run after likeini is called for that gridpoint units = flag - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys active = (control_for_lake_model_selection == 2 .and. control_for_lake_model_execution_method > 0) @@ -2287,21 +2288,21 @@ standard_name = clm_lake_is_salty long_name = lake at this point is salty (1) or not (0) units = 1 - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = integer active = (control_for_lake_model_selection == 2 .and. control_for_lake_model_execution_method > 0) [lake_cannot_freeze] standard_name = clm_lake_cannot_freeze long_name = lake at this point is so salty it cannot freeze units = 1 - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = integer active = (control_for_lake_model_selection == 2 .and. control_for_lake_model_execution_method > 0) [emdust] standard_name = emission_of_dust_for_smoke long_name = emission of dust for smoke units = ug m-2 s-1 - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys active = (do_smoke_coupling) @@ -2309,7 +2310,7 @@ standard_name = emission_of_sea_salt_for_mp_indir_fdb long_name = emission of sea salt for mp indirect feedabck units = ug m-2 s-1 - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys active = (do_smoke_coupling) @@ -2317,7 +2318,7 @@ standard_name = emission_of_anothropogenic_for_mp_indir_fdb long_name = emission of anothropogenic for mp indirect feedabck units = ug m-2 s-1 - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys active = (do_smoke_coupling) @@ -2325,7 +2326,7 @@ standard_name = surface_smoke_emission long_name = emission of surface smoke units = ug m-2 s-1 - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys active = (do_smoke_coupling) @@ -2333,7 +2334,7 @@ standard_name = frp_hourly long_name = hourly fire radiative power units = MW - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys active = (do_smoke_coupling) @@ -2341,7 +2342,7 @@ standard_name = fire_hist long_name = coefficient to scale the fire activity depending on the fire duration units = none - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys active = (do_smoke_coupling) @@ -2349,7 +2350,7 @@ standard_name = coef_bb_dc long_name = coef to estimate the fire emission units = none - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys active = (do_smoke_coupling) @@ -2357,14 +2358,14 @@ standard_name = fire_type long_name = type of fire units = 1 - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = integer active = (do_smoke_coupling) [peak_hr] standard_name = peak_hr_fire long_name = time_of_peak_fire_emissions units = s - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys active = (do_smoke_coupling) @@ -2372,7 +2373,7 @@ standard_name = sum_of_land_use_fractions_for_no_fire_pixels long_name = land use of no fire pixels for type units = 1 - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys active = (do_smoke_coupling) @@ -2380,7 +2381,7 @@ standard_name = sum_of_land_use_fractions_for_cropland_fire_pixels long_name = land use of fire pixels for type units = 1 - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys active = (do_smoke_coupling) @@ -2388,10 +2389,34 @@ standard_name = smoke_fire_auxiliary_input long_name = smoke fire auxiliary input variables units = various - dimensions = (horizontal_loop_extent,fire_auxiliary_data_extent) + dimensions = (horizontal_dimension,fire_auxiliary_data_extent) type = real kind = kind_phys active = (do_smoke_coupling) +[hflx_fire] + standard_name = kinematic_surface_upward_sensible_heat_flux_of_fire + long_name = kinematic surface upward sensible heat flux of fire + units = K m s-1 + dimensions = (horizontal_loop_extent) + type = real + kind = kind_phys + active = (do_fire_coupling) +[evap_fire] + standard_name = surface_upward_specific_humidity_flux_of_fire + long_name = kinematic surface upward latent heat flux of fire + units = kg kg-1 m s-1 + dimensions = (horizontal_loop_extent) + type = real + kind = kind_phys + active = (do_fire_coupling) +[smoke_fire] + standard_name = smoke_emission_of_fire + long_name = smoke emission of fire + units = kg m-2 + dimensions = (horizontal_loop_extent) + type = real + kind = kind_phys + active = (do_fire_coupling) ######################################################################## [ccpp-table-properties] @@ -2426,91 +2451,91 @@ standard_name = surface_downwelling_direct_nir_shortwave_flux_on_radiation_timestep long_name = sfc nir beam sw downward flux units = W m-2 - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys [nirdfdi] standard_name = surface_downwelling_diffuse_nir_shortwave_flux_on_radiation_timestep long_name = sfc nir diff sw downward flux units = W m-2 - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys [visbmdi] standard_name = surface_downwelling_direct_uv_and_vis_shortwave_flux_on_radiation_timestep long_name = sfc uv+vis beam sw downward flux units = W m-2 - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys [visdfdi] standard_name = surface_downwelling_diffuse_uv_and_vis_shortwave_flux_on_radiation_timestep long_name = sfc uv+vis diff sw downward flux units = W m-2 - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys [nirbmui] standard_name = surface_upwelling_direct_nir_shortwave_flux_on_radiation_timestep long_name = sfc nir beam sw upward flux units = W m-2 - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys [nirdfui] standard_name = surface_upwelling_diffuse_nir_shortwave_flux_on_radiation_timestep long_name = sfc nir diff sw upward flux units = W m-2 - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys [visbmui] standard_name = surface_upwelling_direct_uv_and_vis_shortwave_flux_on_radiation_timestep long_name = sfc uv+vis beam sw upward flux units = W m-2 - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys [visdfui] standard_name = surface_upwelling_diffuse_uv_and_vis_shortwave_flux_on_radiation_timestep long_name = sfc uv+vis diff sw upward flux units = W m-2 - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys [sfcdsw] standard_name = surface_downwelling_shortwave_flux_on_radiation_timestep long_name = total sky sfc downward sw flux units = W m-2 - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys [sfcnsw] standard_name = surface_net_downwelling_shortwave_flux_on_radiation_timestep long_name = total sky sfc netsw flx into ground units = W m-2 - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys [sfcdlw] standard_name = surface_downwelling_longwave_flux_on_radiation_timestep long_name = total sky sfc downward lw flux units = W m-2 - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys [sfculw] standard_name = surface_upwelling_longwave_flux_on_radiation_timestep long_name = total sky sfc upward lw flux units = W m-2 - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys [rain_cpl] standard_name = cumulative_lwe_thickness_of_precipitation_amount_for_coupling long_name = total rain precipitation units = m - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys active = (flag_for_surface_flux_coupling .or. flag_for_stochastic_physics_perturbations .or. flag_for_chemistry_coupling .or. flag_for_global_cellular_automata .or. flag_for_land_coupling) @@ -2518,23 +2543,23 @@ standard_name = cumulative_lwe_thickness_of_convective_precipitation_amount_for_coupling long_name = total convective precipitation units = m - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys - active = (flag_for_surface_flux_coupling .or. flag_for_chemistry_coupling .or. flag_for_land_coupling) + active = (flag_for_surface_flux_coupling .or. flag_for_chemistry_coupling .or. flag_for_land_coupling .or. do_fire_coupling) [snow_cpl] standard_name = cumulative_lwe_thickness_of_snow_amount_for_coupling long_name = total snow precipitation units = m - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys - active = (flag_for_surface_flux_coupling .or. flag_for_stochastic_physics_perturbations .or. flag_for_chemistry_coupling .or. flag_for_global_cellular_automata .or. flag_for_land_coupling) + active = (flag_for_surface_flux_coupling .or. flag_for_stochastic_physics_perturbations .or. flag_for_chemistry_coupling .or. flag_for_global_cellular_automata .or. flag_for_land_coupling .or. do_fire_coupling) [dusfc_cpl] standard_name = cumulative_surface_x_momentum_flux_for_coupling_multiplied_by_timestep long_name = cumulative sfc x momentum flux multiplied by timestep units = Pa s - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys active = (flag_for_surface_flux_coupling) @@ -2542,7 +2567,7 @@ standard_name = cumulative_surface_y_momentum_flux_for_coupling_multiplied_by_timestep long_name = cumulative sfc y momentum flux multiplied by timestep units = Pa s - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys active = (flag_for_surface_flux_coupling) @@ -2550,7 +2575,7 @@ standard_name = cumulative_surface_upward_sensible_heat_flux_for_coupling_multiplied_by_timestep long_name = cumulative sfc sensible heat flux multiplied by timestep units = W m-2 s - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys active = (flag_for_surface_flux_coupling) @@ -2558,7 +2583,7 @@ standard_name = cumulative_surface_upward_latent_heat_flux_for_coupling_multiplied_by_timestep long_name = cumulative sfc latent heat flux multiplied by timestep units = W m-2 s - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys active = (flag_for_surface_flux_coupling) @@ -2566,7 +2591,7 @@ standard_name = cumulative_surface_downwelling_longwave_flux_for_coupling_multiplied_by_timestep long_name = cumulative sfc downward lw flux mulitplied by timestep units = W m-2 s - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys active = (flag_for_surface_flux_coupling .or. flag_for_land_coupling) @@ -2574,7 +2599,7 @@ standard_name = cumulative_surface_downwelling_shortwave_flux_for_coupling_multiplied_by_timestep long_name = cumulative sfc downward sw flux multiplied by timestep units = W m-2 s - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys active = (flag_for_surface_flux_coupling .or. flag_for_land_coupling) @@ -2582,7 +2607,7 @@ standard_name = cumulative_surface_downwelling_direct_nir_shortwave_flux_for_coupling_multiplied_by_timestep long_name = cumulative sfc nir beam downward sw flux multiplied by timestep units = W m-2 s - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys active = (flag_for_surface_flux_coupling) @@ -2590,7 +2615,7 @@ standard_name = cumulative_surface_downwelling_diffuse_nir_shortwave_flux_for_coupling_multiplied_by_timestep long_name = cumulative sfc nir diff downward sw flux multiplied by timestep units = W m-2 s - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys active = (flag_for_surface_flux_coupling) @@ -2598,7 +2623,7 @@ standard_name = cumulative_surface_downwelling_direct_uv_and_vis_shortwave_flux_for_coupling_multiplied_by_timestep long_name = cumulative sfc uv+vis beam dnwd sw flux multiplied by timestep units = W m-2 s - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys active = (flag_for_surface_flux_coupling) @@ -2606,7 +2631,7 @@ standard_name = cumulative_surface_downwelling_diffuse_uv_and_vis_shortwave_flux_for_coupling_multiplied_by_timestep long_name = cumulative sfc uv+vis diff dnwd sw flux multiplied by timestep units = W m-2 s - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys active = (flag_for_surface_flux_coupling) @@ -2614,7 +2639,7 @@ standard_name = cumulative_surface_net_downwelling_longwave_flux_for_coupling_multiplied_by_timestep long_name = cumulative net downward lw flux multiplied by timestep units = W m-2 s - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys active = (flag_for_surface_flux_coupling) @@ -2622,7 +2647,7 @@ standard_name = cumulative_surface_net_downwelling_shortwave_flux_for_coupling_multiplied_by_timestep long_name = cumulative net downward sw flux multiplied by timestep units = W m-2 s - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys active = (flag_for_surface_flux_coupling .or. flag_for_land_coupling) @@ -2630,7 +2655,7 @@ standard_name = cumulative_surface_net_downwelling_direct_nir_shortwave_flux_for_coupling_multiplied_by_timestep long_name = cumulative net nir beam downward sw flux multiplied by timestep units = W m-2 s - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys active = (flag_for_surface_flux_coupling .or. flag_for_land_coupling) @@ -2638,7 +2663,7 @@ standard_name = cumulative_surface_net_downwellling_diffuse_nir_shortwave_flux_for_coupling_multiplied_by_timestep long_name = cumulative net nir diff downward sw flux multiplied by timestep units = W m-2 s - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys active = (flag_for_surface_flux_coupling .or. flag_for_land_coupling) @@ -2646,7 +2671,7 @@ standard_name = cumulative_surface_net_downwelling_direct_uv_and_vis_shortwave_flux_for_coupling_multiplied_by_timestep long_name = cumulative net uv+vis beam downward sw rad flux multiplied by timestep units = W m-2 s - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys active = (flag_for_surface_flux_coupling .or. flag_for_land_coupling) @@ -2654,7 +2679,7 @@ standard_name = cumulative_surface_net_downwelling_diffuse_uv_and_vis_shortwave_flux_for_coupling_multiplied_by_timestep long_name = cumulative net uv+vis diff downward sw rad flux multiplied by timestep units = W m-2 s - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys active = (flag_for_surface_flux_coupling .or. flag_for_land_coupling) @@ -2662,7 +2687,7 @@ standard_name = surface_x_momentum_flux_for_coupling long_name = instantaneous sfc x momentum flux units = Pa - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys active = (flag_for_surface_flux_coupling) @@ -2670,7 +2695,7 @@ standard_name = surface_y_momentum_flux_for_coupling long_name = instantaneous sfc y momentum flux units = Pa - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys active = (flag_for_surface_flux_coupling) @@ -2678,7 +2703,7 @@ standard_name = surface_upward_sensible_heat_flux_for_coupling long_name = instantaneous sfc sensible heat flux units = W m-2 - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys active = (flag_for_surface_flux_coupling .or. flag_for_air_quality_coupling) @@ -2686,7 +2711,7 @@ standard_name = surface_upward_latent_heat_flux_for_coupling long_name = instantaneous sfc latent heat flux units = W m-2 - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys active = (flag_for_surface_flux_coupling .or. flag_for_air_quality_coupling) @@ -2694,7 +2719,7 @@ standard_name = surface_downwelling_longwave_flux_for_coupling long_name = instantaneous sfc downward lw flux units = W m-2 - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys active = (flag_for_surface_flux_coupling .or. flag_for_land_coupling) @@ -2702,7 +2727,7 @@ standard_name = surface_downwelling_shortwave_flux_for_coupling long_name = instantaneous sfc downward sw flux units = W m-2 - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys active = (flag_for_surface_flux_coupling .or. flag_for_land_coupling) @@ -2710,7 +2735,7 @@ standard_name = surface_downwelling_direct_nir_shortwave_flux_for_coupling long_name = instantaneous sfc nir beam downward sw flux units = W m-2 - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys active = (flag_for_surface_flux_coupling) @@ -2718,7 +2743,7 @@ standard_name = surface_downwelling_diffuse_nir_shortwave_flux_for_coupling long_name = instantaneous sfc nir diff downward sw flux units = W m-2 - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys active = (flag_for_surface_flux_coupling) @@ -2726,7 +2751,7 @@ standard_name = surface_downwelling_direct_uv_and_vis_shortwave_flux_for_coupling long_name = instantaneous sfc uv+vis beam downward sw flux units = W m-2 - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys active = (flag_for_surface_flux_coupling) @@ -2734,7 +2759,7 @@ standard_name = surface_downwelling_diffuse_uv_and_vis_shortwave_flux_for_coupling long_name = instantaneous sfc uv+vis diff downward sw flux units = W m-2 - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys active = (flag_for_surface_flux_coupling) @@ -2742,7 +2767,7 @@ standard_name = surface_net_downwelling_longwave_flux_for_coupling long_name = instantaneous net sfc downward lw flux units = W m-2 - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys active = (flag_for_surface_flux_coupling) @@ -2750,7 +2775,7 @@ standard_name = surface_net_downwelling_shortwave_flux_for_coupling long_name = instantaneous net sfc downward sw flux units = W m-2 - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys active = (flag_for_surface_flux_coupling .or. flag_for_air_quality_coupling .or. flag_for_land_coupling) @@ -2758,7 +2783,7 @@ standard_name = surface_net_downwelling_direct_nir_shortwave_flux_for_coupling long_name = instantaneous net nir beam sfc downward sw flux units = W m-2 - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys active = (flag_for_surface_flux_coupling .or. flag_for_land_coupling) @@ -2766,7 +2791,7 @@ standard_name = surface_net_downwelling_diffuse_nir_shortwave_flux_for_coupling long_name = instantaneous net nir diff sfc downward sw flux units = W m-2 - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys active = (flag_for_surface_flux_coupling .or. flag_for_land_coupling) @@ -2774,7 +2799,7 @@ standard_name = surface_net_downwelling_direct_uv_and_vis_shortwave_flux_for_coupling long_name = instantaneous net uv+vis beam downward sw flux units = W m-2 - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys active = (flag_for_surface_flux_coupling .or. flag_for_land_coupling) @@ -2782,7 +2807,7 @@ standard_name = surface_net_downwelling_diffuse_uv_and_vis_shortwave_flux_for_coupling long_name = instantaneous net uv+vis diff downward sw flux units = W m-2 - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys active = (flag_for_surface_flux_coupling .or. flag_for_land_coupling) @@ -2790,23 +2815,23 @@ standard_name = temperature_at_2m_for_coupling long_name = instantaneous T2m units = K - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys - active = (flag_for_surface_flux_coupling .or. flag_for_air_quality_coupling) + active = (flag_for_surface_flux_coupling .or. flag_for_air_quality_coupling .or. do_fire_coupling) [q2mi_cpl] standard_name = specific_humidity_at_2m_for_coupling long_name = instantaneous Q2m units = kg kg-1 - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys - active = (flag_for_surface_flux_coupling .or. flag_for_air_quality_coupling) + active = (flag_for_surface_flux_coupling .or. flag_for_air_quality_coupling .or. do_fire_coupling) [u10mi_cpl] standard_name = x_wind_at_10m_for_coupling long_name = instantaneous U10m units = m s-1 - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys active = (flag_for_surface_flux_coupling .or. flag_for_chemistry_coupling .or. flag_for_ocean_wave_coupling) @@ -2814,7 +2839,7 @@ standard_name = y_wind_at_10m_for_coupling long_name = instantaneous V10m units = m s-1 - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys active = (flag_for_surface_flux_coupling .or. flag_for_chemistry_coupling .or. flag_for_ocean_wave_coupling) @@ -2822,7 +2847,7 @@ standard_name = surface_skin_temperature_for_coupling long_name = instantaneous sfc temperature units = K - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys active = (flag_for_surface_flux_coupling .or. flag_for_chemistry_coupling .or. flag_for_land_coupling) @@ -2830,15 +2855,15 @@ standard_name = surface_air_pressure_for_coupling long_name = instantaneous sfc pressure units = Pa - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys - active = (flag_for_surface_flux_coupling .or. flag_for_air_quality_coupling .or. flag_for_land_coupling) + active = (flag_for_surface_flux_coupling .or. flag_for_air_quality_coupling .or. flag_for_land_coupling .or. do_fire_coupling) [ulwsfcin_cpl] standard_name = surface_upwelling_longwave_flux_from_coupled_process long_name = surface upwelling LW flux for coupling units = W m-2 - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys active = (flag_for_surface_flux_coupling) @@ -2846,7 +2871,7 @@ standard_name = surface_x_momentum_flux_from_coupled_process long_name = sfc x momentum flux for coupling units = Pa - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys active = (flag_for_surface_flux_coupling) @@ -2854,7 +2879,7 @@ standard_name = surface_y_momentum_flux_from_coupled_process long_name = sfc y momentum flux for coupling units = Pa - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys active = (flag_for_surface_flux_coupling) @@ -2862,7 +2887,7 @@ standard_name = surface_upward_sensible_heat_flux_from_coupled_process long_name = sfc sensible heat flux input units = W m-2 - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys active = (flag_for_surface_flux_coupling) @@ -2870,7 +2895,7 @@ standard_name = surface_upward_latent_heat_flux_from_coupled_process long_name = sfc latent heat flux input for coupling units = W m-2 - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys active = (flag_for_surface_flux_coupling) @@ -2878,7 +2903,7 @@ standard_name = surface_upwelling_longwave_flux_over_ocean_from_mediator long_name = surface upwelling LW flux over ocean for coupling units = W m-2 - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys active = (flag_for_surface_flux_coupling .and. do_mediator_atmosphere_ocean_fluxes) @@ -2886,7 +2911,7 @@ standard_name = surface_x_momentum_flux_over_ocean_from_mediator long_name = sfc x momentum flux over ocean for coupling units = Pa - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys active = (flag_for_surface_flux_coupling .and. do_mediator_atmosphere_ocean_fluxes) @@ -2894,7 +2919,7 @@ standard_name = surface_y_momentum_flux_over_ocean_from_mediator long_name = sfc y momentum flux over ocean for coupling units = Pa - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys active = (flag_for_surface_flux_coupling .and. do_mediator_atmosphere_ocean_fluxes) @@ -2902,7 +2927,7 @@ standard_name = surface_upward_sensible_heat_flux_over_ocean_from_mediator long_name = sfc sensible heat flux input over ocean for coupling units = W m-2 - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys active = (flag_for_surface_flux_coupling .and. do_mediator_atmosphere_ocean_fluxes) @@ -2910,7 +2935,7 @@ standard_name = surface_upward_latent_heat_flux_over_ocean_from_mediator long_name = sfc latent heat flux input over ocean for coupling units = W m-2 - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys active = (flag_for_surface_flux_coupling .and. do_mediator_atmosphere_ocean_fluxes) @@ -2918,7 +2943,7 @@ standard_name = surface_snow_area_fraction_over_land_from_land long_name = surface snow area fraction over land for coupling units = frac - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys active = (flag_for_land_coupling .and. flag_for_one_way_land_coupling_to_atmosphere) @@ -2926,7 +2951,7 @@ standard_name = surface_specific_humidity_over_land_from_land long_name = surface air saturation specific humidity over land units = kg kg-1 - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys active = (flag_for_land_coupling .and. flag_for_one_way_land_coupling_to_atmosphere) @@ -2934,7 +2959,7 @@ standard_name = surface_upward_sensible_heat_flux_over_land_from_land long_name = sfc sensible heat flux input over land for coupling units = K m s-1 - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys active = (flag_for_land_coupling .and. flag_for_one_way_land_coupling_to_atmosphere) @@ -2942,7 +2967,7 @@ standard_name = surface_upward_latent_heat_flux_over_land_from_land long_name = sfc latent heat flux input over land for coupling units = kg kg-1 m s-1 - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys active = (flag_for_land_coupling .and. flag_for_one_way_land_coupling_to_atmosphere) @@ -2950,7 +2975,7 @@ standard_name = surface_upward_potential_latent_heat_flux_over_land_from_land long_name = surface upward potential latent heat flux over land for coupling units = W m-2 - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys active = (flag_for_land_coupling .and. flag_for_one_way_land_coupling_to_atmosphere) @@ -2958,7 +2983,7 @@ standard_name = temperature_at_2m_over_land_from_land long_name = 2 meter temperature over land for coupling units = K - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys active = (flag_for_land_coupling .and. flag_for_one_way_land_coupling_to_atmosphere) @@ -2966,7 +2991,7 @@ standard_name = specific_humidity_at_2m_over_land_from_land long_name = 2 meter specific humidity over land for coupling units = kg kg-1 - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys active = (flag_for_land_coupling .and. flag_for_one_way_land_coupling_to_atmosphere) @@ -2974,7 +2999,7 @@ standard_name = upward_heat_flux_in_soil_over_land_from_land long_name = soil heat flux over land for coupling units = W m-2 - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys active = (flag_for_land_coupling .and. flag_for_one_way_land_coupling_to_atmosphere) @@ -2982,7 +3007,7 @@ standard_name = surface_runoff_flux_from_land long_name = surface runoff flux over land for coupling units = kg m-2 s-1 - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys active = (flag_for_land_coupling .and. flag_for_one_way_land_coupling_to_atmosphere) @@ -2990,7 +3015,7 @@ standard_name = subsurface_runoff_flux_from_land long_name = subsurface runoff flux over land for coupling units = kg m-2 s-1 - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys active = (flag_for_land_coupling .and. flag_for_one_way_land_coupling_to_atmosphere) @@ -2998,7 +3023,7 @@ standard_name = surface_drag_wind_speed_for_momentum_in_air_over_land_from_land long_name = momentum exchange coefficient over land for coupling units = m s-1 - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys active = (flag_for_land_coupling .and. flag_for_one_way_land_coupling_to_atmosphere) @@ -3006,7 +3031,7 @@ standard_name = surface_drag_mass_flux_for_heat_and_moisture_in_air_over_land_from_land long_name = thermal exchange coefficient over land for coupling units = kg m-2 s-1 - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys active = (flag_for_land_coupling .and. flag_for_one_way_land_coupling_to_atmosphere) @@ -3014,7 +3039,7 @@ standard_name = function_of_surface_roughness_length_and_green_vegetation_fraction_from_land long_name = function of surface roughness length and green vegetation fraction units = none - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys active = (flag_for_land_coupling .and. flag_for_one_way_land_coupling_to_atmosphere) @@ -3022,14 +3047,14 @@ standard_name = lwe_surface_snow_from_coupled_process long_name = sfc snow depth in meters over sea ice for coupling units = m - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys [slimskin_cpl] standard_name = area_type_from_coupled_process long_name = sea/land/ice mask input (=0/1/2) units = flag - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys active = (flag_for_surface_flux_coupling) @@ -3037,7 +3062,7 @@ standard_name = instantaneous_tendency_of_specific_humidity_due_to_microphysics long_name = instantaneous_tendency_of_specific_humidity_due_to_microphysics units = kg kg-1 s-1 - dimensions = (horizontal_loop_extent,vertical_layer_dimension) + dimensions = (horizontal_dimension,vertical_layer_dimension) type = real kind = kind_phys active = (do_prognostic_updraft_area_fraction) @@ -3045,7 +3070,7 @@ standard_name = cellular_automata_area_fraction_for_deep_convection_from_coupled_process long_name = fraction of cellular automata for deep convection units = frac - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys active = (flag_for_cellular_automata) @@ -3053,7 +3078,7 @@ standard_name = cellular_automata_global_pattern_from_coupled_process long_name = cellular automata global pattern units = flag - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys active = (flag_for_cellular_automata) @@ -3061,14 +3086,14 @@ standard_name = physics_field_for_coupling long_name = physics_field_for_coupling units = m2 s-2 - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys [shum_wts] standard_name = shum_weights_from_coupled_process long_name = weights for stochastic shum perturbation units = none - dimensions = (horizontal_loop_extent,vertical_layer_dimension) + dimensions = (horizontal_dimension,vertical_layer_dimension) type = real kind = kind_phys active = (flag_for_stochastic_shum_option) @@ -3076,7 +3101,7 @@ standard_name = sppt_weights_from_coupled_process long_name = weights for stochastic sppt perturbation units = none - dimensions = (horizontal_loop_extent,vertical_layer_dimension) + dimensions = (horizontal_dimension,vertical_layer_dimension) type = real kind = kind_phys active = (flag_for_stochastic_physics_perturbations .or. flag_for_global_cellular_automata) @@ -3084,7 +3109,7 @@ standard_name = skeb_x_wind_weights_from_coupled_process long_name = weights for stochastic skeb perturbation of x wind units = none - dimensions = (horizontal_loop_extent,vertical_layer_dimension) + dimensions = (horizontal_dimension,vertical_layer_dimension) type = real kind = kind_phys active = (flag_for_stochastic_skeb_option) @@ -3092,7 +3117,7 @@ standard_name = skeb_y_wind_weights_from_coupled_process long_name = weights for stochastic skeb perturbation of y wind units = none - dimensions = (horizontal_loop_extent,vertical_layer_dimension) + dimensions = (horizontal_dimension,vertical_layer_dimension) type = real kind = kind_phys active = (flag_for_stochastic_skeb_option) @@ -3100,7 +3125,7 @@ standard_name = spp_weights_for_pbl_scheme long_name = spp weights for pbl scheme units = 1 - dimensions = (horizontal_loop_extent,vertical_layer_dimension) + dimensions = (horizontal_dimension,vertical_layer_dimension) type = real kind = kind_phys active = (do_stochastically_perturbed_parameterizations) @@ -3108,7 +3133,7 @@ standard_name = spp_weights_for_surface_layer_scheme long_name = spp weights for surface layer scheme units = 1 - dimensions = (horizontal_loop_extent,vertical_layer_dimension) + dimensions = (horizontal_dimension,vertical_layer_dimension) type = real kind = kind_phys active = (do_stochastically_perturbed_parameterizations) @@ -3116,7 +3141,7 @@ standard_name = spp_weights_for_microphysics_scheme long_name = spp weights for microphysics scheme units = 1 - dimensions = (horizontal_loop_extent,vertical_layer_dimension) + dimensions = (horizontal_dimension,vertical_layer_dimension) type = real kind = kind_phys active = (do_stochastically_perturbed_parameterizations) @@ -3124,7 +3149,7 @@ standard_name = spp_weights_for_gravity_wave_drag_scheme long_name = spp weights for gravity wave drag scheme units = 1 - dimensions = (horizontal_loop_extent,vertical_layer_dimension) + dimensions = (horizontal_dimension,vertical_layer_dimension) type = real kind = kind_phys active = (do_stochastically_perturbed_parameterizations) @@ -3132,7 +3157,7 @@ standard_name = spp_weights_for_radiation_scheme long_name = spp weights for radiation scheme units = 1 - dimensions = (horizontal_loop_extent,vertical_layer_dimension) + dimensions = (horizontal_dimension,vertical_layer_dimension) type = real kind = kind_phys active = (do_stochastically_perturbed_parameterizations) @@ -3140,7 +3165,7 @@ standard_name = spp_weights_for_cu_deep_scheme long_name = spp weights for cu deep scheme units = 1 - dimensions = (horizontal_loop_extent,vertical_layer_dimension) + dimensions = (horizontal_dimension,vertical_layer_dimension) type = real kind = kind_phys active = (do_stochastically_perturbed_parameterizations) @@ -3148,7 +3173,7 @@ standard_name = surface_stochastic_weights_from_coupled_process long_name = weights for stochastic surface physics perturbation units = 1 - dimensions = (horizontal_loop_extent,number_of_perturbed_land_surface_variables) + dimensions = (horizontal_dimension,number_of_perturbed_land_surface_variables) type = real kind = kind_phys active = (control_for_stochastic_land_surface_perturbation /= 0) @@ -3156,7 +3181,7 @@ standard_name = tendency_of_hygroscopic_aerosols_at_surface_adjacent_layer long_name = instantaneous water-friendly sfc aerosol source units = kg-1 s-1 - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys active = (control_for_microphysics_scheme == identifier_for_thompson_microphysics_scheme .and. flag_for_aerosol_physics) @@ -3164,7 +3189,7 @@ standard_name = tendency_of_nonhygroscopic_ice_nucleating_aerosols_at_surface_adjacent_layer long_name = instantaneous ice-friendly sfc aerosol source units = kg-1 s-1 - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys active = (control_for_microphysics_scheme == identifier_for_thompson_microphysics_scheme .and. flag_for_aerosol_physics) @@ -3172,7 +3197,7 @@ standard_name = ebu_smoke long_name = buffer of vertical fire emission units = various - dimensions = (horizontal_loop_extent,vertical_layer_dimension) + dimensions = (horizontal_dimension,vertical_layer_dimension) type = real kind = kind_phys active = (do_smoke_coupling) @@ -3180,7 +3205,7 @@ standard_name = extinction_coefficient_in_air_due_to_smoke long_name = extinction coefficient in air due to smoke units = various - dimensions = (horizontal_loop_extent,vertical_layer_dimension) + dimensions = (horizontal_dimension,vertical_layer_dimension) type = real kind = kind_phys active = (do_smoke_coupling) @@ -3188,7 +3213,7 @@ standard_name = extinction_coefficient_in_air_due_to_dust long_name = extinction coefficient in air due to dust units = various - dimensions = (horizontal_loop_extent,vertical_layer_dimension) + dimensions = (horizontal_dimension,vertical_layer_dimension) type = real kind = kind_phys active = (do_smoke_coupling) @@ -3196,7 +3221,7 @@ standard_name = chem3d_mynn_pbl_transport long_name = mynn pbl transport of smoke and dust units = various - dimensions = (horizontal_loop_extent,vertical_layer_dimension,number_of_chemical_species_vertically_mixed) + dimensions = (horizontal_dimension,vertical_layer_dimension,number_of_chemical_species_vertically_mixed) type = real kind = kind_phys active = (do_smoke_coupling) @@ -3204,7 +3229,7 @@ standard_name = dry_deposition_velocity_mynn_pbl_transport long_name = dry deposition velocity by mynn pbl transport units = m s-1 - dimensions = (horizontal_loop_extent,number_of_chemical_species_deposited) + dimensions = (horizontal_dimension,number_of_chemical_species_deposited) type = real kind = kind_phys active = (do_smoke_coupling) @@ -3212,7 +3237,7 @@ standard_name = conv_wet_deposition_smoke_dust long_name = convective wet removal of smoke and dust units = kg kg-1 - dimensions = (horizontal_loop_extent,number_of_chemical_species_vertically_mixed) + dimensions = (horizontal_dimension,number_of_chemical_species_vertically_mixed) type = real kind = kind_phys active = (do_smoke_coupling) @@ -3220,7 +3245,7 @@ standard_name = mp_wet_deposition_smoke_dust long_name = large scale wet deposition of smoke and dust units = kg kg-1 - dimensions = (horizontal_loop_extent,number_of_chemical_species_vertically_mixed) + dimensions = (horizontal_dimension,number_of_chemical_species_vertically_mixed) type = real kind = kind_phys active = (do_smoke_coupling) @@ -3228,7 +3253,7 @@ standard_name = dry_deposition_flux long_name = rrfs dry deposition flux units = ug m-2 - dimensions = (horizontal_loop_extent,number_of_chemical_species_deposited) + dimensions = (horizontal_dimension,number_of_chemical_species_deposited) type = real kind = kind_phys active = (do_smoke_coupling) @@ -3236,7 +3261,7 @@ standard_name = minimum_fire_plume_sigma_pressure_level long_name = minimum model level of fire plumerise units = none - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys active = (do_smoke_coupling) @@ -3244,7 +3269,7 @@ standard_name = maximum_fire_plume_sigma_pressure_level long_name = maximum model level of fire plumerise units = none - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys active = (do_smoke_coupling) @@ -3252,7 +3277,7 @@ standard_name = mean_wind_speed_in_boundary_layer long_name = average wind speed within the boundary layer units = m s-1 - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys active = (do_smoke_coupling) @@ -3260,7 +3285,7 @@ standard_name = atmosphere_boundary_layer_thickness_from_modified_parcel long_name = pbl height based on modified parcel method units = m - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys active = (do_smoke_coupling) @@ -3268,7 +3293,7 @@ standard_name = hourly_wildfire_potential long_name = rrfs hourly fire weather potential units = none - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys active = (do_smoke_coupling) @@ -3276,7 +3301,7 @@ standard_name = hourly_wildfire_potential_average long_name = rrfs hourly fire weather potential average units = none - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys active = (do_smoke_coupling) @@ -3284,7 +3309,7 @@ standard_name = surface_upward_sensible_heat_flux_for_chemistry_coupling long_name = instantaneous upward sensible heat flux for chemistry coupling units = W m-2 - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys active = (flag_for_chemistry_coupling) @@ -3292,7 +3317,7 @@ standard_name = convective_cloud_condesate_after_rainout long_name = convective cloud condesate after rainout units = kg kg-1 - dimensions = (horizontal_loop_extent,vertical_layer_dimension) + dimensions = (horizontal_dimension,vertical_layer_dimension) type = real kind = kind_phys active = (control_for_deep_convection_scheme == identifier_for_grell_freitas_deep_convection .or. control_for_deep_convection_scheme == identifier_for_c3_deep_convection) @@ -3300,7 +3325,7 @@ standard_name = ice_flux_due_to_large_scale_precipitation long_name = instantaneous 3D flux of ice from nonconvective precipitation units = kg m-2 s-1 - dimensions = (horizontal_loop_extent,vertical_layer_dimension) + dimensions = (horizontal_dimension,vertical_layer_dimension) type = real kind = kind_phys active = (flag_for_chemistry_coupling) @@ -3308,7 +3333,7 @@ standard_name = liquid_flux_due_to_large_scale_precipitation long_name = instantaneous 3D flux of liquid water from nonconvective precipitation units = kg m-2 s-1 - dimensions = (horizontal_loop_extent,vertical_layer_dimension) + dimensions = (horizontal_dimension,vertical_layer_dimension) type = real kind = kind_phys active = (flag_for_chemistry_coupling) @@ -3316,7 +3341,7 @@ standard_name = updated_tendency_of_air_temperature_due_to_longwave_heating_on_physics_timestep long_name = total sky longwave heating rate on physics time step units = K s-1 - dimensions = (horizontal_loop_extent,vertical_layer_dimension) + dimensions = (horizontal_dimension,vertical_layer_dimension) type = real kind = kind_phys active = (flag_for_rrtmgp_radiation_scheme) @@ -3324,7 +3349,7 @@ standard_name = surface_skin_temperature_on_radiation_timestep long_name = surface skin temperature on radiation timestep units = K - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys active = (flag_for_rrtmgp_radiation_scheme) @@ -3332,7 +3357,7 @@ standard_name = RRTMGP_jacobian_of_lw_flux_upward long_name = RRTMGP Jacobian upward longwave flux profile units = W m-2 K-1 - dimensions = (horizontal_loop_extent,vertical_interface_dimension) + dimensions = (horizontal_dimension,vertical_interface_dimension) type = real kind = kind_phys active = (flag_for_rrtmgp_radiation_scheme) @@ -3340,7 +3365,7 @@ standard_name = RRTMGP_lw_flux_profile_upward_allsky_on_radiation_timestep long_name = RRTMGP upward longwave all-sky flux profile units = W m-2 - dimensions = (horizontal_loop_extent,vertical_interface_dimension) + dimensions = (horizontal_dimension,vertical_interface_dimension) type = real kind = kind_phys active = (flag_for_rrtmgp_radiation_scheme) @@ -3348,7 +3373,7 @@ standard_name = RRTMGP_lw_flux_profile_downward_allsky_on_radiation_timestep long_name = RRTMGP downward longwave all-sky flux profile units = W m-2 - dimensions = (horizontal_loop_extent,vertical_interface_dimension) + dimensions = (horizontal_dimension,vertical_interface_dimension) type = real kind = kind_phys active = (flag_for_rrtmgp_radiation_scheme) @@ -3587,6 +3612,36 @@ units = count dimensions = () type = integer +[nchunks] + standard_name = ccpp_chunk_extent + long_name = number of chunks of array data used in run phase + units = count + dimensions = () + type = integer +[chunk_begin] + standard_name = horizontal_loop_begin_all_chunks + long_name = first index for horizontal loop extent in run phase + units = index + dimensions = (ccpp_chunk_extent) + type = integer +[chunk_begin(ccpp_chunk_number)] + standard_name = horizontal_loop_begin + long_name = first index for horizontal loop extent in run phase + units = index + dimensions = () + type = integer +[chunk_end] + standard_name = horizontal_loop_end_all_chunks + long_name = last index for horizontal loop extent in run phase + units = index + dimensions = (ccpp_chunk_extent) + type = integer +[chunk_end(ccpp_chunk_number)] + standard_name = horizontal_loop_end + long_name = last index for horizontal loop extent in run phase + units = index + dimensions = () + type = integer [tile_num] standard_name = index_of_cubed_sphere_tile long_name = tile number @@ -3653,6 +3708,12 @@ units = flag dimensions = () type = logical +[cpl_fire] + standard_name = do_fire_coupling + long_name = flag controlling fire_behavior collection (default off) + units = flag + dimensions = () + type = logical [cpl_imp_mrg] standard_name = flag_for_merging_imported_data long_name = flag controlling cpl_imp_mrg for imported data (default off) @@ -4871,6 +4932,12 @@ units = count dimensions = () type = integer +[thpsnmp_is_init] + standard_name = flag_for_thompson_mp_scheme_initialization + long_name = flag carrying scheme initialization status + units = flag + dimensions = () + type = logical [lgfdlmprad] standard_name = flag_for_GFDL_microphysics_radiation_interaction long_name = flag for GFDL microphysics-radiation interaction @@ -5384,6 +5451,12 @@ units = mixed dimensions = () type = ty_ozphys +[h2ophys] + standard_name = dataset_for_h2o_photochemistry_physics + long_name = dataset for NRL h2o photochemistry physics + units = mixed + dimensions = () + type = ty_h2ophys [h2o_phys] standard_name = flag_for_stratospheric_water_vapor_physics long_name = flag for stratospheric water vapor physics @@ -6622,6 +6695,12 @@ units = index dimensions = () type = integer +[ntfsmoke] + standard_name = index_for_fire_smoke_in_tracer_concentration_array + long_name = tracer index for fire smoke + units = index + dimensions = () + type = integer [ntdust] standard_name = index_for_dust_in_tracer_concentration_array long_name = tracer index for dust @@ -7134,6 +7213,18 @@ units = count dimensions = () type = integer +[levh2o] + standard_name = vertical_dimension_of_h2o_forcing_data + long_name = number of vertical layers in h2o forcing data + units = count + dimensions = () + type = integer +[h2o_coeff] + standard_name = number_of_coefficients_in_h2o_forcing_data + long_name = number of coefficients in h2o forcing data + units = index + dimensions = () + type = integer [do_ccpp_suite_sim] standard_name = flag_for_CCPP_suite_simulator long_name = flag for ccpp suite simulator @@ -7722,77 +7813,77 @@ standard_name = cell_area long_name = area of the grid cell units = m2 - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys [dx] standard_name = characteristic_grid_lengthscale long_name = relative dx for the grid cell units = m - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys [xlat] standard_name = latitude long_name = latitude units = radian - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys [xlon] standard_name = longitude long_name = longitude units = radian - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys [coslat] standard_name = cosine_of_latitude long_name = cosine of latitude units = none - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys [sinlat] standard_name = sine_of_latitude long_name = sine of latitude units = none - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys [xlat_d] standard_name = latitude_in_degree long_name = latitude in degree north units = degree_north - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys [xlon_d] standard_name = longitude_in_degree long_name = longitude in degree east units = degree_east - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys [jindx1_o3] standard_name = lower_latitude_index_of_ozone_forcing_for_interpolation long_name = interpolation low index for ozone units = index - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = integer active = (index_of_ozone_mixing_ratio_in_tracer_concentration_array>0) [jindx2_o3] standard_name = upper_latitude_index_of_ozone_forcing_for_interpolation long_name = interpolation high index for ozone units = index - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = integer active = (index_of_ozone_mixing_ratio_in_tracer_concentration_array>0) [ddy_o3] standard_name = latitude_interpolation_weight_for_ozone_forcing long_name = interpolation high index for ozone units = none - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys active = (index_of_ozone_mixing_ratio_in_tracer_concentration_array>0) @@ -7800,21 +7891,21 @@ standard_name = lower_latitude_index_of_stratospheric_water_vapor_forcing_for_interpolation long_name = interpolation low index for stratospheric water vapor units = index - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = integer active = (flag_for_stratospheric_water_vapor_physics) [jindx2_h] standard_name = upper_latitude_index_of_stratospheric_water_vapor_forcing_for_interpolation long_name = interpolation high index for stratospheric water vapor units = index - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = integer active = (flag_for_stratospheric_water_vapor_physics) [ddy_h] standard_name = latitude_interpolation_weight_for_stratospheric_water_vapor_forcing long_name = interpolation high index for stratospheric water vapor units = none - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys active = (flag_for_stratospheric_water_vapor_physics) @@ -7822,21 +7913,21 @@ standard_name = lower_latitude_index_of_aerosol_forcing_for_interpolation long_name = interpolation low index for prescribed aerosols in the y direction units = index - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = integer active = (flag_for_aerosol_input_MG_radiation) [jindx2_aer] standard_name = upper_latitude_index_of_aerosol_forcing_for_interpolation long_name = interpolation high index for prescribed aerosols in the y direction units = index - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = integer active = (flag_for_aerosol_input_MG_radiation) [ddy_aer] standard_name = latitude_interpolation_weight_for_aerosol_forcing long_name = interpolation high index for prescribed aerosols in the y direction units = none - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys active = (flag_for_aerosol_input_MG_radiation) @@ -7844,21 +7935,21 @@ standard_name = lower_longitude_index_of_aerosol_forcing_for_interpolation long_name = interpolation low index for prescribed aerosols in the x direction units = index - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = integer active = (flag_for_aerosol_input_MG_radiation) [iindx2_aer] standard_name = upper_longitude_index_of_aerosol_forcing_for_interpolation long_name = interpolation high index for prescribed aerosols in the x direction units = index - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = integer active = (flag_for_aerosol_input_MG_radiation) [ddx_aer] standard_name = longitude_interpolation_weight_for_aerosol_forcing long_name = interpolation high index for prescribed aerosols in the x direction units = none - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys active = (flag_for_aerosol_input_MG_radiation) @@ -7866,21 +7957,21 @@ standard_name = lower_latitude_index_of_cloud_nuclei_forcing_for_interpolation long_name = interpolation low index for ice and cloud condensation nuclei in the y direction units = index - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = integer active = (control_for_ice_cloud_condensation_nuclei_forcing==1) [jindx2_ci] standard_name = upper_latitude_index_of_cloud_nuclei_forcing_for_interpolation long_name = interpolation high index for ice and cloud condensation nuclei in the y direction units = index - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = integer active = (control_for_ice_cloud_condensation_nuclei_forcing==1) [ddy_ci] standard_name = latitude_interpolation_weight_for_cloud_nuclei_forcing long_name = interpolation high index for ice and cloud condensation nuclei in the y direction units = none - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys active = (control_for_ice_cloud_condensation_nuclei_forcing==1) @@ -7888,21 +7979,21 @@ standard_name = lower_longitude_index_of_cloud_nuclei_forcing_for_interpolation long_name = interpolation low index for ice and cloud condensation nuclei in the x direction units = index - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = integer active = (control_for_ice_cloud_condensation_nuclei_forcing==1) [iindx2_ci] standard_name = upper_longitude_index_of_cloud_nuclei_forcing_for_interpolation long_name = interpolation high index for ice and cloud condensation nuclei in the x direction units = index - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = integer active = (control_for_ice_cloud_condensation_nuclei_forcing==1) [ddx_ci] standard_name = longitude_interpolation_weight_for_cloud_nuclei_forcing long_name = interpolation high index for ice and cloud condensation nuclei in the x direction units = none - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys active = (control_for_ice_cloud_condensation_nuclei_forcing==1) @@ -7910,21 +8001,21 @@ standard_name = lower_latitude_index_of_absolute_momentum_flux_due_to_nonorographic_gravity_wave_drag_for_interpolation long_name = index1 for weight1 for tau NGWs units = none - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = integer active = (flag_for_ugwp_version_1) [jindx2_tau] standard_name = upper_latitude_index_of_absolute_momentum_flux_due_to_nonorographic_gravity_wave_drag_for_interpolation long_name = index2 for weight2 for tau NGWs units = none - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = integer active = (flag_for_ugwp_version_1) [ddy_j1tau] standard_name = latitude_interpolation_weight_complement_for_absolute_momentum_flux_due_to_nonorographic_gravity_wave_drag long_name = interpolation weight1 for tau NGWs units = none - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys active = (flag_for_ugwp_version_1) @@ -7932,7 +8023,7 @@ standard_name = latitude_interpolation_weight_for_absolute_momentum_flux_due_to_nonorographic_gravity_wave_drag long_name = interpolation weight2 for tau NGWs units = none - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys active = (flag_for_ugwp_version_1) @@ -7950,56 +8041,56 @@ standard_name = random_number_seed_for_mcica_shortwave long_name = random seeds for sub-column cloud generators sw units = none - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = integer active = (flag_for_lw_clouds_sub_grid_approximation == 2 .or. flag_for_sw_clouds_grid_approximation == 2) [icsdlw] standard_name = random_number_seed_for_mcica_longwave long_name = random seeds for sub-column cloud generators lw units = none - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = integer active = (flag_for_lw_clouds_sub_grid_approximation == 2 .or. flag_for_sw_clouds_grid_approximation == 2) [rseeds] standard_name = random_number_seeds_from_host long_name = random number seeds from host units = none - dimensions = (horizontal_loop_extent, number_of_host_provided_random_number_streams) + dimensions = (horizontal_dimension, number_of_host_provided_random_number_streams) type = integer active = ((flag_for_lw_clouds_sub_grid_approximation == 2 .or. flag_for_sw_clouds_grid_approximation == 2) .and. do_host_provided_random_seeds) [tau_amf] standard_name = absolute_momentum_flux_due_to_nonorographic_gravity_wave_drag long_name = ngw_absolute_momentum_flux units = mixed - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys [ozpl] standard_name = ozone_forcing long_name = ozone forcing data units = mixed - dimensions = (horizontal_loop_extent,vertical_dimension_of_ozone_forcing_data,number_of_coefficients_in_ozone_data) + dimensions = (horizontal_dimension,vertical_dimension_of_ozone_forcing_data,number_of_coefficients_in_ozone_data) type = real kind = kind_phys [h2opl] standard_name = stratospheric_water_vapor_forcing long_name = water forcing data units = mixed - dimensions = (horizontal_loop_extent,vertical_dimension_of_h2o_forcing_data,number_of_coefficients_in_h2o_forcing_data) + dimensions = (horizontal_dimension,vertical_dimension_of_h2o_forcing_data,number_of_coefficients_in_h2o_forcing_data) type = real kind = kind_phys [hpbl] standard_name = atmosphere_boundary_layer_thickness long_name = pbl height units = m - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys [ud_mf] standard_name = instantaneous_atmosphere_updraft_convective_mass_flux long_name = (updraft mass flux) * delt units = kg m-2 - dimensions = (horizontal_loop_extent,vertical_layer_dimension) + dimensions = (horizontal_dimension,vertical_layer_dimension) type = real kind = kind_phys active = ( control_for_deep_convection_scheme .ge. 0 .or. control_for_shallow_convection_scheme .ge. 0 ) @@ -8007,21 +8098,21 @@ standard_name = ice_nucleation_number_from_climatology long_name = ice nucleation number in MG MP units = kg-1 - dimensions = (horizontal_loop_extent,vertical_layer_dimension) + dimensions = (horizontal_dimension,vertical_layer_dimension) type = real kind = kind_phys [ccn_nm] standard_name = tendency_of_activated_cloud_condensation_nuclei_from_climatology long_name = tendency of ccn activated number units = kg-1 s-1 - dimensions = (horizontal_loop_extent,vertical_layer_dimension) + dimensions = (horizontal_dimension,vertical_layer_dimension) type = real kind = kind_phys [aer_nm] standard_name = mass_mixing_ratio_of_aerosol_from_gocart_or_merra2 long_name = mass mixing ratio of aerosol from gocart or merra2 units = kg kg-1 - dimensions = (horizontal_loop_extent,vertical_layer_dimension,number_of_aerosol_tracers_MG) + dimensions = (horizontal_dimension,vertical_layer_dimension,number_of_aerosol_tracers_MG) type = real kind = kind_phys active = (flag_for_aerosol_input_MG_radiation) @@ -8029,7 +8120,7 @@ standard_name = aerosol_optical_depth_for_grell_freitas_deep_convection long_name = aerosol optical depth used in Grell-Freitas Convective Parameterization units = none - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys active = (control_for_deep_convection_scheme == identifier_for_grell_freitas_deep_convection .or. control_for_deep_convection_scheme == identifier_for_c3_deep_convection) @@ -8037,47 +8128,47 @@ standard_name = map_of_block_column_number_to_global_i_index long_name = map of local index ix to global index i for this block units = none - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = integer [jmap] standard_name = map_of_block_column_number_to_global_j_index long_name = map of local index ix to global index j for this block units = none - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = integer [rann] standard_name = random_number long_name = random number array (0-1) units = none - dimensions = (horizontal_loop_extent,number_of_random_numbers) + dimensions = (horizontal_dimension,number_of_random_numbers) type = real kind = kind_phys [acv] standard_name = cumulative_lwe_thickness_of_convective_precipitation_amount_between_sw_radiation_calls long_name = accumulated convective rainfall amount for cnvc90 only units = m - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys [acvb] standard_name = cumulative_min_vertical_index_at_cloud_base_between_sw_radiation_calls long_name = smallest cloud base vertical index encountered thus far units = index - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys [acvt] standard_name = cumulative_max_vertical_index_at_cloud_base_between_sw_radiation_calls long_name = largest cloud top vertical index encountered thus far units = index - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys [dtdtnp] standard_name = tendency_of_air_temperature_to_withold_from_sppt long_name = temp. change from physics that should not be perturbed by sppt units = K s-1 - dimensions = (horizontal_loop_extent,vertical_layer_dimension) + dimensions = (horizontal_dimension,vertical_layer_dimension) type = real kind = kind_phys active = (flag_for_stochastic_physics_perturbations .or. flag_for_global_cellular_automata) @@ -8085,7 +8176,7 @@ standard_name = tendency_of_lwe_thickness_of_rain_amount_on_dynamics_timestep_for_coupling long_name = change in rain_cpl (coupling_type) units = m - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys active = (flag_for_surface_flux_coupling .or. flag_for_chemistry_coupling .or. flag_for_land_coupling) @@ -8093,7 +8184,7 @@ standard_name = tendency_of_lwe_thickness_of_snowfall_amount_on_dynamics_timestep_for_coupling long_name = change in show_cpl (coupling_type) units = m - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys active = (flag_for_surface_flux_coupling .or. flag_for_chemistry_coupling .or. flag_for_land_coupling) @@ -8101,7 +8192,7 @@ standard_name = atmosphere_updraft_convective_mass_flux_at_cloud_base_by_cloud_type long_name = cloud base mass flux for CS convection units = kg m-2 s-1 - dimensions = (horizontal_loop_extent,number_of_cloud_types_CS) + dimensions = (horizontal_dimension,number_of_cloud_types_CS) type = real kind = kind_phys active = (number_of_cloud_types_CS > 0 .and. flag_for_Chikira_Sugiyama_deep_convection) @@ -8109,7 +8200,7 @@ standard_name = surface_air_pressure_two_timesteps_back long_name = surface air pressure two timesteps back units = Pa - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys active = (index_of_surface_air_pressure_two_timesteps_back_in_xyz_dimensioned_tracer_array > 0) @@ -8117,7 +8208,7 @@ standard_name = surface_air_pressure_on_previous_timestep long_name = surface air pressure at previous timestep units = Pa - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys active = (index_of_surface_air_pressure_on_previous_timestep_in_xyz_dimensioned_restart_array > 0) @@ -8125,7 +8216,7 @@ standard_name = enhancement_to_wind_speed_at_surface_adjacent_layer_due_to_convection long_name = surface wind enhancement due to convection units = m s-1 - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys active = (index_of_enhancement_to_wind_speed_at_surface_adjacent_layer_due_to_convection_in_xy_dimensioned_restart_array > 0) @@ -8133,7 +8224,7 @@ standard_name = air_temperature_two_timesteps_back long_name = air temperature two timesteps back units = K - dimensions = (horizontal_loop_extent,vertical_layer_dimension) + dimensions = (horizontal_dimension,vertical_layer_dimension) type = real kind = kind_phys active = (index_of_air_temperature_two_timesteps_back_in_xyz_dimensioned_restart_array > 0) @@ -8141,7 +8232,7 @@ standard_name = specific_humidity_two_timesteps_back long_name = water vapor specific humidity two timesteps back units = kg kg-1 - dimensions = (horizontal_loop_extent,vertical_layer_dimension) + dimensions = (horizontal_dimension,vertical_layer_dimension) type = real kind = kind_phys active = (index_of_specific_humidity_two_timesteps_back_in_xyz_dimensioned_restart_array > 0) @@ -8149,7 +8240,7 @@ standard_name = air_temperature_on_previous_timestep_in_xyz_dimensioned_restart_array long_name = air temperature at previous timestep units = K - dimensions = (horizontal_loop_extent,vertical_layer_dimension) + dimensions = (horizontal_dimension,vertical_layer_dimension) type = real kind = kind_phys active = (index_of_air_temperature_on_previous_timestep_in_xyz_dimensioned_restart_array > 0) @@ -8157,7 +8248,7 @@ standard_name = specific_humidity_on_previous_timestep_in_xyz_dimensioned_restart_array long_name = water vapor specific humidity at previous timestep units = kg kg-1 - dimensions = (horizontal_loop_extent,vertical_layer_dimension) + dimensions = (horizontal_dimension,vertical_layer_dimension) type = real kind = kind_phys active = (index_of_specific_humidity_on_previous_timestep_in_xyz_dimensioned_restart_array > 0) @@ -8165,7 +8256,7 @@ standard_name = convective_cloud_condensate_mixing_ratio long_name = convective cloud water mixing ratio in the phy_f3d array units = kg kg-1 - dimensions = (horizontal_loop_extent,vertical_layer_dimension) + dimensions = (horizontal_dimension,vertical_layer_dimension) type = real kind = kind_phys active = (index_of_convective_cloud_condensate_mixing_ratio_in_xyz_dimensioned_restart_array > 0) @@ -8173,7 +8264,7 @@ standard_name = convective_cloud_area_fraction long_name = convective cloud cover in the phy_f3d array units = frac - dimensions = (horizontal_loop_extent,vertical_layer_dimension) + dimensions = (horizontal_dimension,vertical_layer_dimension) type = real kind = kind_phys active = (index_of_convective_cloud_area_fraction_in_xyz_dimensioned_restart_array > 0) @@ -8181,7 +8272,7 @@ standard_name = upward_virtual_potential_temperature_flux long_name = upward kinematic buoyancy flux from the SHOC scheme units = K m s-1 - dimensions = (horizontal_loop_extent,vertical_layer_dimension) + dimensions = (horizontal_dimension,vertical_layer_dimension) type = real kind = kind_phys active = (index_of_upward_virtual_potential_temperature_flux_in_xyz_dimensioned_restart_array > 0) @@ -8189,7 +8280,7 @@ standard_name = atmosphere_heat_diffusivity_from_shoc long_name = diffusivity for heat from the SHOC scheme units = m2 s-1 - dimensions = (horizontal_loop_extent,vertical_layer_dimension) + dimensions = (horizontal_dimension,vertical_layer_dimension) type = real kind = kind_phys active = (index_of_atmosphere_heat_diffusivity_in_xyz_dimensioned_restart_array > 0) @@ -8197,7 +8288,7 @@ standard_name = subgrid_scale_cloud_fraction_from_shoc long_name = subgrid-scale cloud fraction from the SHOC scheme units = frac - dimensions = (horizontal_loop_extent,vertical_layer_dimension) + dimensions = (horizontal_dimension,vertical_layer_dimension) type = real kind = kind_phys active = (index_of_subgrid_cloud_area_fracation_in_atmosphere_layer_in_xyz_dimensioned_restart_array > 0) @@ -8205,7 +8296,7 @@ standard_name = cloud_fraction_for_MG long_name = cloud fraction used by Morrison-Gettelman MP units = frac - dimensions = (horizontal_loop_extent,vertical_layer_dimension) + dimensions = (horizontal_dimension,vertical_layer_dimension) type = real kind = kind_phys active = (index_of_cloud_area_fraction_in_atmosphere_layer_in_xyz_dimensioned_restart_array > 0) @@ -8213,7 +8304,7 @@ standard_name = effective_radius_of_stratiform_cloud_liquid_water_particle long_name = eff. radius of cloud liquid water particle in micrometer units = um - dimensions = (horizontal_loop_extent,vertical_layer_dimension) + dimensions = (horizontal_dimension,vertical_layer_dimension) type = real kind = kind_phys active = (index_of_cloud_liquid_water_effective_radius_in_xyz_dimensioned_restart_array > 0) @@ -8221,7 +8312,7 @@ standard_name = effective_radius_of_stratiform_cloud_ice_particle long_name = eff. radius of cloud ice water particle in micrometer units = um - dimensions = (horizontal_loop_extent,vertical_layer_dimension) + dimensions = (horizontal_dimension,vertical_layer_dimension) type = real kind = kind_phys active = (index_of_cloud_ice_effective_radius_in_xyz_dimensioned_restart_array > 0) @@ -8229,7 +8320,7 @@ standard_name = effective_radius_of_stratiform_cloud_rain_particle long_name = effective radius of cloud rain particle in micrometers units = um - dimensions = (horizontal_loop_extent,vertical_layer_dimension) + dimensions = (horizontal_dimension,vertical_layer_dimension) type = real kind = kind_phys active = (index_of_rain_effective_radius_in_xyz_dimensioned_restart_array > 0) @@ -8237,7 +8328,7 @@ standard_name = effective_radius_of_stratiform_cloud_snow_particle long_name = effective radius of cloud snow particle in micrometers units = um - dimensions = (horizontal_loop_extent,vertical_layer_dimension) + dimensions = (horizontal_dimension,vertical_layer_dimension) type = real kind = kind_phys active = (index_of_snow_effective_radius_in_xyz_dimensioned_restart_array > 0) @@ -8245,7 +8336,7 @@ standard_name = effective_radius_of_stratiform_cloud_graupel_particle long_name = eff. radius of cloud graupel particle in micrometer units = um - dimensions = (horizontal_loop_extent,vertical_layer_dimension) + dimensions = (horizontal_dimension,vertical_layer_dimension) type = real kind = kind_phys active = (index_of_graupel_effective_radius_in_xyz_dimensioned_restart_array > 0) @@ -8253,7 +8344,7 @@ standard_name = tendency_of_air_temperature_due_to_nonphysics long_name = temperature tendency due to dynamics only units = K s-1 - dimensions = (horizontal_loop_extent,vertical_layer_dimension) + dimensions = (horizontal_dimension,vertical_layer_dimension) type = real kind = kind_phys active = (control_for_deep_convection_scheme == identifier_for_grell_freitas_deep_convection .or. control_for_deep_convection_scheme == identifier_for_c3_deep_convection .or. control_for_deep_convection_scheme == identifier_for_new_tiedtke_deep_convection) @@ -8261,7 +8352,7 @@ standard_name = tendendy_of_specific_humidity_due_to_nonphysics long_name = moisture tendency due to dynamics only units = kg kg-1 s-1 - dimensions = (horizontal_loop_extent,vertical_layer_dimension) + dimensions = (horizontal_dimension,vertical_layer_dimension) type = real kind = kind_phys active = (control_for_deep_convection_scheme == identifier_for_grell_freitas_deep_convection .or. control_for_deep_convection_scheme == identifier_for_c3_deep_convection .or. control_for_deep_convection_scheme == identifier_for_new_tiedtke_deep_convection) @@ -8269,7 +8360,7 @@ standard_name = air_temperature_on_previous_timestep long_name = temperature from previous time step units = K - dimensions = (horizontal_loop_extent,vertical_layer_dimension) + dimensions = (horizontal_dimension,vertical_layer_dimension) type = real kind = kind_phys active = (control_for_deep_convection_scheme == identifier_for_grell_freitas_deep_convection .or. control_for_deep_convection_scheme == identifier_for_c3_deep_convection .or. control_for_deep_convection_scheme == identifier_for_new_tiedtke_deep_convection) @@ -8277,7 +8368,7 @@ standard_name = specific_humidity_on_previous_timestep long_name = moisture from previous time step units = kg kg-1 - dimensions = (horizontal_loop_extent,vertical_layer_dimension) + dimensions = (horizontal_dimension,vertical_layer_dimension) type = real kind = kind_phys active = (control_for_deep_convection_scheme == identifier_for_grell_freitas_deep_convection .or. control_for_deep_convection_scheme == identifier_for_c3_deep_convection .or. control_for_deep_convection_scheme == identifier_for_new_tiedtke_deep_convection .or. control_for_deep_convection_scheme == identifer_for_scale_aware_mass_flux_deep_convection .or. control_for_shallow_convection_scheme == identifier_for_scale_aware_mass_flux_shallow_convection) @@ -8285,21 +8376,21 @@ standard_name = counter_for_grell_freitas_convection long_name = convective activity memory units = none - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = integer active = (control_for_deep_convection_scheme == identifier_for_grell_freitas_deep_convection .or. control_for_deep_convection_scheme == identifier_for_c3_deep_convection) [cactiv_m] standard_name = counter_for_grell_freitas_mid_level_convection long_name = mid-level convective activity memory units = none - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = integer active = (control_for_deep_convection_scheme == identifier_for_grell_freitas_deep_convection .or. control_for_deep_convection_scheme == identifier_for_c3_deep_convection) [CLDFRA_BL] standard_name = subgrid_scale_cloud_area_fraction_in_atmosphere_layer long_name = subgrid cloud fraction from PBL scheme units = frac - dimensions = (horizontal_loop_extent,vertical_layer_dimension) + dimensions = (horizontal_dimension,vertical_layer_dimension) type = real kind = kind_phys active = (flag_for_mellor_yamada_nakanishi_niino_pbl_scheme) @@ -8307,7 +8398,7 @@ standard_name = subgrid_scale_cloud_liquid_water_mixing_ratio long_name = subgrid cloud water mixing ratio from PBL scheme units = kg kg-1 - dimensions = (horizontal_loop_extent,vertical_layer_dimension) + dimensions = (horizontal_dimension,vertical_layer_dimension) type = real kind = kind_phys active = (flag_for_mellor_yamada_nakanishi_niino_pbl_scheme) @@ -8315,7 +8406,7 @@ standard_name = subgrid_scale_cloud_ice_mixing_ratio long_name = subgrid cloud ice mixing ratio from PBL scheme units = kg kg-1 - dimensions = (horizontal_loop_extent,vertical_layer_dimension) + dimensions = (horizontal_dimension,vertical_layer_dimension) type = real kind = kind_phys active = (flag_for_mellor_yamada_nakanishi_niino_pbl_scheme) @@ -8323,7 +8414,7 @@ standard_name = turbulent_mixing_length long_name = mixing length in meters units = m - dimensions = (horizontal_loop_extent,vertical_layer_dimension) + dimensions = (horizontal_dimension,vertical_layer_dimension) type = real kind = kind_phys active = (flag_for_mellor_yamada_nakanishi_niino_pbl_scheme) @@ -8331,7 +8422,7 @@ standard_name = stability_function_for_heat long_name = stability function for heat units = none - dimensions = (horizontal_loop_extent,vertical_layer_dimension) + dimensions = (horizontal_dimension,vertical_layer_dimension) type = real kind = kind_phys active = (flag_for_mellor_yamada_nakanishi_niino_pbl_scheme) @@ -8339,7 +8430,7 @@ standard_name = stability_function_for_momentum long_name = stability function for momentum units = none - dimensions = (horizontal_loop_extent,vertical_layer_dimension) + dimensions = (horizontal_dimension,vertical_layer_dimension) type = real kind = kind_phys active = (flag_for_mellor_yamada_nakanishi_niino_pbl_scheme) @@ -8347,7 +8438,7 @@ standard_name = nonadvected_turbulent_kinetic_energy_multiplied_by_2 long_name = 2 x tke at mass points units = m2 s-2 - dimensions = (horizontal_loop_extent,vertical_layer_dimension) + dimensions = (horizontal_dimension,vertical_layer_dimension) type = real kind = kind_phys active = (flag_for_mellor_yamada_nakanishi_niino_pbl_scheme) @@ -8355,7 +8446,7 @@ standard_name = variance_of_air_temperature long_name = temperature fluctuation squared units = K2 - dimensions = (horizontal_loop_extent,vertical_layer_dimension) + dimensions = (horizontal_dimension,vertical_layer_dimension) type = real kind = kind_phys active = (flag_for_mellor_yamada_nakanishi_niino_pbl_scheme) @@ -8363,7 +8454,7 @@ standard_name = variance_of_specific_humidity long_name = water vapor fluctuation squared units = kg2 kg-2 - dimensions = (horizontal_loop_extent,vertical_layer_dimension) + dimensions = (horizontal_dimension,vertical_layer_dimension) type = real kind = kind_phys active = (flag_for_mellor_yamada_nakanishi_niino_pbl_scheme) @@ -8371,7 +8462,7 @@ standard_name = covariance_of_air_temperature_and_specific_humidity long_name = covariance of temperature and moisture units = K kg kg-1 - dimensions = (horizontal_loop_extent,vertical_layer_dimension) + dimensions = (horizontal_dimension,vertical_layer_dimension) type = real kind = kind_phys active = (flag_for_mellor_yamada_nakanishi_niino_pbl_scheme) @@ -8379,7 +8470,7 @@ standard_name = surface_specific_humidity_for_MYJ_schemes long_name = surface air saturation specific humidity for MYJ schemes units = kg kg-1 - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys active = (flag_for_mellor_yamada_janjic_surface_layer_scheme .or. flag_for_mellor_yamada_janjic_pbl_scheme) @@ -8387,7 +8478,7 @@ standard_name = air_potential_temperature_at_top_of_viscous_sublayer long_name = potential temperature at viscous sublayer top over water units = K - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys active = (flag_for_mellor_yamada_janjic_surface_layer_scheme .or. flag_for_mellor_yamada_janjic_pbl_scheme) @@ -8395,7 +8486,7 @@ standard_name = specific_humidity_at_top_of_viscous_sublayer long_name = specific humidity at_viscous sublayer top over water units = kg kg-1 - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys active = (flag_for_mellor_yamada_janjic_surface_layer_scheme .or. flag_for_mellor_yamada_janjic_pbl_scheme) @@ -8403,7 +8494,7 @@ standard_name = x_wind_at_top_of_viscous_sublayer long_name = u wind component at viscous sublayer top over water units = m s-1 - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys active = (flag_for_mellor_yamada_janjic_surface_layer_scheme .or. flag_for_mellor_yamada_janjic_pbl_scheme) @@ -8411,7 +8502,7 @@ standard_name = y_wind_at_top_of_viscous_sublayer long_name = v wind component at viscous sublayer top over water units = m s-1 - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys active = (flag_for_mellor_yamada_janjic_surface_layer_scheme .or. flag_for_mellor_yamada_janjic_pbl_scheme) @@ -8419,7 +8510,7 @@ standard_name = heat_exchange_coefficient_for_MYJ_schemes long_name = surface heat exchange_coefficient for MYJ schemes units = m s-1 - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys active = (flag_for_mellor_yamada_janjic_surface_layer_scheme .or. flag_for_mellor_yamada_janjic_pbl_scheme) @@ -8427,7 +8518,7 @@ standard_name = momentum_exchange_coefficient_for_MYJ_schemes long_name = surface momentum exchange_coefficient for MYJ schemes units = m s-1 - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys active = (flag_for_mellor_yamada_janjic_surface_layer_scheme .or. flag_for_mellor_yamada_janjic_pbl_scheme) @@ -8435,7 +8526,7 @@ standard_name = control_for_surface_layer_evaporation long_name = surface layer evaporation switch units = none - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys active = (flag_for_mellor_yamada_janjic_surface_layer_scheme .or. flag_for_mellor_yamada_janjic_pbl_scheme) @@ -8443,7 +8534,7 @@ standard_name = surface_upward_specific_humidity_flux_for_mellor_yamada_janjic_surface_layer_scheme long_name = kinematic surface latent heat flux units = m s-1 kg kg-1 - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys active = (flag_for_mellor_yamada_janjic_surface_layer_scheme .or. flag_for_mellor_yamada_janjic_pbl_scheme) @@ -8451,7 +8542,7 @@ standard_name = weight_for_momentum_at_top_of_viscous_sublayer long_name = weight for momentum at viscous layer top units = none - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys active = (flag_for_mellor_yamada_janjic_surface_layer_scheme .or. flag_for_mellor_yamada_janjic_pbl_scheme) @@ -8459,7 +8550,7 @@ standard_name = weight_for_potental_temperature_at_top_of_viscous_sublayer long_name = weight for potental temperature at viscous layer top units = none - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys active = (flag_for_mellor_yamada_janjic_surface_layer_scheme .or. flag_for_mellor_yamada_janjic_pbl_scheme) @@ -8467,7 +8558,7 @@ standard_name = weight_for_specific_humidity_at_top_of_viscous_sublayer long_name = weight for Specfic Humidity at viscous layer top units = none - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys active = (flag_for_mellor_yamada_janjic_surface_layer_scheme .or. flag_for_mellor_yamada_janjic_pbl_scheme) @@ -8475,7 +8566,7 @@ standard_name = radar_derived_microphysics_temperature_tendency long_name = radar-derived microphysics temperature tendency units = K s-1 - dimensions = (horizontal_loop_extent,vertical_layer_dimension,number_of_radar_derived_temperature_or_convection_suppression_intervals) + dimensions = (horizontal_dimension,vertical_layer_dimension,number_of_radar_derived_temperature_or_convection_suppression_intervals) type = real kind = kind_phys active = (number_of_radar_derived_temperature_or_convection_suppression_intervals>0) @@ -8483,7 +8574,7 @@ standard_name = radar_derived_convection_suppression long_name = radar-derived convection suppression units = unitless - dimensions = (horizontal_loop_extent,number_of_radar_derived_temperature_or_convection_suppression_intervals) + dimensions = (horizontal_dimension,number_of_radar_derived_temperature_or_convection_suppression_intervals) type = real kind = kind_phys active = (number_of_radar_derived_temperature_or_convection_suppression_intervals>0 .and. flag_for_radar_derived_convection_suppression) @@ -8501,21 +8592,21 @@ standard_name = convective_cloud_area_fraction_between_sw_radiation_calls_from_cnvc90 long_name = fraction of convective cloud units = frac - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys [cvt] standard_name = pressure_at_convective_cloud_top_between_sw_radiation_calls_from_cnvc90 long_name = convective cloud top pressure units = Pa - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys [cvb] standard_name = pressure_at_convective_cloud_base_between_sw_radiation_calls_from_cnvc90 long_name = convective cloud bottom pressure units = Pa - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys @@ -8532,89 +8623,89 @@ standard_name = surface_sw_fluxes_assuming_total_and_clear_sky_on_radiation_timestep long_name = sw radiation fluxes at sfc units = W m-2 - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = sfcfsw_type [sfcflw] standard_name = surface_lw_fluxes_assuming_total_and_clear_sky_on_radiation_timestep long_name = lw radiation fluxes at sfc units = W m-2 - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = sfcflw_type [htrsw] standard_name = tendency_of_air_temperature_due_to_shortwave_heating_on_radiation_timestep long_name = total sky sw heating rate units = K s-1 - dimensions = (horizontal_loop_extent,vertical_layer_dimension) + dimensions = (horizontal_dimension,vertical_layer_dimension) type = real kind = kind_phys [htrlw] standard_name = tendency_of_air_temperature_due_to_longwave_heating_on_radiation_timestep long_name = total sky lw heating rate units = K s-1 - dimensions = (horizontal_loop_extent,vertical_layer_dimension) + dimensions = (horizontal_dimension,vertical_layer_dimension) type = real kind = kind_phys [sfalb] standard_name = surface_albedo_for_diffused_shortwave_on_radiation_timestep long_name = mean surface diffused sw albedo units = frac - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys [coszen] standard_name = cosine_of_solar_zenith_angle_for_daytime_points_on_radiation_timestep long_name = mean cos of zenith angle over rad call period units = none - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys [coszdg] standard_name = cosine_of_solar_zenith_angle_on_radiation_timestep long_name = daytime mean cosz over rad call period units = none - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys [tsflw] standard_name = air_temperature_at_surface_adjacent_layer_on_radiation_timestep long_name = surface air temp during lw calculation units = K - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys [semis] standard_name = surface_longwave_emissivity long_name = surface lw emissivity in fraction units = frac - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys [ext550] standard_name = aerosol_optical_depth_at_550nm long_name = 3d optical extinction for total aerosol species units = none - dimensions = (horizontal_loop_extent,vertical_layer_dimension) + dimensions = (horizontal_dimension,vertical_layer_dimension) type = real kind = kind_phys [swhc] standard_name = tendency_of_air_temperature_due_to_shortwave_heating_assuming_clear_sky_on_radiation_timestep long_name = clear sky sw heating rates units = K s-1 - dimensions = (horizontal_loop_extent,vertical_layer_dimension) + dimensions = (horizontal_dimension,vertical_layer_dimension) type = real kind = kind_phys [lwhc] standard_name = tendency_of_air_temperature_due_to_longwave_heating_assuming_clear_sky_on_radiation_timestep long_name = clear sky lw heating rates units = K s-1 - dimensions = (horizontal_loop_extent,vertical_layer_dimension) + dimensions = (horizontal_dimension,vertical_layer_dimension) type = real kind = kind_phys [lwhd] standard_name = tendency_of_air_temperature_due_to_integrated_dynamics_through_earths_atmosphere long_name = idea sky lw heating rates units = K s-1 - dimensions = (horizontal_loop_extent,vertical_layer_dimension,6) + dimensions = (horizontal_dimension,vertical_layer_dimension,6) type = real kind = kind_phys @@ -8631,54 +8722,54 @@ standard_name = cumulative_radiation_diagnostic long_name = time-accumulated 2D radiation-related diagnostic fields units = mixed - dimensions = (horizontal_loop_extent,number_of_diagnostics_variables_for_radiation) + dimensions = (horizontal_dimension,number_of_diagnostics_variables_for_radiation) type = real kind = kind_phys [topfsw] standard_name = sw_fluxes_top_atmosphere long_name = sw radiation fluxes at toa units = W m-2 - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = topfsw_type [topflw] standard_name = lw_fluxes_top_atmosphere long_name = lw radiation fluxes at top units = W m-2 - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = topflw_type [srunoff] standard_name = surface_runoff long_name = surface water runoff (from lsm) units = kg m-2 - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys [evbsa] standard_name = cumulative_soil_upward_latent_heat_flux_multiplied_by_timestep long_name = cumulative soil upward latent heat flux multiplied by timestep units = W m-2 s - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys [evcwa] standard_name = cumulative_canopy_upward_latent_heat_flu_multiplied_by_timestep long_name = cumulative canopy upward latent heat flux multiplied by timestep units = W m-2 s - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys [snohfa] standard_name = cumulative_snow_freezing_rain_upward_latent_heat_flux_multiplied_by_timestep long_name = cumulative latent heat flux due to snow and frz rain multiplied by timestep units = W m-2 s - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys [paha] standard_name = cumulative_precipitation_advected_heat_flux_multiplied_by_timestep long_name = cumulative precipitation advected heat flux multiplied by timestep units = W m-2 s - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys active = (control_for_land_surface_scheme == identifier_for_noahmp_land_surface_scheme) @@ -8686,224 +8777,224 @@ standard_name = cumulative_transpiration_flux_multiplied_by_timestep long_name = cumulative total plant transpiration rate multiplied by timestep units = kg m-2 - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys [sbsnoa] standard_name = cumulative_snow_deposition_sublimation_upward_latent_heat_flux_multiplied_by_timestep long_name = cumulative latent heat flux from snow depo/subl multiplied by timestep units = W m-2 s - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys [snowca] standard_name = cumulative_surface_snow_area_fraction_multiplied_by_timestep long_name = cumulative surface snow area fraction multiplied by timestep units = s - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys [sbsno] standard_name = snow_deposition_sublimation_upward_latent_heat_flux long_name = latent heat flux from snow depo/subl units = W m-2 - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys [evbs] standard_name = soil_upward_latent_heat_flux long_name = soil upward latent heat flux units = W m-2 - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys [evcw] standard_name = canopy_upward_latent_heat_flux long_name = canopy upward latent heat flux units = W m-2 - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys [trans] standard_name = transpiration_flux long_name = total plant transpiration rate units = W m-2 - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys [soilm] standard_name = soil_moisture_content long_name = soil moisture units = kg m-2 - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys [snowmt_land] standard_name = surface_snow_melt_over_land long_name = snow melt during timestep over land units = kg m-2 - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys [snowmt_ice] standard_name = surface_snow_melt_over_ice long_name = snow melt during timestep over ice units = kg m-2 - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys [tmpmin] standard_name = minimum_temperature_at_2m long_name = min temperature at 2m height units = K - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys [tmpmax] standard_name = maximum_temperature_at_2m long_name = max temperature at 2m height units = K - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys [dusfc] standard_name = cumulative_surface_x_momentum_flux_for_diag_multiplied_by_timestep long_name = cumulative sfc x momentum flux multiplied by timestep units = Pa s - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys [dvsfc] standard_name = cumulative_surface_y_momentum_flux_for_diag_multiplied_by_timestep long_name = cumulative sfc y momentum flux multiplied by timestep units = Pa s - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys [dtsfc] standard_name = cumulative_surface_upward_sensible_heat_flux_for_diag_multiplied_by_timestep long_name = cumulative sfc sensible heat flux multiplied by timestep units = W m-2 s - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys [dqsfc] standard_name = cumulative_surface_upward_latent_heat_flux_for_diag_multiplied_by_timestep long_name = cumulative sfc latent heat flux multiplied by timestep units = W m-2 s - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys [totprcp] standard_name = accumulated_lwe_thickness_of_precipitation_amount long_name = accumulated total precipitation units = m - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys [totice] standard_name = accumulated_lwe_thickness_of_ice_amount long_name = accumulated ice precipitation units = kg m-2 - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys [totsnw] standard_name = accumulated_lwe_thickness_of_snow_amount long_name = accumulated snow precipitation units = kg m-2 - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys [totgrp] standard_name = accumulated_lwe_thickness_of_graupel_amount long_name = accumulated graupel precipitation units = kg m-2 - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys [totprcpb] standard_name = accumulated_lwe_thickness_of_precipitation_amount_in_bucket long_name = accumulated total precipitation in bucket units = m - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys [toticeb] standard_name = accumulated_lwe_thickness_of_ice_amount_in_bucket long_name = accumulated ice precipitation in bucket units = kg m-2 - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys [totsnwb] standard_name = accumulated_lwe_thickness_of_snow_amount_in_bucket long_name = accumulated snow precipitation in bucket units = kg m-2 - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys [totgrpb] standard_name = accumulated_lwe_thickness_of_graupel_amount_in_bucket long_name = accumulated graupel precipitation in bucket units = kg m-2 - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys [frzr] standard_name = cumulative_lwe_thickness_of_surface_freezing_rain_amount long_name = accumulated surface freezing rain units = m - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys [frzrb] standard_name = cumulative_lwe_thickness_of_surface_freezing_rain_amount_in_bucket long_name = accumulated surface freezing rain in bucket units = m - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys [frozr] standard_name = cumulative_lwe_thickness_of_surface_graupel_amount long_name = accumulated surface graupel units = m - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys [frozrb] standard_name = cumulative_lwe_thickness_of_surface_graupel_amount_in_bucket long_name = accumulated surface graupel in bucket units = m - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys [tsnowp] standard_name = cumulative_lwe_thickness_of_surface_snow_amount long_name = accumulated surface snow units = m - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys [tsnowpb] standard_name = cumulative_lwe_thickness_of_surface_snow_amount_in_bucket long_name = accumulated surface snow in bucket units = m - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys [rhonewsn1] standard_name = surface_frozen_precipitation_density long_name = density of precipitation ice units = kg m-3 - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys [train] standard_name = accumulated_change_of_air_temperature_due_to_FA_scheme long_name = accumulated change of air temperature due to FA MP scheme units = K - dimensions = (horizontal_loop_extent,vertical_layer_dimension) + dimensions = (horizontal_dimension,vertical_layer_dimension) type = real kind = kind_phys active = (control_for_microphysics_scheme == identifier_for_fer_hires_microphysics_scheme) @@ -8911,70 +9002,70 @@ standard_name = cumulative_surface_ground_heat_flux_multiplied_by_timestep long_name = cumulative groud conductive heat flux multiplied by timestep units = W m-2 s - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys [dlwsfc] standard_name = cumulative_surface_downwelling_longwave_flux_multiplied_by_timestep long_name = cumulative surface downwelling LW flux multiplied by timestep units = W m-2 s - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys [ulwsfc] standard_name = cumulative_surface_upwelling_longwave_flux_multiplied_by_timestep long_name = cumulative surface upwelling LW flux multiplied by timestep units = W m-2 s - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys [suntim] standard_name = duration_of_sunshine long_name = sunshine duration time units = s - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys [runoff] standard_name = total_runoff long_name = total water runoff units = kg m-2 - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys [ep] standard_name = cumulative_surface_upward_potential_latent_heat_flux_multiplied_by_timestep long_name = cumulative surface upward potential latent heat flux multiplied by timestep units = W m-2 s - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys [tecan] standard_name = total_evaporation_of_intercepted_water long_name = total evaporation of intercepted water units = kg m-2 - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys [tetran] standard_name = total_transpiration_rate long_name = total transpiration rate units = kg m-2 - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys [tedir] standard_name = total_soil_surface_evaporation_rate long_name = total soil surface evaporation rate units = kg m-2 - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys [twa] standard_name = total_water_storage_in_aquifer long_name = total water storage in aquifer units = kg m-2 - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys active = (control_for_land_surface_scheme == identifier_for_noahmp_land_surface_scheme) @@ -8982,294 +9073,294 @@ standard_name = cumulative_cloud_work_function long_name = cumulative cloud work function (valid only with sas) units = m2 s-1 - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys [dugwd] standard_name = time_integral_of_x_stress_due_to_gravity_wave_drag long_name = vertically integrated u change by OGWD units = Pa s - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys [dvgwd] standard_name = time_integral_of_y_stress_due_to_gravity_wave_drag long_name = vertically integrated v change by OGWD units = Pa s - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys [psmean] standard_name = cumulative_surface_pressure_multiplied_by_timestep long_name = cumulative surface pressure multiplied by timestep units = Pa s - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys [cnvprcp] standard_name = cumulative_lwe_thickness_of_convective_precipitation_amount long_name = cumulative convective precipitation units = m - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys [cnvprcpb] standard_name = cumulative_lwe_thickness_of_convective_precipitation_amount_in_bucket long_name = cumulative convective precipitation in bucket units = m - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys [spfhmin] standard_name = minimum_specific_humidity_at_2m long_name = minimum specific humidity at 2m height units = kg kg-1 - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys [spfhmax] standard_name = maximum_specific_humidity_at_2m long_name = maximum specific humidity at 2m height units = kg kg-1 - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys [u10mmax] standard_name = maximum_x_wind_at_10m long_name = maximum x wind at 10 m units = m s-1 - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys [v10mmax] standard_name = maximum_y_wind_at_10m long_name = maximum y wind at 10 m units = m s-1 - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys [wind10mmax] standard_name = maximum_wind_at_10m long_name = maximum wind speed at 10 m units = m s-1 - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys [u10max] standard_name = maximum_u_wind_at_10m_over_maximum_hourly_time_interval long_name = maximum u wind at 10m over maximum hourly time interval units = m s-1 - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys [v10max] standard_name = maximum_v_wind_at_10m_over_maximum_hourly_time_interval long_name = maximum v wind at 10m over maximum hourly time interval units = m s-1 - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys [spd10max] standard_name = maximum_wind_at_10m_over_maximum_hourly_time_interval long_name = maximum wind at 10m over maximum hourly time interval units = m s-1 - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys [rain] standard_name = lwe_thickness_of_precipitation_amount_on_dynamics_timestep long_name = total rain at this time step units = m - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys [rainc] standard_name = lwe_thickness_of_convective_precipitation_amount_on_dynamics_timestep long_name = convective rain at this time step units = m - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys [ice] standard_name = lwe_thickness_of_ice_amount_on_dynamics_timestep long_name = ice fall at this time step units = m - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys [snow] standard_name = lwe_thickness_of_snow_amount_on_dynamics_timestep long_name = snow fall at this time step units = m - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys [graupel] standard_name = lwe_thickness_of_graupel_amount_on_dynamics_timestep long_name = graupel fall at this time step units = m - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys [u10m] standard_name = x_wind_at_10m long_name = 10 meter u wind speed units = m s-1 - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys [v10m] standard_name = y_wind_at_10m long_name = 10 meter v wind speed units = m s-1 - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys [dpt2m] standard_name = dewpoint_temperature_at_2m long_name = 2 meter dewpoint temperature units = K - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys [zlvl] standard_name = height_above_ground_at_lowest_model_layer long_name = layer 1 height above ground (not MSL) units = m - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys [psurf] standard_name = surface_air_pressure_diag long_name = surface air pressure diagnostic units = Pa - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys [pwat] standard_name = column_precipitable_water long_name = precipitable water units = kg m-2 - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys [t1] standard_name = air_temperature_at_lowest_model_layer_for_diag long_name = layer 1 temperature for diag units = K - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys [q1] standard_name = water_vapor_specific_humidity_at_lowest_model_layer_for_diag long_name = layer 1 specific humidity for diag units = kg kg-1 - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys [u1] standard_name = x_wind_at_lowest_model_layer_for_diag long_name = layer 1 x wind for diag units = m s-1 - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys [v1] standard_name = y_wind_at_lowest_model_layer_for_diag long_name = layer 1 y wind for diag units = m s-1 - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys [chh] standard_name = surface_drag_mass_flux_for_heat_and_moisture_in_air long_name = thermal exchange coefficient units = kg m-2 s-1 - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys [cmm] standard_name = surface_drag_wind_speed_for_momentum_in_air long_name = momentum exchange coefficient units = m s-1 - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys [dlwsfci] standard_name = surface_downwelling_longwave_flux long_name = surface downwelling longwave flux at current time units = W m-2 - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys [ulwsfci] standard_name = surface_upwelling_longwave_flux long_name = surface upwelling longwave flux at current time units = W m-2 - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys [dswsfci] standard_name = surface_downwelling_shortwave_flux long_name = surface downwelling shortwave flux at current time units = W m-2 - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys [nswsfci] standard_name = surface_net_downwelling_shortwave_flux long_name = surface net downwelling shortwave flux at current time units = W m-2 - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys [uswsfci] standard_name = surface_upwelling_shortwave_flux long_name = surface upwelling shortwave flux at current time units = W m-2 - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys [dusfci] standard_name = instantaneous_surface_x_momentum_flux_for_diag long_name = instantaneous sfc x momentum flux multiplied by timestep units = Pa - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys [dvsfci] standard_name = instantaneous_surface_y_momentum_flux_for_diag long_name = instantaneous sfc y momentum flux multiplied by timestep units = Pa - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys [dtsfci] standard_name = instantaneous_surface_upward_sensible_heat_flux_for_diag long_name = instantaneous sfc sensible heat flux multiplied by timestep units = W m-2 - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys [dqsfci] standard_name = instantaneous_surface_upward_latent_heat_flux_for_diag long_name = instantaneous sfc latent heat flux multiplied by timestep units = W m-2 - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys [gfluxi] standard_name = instantaneous_surface_ground_heat_flux long_name = instantaneous sfc ground heat flux units = W m-2 - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys [pahi] standard_name = instantaneous_total_precipitation_advected_heat long_name = instantaneous precipitation advected heat - total units = W m-2 - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys active = (control_for_land_surface_scheme == identifier_for_noahmp_land_surface_scheme) @@ -9277,35 +9368,35 @@ standard_name = instantaneous_surface_potential_evaporation long_name = instantaneous sfc potential evaporation units = W m-2 - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys [smcwlt2] standard_name = volume_fraction_of_condensed_water_in_soil_at_wilting_point long_name = wilting point (volumetric) units = frac - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys [smcref2] standard_name = threshold_volume_fraction_of_condensed_water_in_soil long_name = soil moisture threshold (volumetric) units = frac - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys [sr] standard_name = ratio_of_snowfall_to_rainfall long_name = snow ratio: ratio of snow to total precipitation (explicit only) units = frac - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys [wet1] standard_name = normalized_soil_wetness long_name = normalized soil wetness units = frac - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys active = (.not. control_for_land_surface_scheme == identifier_for_ruc_land_surface_scheme) @@ -9313,42 +9404,42 @@ standard_name = dominant_rain_type long_name = dominant rain type units = none - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys [tdomzr] standard_name = dominant_freezing_rain_type long_name = dominant freezing rain type units = none - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys [tdomip] standard_name = dominant_sleet_type long_name = dominant sleet type units = none - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys [tdoms] standard_name = dominant_snow_type long_name = dominant snow type units = none - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys [zmtnblck] standard_name = level_of_dividing_streamline long_name = level of the dividing streamline units = none - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys [dtend] standard_name = cumulative_change_of_state_variables long_name = diagnostic tendencies for state variables units = mixed - dimensions = (horizontal_loop_extent,vertical_layer_dimension,cumulative_change_of_state_variables_outer_index_max) + dimensions = (horizontal_dimension,vertical_layer_dimension,cumulative_change_of_state_variables_outer_index_max) type = real kind = kind_phys active = (flag_for_diagnostics_3D) @@ -9356,56 +9447,56 @@ standard_name = maximum_reflectivity_at_1km_agl_over_maximum_hourly_time_interval long_name = maximum reflectivity at 1km agl over maximum hourly time interval units = dBZ - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys [refdmax263k] standard_name = maximum_reflectivity_at_minus10c_over_maximum_hourly_time_interval long_name = maximum reflectivity at minus10c over maximum hourly time interval units = dBZ - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys [t02max] standard_name = maximum_temperature_at_2m_over_maximum_hourly_time_interval long_name = maximum temperature at 2m over maximum hourly time interval units = K - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys [t02min] standard_name = minimum_temperature_at_2m_over_maximum_hourly_time_interval long_name = minumum temperature at 2m over maximum hourly time interval units = K - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys [rh02max] standard_name = maximum_relative_humidity_at_2m_over_maximum_hourly_time_interval long_name = maximum relative humidity at 2m over maximum hourly time interval units = frac - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys [rh02min] standard_name = minimum_relative_humidity_at_2m_over_maximum_hourly_time_interval long_name = minumum relative humidity at 2m over maximum hourly time interval units = frac - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys [pratemax] standard_name = maximum_precipitation_rate_over_maximum_hourly_time_interval long_name = maximum precipitation rate over maximum hourly time interval units = mm h-1 - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys [upd_mf] standard_name = cumulative_atmosphere_updraft_convective_mass_flux long_name = cumulative updraft mass flux units = kg m-1 s-2 - dimensions = (horizontal_loop_extent,vertical_layer_dimension) + dimensions = (horizontal_dimension,vertical_layer_dimension) type = real kind = kind_phys active = (flag_for_tracer_diagnostics_3D) @@ -9413,7 +9504,7 @@ standard_name = cumulative_atmosphere_downdraft_convective_mass_flux long_name = cumulative downdraft mass flux units = kg m-1 s-2 - dimensions = (horizontal_loop_extent,vertical_layer_dimension) + dimensions = (horizontal_dimension,vertical_layer_dimension) type = real kind = kind_phys active = (flag_for_tracer_diagnostics_3D) @@ -9421,7 +9512,7 @@ standard_name = cumulative_atmosphere_detrainment_convective_mass_flux long_name = cumulative detrainment mass flux units = kg m-1 s-2 - dimensions = (horizontal_loop_extent,vertical_layer_dimension) + dimensions = (horizontal_dimension,vertical_layer_dimension) type = real kind = kind_phys active = (flag_for_tracer_diagnostics_3D) @@ -9429,7 +9520,7 @@ standard_name = ozone_tendency_due_to_production_and_loss_rate long_name = ozone tendency due to production and loss rate units = kg kg-1 s-1 - dimensions = (horizontal_loop_extent,vertical_layer_dimension) + dimensions = (horizontal_dimension,vertical_layer_dimension) type = real kind = kind_phys active = (flag_for_tracer_diagnostics_3D .and. flag_for_nrl_2015_ozone_scheme) @@ -9437,7 +9528,7 @@ standard_name = ozone_tendency_due_to_ozone_mixing_ratio long_name = ozone tendency due to ozone mixing ratio units = kg kg-1 s-1 - dimensions = (horizontal_loop_extent,vertical_layer_dimension) + dimensions = (horizontal_dimension,vertical_layer_dimension) type = real kind = kind_phys active = (flag_for_tracer_diagnostics_3D .and. flag_for_nrl_2015_ozone_scheme) @@ -9445,7 +9536,7 @@ standard_name = ozone_tendency_due_to_temperature long_name = ozone tendency due to temperature units = kg kg-1 s-1 - dimensions = (horizontal_loop_extent,vertical_layer_dimension) + dimensions = (horizontal_dimension,vertical_layer_dimension) type = real kind = kind_phys active = (flag_for_tracer_diagnostics_3D .and. flag_for_nrl_2015_ozone_scheme) @@ -9453,7 +9544,7 @@ standard_name = ozone_tendency_due_to_overhead_ozone_column long_name = ozone tendency due to overhead ozone column units = kg kg-1 s-1 - dimensions = (horizontal_loop_extent,vertical_layer_dimension) + dimensions = (horizontal_dimension,vertical_layer_dimension) type = real kind = kind_phys active = (flag_for_tracer_diagnostics_3D .and. flag_for_nrl_2015_ozone_scheme) @@ -9461,84 +9552,84 @@ standard_name = radar_reflectivity_10cm long_name = instantaneous refl_10cm units = dBZ - dimensions = (horizontal_loop_extent,vertical_layer_dimension) + dimensions = (horizontal_dimension,vertical_layer_dimension) type = real kind = kind_phys [max_hail_diam_sfc] standard_name = max_hail_diameter_sfc long_name = instantaneous maximum hail diameter at lowest model level units = m - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys [dkt] standard_name = atmosphere_heat_diffusivity long_name = atmospheric heat diffusivity units = m2 s-1 - dimensions = (horizontal_loop_extent,vertical_layer_dimension) + dimensions = (horizontal_dimension,vertical_layer_dimension) type = real kind = kind_phys [dku] standard_name = atmosphere_momentum_diffusivity long_name = atmospheric momentum diffusivity units = m2 s-1 - dimensions = (horizontal_loop_extent,vertical_layer_dimension) + dimensions = (horizontal_dimension,vertical_layer_dimension) type = real kind = kind_phys [cldfra] standard_name = instantaneous_3d_cloud_fraction long_name = instantaneous 3D cloud fraction for all MPs units = frac - dimensions = (horizontal_loop_extent,adjusted_vertical_layer_dimension_for_radiation) + dimensions = (horizontal_dimension,adjusted_vertical_layer_dimension_for_radiation) type = real kind = kind_phys [cldfra2d] standard_name = max_in_column_cloud_fraction long_name = instantaneous 2D (max-in-column) cloud fraction units = frac - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys [lwp_ex] standard_name = liq_water_path_from_microphysics long_name = total liquid water path from explicit microphysics units = kg m-2 - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys [iwp_ex] standard_name = ice_water_path_from_microphysics long_name = total ice water path from explicit microphysics units = kg m-2 - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys [lwp_fc] standard_name = liq_water_path_from_cloud_fraction long_name = total liquid water path from cloud fraction scheme units = kg m-2 - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys [iwp_fc] standard_name = ice_water_path_from_cloud_fraction long_name = total ice water path from cloud fraction scheme units = kg m-2 - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys [total_albedo] standard_name = total_sky_albedo long_name = total sky albedo at toa units = frac - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys [edmf_a] standard_name = emdf_updraft_area long_name = updraft area from mass flux scheme units = frac - dimensions = (horizontal_loop_extent,vertical_layer_dimension) + dimensions = (horizontal_dimension,vertical_layer_dimension) type = real kind = kind_phys active = (flag_for_mellor_yamada_nakanishi_niino_pbl_scheme .and. (control_for_additional_diagnostics_in_mellor_yamada_nakanishi_niino_pbl_scheme .ne. 0)) @@ -9546,7 +9637,7 @@ standard_name = emdf_updraft_vertical_velocity long_name = updraft vertical velocity from mass flux scheme units = m s-1 - dimensions = (horizontal_loop_extent,vertical_layer_dimension) + dimensions = (horizontal_dimension,vertical_layer_dimension) type = real kind = kind_phys active = (flag_for_mellor_yamada_nakanishi_niino_pbl_scheme .and. (control_for_additional_diagnostics_in_mellor_yamada_nakanishi_niino_pbl_scheme .ne. 0)) @@ -9554,7 +9645,7 @@ standard_name = emdf_updraft_total_water long_name = updraft total water from mass flux scheme units = kg kg-1 - dimensions = (horizontal_loop_extent,vertical_layer_dimension) + dimensions = (horizontal_dimension,vertical_layer_dimension) type = real kind = kind_phys active = (flag_for_mellor_yamada_nakanishi_niino_pbl_scheme .and. (control_for_additional_diagnostics_in_mellor_yamada_nakanishi_niino_pbl_scheme .ne. 0)) @@ -9562,7 +9653,7 @@ standard_name = emdf_updraft_theta_l long_name = updraft theta-l from mass flux scheme units = K - dimensions = (horizontal_loop_extent,vertical_layer_dimension) + dimensions = (horizontal_dimension,vertical_layer_dimension) type = real kind = kind_phys active = (flag_for_mellor_yamada_nakanishi_niino_pbl_scheme .and. (control_for_additional_diagnostics_in_mellor_yamada_nakanishi_niino_pbl_scheme .ne. 0)) @@ -9570,7 +9661,7 @@ standard_name = emdf_updraft_entrainment_rate long_name = updraft entranment rate from mass flux scheme units = s-1 - dimensions = (horizontal_loop_extent,vertical_layer_dimension) + dimensions = (horizontal_dimension,vertical_layer_dimension) type = real kind = kind_phys active = (flag_for_mellor_yamada_nakanishi_niino_pbl_scheme .and. (control_for_additional_diagnostics_in_mellor_yamada_nakanishi_niino_pbl_scheme .ne. 0)) @@ -9578,7 +9669,7 @@ standard_name = emdf_updraft_cloud_water long_name = updraft cloud water from mass flux scheme units = kg kg-1 - dimensions = (horizontal_loop_extent,vertical_layer_dimension) + dimensions = (horizontal_dimension,vertical_layer_dimension) type = real kind = kind_phys active = (flag_for_mellor_yamada_nakanishi_niino_pbl_scheme .and. (control_for_additional_diagnostics_in_mellor_yamada_nakanishi_niino_pbl_scheme .ne. 0)) @@ -9586,7 +9677,7 @@ standard_name = theta_subsidence_tendency long_name = updraft theta subsidence tendency units = K s-1 - dimensions = (horizontal_loop_extent,vertical_layer_dimension) + dimensions = (horizontal_dimension,vertical_layer_dimension) type = real kind = kind_phys active = (flag_for_mellor_yamada_nakanishi_niino_pbl_scheme .and. (control_for_additional_diagnostics_in_mellor_yamada_nakanishi_niino_pbl_scheme .ne. 0)) @@ -9594,7 +9685,7 @@ standard_name = water_vapor_subsidence_tendency long_name = updraft water vapor subsidence tendency units = kg kg-1 s-1 - dimensions = (horizontal_loop_extent,vertical_layer_dimension) + dimensions = (horizontal_dimension,vertical_layer_dimension) type = real kind = kind_phys active = (flag_for_mellor_yamada_nakanishi_niino_pbl_scheme .and. (control_for_additional_diagnostics_in_mellor_yamada_nakanishi_niino_pbl_scheme .ne. 0)) @@ -9602,7 +9693,7 @@ standard_name = theta_detrainment_tendency long_name = updraft theta detrainment tendency units = K s-1 - dimensions = (horizontal_loop_extent,vertical_layer_dimension) + dimensions = (horizontal_dimension,vertical_layer_dimension) type = real kind = kind_phys active = (flag_for_mellor_yamada_nakanishi_niino_pbl_scheme .and. (control_for_additional_diagnostics_in_mellor_yamada_nakanishi_niino_pbl_scheme .ne. 0)) @@ -9610,7 +9701,7 @@ standard_name = water_vapor_detrainment_tendency long_name = updraft water vapor detrainment tendency units = kg kg-1 s-1 - dimensions = (horizontal_loop_extent,vertical_layer_dimension) + dimensions = (horizontal_dimension,vertical_layer_dimension) type = real kind = kind_phys active = (flag_for_mellor_yamada_nakanishi_niino_pbl_scheme .and. (control_for_additional_diagnostics_in_mellor_yamada_nakanishi_niino_pbl_scheme .ne. 0)) @@ -9618,7 +9709,7 @@ standard_name = total_time_rate_of_change_of_tke long_name = total tke tendency units = m2 s-3 - dimensions = (horizontal_loop_extent,vertical_layer_dimension) + dimensions = (horizontal_dimension,vertical_layer_dimension) type = real kind = kind_phys active = (flag_for_mellor_yamada_nakanishi_niino_pbl_scheme .and. control_for_tke_budget_output == 1) @@ -9626,7 +9717,7 @@ standard_name = tke_tendency_due_to_vertical_transport long_name = tke tendency due to vertical transport and diffusion units = m2 s-3 - dimensions = (horizontal_loop_extent,vertical_layer_dimension) + dimensions = (horizontal_dimension,vertical_layer_dimension) type = real kind = kind_phys active = (flag_for_mellor_yamada_nakanishi_niino_pbl_scheme .and. control_for_tke_budget_output == 1) @@ -9634,7 +9725,7 @@ standard_name = tke_tendency_due_to_shear long_name = tke tendency due to shear units = m2 s-3 - dimensions = (horizontal_loop_extent,vertical_layer_dimension) + dimensions = (horizontal_dimension,vertical_layer_dimension) type = real kind = kind_phys active = (flag_for_mellor_yamada_nakanishi_niino_pbl_scheme .and. control_for_tke_budget_output == 1) @@ -9642,7 +9733,7 @@ standard_name = tke_tendency_due_to_buoyancy long_name = tke tendency due to buoyancy production or consumption units = m2 s-3 - dimensions = (horizontal_loop_extent,vertical_layer_dimension) + dimensions = (horizontal_dimension,vertical_layer_dimension) type = real kind = kind_phys active = (flag_for_mellor_yamada_nakanishi_niino_pbl_scheme .and. control_for_tke_budget_output == 1) @@ -9650,7 +9741,7 @@ standard_name = tke_tendency_due_to_dissipation long_name = tke tendency due to the dissipation of tke units = m2 s-3 - dimensions = (horizontal_loop_extent,vertical_layer_dimension) + dimensions = (horizontal_dimension,vertical_layer_dimension) type = real kind = kind_phys active = (flag_for_mellor_yamada_nakanishi_niino_pbl_scheme .and. control_for_tke_budget_output == 1) @@ -9658,7 +9749,7 @@ standard_name = maximum_width_of_plumes long_name = maximum width of plumes per grid column units = m - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys active = (flag_for_mellor_yamada_nakanishi_niino_pbl_scheme) @@ -9666,7 +9757,7 @@ standard_name = maximum_mass_flux long_name = maximum mass flux within a column units = m s-1 - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys active = (flag_for_mellor_yamada_nakanishi_niino_pbl_scheme) @@ -9674,7 +9765,7 @@ standard_name = height_of_tallest_plume_in_a_column long_name = height of tallest plume in a column units = m - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys active = (flag_for_mellor_yamada_nakanishi_niino_pbl_scheme) @@ -9682,20 +9773,20 @@ standard_name = k_level_of_highest_reaching_plume long_name = k-level of highest reaching plume units = count - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = integer [ktop_plume] standard_name = k_level_of_highest_plume long_name = k-level of highest plume units = count - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = integer active = (flag_for_mellor_yamada_nakanishi_niino_pbl_scheme) [exch_h] standard_name = atmosphere_heat_diffusivity_for_mynnedmf long_name = diffusivity for heat for MYNN PBL (defined for all mass levels) units = m2 s-1 - dimensions = (horizontal_loop_extent,vertical_layer_dimension) + dimensions = (horizontal_dimension,vertical_layer_dimension) type = real kind = kind_phys active = (flag_for_mellor_yamada_nakanishi_niino_pbl_scheme) @@ -9703,7 +9794,7 @@ standard_name = atmosphere_momentum_diffusivity_for_mynnedmf long_name = diffusivity for momentum for MYNN PBL (defined for all mass levels) units = m2 s-1 - dimensions = (horizontal_loop_extent,vertical_layer_dimension) + dimensions = (horizontal_dimension,vertical_layer_dimension) type = real kind = kind_phys active = (flag_for_mellor_yamada_nakanishi_niino_pbl_scheme) @@ -9711,56 +9802,56 @@ standard_name = time_integral_of_height_of_mountain_blocking long_name = time integral of height of mountain blocking drag units = m - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys [zlwb] standard_name = time_integral_of_height_of_low_level_wave_breaking long_name = time integral of height of drag due to low level wave breaking units = m - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys [zogw] standard_name = time_integral_of_height_of_launch_level_of_orographic_gravity_wave long_name = time integral of height of launch level of orographic gravity wave units = m - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys [tau_tofd] standard_name = time_integral_of_momentum_flux_due_to_turbulent_orographic_form_drag long_name = time integral of momentum flux due to TOFD units = Pa - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys [tau_mtb] standard_name = time_integral_of_momentum_flux_due_to_mountain_blocking_drag long_name = time integral of momentum flux due to mountain blocking drag units = Pa - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys [tau_ogw] standard_name = time_integral_of_momentum_flux_due_to_orographic_gravity_wave_drag long_name = time integral of momentum flux due to orographic gravity wave drag units = Pa - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys [tau_ngw] standard_name = time_integral_of_momentum_flux_due_to_nonstationary_gravity_wave long_name = time integral of momentum flux due to nonstationary gravity waves units = Pa - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys [du3dt_mtb] standard_name = time_integral_of_change_in_x_wind_due_to_mountain_blocking_drag long_name = time integral of change in x wind due to mountain blocking drag units = m s-2 - dimensions = (horizontal_loop_extent,vertical_layer_dimension) + dimensions = (horizontal_dimension,vertical_layer_dimension) type = real kind = kind_phys active = (flag_for_unified_gravity_wave_physics_diagnostics) @@ -9768,7 +9859,7 @@ standard_name = time_integral_of_change_in_x_wind_due_to_orographic_gravity_wave_drag long_name = time integral of change in x wind due to orographic gw drag units = m s-2 - dimensions = (horizontal_loop_extent,vertical_layer_dimension) + dimensions = (horizontal_dimension,vertical_layer_dimension) type = real kind = kind_phys active = (flag_for_unified_gravity_wave_physics_diagnostics) @@ -9776,7 +9867,7 @@ standard_name = cumulative_change_in_x_wind_due_to_mesoscale_orographic_gravity_wave_drag long_name = cumulative change in x wind due to mesoscale orographic gravity wave drag units = m s-1 - dimensions = (horizontal_loop_extent,vertical_layer_dimension) + dimensions = (horizontal_dimension,vertical_layer_dimension) type = real kind = kind_phys active = (flag_for_unified_gravity_wave_physics_diagnostics) @@ -9784,7 +9875,7 @@ standard_name = cumulative_change_in_x_wind_due_to_blocking_drag long_name = cumulative change in x wind due to blocking drag units = m s-1 - dimensions = (horizontal_loop_extent,vertical_layer_dimension) + dimensions = (horizontal_dimension,vertical_layer_dimension) type = real kind = kind_phys active = (flag_for_unified_gravity_wave_physics_diagnostics) @@ -9792,7 +9883,7 @@ standard_name = cumulative_change_in_x_wind_due_to_small_scale_gravity_wave_drag long_name = cumulative change in x wind due to small scale gravity wave drag units = m s-1 - dimensions = (horizontal_loop_extent,vertical_layer_dimension) + dimensions = (horizontal_dimension,vertical_layer_dimension) type = real kind = kind_phys active = (flag_for_unified_gravity_wave_physics_diagnostics) @@ -9800,7 +9891,7 @@ standard_name = cumulative_change_in_x_wind_due_to_form_drag long_name = cumulative change in x wind due to form drag units = m s-1 - dimensions = (horizontal_loop_extent,vertical_layer_dimension) + dimensions = (horizontal_dimension,vertical_layer_dimension) type = real kind = kind_phys active = (flag_for_unified_gravity_wave_physics_diagnostics) @@ -9808,7 +9899,7 @@ standard_name = time_integral_of_change_in_x_wind_due_to_turbulent_orographic_form_drag long_name = time integral of change in x wind due to TOFD units = m s-2 - dimensions = (horizontal_loop_extent,vertical_layer_dimension) + dimensions = (horizontal_dimension,vertical_layer_dimension) type = real kind = kind_phys active = (flag_for_unified_gravity_wave_physics_diagnostics) @@ -9816,7 +9907,7 @@ standard_name = time_integral_of_change_in_x_wind_due_to_nonstationary_gravity_wave long_name = time integral of change in x wind due to NGW units = m s-2 - dimensions = (horizontal_loop_extent,vertical_layer_dimension) + dimensions = (horizontal_dimension,vertical_layer_dimension) type = real kind = kind_phys active = (flag_for_unified_gravity_wave_physics_diagnostics) @@ -9824,7 +9915,7 @@ standard_name = cumulative_change_in_wind_speed_due_to_mesoscale_orographic_gravity_wave_drag long_name = cumulative change in wind speed due to mesoscale orographic gravity wave drag units = m s-1 - dimensions = (horizontal_loop_extent,vertical_layer_dimension) + dimensions = (horizontal_dimension,vertical_layer_dimension) type = real kind = kind_phys active = (flag_for_unified_gravity_wave_physics_diagnostics) @@ -9832,7 +9923,7 @@ standard_name = cumulative_change_in_wind_speed_due_to_blocking_drag long_name = cumulative change in wind speed due to blocking drag units = m s-1 - dimensions = (horizontal_loop_extent,vertical_layer_dimension) + dimensions = (horizontal_dimension,vertical_layer_dimension) type = real kind = kind_phys active = (flag_for_unified_gravity_wave_physics_diagnostics) @@ -9840,7 +9931,7 @@ standard_name = cumulative_change_in_wind_speed_due_to_small_scale_orographic_gravity_wave_drag long_name = cumulative change in wind speed due to small scale orographic gravity wave drag units = m s-1 - dimensions = (horizontal_loop_extent,vertical_layer_dimension) + dimensions = (horizontal_dimension,vertical_layer_dimension) type = real kind = kind_phys active = (flag_for_unified_gravity_wave_physics_diagnostics) @@ -9848,7 +9939,7 @@ standard_name = cumulative_change_in_wind_speed_due_to_turbulent_orographic_form_drag long_name = cumulative change in wind speed due to turbulent orographic form drag units = m s-1 - dimensions = (horizontal_loop_extent,vertical_layer_dimension) + dimensions = (horizontal_dimension,vertical_layer_dimension) type = real kind = kind_phys active = (flag_for_unified_gravity_wave_physics_diagnostics) @@ -9856,7 +9947,7 @@ standard_name = cumulative_change_in_x_wind_due_to_convective_gravity_wave_drag long_name = cumulative change in x wind due to convective gravity wave drag units = m s-1 - dimensions = (horizontal_loop_extent,vertical_layer_dimension) + dimensions = (horizontal_dimension,vertical_layer_dimension) type = real kind = kind_phys active = (flag_for_unified_gravity_wave_physics_diagnostics) @@ -9864,7 +9955,7 @@ standard_name = cumulative_change_in_y_wind_due_to_convective_gravity_wave_drag long_name = cumulative change in y wind due to convective gravity wave drag units = m s-1 - dimensions = (horizontal_loop_extent,vertical_layer_dimension) + dimensions = (horizontal_dimension,vertical_layer_dimension) type = real kind = kind_phys active = (flag_for_unified_gravity_wave_physics_diagnostics) @@ -9872,7 +9963,7 @@ standard_name = cumulative_change_in_temperature_due_to_convective_gravity_wave_drag long_name = cumulative change in temperature due to convective gravity wave drag units = K - dimensions = (horizontal_loop_extent,vertical_layer_dimension) + dimensions = (horizontal_dimension,vertical_layer_dimension) type = real kind = kind_phys active = (flag_for_unified_gravity_wave_physics_diagnostics) @@ -9880,35 +9971,35 @@ standard_name = tendency_of_x_wind_due_to_gravity_wave_drag long_name = zonal wind tendency due to all GWs units = m s-2 - dimensions = (horizontal_loop_extent,vertical_layer_dimension) + dimensions = (horizontal_dimension,vertical_layer_dimension) type = real kind = kind_phys [dvdt_gw] standard_name = tendency_of_y_wind_due_to_gravity_wave_drag long_name = meridional wind tendency due to all GWs units = m s-2 - dimensions = (horizontal_loop_extent,vertical_layer_dimension) + dimensions = (horizontal_dimension,vertical_layer_dimension) type = real kind = kind_phys [dtdt_gw] standard_name = tendency_of_air_temperature_due_to_gravity_wave_drag long_name = air temperature tendency due to all GWs units = K s-1 - dimensions = (horizontal_loop_extent,vertical_layer_dimension) + dimensions = (horizontal_dimension,vertical_layer_dimension) type = real kind = kind_phys [kdis_gw] standard_name = atmosphere_momentum_diffusivity_due_to_gravity_wave_drag long_name = eddy mixing due to all GWs units = m2 s-1 - dimensions = (horizontal_loop_extent,vertical_layer_dimension) + dimensions = (horizontal_dimension,vertical_layer_dimension) type = real kind = kind_phys [dudt_ogw] standard_name = tendency_of_x_wind_due_to_mesoscale_orographic_gravity_wave_drag long_name = x wind tendency from meso scale ogw units = m s-2 - dimensions = (horizontal_loop_extent,vertical_layer_dimension) + dimensions = (horizontal_dimension,vertical_layer_dimension) type = real kind = kind_phys active = (flag_for_ugwp_version_1 .or. flag_for_unified_gravity_wave_physics_diagnostics) @@ -9916,7 +10007,7 @@ standard_name = tendency_of_y_wind_due_to_mesoscale_orographic_gravity_wave_drag long_name = y wind tendency from meso scale ogw units = m s-2 - dimensions = (horizontal_loop_extent,vertical_layer_dimension) + dimensions = (horizontal_dimension,vertical_layer_dimension) type = real kind = kind_phys active = (flag_for_ugwp_version_1 .or. flag_for_unified_gravity_wave_physics_diagnostics) @@ -9924,7 +10015,7 @@ standard_name = vertically_integrated_x_momentum_flux_due_to_mesoscale_orographic_gravity_wave_drag long_name = integrated x momentum flux from meso scale ogw units = Pa - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys active = (flag_for_ugwp_version_1 .or. flag_for_unified_gravity_wave_physics_diagnostics) @@ -9932,7 +10023,7 @@ standard_name = vertically_integrated_y_momentum_flux_due_to_mesoscale_orographic_gravity_wave_drag long_name = integrated y momentum flux from meso scale ogw units = Pa - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys active = (flag_for_ugwp_version_1 .or. flag_for_unified_gravity_wave_physics_diagnostics) @@ -9940,7 +10031,7 @@ standard_name = tendency_of_x_wind_due_to_blocking_drag long_name = x wind tendency from blocking drag units = m s-2 - dimensions = (horizontal_loop_extent,vertical_layer_dimension) + dimensions = (horizontal_dimension,vertical_layer_dimension) type = real kind = kind_phys active = (flag_for_ugwp_version_1 .or. flag_for_unified_gravity_wave_physics_diagnostics) @@ -9948,7 +10039,7 @@ standard_name = tendency_of_y_wind_due_to_blocking_drag long_name = y wind tendency from blocking drag units = m s-2 - dimensions = (horizontal_loop_extent,vertical_layer_dimension) + dimensions = (horizontal_dimension,vertical_layer_dimension) type = real kind = kind_phys active = (flag_for_ugwp_version_1 .or. flag_for_unified_gravity_wave_physics_diagnostics) @@ -9956,7 +10047,7 @@ standard_name = vertically_integrated_x_momentum_flux_due_to_blocking_drag long_name = integrated x momentum flux from blocking drag units = Pa - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys active = (flag_for_ugwp_version_1 .or. flag_for_unified_gravity_wave_physics_diagnostics) @@ -9964,7 +10055,7 @@ standard_name = vertically_integrated_y_momentum_flux_due_to_blocking_drag long_name = integrated y momentum flux from blocking drag units = Pa - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys active = (flag_for_ugwp_version_1 .or. flag_for_unified_gravity_wave_physics_diagnostics) @@ -9972,7 +10063,7 @@ standard_name = cumulative_vertically_integrated_x_momentum_flux_due_to_mesoscale_orographic_gravity_wave_drag long_name = cumulative integrated x momentum flux from mesoscale orographic gravity wave drag units = Pa s - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys active = (flag_for_ugwp_version_1 .or. flag_for_unified_gravity_wave_physics_diagnostics) @@ -9980,7 +10071,7 @@ standard_name = cumulative_vertically_integrated_y_momentum_flux_due_to_mesoscale_orographic_gravity_wave_drag long_name = cumulative integrated y momentum flux from mesoscale orographic gravity wave drag units = Pa s - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys active = (flag_for_ugwp_version_1 .or. flag_for_unified_gravity_wave_physics_diagnostics) @@ -9988,7 +10079,7 @@ standard_name = cumulative_vertically_integrated_x_momentum_flux_due_to_blocking_drag long_name = cumulative integrated x momentum flux from blocking drag units = Pa s - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys active = (flag_for_ugwp_version_1 .or. flag_for_unified_gravity_wave_physics_diagnostics) @@ -9996,7 +10087,7 @@ standard_name = cumulative_vertically_integrated_y_momentum_flux_due_to_blocking_drag long_name = cumulative integrated y momentum flux from blocking drag units = Pa s - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys active = (flag_for_ugwp_version_1 .or. flag_for_unified_gravity_wave_physics_diagnostics) @@ -10004,7 +10095,7 @@ standard_name = cumulative_vertically_integrated_x_momentum_flux_due_to_small_scale_gravity_wave_drag long_name = cumulative integrated x momentum flux from small scale gravity wave drag units = Pa s - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys active = (flag_for_ugwp_version_1 .or. flag_for_unified_gravity_wave_physics_diagnostics) @@ -10012,7 +10103,7 @@ standard_name = cumulative_vertically_integrated_y_momentum_flux_due_small_scale_gravity_wave_drag long_name = cumulative integrated y momentum flux from small scale gravity wave drag units = Pa s - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys active = (flag_for_ugwp_version_1 .or. flag_for_unified_gravity_wave_physics_diagnostics) @@ -10020,7 +10111,7 @@ standard_name = cumulative_vertically_integrated_x_momentum_flux_due_to_form_drag long_name = cumulative integrated x momentum flux from form drag units = Pa s - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys active = (flag_for_ugwp_version_1 .or. flag_for_unified_gravity_wave_physics_diagnostics) @@ -10028,7 +10119,7 @@ standard_name = cumulative_vertically_integrated_y_momentum_flux_due_to_form_drag long_name = cumulative integrated y momentum flux from form drag units = Pa s - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys active = (flag_for_ugwp_version_1 .or. flag_for_unified_gravity_wave_physics_diagnostics) @@ -10036,7 +10127,7 @@ standard_name = tendency_of_x_wind_due_to_small_scale_gravity_wave_drag long_name = x wind tendency from small scale gwd units = m s-2 - dimensions = (horizontal_loop_extent,vertical_layer_dimension) + dimensions = (horizontal_dimension,vertical_layer_dimension) type = real kind = kind_phys active = (flag_for_ugwp_version_1 .or. flag_for_unified_gravity_wave_physics_diagnostics) @@ -10044,7 +10135,7 @@ standard_name = tendency_of_y_wind_due_to_small_scale_gravity_wave_drag long_name = y wind tendency from small scale gwd units = m s-2 - dimensions = (horizontal_loop_extent,vertical_layer_dimension) + dimensions = (horizontal_dimension,vertical_layer_dimension) type = real kind = kind_phys active = (flag_for_ugwp_version_1 .or. flag_for_unified_gravity_wave_physics_diagnostics) @@ -10052,7 +10143,7 @@ standard_name = vertically_integrated_x_momentum_flux_due_to_small_scale_gravity_wave_drag long_name = integrated x momentum flux from small scale gwd units = Pa - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys active = (flag_for_ugwp_version_1 .or. flag_for_unified_gravity_wave_physics_diagnostics) @@ -10060,7 +10151,7 @@ standard_name = vertically_integrated_y_momentum_flux_due_to_small_scale_gravity_wave_drag long_name = integrated y momentum flux from small scale gwd units = Pa - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys active = (flag_for_ugwp_version_1 .or. flag_for_unified_gravity_wave_physics_diagnostics) @@ -10068,7 +10159,7 @@ standard_name = tendency_of_x_wind_due_to_form_drag long_name = x wind tendency from form drag units = m s-2 - dimensions = (horizontal_loop_extent,vertical_layer_dimension) + dimensions = (horizontal_dimension,vertical_layer_dimension) type = real kind = kind_phys active = (flag_for_ugwp_version_1 .or. flag_for_unified_gravity_wave_physics_diagnostics) @@ -10076,7 +10167,7 @@ standard_name = tendency_of_y_wind_due_to_form_drag long_name = y wind tendency from form drag units = m s-2 - dimensions = (horizontal_loop_extent,vertical_layer_dimension) + dimensions = (horizontal_dimension,vertical_layer_dimension) type = real kind = kind_phys active = (flag_for_ugwp_version_1 .or. flag_for_unified_gravity_wave_physics_diagnostics) @@ -10084,7 +10175,7 @@ standard_name = vertically_integrated_x_momentum_flux_due_to_form_drag long_name = integrated x momentum flux from form drag units = Pa - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys active = (flag_for_ugwp_version_1 .or. flag_for_unified_gravity_wave_physics_diagnostics) @@ -10092,7 +10183,7 @@ standard_name = vertically_integrated_y_momentum_flux_due_to_form_drag long_name = integrated y momentum flux from form drag units = Pa - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys active = (flag_for_ugwp_version_1 .or. flag_for_unified_gravity_wave_physics_diagnostics) @@ -10100,7 +10191,7 @@ standard_name = time_integral_of_change_in_y_wind_due_to_nonstationary_gravity_wave long_name = time integral of change in y wind due to NGW units = m s-2 - dimensions = (horizontal_loop_extent,vertical_layer_dimension) + dimensions = (horizontal_dimension,vertical_layer_dimension) type = real kind = kind_phys active = (flag_for_unified_gravity_wave_physics_diagnostics) @@ -10108,7 +10199,7 @@ standard_name = extended_diagnostics_output_from_thompson_microphysics long_name = set of 3d arrays for extended diagnostics output from thompson microphysics units = none - dimensions = (horizontal_loop_extent,vertical_layer_dimension,number_of_3d_diagnostic_output_arrays_from_thompson_microphysics) + dimensions = (horizontal_dimension,vertical_layer_dimension,number_of_3d_diagnostic_output_arrays_from_thompson_microphysics) type = real kind = kind_phys active = (flag_for_extended_diagnostic_output_from_thompson_microphysics) @@ -10116,7 +10207,7 @@ standard_name = auxiliary_2d_arrays long_name = auxiliary 2d arrays to output (for debugging) units = none - dimensions = (horizontal_loop_extent,number_of_xyz_dimensioned_auxiliary_arrays) + dimensions = (horizontal_dimension,number_of_xy_dimensioned_auxiliary_arrays) type = real kind = kind_phys active = (number_of_xy_dimensioned_auxiliary_arrays > 0) @@ -10124,7 +10215,7 @@ standard_name = auxiliary_3d_arrays long_name = auxiliary 3d arrays to output (for debugging) units = none - dimensions = (horizontal_loop_extent,vertical_layer_dimension,number_of_xyz_dimensioned_auxiliary_arrays) + dimensions = (horizontal_dimension,vertical_layer_dimension,number_of_xyz_dimensioned_auxiliary_arrays) type = real kind = kind_phys active = (number_of_xyz_dimensioned_auxiliary_arrays > 0) @@ -10132,14 +10223,14 @@ standard_name = surface_air_pressure_from_previous_timestep long_name = surface air pressure from previous timestep units = Pa - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys [ltg1_max] standard_name = lightning_threat_index_1 long_name = lightning threat index 1 units = flashes min-1 - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys intent = inout @@ -10148,7 +10239,7 @@ standard_name = lightning_threat_index_2 long_name = lightning threat index 2 units = flashes min-1 - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys intent = inout @@ -10157,7 +10248,7 @@ standard_name = lightning_threat_index_3 long_name = lightning threat index 3 units = flashes min-1 - dimensions = (horizontal_loop_extent) + dimensions = (horizontal_dimension) type = real kind = kind_phys intent = inout @@ -10170,7 +10261,7 @@ relative_path = ../../ccpp/physics/physics dependencies = hooks/machine.F,hooks/physcons.F90 dependencies = Radiation/RRTMG/radlw_param.f,Radiation/RRTMG/radsw_param.f - dependencies = photochem/h2o_def.f,photochem/module_ozphys.F90 + dependencies = photochem/module_ozphys.F90,photochem/module_h2ophys.F90 dependencies = MP/GFDL/GFDL_parse_tracers.F90 dependencies = Interstitials/UFS_SCM_NEPTUNE/GFS_ccpp_suite_sim_pre.F90 dependencies = Interstitials/UFS_SCM_NEPTUNE/module_ccpp_suite_simulator.F90 diff --git a/scm/src/scm.F90 b/scm/src/scm.F90 index b4c98628b..7d5327b17 100644 --- a/scm/src/scm.F90 +++ b/scm/src/scm.F90 @@ -34,7 +34,7 @@ subroutine scm_main_sub() type(scm_reference_type), target :: scm_reference type(ty_ccpp_config), target :: ccpp_cfg type(MPI_Comm) :: fcst_mpi_comm - integer :: i, j, kdt_rad, idtend, itrac + integer :: i, j, kdt_rad, idtend, itrac, n_tasks, n_threads real(kind=8) :: rinc(5) !(DAYS, HOURS, MINUTES, SECONDS, MILLISECONDS) integer :: jdat(1:8) integer :: cdata_time_index @@ -49,13 +49,15 @@ subroutine scm_main_sub() ! Initialize error handling variables. ccpp_errflg = 0 ccpp_errmsg = '' - + call MPI_INIT(ierr) if (ierr/=0) then write(*,*) 'An error occurred in MPI_INIT: ', ierr error stop end if fcst_mpi_comm = MPI_COMM_WORLD + n_tasks = 1 + n_threads = 1 call get_config_nml(scm_state) @@ -88,7 +90,7 @@ subroutine scm_main_sub() call interpolate_forcing(scm_input_instance, scm_state, in_spinup) - call physics%create(scm_state%n_cols) + call physics%create(scm_state%n_cols, n_threads) !physics initialization section @@ -137,7 +139,7 @@ subroutine scm_main_sub() call GFS_suite_setup(physics%Model, physics%Statein, physics%Stateout, & physics%Sfcprop, physics%Coupling, physics%Grid, & physics%Tbd, physics%Cldprop, physics%Radtend, & - physics%Diag, physics%Interstitial, 1, 1, & + physics%Diag, physics%Interstitial, n_tasks, n_threads, & physics%Init_parm, scm_state%n_cols, scm_state%lon, & scm_state%lat, scm_state%area) @@ -179,10 +181,11 @@ subroutine scm_main_sub() write(*,*) "This will cause the effective output period of variables that are only given values during longwave calls to be ",& lcm(scm_state%n_itt_out,physics%Model%nslwr)*scm_state%dt," seconds." end if - + ccpp_cfg%blk_no = 1 ccpp_cfg%thrd_no = 1 ccpp_cfg%thrd_cnt = 1 + ccpp_cfg%chunk_no = 1 call physics%associate(scm_state) call physics%set(scm_input_instance, scm_state) @@ -442,9 +445,9 @@ subroutine scm_main_sub() write(*,*) "itt = ",scm_state%itt write(*,*) "model time (s) = ",scm_state%model_time if (scm_state%lsm_ics .or. scm_state%model_ics) then - write(*,*) "Bowen ratio: ",physics%Interstitial%dtsfc1(1)/physics%Interstitial%dqsfc1(1) - write(*,*) "sensible heat flux (W m-2): ",physics%Interstitial%dtsfc1(1) - write(*,*) "latent heat flux (W m-2): ",physics%Interstitial%dqsfc1(1) + write(*,*) "Bowen ratio: ",physics%Interstitial(1)%dtsfc1(1)/physics%Interstitial(1)%dqsfc1(1) + write(*,*) "sensible heat flux (W m-2): ",physics%Interstitial(1)%dtsfc1(1) + write(*,*) "latent heat flux (W m-2): ",physics%Interstitial(1)%dqsfc1(1) end if if (.not. in_spinup) then diff --git a/scm/src/scm_output.F90 b/scm/src/scm_output.F90 index 413b5ccf2..15d12685c 100644 --- a/scm/src/scm_output.F90 +++ b/scm/src/scm_output.F90 @@ -90,7 +90,7 @@ subroutine output_init(scm_state, physics) CALL CHECK(NF90_DEF_DIM(NCID=ncid,NAME="hor_dim_layer",LEN=scm_state%n_cols,DIMID=hor_dim_id),"nf90_def_dim(hor_dim_layer)") CALL CHECK(NF90_DEF_DIM(NCID=ncid,NAME="vert_dim_layer",LEN=scm_state%n_levels,DIMID=vert_dim_id),"nf90_def_dim(vert_dim_layer)") CALL CHECK(NF90_DEF_DIM(NCID=ncid,NAME="vert_dim_interface",LEN=scm_state%n_levels+1,DIMID=vert_dim_i_id),"nf90_def_dim(vert_dim_interface)") - CALL CHECK(NF90_DEF_DIM(NCID=ncid,NAME="vert_dim_rad",LEN=physics%Interstitial%lmk,DIMID=vert_dim_rad_id),"nf90_def_dim(vert_dim_rad)") + CALL CHECK(NF90_DEF_DIM(NCID=ncid,NAME="vert_dim_rad",LEN=physics%Interstitial(1)%lmk,DIMID=vert_dim_rad_id),"nf90_def_dim(vert_dim_rad)") CALL CHECK(NF90_DEF_DIM(NCID=ncid,NAME="vert_dim_soil",LEN=physics%Model%lsoil_lsm,DIMID=vert_dim_soil_id),"nf90_def_dim(vert_dim_soil)") !> - Define the dimension variables. @@ -248,7 +248,7 @@ subroutine output_init_sfcprop(ncid, time_inst_id, hor_dim_id, vert_dim_soil_id, call NetCDF_def_var(ncid, 't2m', NF90_FLOAT, "2-m temperature", "K", dummy_id, (/ hor_dim_id, time_inst_id /)) call NetCDF_def_var(ncid, 'q2m', NF90_FLOAT, "2-m specific humidity", "kg kg-1", dummy_id, (/ hor_dim_id, time_inst_id /)) call NetCDF_def_var(ncid, 'ustar', NF90_FLOAT, "surface friction velocity", "m s-1", dummy_id, (/ hor_dim_id, time_inst_id /)) - call NetCDF_def_var(ncid, 'tsfc', NF90_FLOAT, "surface skin temperature", "m s-1K", dummy_id, (/ hor_dim_id, time_inst_id /)) + call NetCDF_def_var(ncid, 'tsfc', NF90_FLOAT, "surface skin temperature", "K", dummy_id, (/ hor_dim_id, time_inst_id /)) end subroutine output_init_sfcprop @@ -600,29 +600,29 @@ subroutine output_append_interstitial_inst(ncid, scm_state, physics) type(scm_state_type), intent(in) :: scm_state type(physics_type), intent(in) :: physics - call NetCDF_put_var(ncid, "tau_u", physics%Interstitial%dusfc1(:), scm_state%itt_out) - call NetCDF_put_var(ncid, "tau_v", physics%Interstitial%dvsfc1(:), scm_state%itt_out) + call NetCDF_put_var(ncid, "tau_u", physics%Interstitial(1)%dusfc1(:), scm_state%itt_out) + call NetCDF_put_var(ncid, "tau_v", physics%Interstitial(1)%dvsfc1(:), scm_state%itt_out) if (physics%model%imfdeepcnv >= 0 .or. physics%model%imfshalcnv >= 0) then call NetCDF_put_var(ncid, "upd_mf", physics%Tbd%ud_mf(:,:), scm_state%itt_out) end if - call NetCDF_put_var(ncid, "dwn_mf", physics%Interstitial%dd_mf(:,:), scm_state%itt_out) - call NetCDF_put_var(ncid, "det_mf", physics%Interstitial%dt_mf(:,:), scm_state%itt_out) - - call NetCDF_put_var(ncid, "sfc_up_lw_land", physics%Interstitial%adjsfculw_land(:), scm_state%itt_out) - call NetCDF_put_var(ncid, "sfc_up_lw_ice", physics%Interstitial%adjsfculw_ice(:), scm_state%itt_out) - call NetCDF_put_var(ncid, "sfc_up_lw_water", physics%Interstitial%adjsfculw_water(:), scm_state%itt_out) - call NetCDF_put_var(ncid, "sfc_up_sw_dir_nir", physics%Interstitial%adjnirbmu(:), scm_state%itt_out) - call NetCDF_put_var(ncid, "sfc_up_sw_dif_nir", physics%Interstitial%adjnirdfu(:), scm_state%itt_out) - call NetCDF_put_var(ncid, "sfc_up_sw_dir_vis", physics%Interstitial%adjvisbmu(:), scm_state%itt_out) - call NetCDF_put_var(ncid, "sfc_up_sw_dif_vis", physics%Interstitial%adjvisdfu(:), scm_state%itt_out) - call NetCDF_put_var(ncid, "sfc_dwn_sw_dir_nir", physics%Interstitial%adjnirbmd(:), scm_state%itt_out) - call NetCDF_put_var(ncid, "sfc_dwn_sw_dif_nir", physics%Interstitial%adjnirdfd(:), scm_state%itt_out) - call NetCDF_put_var(ncid, "sfc_dwn_sw_dir_vis", physics%Interstitial%adjvisbmd(:), scm_state%itt_out) - call NetCDF_put_var(ncid, "sfc_dwn_sw_dif_vis", physics%Interstitial%adjvisdfd(:), scm_state%itt_out) - - call NetCDF_put_var(ncid, "mp_prcp_inst", physics%Interstitial%prcpmp(:), scm_state%itt_out) - call NetCDF_put_var(ncid, "dcnv_prcp_inst", physics%Interstitial%raincd(:), scm_state%itt_out) - call NetCDF_put_var(ncid, "scnv_prcp_inst", physics%Interstitial%raincs(:), scm_state%itt_out) + call NetCDF_put_var(ncid, "dwn_mf", physics%Interstitial(1)%dd_mf(:,:), scm_state%itt_out) + call NetCDF_put_var(ncid, "det_mf", physics%Interstitial(1)%dt_mf(:,:), scm_state%itt_out) + + call NetCDF_put_var(ncid, "sfc_up_lw_land", physics%Interstitial(1)%adjsfculw_land(:), scm_state%itt_out) + call NetCDF_put_var(ncid, "sfc_up_lw_ice", physics%Interstitial(1)%adjsfculw_ice(:), scm_state%itt_out) + call NetCDF_put_var(ncid, "sfc_up_lw_water", physics%Interstitial(1)%adjsfculw_water(:), scm_state%itt_out) + call NetCDF_put_var(ncid, "sfc_up_sw_dir_nir", physics%Interstitial(1)%adjnirbmu(:), scm_state%itt_out) + call NetCDF_put_var(ncid, "sfc_up_sw_dif_nir", physics%Interstitial(1)%adjnirdfu(:), scm_state%itt_out) + call NetCDF_put_var(ncid, "sfc_up_sw_dir_vis", physics%Interstitial(1)%adjvisbmu(:), scm_state%itt_out) + call NetCDF_put_var(ncid, "sfc_up_sw_dif_vis", physics%Interstitial(1)%adjvisdfu(:), scm_state%itt_out) + call NetCDF_put_var(ncid, "sfc_dwn_sw_dir_nir", physics%Interstitial(1)%adjnirbmd(:), scm_state%itt_out) + call NetCDF_put_var(ncid, "sfc_dwn_sw_dif_nir", physics%Interstitial(1)%adjnirdfd(:), scm_state%itt_out) + call NetCDF_put_var(ncid, "sfc_dwn_sw_dir_vis", physics%Interstitial(1)%adjvisbmd(:), scm_state%itt_out) + call NetCDF_put_var(ncid, "sfc_dwn_sw_dif_vis", physics%Interstitial(1)%adjvisdfd(:), scm_state%itt_out) + + call NetCDF_put_var(ncid, "mp_prcp_inst", physics%Interstitial(1)%prcpmp(:), scm_state%itt_out) + call NetCDF_put_var(ncid, "dcnv_prcp_inst", physics%Interstitial(1)%raincd(:), scm_state%itt_out) + call NetCDF_put_var(ncid, "scnv_prcp_inst", physics%Interstitial(1)%raincs(:), scm_state%itt_out) end subroutine output_append_interstitial_inst @@ -634,15 +634,15 @@ subroutine output_append_interstitial_rad(ncid, scm_state, physics) type(scm_state_type), intent(in) :: scm_state type(physics_type), intent(in) :: physics - call NetCDF_put_var(ncid, "rad_cloud_fraction", physics%Interstitial%clouds(:,:,1), scm_state%itt_rad) - call NetCDF_put_var(ncid, "rad_cloud_lwp", physics%Interstitial%clouds(:,:,2), scm_state%itt_rad) - call NetCDF_put_var(ncid, "rad_eff_rad_ql", physics%Interstitial%clouds(:,:,3), scm_state%itt_rad) - call NetCDF_put_var(ncid, "rad_cloud_iwp", physics%Interstitial%clouds(:,:,4), scm_state%itt_rad) - call NetCDF_put_var(ncid, "rad_eff_rad_qi", physics%Interstitial%clouds(:,:,5), scm_state%itt_rad) - call NetCDF_put_var(ncid, "rad_cloud_rwp", physics%Interstitial%clouds(:,:,6), scm_state%itt_rad) - call NetCDF_put_var(ncid, "rad_eff_rad_qr", physics%Interstitial%clouds(:,:,7), scm_state%itt_rad) - call NetCDF_put_var(ncid, "rad_cloud_swp", physics%Interstitial%clouds(:,:,8), scm_state%itt_rad) - call NetCDF_put_var(ncid, "rad_eff_rad_qs", physics%Interstitial%clouds(:,:,9), scm_state%itt_rad) + call NetCDF_put_var(ncid, "rad_cloud_fraction", physics%Interstitial(1)%clouds(:,:,1), scm_state%itt_rad) + call NetCDF_put_var(ncid, "rad_cloud_lwp", physics%Interstitial(1)%clouds(:,:,2), scm_state%itt_rad) + call NetCDF_put_var(ncid, "rad_eff_rad_ql", physics%Interstitial(1)%clouds(:,:,3), scm_state%itt_rad) + call NetCDF_put_var(ncid, "rad_cloud_iwp", physics%Interstitial(1)%clouds(:,:,4), scm_state%itt_rad) + call NetCDF_put_var(ncid, "rad_eff_rad_qi", physics%Interstitial(1)%clouds(:,:,5), scm_state%itt_rad) + call NetCDF_put_var(ncid, "rad_cloud_rwp", physics%Interstitial(1)%clouds(:,:,6), scm_state%itt_rad) + call NetCDF_put_var(ncid, "rad_eff_rad_qr", physics%Interstitial(1)%clouds(:,:,7), scm_state%itt_rad) + call NetCDF_put_var(ncid, "rad_cloud_swp", physics%Interstitial(1)%clouds(:,:,8), scm_state%itt_rad) + call NetCDF_put_var(ncid, "rad_eff_rad_qs", physics%Interstitial(1)%clouds(:,:,9), scm_state%itt_rad) end subroutine output_append_interstitial_rad diff --git a/scm/src/scm_setup.F90 b/scm/src/scm_setup.F90 index 811844dc0..b3603e88f 100644 --- a/scm/src/scm_setup.F90 +++ b/scm/src/scm_setup.F90 @@ -308,7 +308,7 @@ subroutine GFS_suite_setup (Model, Statein, Stateout, Sfcprop, type(GFS_cldprop_type), intent(inout) :: Cldprop type(GFS_radtend_type), intent(inout) :: Radtend type(GFS_diag_type), intent(inout) :: Diag - type(GFS_interstitial_type), intent(inout) :: Interstitial + type(GFS_interstitial_type), intent(inout) :: Interstitial(:) type(GFS_init_type), intent(in) :: Init_parm integer, intent(in) :: ntasks, nthreads, n_cols @@ -337,18 +337,23 @@ subroutine GFS_suite_setup (Model, Statein, Stateout, Sfcprop, !--- initialize DDTs - call Statein%create(n_cols, Model) - call Stateout%create(n_cols, Model) - call Sfcprop%create(n_cols, Model) - call Coupling%create(n_cols, Model) - call Grid%create(n_cols, Model) - call Tbd%create(n_cols, Model) - call Cldprop%create(n_cols, Model) - call Radtend%create(n_cols, Model) + call Statein%create(Model) + call Stateout%create(Model) + call Sfcprop%create(Model) + call Coupling%create(Model) + call Grid%create(Model) + call Tbd%create(Model) + call Cldprop%create(Model) + call Radtend%create(Model) !--- internal representation of diagnostics - call Diag%create(n_cols, Model) + call Diag%create(Model) !--- internal representation of interstitials for CCPP physics - call Interstitial%create(n_cols, Model) + if (nthreads == 1) then + call Interstitial(1)%create(n_cols, Model) + else + print *,' CCPP SCM is only set up to use one thread - shutting down' + error stop + end if !--- populate the grid components !call GFS_grid_populate (Grid(i), Init_parm%xlon, Init_parm%xlat, Init_parm%area) diff --git a/scm/src/scm_type_defs.F90 b/scm/src/scm_type_defs.F90 index ba9728f7d..98673c498 100644 --- a/scm/src/scm_type_defs.F90 +++ b/scm/src/scm_type_defs.F90 @@ -48,7 +48,7 @@ module scm_type_defs type(GFS_cldprop_type) :: Cldprop type(GFS_radtend_type) :: Radtend type(GFS_diag_type) :: Diag - type(GFS_interstitial_type) :: Interstitial + type(GFS_interstitial_type), allocatable :: Interstitial(:) type(GFS_init_type) :: Init_parm contains procedure :: create => physics_create @@ -954,15 +954,17 @@ subroutine scm_reference_create(scm_reference, nlev) end subroutine scm_reference_create - subroutine physics_create(physics, n_columns) + subroutine physics_create(physics, n_columns, n_threads) class(physics_type) :: physics - integer, intent(in) :: n_columns + integer, intent(in) :: n_columns, n_threads real(kind=kind_phys) :: kind_phys_zero integer :: i integer, dimension(8) :: zeroes_8 - + + allocate(physics%Interstitial(n_threads)) + zeroes_8(:) = int_zero kind_phys_zero = real_zero @@ -1136,7 +1138,7 @@ subroutine physics_set(physics, scm_input, scm_state) call conditionally_set_var(scm_input%input_facwf, physics%Sfcprop%facwf(i), "facwf", .true., missing_var(11)) call conditionally_set_var(scm_input%input_vegfrac, physics%Sfcprop%vfrac(i), "vegfrac", .true., missing_var(12)) !GJF: is this needed anymore (not in FV3GFS_io)? - physics%Interstitial%sigmaf(i) = min(physics%Sfcprop%vfrac(i),0.01) + physics%Interstitial(1)%sigmaf(i) = min(physics%Sfcprop%vfrac(i),0.01) call conditionally_set_var(scm_input%input_canopy, physics%Sfcprop%canopy(i), "canopy", .true., missing_var(13)) call conditionally_set_var(scm_input%input_f10m, physics%Sfcprop%f10m(i), "f10m", .false., missing_var(14)) call conditionally_set_var(scm_input%input_t2m, physics%Sfcprop%t2m(i), "t2m", physics%Model%cplflx, missing_var(15)) diff --git a/scm/src/scm_type_defs.meta b/scm/src/scm_type_defs.meta index 296930691..2643fe9ab 100644 --- a/scm/src/scm_type_defs.meta +++ b/scm/src/scm_type_defs.meta @@ -101,7 +101,7 @@ standard_name = GFS_interstitial_type long_name = instance of derived type GFS_interstitial_type units = DDT - dimensions = () + dimensions = (number_of_openmp_threads) type = GFS_interstitial_type [Init_parm] standard_name = GFS_init_type diff --git a/scm/src/suite_info.py b/scm/src/suite_info.py index 494b5dffb..56de9bbcd 100755 --- a/scm/src/suite_info.py +++ b/scm/src/suite_info.py @@ -72,6 +72,7 @@ def timestep(self, value): suite_list.append(suite('SCM_GSD_v1', 'tracers_gsd.txt', 'input_GSD_v1.nml', 600.0, 600.0 , False)) suite_list.append(suite('SCM_RRFS_v1nssl', 'tracers_RRFS_v1nssl_nohail_noccn.txt', 'input_RRFS_v1nssl_nohailnoccn.nml', 600.0, 600.0 , False)) suite_list.append(suite('SCM_csawmg', 'tracers_csawmg.txt', 'input_csawmg.nml', 600.0, 1800.0, False)) +suite_list.append(suite('SCM_GFS_v16_debug', 'tracers_GFS_v16.txt', 'input_GFS_v16.nml', 600.0, 1800.0, False)) def main(): diff --git a/test/cmp_rt2bl.py b/test/cmp_rt2bl.py index f29ed5218..7560d1b61 100755 --- a/test/cmp_rt2bl.py +++ b/test/cmp_rt2bl.py @@ -14,20 +14,22 @@ # parser = argparse.ArgumentParser() -parser.add_argument('-drt', '--dir_rt', help='Directory containing SCM RT output', required=True) -parser.add_argument('-dbl', '--dir_bl', help='Directory containing SCM RT baselines', required=True) +parser.add_argument('-drt', '--dir_rt', help='Directory containing SCM RT output', required=True) +parser.add_argument('-dbl', '--dir_bl', help='Directory containing SCM RT baselines', required=True) +parser.add_argument('-np', '--no_plots', help='flag to turn off generation of difference plots', required=False, action='store_true') # def parse_args(): args = parser.parse_args() dir_rt = args.dir_rt dir_bl = args.dir_bl - return (dir_rt, dir_bl) + no_plots = args.no_plots + return (dir_rt, dir_bl, no_plots) # def main(): # - (dir_rt, dir_bl) = parse_args() + (dir_rt, dir_bl, no_plots) = parse_args() # error_count = 0 @@ -38,14 +40,17 @@ def main(): com = "cmp "+file_rt+" "+file_bl+" > logfile.txt" result = os.system(com) if (result != 0): - print("Output for "+run["case"]+"_"+run["suite"]+ " DIFFERS from baseline. Difference plots will be created") + message = "Output for "+run["case"]+"_"+run["suite"]+ " DIFFERS from baseline." + if (not no_plots): + message += " Difference plots will be created." + print(message) error_count = error_count + 1 else: print("Output for "+run["case"]+"_"+run["suite"]+ " is IDENTICAL to baseline") # end if # Create plots between RTs and baselines (only if differences exist) - if (result != 0): + if (result != 0 and not no_plots): plot_files = plot_results(file_bl, file_rt) # Setup output directories for plots. @@ -71,7 +76,8 @@ def main(): # end for # Create tarball with plots. - result = os.system('tar -cvf scm_rt_out.tar scm_rt_out/*') + if (not no_plots): + result = os.system('tar -cvf scm_rt_out.tar scm_rt_out/*') # if error_count == 0: diff --git a/test/rt_test_cases.py b/test/rt_test_cases.py index 1660b48c9..2fba45bfb 100644 --- a/test/rt_test_cases.py +++ b/test/rt_test_cases.py @@ -56,6 +56,7 @@ {"case": "bomex", "suite": "SCM_RRFS_v1beta"}, \ {"case": "bomex", "suite": "SCM_RAP"}, \ {"case": "bomex", "suite": "SCM_GFS_v15p2"}, \ + {"case": "bomex", "suite": "SCM_GFS_v16_debug"}, \ {"case": "astex", "suite": "SCM_GFS_v17_p8"}, \ {"case": "astex", "suite": "SCM_HRRR"}, \ {"case": "astex", "suite": "SCM_RRFS_v1beta"}, \