What’s new#
v0.10.4 (29 May 2026)#
Maintenance release.
Internal Changes#
v0.10.3 (05 March 2026)#
Maintenance release.
Internal Changes#
v0.10.2 (18 September 2025)#
This release changes default compression options in cordex.cmor to {"shuffle": True, "deflate": True, "deflate_level": 1} to be
compliant with the CORDEX-CMIP6 archive specs. If you need to set the former options, use cordex.cmor.set_options(compression={"shuffle": False, "deflate": True, "deflate_level": 1}).
Internal Changes#
v0.10.1 (02 June 2025)#
Bugfix release.
Internal Changes#
Bugfixes#
Fix coordinate switch in cmor grid mappings (#335).
v0.10.0 (30 May 2025)#
This release introduces new cmorization features in cmor.cmorize_variable() that allow for more generic grid mappings.
New function rewrite_coords() that rewrites coordinates (X and Y axes and transformed coordinates) in a dataset to correct
rounding errors. This version drops python3.8 support.
New Features#
Updates
cmor.cmorize_variable()to handle more generic grid mappings, also added WRF example with lamber conformal grid (#328).New function
rewrite_coords()(#306, #307). The function is also available as accessor function.
Internal Changes#
Fix coordinate bounds attribute in
transform_bounds()(#314).
Bugfixes#
Breaking Changes#
Drop python3.8 support (#306).
Deprecations#
preprocessing.replace_coords()is deprecated in favour ofrewrite_coords().
v0.9.0 (18 November 2024)#
This release mainly updates the cmor module and allows to cmorize for non-standard CORDEX domains. Some updates are introduced so that variables attributes can be used to control calls to the cmor_variable API.
A new function derotate_vector() to derotate vector components has also been introduced.
New Features#
Variables attributes are recognized for cmorization in
cmor.cmorize_variable()(#282).New function
derotate_vector()to transform vector components from rotated coordinate systems (#264).
Internal Changes#
Update grid rewriting in
cmor.cmorize_variable()(#276) to allow for non registered domains.Added internal tolerance to domain cropping during cmorization (#262).
Bugfixes#
Fixed deprecated
xarraykeywords (#273).
v0.8.0 (27 June 2024)#
This version introduces domain() which should tighten the API call in the future.
The cmor module was also updated to make more usage of cf_xarray and allow handling
of a Z-axis.
Note
This version introduces domain() which is equivalent to the former
cordex_domain function. Both API calls are available, however, future
improvements might only be done on the new domain API and it is
recommended to use domain() in the future.
New Features#
Cmor function
cmor.cmorize_variable()can now handle 3D fields if a Z-axis is available (#230, #258).
Internal Changes#
Removed
nbspinx_linkdependency from documentation (#256).Added
domain()which is equivalent to earliercordex_domain(#254).Changed
CORDEX_domainkeyword todomain_idincmor.cmorize_variable(), added deprecation warning (#252).Pin
pint!=0.24due to breaking changes that affectcf_xarray(#249).
v0.7.1 (4 June 2024)#
Patch release.
Bugfixes#
Fix cmor time axis issue (#236).
v0.7.0 (25 February 2024)#
This release introduces the cell_area() function and adds the cell_area keyword in cordex_domain(). Includes internal updates for CORDEX-CMIP6 cmorization.
New Features#
Added
cell_area()which computes the cell area of a regular grid, e.g., the cell area in the rotated coordinates of a CORDEX dataset (#230).New keyword
cell_areaincordex_domain()which will add a cell area coordinate (#230).
Internal Changes#
Bugfixes#
Fix
Dataset.cx.map()for the southern hemisphere (#231).Fix
floxmethod in cmor module (#197).
v0.6.6 (9 November 2023)#
Patch release that fixes installation and cmor issues.
Bugfixes#
Fix
packagesargument insetup.cfg(#192).Fixed empty mapping_table argument in
cmor.cmorize_variable()(#187).
v0.6.5 (26 October 2023)#
Patch release to update the CI and cmor module.
Internal Changes#
Bugfixes#
Fixed dataset table input argument (when of type
dict) incmor.cmorize_variable()(#183).
v0.6.4 (4 October 2023)#
Patch release to fix cmor related dependencies.
Internal Changes#
Pinned
xarray!=2023.9.0due to this issue (#174).
v0.6.3 (17 August 2023)#
Patch release to update pre-commit configuration and fix rtd issues.
Internal Changes#
v0.6.2 (17 July 2023)#
Patch releasee to support searching indexes in alternative domain tables.
Internal Changes#
Support for searching indexes in alternative domain tables (#157).
v0.6.1 (17 July 2023)#
Patch release to update location of domain_id in domain_tables.
Bugfixes#
Updated location of domain_id in domain_tables (#154).
v0.6.0 (11 July 2023)#
This releases prepares for CORDEX-CMIP6 vocabulary and introduces the mip_era keyword in the main API. There has also been
some refactoring to simplify table fetching and the domain table repository has been updated and moved to the
WCRP CORDEX github table repository.
Note that you might have to clean up your ~/.py-cordex caching directory to retrieve the new table.
New Features#
Added
Dataset.cx.map()for plotting quick map overviews of CORDEX domains.
Internal Changes#
Support for upcoming CORDEX-CMIP6 vocabulary. This includes the new keyword mip_era in
cordex_domain()andcreate_dataset()(#129).Updated domain table fetching. There is now only one table that contains all domain definitions which is now located in the WCRP CORDEX github table repository . This table allows for selection by different naming conventions for the domain identifier, e.g.,
EUR-12is equivilant toEUR-11, etc., sell also this issue (#140).Slight refactoring of
transform_bounds()to make it work for arbitrary transformations (#146).
Breaking Changes#
The keyword name for the CORDEX domain identifier has changed from
short_nametodomain_id, e.g., incordex_domain()ordomain_info(). If you have explicitly set this keyword, e.g.,short_name="EUR-11", please change this todomain_id="EUR-11". This will be more consistent with the attribues in the updated domain tables.Default branch is now
maininstead ofmaster.
Deprecations#
Documentation#
v0.5.2 (5 April 2023)#
This is a patch release to make cmorization run with the latest xarray version. Also some warnings and performance issues with cmorization are fixed.
Internal Changes#
Bugfixes#
v0.5.1 (2 March 2023)#
Patch release to update pypi dependencies and fix setup meta data.
v0.5.0 (2 March 2023)#
This release introduces a cmorization workflow using cmor.cmorize_variable() and deprecates some code depending on cartopy.
There has also been a lot of refactoring since py-cordex now makes extensive use of cf-xarray
to make cmorization as easy as possible.
This release is used for developing and testing the new CORDEX cmor tables
for downscaling CMIP6 global model runs. Since the new archive specifications for CORDEX are not fixed yet, the API will probably change in the future.
For some examples of cmorization, please visit the CORDEX cmorization examples notebook in the cmor table repository. This version also drops python3.7 support.
New Features#
Cmorization module from
pyremo.cmorhas been moved upstream intocordex.cmor. A new cmorization funcioncmor.cmorize_variable()now allows for easy cmorization using the archive specifications included inpy-cordex(#68, #74, #76, #77, #78, #92).Added
transform(),transform_coords()andtransform_bounds()in favour of deprecatedmap_crs(),rotated_coord_transform()andvertices(). Droppedcartopydependency in favour ofpyproj(#71, #102).
Breaking Changes#
The standard cmor tables are now fetched from the development repository (#116).
nanvalues in domain tables are replace withNone. That means in case you retrive domain information withdomain_info()for a regular grid,pollonandpollatwill now beNoneinstead ofnan(#107, #105).
Deprecations#
add_verticeskeyword is deprecated in favour ofboundskeyword incordex_domain()andcreate_dataset(). Note that the 2D longitude and latitude bounds (lon_vertices,lat_vertices) will now appear as coordinates in the domain dataset by default and not as data variables (#101).map_crs()androtated_coord_transform()are deprecated and will be removed in the future (#71).vertices()is deprecated, please usetransform_bounds()instead (#102).tables.cmip6_cmor_table()is deprecated in favour oftables.cordex_cmor_table()(#117).
Internal Changes#
Updated CI pipeline (#83).
Refactored transformation functions (#71).
Pinned
pyproj>=3.3.0andcf_xarray>=0.8.0(Dropped python 3.7 support).Moved core modules (#87).
Added
CITATION.cff(#87).Updated documentation environment for python 3.10 (#89).
Use
cf-xarrayfor adding bounds to regular datasets (#101).
v0.4.1 (23 June 2022)#
Patch release to fix coordinate precisions, also includes some maintenance updates.
Internal Changes#
Bug Fixes#
Fixed rounding errors for grid coordinates (#61). This might have some influence on results, since coordinate values might change to more exact values.
v0.4.0 (29 April 2022)#
This version introduces CORDEX regular grids, they are denoted with an i in the end, e.g., EUR-11i. The cmor tables have also been
updated to allow for a preliminary cmorization of CORDEX data using CMIP6 cmor tables. However, this is still only used for
development since there is no official data request yet for downscaling CMIP6 models. There are also some internal changes,
mainly to improve code quality for easier contributions.
New Features#
Internal Changes#
Updated documentation including contribution guide, switch to
sphinx-book-theme(#57).Introduced
linting.yamltest andpre-commithook (#56).Updated external resource from pooch to ignore hashes and use main branch from tables repository (#53). This should protect earlier version from breaking if the tables change.
Changed
poochresource for CMOR table fetching. The test workflow now uses original CMIP6 cmor tables in a combination with an updated controlled vocabulary for CORDEX_CV.json. Because there are no official CORDEX CMIP6 CMOR tables yet, we ignore hash checking for now. This will change in the future (#55).
Breaking Changes#
v0.3.2 (30 March 2022)#
Patch release to fix vertices issues, imports and dependencies. Also includes python3.10 support.
Internal Changes#
Breaking Changes#
v0.3.1 (24 February 2022)#
Patch release to fix dependencies when py-cordex is installed with pip.
Bug Fixes#
Added cftime to pip dependencies.
v0.3.0 (12 January 2022)#
This release introduces the cmorization and preprocessing modules. We outsourced some more code that was REMO dependent to be more useful for CORDEX datasets in general. The CORDEX tables are not available for CMIP6 yet, so the tables are only useful for the development of a cmorization workflow. The peprocessing module aims at overcoming CF related inconsistencies in ESGF CORDEX datasets.
New Features#
Included experiment cmor table resource for development (#27).
Included basic utitilities to compute time bounds (#28).
Added
add_verticesoption tocx.cordex_domain(#32).Preprocessing module for working with CORDEX ensembles (#35, #36).
Tutorial module for loading simple CORDEX test datasets (#35).
Internal Changes#
Coverage is ignored for unused modules (#29).
v0.2.1 (1 November 2021)#
Small bugfix release that updates the path to download germany shapefiles (#24). Also fixed coordinate attribute issues (#25) and added a test.
v0.2.0 (28 October 2021)#
This is a new restructuring release, that cleanded a lot of things and includes much more documentation and example notebooks. All meta information is removed and accessed online. This version should be more open for contributions!
New Features#
Included new sub regions (germany and prudence) for masking and analysis.
Included function
map_crsfor coordinate transformations using cartopy.
Internal Changes#
v0.1.2 (3 June 2021)#
This is a major restructuring release. The code base has been reduced significantly and the main data structure are now xarray’s datarrays. Several new domains have been added.