Testing LFRic Apps#
Rose stem:
The LFRic Apps rose-stem test suite can be run from the top directory of a local clone:
cylc vip -z group=developer -n <name/of/suite> ./rose-stem
Local testing:
Alternatively, a single application can be built and run locally using these instructions
This test does not use rose or cylc and is particularly useful for checking for compile errors while developing.
Rose stem#
The LFRic Apps rose stem includes a range of tests to exercise all the applications stored in this repository, using multiple compilers, and checksum and plot tasks to confirm the outputs.
Tip
For LFRic Apps it is possible to update the checksum files on your branch as you progress your development to aid with testing. Details on how to do this are on the KGO page.
Below is a (by no means comprehensive) set of groups that you may wish to use
on Met Office systems. Note that there is a lot of overlap between these
groups, and that you can specify more than one at once, e.g.
-z group=developer,gungho_model.
Group |
Description |
|---|---|
developer |
Standard group of tests that every change is expected to pass before commit. It is a useful checkpoint during development. |
all |
The complete test suite, including all longer runs and less commonly used configs. This is run automatically every week and monitored by the SSD team. All KGO changing PRs need to run this group. |
build |
Compile tasks for all applications and science areas |
unit_tests |
Unit tests for all applications and science areas |
integration_tests |
Integration tests for all applications and science areas |
ex1a/azspice |
All tests designed to run on the named platform. |
scripts |
All of the auxillary scripts that are designed to check the code standards in ways that aren’t tested by the compiler. |
As well as these general groups, each area in <lfric_apps>/applications and
<lfric_apps>/science have a set of specific groups that are structured as
below, with name matching the directory name of the area.
Group |
Description |
|---|---|
<name> |
Full set of tests for this area |
<name>_<group> |
Tests for this area that are part of this group e.g. gungho_developer or lfric_atm_spice |