Common errors¶
This page lists common errors, and their solutions.
Workflow run using cylc 7¶
[FAIL] 'suite.rc'
CSET is a cylc 8 workflow. You must install cylc 8. Users at the Met Office can
set the CYLC_VERSION
environment variable to 8
to enable cylc 8 in their
current terminal. E.g:
export CYLC_VERSION=8
cylc --version # Check version starts in 8
If you tried to run the workflow with cylc 7, see the next section.
Workflow installed using cylc 7¶
WorkflowFilesError: Nested run directories not allowed
If the workflow was first installed with cylc 7, such as via rose suite-run
,
the file layout will not be recognised by cylc 8. This can be resolved by
deleting the workflow installation under ~/cylc-run/cset-workflow
.
WARNING No cubes loaded, check your constraints!¶
If the workflow complains that no cubes could be loaded this normally requires
you to check your constraints. One constraint that is easily overlooked is the
time constraint. Check that the data you are processing align with your chosen
cycle start point (CSET_INITIAL_CYCLE_POINT
). You can change this in the
rose GUI under the section “Data and cycling”.
The cycling does not work if we are looping over several fields using a single recipe, but the different fields have different starting times. In this case we would be trying to plot outside of the time range for some fields causing an error message that cubes could not be loaded. At the moment the only solution is to run these variables in different recipes, grouping similar cycling times together in the same recipe.
Another similar issue occurs when the data processed in the same CSET workflow
have different time intervals. For example field1
has hourly data, whereas
field2
has 3 hourly data. We either need to set the CSET_CYCLE_PERIOD
to
PT3H
or, if we intend to process the hourly data with a
CSET_CYCLE_PERIOD
of 1 hour we need to run two different CSET workflows
instead.
AttributeError: ‘CubeList’ object has no attribute ‘collapsed’¶
The operator read.read_cubes
outputs a CubeList rather than only a Cube.
Most other operators can operate either on a single Cube or a CubeList of any
number of Cubes. If you get this error message it is likely that the operator
reading in the CubeList can not perform operations yet on CubeLists.
In this case try switching to read.read_cube
, which forces a single Cube as
output and not a CubeList. This requires that all metadata, etc. match up to
allow forming a single Cube, often requiring refinement of the constraints.