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 + +