v25.7.0 (2025-07-17)
Over the last two months development of CSET has been steaming ahead. In this release we bring something for everyone.
Figures have been improves so they are better layouts, colours and titles, and use consistent units.
The output webpage now includes extra information so you can tell the provenance of the output you are looking at, and easily copy to settings into your own workflow.
There is new functionality for trimming the domain boundaries (useful for
removing regions where unphysical data exists), and new recipes for calculating summary statistics within a case, such as mean, min/max, or standard deviation.
There have been a number of fixes to how common time points are selected; this has fixed a nasty issue with the diurnal cycle being offset by an hour under certain circumstances. Wind directions are now normalised to true North/East, to allow comparison between models with different conventions.
The workflow has been streamlined, and is now faster due to using an external conda environment, and has an improved tutorial, so it is easier than ever to learn how to use it. The workflow is also easier to install; rather than having to download a separate tarball, it comes included with the cset command line.
Developers are not forgotten either, with the development environment now being setup with a single make command, and the workflow code having moved into the main CSET package for easier testing and distribution.
PyPI package | conda-forge package | Documentation
What's Changed
- Tidy up titles in CSET output by James Warner (@jwarner8) in #1395
- General improvements to plots by James Warner (@jwarner8) in #1394
- Ensure all lead time in common units (hours) between models by ukmo-huw-lewis in #1405
- Add non-aggregated cell_methods constraint to all histogram plotting recipes for surface and level variables by ukmo-huw-lewis in #1406
- Clean up task family inheritance in include files by James Frost (@jfrost-mo) in #1408
- Add copy of local rose-suite.conf into output pages by ukmo-huw-lewis in #1400
- Set 20 minute runtime limit for GitHub Actions jobs by James Frost (@jfrost-mo) in #1420
- Add subarea configuration to example rose-suite.conf by James Frost (@jfrost-mo) in #1409
- Minor fixes and additional tests for run_cset_recipe by James Frost (@jfrost-mo) in #1422
- Allow other python version's tests to finish running after a failure by James Frost (@jfrost-mo) in #1424
- Simplify and test conversion from --input-dir to --INPUT_PATHS by James Frost (@jfrost-mo) in #1425
- Review and reduce plot title wordcount by ukmo-huw-lewis in #1416
- More robustly test command line argument parser by James Frost (@jfrost-mo) in #1426
- Correct version number in changelog by James Frost (@jfrost-mo) in #1407
- Ensure common time points are selected before aggregating over hour of day by James Warner (@jwarner8) in #1290
- Remove environment section from bug report issue template by James Frost (@jfrost-mo) in #1421
- Provide value for placeholder in log message by James Frost (@jfrost-mo) in #1444
- Use correct recipe file for surface histogram case aggregation by James Frost (@jfrost-mo) in #1443
- Exclude additional VCS files from sdist manifest to prevent them being included in published packages by James Frost (@jfrost-mo) in #1412
- Add Makefile providing useful commands by James Frost (@jfrost-mo) in #1428
- Distribute workflow files inside main CSET package and add new
extract-workflowcommand to unpack it for use by James Frost (@jfrost-mo) in #1413 - Add CSET version and date of workflow run to CSET webpage by ukmo-huw-lewis in #1446
- Add model names to spatial_difference recipes by ukmo-huw-lewis in #1439
- Create link to conda environment for workflow in
make setupby James Frost (@jfrost-mo) in #1453 - Align time units and fix diurnal cycle aggregation bug by ukmo-huw-lewis in #1450
- Add checks for non-hour inputs against both minute and second time parts by ukmo-huw-lewis in #1432
- More flexible treatment of latitude/longitude and grid_latitude/grid_longitude across different model domain types by ukmo-huw-lewis in #1403
- Add SELECT_SUBAREA method to trim cutout based on number of grid cells and add related tests by ukmo-huw-lewis in #1433
- Filter down to required variables during workflow preprocessing to minimise data size by ukmo-huw-lewis in #1411
- Fixes pressure model transect recipe by David Flack (@daflack) in #1467
- Update copyright year in README.md by James Frost (@Fraetor) in #1463
- Add new functionality to better control plot extents and colorbar definitions by ukmo-huw-lewis in #1429
- Rename rose-suite.conf.txt to rose-suite.conf by James Frost (@jfrost-mo) in #1462
- Move
make setupdocumentation to make it more prominent by James Frost (@jfrost-mo) in #1461 - Remove conda-environment link from development workflow to fix failing tests by James Frost (@jfrost-mo) in #1460
- Skip posting code coverage report on PRs made from forks by James Frost (@jfrost-mo) in #1468
- Include discrete colourbar for spatial visibility_in_air plots by Sylvia Bohnenstengel (@Sylviabohnenstengel) in #1471
- Visibility follow up by James Frost (@jfrost-mo) in #1476
- Use temporary working directory for plotting tests by James Frost (@jfrost-mo) in #1475
- Update cell_methods constraint to process time aggregated input cubes by ukmo-huw-lewis in #1472
- Add workaround for flaky preprocess tests by James Frost (@jfrost-mo) in #1477
- Remove dead links from documentation by James Frost (@jfrost-mo) in #1485
- Add extra cloud diagnostics to RAL3LFRic example config, and apply cloud diagnostic fixes by ukmo-huw-lewis in #1478
- Add support for rainfall amount diagnostics by ukmo-huw-lewis in #1480
- Add summary statistic (mean, max, min,...) plots and introduce additional aggregation options by ukmo-huw-lewis in #1377
- Simplify internal package structure to make workflow more easily findable by James Frost (@jfrost-mo) in #1474
- Move workflow utils into rose apps by James Frost (@jfrost-mo) in #1489
- Clarify adding a recipe to the CSET workflow by James Frost (@jfrost-mo) in #1487
- Update title for domain mean timeseries aggregation of all cases to remove model names from title by ukmo-huw-lewis in #1491
- Increases memory for ensemble plotting by David Flack (@daflack) in #1506
- Draft documentation update for revised cset-workflow GUI and plot settings by ukmo-huw-lewis in #1492
- Update ceilometer_cloud_amount_maxrnd by James Frost (@jfrost-mo) in #1499
- Allow ensembles to run for more than ten variables by David Flack (@daflack) in #1507
- Update the pre-commit hook ID for ruff-check by James Frost (@jfrost-mo) in #1488
- Rotate UM winds to true east and true north to match LFRic by John Edwards (@JMEdwardsXtr) in #1469
- Update and improve the workflow tutorial by James Frost (@jfrost-mo) in #1512
- Remove preprocess task by James Frost (@jfrost-mo) in #1514
- Simplify release instructions to reflect the workflow being bundled into the CSET package by James Frost (@jfrost-mo) in #1515
- Add CSET v25.7.0 release notes to changelog by James Frost (@jfrost-mo) in #1516
- Correct description for standard deviation time aggregation method in rose edit by Sylvia Bohnenstengel (@Sylviabohnenstengel) in #1513
New Contributors
- John Edwards (@JMEdwardsXtr) made their first contribution in #1469
- James Frost (@Fraetor) is an alternate account of James Frost (@jfrost-mo)
Full Changelog: v25.5.2...v25.7.0