Changelog¶
25.3.1 (2025-03-27)¶
A smaller release contains a number of bug fixes and other minor improvements ahead of a new feature release next month. The most noticeable change maybe be the plot colorbar now being horizontal to leave more space for titles and side-by-side comparisons.
## What’s Changed
* Remove unneeded deletion from housekeeping by @jfrost-mo in PR #1241
* Add conda HTTP error to common errors by @jfrost-mo in PR #1242
* Reduce PROCESS time limit to 15 minutes by @jfrost-mo in PR #1243
* Getting started documentation improvements by @jfrost-mo in PR #1218
* Check for staggered grid with name rather than STASH in difference operator by @jfrost-mo in PR #1248
* Fully sort website index by @jfrost-mo in PR #1249
* Increase aggregation wallclock to 3 hours by @jfrost-mo in PR #1250
* Skip running dummy tasks by @jfrost-mo in PR #1120
* Document adding a site-specific configuration by @jfrost-mo in PR #1251
* Avoid calling os.sync()
by @jfrost-mo in PR #1276
* Avoid accessing non-captured output in MASS fetch script by @jfrost-mo in PR #1278
* Correct for instances where longitude plot bounds caused set_extent to by @ukmo-huw-lewis in PR #1283
* 1-line change to move default position of map colorbars to horizontal by @ukmo-huw-lewis in PR #1284
25.3.0 (2025-03-06)¶
This release is the baseline for evaluating RAL3_LFRic#708.1 with RMED Ticket #708 detailing the science configuration. It introduces a fixed evaluation functionality for RAL3-LFRic and RAL3-UM, new functionality, bug fixes, and improvements. Key features for RAL3-LFRic evaluation include:
Surface fields: spatial plots, timeseries, histograms, model comparison plots, time aggregation by hour of day, validity time, forecast range, area averages.
Pressure level fields: spatial plots, timeseries, histograms, model comparison plots, time aggregation by hour of day, validity time, forecast range, area averages, vertical profiles, PDFs.
Additional capabilities: transects, point selection, QQ plots, age of air diagnostics, cape diagnostics that can be selected by the user.
The next release will add analysis on model levels, multi-line plotting, and more derived variables.
Upload hidden coverage files to fix GitHub Actions breakage by @jfrost-mo in PR #832
Pin GitHub Actions to specific commits to prevent random breakage by @jfrost-mo in PR #846
Switch to data time cycling to support multiple models and multiple case studies or trials by @jfrost-mo in PR #765
Note that all documentation shell examples use bash by @jfrost-mo in PR #861
Add colorbar entries for more standard names by @jfrost-mo in PR #839
Support python 3.13 and remove usage of tox in CI by @jfrost-mo in PR #872
Correct execute_recipe docstring; it takes an input directory by @jfrost-mo in PR #869
Fix colorbar min and max not being set on pcolormesh plots by @jfrost-mo in PR #870
Error fetch_fcst task when no data found for a model, as it usually indicates a typo in the data path by @jfrost-mo in PR #842
Rewrite colorbar loading to use default colorbar definition from inside CSET package by @jfrost-mo in PR #871
Fix spelling of stratiform_rainfall_rate in colorbar definition by @jfrost-mo in PR #878
Fix typo in comment by @jfrost-mo in PR #906
Sort conda lock files to aid reviewing by @jfrost-mo in PR #890
Explicitly use conda-forge conda channel for updating conda and resolving lock files by @jfrost-mo in PR #886
Exclude __main__.py from test coverage measurement by @jfrost-mo in PR #880
Remove HTTP status check as urlopen already does it by @jfrost-mo in PR #882
Test templating variables into recipe parser by @jfrost-mo in PR #881
Test recipe listing and detailing functions by @jfrost-mo in PR #883
Changes to fix longitude convention to be in the range -180 degrees to 180 degrees where possible by @JKPShonk in PR #896
Disable strict checking that TLS certificates are well formed by @jfrost-mo in PR #904
Change CSET introduction on documentation welcome page by @Sylviabohnenstengel in PR #899
Harmonise variable names from UM Stash to LFRic variable and long_name by @ukmo-huw-lewis in PR #898
Add date to cset plot menu items by @mo-sanamahmood in PR #934
Wrap plot title and increase figure size by @Sylviabohnenstengel in PR #935
Fix supported arg type in regrid operator by @jwarner8 in PR #948
Use non-interactive backend for plotting by @jfrost-mo in PR #951
Revert “Add iris-grib to dev dependencies” by @jfrost-mo in PR #974
Import CSET.recipes as recipes during testing for readability by @jfrost-mo in PR #968
Add nicer error messages for unhandled exceptions by @jfrost-mo in PR #884
Target lockfile update PR to source branch by @jfrost-mo in PR #963
Convert CLI interface tests to not use subprocess.run by @jfrost-mo in PR #970
Use regular install for CI tests by @jfrost-mo in PR #463
Add age of air diagnostic functionality by @jwarner8 in PR #480
Documentation update for mask operator by @daflack in PR #990
New callbacks to standardise some dim names by @jwarner8 in PR #983
Fix no title in surface histogram plots by @jwarner8 in PR #1006
Updates generate_levels_constraint documentation for ensemble functionality by @daflack in PR #1003
Log cubes that don’t merge in load_cube operator by @jfrost-mo in PR #1022
Remove unneeded name global attribute by @jfrost-mo in PR #1024
Format JSON when writing by @jfrost-mo in PR #1041
Limit domain statistics to 3 s.f. and move below plot by @jfrost-mo in PR #1040
Require tasks to succeed in DEBUG mode by @jfrost-mo in PR #1039
Generalise spatial plot log message by @jfrost-mo in PR #1042
Separate words in callback function name with _ so it is easier to read by @jfrost-mo in PR #1043
Handle sorting files outside the current directory in sort_json.py script by @jfrost-mo in PR #1046
Replace all remaining usage of typing.Union with | by @jfrost-mo in PR #1047
Fix typo in rose-edit help by @jfrost-mo in PR #1051
Add configuration file for GitHub Issue templates by @jfrost-mo in PR #1035
Merge lead time into initiation time cycling by @jfrost-mo in PR #1053
Add utility function for equalising attributes by @jfrost-mo in PR #1052
unify colourbar for relative_humidity between UM and LFRic by @Sylviabohnenstengel in PR #1038
unify colourbar for cloud_base_altitude between um and lfric by @Sylviabohnenstengel in PR #1059
Reduce useless log messages by @jfrost-mo in PR #1045
Adds collapse_by_hour_of_day operator by @daflack in PR #1034
Sort colorbar JSON files via pre-commit hook by @jfrost-mo in PR #1060
Handle CubeList in line plotting operator by @Sylviabohnenstengel in PR #954
Ensure multiple cases are put into a single cube by @daflack in PR #1050
Data loading improvements, including loading multiple models by @jfrost-mo in PR #1054
Improve rose edit and simplify include files by @jfrost-mo in PR #1055
Update collapse_by_hour for multiple cases by @daflack in PR #1068
Accept microsecond precision in iris times by @jfrost-mo in PR #1074
Parallelise CI tests by @jfrost-mo in PR #1071
Use “spawn” start method for multiprocessing by @jfrost-mo in PR #1075
Fix issue with rose-suite.conf variable by @jwarner8 in PR #1082
Remove unnecessary computation from age-of-air test by @jfrost-mo in PR #1081
Share multiprocessing pool across ensemble members by @jfrost-mo in PR #1080
Add data fetching script from MASS by @jfrost-mo in PR #1084
Spatial difference plots by @jfrost-mo in PR #1061
Make MASS fetch data script executable by @jfrost-mo in PR #1085
Add additional colour bar definitions from UKEP Plot by @jfrost-mo in PR #1064
Increase default memory to 4G for processes by @jwarner8 in PR #1090
Relax shape check in difference plots by @jwarner8 in PR #1088
Deduplicate an unlimited amount of STASH warnings by @jfrost-mo in PR #1091
Search for correct log_record in fetch_data tests by @jfrost-mo in PR #1089
Implement required return value for MASSFileRetriever by @jfrost-mo in PR #1095
Use CSET read operator to load test data, and improve various fragile tests by @jfrost-mo in PR #1076
Remove housekeep_raw task from workflow by @jfrost-mo in PR #1104
Allow collapse.collapse to handle a CubeList by @jfrost-mo in PR #985
Update workflow for single recipe case aggregation by lead time by @daflack in PR #1086
Update workflow to allow case aggregation by hour of day by @daflack in PR #1101
Updates workflow for aggregation by validity time by @daflack in PR #1102
Handle CubeLists in plot_vertical_line_series and plot_scatter_plot by @Sylviabohnenstengel in PR #1100
Add dummy tasks to prevent workflow graph failures by @jfrost-mo in PR #1119
Update rose-suite.conf.example by @jfrost-mo in PR #1121
Fix for pressure coordinate name variants plus enforce units to be hPa by @jwarner8 in PR #1106
Fix issue where pressure coordinate returns Unit object, not str by @jwarner8 in PR #1123
Allow real-world coordinates to be specified in single-point timeseries by @cehalliwell in PR #943
Extend histogram plot with CubeList handling capability by @Sylviabohnenstengel in PR #1116
switch off auto-scale for x axis to avoid jumping of ticks on x axis … by @Sylviabohnenstengel in PR #1134
Various fixes and new recipes for pressure level functionality by @jwarner8 in PR #1127
Switch web viewer to sidebar layout by @jfrost-mo in PR #1132
Tidy Conf by making aggregatable collapsible, and fill missing example values by @jwarner8 in PR #1135
Shrink sidebar font size by @jfrost-mo in PR #1142
Various QuickLook fixes and enhancements of surface plot functionality by @jwarner8 in PR #1122
put in colorbar for surface_net_shortwave_flux_difference by @BernardClaxton in PR #1138
Fix spelling in plot.py by @jfrost-mo in PR #1147
Search for all varnames and allow user colorbar override by @jfrost-mo in PR #1141
Support flexible pressure_level dependent colorbars by @Sylviabohnenstengel in PR #1140
Fill out colorbar definitions for missing variables by @BernardClaxton in PR #1145
Unify .gitignore to cover both workflow and library by @jfrost-mo in PR #1151
Update environments used throughout CSET to python 3.13 by @jfrost-mo in PR #1153
Run generate_rose_meta script as pre-commit hook by @jfrost-mo in PR #1154
Rename workflow conda lock files by @jfrost-mo in PR #1157
Always build conda environment within workflow share directory by @jfrost-mo in PR #1156
Break long names in sidebar by @jfrost-mo in PR #1160
Allow release workflow to run on pre-releases by @jfrost-mo in PR #1161
Unify documentation building Action into pull requests check workflow by @jfrost-mo in PR #1159
Small additions to regrid and callback by @jwarner8 in PR #1158
Fix conda failure by @jfrost-mo in PR #1162
Revert to python 3.12 for workflow environment by @jfrost-mo in PR #1168
Add missing settings to example suite config by @jfrost-mo in PR #1169
Fix JSON colorbar entries and ensure we use LFRic names by @jwarner8 in PR #1178
Add colorbar ranges for different pressure levels by @daflack in PR #1181
Add shellcheck to pre-commit hooks by @jfrost-mo in PR #1184
Set website display date at plot creation by @jfrost-mo in PR #1186
Fix timeseries ylim based on JSON entries, and add gridlines by @jwarner8 in PR #1175
Append suffix to difference cube long name by @jfrost-mo in PR #1189
Simplify logging by @jfrost-mo in PR #1185
Fix colorbar for geopotential height differences by @daflack in PR #1195
Add fixes for vertical line xlim and PDF xlim by @jwarner8 in PR #1182
Test matplotlib font logs are filtered out by @jfrost-mo in PR #1200
Error build_conda when local CSET path not set by @jfrost-mo in PR #1203
Draw attention to the hyperlink to download the example by @jfrost-mo in PR #1211
Create needed parent directories when writing the website by @jfrost-mo in PR #1219
Remove tox by @jfrost-mo in PR #1220
Updated vertical line series pressure maximum y limit to 100hPa by @mo-LewisBlunn in PR #1223
Modify ensure_aggregatable_across_cases to ensure NetCDF cubes are correctly merged by @jfrost-mo in PR #1199
Model level callback to allow LFRic cubes to merge by @daflack in PR #1227
Sort diagnostics by display name by @jfrost-mo in PR #1229
Add iris-grib to dev dependencies by @jfrost-mo in PR #980
Add case date as subcategory for output website by @Sylviabohnenstengel in PR #1208
Increase memory and wall clock limits for case aggregation tasks by @daflack in PR #1236
New Contributors
@ukmo-huw-lewis made their first contribution in PR #898
@mo-sanamahmood made their first contribution in PR #934
@cehalliwell made their first contribution in PR #943
@BernardClaxton made their first contribution in PR #1138
@mo-LewisBlunn made their first contribution in PR #1223
24.8.0 (2024-08-29)¶
This release contains a large number of bug fixes and small improvements, and sets the stage for the major cycling improvement (Issue #750) coming in the next release in a few days.
Added line wrapping for title by @Sylviabohnenstengel in PR #935
Parse recipe variables as python literals by @jfrost-mo in PR #683
Fixed metplus config issue by @dasha-shchep in PR #693
Clarify error message on missing files by @jfrost-mo in PR #663
Update testing.rst by @Sylviabohnenstengel in PR #696
Correct rst syntax added in #696 by @jfrost-mo in PR #700
Suggest descriptive PR titles instead of changelog entry by @jfrost-mo in PR #701
Improve PR title documentation in developer’s guide by @jfrost-mo in PR #707
Remove Fixes placeholder in PR template by @jfrost-mo in PR #705
Update section header to match PR checklist item by @jfrost-mo in PR #704
Minor wording tweak in marking PR as ready to review docs by @jfrost-mo in PR #702
Add canonical URL links to documentation by @jfrost-mo in PR #650
Clarify running specific tests by @jfrost-mo in PR #703
Fix SET_SUBAREA being required to run some LFRIC recipes by @dasha-shchep in PR #717
Remove deprecated postage stamp contour plot operator by @jfrost-mo in PR #710
Remove unneeded fallback code for old recipe step keys by @jfrost-mo in PR #711
Test vertical plotting with a filename specified by @jfrost-mo in PR #712
Test running recipes with no collate steps and running with a specified style file by @jfrost-mo in PR #713
Test handling of masked arrays in convection operators, and load convection test files with fixtures by @jfrost-mo in PR #714
Ignore cartopy DownloadWarning in pytest by @jfrost-mo in PR #716
LFRic extension to vertical profile by @Sylviabohnenstengel in PR #638
Remove unneeded rose edit setting by @jfrost-mo in PR #722
Test higher dimensional orography handling in convection operators by @jfrost-mo in PR #715
Support STASH codes in generate_var_constraint by @jfrost-mo in PR #723
Add cross-section transect functionality by @jwarner8 in PR #531
Extend UM vertical plotting to model level by @Sylviabohnenstengel in PR #697
UM spatial plot on model levels by @Sylviabohnenstengel in PR #699
Enable spatial fields on full and half levels by @Sylviabohnenstengel in PR #695
Unquote double quoted shell values by @jfrost-mo in PR #729
Remove invalid rose meta trigger for removed variable by @jfrost-mo in PR #733
Add _utils operators to internal function documentation by @jfrost-mo in PR #735
Don’t check documentation hyperlinks in commit CI by @jfrost-mo in PR #749
Generate Histograms for 2D field by @Sylviabohnenstengel in PR #594
Tidy up documentation around recipes and cset bake command, introducing examples by @Sylviabohnenstengel in PR #641
Create operator to combine Cubes/CubeList into single CubeList by @jwarner8 in PR #738
Update copyright attribution per legal advice by @jfrost-mo in PR #753
Enhance level filter operator to return all vertical levels by @jwarner8 in PR #728
Copy source files from any named folder when installing locally by @jfrost-mo in PR #472
Add missing brackets to TemporaryDirectory call when installing local CSET by @jfrost-mo in PR #760
Move all website files under the workflow shared directory by @jfrost-mo in PR #764
Fix overwriting when using transect on multiple variables by @jwarner8 in PR #766
Surface field histogram by @Sylviabohnenstengel in PR #640
Preload plot images on web page by @jfrost-mo in PR #781
Filter irrelevant warning raised by regrid test by @jfrost-mo in PR #796
Merge and concatenate cubes on load by @jfrost-mo in PR #790
Allow Point cell methods for empty constraint, making it possible to unify UM and LFRic recipes by @jfrost-mo in PR #778
Merge install_local_cset into build_conda so environment is setup in a single cylc task by @jfrost-mo in PR #791
Convert time AuxCoord to DimCoord for LFRic data by @jfrost-mo in PR #789
Cancel running PR checks if new commit is pushed by @jfrost-mo in PR #793
Stop ruff warning about ignore-init-module-imports by @jfrost-mo in PR #800
Configurable plotting resolution by @jfrost-mo in PR #803
General small plot improvements and website organisation by @jwarner8 in PR #801
Set figsize to consistent 8 by 8 inches, and reduce resolution to 100 dpi by @jfrost-mo in PR #786
Remove LFRic specific recipes now recipes can handle both UM and LFRic data by @jfrost-mo in PR #805
Move workflow utility code into unstable module within CSET package by @jfrost-mo in PR #792
Add pcolormesh plotting operator by @jfrost-mo in PR #787
Use pcolormesh for Quicklook surface spatial plots by @jfrost-mo in PR #788
Create the plot index in finish_website to avoid a data race between concurrent index writers by @jfrost-mo in PR #794
@dasha-shchep Fixes METPLUS metadata issue in PR #692
- @JKPShonk and @cehalliwell added functionality to CSET to allow it to
generate time series plots from model data mapped on to a selected longitude/latitude location in PR #577
@Sylviabohnenstengel add pdf functionality for spatial fields in PR #594.
@Sylviabohnenstengel documentation: add info on quick pytesting in PR #696
@Sylviabohnenstengel add constraint operator for lfric full_levels and half_levels
@Sylviabohnenstengel introduced lfric_model_level and lfric_model_level_field to rose meta
@Sylviabohnenstengel expand plot operator add plotting lfric vertical profiles on model levels
@Sylviabohnenstengel expand plot operator add plotting on model levels to spatial plot operator
@Sylviabohnenstengel added new recipe for plotting vertical profiles on model levels for lfric.
@Sylviabohnenstengel added new recipe for plotting spatial lfric data on model levels.
@Sylviabohnenstengel added a vertical line plotting operator that plots vertical profiles using an optional series coordinate and an optional sequence coordinate. The series coordinate is currently tested for pressure and the sequence coordinate allows displaying vertical profiles over time using the time slider functionality. Further added a recipe to plot vertical profiles and test functions for the vertical plot operator.Fixes :pr: 494
24.6.0 (2024-06-17)¶
This release contains a quite a number of small improvements, increasing the reliability of CSET significantly, and paving the way for further improvements to come.
@jfrost-mo replaced how the encoding of subprocess output is determined in PR #604. This adds support for python before 3.11, and more accurately reflects the encoding.
@jwarner8 add intelligent determination of whether to plot country lines in PR #655
@daflack added science review guidance to the documentation in PR #649
@jfrost-mo ensured cartopy data files are included in the GitHub Actions cache in PR #647
@jfrost-mo improved the error message for missing data files in PR #663
@jfrost-mo grouped the package install logs in GitHub Actions in PR #645
@daflack added an inflow layer properties diagnostic in PR #353
@jfrost-mo fixed LFRic cube metadata on load in PR #627. This means that loading LFRic data no longer requires special steps in the recipe.
@jfrost-mo made the
install_restricted_files.sh
script non-interactive in PR #606. This should make it less confusing to use.@Sylviabohnenstengel added information to rose-meta for colorbar selection and provided path to example JSON file in PR #632
@jfrost-mo added a Generative AI policy in PR #624
@jfrost-mo linked to the CSET discussion forum in PR #625
@jwarner8 use common operator to identify x/y coord names in regrid operator PR #626
@jwarner8 added generic cube util for common functions so all operators can use to reduce repetition in PR #620
@JorgeBornemann added METPlus GridStat functionality (NIWA) in PR #629
@jfrost-mo added a code of conduct in PR #618
@jfrost-mo fixed some rose edit metadata so the subarea selectors show up when enabled in PR #612
@jfrost-mo removed some old recipes that are now redundant in PR #512
@jfrost-mo added a git cheat sheet to the documentation in PR #598
@jfrost-mo added a warning when input files don’t exist in PR #518. This makes it easier to see if configuration mistakes were made.
@jfrost-mo improved the documentation for adding a new diagnostic in PR #603
@dasha-shchep added
generate_area_constraint
operator and added to LFRic recipes in PR #522. This was their first contribution 🎉@Sylviabohnenstengel added a vertical line plotting operator that plots vertical profiles using an optional series coordinate and an optional sequence coordinate in PR #567. The series coordinate is currently tested for pressure and the sequence coordinate allows displaying vertical profiles over time using the time slider functionality. Furthermore added a recipe to plot vertical profiles and test functions for the vertical plot operator.
@jfrost-mo dropped python 3.9 support in PR #448 The minimum required python is now 3.10.
@jfrost-mo fixed some outdated documentation examples in PR #546
@jfrost-mo added setuptools as an explicit dependency of the workflow in PR #543
@cjohnson-pi added support for custom plotting styles in PR #570. This avoids many issues of side-by-side plots having different scales, or extreme values causing plots to saturate.
@Sylviabohnenstengel documentation: removed necessity to add new recipe to flow.cylc.
@Ashfinn fixed a typo in the documentation in PR #573. This was their first contribution 🎉
@jfrost-mo fixed how arguments from the
CSET_ADDOPTS
environment variable are parsed in PR #569. This fixes issues with passing lists into recipes.@jfrost-mo added a dead link checker to the documentation in PR #556
@Sylviabohnenstengel documented the common error of operating on a CubeList instead of a Cube in PR #541
@Sylviabohnenstengel documented how to update your conda environment in PR #519
@Sylviabohnenstengel documented the common error of no cubes being loaded in PR #513
@Sylviabohnenstengel and @jfrost-mo redid the rose-meta sort orders so that workflow configuration makes more sense in PR #504
@jfrost-mo updated the example rose-suite.conf to reflect what a modern version should look like in PR #508
24.4.1 (2024-04-19)¶
This release contains a large generalisation of the CSET workflow, allowing use of templating to use the same recipe for multiple variables. It also adds cycling to the workflow, so a long workflow can be efficiently processed in parallel.
@jfrost-mo added GitHub Issue and Pull Request templates, and a detailed contribution checklist to the documentation in PR #465
@jfrost-mo added a changelog in PR #468
@jfrost-mo documented the
category
recipe key in PR #499@jfrost-mo renamed the
steps
andpost-steps
keys toparallel
andcollate
in PR #484. This makes them more meaningful, but is a breaking change.@jfrost-mo made the log output of the read operator nicer in PR #461
@jfrost-mo added links to share feedback to the output page in PR #442
@jfrost-mo documented some common errors in PR #443
@jfrost-mo documented the deprecation policy in PR #444
@jfrost-mo fixed an iris deprecation warning for save_split_attrs in PR #459
@jfrost-mo added LFRic specific recipes in PR #462. This allows CSET to read in structured LFRic data.
@jfrost-mo fixed a memory leak when plotting in PR #482
@jfrost-mo included the recipe title in the plot title, giving more context to the output. This was PR #462
@Sylviabohnenstengel added the capability to loop over model levels in PR #441
@Sylviabohnenstengel and @jfrost-mo renamed and better linked up the Developer’s Guide in PR #434 and PR #435
@jfrost-mo updated the documentation Actions workflow to make it simpler and faster in PR #449
@jfrost-mo added a cycling to the cylc workflow so recipes can be run in parallel across multiple nodes. This was PR #395
@jfrost-mo added looping inside an include file for generalisation in PR #387
@jfrost-mo made conda-lock update PRs use a GitHub App in PR #415
@Sylviabohnenstengel retitled code and tooling setup page in PR #433
@Sylviabohnenstengel updated git terminology in PR #436
@jfrost-mo added sequential plot display with unified postage stamp plots in PR #379
@JorgeBornemann fixed IFS in build conda in PR #447
@jfrost-mo added a licence header to convection tests in PR #450
24.2.1 (2024-03-04)¶
A small bug fix release containing several fixes that ensure portability on Australia’s NCI system.
Graceful error when graphing without xdg-open by @jfrost-mo in PR #394
Docs update by @jfrost-mo in PR #392
Update workflow conda lockfiles automatically by @jfrost-mo in PR #410
Handle
LD_LIBRARY_PATH
being unset by @jfrost-mo in PR #404
24.2.0 (2024-02-13)¶
This release open sources the cylc workflow, allowing for much easier running of CSET over large datasets. It also includes support for parametrising recipes to allow a single recipe to work for many cases.
Open source workflow by @jfrost-mo in PR #247
Minor bug fix to cape ratio documentation by @daflack in PR #336
Use cached conda environment for CI by @jfrost-mo in PR #351
Single cube read operator by @jfrost-mo in PR #323
Hash updated config ensuring unique branch by @jfrost-mo in PR #350
Add filter_multiple_cubes operator by @jfrost-mo in PR #362
Test exception for invalid output directory by @jfrost-mo in PR #364
Test no constraints given to filter_multiple_cubes by @jfrost-mo in PR #363
Update workflow-installation.rst by @Sylviabohnenstengel in PR #365
Recipe parametrisation by @jfrost-mo in PR #337
Fix crash when running recipe from env var by @jfrost-mo in PR #384
0.5.0 (2023-11-24)¶
Small update featuring some better looking plots (though still a work-in-progress, see Issue #240) and a documentation fix.
Bump version to 0.5.0 by @jfrost-mo in PR #278
Improve contour plot by @jfrost-mo in PR #282
0.4.0 (2023-11-23)¶
Containing many months of work, this release contains many usability improvements, new generic operators, and a big change to the output, where it is now generated as handily viewable HTML pages.
Update version to 0.4.0 by @jfrost-mo in PR #180
Postage stamp plots by @jfrost-mo in PR #160
Add collapse operator with corresponding yaml file and changes by @Sylviabohnenstengel in PR #168
Make plot.contour_plot and write.write_cube_to_nc return a cube by @jfrost-mo in PR #183
Postage stamp plot fix by @jfrost-mo in PR #181
Document collapse operator by @jfrost-mo in PR #185
Refactor tests to use PyTest helpers by @jfrost-mo in PR #177
Document installing CSET into its own environment by @jfrost-mo in PR #198
Update README.md by @Sylviabohnenstengel in PR #206
Use hash of updated lock files in branch name by @jfrost-mo in PR #201
Add note on updating a cloned repository by @jfrost-mo in PR #190
Skip build-docs on push to main by @jfrost-mo in PR #200
Python 3.12 support by @jfrost-mo in PR #202
Update README.md by @Sylviabohnenstengel in PR #225
Update README.md by @Sylviabohnenstengel in PR #226
Update why-cset.rst by @Sylviabohnenstengel in PR #227
Fix globbing for lock file hashing by @jfrost-mo in PR #229
Update index.rst by @Sylviabohnenstengel in PR #228
Update index.rst by @Sylviabohnenstengel in PR #230
Use static branch name while updating lock files by @jfrost-mo in PR #245
Swap out flake8 for Ruff by @jfrost-mo in PR #218
Including aggregate operator by @Sylviabohnenstengel in PR #241
Fix filter operator for filtering cube by @daflack in PR #258
Fix pre-commit mangling test data by @jfrost-mo in PR #273
Improve tutorials by @jfrost-mo in PR #209
Model level constraint operator by @Sylviabohnenstengel in PR #272
Plot generation improvements by @jfrost-mo in PR #274
0.3.0 (2023-08-02)¶
This release contains some major changes to the user experience. This includes many of the CLI commands changing names, and the CSET Documentation being completely restructured. Hopefully this should be the last major reshuffle of the user experience, as we are getting closers to being feature complete for our MVP.
Other highlights include the addition of the cset graph command for visualising recipes, and the cset cookbook command for dumping the built in recipes to disk.
Operator runner improvements by @jfrost-mo in PR #128
Add codespell pre-commit hook by @jfrost-mo in PR #135
Add graph command to visualise recipe files by @jfrost-mo in PR #136
Pin version of tox used in environment by @jfrost-mo in PR #142
Increase version number by @jfrost-mo in PR #124
Update description of CSET by @jfrost-mo in PR #141
Refactoring by @jfrost-mo in PR #144
Rename run command to bake by @jfrost-mo in PR #143
Add command to create recipes on disk by @jfrost-mo in PR #140
Documentation restructure by @jfrost-mo in PR #151
Add version command by @jfrost-mo in PR #156
General cleanup by @jfrost-mo in PR #158
Remove Python 3.8 support by @jfrost-mo in PR #173
Fix install instructions in docs by @jfrost-mo in PR #176
Allow PR checks to be run manually by @jfrost-mo in PR #179
Ensemble ingestion with read operator by @jfrost-mo in PR #157
Update working practices link to point to contributing docs by @jfrost-mo in PR #175
0.2.0 (2023-06-16)¶
Lots of good work in the release towards making the recipe format more usable.
Update installation instructions to use conda and add missing operators to documentation by @jfrost-mo in PR #94
Update index.rst by @Sylviabohnenstengel in PR #95
Improve installation instructions by @jfrost-mo in PR #97
Use speedy libmamba when resolving conda environments by @jfrost-mo in PR #105
Add documentation on rational by @jfrost-mo in PR #102
Relax version requirement for sphinx by @jfrost-mo in PR #108
Run PR checks on push to main by @jfrost-mo in PR #109
Move to YAML recipe format by @jfrost-mo in PR #119
Lock pre-commit config to specific SHA by @jfrost-mo in PR #118
Use recipes from environment variable by @jfrost-mo in PR #122
0.1.0 (2023-04-24)¶
The first release of CSET! 🎉 This release contains basic operators to do reading, writing, filtering, and plotting of data. It is however still quite limited in each of them, and still doesn’t promise much in the way of API stability, with things undoubtedly going to undergo significant change in the near future.
This release also serves as a basis for packaging CSET out into the wider world; packages will be released on PyPI, and conda-forge.
Re-enable testing on python 3.11 by @jfrost-mo in PR #61
Operator runner improvements by @jfrost-mo in PR #56
Move METplus tasks out of command line repository by @jfrost-mo in PR #76
Remove extra punctuation from conda lock CI commit message by @jfrost-mo in PR #78
Measure test coverage by @jfrost-mo in PR #68
Improve test coverage by @jfrost-mo in PR #81
Fix link to Git tutorial by @jfrost-mo in PR #83
Fix description of a git tag by @jfrost-mo in PR #84
Add basic plotting capabilities by @jfrost-mo in PR #85
Make PR coverage reports edit last comment by @jfrost-mo in PR #92
Package on PyPI by @jfrost-mo in PR #90