Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 4 additions & 0 deletions bld/build-namelist
Original file line number Diff line number Diff line change
Expand Up @@ -3194,7 +3194,11 @@ if ($waccmx) {
add_default($nl,'ionos_xport_nsplit');
add_default($nl,'steady_state_ion_elec_temp', 'val'=>'.false.');
add_default($nl,'oplus_ring_polar_filter');
add_default($nl,'oplus_shapiro_const');
add_default($nl,'rxn_rate_sums');
if ($cfg->get('hgrid') =~ /ne120/) {
add_default($nl,'se_min_temperature', 'val'=>'105.D0');
}
}

# Chemistry options
Expand Down
4 changes: 3 additions & 1 deletion bld/configure
Original file line number Diff line number Diff line change
Expand Up @@ -1227,7 +1227,9 @@ if ($phys_pkg eq 'cam7') {
}
}
elsif ($waccmx) {
if ($phys_pkg eq 'cam6') {
if ($hgrid =~ /ne120/) {
$nlev = 273;
} elsif ($phys_pkg eq 'cam6') {
$nlev = 130;
} else {
$nlev = 126;
Expand Down
15 changes: 15 additions & 0 deletions bld/namelist_files/namelist_defaults_cam.xml
Original file line number Diff line number Diff line change
Expand Up @@ -212,6 +212,7 @@
<ncdata hgrid="ne120np4" nlev="30" aquaplanet="1" >atm/cam/inic/se/ape_cam5_ne120np4_L30_c170419.nc</ncdata>
<ncdata hgrid="ne120np4" nlev="32" >atm/cam/inic/se/F2000climo_ne120pg3_mt13_01-01-00000_c200420.nc</ncdata>
<ncdata hgrid="ne120np4" nlev="32" aquaplanet="1" >atm/cam/inic/se/ape_cam6_ne120np4_L32_c170908.nc</ncdata>
<ncdata hgrid="ne120np4" nlev="273" waccmx="1" >atm/waccm/ic/fx2000_ne120pg3L273.001.cam.i.0002-01-01-00000.noBRCL_c250522.nc</ncdata>

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Just a reminder to deal with this file after it is discussed in the CSEG meeting


<ncdata hgrid="ne240np4" nlev="26" >atm/cam/inic/homme/cami_1850-01-01_ne240np4_L26_c110314.nc</ncdata>
<ncdata hgrid="ne240np4" nlev="26" ic_ymd="901" >atm/cam/inic/homme/cami_0000-09-01_ne240np4_L26_c061106.nc</ncdata>
Expand Down Expand Up @@ -882,19 +883,24 @@
<ionos_xport_nsplit hgrid="0.9x1.25" waccmx="1">30</ionos_xport_nsplit>
<ionos_xport_nsplit hgrid="ne30np4" waccmx="1">30</ionos_xport_nsplit>
<ionos_xport_nsplit hgrid="0.47x0.63" waccmx="1">90</ionos_xport_nsplit>
<ionos_xport_nsplit hgrid="ne120np4" waccmx="1">180</ionos_xport_nsplit>
<oplus_ring_polar_filter>.true.</oplus_ring_polar_filter>
<oplus_shapiro_const >3.d-2</oplus_shapiro_const>
<oplus_shapiro_const hgrid="ne120np4">6.d-3</oplus_shapiro_const>

<!-- Oplus transport grid configuration -->
<oplus_grid> 144,96 </oplus_grid>
<oplus_grid hgrid="ne16np4"> 144,96 </oplus_grid>
<oplus_grid hgrid="ne30np4"> 288,192 </oplus_grid>
<oplus_grid hgrid="0.9x1.25"> 288,192 </oplus_grid>
<oplus_grid hgrid="0.47x0.63"> 576,384 </oplus_grid>
<oplus_grid hgrid="ne120np4"> 576,384 </oplus_grid>
<!-- Magnetic grid resolution -->
<edyn_grid>80x97</edyn_grid>
<edyn_grid hgrid="0.9x1.25">160x193</edyn_grid>
<edyn_grid hgrid="ne30np4" >160x193</edyn_grid>
<edyn_grid hgrid="0.47x0.63">320x385</edyn_grid>
<edyn_grid hgrid="ne120np4" >320x385</edyn_grid>

<!-- ESMF mesh files for physics decomposition -->
<cam_physics_mesh hgrid="0.47x0.63">atm/cam/coords/fv0.47x0.63_esmf_c210305.nc</cam_physics_mesh>
Expand All @@ -907,6 +913,7 @@
<cam_physics_mesh hgrid="ne16np4" npg="3">share/meshes/ne16pg3_ESMFmesh_cdf5_c20211018.nc</cam_physics_mesh>
<cam_physics_mesh hgrid="ne30np4">atm/cam/coords/ne30np4_esmf_c210305.nc</cam_physics_mesh>
<cam_physics_mesh hgrid="ne30np4" npg="3">atm/cam/coords/ne30pg3_esmf_20200428.nc</cam_physics_mesh>
<cam_physics_mesh hgrid="ne120np4" npg="3">share/meshes/ne120pg3_ESMFmesh_cdf5_c20211018.nc</cam_physics_mesh>

<!-- For scaling lightning sources of NOx -->
<lght_no_prd_factor >1.00D0</lght_no_prd_factor>
Expand Down Expand Up @@ -1980,6 +1987,7 @@
<drydep_srf_file hgrid="ne60np4" >atm/cam/chem/trop_mam/atmsrf_ne60np4_110920.nc</drydep_srf_file>
<drydep_srf_file hgrid="ne120np4" >atm/cam/chem/trop_mam/atmsrf_ne120np4_110920.nc</drydep_srf_file>
<drydep_srf_file hgrid="ne120np4" npg="2">atm/cam/chem/trop_mam/atmsrf_ne120np4.pg2_200109.nc</drydep_srf_file>
<drydep_srf_file hgrid="ne120np4" npg="3">atm/cam/chem/trop_mam/atmsrf_ne120np4.pg3_c210324.nc</drydep_srf_file>
<drydep_srf_file hgrid="ne240np4" >atm/cam/chem/trop_mam/atmsrf_ne240np4_110920.nc</drydep_srf_file>

<drydep_srf_file hgrid="ne0np4CONUS.ne30x8" >atm/cam/chem/trop_mam/atmsrf_ne0np4conus30x8_161116.nc</drydep_srf_file>
Expand Down Expand Up @@ -3167,6 +3175,7 @@
<se_hypervis_subcycle hgrid="ne16np4" model_top="xt" > 18</se_hypervis_subcycle>
<se_hypervis_subcycle hgrid="ne30np4" model_top="ht" > 18</se_hypervis_subcycle>
<se_hypervis_subcycle hgrid="ne30np4" model_top="xt" > 18</se_hypervis_subcycle>
<se_hypervis_subcycle waccmx="1" hgrid="ne120np4" nlev="273" > 30</se_hypervis_subcycle>

<se_hypervis_subcycle_sponge > 1 </se_hypervis_subcycle_sponge>
<se_hypervis_subcycle_sponge hgrid="ne30np4" model_top="mt" > 3 </se_hypervis_subcycle_sponge>
Expand All @@ -3180,6 +3189,7 @@
<se_hypervis_subcycle_sponge hgrid="ne16np4" model_top="ht" > 2 </se_hypervis_subcycle_sponge>
<se_hypervis_subcycle_sponge hgrid="ne30np4" model_top="ht" > 4 </se_hypervis_subcycle_sponge>
<se_hypervis_subcycle_sponge hgrid="ne30np4" model_top="xt" > 40 </se_hypervis_subcycle_sponge>
<se_hypervis_subcycle_sponge waccmx="1" hgrid="ne120np4" nlev="273" > 180</se_hypervis_subcycle_sponge>

<se_hypervis_subcycle_q>1 </se_hypervis_subcycle_q>
<se_hypervis_subcycle_q hgrid="ne16np4">2 </se_hypervis_subcycle_q>
Expand Down Expand Up @@ -3214,13 +3224,16 @@
<se_molecular_diff waccmx="1" > 1.0 </se_molecular_diff>

<se_sponge_del4_nu_fac > -1 </se_sponge_del4_nu_fac>
<se_sponge_del4_nu_fac hgrid="ne120np4" nlev="273" waccmx="1"> 3.0 </se_sponge_del4_nu_fac>
<se_sponge_del4_nu_div_fac> -1 </se_sponge_del4_nu_div_fac>
<se_sponge_del4_nu_div_fac hgrid="ne16np4" waccm_phys="1" waccmx="0"> 7.5 </se_sponge_del4_nu_div_fac>
<se_sponge_del4_nu_div_fac model_top="ht" > 7.5 </se_sponge_del4_nu_div_fac>
<se_sponge_del4_nu_div_fac hgrid="ne120np4" nlev="273" waccmx="1" > 5.0 </se_sponge_del4_nu_div_fac>
<se_sponge_del4_lev > -1 </se_sponge_del4_lev>
<se_sponge_del4_lev waccm_phys="1"> 30 </se_sponge_del4_lev>
<se_sponge_del4_lev model_top="ht"> 30 </se_sponge_del4_lev>
<se_sponge_del4_lev model_top="xt"> 30 </se_sponge_del4_lev>
<se_sponge_del4_lev waccmx="1" hgrid="ne120np4" nlev="273"> 100 </se_sponge_del4_lev>

<se_qsplit > 1 </se_qsplit>
<se_qsplit hgrid="ne30np4" waccm_phys="1" waccmx="1" model_top="none"> 2 </se_qsplit>
Expand All @@ -3247,13 +3260,15 @@
<se_nsplit hgrid="ne0np4CONUS.ne30x8" waccm_phys="1" > 10 </se_nsplit>

<se_nsplit hgrid="ne0np4TESTONLY.ne5x4"> 7 </se_nsplit>
<se_nsplit waccmx="1" hgrid="ne120np4" nlev="273" > 10 </se_nsplit>

<se_rsplit > 3 </se_rsplit>
<se_rsplit waccm_phys="1" waccmx="0" > 2 </se_rsplit>
<se_rsplit model_top="ht" > 2 </se_rsplit>
<se_rsplit waccmx="1" > 4 </se_rsplit>
<se_rsplit hgrid="ne16np4" waccmx="1" model_top="none"> 2 </se_rsplit>
<se_rsplit hgrid="ne0np4CONUS.ne30x8" waccm_phys="1"> 3 </se_rsplit>
<se_rsplit waccmx="1" hgrid="ne120np4" nlev="273" > 5 </se_rsplit>

<se_fvm_supercycling>-1</se_fvm_supercycling>
<se_fvm_supercycling_jet>-1</se_fvm_supercycling_jet>
Expand Down
8 changes: 8 additions & 0 deletions bld/namelist_files/namelist_definition.xml
Original file line number Diff line number Diff line change
Expand Up @@ -8198,6 +8198,14 @@ multiplied by a factor of se_molecular_diff.
Default: 0.
</entry>

<entry id="se_min_temperature" type="real" category="se"
group="dyn_se_inparm" valid_values="" >
Used by spectral element dynamical core to apply floor to temperature.
If set to a value greater than zero the floor is applied.
Otherwise, no floor is applied.
Default: 0.
</entry>

<entry id="se_hypervis_subcycle_q" type="integer" category="se"
group="dyn_se_inparm" valid_values="" >
Number of hyperviscosity subcycles done in tracer advection code.
Expand Down
20 changes: 20 additions & 0 deletions cime_config/config_pes.xml
Original file line number Diff line number Diff line change
Expand Up @@ -368,6 +368,26 @@
</grid>

<grid name="a%ne120">
<mach name="derecho">
<pes pesize="any" compset="_CAM\d0%WX">
<ntasks>
<ntasks_atm>-100</ntasks_atm>
<ntasks_lnd>-100</ntasks_lnd>
<ntasks_rof>-100</ntasks_rof>
<ntasks_ice>-100</ntasks_ice>
<ntasks_ocn>-100</ntasks_ocn>
<ntasks_cpl>-100</ntasks_cpl>
</ntasks>
<nthrds>
<nthrds_atm>1</nthrds_atm>
<nthrds_lnd>1</nthrds_lnd>
<nthrds_rof>1</nthrds_rof>
<nthrds_ice>1</nthrds_ice>
<nthrds_ocn>1</nthrds_ocn>
<nthrds_cpl>1</nthrds_cpl>
</nthrds>
</pes>
</mach>
<mach name="any">
<pes pesize="any" compset="any">
<comment>none</comment>
Expand Down
9 changes: 9 additions & 0 deletions cime_config/testdefs/testlist_cam.xml
Original file line number Diff line number Diff line change
Expand Up @@ -2290,6 +2290,15 @@
<option name="wallclock">00:20:00</option>
</options>
</test>
<test compset="FXHIST" grid="ne120pg3_ne120pg3_mg17" name="SMS_Lh1" testmods="cam/outfrq1h_wcmxhires">
<machines>
<machine name="derecho" compiler="intel" category="waccmx"/>
</machines>
<options>
<option name="wallclock">01:00:00</option>
<option name="comment">High-resolution WACCMX</option>
</options>
</test>
<test compset="FWmaHIST" grid="f09_f09_mg17" name="SMS_D_Ln9" testmods="cam/outfrq9s">
<machines>
<machine name="derecho" compiler="intel" category="waccm"/>
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
./xmlchange ROF_NCPL=\$ATM_NCPL
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
mfilt=1,1,1,1,1,1
ndens=1,1,1,1,1,1
nhtfrq=-1,-1,-1,-1,-1,-1
write_nstep0 = .true.

avgflag_pertape= 'I', 'I', 'A', 'I', 'I'

empty_htapes=.true.
fincl1= 'Z3GM', 'T', 'U', 'V', 'OMEGA', 'ElecColDens', 'PS', 'O', 'O2', 'H',
'QRS_TOT', 'QRL_TOT', 'KVM', 'EKGW', 'TTGW', 'UTGW_TOTAL', 'VTGW_TOTAL'
fincl2= 'Z3GM', 'T', 'U', 'V', 'OMEGA', 'UI', 'VI', 'WI', 'EDens', 'PS', 'O', 'O2', 'H',
'OH', 'NO', 'O3', 'SIGMAHAL', 'SIGMAPED'
fincl3 ='T_24_COS', 'T_24_SIN', 'T_12_COS', 'T_12_SIN',
'U_24_COS', 'U_24_SIN', 'U_12_COS', 'U_12_SIN',
'V_24_COS', 'V_24_SIN', 'V_12_COS', 'V_12_SIN',
'QRS_TOT_12_SIN', 'QRS_TOT_12_COS'
fincl4 = 'ED1', 'ED2', 'PHIM2D', 'PHIHM', 'HALL_CONDUCTANCE', 'PED_CONDUCTANCE'
fincl5 = 'ElecColDens', 'PSL'
fincl6 = ' '
fincl7 = ' '
fincl8 = ' '
fincl9 = ' '
fincl10= ' '

ionos_npes = 3200
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
!----------------------------------------------------------------------------------
! Users should add all user specific namelist changes below in the form of
! namelist_var = new_namelist_value
!
! Include namelist variables for drv_flds_in ONLY if -megan and/or -drydep options
! are set in the CLM_NAMELIST_OPTS env variable.
!
! EXCEPTIONS:
! Set use_cndv by the compset you use and the CLM_BLDNML_OPTS -dynamic_vegetation setting
! Set use_vichydro by the compset you use and the CLM_BLDNML_OPTS -vichydro setting
! Set use_cn by the compset you use and CLM_BLDNML_OPTS -bgc setting
! Set use_crop by the compset you use and CLM_BLDNML_OPTS -crop setting
! Set spinup_state by the CLM_BLDNML_OPTS -bgc_spinup setting
! Set irrigate by the CLM_BLDNML_OPTS -irrig setting
! Set dtime with L_NCPL option
! Set fatmlndfrc with LND_DOMAIN_PATH/LND_DOMAIN_FILE options
! Set finidat with RUN_REFCASE/RUN_REFDATE/RUN_REFTOD options for hybrid or branch cases
! (includes $inst_string for multi-ensemble cases)
! Set glc_grid with CISM_GRID option
! Set glc_smb with GLC_SMB option
! Set maxpatch_glcmec with GLC_NEC option
! Set glc_do_dynglacier with GLC_TWO_WAY_COUPLING env variable
!----------------------------------------------------------------------------------
hist_nhtfrq = -1
hist_mfilt = 1
hist_ndens = 1

flanduse_timeseries = ' '
101 changes: 96 additions & 5 deletions doc/ChangeLog
Original file line number Diff line number Diff line change
@@ -1,5 +1,96 @@
===============================================================

Tag name: cam6_4_103
Originator(s): fvitt
Date: 11 Jul 2025
One-line Summary: High-resolution (ne120) WACCM-X
Github PR URL: https://github.com/ESCOMP/CAM/pull/1317

Purpose of changes (include the issue number and title text for each relevant GitHub issue):

Sets default namelist parameters for ne120 resolution WACCM-X.

Describe any changes made to build system: N/A

Describe any changes made to the namelist:
New namelist option:
. se_min_temperature
Used by spectral element dynamical core to apply floor to temperature.
If set to a value greater than zero the floor is applied.
Otherwise, no floor is applied.
Default: 0.

List any changes to the defaults for the boundary datasets: N/A

Describe any substantial timing or memory changes: N/A

Code reviewed by: cacraigucar

List all files eliminated:
A cime_config/testdefs/testmods_dirs/cam/outfrq1h_wcmxhires/shell_commands
A cime_config/testdefs/testmods_dirs/cam/outfrq1h_wcmxhires/user_nl_cam
A cime_config/testdefs/testmods_dirs/cam/outfrq1h_wcmxhires/user_nl_clm
- new regression test for ne120 waccmx

List all files added and what they do:
M bld/build-namelist
- set the following default namelist parameters for waccm-x:
. oplus_shapiro_const
. se_min_temperature

M bld/configure
- set nlev to 273 for ne120 waccmx

M bld/namelist_files/namelist_defaults_cam.xml
- default namelist settings for ne120 waccmx

M bld/namelist_files/namelist_definition.xml
- new se_min_temperature namelist option

M cime_config/config_pes.xml
- default PE-layout for ne120 waccmx on derecho

M cime_config/testdefs/testlist_cam.xml
- new regression test for ne120 waccmx

M src/dynamics/se/dycore/control_mod.F90
M src/dynamics/se/dycore/prim_advance_mod.F90
M src/dynamics/se/dyn_comp.F90
- apply optional floor to temperature

List all existing files that have been modified, and describe the changes:

If there were any failures reported from running test_driver.sh on any test
platform, and checkin with these failures has been OK'd by the gatekeeper,
then copy the lines from the td.*.status files for the failed tests to the
appropriate machine below. All failed tests must be justified.

derecho/intel/aux_cam:
NLFAIL ERS_Ln9.f09_f09_mg17.FX2000.derecho_intel.cam-outfrq9s
NLFAIL ERS_Ln9.f19_f19_mg17.FXSD.derecho_intel.cam-outfrq9s
NLFAIL ERS_Ln9.ne30pg3_ne30pg3_mg17.FHISTC_WXma.derecho_intel.cam-outfrq9s_ctem
NLFAIL SMS_C2_D_Ln9.ne16pg3_ne16pg3_mg17.FHISTC_WXma.derecho_intel.cam-outfrq9s
NLFAIL SMS_D_Ln9.ne16_ne16_mg17.QPX2000.derecho_intel.cam-outfrq9s_amie
- expected namelist compare failures due to new oplus_shapiro_const namelist parameter
for waccm-x

FAIL SMS_D_Ln9_P1280x1.ne0CONUSne30x8_ne0CONUSne30x8_mt12.FCHIST.derecho_intel.cam-outfrq9s
- pre-existing failure due to build-namelist error requiring CLM/CTSM external update

derecho/nvhpc/aux_cam: All PASS

izumi/nag/aux_cam:
NLFAIL SMS_D_Ln3.ne5pg3_ne5pg3_mg37.QPX2000.izumi_nag.cam-outfrq3s
- expected namelist compare failure due to new oplus_shapiro_const namelist parameter
for waccm-x

izumi/gnu/aux_cam: All PASS

Summarize any changes to answers: bit-for-bit

===============================================================
===============================================================

Tag name: cam6_4_102
Originator(s): eaton
Date: 8 July 2025
Expand All @@ -14,7 +105,7 @@ Purpose of changes (include the issue number and title text for each relevant Gi
result in a standard model configuration. Also reduce the number of
tests by combining testmods with the intention of reducing overall test
time.
. When a test is modified, update the mask from POP to MOM and update
. When a test is modified, update the mask from POP to MOM and update
ERP to ERC to eliminate an unnecessary build.

Describe any changes made to build system: none
Expand All @@ -40,9 +131,9 @@ cime_config/testdefs/testmods_dirs/cam/outfrq3s_unicon/*
List all files added and what they do:

cime_config/testdefs/testmods_dirs/cam/lonlat_fv_diags/*
. The limited area outputs are moved to here from ghgrmp_e8
. The limited area outputs are moved to here from ghgrmp_e8
. The FV angular momentum fixer/diags and circulation diags are moved here
from outfrq3s_am
from outfrq3s_am
. Add check_finidat_year_consistency=.false. to user_nl_clm (for ERI test)

cime_config/testdefs/testmods_dirs/cam/nochem_clubbmf/*
Expand All @@ -68,7 +159,7 @@ cime_config/testdefs/testslist_cam.xml
by
ERC_D_Ln9.f19_f19_mt232.FHIST.izumi_gnu.cam-lonlat_fv_diags
. run test with FHIST and update mask:
replace
replace
ERC_D_Ln9.f10_f10_mg37.QPC6.izumi_nag.cam-outfrq3s_cospsathist
by
ERC_D_Ln9.f10_f10_mt232.FHIST.izumi_nag.cam-outfrq3s_cospsathist
Expand All @@ -79,7 +170,7 @@ cime_config/testdefs/testslist_cam.xml
by
ERC_D_Ln9.ne3pg3_ne3pg3_mt232.FHIST.izumi_gnu.cam-nochem_clubbmf
. remove the categories aux_cam_short and aux_cam_one as they aren't being
used.
used.
. update the mask and change ERP to ERC:
replace
ERP_Ln9.f09_f09_mg17.FHIST_BDRD.derecho_intel.cam-outfrq9s
Expand Down
2 changes: 1 addition & 1 deletion libraries/FMS
Submodule FMS updated 2 files
+1 −1 .gitmodules
+1 −1 src
2 changes: 1 addition & 1 deletion src/atmos_phys
Submodule atmos_phys updated 138 files
6 changes: 4 additions & 2 deletions src/dynamics/se/dycore/control_mod.F90
Original file line number Diff line number Diff line change
Expand Up @@ -121,11 +121,13 @@ module control_mod

!
! molecular diffusion
!
!
real(r8), public :: molecular_diff = -1.0_r8

integer, public :: vert_remap_uvTq_alg, vert_remap_tracer_alg


integer, public :: pgf_formulation = -1 !PGF formulation - see prim_advance_mod.F90

real(r8), public :: min_temperature = 0._r8

end module control_mod
Loading
Loading