Skip to content

Commit 839c106

Browse files
committed
Merge remote-tracking branch 'ESCOMP/cam_development' into update-externals
2 parents 9eee34e + ce3beab commit 839c106

File tree

131 files changed

+267
-20624
lines changed

Some content is hidden

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

131 files changed

+267
-20624
lines changed

bld/build-namelist

Lines changed: 0 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -4079,27 +4079,6 @@ if ( $dyn eq 'fv3') {
40794079

40804080
}
40814081

4082-
# EUL dycore
4083-
if ($dyn eq 'eul') {
4084-
add_default($nl, 'eul_dif2_coef');
4085-
add_default($nl, 'eul_hdif_order');
4086-
add_default($nl, 'eul_hdif_kmnhdn');
4087-
add_default($nl, 'eul_hdif_coef');
4088-
add_default($nl, 'eul_divdampn');
4089-
add_default($nl, 'eul_tfilt_eps');
4090-
add_default($nl, 'eul_kmxhdc');
4091-
add_default($nl, 'eul_nsplit');
4092-
}
4093-
4094-
# SLD dycore
4095-
if ($dyn eq 'sld') {
4096-
add_default($nl, 'sld_dif2_coef');
4097-
add_default($nl, 'sld_dif4_coef');
4098-
add_default($nl, 'sld_divdampn');
4099-
add_default($nl, 'sld_tfilt_eps');
4100-
add_default($nl, 'sld_kmxhdc');
4101-
}
4102-
41034082
# Single column model
41044083
if ($cfg->get('scam')) {
41054084
add_default($nl, 'iopfile');

bld/config_files/definition.xml

Lines changed: 5 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -26,8 +26,8 @@ Switch specifies whether CAM is being built by the CCSM sequential scripts. 0 =
2626
<entry id="cpl" valid_values="mct,nuopc" value="mct" >
2727
Coupling framework: mct or nuopc. Default: mct.
2828
</entry>
29-
<entry id="dyn" valid_values="eul,fv,fv3,se,mpas" value="">
30-
Dynamics package: eul, fv, fv3, se, or mpas.
29+
<entry id="dyn" valid_values="fv,fv3,se,mpas" value="">
30+
Dynamics package: fv, fv3, se, or mpas.
3131
</entry>
3232
<entry id="waccm_phys" valid_values="0,1" value="0">
3333
Switch to turn on waccm physics: 0 => no, 1 => yes.
@@ -144,15 +144,15 @@ Modifications that allow perturbation growth testing: 0=off, 1=on.
144144
</entry>
145145
<entry id="scam" valid_values="0,1" value="0">
146146
Configure CAM for single column mode and specify an IOP: 0=no, 1=yes.
147-
This option only supported for the Eulerian and SE dycores.
147+
This option only supported for the SE dycore.
148148
</entry>
149149
<entry id="scam_iop" valid_values="arm95,arm97,atex,bomex,cgilss11,cgilss12,cgilss6,dycomsrf01,dycomsrf02,gateiii,mpace,rico,sas,sparticus,togaii,twp06,camfrc,none" value="none">
150150
Single column IOP
151-
Supported for Eulerian and SE dycores.
151+
Only supported for SE dycore.
152152
</entry>
153153
<entry id="camiop" valid_values="0,1" value="0">
154154
Configure CAM to generate an IOP file that can be used to drive SCAM: 0=no, 1=yes.
155-
Supported for Eulerian and SE dycores.
155+
Only supported for SE dycore.
156156
</entry>
157157
<entry id="hgrid" value="">
158158
Horizontal grid specifier. The recognized values depend on
@@ -191,15 +191,6 @@ Switch on (off) age of air tracers: 0=off, 1=on.
191191
Maximum number of constituents that are radiatively active or in any one
192192
diagnostic list.
193193
</entry>
194-
<entry id="trm" value="1">
195-
Maximum Fourier wavenumber.
196-
</entry>
197-
<entry id="trn" value="1">
198-
Highest degree of the Legendre polynomials for m=0.
199-
</entry>
200-
<entry id="trk" value="1">
201-
Highest degree of the associated Legendre polynomials.
202-
</entry>
203194
<entry id="pcols" value="16">
204195
Maximum number of columns in a chunk (physics data structure).
205196
</entry>

bld/config_files/horiz_grid.xml

Lines changed: 0 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -2,15 +2,6 @@
22

33
<config_horiz_grid>
44

5-
<horiz_grid dyn="eul" hgrid="512x1024" nlat="512" nlon="1024" m="341" n="341" k="341" />
6-
<horiz_grid dyn="eul" hgrid="256x512" nlat="256" nlon="512" m="170" n="170" k="170" />
7-
<horiz_grid dyn="eul" hgrid="128x256" nlat="128" nlon="256" m="85" n="85" k="85" />
8-
<horiz_grid dyn="eul" hgrid="64x128" nlat="64" nlon="128" m="42" n="42" k="42" />
9-
<horiz_grid dyn="eul" hgrid="48x96" nlat="48" nlon="96" m="31" n="31" k="31" />
10-
<horiz_grid dyn="eul" hgrid="32x64" nlat="32" nlon="64" m="21" n="21" k="21" />
11-
<horiz_grid dyn="eul" hgrid="8x16" nlat="8" nlon="16" m="5" n="5" k="5" />
12-
<horiz_grid dyn="eul" hgrid="1x1" nlat="1" nlon="1" m="1" n="1" k="1" />
13-
145
<horiz_grid dyn="fv" hgrid="0.23x0.31" nlat="768" nlon="1152" />
156
<horiz_grid dyn="fv" hgrid="0.47x0.63" nlat="384" nlon="576" />
167
<horiz_grid dyn="fv" hgrid="0.5x0.625" nlat="361" nlon="576" />

bld/configure

Lines changed: 10 additions & 52 deletions
Original file line numberDiff line numberDiff line change
@@ -78,7 +78,7 @@ OPTIONS
7878
-cppdefs <string> A string of user specified CPP defines. Appended to
7979
Makefile defaults. E.g. -cppdefs '-DVAR1 -DVAR2'
8080
-cpl Coupling framework [mct | nuopc]. Default: mct.
81-
-dyn <name> Dynamical core option: [eul | fv | se | fv3 | mpas]. Default: fv.
81+
-dyn <name> Dynamical core option: [fv | se | fv3 | mpas]. Default: fv.
8282
-edit_chem_mech Invokes CAMCHEM_EDITOR to allow the user to edit the chemistry mechanism file
8383
-hgrid <name> Specify horizontal grid. Use nlatxnlon for spectral grids;
8484
dlatxdlon for fv grids (dlat and dlon are the grid cell size
@@ -115,7 +115,6 @@ OPTIONS
115115
Options relevent to SCAM mode:
116116
117117
-camiop Configure CAM to generate an IOP file that can be used to drive SCAM.
118-
This switch only works with the Eulerian dycore.
119118
-scam <iopname> Compiles model in single column mode and configures for iop
120119
[ arm95 | arm97 | atex | bomex | cgilsS11 | cgilsS12 | cgilsS6 | dycomsRF01 |
121120
dycomsRF02 | gateIII | mpace | rico | sparticus | togaII | twp06 | SAS | camfrc ].
@@ -686,14 +685,6 @@ $waccm_phys = $cfg_ref->get('waccm_phys');
686685

687686
if ($print>=2) { print "WACCM physics: $waccm_phys$eol"; }
688687

689-
690-
# WACCM physics only runs with FV, SE and FV3 dycores
691-
if ( ($waccm_phys) and ($dyn_pkg eq 'eul') ) {
692-
die <<"EOF";
693-
** ERROR: WACCM physics does not run with the Eulerian spectral dycore.
694-
EOF
695-
}
696-
697688
# WACCM includes 4 age of air tracers by default
698689
if ($chem_pkg =~ /waccm_ma/ or $chem_pkg =~ /waccm_tsmlt/) {
699690
$cfg_ref->set('age_of_air_trcs', 1);
@@ -1107,10 +1098,10 @@ if (defined $opts{'scam'}) {
11071098
}
11081099
my $scam = $cfg_ref->get('scam') ? "ON" : "OFF";
11091100

1110-
# The only dycores supported in SCAM mode are Eulerian and Spectral Elements
1111-
if ($scam eq 'ON' and !($dyn_pkg eq 'eul' or $dyn_pkg eq 'se')) {
1101+
# The only dycore supported in SCAM mode is the Spectral Element
1102+
if ($scam eq 'ON' and !($dyn_pkg eq 'se')) {
11121103
die <<"EOF";
1113-
** ERROR: SCAM mode only works with Eulerian or SE dycores.
1104+
** ERROR: SCAM mode only works with SE dycore.
11141105
** Requested dycore is: $dyn_pkg
11151106
EOF
11161107
}
@@ -1124,10 +1115,10 @@ if (defined $opts{'camiop'}) {
11241115
}
11251116
my $camiop = $cfg_ref->get('camiop') ? "ON" : "OFF";
11261117

1127-
# The only dycores supported in SCAM mode are Eulerian and Spectral Elements
1128-
if ($camiop eq 'ON' and !($dyn_pkg eq 'eul' or $dyn_pkg eq 'se')) {
1118+
# The only dycore supported in SCAM mode is the Spectral Element
1119+
if ($camiop eq 'ON' and !($dyn_pkg eq 'se')) {
11291120
die <<"EOF";
1130-
** ERROR: CAMIOP mode only works with the Eulerian or Spectral Element dycores.
1121+
** ERROR: CAMIOP mode only works with the Spectral Element dycore.
11311122
** Requested dycore is: $dyn_pkg
11321123
EOF
11331124
}
@@ -1141,9 +1132,6 @@ my $hgrid;
11411132
if ($dyn_pkg eq 'fv') {
11421133
$hgrid = '1.9x2.5';
11431134
}
1144-
elsif ($dyn_pkg eq 'eul') {
1145-
$hgrid = '64x128';
1146-
}
11471135
elsif ($dyn_pkg eq 'se') {
11481136
$hgrid = 'ne16np4';
11491137
}
@@ -1788,12 +1776,6 @@ $cfg_cppdefs .= " -DPLEV=$nlev -DPCNST=$nadv -DPCOLS=$pcols -DPSUBCOLS=$psubcols
17881776
# Radiatively active constituent number
17891777
$cfg_cppdefs .= " -DN_RAD_CNST=$max_n_rad_cnst";
17901778

1791-
# Spectral truncation parameters
1792-
my $trm = $cfg_ref->get('trm');
1793-
my $trn = $cfg_ref->get('trn');
1794-
my $trk = $cfg_ref->get('trk');
1795-
$cfg_cppdefs .= " -DPTRM=$trm -DPTRN=$trn -DPTRK=$trk";
1796-
17971779
# offline driver for FV dycore
17981780
if ($offline_dyn) { $cfg_cppdefs .= ' -DOFFLINE_DYN'; }
17991781

@@ -2192,11 +2174,6 @@ sub write_filepath
21922174
print $fh "$camsrcdir/src/utils/pilgrim\n";
21932175
}
21942176

2195-
# Advective transport
2196-
if ($dyn eq 'eul') {
2197-
print $fh "$camsrcdir/src/advection/slt\n";
2198-
}
2199-
22002177
print $fh "$camsrcdir/src/cpl/$cpl\n";
22012178
print $fh "$camsrcdir/src/control\n";
22022179
print $fh "$camsrcdir/src/utils\n";
@@ -2373,9 +2350,9 @@ sub set_horiz_grid
23732350
$hgrid =~ m/C(\d+)/;
23742351
$cfg_ref->set('hgrid', $hgrid);
23752352
}
2376-
elsif ($dyn_pkg =~ m/^eul$|^fv/) {
2353+
elsif ($dyn_pkg =~ m/^fv/) {
23772354

2378-
# For EUL and FV dycores the parameters are read from an input file,
2355+
# For FV dycore the parameters are read from an input file,
23792356
# and if no dycore/grid matches are found then issue error message.
23802357

23812358
my $xml = XML::Lite->new( $hgrid_file );
@@ -2404,26 +2381,7 @@ sub set_horiz_grid
24042381
unless ($found) { die "set_horiz_grid: no match for dycore $dyn_pkg and hgrid $hgrid\n"; }
24052382

24062383
# Set parameter values -- dycore specific.
2407-
if ( $dyn_pkg =~ m/eul/ ) {
2408-
$cfg_ref->set('nlat', $a{'nlat'});
2409-
$cfg_ref->set('nlon', $a{'nlon'});
2410-
$cfg_ref->set('trm', $a{'m'});
2411-
$cfg_ref->set('trn', $a{'n'});
2412-
$cfg_ref->set('trk', $a{'k'});
2413-
2414-
# Override resolution settings to configure for SCAM mode. The override is needed
2415-
# because in SCAM mode the -hgrid option is used to specify the resolution of default
2416-
# datasets from which single data columns are extracted.
2417-
my $scam = $cfg_ref->get('scam');
2418-
if ($scam) {
2419-
$cfg_ref->set('nlat', 1);
2420-
$cfg_ref->set('nlon', 1);
2421-
$cfg_ref->set('trm', 1);
2422-
$cfg_ref->set('trn', 1);
2423-
$cfg_ref->set('trk', 1);
2424-
}
2425-
}
2426-
elsif ( $dyn_pkg eq 'fv' ) {
2384+
if ( $dyn_pkg eq 'fv' ) {
24272385
$cfg_ref->set('nlat', $a{'nlat'});
24282386
$cfg_ref->set('nlon', $a{'nlon'});
24292387
}

0 commit comments

Comments
 (0)