Suites
In polaris, suites are simply lists of tasks to be run together in one operation. One common reason for running a suite is to check for changes in performance or output data compared with a previous run of the same suite. This type of regression testing is one of the primary reasons that polaris exists. Another reason to define a test suite is simply to make it easier to run a sequence of tasks that are often run together.
Suites are defined by their MPAS core and name. As you can see by running:
polaris list --suites
the current set of available suites is:
Suites:
-c ocean -t cosine_bell
-c ocean -t cosine_bell_cached_init
-c ocean -t nightly
-c ocean -t pr
As an example, the ocean nightly
suite includes the tasks used
for regression testing of MPAS-Ocean. Here are the tasks included:
ocean/planar/baroclinic_channel/10km/threads
ocean/planar/baroclinic_channel/10km/decomp
ocean/planar/baroclinic_channel/10km/restart
ocean/planar/inertial_gravity_wave
Note
Some tasks have “cached” steps, meaning those steps (or the entire test
case if no specific steps are listed) aren’t run but instead the results
of a previous run are simply downloaded. This is used to skip steps that
are prohibitively time-consuming during regression testing, but where the
results are needed to run subsequent tasks. An example in the
cosine_bell_cached_init
suite listed above is the
spherical/icos/cosine_bell
and spherical/qu/cosine_bell
tasks from the ocean
component. These tasks take several minutes to
create their meshes and initial conditions, so to speed things up we sometimes
run with cached meshes and initial conditions.
Including the -v
verbose argument to polaris list --suites
will
print the tasks belonging to each given suite.