Testing LFRic Apps#
- Rose stem:
LFRic Apps testing uses rose-stem and is run with the following commands from a working copy:
export CYLC_VERSION=8 rose stem --group=developer cylc play <working copy name> cylc gui
- 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.
Important
When specifying the lfric_core source the lfric_core revision must be updated in dependencies.sh
.
If setting the source to an fcm URL, the mirror (
.xm_
) needs to be used and the revision can either be blank (for latest commit) or any valid revision for that branch.If setting the source to a Working Copy, the hostname needs to be provided (as Hostname:Path) and the revision must be blank.
For more details, see Multi-Repository Testing.
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. --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 tickets 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 |
xc40/spice/monsoon |
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 |