Releases: Climate-REF/climate-ref
v0.6.1
Announcements
Inital beta release for testing by Modelling Centers
Changelog
Features
- Implemented a HPCExecutor.
It could let users run REF under HPC workflows by submitting batch jobs
and compute diagnostics on the computer nodes. Only the slurm scheduler is
supported now. (#305)
Bug Fixes
- Remove keys with their value None from the output JSON for CMEC validation of PMP extratropical variability modes (#337)
Improved Documentation
- Add Getting Started section for ingesting and solving (#342)
Changes
- a7e13ad Bump version: 0.6.0 → 0.6.1
- 3a674dd chore: Fix warning
- 0613e9d chore: Update link
- 92ec38a chore: Remove unused files
- e9902e3 chore: Changelog
- 875beda chore: Fix up warnings
- 2c5dcbe chore: Fix warnings about write on copy
- 404ca53 chore: Tidy up results
- f875ac6 chore: rework-getting-started
- 4505c6b remove a duplicated test
- 5fd3e44 add the retries option
- cb44fcb raise the exception from execute_locally to triger the parsl retries
- a9620a0 minor fixes for docs
- f0e94aa add basic type checking in slurm.py
- 45bdb89 move the slurm from core to ref
- eb178fd Update packages/climate-ref-pmp/src/climate_ref_pmp/diagnostics/variability_modes.py
- baa3adb add change log
- f6f18f9 remove keys with their value as none from json
- 732b587 minor format fixes
- be1d11c add a how-to about HPCExecutor
- 5f3b7e4 do not use timeout in hpc and its test instead use job walltime
- 76e12aa make the test_slurm work
- 0ee2adf add changelog
- 4676d8f remove setuptools in climate-ref package and update uv.lock
- 0aa9480 minor format fixes
- 6d7cbfd make pyslurm optional and only validate HPCExecutor settings when it is available
- dde1441 change the default max_workers_per_node=16 and cores_per_worker=1
- ef5c751 add the unit test for hpc.py
- c6ce232 improve HPCExecutor and add files for HPC workflow
- f694e72 add the HPCExecutor join method
- 5987b35 initially implement a hpc executor
v0.6.0
Changelog
Breaking Changes
- Updated the group by dimensions for the PMP diagnostics.
This will cause duplicate runs to appear if an existing database is used.
We recommend starting with a new database if using the next release. (#321)
Features
-
Implemented PMP ENSO metrics (#273)
-
Added ESMValTool ENSO diagnostics. (#320)
-
Add the creation of verbose debug logs.
These logs will be created in the$REF_CONFIGURATION/log
directory
(or overriden via theconfig.paths.log
setting). (#323) -
Data catalogs now only contain the latest version of a dataset.
This will trigger new executions when a new version of a dataset is ingested.Some additional datasets have been added to the obs4REF dataset registry.
These datasets should be fetched and reingested. (#330) -
Added a comparison of
burntFractionAll
to the ILAMB list of diagnostics (#332) -
Adds
--diagnostic
and--provider
arguments to theref solve
command.
This allows users to subset a specific diagnostic or provider that they wish to run.
Multiple--diagnostic
or--provider
arguments can be used to specify multiple diagnostics or providers.
The diagnostic or provider slug must contain one of the filter values to be included in the calculations. (#338)
Improvements
- Raise the ilamb3 version to 2025.5.20 and add remaining ILAMB/IOMB metrics. (#317)
- Adds Ocean Heat Content and snow cover datasets to the ilamb/iomb registry (#318)
- Updated the ESMValTool version to include updated recipes and diagnostics. (#325)
- Add obs4MIPs ERA-5 ta sample data as obs4REF. (#334)
- Enable more variables for the annual cycle diagnostics via PMP. (#335)
- Verify the checksum of downloaded datasets by default (#336)
Bug Fixes
- Depth selects properly in mrsos, added regression data (#331)
Changes
- 2fa87de Bump version: 0.5.5 → 0.6.0
- e29a22a chore: Update tests
- 43e3cc1 docs: Changelog
- d8fcc28 feat: Allow running a subset of diagnostics
- 928c5fb chore: Fix CLI tests
- 8e171ee chore: Fix deprecated license declaration in TOML block
- 215ce28 chore: Fix pre-commit
- eb6c675 chore: Fix tests and update lock
- 3d42e43 docs: Changelog
- ac82ba8 Update packages/climate-ref-pmp/src/climate_ref_pmp/diagnostics/annual_cycle.py
- c3e4d43 test: Add tests for verifying hashes
- c1ea350 add change log
- 8e79140 feat: Add a verify argument for validating that the downloaded data conform with the checksum
- a0b4a56 enable additional variables
- 3af44ea Add changelog
- cb72727 Update number of files
- 25ec7b8 Add ERA-5 obs4MIPs data to obs4REF
- a94e880 Update regression test data to latest sample data version
- dd81197 changelog
- c3204bc regression data
- 89df900 add GFED data to registry (will require upload to S3 bucket)
- 2878d14 added burned area to the ilamb config
- 7ef8f3a changelog
- 3f0bfd1 regression test data
- 5d99cdd fix a switch in ilamb3 for how depths are selected
- c1be661 chore: skip mrsos-wangmao
- 72a69ed fix: add cSoil, nbp and snc regression output
- 369fd56 chore: Update sample data to v0.6.3
- 67656d3 chore: Fix coverage
- 8caa397 fix: Use supplementary datasets instead of filters
- 91663e4 chore: Update sample data to v0.6.2
- 3755dd4 chore: fix number of obs4ref file
- 4389095 chore: Add regression outputs
- 59bef7d chore: Add additional dimensions
- 5fb7e26 chore: Fix edge case of an empty catalog
- b10a2c9 chore: Changelog
- 9375ad8 feat: Exclude all but the latest version
- c268989 chore: Update count of datasets
- f78bd69 chore: Add additional obs data to the registry
- 48f97ab Add tests
- a036ea4 Update hashes to make tests pass
- c697643 Update tests
- 901c118 Add changelog item
- 0517dcc Update ESMValTool version
- de80774 Update regression test data
- 70ec11c test: coverage
- 61432fc test: Fix
- 3c78dea docs: Changelog
- 2ff2540 feat: split file logging by process
- 7b60cb4 Update regression test data
- ca84dc6 Add ENSO characteristics
- 66aa481 Add changelog
- 7e1eca1 Add regression test data
- f62bada Add missing dataset
- 48b0c76 Improve explanation limit argument
- a6ec7be Fix enso basic climatology
- b538020 feat: Write out verbose log files for debugging
- d3bbf22 chore: Changelog
- 6a28469 chore: Disable marking CV failures as failed executions
- e4b8c31 clean up
- 1362cf3 clean up
- 7e7f9ca testing
- 282f262 test: Update tests
- c0b23f1 chore: Enable marking executions as failed if they don't have the correct cv
- 0af53e9 chore: Regenerate regression tests
- a06787a typo fix
- 757ed71 bug fix -- re-enable landsea mask estimation for obs and models if needed
- c9637c9 typo fix
- 816b923 Add ENSO diagnostics
- 6696942 chore: Use sha1sums for hashes
- 6c415a3 chore: Changelog
- 2c70bc0 chore: Add additional dataset to ilamb/iomb
- 25679d2 configure language changes to support new metrics
- bbbc2c9 changelog
- 187c8ff bump to ilamb version
- 2c066c1 chore: Adding REF_TEST_DATA_DIR for out-of-source sample data
- 1a7f33e chore: Add areacella and sftlf
- 5d1f92d chore: Skip coverage of driver files
- 8c7e2df chore: Add files to obs4REF registry
- 907d97e chore: cleanup dict_datasets
- fa77ff3 clean up
- 3783587 add ERA-5
- 242daac clean up
- 89ebb03 update
- 1d6c427 update
- b9adbfa bug fix
- 09740b2 update cmec converter
- 61d937e cmec converter added
- 14fc030 typo fix
- c212593 update
- 9166fbc bug fix
- b9220c7 chore: Update lockfile
- b488f32 adjust numpy version limit
- 6c6a72c update
- 665ba8d update -- typo fix
- 136edb1 update -- bug fix
- f606fc6 update
- 477a4ae add logger lib to the pmp env
- aec1b48 update
- c986f81 update
- b78f6b3 update
- f19e52d typo fix
- 5e21ae7 generate landmask for reference per variable basis because it is possible some variables are on staggered grid
- cd116e9 update
- 7511d09 remove enso param file as enso driver does not need it for the current setup
- 5b6885b ruff fix
- a49b336 update
- c4dd856 clean up
- d11b581 feat: Rework so that the command is executed
- beae40e update
- 0098813 update
- 4b689d4 Update environment.yml
- 75501a6 add change log
- d6b7491 update
- dbcdade in progress
- 81e60c4 in progress
- b2aeb1c update
- 76c7b97 update
- afa9c49 Update packages/climate-ref-pmp/src/climate_ref_pmp/diagnostics/enso.py
- 8ecd3f7 update
- f08c655 in progress
- 7719d88 pre-commit fix
- 06e50ff pre-commit fix
- 7c5730f update
- 92ede94 update
- 3973278 apply changes from #271
- b5d8751 rename internal function and generalize variable name
- 414a83b initial commit for enso codes
v0.5.5
Changelog
Improvements
- Added additional dimensions to the ILAMB and ESMValTool metric values.
This includes additional information about the execution group that will be useful to end-users. (#308) - Move the ILAMB datasets to S3 (#309)
- Clean ECS diagnostic (remove unused keys in ESMValTool recipes and avoid "cmip6" in diagnostic name) (#310)
- Clean TCR diagnostic (remove unused keys in ESMValTool recipes and avoid "cmip6" in diagnostic name) (#311)
Improved Documentation
- Updated documentation to include more information about concepts within the REF. (#312)
Changes
- 8fe46ec Bump version: 0.5.4 → 0.5.5
- 218a1e2 chore: Move to the newer version of development dependencies
- 3b3022d chore: Unify pyproject classifiers
- 8855c9a docs: Changelog
- 7628df4 chore: Print more outputs
- dcaab97 docs: More basic documentation
- 4db5f8e Recreate TCR regression test output
- 920ec24 chore: Cleanup aft regression test
- a567a54 chore: regenerate regression output
- 97c90f7 Add changelog
- 5bfd063 Remove superfluous recipe keys in TCR diagnostic and rename diag
- 01177a7 Add changelog
- 5e0dcd1 Avoid using 'cmip6' in diag name
- ba215a4 Add tests
- 4dd844e Remove superfluous recipe keys in ECS diagnostic
- d4999d4 chore: Fix integration tests
- 8c8d2f2 chore: Add ilamb prefix everywhere
- 5e6cee4 docs: Changelog
- efa9e11 chore: Make everything consistent
- b7f7b02 chore: Move ILAMB data to the S3 bucket
- db437d8 test: Fix ilamb tests
- 93591fd docs: Changelog
- 27cc8f8 chore: Update esmvaltool tests
- ec34806 revert: Use N/A instead of None for Generator
- f28b75e chore: Added additional PMP dimensions to the output
- cdf7726 chore: handle ILAMB dimensions
- 4ca2905 chore: Add grid_label to the list of metric dimensions
- fcbd997 chore: Reorder ilamb bundle
- 9e1944f fix: Add additional dimensions to the ESMValTool metrics
v0.5.4
v0.5.3
Changelog
Features
- Diagnostic's have been split into two phases, executing which generates any outputs and then building a result
object from the outputs.
This split makes it easier to make modifications to how the results are translated into the CMEC outputs. (#303)
Improvements
- Added automatic backup of SQLite database files before running migrations.
Backups are stored in abackups
directory adjacent to the database file and are named with timestamps.
The number of backups to retain can be configured via thedb.max_backups
setting in the database configuration,
with a default of 5 backups. (#301) - Update to v0.6.0 of the sample data. (#302)
- Add a smoke test for the Celery deployment (#304)
- Add tests that the pypi releases are installable (#306)
Improved Documentation
- Added page describing the required reference datasets (#298)
Changes
- 833c811 Bump version: 0.5.2 → 0.5.3
- efdd069 chore: Clean up docs
- 41d1119 chore: Add additional install targets for core
- ae8fd1e chore: Add a pull request dispatch
- c00fc48 feat: Add pypi install check
- f620eec chore: fill any missing weights with 0's
- a22cc7d docs: Changelog
- 1a1376d Reran all diagnostics
- 4c672fd chore: ilamb theata0 should work
- 774cd88 test: Remove duplicate tests in the pmp
- 45bc7eb test: Clean up the use of regression fixtures
- 3d39050 feat: Split out the execution and extraction of a result from an output folder
- 12902ef chore: Cleanup log messages
- 8542358 test: Improve test coverage
- 829b517 chore: Choose a different path
- 8256ac9 chore: fetch inside container
- 542cda2 chore: fetch inside container
- e36ebb9 chore: add uid and gid
- 61fb3a3 chore: add uid and gid
- f02f539 chore: Add more permissions
- 5b290cf chore: More debugging
- 06abe79 chore: Add read permission for all
- 2954b53 chore: Add log messages from failed parsing
- 7d1193b chore: Add another log guard
- c3a8067 chore: Add logging for testing
- dd7c2b9 feat: Add smoke test
- 3b2f130 chore: sort by instance_ids
- 786b6cb chore: Update sample data
- edd7467 test: Fix test
- a27e784 chore: Add some additional reference datasets
- 78180cd chore: Add default configuration value
- c54a533 chore: Reflow text correctly
- fb4b8ab feat: Add backups for the database
- 4f3f0ae chore: Fix reference
- afde65b docs: Changelog
- 6b3bb65 chore: Remove the obs4mips sample data
- 4b60b41 fix: Fix changing provider versions
v0.5.2
v0.5.1
Changelog
Features
- Added an ESMValTool metric to compute climatologies and zonal mean profiles of
cloud radiative effects. (#241) - Add additional dimensions to the metrics produced by PMP.
Addedclimate_ref_core.pycmec.metric.CMECMetric.prepend_dimensions
(#275) - Ensure that selectors are always alphabetically sorted (#276)
- Add data model for supporting series of metric values.
This allows diagnostic providers to supply a collection of [climate_ref_core.metric_values.SeriesMetricValue][]
extracted from an execution. (#278) - The default executor ([climate_ref.executor.LocalExecutor][]) uses a process pool to enable parallelism.
An alternative [climate_ref.executor.SynchronousExecutor][] is available for debugging purposes,
which runs tasks synchronously in the main thread. (#286)
Improvements
-
Bumps the ilamb3 version to now contain all analysis modules and reformats its CMEC output bundle. (#262)
-
Adds the ability to capture the output of an execution for regression testing. (#274)
-
Update to v0.5.1 of the sample data. (#279)
-
Update to v0.5.2 of the sample data. (#282)
-
Add a CITATION.cff to the repository to make it easier to cite. (#283)
-
Added the Assessment Fast Track-related services to the
docker-compose
stack alongside improved documentation for how to use the REF via docker containers. (#287) -
Added support for ingesting multiple directories at once.
This is useful for ingesting large datasets that are split into multiple directories or via glob patterns.
An example of this is importing the monthly and fx datasets from an archive of CMIP6 data:ref datasets ingest --source-type cmip6 path_to_archive/CMIP6/*/*/*/*/*/*mon path_to_archive/CMIP6/*/*/*/*/*/fx ``` ([#291](https://github.com/Climate-REF/climate-ref/pulls/291))
-
Update the default log level to INFO from WARNING.
Added the-q
option to decrease the log level to WARNING. (#292)
Bug Fixes
- Resolves an issue that was blocking some PMP executions from completing.
Any additional dimensions are now logged and ignored rather than causing the execution to fail. (#274) - Sets the environment variable
FI_PROVIDER=tcp
to use the TCP provider for libfabric (part of MPICH).
The defaults were causing MPICH errors on some systems (namely macOS).
This also removes the PMP provider's direct dependency on the source ofpcmdi_metric
. (#281) - Support the use of empty metric bundles (#284)
- Reworked the lifetimes of the database transactions during the solve process.
This is a fix for out of process executors where the transaction was not being committed until the end of a solve. (#288) - Requery an Execution from the database when handling the result from the LocalExecutor.
This ensures that the execution isn't stale and that the result is still valid. (#293)
Changes
- 19623f2 Bump version: 0.5.0 → 0.5.1
- 2f65e0e fix: bumpversion config
- 29940aa docs: Changelog
- 1de0960 chore: Add a level of indirection to log any errors
- 2fb7dc7 fix: Use the correct attribute
- d7d0641 chore: Try reduce the number of processes
- f4449da chore: Changelog
- 102faf1 fix: Pass around the id of the execution as this obj lives for longer than the transaction
- b33ade3 chore: Changelog
- 2f8d304 fix: Correctly initialise the logger within the process pool
- 4d7a8bb test: Add tests
- 26fbe69 docs: Changelog
- 59d693b chore: Revert back to the synchronous executor for now
- 39d0efe docs: Update README.md
- 1385aab test: Add a test for supporting multiple directories
- 8c14eab feat: Support globbed directories
- 648f832 docs: Changelog
- c28b861 chore: Update test
- 9d4865e docs: Add a join at the end of the execution nb
- 67565a7 test: Fix test failures
- 5258ecc refactor: Use a common execution function
- 966ea50 fix: Move the database session initialisation closer to the data processing
- 86a880a fix: Correct names
- a21a88a docs: Improve documentation
- 07aa0db feat: Use a single container with different commands
- f5434f1 chore: Remove secrets from action
- d10101c chore: Use a path
- 23a1ead chore: Use fqn for the docker containers
- d997664 chore: Build other containers
- 37d7c45 docs: Changelog
- 3075be9 chore: Increase coverage
- 8e84df0 docs: Fix docstrings
- 5d6ea49 chore: Remove loky dependency
- 9519b86 test: Add tests for the local executor
- fc10026 chore: Update docs with with the docs about the local executor
- 8d70586 feat: Add the diagnostic to the execution definition
- f050f39 chore: Add a synchronous executor
- 7efbd95 test: Improve coverage
- 0a0f2de docs: Changelog
- 1cbbf33 fix: Allow empty metric bundles
- 7555463 docs: Changelog
- 6a1666f chore: Add bump for the citation file
- afb9e62 feat: Add citation file
- aafdf95 feat: Add ILAMB regression outputs
- 7b56728 chore: Remove existing integration results
- 990230f chore: Fix coverage
- ed502fb docs: Changelog
- 94ec0e5 chore: Update sample data to v0.5.2
- af36022 docs: Changelog
- f914f98 chore: Remove the pcmdi dependency
- ea772d4 fix: Set the FI_PROVIDER environment variable
- f42d592 chore: Add appending coverages
- b7b8d31 chore: Support postgres enums
- b53f7bd chore: Fix missing dimension
- e12ab17 Add changelog
- b804c28 Bump sample data to v0.5.1
- 8bd357b Add regression test data
- 3b7c153 chore: Remove old migration for metric_value columns
- 6e4495e test: fix tests
- 10330c2 test: Ensure that run is correctly mocked
- 173330b docs: Changelog
- dab143b chore: Use scalar value model
- 098c086 chore: Add test for the database entries
- a510389 feat: Add typehints for the series metric values
- 579e39d chore: Fix last test
- 2c09e9f chore: Update cmec metric bundles
- 312101a revert: Roll back changing the data requirements for the modes of variability
- f79f2b9 oops
- 383e1e8 purge some name changes that I missed
- 7eb6933 chore: revert some changes to avoid to many changes in this PR
- 0ba1bfe test: Add tests for remove_dimensions
- b20586f test: Fix tests
- 110be1a fix: Add additional facets to variability modes
- 158b3ad fix: Add additional facets to annual_cycle
- 522cb33 chore: Remove excess dimensions and replace with selectors
- 642925a chore: Remove excess dimensions and replace with selectors
- 33ba5bc test: Add ilamb integration test
- 80b5944 feat: Add a prepend routine
- dc233de chore: Check that metric bundles have the correct dimensions
- f1a90b4 chore: Reorder functions
- 37db494 docs: Changelog
- d49a5e3 test: Add tests to assert ordering
- 37bbe04 chore: Unify variable naming
- 7ea3965 feat: Add selector_dict function
- 1f99ba3 chore: Relax assert rule
- 6cb1bf2 chore: Fix PMP tests
- b354fa3 docs: Update documentation
- f0a5c2b chore: Rerun ilamb diagnostics
- d894e0c chore: Add ESMValTool regression output
- b64fbe2 chore: Add ILAMB regression output
- 34cfbac feat: Add ilamb regression test
- 3e8c7b7 feat: Add PMP regression output
- 7cb39e0 added integration test
- 0f20948 removed a dataset we are not currently using
- 9fe70ac Sort variables
- 11bc0ff Small improvements
- 708d0c7 hopefully final bump to ilamb3
- 0ad375d remove line now handled internally by ilamb3
- 81bb9f8 Cleanup ilamb registry
- 7aac209 updates to the IOMB registry. Allow for alternate variables to be in the data requirement
- d67903a ilamb3 via pypi
- e69284a add changelog
- 1f22950 update configure
- 11eb17c bump ilamb3
- 6c40387 Add observational data
- f6e2ff8 Remove output bundle
- 01fd30e Add changelog entry
- b955596 Add test
- 2c513b1 Add an ESMValTool metric to compute climatologies and zonal mean profiles of cloud radiative effects
v0.5.0
Announcements
The packages have been renamed to remove the "cmip" moniker and the old packages have been marked as deprecated.
This marks the completion of the migration of the project name from cmip-ref
to climate-ref
.
Old Distribution Name | New Distribution Name |
---|---|
cmip_ref | climate-ref |
cmip_ref_core | climate-ref-core |
cmip_ref_celery | climate-ref-celery |
cmip_ref_metrics_esmvaltool | climate-ref-esmvaltool |
cmip_ref_metrics_ilamb | climate-ref-ilamb |
cmip_ref_metrics_pmp | climate-ref-pmp |
The cmip_ref_metrics_example
package is no longer being published on PyPI now that we have more complete examples of diagnostic providers.
The new REF package is now named climate-ref
.
This release included a heavy refactor of the package names and clarified the difference between a metric and a diagnostic.
This included changes to the database structure.
If you have an existing database, you will need to delete it and re-create it.
Changelog
Breaking Changes
-
Renamed packages to start with
climate_ref_
and removedmetrics
from the package name to avoid confusion.
This changes the root name of the PyPi packages fromcmip_ref
toclimate-ref
and will require updating yourrequirements.txt
,pyproject.toml
,setup.py
, or other dependency management files to listclimate-ref
instead ofcmip_ref
. (#270) -
Clarified the difference between a diagnostic and a metric.
This caused significant refactoring of names of classes and functions throughout the codebase,
as well as renaming of database tables.Package Old Name New Name climate_ref_core.diagnostics Metric Diagnostic climate_ref_core.diagnostics MetricExecutionDefinition ExecutionDefinition climate_ref_core.diagnostics MetricExecutionResult ExecutionResult climate_ref.models.execution MetricExecutionResultß Execution climate_ref.models.execution MetricExecutionGroup ExecutionGroup climate_ref.models.execution ResultOutput ExecutionOutput climate_ref_core.datasets MetricDataset ExecutionDatasetCollection climate_ref_core.solver MetricSolver ExecutionSolver climate_ref_core.providers MetricsProvider DiagnosticProvider climate_ref_core.providers CommandLineMetricsProvider CommandLineDiagnosticProvider climate_ref_core.providers CondaMetricsProvider CondaDiagnosticProvider climate_ref.config MetricsProviderConfig DiagnosticProviderConfig This removes any previous database migrations and replaces them with a new clean migration.
If you have an existing database, you will need to delete it and re-create it. (#271)
Changes
- 14c5fec Bump version: 0.4.1 → 0.5.0
- fa59b7c fix: Correctly name package to import for towncrier
- 95e18e5 fix: Add esmvaltool facets
- d962018 chore: Summaried the naming changes
- 1e61145 docs: Bump for CI
- 17ff058 chore: Add error message for old revisions
- 884dbdf docs: Update readmes
- 140efca fix: Add additional authors
- c695409 fix: Improve query for files
- ab955af fix: Simplify the dataset file tables
- 41f3674 chore: Fix docs again
- eff365b chore: Fix docs
- 586edae docs: changelog
- 3b950d7 refactor: Rename parameter in esmvaltool
- fe59006 refactor: More cleanup
- 135981b refactor: More cleanup
- 9a83d2d test: Fix tests after refactoring
- a803ee2 refactor: Keep cleaning up
- 000a2cf refactor: Differentiate between a metric and a diagnostic
- 77c1a58 chore: Fix tests
- e70e926 docs: changelog
- c8d357f chore: Update ruff
- f8c43e6 chore: Renaming folders
- 7711637 chore: Last refactoring
- 8b3ed54 chore: Update package names
- e32706f refactor: Rename packages to remove cmip_ moniker
v0.4.1
Announcements
This is a final release to ensure that the README's on PyPI redirect to the new package names
Changelog
Breaking Changes
- Removed unnecessary prefixes in the metric slugs.
This will cause duplicate results to be generated so we recommend starting with a clean REF installation. (#263)
Features
- Added PMP's annual cycle metrics (#221)
- Add a
facets
attribute to a metric.
This attribute is used to define the facets of the values that the metric produces. (#255) - Added a diagnostic to calculate climate variables at global warming levels. (#257)
- Support multiple sets of data requirements (#266)
Bug Fixes
- Retry downloads if they fail (#267)
- PMP annual cycle output JSON tranformed to be more comply with CMEC (#268)
Improved Documentation
- Add deprecation notices to PyPi package README's (#269)
Changes
- 546a7ba Bump version: 0.4.0 → 0.4.1
- c7b2601 chore: Add missing facets
- 0ed93b6 docs: changelog
- d8cc3b9 fix: Prefix
- ab13a76 add doc
- 8fbe64f docs: Add deprecation notice in package README's
- cf092f2 update
- 3587e29 update dimensions
- 17d9538 transform json to comply with CMEC check -- in particular for CalendarMonth
- 42c4334 chore: Update new metrics
- 7401864 update
- 787cd5c update dimensions
- d33c382 transform json to comply with CMEC check -- in particular for CalendarMonth
- 13c93fe update
- d6ec54f update dimensions
- 3ba2d4f transform json to comply with CMEC check -- in particular for CalendarMonth
- 9bb0293 docs: Add to notebook
- 2f7de4b docs: changelog
- 175e025 chore: retry downloads if they fail
- 531ffb2 test: Add tests for some edge cases
- c6411d4 test: Add a test where multiple metric executions are used
- 1ceddbc feat: Support multiple sets of data requirements
- dbf79dd added to dos comments
- 6b6f7e2 add more debug logger print
- 6170a22 clean up
- bb0b921 typo fix
- c3b7467 add unit tests for paths glob pattern detecting
- 6f2cd30 update
- ab00e10 enable when model files are multiple
- 5d4fc1c Update packages/ref-metrics-pmp/src/cmip_ref_metrics_pmp/annual_cycle.py
- 5c8d25e chore: Use assert_called_once_with
- e94b0e8 chore: Increase test coverage
- 7f4d96f chore: Add test coverage
- 97afe69 chore: Remove unused test
- 9969aa1 test: Add an integration test for the annual cycle
- 73ed07a pre-commit fix
- 73f9545 docs: changelog
- 0581eaa code style fix by running uv run ruff format
- 41f9fb6 clean up
- 3a3422b clean up
- 2678649 clean up
- e1c952b updated
- 6c73d48 update
- c3f6de0 chore: Check that metric bundles have the correct dimensions
- b8ad08f docs: changelog
- ef595cb test: Clean up missing reference
- 8008226 refactor: remove unneeded provider prefixes
- 94d2959 in progress
- 2c9a011 typo fix, clean up (remove development mode)
- 76285f3 ref data source type fixed
- e8fa467 clean up -- temporary code removed
- 157f232 update md5 and sha256 for pmp v3.9.1
- 3247626 Update conda-lock.yml
- 8f5ddd3 update pmp version
- c475b2e use PMPClimatology source data type
- 90e656e update pmp version
- 12a5c61 Add test
- 198a7bf Improve docstring
- e12589e Add changelog item
- 7fa9096 Add a diagnostic to compute climate variables at global warming levels
- 098c551 chore: Fix warning
- fffaca8 feat: Add a facets attribute to a metric to capture the dimensions that a metric value may have
- bffec0e update
- 5a79f92 add pmp_clims to datasets
- ced74c4 style fix
- 7796774 replace print to logger
- 3ffcfef update
- 5efc881 update
- d4cbb4e add changelog
- 1b66adf test
- 2111a0b in progress
- 63da556 update
- 213ae17 resolve conflict
- 49538d2 update
- 939f01b in progress
- cb5e106 rebase in progress
- a884ac7 rebase in progress
v0.4.0
Announcements
This release adds additional diagnostics from ESMValTool and PMP.
This release and the next few releases leading up to the beta release will introduce breaking changes to any existing databases, requiring a fresh start by deleting any existing databases. Otherwise, duplicate executions may appear.
Changelog
Breaking Changes
- Removed
cmip_ref.solver.MetricSolver.solve_metric_executions
in preference for a standalone functioncmip_ref.solver.solve_metric_executions
with identical functionality. (#229) - Updated the algorithm to generate the unique identifier for a Metric Execution Group.
This will cause duplicate entries in the database if the old identifier was used.
We recommend removing your existing database and starting fresh. (#233) - Removed the implicit treatment of the deepest dimension. The change will cause a validation error if the deepest dimension in the
RESULTS
is a dictionary. (#246) - Ensure that the order of the source dataset types in the MetricExecutionGroup dataset key are stable (#248)
Deprecations
- Removes support for Python 3.10.
The minimum and default supported Python version is now 3.11. (#226)
Features
- Add the basic framework for enforcing a controlled vocabulary
for the results in a CMEC metrics bundle.
This is still in the prototype stage
and is not yet integrated into post-metric execution processing. (#183) - Scalar values from the metrics are now stored in the database
if they pass validation.
The controlled vocabulary for these metrics is still under development. (#185) - Added Zero Emission Commitment (ZEC) metric to the ESMValTool metrics package. (#204)
- Added Transient Climate Response to Cumulative CO2 Emissions (TCRE) metric to the ESMValTool metrics package. (#208)
- Add
ref datasets fetch-obs4ref-data
CLI command to fetch datasets that are in the process of being published to obs4MIPs and are appropriately licensed for use within the REF.
The CLI command fetches the datasets and writes them to a local directory.
These datasets can then be ingested into the REF as obs4MIPs datasets. (#219) - Enabled metric providers to register registries of datasets for download.
This unifies the fetching of datasets across the REF via theref datasets fetch-data
CLI command.
Added registries for the datasets that haven't been published to obs4MIPs yet (obs4REF
) as well as PMP annual cycle datasets. (#227) - Capture log output for each execution and display via
ref executions inspect
. (#232) - Added the option to install development versions of metrics packages. (#236)
- Added seasonal cycle and time series of sea ice area metrics. (#239)
- The unique group identifiers for a MetricExecutionGroup are now tracked in the database. These values are used for presentation. (#248)
- Added a new dataset source type to track PMP climatology data (#253)
Improvements
- Refactored
MetricSolver.solve_metric_executions
to be a standalone function for easier testing.
Also added some additional integration tests for the Extratropical Modes of Variability metric from PMP. (#229) - The configuration paths are now all resolved to absolute paths (#230)
- Verified support for PostgreSQL database backends (#231)
- Updated the ESMValTool metric and output bundles. (#235)
- Update to v0.5.0 of the sample data (#264)
Bug Fixes
- Relax some of the requirements for the availability of metadata in CMIP6 datasets. (#245)
- Added a missing migration and tests to ensure that the migration are up to date. (#247)
- Fixed how the path to ESMValTool outputs was determined,
and added support for outputs in nested directories. (#250) - Marked failing tests as xfail as a temporary solution. (#259)
- Fetch ESMValTool reference data in the integration test suite (#265)
Improved Documentation
- Now following SPEC-0000 for dependency support windows.
Support for Python versions will be dropped after 3 years and support for key scientific libraries will be dropped after 2 years. (#226) - Migrate from the use of ‘AR7 Fast Track’ to ‘Assessment Fast Track’ in response to the CMIP Panel decision to change the name of the CMIP7 fast track. (#251)
Trivial/Internal Changes
Changes
- be5b200 Bump version: 0.3.1 → 0.4.0
- 3751a47 chore: changelog
- fc9ac91 chore: Fix failing test by ignoring PMP output
- d10a8af chore: Add esmvaltool data to the CI test
- aa14afb chore: Fix newly named file
- 971297c chore: Bump to v0.5.0 of the sample data
- 96f00bb docs: changelog
- 8a77789 chore: Bump to the latest version of the catalog
- 471adea chore: Update to v0.4.6 of the sample data
- f539628 Add changelog
- e826123 xfail broken tests
- d8f6d6d minor fix to satisfy pre-commit
- ca675c9 add changelog
- 40dad24 Add tests
- 3e5865c Add download progress bar and configure ESMValTool data paths automatically
- c0be9e4 docs: changelog
- 4f0b59b fix: Make things more consistent
- d451e91 fix: Rename the pmp annual cycle to match the tables
- 483cffb feat: Add a type hint for files
- 23addde refactor: Moved common functionality to base class
- b6a5dcb Add OBS data
- 1c91f9e Add sea ice area seasonal cycle and timeseries diagnostic
- 28c6ec6 chore: Add db migration
- 2341ad3 loose the rule of identical keys in deepest dimension and add more tests
- 507223f chore: Fix up integration test
- a454b8e feat: Add pmp climatology source dataset
- 27a54f6 docs: Ensure all packages have docstrings
- 8effce2 test: Add test for redirect_logs without an app handler
- ab0a27f chore: Ensure that the output directory is always an absolute path
- 676ae53 chore: Create directory before running
- 0328c38 chore: Only remove/add the app logger if it has previously been configured
- 4cff3c9 fix: Add missing directory
- 35e2692 docs: changelog
- c9ff17b docs: Update docs from ‘AR7 Fast Track’ to ‘Assessment Fast Track’.
- 42f973c fix: Add missing directory
- b6a5d3a docs: changelog
- b18f133 fix: Fix relative path in esmvaltool
- ca64055 chore: regen regression tests
- 00b5475 Update packages/ref/src/cmip_ref/models/metric_execution.py
- 20c773b chore: regen regression tests
- a1a00b1 chore: Replace migrations
- 464d3e9 chore: changelog
- 308047a fix: Fix test
- 4ad10d4 feat: Add helper utilities for fetching metrics
- c4037d0 feat: Add a selector column in the db to track any group selectors
- 9ea8886 chore: Ensure that the columns aren't included in any autogenerated revisions
- 07318e8 chore: Fix postgres test
- 2fb0fa3 minor fixes and make example and ilamb meet the pycmec changes
- ceb8cde docs: changelog
- f8bbe86 chore: Undo adding a database cli
- 0269a8c fix: Add a missing migration
- 789adb5 fix: Allow alembic commands to be used
- 1e3e9cc docs: Fix trailing sentence
- 3a556f6 remove implicit treatment of the deepest dimension and validate it explicitly
- 9ebecf6 chore: Add migrations
- a545f3f fix: Mark some CMIP6 dimensions as nullable
- c952c53 chore: Add reserved dimension names that would conflict with the existing db names
- 85f7f9e docs: Updated changelog
- 37cc98b test: Add some additional test coverage
- 31e66b3 fix: Typo in filename
- b176901 docs: Mention downloading the reference and sample data for modelling centers
- aa92908 refactor: Rename to DatasetRegistryManager
- 867b0ca test: Rework the cli tests
- 56b5e7d test: Add tests for the dataset registry
- 729bcd2 fix: Rename ilamb data registry
- 288e95f chore: rename registry
- a98ba5c feat: Make it more plugin orientated
- e8efe0e fix: Hotfix for integration test
- fb4c4e8 docs: Fix incorrect crossref
- b5fccce chore: changelog
- 8514e42 Add test
- 30cfb4b Update tests
- cc5afab docs: Changelog
- ace27ab chore: Add script to autogenerate some test metric values
- a10c702 Add changelog
- 6ba9b06 Update ESMValTool metric and output bundles
- cc9980b chore: Pass the REF config to the migration script
- f98b6c2 feat: Auto-register the CVs when creating a new Database
- 6fa8872 Add changelog
- 440e2d9 Undo unnessary change
- 3854711 Improve reproducibility
- 7b304fa Remove command line option
- 7d7967a Add option to insta...