Recent Releases of clisops
clisops - v0.17.0
New Features
- Added an
engineargument toGrid.ds.to_netcdf()to allow users to specify the engine used for writing NetCDF files (#439). - Coding conventions have been updated to use Python 3.10+ features (#439).
Weightswill now usepost_mask_source='domain_edge'introduced inxesmfversion 0.9 when remapping a regional grid via nearest-neighbour to avoid extrapolation beyond the source domain (#447).- Added
Grid.extent_lonandGrid.extent_latattributes to expose longitude- and latitude-specific extents (#447).
Bug Fixes
- Fixed support for
kerchunkwiths3. Pinnedzarr >=2.13.0,<3.0(#429). - Lift pin on
xarraythat was previously due to incompatibilities withxesmf.xarray>=2025.1.1now required for general usage andxarray>=2025.6.0forregridoperations (#437). - Non-
numpydocdocstrings in the codebase have been converted to thenumpydocformat (#439). - Fixed issue with dask: "NotImplementedError: item is not yet a valid method on dask arrays" (#451).
- Added
fix_netcdf_attrs_encoding()and_fix_str_encoding()inoutput_utilsto correct UTF-8 encoding issues in global and variable attributes (#447). - Fixed
Grid._grid_from_ds_adaptivefor regional grids crossing the meridian or antimeridian (#447). - Fixed
Grid.to_netcdf()so thatds.encoding['unlimited_dims']is correctly updated when writing horizontal-grid-only datasets (#447). - Corrected
xarrayversion-compatibility warnings incore/regrid.py(#447).
Breaking Changes
- Support for Python 3.10 has been dropped.
numpy >=1.26is the new minimum supported version (#469). Grid.detect_extent()now returns a tuple(lon_extent, lat_extent)instead of onlylon_extent(#447).Grid.extentnow represents the combined lon/lat extent:"global"if both are global; otherwise"regional". The newGrid.extent_lonandGrid.extent_latattributes provide axis-specific extent information (#447).
Other Changes
- Added a
suppress_main_variable_warningoption toget_coord_by_type()for cases where no main variable can be uniquely identified (#447). - Updated
require_module()to support intervals of unsupported versions (#447).
Internal Changes
toxand Makefile configuration for testing docs has been adjusted to ensure that builds do not rely on opening a browser window (#437).step-security/harden-runnerAction is now configured to audit connections to the GitHub API and other services (#434).- Output utilities tests have been modified to no longer create files in the current working directory, but rather in a temporary directory. (#434).
blackandisortas well as most linting checks performed byflake8have been replaced byrufffor code formatting and linting (#439).pre-commithooks have been updated to userufffor code formatting and linting, as well as a few others (#439).- Addressed a few
RuntimeWarningmessages emitted by the test suite (#463). - Adjusted the CI workflows to not use Python 3.14 (due to incompatibilities with some dependencies) (#463).
- Fixed and updated
regrid.ipynband removed dependency onpsymaps/psyplot(#447). - Expanded and updated tests, including restoring tests previously skipped or xfailed with
engine="h5netcdf"(#447).
Climate Change - Climate Data Processing and Analysis
- Python
Published by github-actions[bot] 2 months ago
clisops - v0.16.1
This is a patch fix release to explicitly drop Python 3.9 support in the metadata due to incompatibility with xarray. For release notes on this minor version, see https://github.com/roocs/clisops/releases/tag/v0.16.0.
Bug Fixes
- Dropped Python3.9 support in metadata due to incompatibility with
xarray(#408).
Internal Changes
- Fixed an issue with the
toxconfiguration that was causing thepy3.10environment to use the wrong Python version (#408).
Climate Change - Climate Data Processing and Analysis
- Python
Published by Zeitsperre 11 months ago
clisops - v0.16.0
New Features
clisopsnow officially supports Python 3.13 (#398).- Version limitations have been lifted on
xarrayandnumpyto support newer versions (#398).- Mark regrid tests as
xfailwhich do not pass due to latest xarray version (#397).
- Mark regrid tests as
Bug Fixes
clisops.utils.dataset_utils- Fixed
is_timeto avoid memory overload (#397).
- Fixed
Internal Changes
- Pinned a few docs-related dependencies to compatible versions. Added
sphinx-autodoc-typehints,sphinx-codeautolink, andsphinx-copybuttonto the docs dependencies (#396). - The
LICENSEfile has been adjusted to ensure it is more machine-parsable (#398). - Licensing information has been added to the top-level
__init__.pyfile of the package (#398). - The
README.rstfile has been updated to include a table of relevant badges (#398). - All calls using
use_cftime=Truehave been updated todecode_times=xr.coders.CFDatetimeCoder(use_cftime=True)as suggested byxarray(#398).
CI Changes
- Added a workflow for uploading preview releases to TestPyPI (#374).
- GitHub Workflows now make more use of
step-security/harden-runnerAction for security hardening (#398). - Python libraries used for CI are now listed in
CI/requirements_ci.inand pinned by their hashes inCI/requirements_ci.txt(#398). - Coverage reporting now uses the
coverallsapp/github-actionAction. Conda builds now also report coverage to Coveralls (#398).
Climate Change - Climate Data Processing and Analysis
- Python
Published by github-actions[bot] 11 months ago
clisops - v0.15.0
New Features
- The functionality of the
roocs-utilslibrary has been folded intoclisops.roocs-utilsis no longer a dependency ofclisops(#368, #370). - The
CONFIGsettings have been updated to reflect the changes inroocs-utilsand those required inclisops(#370). - Several development tooling libraries have been updated to their latest versions (#368).
Other Changes
- The
pytesttesting suite has been updated to reflect the changes in theroocs-utilslibrary and the newclisopsconfiguration settings (#368, #370):- Tests previously found in
roocs-utilshave migrated toclisops. xclim.testing.utils.open_dataset()has been deprecated in favour ofxclim.testing.utils.nimbus().fetch().
- Tests previously found in
Climate Change - Climate Data Processing and Analysis
- Python
Published by github-actions[bot] about 1 year ago
clisops - v0.14.1
New Features
- Added new methods to
clisops.core.regrid.Grid- Added possibility to apply land or ocean mask if present in the file
- Adapted method from
ESMFto detect smashed cells - Masking degenerate (i.e. collapsed and smashed) cells
- Dropping lat/lon bounds if an integrity check fails
- Added a few attributes to the
Gridobject
clisops.ops.regrid: added option to request a land/sea mask for the output gridclisops.utils.dataset_utils- Added function
determine_lon_lat_rangeto determine the min. and max. lat and lon values - Added function
fix_unmasked_missing_values_lon_latto identify and mask yet unmasked missing values in lat and lon arrays - Added
forceparameter tocf_convert_between_lon_frames
- Added function
Bug Fixes
clisops.utils.dataset_utils- Fixed issue in
cf_convert_between_lon_framescausing the longitude frame to not be adjusted in case of NaNs in the longitude array - Addressed issues in
generate_bounds_curvilinear- latitudes are now clipped above 90 or below -90 degrees north
- longitudes are converted to longitude frame -180, 180
- longitude bounds are adjusted at the Greenwich meridian or anti meridian to avoid grid cells wrapping once or more times around the globe
- Bounds are generated significantly faster due to making use of index slicing and
numpy.vectorize
- Fixed issue in
Breaking Changes
- Adapted functions from
roocs_utils.xarray_utils.xarray_utilsintoclisops.utils.dataset_utilsget_coord_by_typenow returns the name of the coordinate variable and not the coordinate variableget_coord_by_typeoptionally returns a list with further matches for the coordinate variableget_coord_by_typedoes no longer raise an exception when more than one coordinate variable matches the requested typeget_coord_by_typeraisesValueErrorinstead ofExceptionwhen the coordinate type is unknowndetect_coordinateraisesKeyErrorinstead ofAttributeErrorif no coordinate could be detecteddetect_gridtyperaisesValueErrorfor unsupported grid types rather thanInvalidParameterValueandException
clisops.core.regridGrid.detect_coordinate: raisesKeyErrorinstead ofAttributeErrorif no coordinate could be detected
clisops.ops.regridRegrid._calculate: issuesUserWarninginstead of lettingclisops.core.Weights.__init__raise anExceptionwhen input and output grid are alike
Other Changes
- The testing suite has been refactored to make better use of context handlers when opening files with
xarray, preventing synonymous read errors and improving the overall performance of the tests. - Several tests that were failing due to significantly long runtimes have been marked as
slowand are now skipped by default. - GitHub Workflows now use a timeout of 20 minutes for the build suite to prevent hanging builds.
Climate Change - Climate Data Processing and Analysis
- Python
Published by Zeitsperre over 1 year ago
clisops - v0.14.0
New Features
clisopsnow makes use ofpytest-xdistfor parallel testing. This can be enabled using--numprocesses={int}. See thepytest-xdist documentation <https://pytest-xdist.readthedocs.io/en/latest/>_ for more information (#345).- Testing data caching is now handled by
poochand testing data registries ('stratus' forroocs/mini-esgf-dataand 'nimbus' forOuranosinc/xclim-testdata) (#345). clisopscoding conventions now use Python 3.9+ conventions (#345).
Breaking Changes
clisopshas dropped support for Python 3.8 (#345).- Several dependencies have been updated to include lower bounds for clearer compatibility and easier maintenance (#345, #XYZ).
- The affected core dependencies are:
dask >=2023.6.0,filelock >=3.15.4,geopandas >=0.14.0,jinja2 >=2.11,numpy >=1.23.0,packaging >=23.2,pandas >=1.5.0,pooch >=1.8.0,scipy >=1.9.0, andxarray >=2022.6.0. - Extra dependencies are
ipython >=8.5.0,matplotlib >=3.6.0,nbconvert >=7.14.0,nbsphinx >=0.9.5,pre-commit >=3.5.0, andsphinx >=7.0.0.
- The affected core dependencies are:
clisopsno longer requiresgitpython >=3.1.30andrequests >=2.0(#345).- The development dependencies have been updated to include
deptry >=0.20.0andpytest-xdist[psutil] >=3.2(#345). netCDF4has been moved from core dependency to development dependency (#345).
Other Changes
clisops.utils.testinghas replacedclisops.utils.tutorial. This submodule contains several functions and variables for allowing user control over testing data fetching (#345).- The
_commontesting tools have been migrated toclisops.utils.testingor rewritten aspytestfixtures (#345). - Testing data fetching now uses worker threads to copy cached data to threadsafe data caches that are separated by worker (#345).
Climate Change - Climate Data Processing and Analysis
- Python
Published by github-actions[bot] over 1 year ago
clisops - v0.13.1
Bug Fixes
- Changed the order of operations in
clisops.core.subset.subset_shapeto ensure that the CRS of the shapefile is compatible with the dataset CRS before attempting to subset (#340).
Breaking Changes
- Anaconda builds now require
cartopy >=0.23and only support Python 3.9 and above (#340). - Many dependency version pins now include lower bounds for clearer compatibility and easier maintenance (#343).
Other Changes
- Internal warnings now consistently use the
clisopsconfiguredlogurulogger (#335). - CI Actions now use the commit hashes for version tracking (#343).
Climate Change - Climate Data Processing and Analysis
- Python
Published by Zeitsperre over 1 year ago
clisops - v0.13.0
New Features
clisopsnow officially supports Python 3.12 (#330).
Bug Fixes
- Fixed standard file-namer fallback method (#318).
- Fixed
KeyErrorfor temporal subsetting by components if not all components can be found in the dataset (#316). - Raising
KeyErrorfor temporal subsetting by components when no time steps match the selection criteria (#316). - Coordinate detection for remapping operator via standard_name if detection via
cf-xarrayfails / is ambiguous (#316). - Remove encoding settings with regards to compression for string variables to avoid netCDF write errors with newer
netcdf-clibrary versions (>4.9.0) (#319). - Fixed a few docstrings, specifies some class methods as static methods (#321).
- Renamed a few internal variables for clarity, rephrased a few sentences for grammar/spelling (#321).
- Fixed a bug related to the creation of the
weights_dirfor regridding that was causing issues for Windows platforms (#313).
Other Changes
- The compression level is capped at 1 to reduce write times (#319).
- Updated
pre-commithooks, pinned linting tools to their pre-commit equivalents (#321). - Added a pre-commit hook as well as a configuration for
codespell(#321). - Added
dependabotto maintain package and GitHub Action versions (#322). - The
require_moduledecorator can now accept supported version information (#321). - Testing data caching now uses platformdirs to determine the OS-appropriate caching location (#321).
- Updated
blackin linting tools to v24.2.0 (#330). - Changes some print calls into logging calls in the tests (#330).
- A warning is now emitted on
clisopsimport if the installedxesmfis too old (#330). - Replaced
styfle/cancel-workflow-actionwith GitHub Workflow concurrency settings (#330).
Climate Change - Climate Data Processing and Analysis
- Python
Published by github-actions[bot] about 2 years ago
clisops - v0.12.2
What's Changed
- Regridding: handling of zonal mean datasets and datasets with shifted longitude frame by @sol1105 in https://github.com/roocs/clisops/pull/313
- Add core/average.py/average_shape to ops/average.py by @charlesgauthier-udm in https://github.com/roocs/clisops/pull/312
- [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci in https://github.com/roocs/clisops/pull/315
- Prepare v0.12.2 by @Zeitsperre in https://github.com/roocs/clisops/pull/314
New Contributors
- @charlesgauthier-udm made their first contribution in https://github.com/roocs/clisops/pull/312
Full Changelog: https://github.com/roocs/clisops/compare/v0.12.1...v0.12.2
Climate Change - Climate Data Processing and Analysis
- Python
Published by Zeitsperre about 2 years ago
clisops - v0.12.1
What's Changed
- Pin xarray for xesmf-based regridding by @Zeitsperre in https://github.com/roocs/clisops/pull/310
- Fix issue 308 fillvalue by @cehbrecht in https://github.com/roocs/clisops/pull/309
- prepare patch release 0.12.1 by @cehbrecht in https://github.com/roocs/clisops/pull/311
Full Changelog: https://github.com/roocs/clisops/compare/v0.12.0...v0.12.1
Climate Change - Climate Data Processing and Analysis
- Python
Published by Zeitsperre about 2 years ago
clisops - Release v0.12.0
New Features
clisops.ops.regrid,clisops.core.regrid,clisops.core.Weightsandclisops.core.Gridadded (#243). Allowing the remapping of geospatial data on various grids by applying thexESMF <https://pangeo-xesmf.readthedocs.io/en/latest/>_ regridder.
Bug Fixes
- Calling
subset_shape()with alocstream case(#288) returned all coordinates insideinner_maskwhich is equivalent to the bounding box of the polygon, not the area inside the polygon. Fixed by defining theinner_maskinsubset_shape()for the locstream case. (#292).
Other Changes
- Extending the removal of redundant _FillValue attributes to all data variables and coordinates (#243).
- Extending the removal of redundant coordinates in the coordinates variable attribute from bounds to all data variables (#243).
- GitHub Workflows for upstream dependencies are now examined a schedule or via
workflow_dispatch(#243). blacksteps are now calledlintfor clarity/inclusiveness of other linting hooks. (#243).- pre-commit hooks now include checks for TOML files, and for ReadTheDocs and GitHub Actions configuration files. (#243).
- pre-commit hooks now include sorting of TOML file sections and running
blackon docstring Python examples. (#306). clisopsnow uses GitHub Actions with environments for handling deployment via Trusted Publishing. (#306).- Documentation has been updated to reflect the new GitHub Actions CI/CD workflow. (#306).
bump2versionhas been replaced withbump-my-versionfor handling versioning. (#306).
Climate Change - Climate Data Processing and Analysis
- Python
Published by github-actions[bot] about 2 years ago
clisops - v0.11.0
New Features
clisopshas adoptedPEP 517 <https://peps.python.org/pep-0517/>_ andPEP 621 <https://peps.python.org/pep-0621/>_ and now usespyproject.tomlfiles (using theflitbackend) for package configuration. (#296).- Metadata has been modified to reflect current development status and scope of CLISOPS. (#296).
- New file (
requirements_upstream.txt) and Makefile recipe ("$ make upstream") for tracking and easily installing upstream dependencies. (#296).
Bug Fixes
- The
testsfolder has been flattened and namespace files haves been removed in order to preventpipfrom recognizing the folder as its own package. (#296). - The contribution guidelines were duplicated in two locations and contained conflicting information. The guidelines have now been consolidated into a single location and updated to reflect package changes. (#296).
Other Changes
- GitHub Workflows for pure Python builds now use
tox(4.0) to run tests. (#296). - GitHub Workflows for conda builds now test
clisopsusing themamba-org/setup-micromambaaction. (#296). - The
travis.ymlfile has been removed. (#296).
Climate Change - Climate Data Processing and Analysis
- Python
Published by Zeitsperre over 2 years ago
clisops - v0.10.1
Bug Fixes
- Fixed an issue with the type hinting for subset functions that were broken due to changes in
xarray(2023.08). (#295). - Updated ReadTheDocs configuration to use
Mambaforge(22.9) as engine for building documentation. (#295).
Climate Change - Climate Data Processing and Analysis
- Python
Published by Zeitsperre over 2 years ago
clisops - v0.10.0
New Features
- Added support for Python 3.11 (#287).
Bug Fixes
- Fixed bug in
core.subset.shape_bbox_indexerwith the union of invalid geometries. Added regression test. (#280) - Added support in
core.subset.shape_bbox_indexerfor Point and MultiPoint geometries. (#283) - Fixed
core.subset.subset_bboxandcore.subset.subset_shapefor datasets with 1D longitude and latitude (ex: Station data). (#288)
Other Changes
- Shapely 2.0 is now faster than pygeos for
create_mask. Removed pygeos from extra dependencies and pinned shapely above 2.0. (#289)
Climate Change - Climate Data Processing and Analysis
- Python
Published by Zeitsperre over 2 years ago
clisops - v0.9.6
Bug Fixes
- Fixed an issue with the
pytestfixtures that was needlessly callingload_esgf_test_datamultiple times while tests were running (#278). - Corrected a temporary workaround for updating split geometries that was causing issues with modern
pandasversions (#278).
Other Changes
- Removed some obsolete tests and adjusted pytest to always report in colour (#272).
- Split conda CI builds to explicitly test against xarray/stable and xarray/dev (#272).
- GitHub CI now reports coverage statistics to Coveralls.io (#276).
- Updated
geopandas(>=0.11),pyproj(>=3.3.0),shapely(>=1.9),tox(>=4.0),xarray(>=0.21), andxesmf(>=0.6.3) to use more modern versions (#278).
Climate Change - Climate Data Processing and Analysis
- Python
Published by Zeitsperre almost 3 years ago
clisops - v0.9.4
Bug Fixes:
- Fixed
core.subset_bboxwhen usinglevel_values(#263). - Fixed
core.subset_level_by_valuesusing xarray method nearest (#262). - Updated a test expectation to support newer xarray behaviour (#259).
Climate Change - Climate Data Processing and Analysis
- Python
Published by cehbrecht about 3 years ago
clisops - v0.9.3
Bug Fixes
- Fixed a bug associated with the new xarray (2022.6.0+) accessor for native indexers that was introduced in (#241). (#250, #251).
Other Changes
- Fixed a handful of static type hints that were sending out warnings, despite proper use. (#251).
- Replaced all skipped doctests with sphinx-compatible python code blocks to prevent errors in downstream projects. (#251).
- Adjusted GitHub Actions builds to ensure that the
conda-xesmfrun uses the latestxarrayavailable. (#251).
Climate Change - Climate Data Processing and Analysis
- Python
Published by Zeitsperre over 3 years ago
clisops - v0.9.2
Breaking Changes
- Support has been dropped for Python3.7 and extended to Python3.10. Python3.7 is no longer tested in GitHub actions (#234).
packaginghas been added as a dependency (#241).
Bug Fixes
- Adapted
clisops.core.subset_bbox_indexerto the newest indexing API changes in xarray, with backwards compatibility (#241).
Other Changes
- Docstrings and documentation configuration adjustments have been made to ensure that builds are adequately tested (#232, #235).
Climate Change - Climate Data Processing and Analysis
- Python
Published by Zeitsperre over 3 years ago
clisops - v0.9.1
Bug fixes:
- Fix inconsistent bounds in metadata after subset operation (#224).
Other Changes:
- Use
roocs-utils0.6.2 to avoid test failure (#226). - Removed unneeded testing dep from environment.yml (#223).
- Merged pre-commit autoupdate (#227).
Climate Change - Climate Data Processing and Analysis
- Python
Published by cehbrecht almost 4 years ago
clisops - v0.9.0
New Features:
-
clisops.ops.average.average_timeandclisops.core.average.average_timeadded (#211). Allowing averaging over time frequencies of day, month and year. -
New function
create_time_boundsinclisops.utils.time_utils, to generate time bounds for temporally averaged datasets. -
clisopsnow uses theloguru <https://loguru.readthedocs.io/en/stable/index.html>_ library as its primary logging engine (#216).
Other Changes:
- Pandas now pinned below version 1.4.0.
- Pre-commit configuration updated with code style conventions (black, pyupgrade) set to Python3.7+ (#219).
loguruis now an install dependency, withpytest-loguruas a development-only dependency.- Added function to convert the longitude axis between different longitude frames (eg. [-180, 180] and [0, 360]) (#217, #218).
Climate Change - Climate Data Processing and Analysis
- Python
Published by cehbrecht almost 4 years ago
clisops - v0.8.0
v0.8.0 (2022-01-13)
New Features
clisops.core.average.average_shapecopies the global and variable attributes from the input data to the results.
Bug fixes
average_shapeandcreate_weight_maskswere adapted to work with xESMF 0.6.2, while maintaining compatibility with earlier versions.- Fix added to remove
_FillValueadded to coordinate variables and bounds by xarray when outputting to netCDF.
Other Changes
- Passing
DataArrayobjects toclisops.core.average.average_shapeis now deprecated. Averaging requires grid cell boundaries, which are notDataArraycoordinates, but independentDatasetvariables. Please passDatasetobjects and an optional list of variables to average. average_shapeperforms an initial subset over the averaging region, before computing the weights, to reduce memory usage.- Minimum xesmf version set to 0.6.2.
- Minimum pygeos version set to 0.9.
- Replace
cascaded_unionbyunary_unionto anticipate ashapelydeprecation.
Climate Change - Climate Data Processing and Analysis
- Python
Published by ellesmith88 about 4 years ago
clisops - v0.7.0
v0.7.0 (2021-10-26)
Breaking Changes
timeinput fortimeinops.subset.subsetbut now be one of [<class 'roocs_utils.parameter.param_utils.Interval'>, <class 'roocs_utils.parameter.param_utils.Series'>, <class 'NoneType'>, <class 'str'>].levelinput forlevelinops.subset.subsetbut now be one of [<class 'roocs_utils.parameter.param_utils.Interval'>, <class 'roocs_utils.parameter.param_utils.Series'>, <class 'NoneType'>, <class 'str'>].roocs-utils>= 0.5.0 required.
New Features
time_valuesandlevel_valuesarguments added tocore.subset.subset_bboxwhich allows the user to provide a list of time/level values to select.subset_time_by_valuesandsubset_level_by_valuesadded tocore.subset.subset_bbox. These allow subsetting on sequence of datetimes or levels.subset_time_by_componentsadded tocore.subset.subset_bbox. This allows subsetting by time components - year, month, day etc.check_levels_existandcheck_datetimes_existfunction checkers added incore.subsetto check requested levels and datetimes exist. An exception is raised if they do not exist in the dataset.time_componentsargument added toops.subsetto allowing subsetting by time components such as year, month, day etc.
Other Changes
- Python 3.6 no longer tested in GitHub actions.
Climate Change - Climate Data Processing and Analysis
- Python
Published by ellesmith88 over 4 years ago
clisops - v0.6.4
v0.6.4 (2021-05-17)
Breaking Changes
- Exception raised in
core.average.average_over_dimswhen dims is None. - Exception raised in
core.average.average_over_shapewhen grid and polygon have no overlapping values.
New Features
ops.subset.subsetnow ensures all latitude and longitude bounds are in ascending order before passing tocore.subset.subset_bboxcore.subset.subset_levelnow checks that the order of the bounds matches the order of the level data.core.subset._check_desc_coordsnow checks the bounds provided are ascending before flipping them.
Other Changes
- clisops logging no longer disables other loggers.
- GitHub CI now leverages
toxfor testing as well as tests averaging functions via a conda-based build. - Added a CI build to run against xarray@master that is allowed to fail.
Climate Change - Climate Data Processing and Analysis
- Python
Published by ellesmith88 almost 5 years ago
clisops - v0.6.3
v0.6.3 (2021-03-30)
Breaking Changes
- Raise an exception in
core.subset.subset_bboxwhen there are no data points in the result. roocs-utils>=0.6.3 required.
Bug Fixes
- In
core.subset.check_start_end_datescheck if start and end date requested exist in the calendar of the dataset. If not, nudge the date forward if start date or backwards if end date.
Other Changes
- Error message improved to include longitude bounds of the dataset when the bounds requested in
ops.subset.subsetare not within range and rolling could not be completed.
Climate Change - Climate Data Processing and Analysis
- Python
Published by ellesmith88 almost 5 years ago
clisops - v0.6.2
v0.6.2 (2021-03-22)
Bug Fixes
- Better support for disjoint shapes in
subset_shape. - Identify latitude and longitude using
cf-xarrayrather than by "lat" and "lon"
New Features
- Add
output_staging_diroption inetc/roocs.ini, to write files to initially before moving them to the requested output_dir. - Notebook of examples for average over dims operation added.
Climate Change - Climate Data Processing and Analysis
- Python
Published by ellesmith88 almost 5 years ago
clisops - v0.6.1
v0.6.1 (2021-02-23)
Bug Fixes
- Add cf-xarray as dependency. This is a dependency of roocs-utils>=0.2.1 so is not a breaking change.
- Remove python-dateutil, fiona and geojson as dependencies, no longer needed.
Climate Change - Climate Data Processing and Analysis
- Python
Published by ellesmith88 almost 5 years ago
clisops - v0.6.0
v0.6.0 (2021-02-22)
Breaking Changes
- New dev dependency: GitPython==3.1.12
New Features
average_over_dimsadded intoaverage.coreandaverage.ops- New
core.average.average_shape+core.subset.subset_create_weight_masks. Depends onxESMF>= 0.5.2, which is a new optional dependency.
Bug Fixes
- Fixed issue where the temporal subset was ignored if level subset selected.
- Roll dataset used in subsetting when the requested longitude bounds are not within those of the dataset.
- Fixed issue with subsetting grid lon and lat coordinates that are in descending order for
core.subset.subset_bbox.
Other Changes
- Changes to allow datasets without a time dimension to be processed without issues.
- Use
DatasetMapperfromroocs-utilsto ensure all datasets are mapped to file paths correctly. - Using file caching to gather
mini-esgf-datatest data. - Added a
devrecipe for pip installations (pip install clisops[dev]). - Updated pre-commit and pre-commit hooks to newest versions.
- Migrated linux-based integration builds to GitHub CI.
- Added functionality to
core.subset.create_maskso it can acceptGeoDataFrameswith non-integer indexes. clisops.utils.file_namersadjusted to allow values to be overwritten and extras to be added to the end before the file extension.
Climate Change - Climate Data Processing and Analysis
- Python
Published by ellesmith88 almost 5 years ago
clisops - v0.5.1
v0.5.1 (2020-01-11)
Breaking Changes
- Reverting breaking changes made by the change to
core.subset.create_mask. This change introduces a
second evaluation for shapes touching grid-points.
Other Changes
- Using file caching to gather
xclimtest data. - Change made to
core.subset.subset_bbox._check_desc_coordsto cope with subsetting when only one latitude or
longitude exists in the input dataset
Climate Change - Climate Data Processing and Analysis
- Python
Published by ellesmith88 about 5 years ago
clisops - v0.5.0
v0.5.0 (2020-12-17)
Breaking Changes
- Moved
core.subset.create_mask_vectorizetocore.subset.create_mask. The old spatial join option was removed.
core.subset.subset_shapelost itsvectorizekwarg, as it is now default. roocs-utils>=0.1.5 used
Other Changes
- udunits2>=2.2 removed as a requirement to make clisops completely pip installable.
- rtee and libspatialindex removed as requirements, making it easier to install through pip.
- Static types updated to include missing but permitted types.
- Better handling for paths in
ops.subsetallowing windows build to be fixed.
Climate Change - Climate Data Processing and Analysis
- Python
Published by ellesmith88 about 5 years ago
clisops - v0.4.0
v0.4.0 (2020-11-5)
Adding new features, updating doc strings and documentation and inclusion of static type support.
Breaking Changes
- clisops now requires udunits2>=2.2.
- roocs-utils>=0.1.4 is now required.
spaceparameter ofclisops.ops.subsetrenamed toarea.chunk_rulesparameter ofclisops.ops.subsetrenamed tosplit_method.filenamerparameter ofclisops.ops.subsetrenamed tofile_namer.
New Features
subset_leveladded.- PR template.
- Config file now exists at
clisops.etc.roocs.ini. This can be overwritten by setting the environment variable
ROOCS_CONFIGto the file path of a config file. - Static typing added to subset operation function.
- info and debugging are now logged rather than printed.
- Notebook of examples for subset operation added.
split_methodimplemented to split output files by if they exceed the memory limit provided in
clisops.etc.roocs.ininamedfile_size_limit.
Currently only thetime:autoexists which splits evenly on time ranges.file_namerimplemented inclisops.ops.subset. This hassimpleandstandardoptions.
simplenumbers output files whereasstandardnames them according to the input dataset.- Memory usage when completing the subsetting operation is now managed using dask chunking. The memory limit for
memory usage for this process is set inclisops.etc.roocs.iniunderchunk_memory_limit.
Bug Fixes
- Nudging time values to nearest available in dataset to fix a bug where subsetting failed when the exact date
did not exist in the dataset.
Other Changes
- cfunits dependency removed - not needed.
- requirements.txt and environment.yml synced.
- Documentation updated to include API.
- Read the docs build now tested in CI pipeline.
- md files changed to rst.
- tests now use
mini-esgf-databy default.
Climate Change - Climate Data Processing and Analysis
- Python
Published by ellesmith88 over 5 years ago
clisops - v0.2.0
v0.2.0 (2020-06-19)
New Features
- Integration of xclim subset module in
clisops.core.subset. - Added jupyter notebook with and example for subsetting from xclim.
Other Changes
- Fixed RTD doc build.
- Updated travis CI according to xclim requirements.
- Now employing PEP8 + Black compatible autoformatting.
- Pre-commit is now used to launch code formatting inspections for local development.
Climate Change - Climate Data Processing and Analysis
- Python
Published by cehbrecht over 5 years ago