Skip to content
Merged
Show file tree
Hide file tree
Changes from 3 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
3 changes: 0 additions & 3 deletions bld/build-namelist
Original file line number Diff line number Diff line change
Expand Up @@ -3604,9 +3604,6 @@ if ($dyn =~ /se/) {
se_kmin_jet
se_kmax_jet
se_phys_dyn_cp
se_raytau0
se_raykrange
se_rayk0
se_molecular_diff
);

Expand Down
53 changes: 20 additions & 33 deletions bld/namelist_files/namelist_defaults_cam.xml
Original file line number Diff line number Diff line change
Expand Up @@ -649,11 +649,11 @@
<pgwv waccmx="1">18</pgwv>

<!-- gravity wave settings -->
<effgw_beres_dp>0.1D0</effgw_beres_dp>
<effgw_beres_dp>0.7D0</effgw_beres_dp>
<effgw_beres_dp hgrid="0.9x1.25" >0.4D0</effgw_beres_dp>
<effgw_beres_dp waccm_phys="0" >0.55D0</effgw_beres_dp>
<effgw_beres_dp waccm_phys="1" hgrid="0.9x1.25" >0.5D0</effgw_beres_dp>
<effgw_beres_dp waccm_phys="1" hgrid="ne30np4" nlev="70" >0.325D0</effgw_beres_dp>
<effgw_beres_dp waccm_phys="1" hgrid="ne30np4" nlev="70" >0.5D0</effgw_beres_dp>
<effgw_beres_dp waccm_phys="1" hgrid="ne30np4" nlev="110" >0.7D0</effgw_beres_dp>
<effgw_beres_dp chem="trop_strat_mam4_vbs" hgrid="0.9x1.25" >0.5D0</effgw_beres_dp>
<effgw_beres_dp chem="trop_strat_mam4_vbsext" hgrid="0.9x1.25">0.5D0</effgw_beres_dp>
Expand Down Expand Up @@ -1944,6 +1944,11 @@
<cld_macmic_num_steps microphys="mg2" clubb_sgs="1" dtime="600" > 1 </cld_macmic_num_steps>
<cld_macmic_num_steps microphys="mg2" clubb_sgs="1" dtime="300" > 1 </cld_macmic_num_steps>
<cld_macmic_num_steps microphys="mg3" clubb_sgs="1"> 3 </cld_macmic_num_steps>
<!-- hi-res and var-res support for ne120, ARCTIC, ARCTCIGRIS, CONUS -->
<cld_macmic_num_steps microphys="mg2" clubb_sgs="1" dtime="450" > 2 </cld_macmic_num_steps>
<cld_macmic_num_steps microphys="mg2" clubb_sgs="1" dtime="225" > 1 </cld_macmic_num_steps>
<cld_macmic_num_steps microphys="mg3" clubb_sgs="1" dtime="450" > 2 </cld_macmic_num_steps>
<cld_macmic_num_steps microphys="mg3" clubb_sgs="1" dtime="225" > 1 </cld_macmic_num_steps>

<!-- Ice nucleation -->
<nucleate_ice_subgrid >1.0D0</nucleate_ice_subgrid>
Expand Down Expand Up @@ -2602,70 +2607,53 @@
<!-- Defaults for SE -->
<!-- ================================================================== -->

<se_fine_ne > 0 </se_fine_ne>
<se_fine_ne hgrid="ne0np4CONUS.ne30x8" > 240 </se_fine_ne>

<se_ftype> 2 </se_ftype>

<se_hypervis_dynamic_ref_state> .false. </se_hypervis_dynamic_ref_state>
<se_lcp_moist > .true. </se_lcp_moist>

<se_large_Courant_incr > .true. </se_large_Courant_incr>

<se_hypervis_power> 0 </se_hypervis_power>

<se_hypervis_scaling se_refined_mesh="1" hypervis_type="tensor" >3.0D0 </se_hypervis_scaling>
<se_hypervis_scaling se_refined_mesh="1" hypervis_type="tensor" >3.22D0 </se_hypervis_scaling>

<se_hypervis_subcycle > 3 </se_hypervis_subcycle>
<se_hypervis_subcycle waccm_phys="1" > 1 </se_hypervis_subcycle>
<se_hypervis_subcycle waccm_phys="1" > 2 </se_hypervis_subcycle>
<se_hypervis_subcycle hgrid="ne16np4" > 4 </se_hypervis_subcycle>
<se_hypervis_subcycle se_refined_mesh="1" > 2 </se_hypervis_subcycle>
<se_hypervis_subcycle se_refined_mesh="1" > 3 </se_hypervis_subcycle>
<se_hypervis_subcycle hgrid="ne0np4CONUS.ne30x8" waccm_phys="1" > 1 </se_hypervis_subcycle>

<se_hypervis_subcycle_sponge > 1 </se_hypervis_subcycle_sponge>
<se_hypervis_subcycle_sponge waccmx="1" > 2 </se_hypervis_subcycle_sponge>
<se_hypervis_subcycle_sponge waccm_phys="1" > 1 </se_hypervis_subcycle_sponge>
<se_hypervis_subcycle_sponge waccmx="1" > 5 </se_hypervis_subcycle_sponge>
<se_hypervis_subcycle_sponge hgrid="ne120np4" > 4 </se_hypervis_subcycle_sponge>
<se_hypervis_subcycle_sponge se_refined_mesh="1" > 4 </se_hypervis_subcycle_sponge>
<se_hypervis_subcycle_sponge hgrid="ne0np4CONUS.ne30x8" waccm_phys="1"> 7 </se_hypervis_subcycle_sponge>
<se_hypervis_subcycle_sponge se_refined_mesh="1" > 2 </se_hypervis_subcycle_sponge>
<se_hypervis_subcycle_sponge hgrid="ne0np4CONUS.ne30x8" waccm_phys="1"> 4 </se_hypervis_subcycle_sponge>

<se_hypervis_subcycle_q>1 </se_hypervis_subcycle_q>
<se_hypervis_subcycle_q hgrid="ne16np4">2 </se_hypervis_subcycle_q>

<se_limiter_option> 8 </se_limiter_option>

<se_fine_ne> 0 </se_fine_ne>
<se_hypervis_power> 0 </se_hypervis_power>

<se_max_hypervis_courant > 1.0e99 </se_max_hypervis_courant>
<se_max_hypervis_courant se_refined_mesh="1" hypervis_type="scalar" > 1.9 </se_max_hypervis_courant>

<se_phys_dyn_cp>1</se_phys_dyn_cp>

<se_nu>-1</se_nu>
<se_nu se_refined_mesh="1" hypervis_type="scalar" > 1.0e13 </se_nu>
<se_nu waccmx="1">5.e15</se_nu>

<se_nu_div> -1 </se_nu_div>
<se_nu_div se_refined_mesh="1" hypervis_type="scalar" > 1.5625e13 </se_nu_div>
<se_nu_div waccmx="1"> 10.e15 </se_nu_div>

<se_nu_p>-1 </se_nu_p>
<se_nu_p se_refined_mesh="1" hypervis_type="scalar" > 1.5625e13 </se_nu_p>

<se_nu_top > 5.0e5 </se_nu_top>
<se_nu_top se_refined_mesh="1"> 2.0e5 </se_nu_top>
<se_nu_top > 1.25e5 </se_nu_top>
<se_nu_top waccmx="1" > 1.0e6 </se_nu_top>
<!-- WACCM uses molecular/thermal diffusion in sponge -->
<se_nu_top waccm_phys="1" > 0.0 </se_nu_top>

<se_raytau0 > 0.0 </se_raytau0>
<se_raykrange > 0.5 </se_raykrange>
<se_rayk0 > 2 </se_rayk0>
<!-- suggested value for WACCM se_raytau0=0.02 -->
<se_raytau0 waccm_phys="1" > 0.0 </se_raytau0>
<se_raykrange waccm_phys="1" > 3 </se_raykrange>
<se_rayk0 waccm_phys="1" > 2 </se_rayk0>

<se_molecular_diff > 0.0 </se_molecular_diff>
<se_molecular_diff waccm_phys="1" waccmx="0">100.0 </se_molecular_diff>
<se_molecular_diff waccmx="1" > 1.0 </se_molecular_diff>

<se_qsplit > 1 </se_qsplit>

Expand All @@ -2682,14 +2670,13 @@
<se_nsplit hgrid="ne16np4" waccm_phys="1" waccmx="1" > 5 </se_nsplit>
<se_nsplit hgrid="ne16np4" waccm_phys="1" > 3 </se_nsplit>
<se_nsplit hgrid="ne30np4" waccm_phys="1" > 5 </se_nsplit>
<se_nsplit hgrid="ne30np4" waccm_phys="1" nlev="110"> 4 </se_nsplit>
<se_nsplit hgrid="ne0np4CONUS.ne30x8" waccm_phys="1" > 10 </se_nsplit>

<se_nsplit hgrid="ne0np4CONUS.ne30x8" waccm_phys="1"> 5 </se_nsplit>
<se_nsplit hgrid="ne0np4TESTONLY.ne5x4"> 7 </se_nsplit>

<se_rsplit > 3 </se_rsplit>
<se_rsplit waccm_phys="1" > 4 </se_rsplit>
<se_rsplit hgrid="ne0np4CONUS.ne30x8" waccm_phys="1"> 5 </se_rsplit>
<se_rsplit hgrid="ne0np4CONUS.ne30x8" waccm_phys="1"> 3 </se_rsplit>

<se_fvm_supercycling>-1</se_fvm_supercycling>
<se_fvm_supercycling_jet>-1</se_fvm_supercycling_jet>
Expand Down
22 changes: 0 additions & 22 deletions bld/namelist_files/namelist_definition.xml
Original file line number Diff line number Diff line change
Expand Up @@ -7056,28 +7056,6 @@ Number of hyperviscosity subcycles per dynamics timestep in sponge del2 diffusio
Default: Set by build-namelist
</entry>


<entry id="se_rayk0" type="integer" category="se"
group="dyn_se_inparm" valid_values="" >
Variable to specify the vertical index at which the
Rayleigh friction term is centered (the peak value).
Default: 2
</entry>

<entry id="se_raykrange" type="real" category="se"
group="dyn_se_inparm" valid_values="" >
Rayleigh friction parameter to determine the width of the profile. If set
to 0 then a width is chosen by the algorithm (see rayleigh_friction.F90).
Default: 0.5.
</entry>

<entry id="se_raytau0" type="real" category="se"
group="dyn_se_inparm" valid_values="" >
Rayleigh friction parameter to determine the approximate value of the decay
time (days) at model top. If 0.0 then no Rayleigh friction is applied.
Default: 0.
</entry>

<entry id="se_molecular_diff" type="real" category="se"
group="dyn_se_inparm" valid_values="" >
Used by SE dycore to apply sponge layer diffusion to u, v, and T for
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,9 +4,5 @@ nhtfrq=9,9,9,9,9,9,9,9,9
inithist='ENDOFRUN'

se_nsplit = 30
se_rayk0= 10
se_raykrange= 5
se_raytau0=0.002

state_debug_checks = .true.

194 changes: 194 additions & 0 deletions doc/ChangeLog
Original file line number Diff line number Diff line change
@@ -1,5 +1,199 @@
===============================================================

Tag name: cam6_3_0XX
Originator(s): pel,jet
Date: July 14, 2021
One-line Summary:Science Updates for CESM2.2 release and cam_development
Github PR URL:

Purpose of changes (include the issue number and title text for each relevant GitHub issue):
- These mods are necessary to fix science bugs, improve algorithms and numerical stability of SE dycore.
Namelist default changes to the gravity wave parameterization and updates to the Test Tracers will
also affect the other dycores. This PR will close issue #392.

Describe any changes made to build system:

Describe any changes made to the namelist:
- namelist variables have been removed:
se_raytau0
se_raykrange
se_rayk0
- namelist variables with new defaults
effgw_beres_dp defaults
se_hypervis_scaling
se_hypervis_subcycle
se_hypervis_subcycle_sponge
se_nu
se_nu_div
se_nu_p
se_nu_top
se_molecular_diff
se_nsplit
se_rsplit
cld_macmic_num_steps

List any changes to the defaults for the boundary datasets:

Describe any substantial timing or memory changes:

Code reviewed by:

List all files eliminated:

List all files added and what they do:
Copy link
Collaborator

Choose a reason for hiding this comment

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

I believe it should be se_nu_p*se_sponge_del4_nu_div_fac here as well.

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

corrected


List all existing files that have been modified, and describe the changes:
. Remove SE Rayleigh Friction Parameterization
bld/build-namelist
bld/namelist_files/namelist_definition.xml
cime_config/testdefs/testmods_dirs/cam/outfrq9s_wcm_ne30/user_nl_cam
src/dynamics/se/dyn_comp.F90

. Add reference temperature profile correction
. Remove SE Rayleigh Friction Parameterization
src/dynamics/se/dycore/prim_advance_mod.F90

. Updated defaults for full physics
bld/namelist_files/namelist_defaults_cam.xml

. Thermodynamic consistency between pressure based physics and height based dynamics
src/dynamics/se/dp_coupling.F90
src/dynamics/se/dycore/control_mod.F90

. new del4 T damping variable and removed unused variables
src/dynamics/se/dycore/dimensions_mod.F90
Comment on lines +63 to +64
Copy link
Collaborator

Choose a reason for hiding this comment

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

Totally at your discretion (i.e. no need to change). I typically combine several files that have the exact same description together and then have the description follow. In this case, build-namelist, user_nl_cam, dyn_comp.F90 could all be grouped together with the "Remove SE Rayleigh Friction Parameterization" description.


. improve level dependent del4 (sponge layer) damping for hitop
src/dynamics/se/dycore/global_norms_mod.F90

. add p correction to approximate Laplace on pressure surfaces
src/dynamics/se/dycore/viscosity_mod.F90

. initialize angular momentum diagnostic variables.
src/physics/cam/check_energy.F90

. fix dycore dependent calculation of hydrostatic elements
src/physics/cam/geopotential.F90

. new angular moment diagnostics
src/physics/cam/physpkg.F90
src/physics/simple/physpkg.F90

. Changes to TT_CCOSB TT_COSB and TT_lCCOSB for idealized testing of
dynamical cores (change to Lauritzen and Thuburn,2012, QJRMS, formulation).
src/physics/cam/tracers.F90

. correct mid-level pressure computation for SE in physconst.F90
src/utils/physconst.F90

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.

cheyenne/intel/aux_cam:
All tests running. Differences Expected due to namelist updates

DIFF ERC_D_Ln9.f19_f19_mg17.QPX2000.cheyenne_intel.cam-outfrq3s
DIFF ERP_Lh12.f19_f19_mg17.FW4madSD.cheyenne_intel.cam-outfrq3h
DIFF ERP_Ln9.f19_f19_mg17.FWsc1850.cheyenne_intel.cam-outfrq9s
DIFF ERS_Ln9.f19_f19_mg17.FXSD.cheyenne_intel.cam-outfrq9s
DIFF SMS_D_Ln9.f19_f19_mg17.FWma2000climo.cheyenne_intel.cam-outfrq9s
DIFF SMS_D_Ln9.f19_f19_mg17.FXHIST.cheyenne_intel.cam-outfrq9s_amie
BASE: effgw_beres_dp = 0.1D0
COMP: effgw_beres_dp = 0.7D0

DIFF ERC_D_Ln9.mpasa120z32_mpasa120.FKESSLER.cheyenne_intel.cam-outfrq3s_usecase
test tracer differences

DIFF ERC_D_Ln9.ne16_ne16_mg17.FADIAB.cheyenne_intel.cam-terminator
DIFF ERC_D_Ln9.ne16_ne16_mg17.QPC5HIST.cheyenne_intel.cam-outfrq3s_usecase
DIFF ERP_Ln9.ne30_ne30_mg17.FCnudged.cheyenne_intel.cam-outfrq9s
DIFF SMS_Ld1.ne30pg3_ne30pg3_mg17.FC2010climo.cheyenne_intel.cam-outfrq1d
DIFF ERC_D_Ln9_P144x1.ne16pg3_ne16pg3_mg17.QPC6HIST.cheyenne_intel.cam-outfrq3s_ttrac_usecase
BASE: se_nu_top = 5.0e5
COMP: se_nu_top = 1.25e5

DIFF ERP_Ln9.ne30pg3_ne30pg3_mg17.FW2000climo.cheyenne_intel.cam-outfrq9s_wcm_ne30
BASE: se_hypervis_subcycle = 1
COMP: se_hypervis_subcycle = 2
BASE: se_molecular_diff = 100.0
COMP: se_molecular_diff = 0.0
BASE: se_nu_top = 0.0
COMP: se_nu_top = 1.25e5
BASE: effgw_beres_dp = 0.325D0
COMP: effgw_beres_dp = 0.5D0

DIFF ERS_Ln9.ne0TESTONLYne5x4_ne0TESTONLYne5x4_mg37.FADIAB.cheyenne_intel.cam-outfrq3s_refined
BASE: se_hypervis_scaling = 3.0D0
COMP: se_hypervis_scaling = 3.22D0
BASE: se_hypervis_subcycle = 2
COMP: se_hypervis_subcycle = 3
BASE: se_hypervis_subcycle_sponge = 4
COMP: se_hypervis_subcycle_sponge = 2
BASE: se_nu_top = 2.0e5
COMP: se_nu_top = 1.25e5

DIFF SMS_D_Ln9.ne0CONUSne30x8_ne0CONUSne30x8_mt12.FCHIST.cheyenne_intel.cam-outfrq9s_refined_camchem
BASE: se_hypervis_scaling = 3.0D0
COMP: se_hypervis_scaling = 3.22D0
BASE: se_hypervis_subcycle = 2
COMP: se_hypervis_subcycle = 3
BASE: se_hypervis_subcycle_sponge = 4
COMP: se_hypervis_subcycle_sponge = 2
BASE: se_nu_top = 2.0e5
COMP: se_nu_top = 1.25e5
BASE: cld_macmic_num_steps = 3
COMP: cld_macmic_num_steps = 1

DIFF SMS_D_Ln9.ne16_ne16_mg17.QPX2000.cheyenne_intel.cam-outfrq9s
DIFF SMS_D_Ln9.ne16_ne16_mg17.FX2000.cheyenne_intel.cam-outfrq9s
BASE: se_hypervis_subcycle = 1
COMP: se_hypervis_subcycle = 2
BASE: se_molecular_diff = 0.0
COMP: se_molecular_diff = 1.0
BASE: effgw_beres_dp = 0.1D0
COMP: effgw_beres_dp = 0.7D0
BASE: se_hypervis_subcycle_sponge = 2
COMP: se_hypervis_subcycle_sponge = 5

izumi/nag/aux_cam: all BFB except:
FAIL DAE.f45_f45_mg37.FHS94.izumi_nag.cam-dae COMPARE_base_da
- pre-existing failure
DIFF ERC_D_Ln9.f10_f10_mg37.QPWmaC6.izumi_nag.cam-outfrq3s
DIFF ERC_D_Ln9.ne16_ne16_mg17.QPC4.izumi_nag.cam-outfrq3s_usecase
DIFF ERC_D_Ln9.ne16pg3_ne16pg3_mg17.QPC4.izumi_nag.cam-outfrq3s_usecase
DIFF ERC_D_Ln9.ne5_ne5_mg37.QPC5.izumi_nag.cam-outfrq3s_ttrac
DIFF ERI_D_Ln18.ne5_ne5_mg37.FADIAB.izumi_nag.cam-outfrq3s_bwic
DIFF ERI_D_Ln18.ne5pg3_ne5pg3_mg37.FADIAB.izumi_nag.cam-outfrq3s_bwic
DIFF ERP_Ln9.ne5pg3_ne5pg3_mg37.QPC6.izumi_nag.cam-outfrq9s_clubbmf
DIFF ERS_Ln27.ne5pg3_ne5pg3_mg37.FKESSLER.izumi_nag.cam-outfrq9s
DIFF ERS_Ln9.ne5_ne5_mg37.FADIAB.izumi_nag.cam-outfrq9s
DIFF PEM_D_Ln9.ne5_ne5_mg37.FADIAB.izumi_nag.cam-outfrq3s
DIFF PLB_D_Ln9.ne5_ne5_mg37.QPC5.izumi_nag.cam-ttrac_loadbal0
DIFF PLB_D_Ln9.ne5_ne5_mg37.QPC5.izumi_nag.cam-ttrac_loadbal1
DIFF PLB_D_Ln9.ne5_ne5_mg37.QPC5.izumi_nag.cam-ttrac_loadbal3
DIFF SMS_D_Ln9.ne5_ne5_mg37.QPC4X.izumi_nag.cam-outfrq9s
DIFF SMS_D_Ln9_P1x1.ne5_ne5_mg37.FADIAB.izumi_nag.cam-outfrq3s
DIFF SMS_P48x1_D_Ln9.f19_f19_mg17.FW4madSD.izumi_nag.cam-outfrq9s
- Diff due to namelist updates - see comments for cheyenne testing

izumi/pgi/aux_cam:
DIFF ERC_D_Ln9.f10_f10_mg37.QPC4.izumi_pgi.cam-outfrq3s_diags
DIFF ERC_D_Ln9.ne5_ne5_mg37.QPC5.izumi_pgi.cam-outfrq3s_ba
DIFF ERC_D_Ln9.ne5pg2_ne5pg2_mg37.FADIAB.izumi_pgi.cam-outfrq3s
DIFF ERC_D_Ln9.ne5pg4_ne5pg4_mg37.FADIAB.izumi_pgi.cam-outfrq3s
DIFF ERP_Ln9.ne5_ne5_mg37.FHS94.izumi_pgi.cam-outfrq9s
DIFF ERP_Ln9.ne5_ne5_mg37.QPC5.izumi_pgi.cam-outfrq9s
DIFF PEM_D_Ln9.ne5pg3_ne5pg3_mg37.FADIAB.izumi_pgi.cam-outfrq3s
DIFF PLB_D_Ln9.ne5pg3_ne5pg3_mg37.QPC5.izumi_pgi.cam-ttrac_loadbal0
DIFF PLB_D_Ln9.ne5pg3_ne5pg3_mg37.QPC5.izumi_pgi.cam-ttrac_loadbal1
DIFF PLB_D_Ln9.ne5pg3_ne5pg3_mg37.QPC5.izumi_pgi.cam-ttrac_loadbal3
DIFF SMS_D_Ln9.ne5pg3_ne5pg3_mg37.QPC5.izumi_pgi.cam-outfrq3s_ttrac
- Diff due to namelist updates - see comments for cheyenne testing
===============================================================
===============================================================

Tag name: cam6_3_025
Originator(s): cacraig
Date: July 5, 2021
Expand Down
Loading