Skip to content

Commit 1fa74b0

Browse files
authored
Merge pull request #242 from gold2718/updates_from_escomp
noresm3_0_019_cam6_4_085: Updates from escomp Summary: Updates with bug fixes from ESCOMP Contributors: gold2718 Reviewers: @oyvindseland Purpose of changes: #241 Github PR URL: #242 Changes made to build system: None Changes made to the namelist: Some new namelist defaults Changes to the defaults for the boundary datasets: None Substantial timing or memory changes: None Updates include all or parts of: - cam6_4_088 (use rair) - cam6_4_104 (part of vertical diffusion refactor) - cam6_4_112 (cloud chemistry bug fixes) - cam6_4_114 (ESCOMP#1376) - cam6_4_115 (ESCOMP#1395) - Remove UNICON - Add cam6_4_118, updated use-case files - Updates from cam6_4_121 ( RRTMGP updated to cam6_4_124) Testing: aux_cam_noresm: Pass with baseline and namelist changes
2 parents c3fea29 + b11211d commit 1fa74b0

78 files changed

Lines changed: 2547 additions & 20487 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.gitmodules

Lines changed: 18 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -33,10 +33,18 @@
3333
[submodule "atmos_phys"]
3434
path = src/atmos_phys
3535
url = https://github.com/NorESMhub/atmospheric_physics
36-
fxtag = atmos_phys0_14_001_noresm_v0
36+
fxtag = atmos_phys0_18_002_noresm_v0
3737
fxrequired = AlwaysRequired
3838
fxDONOTUSEurl = https://github.com/NorESMhub/atmospheric_physics
3939

40+
[submodule "cam-sima"]
41+
path = src/utils/cam-sima
42+
url = https://github.com/ESCOMP/CAM-SIMA.git
43+
fxrequired = AlwaysRequired
44+
fxsparse = ../.sima_phys_utils_sparse_checkout
45+
fxtag = sima0_07_000
46+
fxDONOTUSEurl = https://github.com/ESCOMP/CAM-SIMA.git
47+
4048
[submodule "carma"]
4149
path = src/physics/carma/base
4250
url = https://github.com/ESCOMP/CARMA_base.git
@@ -47,7 +55,7 @@
4755
[submodule "chem_proc"]
4856
path = chem_proc
4957
url = https://github.com/ESCOMP/CHEM_PREPROCESSOR.git
50-
fxtag = chem_proc5_0_06
58+
fxtag = chem_proc5_0_07
5159
fxrequired = AlwaysRequired
5260
fxDONOTUSEurl = https://github.com/ESCOMP/CHEM_PREPROCESSOR.git
5361

@@ -70,14 +78,14 @@
7078
[submodule "hemco"]
7179
path = src/hemco
7280
url = https://github.com/ESCOMP/HEMCO_CESM.git
73-
fxtag = hemco-cesm2_1_0_hemco3_9_0
81+
fxtag = hemco-cesm2_2_0_hemco3_10_3
7482
fxrequired = AlwaysRequired
7583
fxDONOTUSEurl = https://github.com/ESCOMP/HEMCO_CESM.git
7684

7785
[submodule "oslo_aero"]
7886
path = src/chemistry/oslo_aero
7987
url = https://github.com/NorESMhub/OSLO_AERO
80-
fxtag = oslo_aero_3_0a007
88+
fxtag = oslo_aero_3_0a008
8189
fxrequired = AlwaysRequired
8290
fxDONOTUSEurl = https://github.com/NorESMhub/OSLO_AERO.git
8391

@@ -102,17 +110,6 @@
102110
fxrequired = AlwaysRequired
103111
fxDONOTUSEurl = https://github.com/earth-system-radiation/rrtmgp-data.git
104112

105-
[submodule "rte-rrtmgp"]
106-
path = src/physics/rrtmgp/ext
107-
url = https://github.com/earth-system-radiation/rte-rrtmgp.git
108-
fxtag = v1.7
109-
fxrequired = AlwaysRequired
110-
fxDONOTUSEurl = https://github.com/earth-system-radiation/rte-rrtmgp.git
111-
112-
#-----------------------------
113-
# Optional CAM externals
114-
#-----------------------------
115-
116113
[submodule "ali_arms"]
117114
path = src/physics/ali_arms
118115
url = https://github.com/ESCOMP/ALI-ARMS
@@ -123,14 +120,14 @@
123120
[submodule "cloud_j"]
124121
path = src/chemistry/cloud_j
125122
url = https://github.com/geoschem/cloud-j.git
126-
fxtag = 7.7.3
123+
fxtag = 8.0.1
127124
fxrequired = AlwaysOptional
128125
fxDONOTUSEurl = https://github.com/geoschem/cloud-j.git
129126

130127
[submodule "geoschem"]
131128
path = src/chemistry/geoschem/geoschem_src
132129
url = https://github.com/geoschem/geos-chem.git
133-
fxtag = 14.4.3
130+
fxtag = 14.5.3
134131
fxrequired = AlwaysOptional
135132
fxDONOTUSEurl = https://github.com/geoschem/geos-chem.git
136133

@@ -181,14 +178,14 @@
181178
[submodule "ccs_config"]
182179
path = ccs_config
183180
url = https://github.com/NorESMhub/ccs_config_noresm.git
184-
fxtag = ccs_config_noresm0.0.51
181+
fxtag = ccs_config_noresm0.0.53
185182
fxrequired = ToplevelRequired
186183
fxDONOTUSEurl = https://github.com/NorESMhub/ccs_config_noresm.git
187184

188185
[submodule "cime"]
189186
path = cime
190187
url = https://github.com/NorESMhub/cime.git
191-
fxtag = cime6.1.73_noresm_v0
188+
fxtag = cime6.1.73_noresm_v1
192189
fxrequired = ToplevelRequired
193190
fxDONOTUSEurl = https://github.com/NorESMhub/cime.git
194191

@@ -221,24 +218,17 @@
221218
fxrequired = ToplevelRequired
222219
fxDONOTUSEurl = https://github.com/NorESMhub/NorESM_CICE
223220

224-
[submodule "cism"]
225-
path = components/cism
226-
url = https://github.com/NorESMhub/CISM-wrapper
227-
fxtag = cismwrap_2_2_007_noresm_v0
228-
fxrequired = ToplevelRequired
229-
fxDONOTUSEurl = https://github.com/NorESMhub/CISM-wrapper
230-
231221
[submodule "clm"]
232222
path = components/clm
233223
url = https://github.com/NorESMhub/CTSM
234-
fxtag = ctsm5.3.045_noresm_v11
224+
fxtag = ctsm5.3.045_noresm_v13
235225
fxrequired = ToplevelRequired
236226
fxDONOTUSEurl = https://github.com/NorESMhub/CTSM
237227

238228
[submodule "cmeps"]
239229
path = components/cmeps
240230
url = https://github.com/NorESMhub/CMEPS.git
241-
fxtag = cmeps1.0.39_noresm_v6
231+
fxtag = cmeps1.0.39_noresm_v8
242232
fxrequired = ToplevelRequired
243233
fxDONOTUSEurl = https://github.com/NorESMhub/CMEPS.git
244234

bld/build-namelist

Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -50,8 +50,8 @@ OPTIONS
5050
of the CAM executable. Default: "config_cache.xml".
5151
-csmdata "dir" Root directory of CESM input data.
5252
Can also be set by using the CSMDATA environment variable.
53-
-dir "directory" Directory where output namelist files for each component will be
54-
written, i.e., atm_in, drv_in, ice_in, lnd_in, rof_in, and ocn_in.
53+
-dir "directory" Directory where output namelist files "atm_in" and "drv_flds_in"
54+
will be written.
5555
Default: current working directory.
5656
-help [or -h] Print usage to STDOUT.
5757
-ignore_ic_date Ignore the date of the initial condition files
@@ -746,6 +746,13 @@ elsif ($rad_pkg =~ m/rrtmgp/) {
746746
$rel_path = $nl->get_value('rrtmgp_coefs_sw_file');
747747
my $abs_path = quote_string(set_abs_filepath($rel_path, $cam_dir));
748748
$nl->set_variable_value('radiation_nl', 'rrtmgp_coefs_sw_file', $abs_path);
749+
750+
add_default($nl, 'p_top_for_equil_rad');
751+
}
752+
if (not $waccm_phys) {
753+
add_default($nl, 'qrsmlt_scaling');
754+
add_default($nl, 'p_top_for_radmrg');
755+
add_default($nl, 'p_bot_for_radmrg');
749756
}
750757

751758
# Solar irradiance
@@ -3500,7 +3507,7 @@ if ($cfg->get('microphys') =~ /^mg/) {
35003507
$micro_mg_dcs = '500.D-6';
35013508
}
35023509
elsif ($phys eq 'cam7') {
3503-
$micro_mg_dcs = '500.D-6';
3510+
$micro_mg_dcs = '500.D-6'; # Note: CESM is using 600.
35043511
}
35053512
}
35063513

bld/config_files/definition.xml

Lines changed: 0 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -82,9 +82,6 @@ Switch to turn on CLUBB_SGS package: 0 => no, 1 => yes
8282
<entry id="silhs" valid_values="0,1" value="0">
8383
Switch to turn on SILHS package: 0 => no, 1 => yes
8484
</entry>
85-
<entry id="unicon" valid_values="0,1" value="0">
86-
Switch to turn on UNICON package: 0 => off, 1 => on
87-
</entry>
8885
<entry id="clubb_do_adv" valid_values="0,1" value="0">
8986
Switch to turn on/off advecting CLUBB moments: 0 => no, 1 => yes
9087
</entry>
@@ -130,13 +127,6 @@ Chemistry source directory generated by the chemistry preprocessor; contains F90
130127
<entry id="chem_src_dir" value="">
131128
Chemistry source directory; contains F90 files.
132129
</entry>
133-
<entry id="ocn" valid_values="docn,dom,som,socn,aquaplanet,pop,mom,nemo,blom" value="docn">
134-
Use data ocean model (docn or dom), stub ocean (socn), or aqua planet ocean
135-
(aquaplanet) in cam build. When built from the CESM scripts the value of
136-
ocn may be set to pop. This doesn't impact how CAM is built, only how
137-
attributes are matched when searching for namelist defaults. If ocn is set
138-
to som then the docn component is used.
139-
</entry>
140130
<entry id="aquaplanet" valid_value="0,1" value="0">
141131
Switch for aquaplanet mode. By default this switch sets the ocn component
142132
to use an analytic expression for SST. To use aquaplanet with time varying

bld/configure

Lines changed: 16 additions & 61 deletions
Original file line numberDiff line numberDiff line change
@@ -108,7 +108,6 @@ OPTIONS
108108
-psubcols <n> Maximum number of sub-columns in a run - set to 1 if not using sub-columns (default)
109109
-rad <name> Specify the radiation package [rrtmg | rrtmgp | rrtmgp_gpu | camrt]
110110
-silhs Switch on SILHS.
111-
-unicon Switch to turn on the UNICON scheme. Default: off.
112111
-usr_mech_infile Path and file name of the user supplied chemistry mechanism file.
113112
-waccm_phys Switch enables the use of WACCM physics in any chemistry configuration.
114113
The user does not need to set this if one of the waccm chemistry options
@@ -279,7 +278,6 @@ GetOptions(
279278
"nc_lib=s" => \$opts{'nc_lib'},
280279
"nc_mod=s" => \$opts{'nc_mod'},
281280
"nlev=s" => \$opts{'nlev'},
282-
"ocn=s" => \$opts{'ocn'},
283281
"offline_dyn" => \$opts{'offline_dyn'},
284282
"pbl=s" => \$opts{'pbl'},
285283
"pcols=s" => \$opts{'pcols'},
@@ -299,7 +297,6 @@ GetOptions(
299297
"smp!" => \$opts{'smp'},
300298
"spmd!" => \$opts{'spmd'},
301299
"target_os=s" => \$opts{'target_os'},
302-
"unicon" => \$opts{'unicon'},
303300
"usr_mech_infile=s" => \$opts{'usr_mech_infile'},
304301
"usr_src=s" => \$opts{'usr_src'},
305302
"v|verbose" => \$opts{'verbose'},
@@ -967,27 +964,6 @@ $cfg_ref->set('pbl', $pbl_pkg);
967964

968965
if ($print>=2) { print "PBL package: $pbl_pkg$eol"; }
969966

970-
#-----------------------------------------------------------------------------------------------
971-
# UNICON
972-
973-
if (defined $opts{'unicon'}) {
974-
$cfg_ref->set('unicon', $opts{'unicon'});
975-
}
976-
my $unicon = $cfg_ref->get('unicon');
977-
978-
# consistency checks...
979-
980-
# UNICON assumes park macrophysics, uw pbl, and mg microphysics
981-
if ($unicon and
982-
($macrophys_pkg ne 'park' or $pbl_pkg ne 'uw' or $microphys_pkg !~ m/^mg/) ) {
983-
die <<"EOF";
984-
** ERROR: UNICON assumes macrophys='park', pbl='uw', microphys='mg*'. Current values are:
985-
** macrophys: $macrophys_pkg, pbl: $pbl_pkg, microphys: $microphys_pkg.
986-
EOF
987-
}
988-
989-
if ($unicon and $print>=2) { print "Using UNICON scheme.$eol"; }
990-
991967
#-----------------------------------------------------------------------------------------------
992968
# Radiation package
993969

@@ -1077,26 +1053,7 @@ $cfg_ref->set('aquaplanet', $aquaplanet);
10771053
my $aqua_mode = $aquaplanet ? "ON" : "OFF";
10781054
if ($print>=2) { print "Aqua-planet mode: $aqua_mode$eol"; }
10791055

1080-
#-----------------------------------------------------------------------------------------------
1081-
# Ocean model
1082-
my $ocn_pkg = 'socn';
1083-
if ($aquaplanet) {
1084-
# Default for aquaplanet mode is to use an analytic expression for fixed SST.
1085-
$ocn_pkg = 'aquaplanet';
1086-
}
1087-
1088-
# Allow the user to override the default via the commandline.
1089-
# For aquaplanet with SOM the option '-ocn som' should be used to override
1090-
# aquaplanet's default ocean component setting.
1091-
if (defined $opts{'ocn'}) {
1092-
$ocn_pkg = lc($opts{'ocn'});
1093-
}
1094-
1095-
$cfg_ref->set('ocn', $ocn_pkg);
1096-
1097-
if ($print>=2) { print "Ocean package: $ocn_pkg$eol"; }
1098-
1099-
#-----------------------------------------------------------------------------------------------
1056+
#----------------------------------------------------------------------------------
11001057
# Use modifications for perturbation growth testing?
11011058
if (defined $opts{'pergro'}) {
11021059
$cfg_ref->set('pergro', $opts{'pergro'});
@@ -1499,12 +1456,6 @@ else {
14991456
if ($print>=2) { print "Advected constituents added by CARMA model $carma_pkg: $carma_nadv$eol"; }
15001457
}
15011458

1502-
# UNICON tracers
1503-
if ($unicon) {
1504-
$nadv += 5;
1505-
if ($print>=2) { print "Advected constituents added by UNICON: 5$eol"; }
1506-
}
1507-
15081459
}
15091460

15101461
# Special case for Kessler physics, need ice and water tracers
@@ -1857,9 +1808,6 @@ if ($silhs == 1) {
18571808
# Simple Models
18581809
if ($simple_phys) { $cfg_cppdefs .= ' -DSIMPLE'; }
18591810

1860-
# UNICON
1861-
if ($unicon) { $cfg_cppdefs .= ' -DUSE_UNICON'; }
1862-
18631811
# Harmonized Emissions Component (HEMCO)
18641812
# These CPP definitions are used by HEMCO to recognize -
18651813
# MODEL_ - HEMCO/GEOS-Chem components running in model environment
@@ -2132,16 +2080,18 @@ sub write_filepath
21322080
}
21332081
elsif ($rad eq 'rrtmgp') {
21342082
print $fh "$camsrcdir/src/physics/rrtmgp\n";
2135-
print $fh "$camsrcdir/src/physics/rrtmgp/ext/extensions\n";
2136-
print $fh "$camsrcdir/src/physics/rrtmgp/ext/gas-optics\n";
2137-
print $fh "$camsrcdir/src/physics/rrtmgp/ext/rrtmgp-frontend\n";
2138-
print $fh "$camsrcdir/src/physics/rrtmgp/ext/rte-frontend\n";
2083+
print $fh "$camsrcdir/src/atmos_phys/schemes/rrtmgp/ext/extensions\n";
2084+
print $fh "$camsrcdir/src/atmos_phys/schemes/rrtmgp/ext/gas-optics\n";
2085+
print $fh "$camsrcdir/src/atmos_phys/schemes/rrtmgp/ext/rrtmgp-frontend\n";
2086+
print $fh "$camsrcdir/src/atmos_phys/schemes/rrtmgp/ext/rte-frontend\n";
21392087
if ($use_rrtmgp_gpu) {
2140-
print $fh "$camsrcdir/src/physics/rrtmgp/ext/rrtmgp-kernels/accel\n";
2141-
print $fh "$camsrcdir/src/physics/rrtmgp/ext/rte-kernels/accel\n";
2088+
print $fh "$camsrcdir/src/atmos_phys/schemes/rrtmgp/ext/rrtmgp-kernels/accel\n";
2089+
print $fh "$camsrcdir/src/atmos_phys/schemes/rrtmgp/ext/rte-kernels/accel\n";
21422090
}
2143-
print $fh "$camsrcdir/src/physics/rrtmgp/ext/rrtmgp-kernels\n";
2144-
print $fh "$camsrcdir/src/physics/rrtmgp/ext/rte-kernels\n";
2091+
print $fh "$camsrcdir/src/atmos_phys/schemes/rrtmgp/ext/rrtmgp-kernels\n";
2092+
print $fh "$camsrcdir/src/atmos_phys/schemes/rrtmgp/ext/rte-kernels\n";
2093+
print $fh "$camsrcdir/src/atmos_phys/schemes/rrtmgp\n";
2094+
print $fh "$camsrcdir/src/atmos_phys/schemes/rrtmgp/objects\n";
21452095
}
21462096

21472097
if ($clubb_sgs) {
@@ -2164,6 +2114,7 @@ sub write_filepath
21642114
# in the list of filepaths.
21652115
print $fh "$camsrcdir/src/physics/cam\n";
21662116
print $fh "$camsrcdir/src/atmos_phys/to_be_ccppized\n";
2117+
print $fh "$camsrcdir/src/atmos_phys/to_be_ccppized/radiation_utils\n";
21672118
print $fh "$camsrcdir/src/atmos_phys/phys_utils\n";
21682119

21692120
# Add the CCPP'ized subdirectories
@@ -2173,6 +2124,7 @@ sub write_filepath
21732124
print $fh "$camsrcdir/src/atmos_phys/schemes/conservation_adjust/check_energy\n";
21742125
print $fh "$camsrcdir/src/atmos_phys/schemes/conservation_adjust/dme_adjust\n";
21752126
print $fh "$camsrcdir/src/atmos_phys/schemes/hack_shallow\n";
2127+
print $fh "$camsrcdir/src/atmos_phys/schemes/rrtmgp/utils\n";
21762128
print $fh "$camsrcdir/src/atmos_phys/schemes/rasch_kristjansson\n";
21772129
print $fh "$camsrcdir/src/atmos_phys/schemes/utilities\n";
21782130

@@ -2198,6 +2150,9 @@ sub write_filepath
21982150
print $fh "$camsrcdir/src/utils\n";
21992151
print $fh "$camsrcdir/src/utils/cam_ccpp\n";
22002152

2153+
# Routines from CAM-SIMA
2154+
print $fh "$camsrcdir/src/utils/cam-sima/src/physics/utils\n";
2155+
22012156
$fh->close;
22022157
}
22032158

0 commit comments

Comments
 (0)