diff --git a/cime_config/SystemTests/rxcropmaturity.py b/cime_config/SystemTests/rxcropmaturity.py
index fb254c408f..a0eced83c5 100644
--- a/cime_config/SystemTests/rxcropmaturity.py
+++ b/cime_config/SystemTests/rxcropmaturity.py
@@ -106,7 +106,7 @@ def __init__(self, case):
# Which conda environment should we use?
self._get_conda_env()
- def _run_phase(self, skip_gen=False):
+ def _run_phase(self, skip_gen=False, h1_inst=False):
# Modeling this after the SSP test, we create a clone to be the case whose outputs we don't
# want to be saved as baseline.
@@ -129,7 +129,7 @@ def _run_phase(self, skip_gen=False):
self._set_active_case(case_gddgen)
# Set up stuff that applies to both tests
- self._setup_all()
+ self._setup_all(h1_inst)
# Add stuff specific to GDD-Generating run
logger.info("RXCROPMATURITY log: modify user_nl files: generate GDDs")
@@ -196,7 +196,7 @@ def _run_phase(self, skip_gen=False):
self._set_active_case(case_rxboth)
# Set up stuff that applies to both tests
- self._setup_all()
+ self._setup_all(h1_inst)
# Add stuff specific to Prescribed Calendars run
logger.info("RXCROPMATURITY log: modify user_nl files: Prescribed Calendars")
@@ -264,7 +264,7 @@ def _get_rx_dates(self):
logger.error(error_message)
raise RuntimeError(error_message)
- def _setup_all(self):
+ def _setup_all(self, h1_inst):
logger.info("RXCROPMATURITY log: _setup_all start")
# Get some info
@@ -274,7 +274,7 @@ def _setup_all(self):
# Set sowing dates file (and other crop calendar settings) for all runs
logger.info("RXCROPMATURITY log: modify user_nl files: all tests")
- self._modify_user_nl_allruns()
+ self._modify_user_nl_allruns(h1_inst)
logger.info("RXCROPMATURITY log: _setup_all done")
# Make a surface dataset that has every crop in every gridcell
@@ -399,7 +399,7 @@ def _run_check_rxboth_run(self, skip_gen):
tool_path,
)
- def _modify_user_nl_allruns(self):
+ def _modify_user_nl_allruns(self, h1_inst):
nl_additions = [
"cropcals_rx = .true.",
"cropcals_rx_adapt = .false.",
@@ -417,6 +417,8 @@ def _modify_user_nl_allruns(self):
"hist_type1d_pertape(2) = 'PFTS'",
"hist_dov2xy(2) = .false.",
]
+ if h1_inst:
+ nl_additions.append("hist_avgflag_pertape(2) = 'I'")
self._append_to_user_nl_clm(nl_additions)
def _run_generate_gdds(self, case_gddgen):
diff --git a/cime_config/SystemTests/rxcropmaturityinst.py b/cime_config/SystemTests/rxcropmaturityinst.py
new file mode 100644
index 0000000000..bf8bf7750b
--- /dev/null
+++ b/cime_config/SystemTests/rxcropmaturityinst.py
@@ -0,0 +1,6 @@
+from rxcropmaturity import RXCROPMATURITYSHARED
+
+
+class RXCROPMATURITYINST(RXCROPMATURITYSHARED):
+ def run_phase(self):
+ self._run_phase(h1_inst=True)
diff --git a/cime_config/SystemTests/rxcropmaturityskipgeninst.py b/cime_config/SystemTests/rxcropmaturityskipgeninst.py
new file mode 100644
index 0000000000..4cab9bd7c0
--- /dev/null
+++ b/cime_config/SystemTests/rxcropmaturityskipgeninst.py
@@ -0,0 +1,6 @@
+from rxcropmaturity import RXCROPMATURITYSHARED
+
+
+class RXCROPMATURITYSKIPGENINST(RXCROPMATURITYSHARED):
+ def run_phase(self):
+ self._run_phase(skip_gen=True, h1_inst=True)
diff --git a/cime_config/config_tests.xml b/cime_config/config_tests.xml
index 12859b9131..ee80087a08 100644
--- a/cime_config/config_tests.xml
+++ b/cime_config/config_tests.xml
@@ -145,6 +145,16 @@ This defines various CTSM-specific system tests
$STOP_N
+
+ As RXCROPMATURITY but ensure instantaneous h1. Can be removed once instantaneous and other variables are on separate files.
+ 1
+ FALSE
+ FALSE
+ never
+ $STOP_OPTION
+ $STOP_N
+
+
As RXCROPMATURITY but don't actually generate GDDs. Allows short testing with existing GDD inputs.
1
@@ -155,6 +165,16 @@ This defines various CTSM-specific system tests
$STOP_N
+
+ As RXCROPMATURITYSKIPGEN but ensure instantaneous h1. Can be removed once instantaneous and other variables are on separate files.
+ 1
+ FALSE
+ FALSE
+ never
+ $STOP_OPTION
+ $STOP_N
+
+