Icclim

Latest version: v7.0.0

Safety actively analyzes 679296 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 2 of 8

6.1.3

icclim v6.1.3 is a small release to fix TnX.

Bug fix
- TnX was calculating the minimum instead of the maximum.

6.1.2

Enhancements
- ECAD wind indices were added: fxx, fg6bft, fgcalm, fg, ddnorth, ddeast, ddsouth, ddwest. Also, ddnorth and ddsouth were added but do not follow the ECAD's ATBD v11 requirements as their definition seems to be wrong in the document.[0]
- Added ECAD's indices GSL, SPI3, SPI6.

Documentation
- Added documentation for generic indicators stand-alone functions.
- Added a recipe "how to" documentation for generic indicators.

Internal changes
- Added generic indicators as stand-alone functions in icclim namespace.
- Upgraded to xclim 0.39.0

[0] ATBD: https://knmi-ecad-assets-prd.s3.amazonaws.com/documents/atbd.pdf

6.0.0

icclim v6.0.0 is a major release introducing the concept of generic indices.
Generic indices allow users to create their own indices and still benefit from:
- icclim machinery to parse inputs
- metadata generation
- the actual numerical computation of the index

The metadata generation is based on jinja2 templates. These templates may be adjust in future releases once we get some feedback on their outputs.
Generic indices aim to be easy to use, to improve and to extend. They brings 2 concepts together:
- An abstract threshold such as `>= 25 degree_Celsius` or `>= 99 doy_per AND >= 30 degree_Celsius`. These are mere examples of threshold capabilities, see Threshold documentation for more examples.
- A catalog of generic operators such as `count_occurrences`, `max_consecutive_occurrence`, `max_of_rolling_sum`, that can be passed to `index_name` argument of icclim.index. A list of all possible operator will be available soon in the documentation.

Generic Index example

precip_threshold = icclim.models.threshold.build_threshold(">= 50 period_per", threshold_min_value="1 mmday")
result_dataset = icclim.index("precipitation.nc",
index_name="max_of_rolling_sum",
var_name=["precip"],
threshold=precip_threshold).compute()


Breaking changes
- ECAD indices are no longer configurable. This choice was made to ensure that ECAD's indices truly follow the ECAD's ATBD specification[0]
To create your own index you should now use generic indices.
- icclim no longer rely directly on xclim to compute indices. Instead we use xclim as a tool box for features such as units handling, calendar operations, percentiles computations etc.
- The indices [CW, CD, WW, WD] were not properly computed. The computation of precipitation percentiles now use "period percentiles" instead of "doy percentiles" as the ECAD definition suggest.
- `clipped_season` option for the `slice_mode` parameter has been removed.
- ECAD snow indices now expect a snow (snd) variable.
- Convert input data that are recognized as a precipitation amount into precipitation rate to handle e-obs dataset


Deprecation
- Custom indices (a.k.a user indices) are now deprecated in favor of generic indices. For now, they are mapped to their generic indices counterpart, but they could be removed in the future.


Enhancements
- Generic indices
- The `RR` precipitation index has been added.
- A dictionary can be used for `in_files` to describe input configuration per variable:

icclim.index(in_files={
"tasmax": {
"study": "tasmax-store.zarr",
"threshold": build_threshold(operator=">", ["per-1.nc", "per-2.nc"]),
},
"pr": "pr.nc"
}

- Improve icclim.indices to make it possible to compute every ecad indices based on a variable name (e.g. "tasmax").

Internal changes
- Upgrade to xclim 0.38 and to xarray 2022.6.
- icclim no longer rely on clix-meta yaml file. We will still keep a close eye to their recommendation for the specification of climate indices.
- Add BlackDoc to C.I
- Add icclim logo


[0] ATBD: https://knmi-ecad-assets-prd.s3.amazonaws.com/documents/atbd.pdf

5.4.0

icclim v5.4 is a small summer release with a few fixes.

What's Changed

- [fix] When giving input as a list of netcdf files, the coordinate values are now merged using the override strategy.
Hence, the first file having a given dimension define this dimension for all the subsequent files.
- [fix] Fixed the output unit of some indices (from "ºC" to the standard "degree_Celsius")
- [fix] Fixed issue where dataset having a time bounds variable could not be processed (due to chunking). We now chunk only the studied variables thus the DataArray(s) instead of the whole Dataset.



**Full Changelog**: https://github.com/cerfacs-globc/icclim/compare/v5.3.0...v5.4.0

5.3.0

icclim v5.3.0 is a important release with many changes.
Overall it improves icclim outputted metadata, improves `slice_mode` API with new modes, eases the use of dates parameter and adds the possibility to give percentiles as an input instead of a computing them.

Changelog
* [enh] Add icclim version to history in outputted metadata.
* [maint] **breaking change** Pin minimal pandas version to 1.3 to have the fix for https://github.com/pandas-dev/pandas/issues/24539
* [enh] ``slice_mode``: seasons can now be defined to be between two exact dates.
* [enh] ``slice_mode`` type can now be tuple[str, list], it works similarly to the list in input of seasons but, it enforces a length of 2.
* [enh] ``slice_mode``: Added `clipped_season` keyword which ignores events starting before the season bounds (original behavior of ``season``).
* [maint] ``slice_mode``: Modified `season` keyword to take into account events (such as in CDD) starting before the season bounds.
This should improve the scientific validity of these seasonal computations. Plus it is in accordance to xclim way of doing this.
* [maint] Added dataclass ClimateIndex to ease the introduction of new indices not in the ECAD standard.
* [maint] Made use the new typing syntax thanks to ``from __future__ import annotations``.
* [maint] Add docstring validation into flake8 checks.
* [enh] Improve API for date related parameters ``{time_range, base_period_time_range, ref_time_range}``
They can still be filled with a datetime object but additionally various string format are now available.
This comes with dateparser library.
* [doc] Update callback doc as its outputted value is very inaccurate when dask is enable.
* [enh] T(X/N/G)(10/90)p indices threshold is now configurable with `threshold` parameter.
Example of use: `icclim.tx90p(in_files=data, threshold=[42, 99])`
* [enh|maint] threshold, history and source metadata have been updated to better describe what happens during icclim process.
* [fix/doc] The documentation of the generated API for T(X/N/G)(10/90)p indices now properly use thier ECAD definitions instead of those from ETCCDI.
* [enh/doc] Add [WSDI, CSDI, rxxp, rxxpTOT, CW, CD, WW, WD] indices in yaml definition.
Note: We no longer strictly follow the yaml given by clix-meta.
* [fix] custom seasonal slice_mode was broken when it ended in december. It's now fixed and unit tested.
* [enh] Make ``in_file`` accept a dictionary merging together ``var_name`` and ``in_file`` features.
* [enh] ``in_file`` dictionary can now be used to pass percentiles thresholds. These thresholds will be used instead of computing them on relevant indices.
* [maint/internal] Refactored IndexConfig and moved all the logic to input_parsing.
* [enh] R(75/95/99)P and R(75/95/99)PTOT indices threshold is now configurable with `threshold` parameter.
Example of use: `icclim.r75p(in_files=data, threshold=60)`
* [enh] Update metadata of indices when a custom threshold is used.
**BREAKING CHANGE:** The outputted variable name now also contains the thresholds (e.g. SU_35_42 for index_name="SU" and threshold=[35, 42])
* [maint] Rename IndexConfig::threshold in IndexConfig::scalar_thresholds to avoid confusion with the thresholds given in in_files.

**Diff**: https://github.com/cerfacs-globc/icclim/compare/5.2.1...v5.3.0

5.2.2

Small release to update dependencies constraints:
- numpy < 1.22 is no longer needed.
- xclim >= 0.37 is now needed.

Page 2 of 8

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.