SETTE evolution: compact modification of namelist input files
Development description
Currently, for SETTE tests that involve multiple test runs of a particular SETTE test configuration, a number of namelist-input-file modifications are repeated for each of the test runs (e.g., many of the configuration modifications for the LONG
, SHORT
, REPRO_2_4
, and REPRO_4_2
test runs utilised to test the GYRE_PISCES
reference configuration are identical). These repetitious modifications result in lengthy scripts (sette/sette_reference-configurations.sh
and sette/sette_test-cases.sh
), which are susceptible to inadvertent inconsistencies. This development aims at removing repetitive configuration modifications through the introduction of a two-stage configuration process: the modification of a common configuration template, followed by differentiations for the individual test runs.
Code implementation
The current workflow for the preparation of a set of SETTE test runs consists of i) the standard compilation of a SETTE test configuration (if requested), ii) the replication of the experiment directory EXP00
for each test run, iii) the modification of each test-run configuration, and iv) the preparation of the job submission. As the original experiment directory EXP00
is specifically created for each SETTE test configuration, the namelist input files therein can be repurposed to propagate common configuration modifications to all test runs if these modifications are applied prior to stage ii. The SETTE namelist-modification toolset (functions set_namelist
and set_namelist_opt
defined in sette/all_functions.sh
) operates on namelist input files in the directory specified by variable EXE_DIR
, and therefore the application of common namelist modifications can be readily implemented at the appropriate stage, and, as a result, many of the original configuration modifications of stage iii become redundant and can be deleted.
Documentation updates
This development will trim the current SETTE implementation, while keeping the existing functionality in place. No documentation updates are required.