From 3fa48b2ad199a66921451d1cc8d063452fb92f96 Mon Sep 17 00:00:00 2001 From: Steve Goldhaber Date: Fri, 25 Aug 2023 11:48:20 +0200 Subject: [PATCH] Modifications to 'noresm_v4_cam6_3_112-13-g7c4d42ad' for merging with CAM-Nor - Configuration and code changes from ESCOMP between cam6_3_112 and cam6_3_123 - Adjust compsets, tests, and externals to be compatible with cam6_3_123 settings. --- .gitignore | 1 + Externals.cfg | 24 +-- Externals_CAM.cfg | 50 +++-- bld/config_files/definition.xml | 12 +- bld/configure | 46 ++++- bld/namelist_files/namelist_defaults_cam.xml | 191 +++++++++++++------ bld/namelist_files/namelist_definition.xml | 169 +++++++++++++++- cime_config/config_component.xml | 21 +- cime_config/config_compsets.xml | 40 +++- cime_config/testdefs/testlist_cam.xml | 4 +- 10 files changed, 446 insertions(+), 112 deletions(-) diff --git a/.gitignore b/.gitignore index fbccc45e74..6beb06fc54 100644 --- a/.gitignore +++ b/.gitignore @@ -13,6 +13,7 @@ src/physics/silhs src/physics/pumas src/physics/pumas-frozen src/dynamics/fv3/atmos_cubed_sphere +src/hemco libraries/FMS libraries/mct libraries/parallelio diff --git a/Externals.cfg b/Externals.cfg index 133bfa0561..45d8422403 100644 --- a/Externals.cfg +++ b/Externals.cfg @@ -3,15 +3,15 @@ #----------------------------- [parallelio] -tag = pio2_5_10 protocol = git +tag = pio2_5_10 repo_url = https://github.com/NCAR/ParallelIO local_path = libraries/parallelio required = True [mct] -tag = MCT_2.11.0 protocol = git +tag = MCT_2.11.0 repo_url = https://github.com/MCSclimate/MCT local_path = libraries/mct required = True @@ -21,15 +21,15 @@ required = True #----------------------------- [ccs_config] -tag = ccs_config_noresm0.0.13 protocol = git +tag = ccs_config_noresm0.0.14 repo_url = https://github.com/NorESMhub/ccs_config_noresm.git local_path = ccs_config required = True [cime] -tag = cime6.0.105_noresm_v2 protocol = git +tag = cime6.0.105_noresm_v4 repo_url = https://github.com/NorESMhub/cime.git local_path = cime required = True @@ -39,8 +39,8 @@ required = True #----------------------------- [share] -tag = share1.0.17_noresm_v1 protocol = git +tag = share1.0.17_noresm_v1 repo_url = https://github.com/NorESMHub/NorESM_share local_path = share required = True @@ -50,24 +50,24 @@ required = True #----------------------------- [cice6] -tag = cesm_cice6_4_1_7_noresm_v1 protocol = git +tag = cesm_cice6_4_1_7_noresm_v1 repo_url = https://github.com/NorESMhub/NorESM_CICE local_path = components/cice externals = Externals.cfg required = True [cdeps] -tag = cdeps1.0.10 protocol = git +tag = cdeps1.0.10 repo_url = https://github.com/NorESMhub/CDEPS.git local_path = components/cdeps externals = Externals_CDEPS.cfg required = True [cmeps] -tag = cmeps0.14.32_noresm_v0 protocol = git +tag = cmeps0.14.32_noresm_v2 repo_url = https://github.com/NorESMhub/CMEPS.git local_path = components/cmeps required = True @@ -81,30 +81,30 @@ externals = Externals_CISM.cfg required = True [clm] -tag = ctsm5.1.dev124-noresm_v1 protocol = git +tag = ctsm5.1dev130-noresm_v1 repo_url = https://github.com/NorESMhub/CTSM local_path = components/clm externals = Externals_CLM.cfg required = True [mosart] -tag = mosart1_0_48_noresm_v1 protocol = git +tag = mosart1_0_48_noresm_v1 repo_url = https://github.com/NorESMhub/MOSART local_path = components/mosart required = True [rtm] -tag = rtm1_0_78 protocol = git +tag = rtm1_0_78 repo_url = https://github.com/ESCOMP/RTM local_path = components/rtm required = True [cam] -local_path = . protocol = externals_only +local_path = . externals = Externals_CAM.cfg required = True diff --git a/Externals_CAM.cfg b/Externals_CAM.cfg index 539a9c7361..4a43ae2d5d 100644 --- a/Externals_CAM.cfg +++ b/Externals_CAM.cfg @@ -1,72 +1,80 @@ [chem_proc] -local_path = chem_proc protocol = git -repo_url = https://github.com/ESCOMP/CHEM_PREPROCESSOR.git tag = chem_proc5_0_05 +repo_url = https://github.com/ESCOMP/CHEM_PREPROCESSOR.git +local_path = chem_proc required = True [carma] -local_path = src/physics/carma/base protocol = git -repo_url = https://github.com/ESCOMP/CARMA_base.git tag = carma4_00 +repo_url = https://github.com/ESCOMP/CARMA_base.git +local_path = src/physics/carma/base required = True [cosp2] -local_path = src/physics/cosp2/src protocol = svn -repo_url = https://github.com/CFMIP/COSPv2.0/tags/ tag = v2.1.4cesm/src +repo_url = https://github.com/CFMIP/COSPv2.0/tags/ +local_path = src/physics/cosp2/src required = True [clubb] -local_path = src/physics/clubb protocol = svn -repo_url = https://github.com/larson-group/clubb_release/tags/ tag = clubb_4ncar_20221129_59cb19f_20230330_branchtag/src/CLUBB_core +repo_url = https://github.com/larson-group/clubb_release/tags/ +local_path = src/physics/clubb required = True [silhs] -local_path = src/physics/silhs protocol = svn -repo_url = https://github.com/larson-group/clubb_release/tags/ tag = clubb_4ncar_20221129_59cb19f_20230330_branchtag/src/SILHS +repo_url = https://github.com/larson-group/clubb_release/tags/ +local_path = src/physics/silhs required = True [pumas] -local_path = src/physics/pumas protocol = git -repo_url = https://github.com/ESCOMP/PUMAS tag = pumas_cam-release_v1.29 +repo_url = https://github.com/ESCOMP/PUMAS +local_path = src/physics/pumas required = True [pumas-frozen] -local_path = src/physics/pumas-frozen protocol = git -repo_url = https://github.com/ESCOMP/PUMAS tag = pumas_cam-release_v1.17_rename +repo_url = https://github.com/ESCOMP/PUMAS +local_path = src/physics/pumas-frozen required = True [ali_arms] -local_path = src/physics/ali_arms protocol = git +tag = ALI_ARMS_v1.0.1 repo_url = https://github.com/ESCOMP/ALI-ARMS -tag = ALI_ARMS_v1.0.0 +local_path = src/physics/ali_arms required = True [atmos_phys] -tag = atmos_phys0_00_011 protocol = git +tag = atmos_phys0_00_011 repo_url = https://github.com/NCAR/atmospheric_physics -required = True local_path = src/atmos_phys +required = True [camnor_phys] -tag = camnor_noresm_v0.0.1 protocol = git +tag = camnor_noresm_v0.0.3 repo_url = https://github.com/NorESMhub/CAM-Nor-physics -required = True local_path = src/physics/camnor_phys +required = True + +[hemco] +protocol = git +tag = hemco-cesm1_2_0_hemco3_6_2_cesm +repo_url = https://github.com/ESCOMP/HEMCO_CESM.git +local_path = src/hemco +required = True +externals = Externals_HCO.cfg [externals_description] -schema_version = 1.0.0 +schema_version = 1.0.01 diff --git a/bld/config_files/definition.xml b/bld/config_files/definition.xml index f286a6ff29..251669792a 100644 --- a/bld/config_files/definition.xml +++ b/bld/config_files/definition.xml @@ -46,14 +46,22 @@ Switch to turn on analytic initial conditions for the dynamics state: 0 => no 1 => yes. + +Model top specifier - set by compset definition + lt: ~ 40 km top + mt: ~ 80 km top + Option to turn on waccmx thermosphere/ionosphere extension: 0 => no, 1 => yes Ionosphere model used in WACCMX. - -Physics package: cam3, cam4, cam5, cam6, cam_dev, held_suarez, adiabatic, kessler, tj2016, spcam_sam1mom, spcam_m2005. + +Physics package: cam3, cam4, cam5, cam6, cam_dev, held_suarez, adiabatic, kessler, tj2016, grayrad, spcam_sam1mom, spcam_m2005. + + +Switch to turn on Harmonized Emissions Component (HEMCO) for chemistry: 0 => no, 1 => yes. Option to turn on NorESM modifications to baseline CESM/CAM physics and dynamics diff --git a/bld/configure b/bld/configure index 724694f850..dce056db30 100755 --- a/bld/configure +++ b/bld/configure @@ -90,6 +90,7 @@ OPTIONS -max_n_rad_cnst Maximum number of constituents that are either radiatively active, or in any single diagnostic list for the radiation. -microphys Specify the microphysics option [mg1 | mg2 | mg3| rk]. + -model_top Specify the model_top option [ lt | mt ]. -nadv Set total number of advected species to . -nadv_tt Set number of advected test tracers . -nlev Set number of levels to . @@ -98,7 +99,7 @@ OPTIONS -pcols Set maximum number of columns in a chunk to . -pergro Switch enables building CAM for perturbation growth tests. -phys Physics option [cam3 | cam4 | cam5 | cam6 | cam_dev | - held_suarez | adiabatic | kessler | tj2016 | + held_suarez | adiabatic | kessler | tj2016 | grayrad | spcam_sam1mom | spcam_m2005]. Default: cam6 -prog_species Comma-separate list of prognostic mozart species packages. Currently available: DST,SSLT,SO4,GHG,OC,BC,CARBON16 @@ -270,6 +271,7 @@ GetOptions( "max_n_rad_cnst=s" => \$opts{'max_n_rad_cnst'}, "mct_libdir=s" => \$opts{'mct_libdir'}, "microphys=s" => \$opts{'microphys'}, + "model_top=s" => \$opts{'model_top'}, "mpi_inc=s" => \$opts{'mpi_inc'}, "mpi_lib=s" => \$opts{'mpi_lib'}, "nadv=s" => \$opts{'nadv'}, @@ -574,7 +576,7 @@ if ($print>=2) { # Set flag to indicate a simple physics option my $simple_phys = 0; -if ($phys_pkg =~ m/^adiabatic$|^held_suarez$|^kessler$|^tj2016$/) { +if ($phys_pkg =~ m/^adiabatic$|^held_suarez$|^kessler$|^tj2016$|^grayrad$/) { $simple_phys = 1; } @@ -687,6 +689,18 @@ my $max_n_rad_cnst = $cfg_ref->get('max_n_rad_cnst'); if ($print>=2) { print "Maximum radiatively active tracers: $max_n_rad_cnst$eol"; } +#----------------------------------------------------------------------------------------------- +# model_top - not set by default +my $model_top = 'none'; +$cfg_ref->set('model_top', $model_top); + +# user override +if (defined $opts{'model_top'}) { + $cfg_ref->set('model_top', $opts{'model_top'}); +} +if ($print>=2) { print "model_top: $model_top$eol"; } + + #----------------------------------------------------------------------------------------------- # waccm physics my $waccm_phys = 0; @@ -1559,6 +1573,8 @@ $nadv = $cfg_ref->get('nadv'); if ($print>=2) { print "Total advected constituents: $nadv$eol"; } #----------------------------------------------------------------------------------------------- + +##----------------------------------------------------------------------------------------------- # Makefile configuration ####################################################################### #----------------------------------------------------------------------------------------------- @@ -1913,9 +1929,20 @@ if ($silhs == 1) { $cfg_cppdefs .= ' -DSILHS'; } +# Simple Models +if ($simple_phys) { $cfg_cppdefs .= ' -DSIMPLE'; } + # UNICON if ($unicon) { $cfg_cppdefs .= ' -DUSE_UNICON'; } +# Harmonized Emissions Component (HEMCO) +# These CPP definitions are used by HEMCO to recognize - +# MODEL_ - HEMCO/GEOS-Chem components running in model environment +# MODEL_CESM - ...within CESM +# USE_REAL8 - HEMCO/GEOS-Chem should use real8 internal precision +# HEMCO_CESM - indicates CESM model environment. Deprecated, will be removed soon. +$cfg_cppdefs .= ' -DMODEL_ -DMODEL_CESM -DHEMCO_CESM -DUSE_REAL8 '; + #----------------------------------------------------------------------------------------------- # CPP defines to put on Makefile @@ -2125,6 +2152,21 @@ sub write_filepath print $fh "$camsrcdir/src/ionosphere\n"; print $fh "$camsrcdir/src/chemistry/mozart\n"; + + print $fh "$camsrcdir/src/hemco\n"; + + # shared dependencies for HEMCO (Harmonized Emissions Component) + print $fh "$camsrcdir/src/hemco/HEMCO/src/Shared\n"; + print $fh "$camsrcdir/src/hemco/HEMCO/src/Shared/Headers\n"; + print $fh "$camsrcdir/src/hemco/HEMCO/src/Shared/GeosUtil\n"; + print $fh "$camsrcdir/src/hemco/HEMCO/src/Shared/NcdfUtil\n"; + + # HEMCO source code directory paths from HEMCO external + print $fh "$camsrcdir/src/hemco/HEMCO/src/Core\n"; + print $fh "$camsrcdir/src/hemco/HEMCO/src/Extensions\n"; + print $fh "$camsrcdir/src/hemco/HEMCO/src/Interfaces/Shared\n"; + + print $fh "$camsrcdir/src/chemistry/utils\n"; if ($rad eq 'rrtmg') { diff --git a/bld/namelist_files/namelist_defaults_cam.xml b/bld/namelist_files/namelist_defaults_cam.xml index 0db8c5b711..dbeae32f17 100644 --- a/bld/namelist_files/namelist_defaults_cam.xml +++ b/bld/namelist_files/namelist_defaults_cam.xml @@ -78,6 +78,7 @@ atm/cam/inic/fv/f.e22.FC2010climo.f09_f09_mg17.cam6_2_022.001.cam.i.0016-01-01-00000_c200610.nc atm/cam/inic/fv/f.e22.FC2010climo.f09_f09_mg17.cam6_2_022.001.cam.i.0016-01-01-00000_c200610.nc atm/cam/inic/fv/f.e22.FC2010climo.f09_f09_mg17.cam6_2_022.001.cam.i.0016-01-01-00000_c200610.nc +atm/cam/inic/fv/FC2000mam5_f10_0002-01-01_c221214.nc atm/cam/inic/fv/cami-mam3_0000-01-01_0.9x1.25_L32_c141031.nc atm/cam/inic/fv/cami-mam3_0000-01-01_1.9x2.5_L32_c150407.nc atm/cam/inic/fv/cami-mam4_0000-01-01_10x15_L32_c170914.nc @@ -123,10 +124,9 @@ atm/cam/inic/se/f.e22.FCnudged.ne0CONUSne30x8_ne0CONUSne30x8_mt12.cam6_2_032.002.cam.i.2013-01-01-00000_c200623.nc atm/cam/inic/se/f.e22.FCnudged.ne30_ne30_mg17.release-cesm2.2.0_spinup.2010_2020.001.cam.i.2011-01-01-00000_L58_c220310.nc atm/cam/inic/se/FCMTHIST_ne30pg3_1980-01-01_c221214.nc -atm/cam/inic/fv/FC2000mam5_f10_0002-01-01_c221214.nc -atm/cam/inic/se/FWsc_ne30pg3_58L_GRID_48_taperstart10km_lowtop_BL10_v3_beta1p75_Top_43km.nc -atm/cam/inic/se/L93_ne30pg3_ne30pg3_mg17_450_short.cam.i.1979-01-07-00000.nc +atm/cam/inic/se/FLT_L58_ne30pg3_IC_c220623.nc +atm/cam/inic/se/cam7_FMT_ne30pg3_mg17_L93_c221118.nc atm/cam/chem/trop_mozart/ic/cami_0000-09-01_4x5_L26_c060217.nc atm/cam/chem/trop_mozart/ic/cami_0000-09-01_10x15_L26_c060216.nc @@ -217,8 +217,12 @@ atm/cam/inic/gaus/cami_0000-09-01_8x16_L26_c030918.nc atm/cam/inic/gaus/cami_0000-01-01_8x16_L30_c090102.nc +atm/cam/inic/se/cam6_QPC6_topo_ne3pg3_mg37_L32_01-01-31_c221214.nc +atm/cam/inic/se/cam6_QPC6_topo_ne3pg3_mg37_L58_01-01-31_c221214.nc +atm/cam/inic/se/cam6_QPC6_topo_ne3pg3_mg37_L93_01-01-31_c221214.nc +atm/cam/inic/se/F2000climo_ne5pg3_mg37_L32_01-01-31_c230520.nc +atm/cam/inic/se/F2000climo_ne5pg3_mg37_L58_01-01-31_c230520.nc -atm/cam/inic/homme/cami-mam3_0000-01_ne5np4_L30.140707.nc atm/cam/inic/se/ape_topo_cam4_ne16np4_L26_c171020.nc atm/cam/inic/se/ape_topo_cam4_ne16np4_L30_c171020.nc atm/cam/inic/se/ape_topo_cam4_ne16np4_L32_c171020.nc @@ -236,6 +240,9 @@ atm/cam/inic/homme/cami-mam3_0000-01-ne240np4_L30_c111004.nc +atm/cam/inic/se/cam6_QPC6_aqua_ne3pg3_mg37_L32_01-01-31_c221214.nc +atm/cam/inic/se/cam6_QPC6_aqua_ne3pg3_mg37_L58_01-01-31_c221214.nc +atm/cam/inic/se/cam6_QPC6_aqua_ne3pg3_mg37_L93_01-01-31_c221214.nc atm/cam/inic/se/ape_cam4_ne5np4_L26_c170517.nc atm/cam/inic/se/ape_cam4_ne16np4_L26_c170417.nc atm/cam/inic/se/ape_cam4_ne30np4_L26_c170417.nc @@ -361,6 +368,24 @@ held_suarez_1994 moist_baroclinic_wave_dcmip2016 moist_baroclinic_wave_dcmip2016 + moist_baroclinic_wave_dcmip2016 + + + + 1.0d-5 + 3.21d-5 + 1.0d0 + 0.1d0 + 0.310d0 + 1.4d0 + 6.0d0 + 1.5d0 + 0.1d0 + 1.d7 + 1.d0 + 271.d0 + 39.d0 + 26.d0 @@ -691,6 +716,7 @@ 3.00D-15 7.5D-16 3.0D-15 + 30.D0 @@ -705,6 +731,8 @@ 0.7D0 0.4D0 +0.30D0 +0.70D0 0.55D0 0.5D0 0.5D0 @@ -713,8 +741,17 @@ 0.5D0 0.5D0 0.5D0 + 0.0625D0 +1.0D0 +0.5D0 +0.5D0 + +1.0D0 +0.5D0 +0.5D0 + 0.03D0 @@ -745,9 +782,8 @@ .true. .true. .true. -.true. -.false. -.false. +.true. +.false. .false. .false. .false. @@ -797,15 +833,15 @@ 320x385 -atm/cam/coords/fv0.47x0.63_esmf_c210305.nc -atm/cam/coords/fv0.9x1.25_esmf_c210305.nc -atm/cam/coords/fv1.9x2.5_esmf_200428.nc -atm/cam/coords/fv4x5_esmf_c210305.nc -atm/cam/coords/ne5np4_esmf_20191204.nc -atm/cam/coords/ne5np4.pg3_esmf_mesh_c210121.nc -atm/cam/coords/ne16np4_esmf_c210305.nc -atm/cam/coords/ne30np4_esmf_c210305.nc -atm/cam/coords/ne30pg3_esmf_20200428.nc +atm/cam/coords/fv0.47x0.63_esmf_c210305.nc +atm/cam/coords/fv0.9x1.25_esmf_c210305.nc +atm/cam/coords/fv1.9x2.5_esmf_200428.nc +atm/cam/coords/fv4x5_esmf_c210305.nc +atm/cam/coords/ne5np4_esmf_20191204.nc +atm/cam/coords/ne5np4.pg3_esmf_mesh_c210121.nc +atm/cam/coords/ne16np4_esmf_c210305.nc +atm/cam/coords/ne30np4_esmf_c210305.nc +atm/cam/coords/ne30pg3_esmf_20200428.nc 1.00D0 @@ -1859,8 +1895,10 @@ atm/cam/chem/trop_mam/atmsrf_ne3np4.pg3_cdf5_c221214.nc +atm/cam/chem/trop_mam/atmsrf_ne5pg3_201105.nc atm/cam/chem/trop_mam/atmsrf_ne5np4_cdf5_110920.nc atm/cam/chem/trop_mam/atmsrf_ne16np4_cdf5_110920.nc +atm/cam/chem/trop_mam/atmsrf_ne16pg3_c230520.nc atm/cam/chem/trop_mam/atmsrf_ne30np4_cdf5_110920.nc atm/cam/chem/trop_mam/atmsrf_ne30pg3_cdf5_180522.nc atm/cam/chem/trop_mam/atmsrf_ne60np4_110920.nc @@ -1995,6 +2033,7 @@ 6.0 1.0 0.5 + 0.1 0.5 4.2 0.0 @@ -2013,6 +2052,7 @@ 1.25 0.25 0.3 + 0.1 0.3 0.0 0.4 @@ -2023,7 +2063,7 @@ .true. .false. 0.308 - 0.280 + 0.280 0.270 0.32 2 @@ -2047,10 +2087,11 @@ .true. .true. .true. - .false. - .false. + .true. + .true. .false. .false. + .true. .false. .false. .false. @@ -2145,21 +2186,13 @@ 1 0 1 - 400.D-6 - - 2 - 0 - 1 - 500.D-6 - 390.D-6 - 200.D-6 - - 3 - 0 - 1 - 500.D-6 - 390.D-6 - 200.D-6 + 2 + 0 + 1 + + 3 + 0 + 1 .false. .true. @@ -2190,6 +2223,7 @@ 1.D0 1.D0 + 2.5D0 0.2D0 @@ -2199,7 +2233,7 @@ 25.D-6 1.D0 - 1.D0 + 0.5D0 1.D0 1.D0 @@ -2334,7 +2368,7 @@ 0.55D0 0.22D0 0.70D0 -0.70D0 +0.80D0 0.8D0 0.8D0 0.8D0 @@ -2370,13 +2404,14 @@ -1.35D0 -1.62D0 -0.90D0 -1.00D0 -1.10D0 -1.2D0 -0.60D0 +1.35D0 +1.62D0 +0.90D0 +1.00D0 +1.5D0 +1.10D0 +1.2D0 +0.60D0 1.0D0 @@ -2980,12 +3015,12 @@ 3.22D0 - 3 - 2 - 4 - 4 - 3 - 1 + 3 + 2 + 4 + 4 + 3 + 1 1 20 @@ -3012,9 +3047,9 @@ -1 - 1.25e5 - 1.0e6 - 1.0e6 + 1.25e5 + 1.0e6 + 1.0e6 0.0 1.0 @@ -3034,18 +3069,18 @@ 2 1 - 3 - 5 - 3 - 5 - 3 - 10 + 3 + 5 + 3 + 5 + 3 + 10 7 3 4 - 6 + 6 3 -1 @@ -3140,6 +3175,17 @@ + + 'O3S_Loss = 2.0*O_O3 + O1D_H2O + HO2_O + HO2_O3 + OH_O + OH_O3 + H_O3 + 2.0*NO2_O + 2.0*jno3_b + 2.0*CLO_O + 2.0*jcl2o2 + ', + '2.0*CLO_CLOa + 2.0*CLO_CLOb + 2.0*BRO_CLOb + 2.0*BRO_CLOc + 2.0*BRO_BRO + 2.0*BRO_O + CLO_HO2 + BRO_HO2 + S_O3' + + + 'O3S_Loss = 2.0*O_O3 + O1D_H2O + HO2_O + HO2_O3 + OH_O + OH_O3 + H_O3 + 2.0*NO2_O + 2.0*jno3_b + 2.0*CLO_O + 2.0*jcl2o2 + ', + '2.0*CLO_CLOa + 2.0*CLO_CLOb + 2.0*BRO_CLOb + 2.0*BRO_CLOc + 2.0*BRO_BRO + 2.0*BRO_O + CLO_HO2 + BRO_HO2 + S_O3', + 'SolIonRate_Tot = jeuv_1 + jeuv_2 + jeuv_3 + jeuv_4 + jeuv_5 + jeuv_6 + jeuv_7 + jeuv_8 + jeuv_9 + jeuv_10 + jeuv_11 + ', + 'jeuv_14 + jeuv_15 + jeuv_16 + jeuv_17 + jeuv_18 + jeuv_19 + jeuv_20 + jeuv_21 + jeuv_22 + jeuv_23', + + 'O3_Prod = NO_HO2 + CH3O2_NO + HOCH2OO_NO + C2H5O2_NO + CH3CO3_NO + EO2_NO + C3H7O2_NO + PO2_NO + ', 'RO2_NO + ENEO2_NO + MACRO2_NOa + jhonitr + ', @@ -3291,4 +3337,31 @@ ' C3H6_O3 + ISOP_O3 + MVK_O3 + MACR_O3 + MTERP_O3 + BCARY_O3 + S_O3 + SO_O3' + +.false. +atm/cam/geoschem/emis/ExtData/HEMCO +atm/cam/geoschem/emis/HEMCO_Config.CC.CEDS_AEIC19.NEx.c230615.rc +atm/cam/geoschem/emis/HEMCO_Diagn.3_5_0.c230307.rc +-1 + + +144 +91 + + +576 +361 + + +288 +201 + + +288 +201 + + +144 +91 + diff --git a/bld/namelist_files/namelist_definition.xml b/bld/namelist_files/namelist_definition.xml index 14a8864857..01775aca60 100644 --- a/bld/namelist_files/namelist_definition.xml +++ b/bld/namelist_files/namelist_definition.xml @@ -53,6 +53,121 @@ This is an optional attribute that is mainly useful for variables that have only a small number of allowed values. --> + + + + Minimum Wind Threshold for surface flux calculations which is + added to avoid possible cases that would result in a division by zero. + Default: 1.0d-5 + + + + Surface Roughness Length for surface drag calculation. + Default: 3.21d-5 + + + + Critical Richardson Number for stable mixing cutoff. + Default: 1.0 + + + + Surface Layer Fraction of boundary layer depth. + The prescribed fraction of the boundary layer depth + for surface interactions. + Default: 0.1 + + + + Frierson Albedo: Frierson's Net Solar Flux=> 938.4 = 1360*(1.-0.31) + The Frierson model prescribes a net solar flux which incorporated the + effects of albedo. Rather than adhering to this formulation, the net + solar flux is obtained by a more common practice of specifying an albedo + value. For the approximate (simple) solar flux of 1360 W m-2, the albedo + value of 0.31 yields the value used by Frierson. + Default: 0.31 + + + + Latitudinal Variation of Shortwave Radiation. + Shortwave radiation contains no seasonal/diurnal variations and has a + Latitudinal variation specified by DeltaS according to: + R_solar = (R_net/4)*[1 + DeltaS*P_2(Lat)] + where P_2 is the second Legendre polynomial. + Default: 1.4 + + + + Longwave Optical Depth at Equator. + The optical depths are specified as a function of Latitude to approximate + the effects of water vapor according to: + Tau_0 = Tau_eqtr + (Tau_pole - Tau_eqtr)*sin^2(Lat) + Default: 6.0 + + + + Longwave Optical Depth at Poles. + The optical depths are specified as a function of Latitude to approximate + the effects of water vapor according to: + Tau_0 = Tau_eqtr + (Tau_pole - Tau_eqtr)*sin^2(Lat) + Default: 1.5 + + + + Linear Optical Depth Parameter for stratosphere. + The pressure dependence of optical depths that approximate the effects of + water vapor varies according to: + Tau = Tau_0*[ LinFrac*(P/P_s) + (1-LinFrac)*(P/P_s)^4 ] + Default: 0.1 + + + + Ocean Mixed-Layer Heat Capacity. + The ocean surface is a slab mixed layer with a specified heat capacity in units of J K-1 m-2 + Default: 1.e7 + + + + Scale Factor for E0 (saturation vapor pressure) to contol wet/dry experiments. + WetDryCoef=0 corresponds to the atmosphere in the dry limit. + Friersons wet limit corresponds to WetDryCoef=10. + Default: 1. + + + + Tsrf Initial Condition: Minimum SST (K). + The ocean temperatures are initailized with the values: + T_s = Tmin + Tdlt*exp[-0.5*(Lat/Twidth)^2] + Default: 271. + + + + Tsrf Initial Condition: Equator-Pole SST difference (K). + The ocean temperatures are initailized with the values: + T_s = Tmin + Tdlt*exp[-0.5*(Lat/Twidth)^2] + Default: 39. + + + + Tsrf Initial Condition: Latitudinal width parameter for sst (degrees latitude) + The ocean temperatures are initailized with the values: + T_s = Tmin + Tdlt*exp[-0.5*(Lat/Twidth)^2] + Default: 26. + @@ -1411,6 +1526,12 @@ Frontogenesis function critical threshold. Default: set by build-namelist. + +Width of gaussian used to create frontogenesis tau profile [m/s]. +Default: set by build-namelist. + + Full pathname of Beres lookup table data file for gravity waves sourced @@ -4762,7 +4883,7 @@ Default: TRUE + group="phys_ctl_nl" valid_values="cam3,cam4,cam5,cam6,adiabatic,held_suarez,kessler,frierson" > Name of the CAM physics package. N.B. this variable may not be set by the user. It is set by build-namelist via information in the configure cache file to be consistent with how CAM was built. @@ -4798,6 +4919,14 @@ cache file to be consistent with how CAM was built. Default: set by build-namelist + +If TRUE then the Harmonized Emissions Component, HEMCO, will be used +to calculate emissions in chemistry. ext_frc_specifier and srf_emis_specifier +will be ignored. +Default: FALSE + + Runtime options of upper thermosphere WACCM-X. 'ionosphere' for @@ -4929,6 +5058,44 @@ List of full pathnames of LTR electic potential inputs for both hemispheres. Default: NONE. + + +Full pathname of HEMCO data root for use in reading HEMCO input files. +(e.g., '$DIN_LOC_ROOT/atm/cam/geoschem/emis/ExtData/HEMCO'). +Default: set by build-namelist. + + + +Full pathname of the HEMCO_Config.rc input file used to configure HEMCO. +Default: set by build-namelist. + + + +Full pathname of the HEMCO_Diagn.rc input file used to configure HEMCO diagnostics. +Default: set by build-namelist. + + + +Number of x-dimensions in HEMCO internal grid. +Default: set by build-namelist. + + + +Number of y-dimensions in HEMCO internal grid. +Default: set by build-namelist. + + + +Force emission year for HEMCO clock if positive. This will force cycling of data on this year. +Default: set by build-namelist for climo cases, otherwise -1 to use model clock. + + - CAM cam6 physics: + CAM cam6 physics: CAM cam5 physics: CAM cam4 physics: CAM cam3 physics: - CAM simplified and non-versioned physics : + CAM simplified and non-versioned physics : CAM7 development physics: + With Harmonized Emissions Component (HEMCO) for chemistry: + -phys adiabatic -phys adiabatic -phys tj2016 -analytic_ic + -phys grayrad -analytic_ic -phys held_suarez -analytic_ic -phys kessler -chem terminator -analytic_ic -nadv_tt=6 @@ -295,6 +303,7 @@ dabi_p2004 held_suarez_1994 dctest_tj2016 + dctest_frierson dctest_baro_kessler @@ -334,6 +343,8 @@ flbc_file='$DIN_LOC_ROOT/atm/waccm/lb/LBC_CMIP6_1pctCO2ramp_y1-165_0p5degLat_c180930.nc' nlte_limit_co2=.true. co2_cycle_rad_passive=.true. + + use_hemco=.true. rearth = 6.37122D6 diff --git a/cime_config/config_compsets.xml b/cime_config/config_compsets.xml index ba14ff840e..eb6e345561 100644 --- a/cime_config/config_compsets.xml +++ b/cime_config/config_compsets.xml @@ -56,12 +56,7 @@ - NFLT1850_TESTINGONLY_v0c - 1850_CAM%DEV%NORESM%LT%GHGMAM4_CLM51%SP_CICE%PRES_DOCN%DOM_MOSART_SGLC_SWAV - - - - NFLTHIST_v0c + NFLTHIST_v0d HIST_CAM%DEV%LT%NORESM%GHGMAM4_CLM51%SP_CICE%PRES_DOCN%DOM_MOSART_SGLC_SWAV @@ -90,12 +85,12 @@ - FLTHIST_v0c + FLTHIST_v0d HIST_CAM%DEV%GHGMAM4_CLM51%SP_CICE%PRES_DOCN%DOM_MOSART_SGLC_SWAV - FMTHIST_v0c + FMTHIST_v0d HIST_CAM%DEV%MT%GHGMAM4_CLM51%SP_CICE%PRES_DOCN%DOM_MOSART_SGLC_SWAV @@ -339,11 +334,19 @@ FC2000climo 2000_CAM60%CCTS1_CLM50%SP_CICE%PRES_DOCN%DOM_MOSART_SGLC_SWAV + + FC2000climo_HCO + 2000_CAM60%CCTS1%HEMCO_CLM50%SP_CICE%PRES_DOCN%DOM_MOSART_SGLC_SWAV + FC2010climo 2010_CAM60%CCTS1_CLM50%SP_CICE%PRES_DOCN%DOM_MOSART_SGLC_SWAV + + FC2010climo_HCO + 2010_CAM60%CCTS1%HEMCO_CLM50%SP_CICE%PRES_DOCN%DOM_MOSART_SGLC_SWAV + FCHIST @@ -365,6 +368,10 @@ FCfireHIST HIST_CAM60%CFIRE_CLM50%BGC-CROP_CICE%PRES_DOCN%DOM_MOSART_SGLC_SWAV + + FCHIST_HCO + HIST_CAM60%CCTS1%HEMCO_CLM50%SP_CICE%PRES_DOCN%DOM_MOSART_SGLC_SWAV + FCnudged @@ -374,6 +381,14 @@ FCts2nudged HIST_CAM60%CCTS2%NUDG_CLM50%SP_CICE%PRES_DOCN%DOM_MOSART_SGLC_SWAV + + FCnudged_HCO + HIST_CAM60%CCTS1%NUDG%HEMCO_CLM50%SP_CICE%PRES_DOCN%DOM_MOSART_SGLC_SWAV + + + FCts2nudged_HCO + HIST_CAM60%CCTS2%NUDG%HEMCO_CLM50%SP_CICE%PRES_DOCN%DOM_MOSART_SGLC_SWAV + FCSD @@ -383,12 +398,21 @@ FCts2SD HIST_CAM60%CCTS2%SDYN_CLM50%SP_CICE%PRES_DOCN%DOM_MOSART_SGLC_SWAV + + FCSD_HCO + HIST_CAM60%CCTS1%SDYN%HEMCO_CLM50%SP_CICE%PRES_DOCN%DOM_MOSART_SGLC_SWAV + FSD HIST_CAM60%SDYN_CLM50%SP_CICE%PRES_DOCN%DOM_MOSART_SGLC_SWAV + + FGRAYRAD + 2000_CAM%GRAYRAD_SLND_SICE_SOCN_SROF_SGLC_SWAV + + FMOZ 2000_CAM40%TMOZ_CLM45%SP_CICE%PRES_DOCN%DOM_RTM_SGLC_SWAV diff --git a/cime_config/testdefs/testlist_cam.xml b/cime_config/testdefs/testlist_cam.xml index d1f05ea1e2..3149a3f9d4 100644 --- a/cime_config/testdefs/testlist_cam.xml +++ b/cime_config/testdefs/testlist_cam.xml @@ -10,7 +10,7 @@ - + @@ -100,7 +100,7 @@ - +