diff --git a/Externals.cfg b/Externals.cfg
index b6dc66e74d..3274b2751d 100644
--- a/Externals.cfg
+++ b/Externals.cfg
@@ -9,14 +9,14 @@ local_path = components/cice
required = True
[cime]
-tag = cime5.8.28
+tag = cime5.8.32.7
protocol = git
repo_url = https://github.com/ESMCI/cime
local_path = cime
required = True
[cism]
-tag = cism2_1_68
+tag = cism2_1_69_a
protocol = git
repo_url = https://github.com/ESCOMP/cism-wrapper
local_path = components/cism
@@ -24,7 +24,7 @@ externals = Externals_CISM.cfg
required = True
[clm]
-tag = ctsm1.0.dev107
+tag = release-cesm2.2.03
protocol = git
repo_url = https://github.com/ESCOMP/ctsm
local_path = components/clm
@@ -32,7 +32,7 @@ externals = Externals_CLM.cfg
required = True
[mosart]
-tag = mosart1_0_36
+tag = mosart1_0_37_1
protocol = git
repo_url = https://github.com/ESCOMP/mosart
local_path = components/mosart
@@ -46,7 +46,7 @@ local_path = components/rtm
required = True
[fms]
-tag = fi_20200609
+tag = fi_20200609_cesm2.2_231205
protocol = git
repo_url = https://github.com/ESCOMP/FMS_interface.git
local_path = libraries/FMS
diff --git a/bld/build-namelist b/bld/build-namelist
index 642d63e70d..8ce374a8c4 100755
--- a/bld/build-namelist
+++ b/bld/build-namelist
@@ -4051,13 +4051,21 @@ sub fv_decomp_set{
my $nlev = $cfg->get('nlev');
my ($ny, $nz);
+ my $waccmx = $cfg->get('waccmx');
+ my $nmaglat = 97;
+ my $nmaglon = 80;
+ my $nlatitudes = $nlat;
+ if ($waccmx and $nlat>$nmaglat) {
+ $nlatitudes = $nmaglat; # magnetic grid resolution
+ }
+
# die if bad input
if ($ntasks < 1) {
die "$ProgName - ERROR: fv_decomp_set: bad input: ntasks=$ntasks.\n" .
" -ntask argument to build-namelist is wrong.";
}
- NZ: for ($nz = 1; $nz <= $nlev; ++$nz) {
+ NZLOOP: for ($nz = 1; $nz <= $nlev; ++$nz) {
# test that $nz divides $ntasks
if ($ntasks%$nz == 0) {
@@ -4066,7 +4074,7 @@ sub fv_decomp_set{
# test that y subdomains contain at least 3 latitudes
# if so then done
- if (3*$ny <= $nlat) {last NZ;}
+ if (3*$ny <= $nlatitudes) {last NZLOOP;}
}
}
@@ -4075,6 +4083,10 @@ sub fv_decomp_set{
die "$ProgName - ERROR: fv_decomp_set failed to find a decomposition.\n" .
" npr_yz needs to be set by the user.";
}
+ if ($waccmx and $nmaglon/$nz < 4) {
+ die "$ProgName - ERROR: fv_decomp_set failed to find a decomposition.\n"
+ . " Too many MPI tasks to properly decompose WACCMX magnetic grid.";
+ }
return "$ny,$nz,$nz,$ny";
}
diff --git a/cime_config/config_compsets.xml b/cime_config/config_compsets.xml
index 03587cf5b5..5796a3b8d2 100644
--- a/cime_config/config_compsets.xml
+++ b/cime_config/config_compsets.xml
@@ -52,19 +52,19 @@
F2000climo
- 2000_CAM60_CLM50%SP_CICE%PRES_DOCN%DOM_MOSART_CISM2%NOEVOLVE_SWAV
+ 2000_CAM60_CLM50%SP_CICE%PRES_DOCN%DOM_MOSART_SGLC_SWAV
FHIST
- HIST_CAM60_CLM50%SP_CICE%PRES_DOCN%DOM_MOSART_CISM2%NOEVOLVE_SWAV
+ HIST_CAM60_CLM50%SP_CICE%PRES_DOCN%DOM_MOSART_SGLC_SWAV
FHIST_BGC
- HIST_CAM60_CLM50%BGC-CROP_CICE%PRES_DOCN%DOM_MOSART_CISM2%NOEVOLVE_SWAV
+ HIST_CAM60_CLM50%BGC-CROP_CICE%PRES_DOCN%DOM_MOSART_SGLC_SWAV
@@ -189,12 +189,12 @@
F2010climo
- 2010_CAM60_CLM50%SP_CICE%PRES_DOCN%DOM_MOSART_CISM2%NOEVOLVE_SWAV
+ 2010_CAM60_CLM50%SP_CICE%PRES_DOCN%DOM_MOSART_SGLC_SWAV
F1850
- 1850_CAM60_CLM50%SP_CICE%PRES_DOCN%DOM_MOSART_CISM2%NOEVOLVE_SWAV
+ 1850_CAM60_CLM50%SP_CICE%PRES_DOCN%DOM_MOSART_SGLC_SWAV
@@ -209,12 +209,12 @@
F1850_BDRD
- 1850_CAM60_CLM50%BGC_CICE%PRES_DOCN%DOM_MOSART_CISM2%NOEVOLVE_SWAV_BGC%BDRD
+ 1850_CAM60_CLM50%BGC_CICE%PRES_DOCN%DOM_MOSART_SGLC_SWAV_BGC%BDRD
FHIST_BDRD
- HIST_CAM60_CLM50%BGC-CROP_CICE%PRES_DOCN%DOM_MOSART_CISM2%NOEVOLVE_SWAV_BGC%BDRD
+ HIST_CAM60_CLM50%BGC-CROP_CICE%PRES_DOCN%DOM_MOSART_SGLC_SWAV_BGC%BDRD
@@ -277,25 +277,25 @@
FC2000climo
- 2000_CAM60%CCTS1_CLM50%SP_CICE%PRES_DOCN%DOM_MOSART_CISM2%NOEVOLVE_SWAV
+ 2000_CAM60%CCTS1_CLM50%SP_CICE%PRES_DOCN%DOM_MOSART_SGLC_SWAV
FC2010climo
- 2010_CAM60%CCTS1_CLM50%SP_CICE%PRES_DOCN%DOM_MOSART_CISM2%NOEVOLVE_SWAV
+ 2010_CAM60%CCTS1_CLM50%SP_CICE%PRES_DOCN%DOM_MOSART_SGLC_SWAV
FCHIST
- HIST_CAM60%CCTS1_CLM50%SP_CICE%PRES_DOCN%DOM_MOSART_CISM2%NOEVOLVE_SWAV
+ HIST_CAM60%CCTS1_CLM50%SP_CICE%PRES_DOCN%DOM_MOSART_SGLC_SWAV
FCvbsxHIST
- HIST_CAM60%CVBSX_CLM50%SP_CICE%PRES_DOCN%DOM_MOSART_CISM2%NOEVOLVE_SWAV
+ HIST_CAM60%CVBSX_CLM50%SP_CICE%PRES_DOCN%DOM_MOSART_SGLC_SWAV
FCfireHIST
- HIST_CAM60%CFIRE_CLM50%BGC-CROP_CICE%PRES_DOCN%DOM_MOSART_CISM2%NOEVOLVE_SWAV
+ HIST_CAM60%CFIRE_CLM50%BGC-CROP_CICE%PRES_DOCN%DOM_MOSART_SGLC_SWAV
@@ -333,12 +333,12 @@
F1850_BDRD
- 1850_CAM60_CLM50%BGC_CICE%PRES_DOCN%DOM_MOSART_CISM2%NOEVOLVE_SWAV_BGC%BDRD
+ 1850_CAM60_CLM50%BGC_CICE%PRES_DOCN%DOM_MOSART_SGLC_SWAV_BGC%BDRD
FHIST_BDRD
- HIST_CAM60_CLM50%BGC-CROP_CICE%PRES_DOCN%DOM_MOSART_CISM2%NOEVOLVE_SWAV_BGC%BDRD
+ HIST_CAM60_CLM50%BGC-CROP_CICE%PRES_DOCN%DOM_MOSART_SGLC_SWAV_BGC%BDRD
@@ -385,43 +385,43 @@
FWHIST
- HIST_CAM60%WCTS_CLM50%SP_CICE%PRES_DOCN%DOM_MOSART_CISM2%NOEVOLVE_SWAV
+ HIST_CAM60%WCTS_CLM50%SP_CICE%PRES_DOCN%DOM_MOSART_SGLC_SWAV
FWHIST_BGC
- HIST_CAM60%WCTS_CLM50%BGC-CROP_CICE%PRES_DOCN%DOM_MOSART_CISM2%NOEVOLVE_SWAV
+ HIST_CAM60%WCTS_CLM50%BGC-CROP_CICE%PRES_DOCN%DOM_MOSART_SGLC_SWAV
FWsc2010climo
- 2010_CAM60%WCSC_CLM50%SP_CICE%PRES_DOCN%DOM_MOSART_CISM2%NOEVOLVE_SWAV
+ 2010_CAM60%WCSC_CLM50%SP_CICE%PRES_DOCN%DOM_MOSART_SGLC_SWAV
FWsc2000climo
- 2000_CAM60%WCSC_CLM50%SP_CICE%PRES_DOCN%DOM_MOSART_CISM2%NOEVOLVE_SWAV
+ 2000_CAM60%WCSC_CLM50%SP_CICE%PRES_DOCN%DOM_MOSART_SGLC_SWAV
FWsc1850
- 1850_CAM60%WCSC_CLM50%SP_CICE%PRES_DOCN%DOM_MOSART_CISM2%NOEVOLVE_SWAV
+ 1850_CAM60%WCSC_CLM50%SP_CICE%PRES_DOCN%DOM_MOSART_SGLC_SWAV
FWscHIST
- HIST_CAM60%WCSC_CLM50%SP_CICE%PRES_DOCN%DOM_MOSART_CISM2%NOEVOLVE_SWAV
+ HIST_CAM60%WCSC_CLM50%SP_CICE%PRES_DOCN%DOM_MOSART_SGLC_SWAV
FW1850
- 1850_CAM60%WCTS_CLM50%SP_CICE%PRES_DOCN%DOM_MOSART_CISM2%NOEVOLVE_SWAV
+ 1850_CAM60%WCTS_CLM50%SP_CICE%PRES_DOCN%DOM_MOSART_SGLC_SWAV
@@ -431,17 +431,17 @@
FWma2000climo
- 2000_CAM60%WCCM_CLM50%SP_CICE%PRES_DOCN%DOM_MOSART_CISM2%NOEVOLVE_SWAV
+ 2000_CAM60%WCCM_CLM50%SP_CICE%PRES_DOCN%DOM_MOSART_SGLC_SWAV
FW2000climo
- 2000_CAM60%WCTS_CLM50%SP_CICE%PRES_DOCN%DOM_MOSART_CISM2%NOEVOLVE_SWAV
+ 2000_CAM60%WCTS_CLM50%SP_CICE%PRES_DOCN%DOM_MOSART_SGLC_SWAV
FW2010climo
- 2010_CAM60%WCTS_CLM50%SP_CICE%PRES_DOCN%DOM_MOSART_CISM2%NOEVOLVE_SWAV
+ 2010_CAM60%WCTS_CLM50%SP_CICE%PRES_DOCN%DOM_MOSART_SGLC_SWAV
@@ -456,7 +456,7 @@
FWmaHIST
- HIST_CAM60%WCCM_CLM50%SP_CICE%PRES_DOCN%DOM_MOSART_CISM2%NOEVOLVE_SWAV
+ HIST_CAM60%WCCM_CLM50%SP_CICE%PRES_DOCN%DOM_MOSART_SGLC_SWAV
@@ -466,7 +466,7 @@
FWmadHIST
- HIST_CAM60%WCMD_CLM50%SP_CICE%PRES_DOCN%DOM_MOSART_CISM2%NOEVOLVE_SWAV
+ HIST_CAM60%WCMD_CLM50%SP_CICE%PRES_DOCN%DOM_MOSART_SGLC_SWAV
diff --git a/cime_config/config_pes.xml b/cime_config/config_pes.xml
index ae8d997187..8a0fdbff51 100644
--- a/cime_config/config_pes.xml
+++ b/cime_config/config_pes.xml
@@ -7,67 +7,67 @@
none
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
none
- -1
- -1
- -1
- -1
- -1
- -1
- -1
- -1
+ -1
+ -1
+ -1
+ -1
+ -1
+ -1
+ -1
+ -1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
@@ -77,34 +77,34 @@
none
- -4
- -4
- -4
- -4
- -4
- -4
- -4
- -4
+ -4
+ -4
+ -4
+ -4
+ -4
+ -4
+ -4
+ -4
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
@@ -114,34 +114,34 @@
none
- -4
- -4
- -4
- -4
- -4
- -4
- -4
- -4
+ -4
+ -4
+ -4
+ -4
+ -4
+ -4
+ -4
+ -4
- 2
- 2
- 2
- 2
- 2
- 2
- 2
- 2
+ 2
+ 2
+ 2
+ 2
+ 2
+ 2
+ 2
+ 2
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
@@ -151,34 +151,34 @@
none
- -40
- -40
- -40
- -40
- -40
- -40
- -40
- -40
+ -40
+ -40
+ -40
+ -40
+ -40
+ -40
+ -40
+ -40
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
@@ -188,34 +188,34 @@
none
- 2048
- 2048
- 2048
- 2048
- 2048
- 2048
- 2048
- 2048
+ 2048
+ 2048
+ 2048
+ 2048
+ 2048
+ 2048
+ 2048
+ 2048
- 8
- 8
- 8
- 8
- 8
- 8
- 8
- 8
+ 8
+ 8
+ 8
+ 8
+ 8
+ 8
+ 8
+ 8
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
@@ -260,36 +260,36 @@
- none
+ none
- -16
- -16
- -16
- -16
- -16
- -16
- -16
- -16
+ -16
+ -16
+ -16
+ -16
+ -16
+ -16
+ -16
+ -16
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
@@ -299,34 +299,34 @@
none
- 4800
- 4800
- 4800
- 4800
- 4800
- 4800
- 4800
- 4800
+ 4800
+ 4800
+ 4800
+ 4800
+ 4800
+ 4800
+ 4800
+ 4800
- 4
- 4
- 4
- 4
- 4
- 4
- 4
- 4
+ 4
+ 4
+ 4
+ 4
+ 4
+ 4
+ 4
+ 4
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
@@ -336,34 +336,34 @@
none
- 16384
- 16384
- 16384
- 16384
- 16384
- 16384
- 16384
- 16384
+ 16384
+ 16384
+ 16384
+ 16384
+ 16384
+ 16384
+ 16384
+ 16384
- 8
- 8
- 8
- 8
- 8
- 8
- 8
- 8
+ 8
+ 8
+ 8
+ 8
+ 8
+ 8
+ 8
+ 8
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
@@ -373,34 +373,34 @@
none
- 8192
- 8192
- 8192
- 8192
- 8192
- 8192
- 8192
- 8192
+ 8192
+ 8192
+ 8192
+ 8192
+ 8192
+ 8192
+ 8192
+ 8192
- 2
- 2
- 2
- 2
- 2
- 2
- 2
- 2
+ 2
+ 2
+ 2
+ 2
+ 2
+ 2
+ 2
+ 2
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
@@ -410,34 +410,34 @@
none
- -32
- -32
- -32
- -32
- -32
- -32
- -32
- -32
+ -32
+ -32
+ -32
+ -32
+ -32
+ -32
+ -32
+ -32
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
@@ -447,34 +447,34 @@
none
- 64
- 64
- 64
- 64
- 64
- 64
- 64
- 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
+ 64
1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
@@ -484,34 +484,34 @@
none
- -2
- -2
- -2
- -2
- -2
- -2
- -2
- -2
+ -2
+ -2
+ -2
+ -2
+ -2
+ -2
+ -2
+ -2
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
@@ -521,34 +521,34 @@
none
- 224
- 224
- 224
- 224
- 224
- 224
- 224
- 224
+ 224
+ 224
+ 224
+ 224
+ 224
+ 224
+ 224
+ 224
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
@@ -558,34 +558,34 @@
none
- 192
- 192
- 192
- 192
- 192
- 192
- 192
- 192
+ 192
+ 192
+ 192
+ 192
+ 192
+ 192
+ 192
+ 192
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
@@ -595,34 +595,34 @@
none
- 192
- 192
- 192
- 192
- 192
- 192
- 192
- 192
+ 192
+ 192
+ 192
+ 192
+ 192
+ 192
+ 192
+ 192
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
@@ -632,34 +632,34 @@
none
- 240
- 240
- 240
- 240
- 240
- 240
- 240
- 240
+ 240
+ 240
+ 240
+ 240
+ 240
+ 240
+ 240
+ 240
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
@@ -674,10 +674,10 @@
360
360
360
- 360
- 360
- 360
- 360
+ 360
+ 360
+ 360
+ 360
3
@@ -771,40 +771,75 @@
+
+
+ none
+
+ -4
+ -4
+ -4
+ -4
+ -4
+ -4
+ -4
+ -4
+
+
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+
+
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+
+
+
none
- 192
- 192
- 192
- 192
- 192
- 192
- 192
- 192
+ 192
+ 192
+ 192
+ 192
+ 192
+ 192
+ 192
+ 192
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
-
+
@@ -843,6 +878,74 @@
+
+
+ none
+
+ -8
+ -8
+ -8
+ -8
+ -8
+ -8
+ -8
+ -8
+
+
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+
+
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+
+
+
+ none
+
+ -4
+ -4
+ -4
+ -4
+ -4
+ -4
+ -4
+ -4
+
+
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+
+
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+
+
+
@@ -850,34 +953,34 @@
none
- -4
- -4
- -4
- -4
- -4
- -4
- -4
- -4
+ -4
+ -4
+ -4
+ -4
+ -4
+ -4
+ -4
+ -4
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
@@ -887,34 +990,34 @@
none
- -208
- -208
- -208
- -208
- -208
- -208
- -208
- -208
+ -208
+ -208
+ -208
+ -208
+ -208
+ -208
+ -208
+ -208
- 8
- 8
- 8
- 8
- 8
- 8
- 8
- 8
+ 8
+ 8
+ 8
+ 8
+ 8
+ 8
+ 8
+ 8
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
@@ -924,34 +1027,34 @@
none
- 384
- 384
- 384
- 384
- 384
- 384
- 384
- 384
+ 384
+ 384
+ 384
+ 384
+ 384
+ 384
+ 384
+ 384
- 3
- 3
- 3
- 3
- 3
- 3
- 3
- 3
+ 3
+ 3
+ 3
+ 3
+ 3
+ 3
+ 3
+ 3
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
@@ -961,34 +1064,34 @@
none
- -8
- -8
- -8
- -8
- -8
- -8
- -8
- -8
+ -8
+ -8
+ -8
+ -8
+ -8
+ -8
+ -8
+ -8
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
@@ -996,34 +1099,34 @@
none
- 768
- 768
- 768
- 768
- 768
- 768
- 768
- 768
+ 768
+ 768
+ 768
+ 768
+ 768
+ 768
+ 768
+ 768
- 3
- 3
- 3
- 3
- 3
- 3
- 3
- 3
+ 3
+ 3
+ 3
+ 3
+ 3
+ 3
+ 3
+ 3
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
@@ -1066,34 +1169,34 @@
none
- 480
- 480
- 480
- 480
- 480
- 480
- 480
- 480
+ 480
+ 480
+ 480
+ 480
+ 480
+ 480
+ 480
+ 480
1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
@@ -1103,34 +1206,34 @@
none
- -16
- -16
- -16
- -16
- -16
- -16
- -16
- -16
+ -16
+ -16
+ -16
+ -16
+ -16
+ -16
+ -16
+ -16
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
@@ -1140,51 +1243,89 @@
none
- 960
- 960
- 960
- 960
- 960
- 960
- 960
- 960
+ 960
+ 960
+ 960
+ 960
+ 960
+ 960
+ 960
+ 960
1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+
+
+
+ none
+
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+ 36
+
+
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+
+
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+
+
+
+
+
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
@@ -1196,34 +1337,34 @@
none
- -1
- -1
- -1
- -1
- -1
- -1
- -1
- -1
+ -1
+ -1
+ -1
+ -1
+ -1
+ -1
+ -1
+ -1
1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
@@ -1234,34 +1375,34 @@
none
- -4
- -4
- -4
- -4
- -4
- -4
- -4
- -4
+ -4
+ -4
+ -4
+ -4
+ -4
+ -4
+ -4
+ -4
1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
@@ -1272,34 +1413,34 @@
none
- -16
- -16
- -16
- -16
- -16
- -16
- -16
- -16
+ -16
+ -16
+ -16
+ -16
+ -16
+ -16
+ -16
+ -16
1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
@@ -1310,34 +1451,34 @@
none
- -32
- -32
- -32
- -32
- -32
- -32
- -32
- -32
+ -32
+ -32
+ -32
+ -32
+ -32
+ -32
+ -32
+ -32
1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
@@ -1348,39 +1489,229 @@
none
- -32
- -32
- -32
- -32
- -32
- -32
- -32
- -32
+ -32
+ -32
+ -32
+ -32
+ -32
+ -32
+ -32
+ -32
1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+
+
+
+
+
+
+
+
+
+ none
+
+ 96
+ 96
+ 96
+ 96
+ 96
+ 96
+ 96
+ 96
+
+
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+
+
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+
+
+
+
+
+
+
+
+ none
+
+ 384
+ 384
+ 384
+ 384
+ 384
+ 384
+ 384
+ 384
+
+
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+
+
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+
+
+
+ none
+
+ 384
+ 384
+ 384
+ 384
+ 384
+ 384
+ 384
+ 384
+
+
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+
+
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+
+
+
+
+
+
+
+
+ none
+
+ 1152
+ 1152
+ 1152
+ 1152
+ 1152
+ 1152
+ 1152
+ 1152
+
+
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+
+
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+
+
+
+
+
+
+
+
+ none
+
+ 2304
+ 2304
+ 2304
+ 2304
+ 2304
+ 2304
+ 2304
+ 2304
+
+
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+
+
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+
+
+
+
@@ -1388,34 +1719,34 @@
none
- -91
- -91
- -91
- -91
- -91
- -91
- -91
- -91
+ -91
+ -91
+ -91
+ -91
+ -91
+ -91
+ -91
+ -91
1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
@@ -1426,52 +1757,90 @@
none
- -118
- -118
- -118
- -118
- -118
- -118
- -118
- -118
+ -118
+ -118
+ -118
+ -118
+ -118
+ -118
+ -118
+ -118
1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
-
+
+
+ none
+
+ -135
+ -135
+ -135
+ -135
+ -135
+ -135
+ -135
+ -135
+
+
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+
+
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+
+
+
+
+
+
+
none
- -135
- -135
- -135
- -135
- -135
- -135
- -135
- -135
+ -35
+ -35
+ -35
+ -35
+ -35
+ -35
+ -35
+ -35
1
diff --git a/cime_config/testdefs/testmods_dirs/cam/outfrq9s_mg3/shell_commands b/cime_config/testdefs/testmods_dirs/cam/outfrq9s_mg3/shell_commands
index d611a3bc78..20d96d5367 100644
--- a/cime_config/testdefs/testmods_dirs/cam/outfrq9s_mg3/shell_commands
+++ b/cime_config/testdefs/testmods_dirs/cam/outfrq9s_mg3/shell_commands
@@ -1,6 +1,6 @@
./xmlchange ROF_NCPL=\$ATM_NCPL
./xmlchange GLC_NCPL=\$ATM_NCPL
./xmlchange CAM_CONFIG_OPTS=' -microphys mg3' --append
-if [ "`./xmlquery ATM_GRID --value`" == "C96" ]; then
+if [ "`./xmlquery ATM_GRID --value`" == "C96" ] && [ "`./xmlquery MACH --value`" != "derecho" ]; then
./xmlchange NTASKS=-1
fi
diff --git a/doc/ChangeLog b/doc/ChangeLog
index 2db164e4dd..2ff2a319a1 100644
--- a/doc/ChangeLog
+++ b/doc/ChangeLog
@@ -1,3 +1,103 @@
+
+===============================================================
+
+Tag name: cam_cesm2_2_rel_09
+Originator(s): cacraig, jedwards, jet, fischer
+Date: Dec 7, 2023
+One-line Summary: Fix derecho tests on CESM2_2 branch
+Github PR URL: https://github.com/ESCOMP/CAM/pull/924 and
+ https://github.com/ESCOMP/CAM/pull/915
+
+Purpose of changes (include the issue number and title text for each relevant GitHub issue):
+ - Get CAM CESM2.2 branch working on derecho: https://github.com/ESCOMP/CAM/issues/920
+ - Problem with waccmx writing restart files on derecho in CESM2.2: https://github.com/ESCOMP/CAM/issues/901
+ - remove cism from all f compsets on CESM2_2 branch: https://github.com/ESCOMP/CAM/pull/933
+
+Describe any changes made to build system: N/A
+
+Describe any changes made to the namelist: N/A
+
+List any changes to the defaults for the boundary datasets: N/A
+
+Describe any substantial timing or memory changes: N/A
+
+Code reviewed by: nusbaume
+
+List all files eliminated: N/A
+
+List all existing files that have been modified, and describe the changes:
+M Externals.cfg
+ - Update externals
+
+M cime_config/config_compsets.xml
+ - Remove CISM from CAM compsets on this branch
+
+M cime_config/config_pes.xml
+ - Update PE layouts for derecho
+
+M cime_config/testdefs/testmods_dirs/cam/outfrq9s_mg3/shell_commands
+ - Modify test so it does not change tasks if running on derecho
+
+M src/chemistry/mozart/mo_drydep.F90
+M src/control/ncdio_atm.F90
+ - Fixes for SCAM regression test failure
+
+M test/system/archive_baseline.sh
+ - Add capability for archiving baselines on derecho
+
+M test/system/test_driver.sh
+ - Update to modern test_driver.sh which contains the ability to run on derecho
+
+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: Initial tests on derecho so no comparisons with previous version
+ ERP_Ln9.ne30pg3_ne30pg3_mg17.FW2000climo.derecho_intel.cam-outfrq9s_wcm_ne30 (Overall: FAIL) details:
+ FAIL ERP_Ln9.ne30pg3_ne30pg3_mg17.FW2000climo.derecho_intel.cam-outfrq9s_wcm_ne30 RUN time=10
+ - pre-exiting failure on cheyenne, so expected
+
+cheyenne/intel/aux_cam:
+ ERP_Ln9.ne30pg3_ne30pg3_mg17.FW2000climo.cheyenne_intel.cam-outfrq9s_wcm_ne30 (Overall: FAIL) details:
+ FAIL ERP_Ln9.ne30pg3_ne30pg3_mg17.FW2000climo.cheyenne_intel.cam-outfrq9s_wcm_ne30 RUN time=5
+ - pre-existing failure
+
+ ERP_Ld3.f09_f09_mg17.FWHIST.cheyenne_intel.cam-reduced_hist1d (Overall: DIFF) details:
+ ERP_Ln9.C96_C96_mg17.F2000climo.cheyenne_intel.cam-outfrq9s_mg3 (Overall: DIFF) details:
+ ERP_Ln9.f09_f09_mg17.F1850.cheyenne_intel.cam-outfrq9s (Overall: DIFF) details:
+ ERP_Ln9.f09_f09_mg17.F2000climo.cheyenne_intel.cam-outfrq9s (Overall: DIFF) details:
+ ERP_Ln9.f09_f09_mg17.F2000climo.cheyenne_intel.cam-outfrq9s_mg3 (Overall: DIFF) details:
+ ERP_Ln9.f09_f09_mg17.F2010climo.cheyenne_intel.cam-outfrq9s (Overall: DIFF) details:
+ ERP_Ln9.f09_f09_mg17.FHIST_BDRD.cheyenne_intel.cam-outfrq9s (Overall: DIFF) details:
+ ERP_Ln9.f19_f19_mg17.FWsc1850.cheyenne_intel.cam-outfrq9s (Overall: DIFF) details:
+ ERS_Ln9.f09_f09_mg17.FX2000.cheyenne_intel.cam-outfrq9s (Overall: DIFF) details:
+ ERS_Ln9.f19_f19_mg17.FXSD.cheyenne_intel.cam-outfrq9s (Overall: DIFF) details:
+ SMS_D_Ln9.f09_f09_mg17.FCvbsxHIST.cheyenne_intel.cam-outfrq9s (Overall: DIFF) details:
+ SMS_D_Ln9.f19_f19_mg17.FWma2000climo.cheyenne_intel.cam-outfrq9s (Overall: DIFF) details:
+ SMS_D_Ln9.f19_f19_mg17.FXHIST.cheyenne_intel.cam-outfrq9s_amie (Overall: DIFF) details:
+ SMS_D_Ln9.ne0CONUSne30x8_ne0CONUSne30x8_mt12.FCHIST.cheyenne_intel.cam-outfrq9s_refined_camchem (Overall: DIFF) details:
+ SMS_D_Ln9_P720x1.ne0ARCTICne30x4_ne0ARCTICne30x4_mt12.FHIST.cheyenne_intel.cam-outfrq9s_refined (Overall: DIFF) details:
+ SMS_D_Ln9_P720x1.ne0CONUSne30x8_ne0CONUSne30x8_mt12.FHIST.cheyenne_intel.cam-outfrq9s_refined (Overall: DIFF) details:
+ SMS_Ld1.f09_f09_mg17.FW2000climo.cheyenne_intel.cam-outfrq1d (Overall: DIFF) details:
+ SMS_Ld1.ne30pg3_ne30pg3_mg17.FC2010climo.cheyenne_intel.cam-outfrq1d (Overall: DIFF) details:
+ SMS_Lm13.f10_f10_mg37.F2000climo.cheyenne_intel.cam-outfrq1m (Overall: DIFF) details:
+ SMS_Ln9.f09_f09_mg17.F2010climo.cheyenne_intel.cam-nudging (Overall: DIFF) details:
+ SMS_Ln9.f09_f09_mg17.FW1850.cheyenne_intel.cam-reduced_hist3s (Overall: DIFF) details:
+ SMS_Ln9.f19_f19.F2000climo.cheyenne_intel.cam-silhs (Overall: DIFF) details:
+ - answer differences due to namelist differences due to default setting changes with the CTSM external update. That in
+ addition to the removal of cism from all CAM compsets, lead to answer changes
+
+izumi/nag/aux_cam:
+ DAE.f45_f45_mg37.FHS94.izumi_nag.cam-dae (Overall: FAIL) details:
+ FAIL DAE.f45_f45_mg37.FHS94.izumi_nag.cam-dae COMPARE_base_da
+ - pre-existing failure
+
+izumi/pgi/aux_cam:
+ PGI no longer supported, so regression tests dropped
+
+===============================================================
===============================================================
Tag name: cam_cesm2_2_rel_08
diff --git a/src/chemistry/mozart/mo_drydep.F90 b/src/chemistry/mozart/mo_drydep.F90
index 9241af802e..8f6f7d901a 100644
--- a/src/chemistry/mozart/mo_drydep.F90
+++ b/src/chemistry/mozart/mo_drydep.F90
@@ -2156,7 +2156,7 @@ subroutine interp_map( plon, plat, nlon_veg, nlat_veg, npft_veg, lat_veg, lat_ve
if (single_column) then
if (scm_cambfb_mode) then
piofile => initial_file_get_id()
- call shr_scam_getCloseLatLon(piofile%fh,scmlat,scmlon,closelat,closelon,latidx,lonidx)
+ call shr_scam_getCloseLatLon(piofile,scmlat,scmlon,closelat,closelon,latidx,lonidx)
ploniop=size(loniop)
platiop=size(latiop)
else
diff --git a/src/control/ncdio_atm.F90 b/src/control/ncdio_atm.F90
index 619d9b5b61..fe8fe84e24 100644
--- a/src/control/ncdio_atm.F90
+++ b/src/control/ncdio_atm.F90
@@ -404,7 +404,7 @@ subroutine infld_real_2d_2d(varname, ncid, dimname1, dimname2, &
strt(1) = dim1b
strt(2) = dim2b
cnt = arraydimsize
- call shr_scam_getCloseLatLon(ncid%fh,scmlat,scmlon,closelat,closelon,latidx,lonidx)
+ call shr_scam_getCloseLatLon(ncid,scmlat,scmlon,closelat,closelon,latidx,lonidx)
if (trim(field_dnames(1)) == 'lon') then
strt(1) = lonidx ! First dim always lon for Eulerian dycore
else
@@ -847,7 +847,7 @@ subroutine infld_real_3d_3d(varname, ncid, dimname1, dimname2, dimname3, &
strt(2) = dim2b
strt(3) = dim3b
cnt = arraydimsize
- call shr_scam_getCloseLatLon(ncid%fh,scmlat,scmlon,closelat,closelon,latidx,lonidx)
+ call shr_scam_getCloseLatLon(ncid,scmlat,scmlon,closelat,closelon,latidx,lonidx)
if (trim(field_dnames(1)) == 'lon') then
strt(1) = lonidx ! First dim always lon for Eulerian dycore
else
diff --git a/src/dynamics/fv/dyn_grid.F90 b/src/dynamics/fv/dyn_grid.F90
index 722fd8e6fe..610df45831 100644
--- a/src/dynamics/fv/dyn_grid.F90
+++ b/src/dynamics/fv/dyn_grid.F90
@@ -1113,8 +1113,13 @@ subroutine define_cam_grids()
ind = ind + 1
grid_map(1, ind) = 1
grid_map(2, ind) = i
- grid_map(3, ind) = 1
- grid_map(4, ind) = i
+ if (beglonxy == 1) then
+ grid_map(3, ind) = 1
+ grid_map(4, ind) = i
+ else
+ grid_map(3, ind) = 0
+ grid_map(4, ind) = 0
+ end if
end do
! We need a special, size-one "longigude" coordinate
! NB: This is never a distributed coordinate so calc even on inactive PEs
diff --git a/test/system/archive_baseline.sh b/test/system/archive_baseline.sh
index adab681a88..50ca71f477 100755
--- a/test/system/archive_baseline.sh
+++ b/test/system/archive_baseline.sh
@@ -103,6 +103,16 @@ case $hostname in
baselinedir="/glade/p/cesm/amwg/cesm_baselines/$cam_tag"
;;
+ de*)
+ echo "server: derecho"
+ if [ -z "$CAM_FC" ]; then
+ CAM_FC="INTEL"
+ fi
+ test_file_list="tests_pretag_derecho"
+ cam_tag=$1
+ baselinedir="/glade/campaign/cesm/community/amwg/cam_baselines/$cam_tag"
+ ;;
+
* ) echo "ERROR: machine $hostname not currently supported"; exit 1 ;;
esac
diff --git a/test/system/test_driver.sh b/test/system/test_driver.sh
index 71120cda84..a80121753d 100755
--- a/test/system/test_driver.sh
+++ b/test/system/test_driver.sh
@@ -26,6 +26,7 @@ help () {
echo "${hprefix} [ -j ] (number of jobs for gmake)"
echo "${hprefix} [ --baseline-dir ] (directory for saving baselines of cime tests)"
echo "${hprefix} [ --no-baseline] (baselines of cime tests are not saved)"
+ echo "${hprefix} [ --xml-driver ] (mct or nuopc)"
echo "${hprefix} [ --cesm ] (default aux_cam)"
echo "${hprefix} [ --rerun-cesm ] (rerun the cesm tests with the --use-existing-flag)"
echo "${hprefix} [ --namelists-only ] (Only perform namelist actions for tests. Incompatible with --rerun-cesm.)"
@@ -81,25 +82,29 @@ namelists_only=false
batch=false
# Understand where we are and where the CAM root and CIME reside
-script_dir="$( cd $( dirname $0 ); pwd -P )"
-CAM_ROOT="${CAM_ROOT:-$(dirname $(dirname ${script_dir} ) )}"
-# Make sure CAM_ROOT, exists and that this
-# script was called from its test directory.
-if [ -d "${CAM_ROOT}" ]; then
- test_dir="${CAM_ROOT}/test/system"
- if [ -f "${test_dir}/test_driver.sh" ]; then
- # Check against this script.
- script_file="${script_dir}/test_driver.sh"
- if [ "${test_dir}/test_driver.sh" != "${script_file}" ]; then
- perr "CAM_ROOT test dir is ${test_dir} but script is ${script_file}"
- fi # Else, everything is fine
- else
- perr "No test_driver.sh found in ${test_dir}"
- fi
+if [ -n "${CAM_ROOT}" ]; then
+ # The user specified a CAM_ROOT, make sure it exists and that this
+ # script was called from its test directory.
+ if [ -d "${CAM_ROOT}" ]; then
+ test_dir="${CAM_ROOT}/test/system"
+ if [ -f "${test_dir}/test_driver.sh" ]; then
+ # Check against this script.
+ script_dir="$( cd $( dirname $0 ); pwd -P )"
+ script_file="${script_dir}/test_driver.sh"
+ if [ "${test_dir}/test_driver.sh" != "${script_file}" ]; then
+ perr "CAM_ROOT test dir is ${test_dir} but script is ${script_file}"
+ fi # Else, everything is fine
+ else
+ perr "No test_driver.sh found in ${test_dir}"
+ fi
+ else
+ perr "CAM_ROOT, '${CAM_ROOT}', does not exist"
+ fi
else
- perr "CAM_ROOT, '${CAM_ROOT}', does not exist"
+ # The user did not specify CAM_ROOT, find it relative to this script
+ test_dir="$( dirname $0 )"
+ export CAM_ROOT="$(dirname $(dirname $( cd ${test_dir}; pwd -P )))"
fi
-export CAM_ROOT
# Now, find CIME_ROOT, first try a CAM standalone checkout
if [ -d "${CAM_ROOT}/cime/scripts" ]; then
export CIME_ROOT="${CAM_ROOT}/cime"
@@ -177,6 +182,14 @@ while [ "${1:0:1}" == "-" ]; do
fi
;;
+ --xml-driver )
+ if [ $# -lt 2 ]; then
+ perr "${1} specify mct or nuopc)"
+ fi
+ xml_driver="${2}"
+ shift
+ ;;
+
--namelists-only )
namelists_only=true
if [ "${use_existing}" != "" ]; then
@@ -201,6 +214,7 @@ fi
#will attach timestamp onto end of script name to prevent overwriting
start_date="`date --iso-8601=seconds`"
cur_time=`date '+%H%M%S'`
+date_str="`date '+%Y%m%d%H%M%S'`"
hostname=`hostname`
@@ -237,7 +251,7 @@ case $hostname in
mach_workspace="/glade/scratch"
# Check for CESM baseline directory
- if [ -n "{$BL_TESTDIR}" ] && [ ! -d "${BL_TESTDIR}" ]; then
+ if [ -n "${BL_TESTDIR}" ] && [ ! -d "${BL_TESTDIR}" ]; then
echo "CESM_BASELINE ${BL_TESTDIR} not found. Check BL_TESTDIR for correct tag name."
exit
fi
@@ -250,7 +264,7 @@ cat > ${submit_script_cime} << EOF
#PBS -N cime-tests
#PBS -q $CAM_BATCHQ
#PBS -A $CAM_ACCOUNT
-#PBS -l walltime=4:00:00
+#PBS -l walltime=$wallclock_limit
#PBS -l select=1:ncpus=36:mpiprocs=36
#PBS -j oe
#PBS -l inception=login
@@ -259,6 +273,63 @@ EOF
##^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ writing to batch script ^^^^^^^^^^^^^^^^^^^
;;
+ ##derecho
+ derecho* | dec* )
+ submit_script_cime="`pwd -P`/test_driver_derecho_cime_${cur_time}.sh"
+
+ if [ -z "$CAM_ACCOUNT" ]; then
+ echo "ERROR: Must set the environment variable CAM_ACCOUNT"
+ exit 2
+ fi
+
+ if [ -z "$CAM_BATCHQ" ]; then
+ export CAM_BATCHQ="main"
+ fi
+
+ # wallclock for run job
+ wallclock_limit="5:00:00"
+
+ if [ $gmake_j = 0 ]; then
+ gmake_j=128
+ fi
+
+ # run tests on 1 node using 64 tasks/node, 2 threads/task
+ # These settings are ignored on cheyenne and derecho.
+ # PE layouts come from config_pes.xml.
+ CAM_TASKS=64
+ CAM_THREADS=2
+
+ # change parallel configuration on 1 nodes using 32 tasks, 1 threads/task
+ # These settings are ignored on cheyenne and derecho.
+ # PE layouts come from config_pes.xml.
+ CAM_RESTART_TASKS=32
+ CAM_RESTART_THREADS=1
+
+ mach_workspace="/glade/derecho/scratch"
+
+ # Check for CESM baseline directory
+ if [ -n "${BL_TESTDIR}" ] && [ ! -d "${BL_TESTDIR}" ]; then
+ echo "CESM_BASELINE ${BL_TESTDIR} not found. Check BL_TESTDIR for correct tag name."
+ exit 3
+ fi
+
+#-------------------------------------------
+
+cat > ${submit_script_cime} << EOF
+#!/bin/bash
+#
+#PBS -N cime-tests
+#PBS -q $CAM_BATCHQ
+#PBS -A $CAM_ACCOUNT
+#PBS -l walltime=$wallclock_limit
+#PBS -l select=1:ncpus=128:mpiprocs=128
+#PBS -j oe
+
+EOF
+
+##^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ writing to batch script ^^^^^^^^^^^^^^^^^^^
+ ;;
+
##hobart
hob* | h[[:digit:]]* )
@@ -318,6 +389,7 @@ EOF
##izumi
izu* | i[[:digit:]]* )
+
submit_script_cime="`pwd -P`/test_driver_izumi_cime_${cur_time}.sh"
export PATH=/cluster/torque/bin:${PATH}
@@ -372,6 +444,58 @@ EOF
##^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ writing to batch script ^^^^^^^^^^^^^^^^^^^
;;
+ ##casper
+ casper* | crhtc* )
+ submit_script_cime="`pwd -P`/test_driver_casper_cime_${cur_time}.sh"
+
+ if [ -z "$CAM_ACCOUNT" ]; then
+ echo "ERROR: Must set the environment variable CAM_ACCOUNT"
+ exit 2
+ fi
+
+ if [ -z "$CAM_BATCHQ" ]; then
+ export CAM_BATCHQ="casper"
+ fi
+
+ # wallclock for run job
+ wallclock_limit="00:59:00"
+
+ if [ $gmake_j = 0 ]; then
+ gmake_j=36
+ fi
+
+ # run tests on 1 nodes using 18 tasks/node, 2 threads/task
+ CAM_TASKS=18
+ CAM_THREADS=2
+
+ # change parallel configuration on 1 nodes using 32 tasks, 1 threads/task
+ CAM_RESTART_TASKS=32
+ CAM_RESTART_THREADS=1
+
+ mach_workspace="/glade/scratch"
+
+ # Check for CESM baseline directory
+ if [ -n "${BL_TESTDIR}" ] && [ ! -d "${BL_TESTDIR}" ]; then
+ echo "CESM_BASELINE ${BL_TESTDIR} not found. Check BL_TESTDIR for correct tag name."
+ exit
+ fi
+
+#-------------------------------------------
+
+cat > ${submit_script_cime} << EOF
+#!/bin/bash
+#
+#PBS -N cime-tests
+#PBS -q $CAM_BATCHQ
+#PBS -A $CAM_ACCOUNT
+#PBS -l walltime=$wallclock_limit
+#PBS -l select=1:ncpus=36:mpiprocs=36:mem=300GB
+#PBS -j oe
+#PBS -V
+EOF
+
+##^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ writing to batch script ^^^^^^^^^^^^^^^^^^^
+ ;;
* ) echo "ERROR: machine $hostname not currently supported"; exit 1 ;;
esac
@@ -384,32 +508,50 @@ comp=""
if [ "${hostname:0:4}" == "chey" ]; then
cesm_test_mach="cheyenne"
fi
+if [ "${hostname:0:5}" == "derec" ] || [ "${hostname:0:3}" == "dec" ]; then
+ cesm_test_mach="derecho"
+fi
if [ "${hostname:0:6}" == "hobart" ]; then
cesm_test_mach="hobart"
fi
if [ "${hostname:0:5}" == "izumi" ]; then
cesm_test_mach="izumi"
fi
+if [ "${hostname:0:6}" == "casper" ] || [ "${hostname:0:5}" == "crhtc" ]; then
+ cesm_test_mach="casper"
+fi
if [ -n "${CAM_FC}" ]; then
comp="_${CAM_FC,,}"
fi
if [ "${cesm_test_suite}" != "none" -a -n "${cesm_test_mach}" ]; then
- if [ "${hostname:0:5}" != "izumi" ]; then
+ if [ "${hostname:0:5}" != "izumi" ] && [ "${hostname:0:7}" != "derecho" ]; then
module load python
fi
+
for cesm_test in ${cesm_test_suite}; do
- testargs="--xml-category ${cesm_test} --xml-machine ${cesm_test_mach} --retry 2"
+ # Force derecho to run the cheyenne testlist.
+ # After the transition to derecho is completed, this if statement can be removed and
+ # just the else needs to remain.
+ if [ "${cesm_test_mach}" == "derecho" ]; then
+ testargs="--xml-category ${cesm_test} --xml-machine cheyenne --mach ${cesm_test_mach} --retry 2"
+ else
+ testargs="--xml-category ${cesm_test} --xml-machine ${cesm_test_mach} --retry 2"
+ fi
if [ -n "${use_existing}" ]; then
test_id="${use_existing}"
else
- idstr="`date '+%Y%m%d%H%M%S'`"
- test_id=${cesm_test}${comp}"_"${idstr}
+ test_id=${cesm_test}${comp}"_"${date_str}
fi
currdir="`pwd -P`"
logfile="${currdir}/${test_id}.log"
+ # Create an empty logfile so that other tasks can append to it
+ if [ -f "${logfile}" ]; then
+ rm -f ${logfile}
+ fi
+ touch ${logfile}
script_dir="${CIME_ROOT}/scripts"
if [ ! -d "${script_dir}" ]; then
echo "ERROR: CIME scripts dir not found at ${script_dir}"
@@ -420,8 +562,37 @@ if [ "${cesm_test_suite}" != "none" -a -n "${cesm_test_mach}" ]; then
exit 1
fi
- ##setup CESM work directory
- cesm_testdir=$mach_workspace/$LOGNAME/$test_id
+ ## If this is a Nag test, run the r8 and git tests
+ if [ "${comp}" == "_nag" ]; then
+ sepstr="################################################################"
+ echo "${sepstr}" | tee -a ${logfile}
+ ark_file="/fs/cgd/csm/tools/addrealkind/addrealkind"
+ tr8_script="${CAM_ROOT}/test/system/TR8.sh"
+ export ADDREALKIND_EXE="${ark_file}"; ${tr8_script} | tee -a ${logfile}
+ res=${PIPESTATUS[0]}
+ if [ $res -eq 0 ]; then
+ echo "TR8 test PASS" | tee -a ${logfile}
+ else
+ echo "TR8 test FAIL, rc = $res" | tee -a ${logfile}
+ fi
+ echo "${sepstr}" | tee -a ${logfile}
+ ${CAM_ROOT}/test/system/TGIT.sh | tee -a ${logfile}
+ res=${PIPESTATUS[0]}
+ if [ $res -eq 0 ]; then
+ echo "TGIT test PASS" | tee -a ${logfile}
+ else
+ echo "TGIT test FAIL, rc = $res" | tee -a ${logfile}
+ fi
+ echo "${sepstr}" | tee -a ${logfile}
+ fi
+
+ ## Setup CESM work directory
+ if [ "${hostname:0:6}" == "casper" ] || [ "${hostname:0:5}" == "crhtc" ]; then
+ ## Would fail to compile on Casper with long folder name
+ cesm_testdir=$mach_workspace/$LOGNAME/$cesm_test
+ else
+ cesm_testdir=$mach_workspace/$LOGNAME/$test_id
+ fi
if [ -e ${cesm_testdir} ]; then
if [ -n "${use_existing}" ]; then
@@ -447,6 +618,14 @@ if [ "${cesm_test_suite}" != "none" -a -n "${cesm_test_mach}" ]; then
chey* | r* )
testargs="${testargs} --queue ${CAM_BATCHQ} --test-root ${cesm_testdir} --output-root ${cesm_testdir}"
;;
+ # derecho
+ derec* | dec* )
+ testargs="${testargs} --queue ${CAM_BATCHQ} --test-root ${cesm_testdir} --output-root ${cesm_testdir}"
+ ;;
+ # casper
+ casper* | crhtc* )
+ testargs="${testargs} --queue ${CAM_BATCHQ} --test-root ${cesm_testdir} --output-root ${cesm_testdir}"
+ ;;
*)
if $batch; then
testargs="${testargs} --queue ${CAM_BATCHQ} --test-root ${cesm_testdir} --output-root ${cesm_testdir}"
@@ -507,18 +686,29 @@ if [ "${cesm_test_suite}" != "none" -a -n "${cesm_test_mach}" ]; then
fi
fi
+ if [ -n "${xml_driver}" ]; then
+ testargs="${testargs} --xml-driver ${xml_driver}"
+ fi
echo ""
- echo "CESM test results will be in: ${cesm_testdir}" | tee ${logfile}
+ echo "CESM test results will be in: ${cesm_testdir}" | tee -a ${logfile}
echo "Running ./create_test ${testargs}" | tee -a ${logfile}
if [ "${hostname:0:2}" == "ch" ]; then
echo "cd ${script_dir}" >> ${submit_script_cime}
+ echo "module load python" >> ${submit_script_cime}
echo './create_test' ${testargs} >> ${submit_script_cime}
chmod u+x ${submit_script_cime}
qsub ${submit_script_cime}
fi
+ if [ "${hostname:0:2}" == "de" ]; then
+ echo "cd ${script_dir}" >> ${submit_script_cime}
+ echo './create_test' ${testargs} >> ${submit_script_cime}
+ chmod u+x ${submit_script_cime}
+ qsub ${submit_script_cime}
+ fi
+
if [ "${hostname:0:6}" == "hobart" ]; then
echo "cd ${script_dir}" >> ${submit_script_cime}
echo './create_test' ${testargs} >> ${submit_script_cime}
@@ -537,6 +727,14 @@ if [ "${cesm_test_suite}" != "none" -a -n "${cesm_test_mach}" ]; then
fi
fi
+ if [ "${hostname:0:6}" == "casper" ] || [ "${hostname:0:5}" == "crhtc" ]; then
+ echo "cd ${script_dir}" >> ${submit_script_cime}
+ echo "module load python" >> ${submit_script_cime}
+ echo './create_test' ${testargs} >> ${submit_script_cime}
+ chmod u+x ${submit_script_cime}
+ qsub ${submit_script_cime}
+ fi
+
done
fi