Source code for icclim._generated._generic

# ruff: noqa: A001, E501, N803
"""
icclim's API for generic indices.

This module has been auto-generated.
To modify these, edit the extractor tool in `tools/extract-icclim-funs.py`.
This module exposes each climate index as individual functions for convenience.
"""

from __future__ import annotations

from typing import TYPE_CHECKING

import icclim
from icclim.generic.registry import GenericIndicatorRegistry

if TYPE_CHECKING:
    import datetime as dt
    from collections.abc import Sequence
    from typing import FrequencyLike, InFileLike, SamplingMethodLike

    from xarray import Dataset

    from icclim._core.legacy.user_index.model import UserIndexDict
    from icclim._core.model.netcdf_version import NetcdfVersion
    from icclim._core.model.quantile_interpolation import QuantileInterpolation
    from icclim._core.model.threshold import Threshold
    from icclim.frequency import Frequency
    from icclim.logger import Verbosity

__all__ = [
    "count_occurrences",
    "max_consecutive_occurrence",
    "sum_of_spell_lengths",
    "excess",
    "deficit",
    "fraction_of_total",
    "maximum",
    "minimum",
    "average",
    "sum",
    "standard_deviation",
    "max_of_rolling_sum",
    "min_of_rolling_sum",
    "max_of_rolling_average",
    "min_of_rolling_average",
    "mean_of_difference",
    "difference_of_extremes",
    "mean_of_absolute_one_time_step_difference",
    "difference_of_means",
    "percentile",
    "custom_index",
]


[docs] def count_occurrences( in_files: InFileLike, var_name: str | Sequence[str] | None = None, slice_mode: FrequencyLike | Frequency = "year", time_range: Sequence[dt.datetime | str] | None = None, out_file: str | None = None, threshold: str | Threshold | Sequence[str | Threshold] | None = None, ignore_Feb29th: bool = False, out_unit: str | None = None, netcdf_version: str | NetcdfVersion = "NETCDF4", save_thresholds: bool = False, logs_verbosity: Verbosity | str = "LOW", date_event: bool = False, ) -> Dataset: """Count occurrences when threshold(s) are met (e.g. SU, Tx90p, RR1). count_occurrences: Count occurrences when threshold(s) are met (e.g. SU, Tx90p, RR1). Parameters ---------- in_files : str | list[str] | Dataset | DataArray | InputDictionary Absolute path(s) to NetCDF dataset(s), including OPeNDAP URLs, or path to zarr store, or xarray.Dataset or xarray.DataArray. var_name : str | list[str] | None ``optional`` Target variable name to process corresponding to ``in_files``. If None (default) on ECA&D index, the variable is guessed based on the climate index wanted. Mandatory for a user index. slice_mode : FrequencyLike | Frequency Type of temporal aggregation: The possibles values are ``{"year", "month", "DJF", "MAM", "JJA", "SON", "ONDJFM" or "AMJJAS", ("season", [1,2,3]), ("month", [1,2,3,])}`` (where season and month lists can be customized) or any valid pandas frequency. A season can also be defined between two exact dates: ``("season", ("19 july", "14 august"))``. Default is "year". See :ref:`slice_mode` for details. time_range : list[datetime.datetime ] | list[str] | tuple[str, str] | None ``optional`` Temporal range: upper and lower bounds for temporal subsetting. If ``None``, whole period of input files will be processed. The dates can either be given as instance of datetime.datetime or as string values. For strings, many format are accepted. Default is ``None``. out_file : str | None Output NetCDF file name (default: "icclim_out.nc" in the current directory). Default is "icclim_out.nc". If the input ``in_files`` is a ``Dataset``, ``out_file`` field is ignored. Use the function returned value instead to retrieve the computed value. If ``out_file`` already exists, icclim will overwrite it! threshold : float | list[float] | None ``optional`` User defined threshold for certain indices. Default depend on the index, see their individual definition. When a list of threshold is provided, the index will be computed for each thresholds. ignore_Feb29th : bool ``optional`` Ignoring or not February 29th (default: False). out_unit : str | None ``optional`` Output unit for certain indices: "days" or "%" (default: "days"). netcdf_version : str | NetcdfVersion ``optional`` NetCDF version to create (default: "NETCDF3_CLASSIC"). save_thresholds : bool ``optional`` True if the thresholds should be saved within the resulting netcdf file (default: False). date_event : bool When True the date of the event (such as when a maximum is reached) will be stored in coordinates variables. **warning** This option may significantly slow down computation. logs_verbosity : str | Verbosity ``optional`` Configure how verbose icclim is. Possible values: ``{"LOW", "HIGH", "SILENT"}`` (default: "LOW") Notes ----- This function has been auto-generated. """ return icclim.index( index_name=GenericIndicatorRegistry.CountOccurrences, in_files=in_files, var_name=var_name, slice_mode=slice_mode, time_range=time_range, out_file=out_file, threshold=threshold, ignore_Feb29th=ignore_Feb29th, out_unit=out_unit, netcdf_version=netcdf_version, save_thresholds=save_thresholds, logs_verbosity=logs_verbosity, date_event=date_event, )
[docs] def max_consecutive_occurrence( in_files: InFileLike, var_name: str | Sequence[str] | None = None, slice_mode: FrequencyLike | Frequency = "year", time_range: Sequence[dt.datetime | str] | None = None, out_file: str | None = None, threshold: str | Threshold | Sequence[str | Threshold] | None = None, ignore_Feb29th: bool = False, out_unit: str | None = None, netcdf_version: str | NetcdfVersion = "NETCDF4", save_thresholds: bool = False, logs_verbosity: Verbosity | str = "LOW", date_event: bool = False, ) -> Dataset: """Count the maximum number of consecutive occurrences when threshold(s) are met (e.g. CDD, CSU, CWD). max_consecutive_occurrence: Count the maximum number of consecutive occurrences when threshold(s) are met (e.g. CDD, CSU, CWD). Parameters ---------- in_files : str | list[str] | Dataset | DataArray | InputDictionary Absolute path(s) to NetCDF dataset(s), including OPeNDAP URLs, or path to zarr store, or xarray.Dataset or xarray.DataArray. var_name : str | list[str] | None ``optional`` Target variable name to process corresponding to ``in_files``. If None (default) on ECA&D index, the variable is guessed based on the climate index wanted. Mandatory for a user index. slice_mode : FrequencyLike | Frequency Type of temporal aggregation: The possibles values are ``{"year", "month", "DJF", "MAM", "JJA", "SON", "ONDJFM" or "AMJJAS", ("season", [1,2,3]), ("month", [1,2,3,])}`` (where season and month lists can be customized) or any valid pandas frequency. A season can also be defined between two exact dates: ``("season", ("19 july", "14 august"))``. Default is "year". See :ref:`slice_mode` for details. time_range : list[datetime.datetime ] | list[str] | tuple[str, str] | None ``optional`` Temporal range: upper and lower bounds for temporal subsetting. If ``None``, whole period of input files will be processed. The dates can either be given as instance of datetime.datetime or as string values. For strings, many format are accepted. Default is ``None``. out_file : str | None Output NetCDF file name (default: "icclim_out.nc" in the current directory). Default is "icclim_out.nc". If the input ``in_files`` is a ``Dataset``, ``out_file`` field is ignored. Use the function returned value instead to retrieve the computed value. If ``out_file`` already exists, icclim will overwrite it! threshold : float | list[float] | None ``optional`` User defined threshold for certain indices. Default depend on the index, see their individual definition. When a list of threshold is provided, the index will be computed for each thresholds. ignore_Feb29th : bool ``optional`` Ignoring or not February 29th (default: False). out_unit : str | None ``optional`` Output unit for certain indices: "days" or "%" (default: "days"). netcdf_version : str | NetcdfVersion ``optional`` NetCDF version to create (default: "NETCDF3_CLASSIC"). save_thresholds : bool ``optional`` True if the thresholds should be saved within the resulting netcdf file (default: False). date_event : bool When True the date of the event (such as when a maximum is reached) will be stored in coordinates variables. **warning** This option may significantly slow down computation. logs_verbosity : str | Verbosity ``optional`` Configure how verbose icclim is. Possible values: ``{"LOW", "HIGH", "SILENT"}`` (default: "LOW") Notes ----- This function has been auto-generated. """ return icclim.index( index_name=GenericIndicatorRegistry.MaxConsecutiveOccurrence, in_files=in_files, var_name=var_name, slice_mode=slice_mode, time_range=time_range, out_file=out_file, threshold=threshold, ignore_Feb29th=ignore_Feb29th, out_unit=out_unit, netcdf_version=netcdf_version, save_thresholds=save_thresholds, logs_verbosity=logs_verbosity, date_event=date_event, )
[docs] def sum_of_spell_lengths( in_files: InFileLike, var_name: str | Sequence[str] | None = None, slice_mode: FrequencyLike | Frequency = "year", time_range: Sequence[dt.datetime | str] | None = None, out_file: str | None = None, threshold: str | Threshold | Sequence[str | Threshold] | None = None, ignore_Feb29th: bool = False, out_unit: str | None = None, netcdf_version: str | NetcdfVersion = "NETCDF4", save_thresholds: bool = False, logs_verbosity: Verbosity | str = "LOW", date_event: bool = False, min_spell_length: int | None = 6, ) -> Dataset: """Sum the lengths of each consecutive occurrence spell when threshold(s) are met. The minimum spell length is controlled by `min_spell_length` (e.g. WSDI, CSDI). sum_of_spell_lengths: Sum the lengths of each consecutive occurrence spell when threshold(s) are met. The minimum spell length is controlled by `min_spell_length` (e.g. WSDI, CSDI). Parameters ---------- in_files : str | list[str] | Dataset | DataArray | InputDictionary Absolute path(s) to NetCDF dataset(s), including OPeNDAP URLs, or path to zarr store, or xarray.Dataset or xarray.DataArray. var_name : str | list[str] | None ``optional`` Target variable name to process corresponding to ``in_files``. If None (default) on ECA&D index, the variable is guessed based on the climate index wanted. Mandatory for a user index. slice_mode : FrequencyLike | Frequency Type of temporal aggregation: The possibles values are ``{"year", "month", "DJF", "MAM", "JJA", "SON", "ONDJFM" or "AMJJAS", ("season", [1,2,3]), ("month", [1,2,3,])}`` (where season and month lists can be customized) or any valid pandas frequency. A season can also be defined between two exact dates: ``("season", ("19 july", "14 august"))``. Default is "year". See :ref:`slice_mode` for details. time_range : list[datetime.datetime ] | list[str] | tuple[str, str] | None ``optional`` Temporal range: upper and lower bounds for temporal subsetting. If ``None``, whole period of input files will be processed. The dates can either be given as instance of datetime.datetime or as string values. For strings, many format are accepted. Default is ``None``. out_file : str | None Output NetCDF file name (default: "icclim_out.nc" in the current directory). Default is "icclim_out.nc". If the input ``in_files`` is a ``Dataset``, ``out_file`` field is ignored. Use the function returned value instead to retrieve the computed value. If ``out_file`` already exists, icclim will overwrite it! threshold : float | list[float] | None ``optional`` User defined threshold for certain indices. Default depend on the index, see their individual definition. When a list of threshold is provided, the index will be computed for each thresholds. min_spell_length : int ``optional`` Minimum spell duration to be taken into account when computing the sum_of_spell_lengths. ignore_Feb29th : bool ``optional`` Ignoring or not February 29th (default: False). out_unit : str | None ``optional`` Output unit for certain indices: "days" or "%" (default: "days"). netcdf_version : str | NetcdfVersion ``optional`` NetCDF version to create (default: "NETCDF3_CLASSIC"). save_thresholds : bool ``optional`` True if the thresholds should be saved within the resulting netcdf file (default: False). date_event : bool When True the date of the event (such as when a maximum is reached) will be stored in coordinates variables. **warning** This option may significantly slow down computation. logs_verbosity : str | Verbosity ``optional`` Configure how verbose icclim is. Possible values: ``{"LOW", "HIGH", "SILENT"}`` (default: "LOW") Notes ----- This function has been auto-generated. """ return icclim.index( index_name=GenericIndicatorRegistry.SumOfSpellLengths, in_files=in_files, var_name=var_name, slice_mode=slice_mode, time_range=time_range, out_file=out_file, threshold=threshold, ignore_Feb29th=ignore_Feb29th, out_unit=out_unit, netcdf_version=netcdf_version, save_thresholds=save_thresholds, logs_verbosity=logs_verbosity, date_event=date_event, min_spell_length=min_spell_length, )
[docs] def excess( in_files: InFileLike, var_name: str | Sequence[str] | None = None, slice_mode: FrequencyLike | Frequency = "year", time_range: Sequence[dt.datetime | str] | None = None, out_file: str | None = None, threshold: str | Threshold | Sequence[str | Threshold] | None = None, ignore_Feb29th: bool = False, out_unit: str | None = None, netcdf_version: str | NetcdfVersion = "NETCDF4", save_thresholds: bool = False, logs_verbosity: Verbosity | str = "LOW", date_event: bool = False, ) -> Dataset: """Compute the excess over the given threshold. The excess is `sum(x[x>t] - t)` where x is the studied variable and t the threshold (e.g. GD4). excess: Compute the excess over the given threshold. The excess is `sum(x[x>t] - t)` where x is the studied variable and t the threshold (e.g. GD4). Parameters ---------- in_files : str | list[str] | Dataset | DataArray | InputDictionary Absolute path(s) to NetCDF dataset(s), including OPeNDAP URLs, or path to zarr store, or xarray.Dataset or xarray.DataArray. var_name : str | list[str] | None ``optional`` Target variable name to process corresponding to ``in_files``. If None (default) on ECA&D index, the variable is guessed based on the climate index wanted. Mandatory for a user index. slice_mode : FrequencyLike | Frequency Type of temporal aggregation: The possibles values are ``{"year", "month", "DJF", "MAM", "JJA", "SON", "ONDJFM" or "AMJJAS", ("season", [1,2,3]), ("month", [1,2,3,])}`` (where season and month lists can be customized) or any valid pandas frequency. A season can also be defined between two exact dates: ``("season", ("19 july", "14 august"))``. Default is "year". See :ref:`slice_mode` for details. time_range : list[datetime.datetime ] | list[str] | tuple[str, str] | None ``optional`` Temporal range: upper and lower bounds for temporal subsetting. If ``None``, whole period of input files will be processed. The dates can either be given as instance of datetime.datetime or as string values. For strings, many format are accepted. Default is ``None``. out_file : str | None Output NetCDF file name (default: "icclim_out.nc" in the current directory). Default is "icclim_out.nc". If the input ``in_files`` is a ``Dataset``, ``out_file`` field is ignored. Use the function returned value instead to retrieve the computed value. If ``out_file`` already exists, icclim will overwrite it! threshold : float | list[float] | None ``optional`` User defined threshold for certain indices. Default depend on the index, see their individual definition. When a list of threshold is provided, the index will be computed for each thresholds. ignore_Feb29th : bool ``optional`` Ignoring or not February 29th (default: False). out_unit : str | None ``optional`` Output unit for certain indices: "days" or "%" (default: "days"). netcdf_version : str | NetcdfVersion ``optional`` NetCDF version to create (default: "NETCDF3_CLASSIC"). save_thresholds : bool ``optional`` True if the thresholds should be saved within the resulting netcdf file (default: False). date_event : bool When True the date of the event (such as when a maximum is reached) will be stored in coordinates variables. **warning** This option may significantly slow down computation. logs_verbosity : str | Verbosity ``optional`` Configure how verbose icclim is. Possible values: ``{"LOW", "HIGH", "SILENT"}`` (default: "LOW") Notes ----- This function has been auto-generated. """ return icclim.index( index_name=GenericIndicatorRegistry.Excess, in_files=in_files, var_name=var_name, slice_mode=slice_mode, time_range=time_range, out_file=out_file, threshold=threshold, ignore_Feb29th=ignore_Feb29th, out_unit=out_unit, netcdf_version=netcdf_version, save_thresholds=save_thresholds, logs_verbosity=logs_verbosity, date_event=date_event, )
[docs] def deficit( in_files: InFileLike, var_name: str | Sequence[str] | None = None, slice_mode: FrequencyLike | Frequency = "year", time_range: Sequence[dt.datetime | str] | None = None, out_file: str | None = None, threshold: str | Threshold | Sequence[str | Threshold] | None = None, ignore_Feb29th: bool = False, out_unit: str | None = None, netcdf_version: str | NetcdfVersion = "NETCDF4", save_thresholds: bool = False, logs_verbosity: Verbosity | str = "LOW", date_event: bool = False, ) -> Dataset: """Compute the deficit below the given threshold. The deficit is `sum(t - x[x<t])` where x is the studied variable and t the threshold (e.g. HD17). deficit: Compute the deficit below the given threshold. The deficit is `sum(t - x[x<t])` where x is the studied variable and t the threshold (e.g. HD17). Parameters ---------- in_files : str | list[str] | Dataset | DataArray | InputDictionary Absolute path(s) to NetCDF dataset(s), including OPeNDAP URLs, or path to zarr store, or xarray.Dataset or xarray.DataArray. var_name : str | list[str] | None ``optional`` Target variable name to process corresponding to ``in_files``. If None (default) on ECA&D index, the variable is guessed based on the climate index wanted. Mandatory for a user index. slice_mode : FrequencyLike | Frequency Type of temporal aggregation: The possibles values are ``{"year", "month", "DJF", "MAM", "JJA", "SON", "ONDJFM" or "AMJJAS", ("season", [1,2,3]), ("month", [1,2,3,])}`` (where season and month lists can be customized) or any valid pandas frequency. A season can also be defined between two exact dates: ``("season", ("19 july", "14 august"))``. Default is "year". See :ref:`slice_mode` for details. time_range : list[datetime.datetime ] | list[str] | tuple[str, str] | None ``optional`` Temporal range: upper and lower bounds for temporal subsetting. If ``None``, whole period of input files will be processed. The dates can either be given as instance of datetime.datetime or as string values. For strings, many format are accepted. Default is ``None``. out_file : str | None Output NetCDF file name (default: "icclim_out.nc" in the current directory). Default is "icclim_out.nc". If the input ``in_files`` is a ``Dataset``, ``out_file`` field is ignored. Use the function returned value instead to retrieve the computed value. If ``out_file`` already exists, icclim will overwrite it! threshold : float | list[float] | None ``optional`` User defined threshold for certain indices. Default depend on the index, see their individual definition. When a list of threshold is provided, the index will be computed for each thresholds. ignore_Feb29th : bool ``optional`` Ignoring or not February 29th (default: False). out_unit : str | None ``optional`` Output unit for certain indices: "days" or "%" (default: "days"). netcdf_version : str | NetcdfVersion ``optional`` NetCDF version to create (default: "NETCDF3_CLASSIC"). save_thresholds : bool ``optional`` True if the thresholds should be saved within the resulting netcdf file (default: False). date_event : bool When True the date of the event (such as when a maximum is reached) will be stored in coordinates variables. **warning** This option may significantly slow down computation. logs_verbosity : str | Verbosity ``optional`` Configure how verbose icclim is. Possible values: ``{"LOW", "HIGH", "SILENT"}`` (default: "LOW") Notes ----- This function has been auto-generated. """ return icclim.index( index_name=GenericIndicatorRegistry.Deficit, in_files=in_files, var_name=var_name, slice_mode=slice_mode, time_range=time_range, out_file=out_file, threshold=threshold, ignore_Feb29th=ignore_Feb29th, out_unit=out_unit, netcdf_version=netcdf_version, save_thresholds=save_thresholds, logs_verbosity=logs_verbosity, date_event=date_event, )
[docs] def fraction_of_total( in_files: InFileLike, var_name: str | Sequence[str] | None = None, slice_mode: FrequencyLike | Frequency = "year", time_range: Sequence[dt.datetime | str] | None = None, out_file: str | None = None, threshold: str | Threshold | Sequence[str | Threshold] | None = None, ignore_Feb29th: bool = False, out_unit: str | None = None, netcdf_version: str | NetcdfVersion = "NETCDF4", save_thresholds: bool = False, logs_verbosity: Verbosity | str = "LOW", date_event: bool = False, ) -> Dataset: """Compute the fraction of values meeting threshold(s) over the sum of every values (e.g. R75pTOT, R95pTOT). fraction_of_total: Compute the fraction of values meeting threshold(s) over the sum of every values (e.g. R75pTOT, R95pTOT). Parameters ---------- in_files : str | list[str] | Dataset | DataArray | InputDictionary Absolute path(s) to NetCDF dataset(s), including OPeNDAP URLs, or path to zarr store, or xarray.Dataset or xarray.DataArray. var_name : str | list[str] | None ``optional`` Target variable name to process corresponding to ``in_files``. If None (default) on ECA&D index, the variable is guessed based on the climate index wanted. Mandatory for a user index. slice_mode : FrequencyLike | Frequency Type of temporal aggregation: The possibles values are ``{"year", "month", "DJF", "MAM", "JJA", "SON", "ONDJFM" or "AMJJAS", ("season", [1,2,3]), ("month", [1,2,3,])}`` (where season and month lists can be customized) or any valid pandas frequency. A season can also be defined between two exact dates: ``("season", ("19 july", "14 august"))``. Default is "year". See :ref:`slice_mode` for details. time_range : list[datetime.datetime ] | list[str] | tuple[str, str] | None ``optional`` Temporal range: upper and lower bounds for temporal subsetting. If ``None``, whole period of input files will be processed. The dates can either be given as instance of datetime.datetime or as string values. For strings, many format are accepted. Default is ``None``. out_file : str | None Output NetCDF file name (default: "icclim_out.nc" in the current directory). Default is "icclim_out.nc". If the input ``in_files`` is a ``Dataset``, ``out_file`` field is ignored. Use the function returned value instead to retrieve the computed value. If ``out_file`` already exists, icclim will overwrite it! threshold : float | list[float] | None ``optional`` User defined threshold for certain indices. Default depend on the index, see their individual definition. When a list of threshold is provided, the index will be computed for each thresholds. ignore_Feb29th : bool ``optional`` Ignoring or not February 29th (default: False). out_unit : str | None ``optional`` Output unit for certain indices: "days" or "%" (default: "days"). netcdf_version : str | NetcdfVersion ``optional`` NetCDF version to create (default: "NETCDF3_CLASSIC"). save_thresholds : bool ``optional`` True if the thresholds should be saved within the resulting netcdf file (default: False). date_event : bool When True the date of the event (such as when a maximum is reached) will be stored in coordinates variables. **warning** This option may significantly slow down computation. logs_verbosity : str | Verbosity ``optional`` Configure how verbose icclim is. Possible values: ``{"LOW", "HIGH", "SILENT"}`` (default: "LOW") Notes ----- This function has been auto-generated. """ return icclim.index( index_name=GenericIndicatorRegistry.FractionOfTotal, in_files=in_files, var_name=var_name, slice_mode=slice_mode, time_range=time_range, out_file=out_file, threshold=threshold, ignore_Feb29th=ignore_Feb29th, out_unit=out_unit, netcdf_version=netcdf_version, save_thresholds=save_thresholds, logs_verbosity=logs_verbosity, date_event=date_event, )
[docs] def maximum( in_files: InFileLike, var_name: str | Sequence[str] | None = None, slice_mode: FrequencyLike | Frequency = "year", time_range: Sequence[dt.datetime | str] | None = None, out_file: str | None = None, threshold: str | Threshold | Sequence[str | Threshold] | None = None, ignore_Feb29th: bool = False, out_unit: str | None = None, netcdf_version: str | NetcdfVersion = "NETCDF4", save_thresholds: bool = False, logs_verbosity: Verbosity | str = "LOW", date_event: bool = False, ) -> Dataset: """Maximum of values that met threshold(s), if threshold(s) are given (e.g. Txx, Tnx). maximum: Maximum of values that met threshold(s), if threshold(s) are given (e.g. Txx, Tnx). Parameters ---------- in_files : str | list[str] | Dataset | DataArray | InputDictionary Absolute path(s) to NetCDF dataset(s), including OPeNDAP URLs, or path to zarr store, or xarray.Dataset or xarray.DataArray. var_name : str | list[str] | None ``optional`` Target variable name to process corresponding to ``in_files``. If None (default) on ECA&D index, the variable is guessed based on the climate index wanted. Mandatory for a user index. slice_mode : FrequencyLike | Frequency Type of temporal aggregation: The possibles values are ``{"year", "month", "DJF", "MAM", "JJA", "SON", "ONDJFM" or "AMJJAS", ("season", [1,2,3]), ("month", [1,2,3,])}`` (where season and month lists can be customized) or any valid pandas frequency. A season can also be defined between two exact dates: ``("season", ("19 july", "14 august"))``. Default is "year". See :ref:`slice_mode` for details. time_range : list[datetime.datetime ] | list[str] | tuple[str, str] | None ``optional`` Temporal range: upper and lower bounds for temporal subsetting. If ``None``, whole period of input files will be processed. The dates can either be given as instance of datetime.datetime or as string values. For strings, many format are accepted. Default is ``None``. out_file : str | None Output NetCDF file name (default: "icclim_out.nc" in the current directory). Default is "icclim_out.nc". If the input ``in_files`` is a ``Dataset``, ``out_file`` field is ignored. Use the function returned value instead to retrieve the computed value. If ``out_file`` already exists, icclim will overwrite it! threshold : float | list[float] | None ``optional`` User defined threshold for certain indices. Default depend on the index, see their individual definition. When a list of threshold is provided, the index will be computed for each thresholds. ignore_Feb29th : bool ``optional`` Ignoring or not February 29th (default: False). out_unit : str | None ``optional`` Output unit for certain indices: "days" or "%" (default: "days"). netcdf_version : str | NetcdfVersion ``optional`` NetCDF version to create (default: "NETCDF3_CLASSIC"). save_thresholds : bool ``optional`` True if the thresholds should be saved within the resulting netcdf file (default: False). date_event : bool When True the date of the event (such as when a maximum is reached) will be stored in coordinates variables. **warning** This option may significantly slow down computation. logs_verbosity : str | Verbosity ``optional`` Configure how verbose icclim is. Possible values: ``{"LOW", "HIGH", "SILENT"}`` (default: "LOW") Notes ----- This function has been auto-generated. """ return icclim.index( index_name=GenericIndicatorRegistry.Maximum, in_files=in_files, var_name=var_name, slice_mode=slice_mode, time_range=time_range, out_file=out_file, threshold=threshold, ignore_Feb29th=ignore_Feb29th, out_unit=out_unit, netcdf_version=netcdf_version, save_thresholds=save_thresholds, logs_verbosity=logs_verbosity, date_event=date_event, )
[docs] def minimum( in_files: InFileLike, var_name: str | Sequence[str] | None = None, slice_mode: FrequencyLike | Frequency = "year", time_range: Sequence[dt.datetime | str] | None = None, out_file: str | None = None, threshold: str | Threshold | Sequence[str | Threshold] | None = None, ignore_Feb29th: bool = False, out_unit: str | None = None, netcdf_version: str | NetcdfVersion = "NETCDF4", save_thresholds: bool = False, logs_verbosity: Verbosity | str = "LOW", date_event: bool = False, ) -> Dataset: """Minimum of values that met threshold(s), if threshold(s) are given (e.g. Txn, Tnn). minimum: Minimum of values that met threshold(s), if threshold(s) are given (e.g. Txn, Tnn). Parameters ---------- in_files : str | list[str] | Dataset | DataArray | InputDictionary Absolute path(s) to NetCDF dataset(s), including OPeNDAP URLs, or path to zarr store, or xarray.Dataset or xarray.DataArray. var_name : str | list[str] | None ``optional`` Target variable name to process corresponding to ``in_files``. If None (default) on ECA&D index, the variable is guessed based on the climate index wanted. Mandatory for a user index. slice_mode : FrequencyLike | Frequency Type of temporal aggregation: The possibles values are ``{"year", "month", "DJF", "MAM", "JJA", "SON", "ONDJFM" or "AMJJAS", ("season", [1,2,3]), ("month", [1,2,3,])}`` (where season and month lists can be customized) or any valid pandas frequency. A season can also be defined between two exact dates: ``("season", ("19 july", "14 august"))``. Default is "year". See :ref:`slice_mode` for details. time_range : list[datetime.datetime ] | list[str] | tuple[str, str] | None ``optional`` Temporal range: upper and lower bounds for temporal subsetting. If ``None``, whole period of input files will be processed. The dates can either be given as instance of datetime.datetime or as string values. For strings, many format are accepted. Default is ``None``. out_file : str | None Output NetCDF file name (default: "icclim_out.nc" in the current directory). Default is "icclim_out.nc". If the input ``in_files`` is a ``Dataset``, ``out_file`` field is ignored. Use the function returned value instead to retrieve the computed value. If ``out_file`` already exists, icclim will overwrite it! threshold : float | list[float] | None ``optional`` User defined threshold for certain indices. Default depend on the index, see their individual definition. When a list of threshold is provided, the index will be computed for each thresholds. ignore_Feb29th : bool ``optional`` Ignoring or not February 29th (default: False). out_unit : str | None ``optional`` Output unit for certain indices: "days" or "%" (default: "days"). netcdf_version : str | NetcdfVersion ``optional`` NetCDF version to create (default: "NETCDF3_CLASSIC"). save_thresholds : bool ``optional`` True if the thresholds should be saved within the resulting netcdf file (default: False). date_event : bool When True the date of the event (such as when a maximum is reached) will be stored in coordinates variables. **warning** This option may significantly slow down computation. logs_verbosity : str | Verbosity ``optional`` Configure how verbose icclim is. Possible values: ``{"LOW", "HIGH", "SILENT"}`` (default: "LOW") Notes ----- This function has been auto-generated. """ return icclim.index( index_name=GenericIndicatorRegistry.Minimum, in_files=in_files, var_name=var_name, slice_mode=slice_mode, time_range=time_range, out_file=out_file, threshold=threshold, ignore_Feb29th=ignore_Feb29th, out_unit=out_unit, netcdf_version=netcdf_version, save_thresholds=save_thresholds, logs_verbosity=logs_verbosity, date_event=date_event, )
[docs] def average( in_files: InFileLike, var_name: str | Sequence[str] | None = None, slice_mode: FrequencyLike | Frequency = "year", time_range: Sequence[dt.datetime | str] | None = None, out_file: str | None = None, threshold: str | Threshold | Sequence[str | Threshold] | None = None, ignore_Feb29th: bool = False, out_unit: str | None = None, netcdf_version: str | NetcdfVersion = "NETCDF4", save_thresholds: bool = False, logs_verbosity: Verbosity | str = "LOW", date_event: bool = False, ) -> Dataset: """Average of values that met threshold(s), if threshold(s) are given (e.g. Tx, Tn). average: Average of values that met threshold(s), if threshold(s) are given (e.g. Tx, Tn). Parameters ---------- in_files : str | list[str] | Dataset | DataArray | InputDictionary Absolute path(s) to NetCDF dataset(s), including OPeNDAP URLs, or path to zarr store, or xarray.Dataset or xarray.DataArray. var_name : str | list[str] | None ``optional`` Target variable name to process corresponding to ``in_files``. If None (default) on ECA&D index, the variable is guessed based on the climate index wanted. Mandatory for a user index. slice_mode : FrequencyLike | Frequency Type of temporal aggregation: The possibles values are ``{"year", "month", "DJF", "MAM", "JJA", "SON", "ONDJFM" or "AMJJAS", ("season", [1,2,3]), ("month", [1,2,3,])}`` (where season and month lists can be customized) or any valid pandas frequency. A season can also be defined between two exact dates: ``("season", ("19 july", "14 august"))``. Default is "year". See :ref:`slice_mode` for details. time_range : list[datetime.datetime ] | list[str] | tuple[str, str] | None ``optional`` Temporal range: upper and lower bounds for temporal subsetting. If ``None``, whole period of input files will be processed. The dates can either be given as instance of datetime.datetime or as string values. For strings, many format are accepted. Default is ``None``. out_file : str | None Output NetCDF file name (default: "icclim_out.nc" in the current directory). Default is "icclim_out.nc". If the input ``in_files`` is a ``Dataset``, ``out_file`` field is ignored. Use the function returned value instead to retrieve the computed value. If ``out_file`` already exists, icclim will overwrite it! threshold : float | list[float] | None ``optional`` User defined threshold for certain indices. Default depend on the index, see their individual definition. When a list of threshold is provided, the index will be computed for each thresholds. ignore_Feb29th : bool ``optional`` Ignoring or not February 29th (default: False). out_unit : str | None ``optional`` Output unit for certain indices: "days" or "%" (default: "days"). netcdf_version : str | NetcdfVersion ``optional`` NetCDF version to create (default: "NETCDF3_CLASSIC"). save_thresholds : bool ``optional`` True if the thresholds should be saved within the resulting netcdf file (default: False). date_event : bool When True the date of the event (such as when a maximum is reached) will be stored in coordinates variables. **warning** This option may significantly slow down computation. logs_verbosity : str | Verbosity ``optional`` Configure how verbose icclim is. Possible values: ``{"LOW", "HIGH", "SILENT"}`` (default: "LOW") Notes ----- This function has been auto-generated. """ return icclim.index( index_name=GenericIndicatorRegistry.Average, in_files=in_files, var_name=var_name, slice_mode=slice_mode, time_range=time_range, out_file=out_file, threshold=threshold, ignore_Feb29th=ignore_Feb29th, out_unit=out_unit, netcdf_version=netcdf_version, save_thresholds=save_thresholds, logs_verbosity=logs_verbosity, date_event=date_event, )
[docs] def sum( in_files: InFileLike, var_name: str | Sequence[str] | None = None, slice_mode: FrequencyLike | Frequency = "year", time_range: Sequence[dt.datetime | str] | None = None, out_file: str | None = None, threshold: str | Threshold | Sequence[str | Threshold] | None = None, ignore_Feb29th: bool = False, out_unit: str | None = None, netcdf_version: str | NetcdfVersion = "NETCDF4", save_thresholds: bool = False, logs_verbosity: Verbosity | str = "LOW", date_event: bool = False, ) -> Dataset: """Sum of values that met threshold(s), if threshold(s) are given (e.g. PRCPTOT, RR). sum: Sum of values that met threshold(s), if threshold(s) are given (e.g. PRCPTOT, RR). Parameters ---------- in_files : str | list[str] | Dataset | DataArray | InputDictionary Absolute path(s) to NetCDF dataset(s), including OPeNDAP URLs, or path to zarr store, or xarray.Dataset or xarray.DataArray. var_name : str | list[str] | None ``optional`` Target variable name to process corresponding to ``in_files``. If None (default) on ECA&D index, the variable is guessed based on the climate index wanted. Mandatory for a user index. slice_mode : FrequencyLike | Frequency Type of temporal aggregation: The possibles values are ``{"year", "month", "DJF", "MAM", "JJA", "SON", "ONDJFM" or "AMJJAS", ("season", [1,2,3]), ("month", [1,2,3,])}`` (where season and month lists can be customized) or any valid pandas frequency. A season can also be defined between two exact dates: ``("season", ("19 july", "14 august"))``. Default is "year". See :ref:`slice_mode` for details. time_range : list[datetime.datetime ] | list[str] | tuple[str, str] | None ``optional`` Temporal range: upper and lower bounds for temporal subsetting. If ``None``, whole period of input files will be processed. The dates can either be given as instance of datetime.datetime or as string values. For strings, many format are accepted. Default is ``None``. out_file : str | None Output NetCDF file name (default: "icclim_out.nc" in the current directory). Default is "icclim_out.nc". If the input ``in_files`` is a ``Dataset``, ``out_file`` field is ignored. Use the function returned value instead to retrieve the computed value. If ``out_file`` already exists, icclim will overwrite it! threshold : float | list[float] | None ``optional`` User defined threshold for certain indices. Default depend on the index, see their individual definition. When a list of threshold is provided, the index will be computed for each thresholds. ignore_Feb29th : bool ``optional`` Ignoring or not February 29th (default: False). out_unit : str | None ``optional`` Output unit for certain indices: "days" or "%" (default: "days"). netcdf_version : str | NetcdfVersion ``optional`` NetCDF version to create (default: "NETCDF3_CLASSIC"). save_thresholds : bool ``optional`` True if the thresholds should be saved within the resulting netcdf file (default: False). date_event : bool When True the date of the event (such as when a maximum is reached) will be stored in coordinates variables. **warning** This option may significantly slow down computation. logs_verbosity : str | Verbosity ``optional`` Configure how verbose icclim is. Possible values: ``{"LOW", "HIGH", "SILENT"}`` (default: "LOW") Notes ----- This function has been auto-generated. """ return icclim.index( index_name=GenericIndicatorRegistry.Sum, in_files=in_files, var_name=var_name, slice_mode=slice_mode, time_range=time_range, out_file=out_file, threshold=threshold, ignore_Feb29th=ignore_Feb29th, out_unit=out_unit, netcdf_version=netcdf_version, save_thresholds=save_thresholds, logs_verbosity=logs_verbosity, date_event=date_event, )
[docs] def standard_deviation( in_files: InFileLike, var_name: str | Sequence[str] | None = None, slice_mode: FrequencyLike | Frequency = "year", time_range: Sequence[dt.datetime | str] | None = None, out_file: str | None = None, threshold: str | Threshold | Sequence[str | Threshold] | None = None, ignore_Feb29th: bool = False, out_unit: str | None = None, netcdf_version: str | NetcdfVersion = "NETCDF4", save_thresholds: bool = False, logs_verbosity: Verbosity | str = "LOW", date_event: bool = False, ) -> Dataset: """Standard deviation of values that met threshold(s), if threshold(s) are given. standard_deviation: Standard deviation of values that met threshold(s), if threshold(s) are given. Parameters ---------- in_files : str | list[str] | Dataset | DataArray | InputDictionary Absolute path(s) to NetCDF dataset(s), including OPeNDAP URLs, or path to zarr store, or xarray.Dataset or xarray.DataArray. var_name : str | list[str] | None ``optional`` Target variable name to process corresponding to ``in_files``. If None (default) on ECA&D index, the variable is guessed based on the climate index wanted. Mandatory for a user index. slice_mode : FrequencyLike | Frequency Type of temporal aggregation: The possibles values are ``{"year", "month", "DJF", "MAM", "JJA", "SON", "ONDJFM" or "AMJJAS", ("season", [1,2,3]), ("month", [1,2,3,])}`` (where season and month lists can be customized) or any valid pandas frequency. A season can also be defined between two exact dates: ``("season", ("19 july", "14 august"))``. Default is "year". See :ref:`slice_mode` for details. time_range : list[datetime.datetime ] | list[str] | tuple[str, str] | None ``optional`` Temporal range: upper and lower bounds for temporal subsetting. If ``None``, whole period of input files will be processed. The dates can either be given as instance of datetime.datetime or as string values. For strings, many format are accepted. Default is ``None``. out_file : str | None Output NetCDF file name (default: "icclim_out.nc" in the current directory). Default is "icclim_out.nc". If the input ``in_files`` is a ``Dataset``, ``out_file`` field is ignored. Use the function returned value instead to retrieve the computed value. If ``out_file`` already exists, icclim will overwrite it! threshold : float | list[float] | None ``optional`` User defined threshold for certain indices. Default depend on the index, see their individual definition. When a list of threshold is provided, the index will be computed for each thresholds. ignore_Feb29th : bool ``optional`` Ignoring or not February 29th (default: False). out_unit : str | None ``optional`` Output unit for certain indices: "days" or "%" (default: "days"). netcdf_version : str | NetcdfVersion ``optional`` NetCDF version to create (default: "NETCDF3_CLASSIC"). save_thresholds : bool ``optional`` True if the thresholds should be saved within the resulting netcdf file (default: False). date_event : bool When True the date of the event (such as when a maximum is reached) will be stored in coordinates variables. **warning** This option may significantly slow down computation. logs_verbosity : str | Verbosity ``optional`` Configure how verbose icclim is. Possible values: ``{"LOW", "HIGH", "SILENT"}`` (default: "LOW") Notes ----- This function has been auto-generated. """ # noqa: D401 return icclim.index( index_name=GenericIndicatorRegistry.StandardDeviation, in_files=in_files, var_name=var_name, slice_mode=slice_mode, time_range=time_range, out_file=out_file, threshold=threshold, ignore_Feb29th=ignore_Feb29th, out_unit=out_unit, netcdf_version=netcdf_version, save_thresholds=save_thresholds, logs_verbosity=logs_verbosity, date_event=date_event, )
[docs] def max_of_rolling_sum( in_files: InFileLike, var_name: str | Sequence[str] | None = None, slice_mode: FrequencyLike | Frequency = "year", time_range: Sequence[dt.datetime | str] | None = None, out_file: str | None = None, threshold: str | Threshold | Sequence[str | Threshold] | None = None, ignore_Feb29th: bool = False, out_unit: str | None = None, netcdf_version: str | NetcdfVersion = "NETCDF4", save_thresholds: bool = False, logs_verbosity: Verbosity | str = "LOW", date_event: bool = False, rolling_window_width: int | None = 5, ) -> Dataset: """Maximum of rolling sum over time dimension (e.g. RX5DAY: maximum 5 days window of precipitation accumulation). max_of_rolling_sum: Maximum of rolling sum over time dimension (e.g. RX5DAY: maximum 5 days window of precipitation accumulation). Parameters ---------- in_files : str | list[str] | Dataset | DataArray | InputDictionary Absolute path(s) to NetCDF dataset(s), including OPeNDAP URLs, or path to zarr store, or xarray.Dataset or xarray.DataArray. var_name : str | list[str] | None ``optional`` Target variable name to process corresponding to ``in_files``. If None (default) on ECA&D index, the variable is guessed based on the climate index wanted. Mandatory for a user index. slice_mode : FrequencyLike | Frequency Type of temporal aggregation: The possibles values are ``{"year", "month", "DJF", "MAM", "JJA", "SON", "ONDJFM" or "AMJJAS", ("season", [1,2,3]), ("month", [1,2,3,])}`` (where season and month lists can be customized) or any valid pandas frequency. A season can also be defined between two exact dates: ``("season", ("19 july", "14 august"))``. Default is "year". See :ref:`slice_mode` for details. time_range : list[datetime.datetime ] | list[str] | tuple[str, str] | None ``optional`` Temporal range: upper and lower bounds for temporal subsetting. If ``None``, whole period of input files will be processed. The dates can either be given as instance of datetime.datetime or as string values. For strings, many format are accepted. Default is ``None``. out_file : str | None Output NetCDF file name (default: "icclim_out.nc" in the current directory). Default is "icclim_out.nc". If the input ``in_files`` is a ``Dataset``, ``out_file`` field is ignored. Use the function returned value instead to retrieve the computed value. If ``out_file`` already exists, icclim will overwrite it! threshold : float | list[float] | None ``optional`` User defined threshold for certain indices. Default depend on the index, see their individual definition. When a list of threshold is provided, the index will be computed for each thresholds. rolling_window_width : int ``optional`` Window width of the rolling window for indicators such as `{max_of_rolling_sum, max_of_rolling_average, min_of_rolling_sum, min_of_rolling_average}` ignore_Feb29th : bool ``optional`` Ignoring or not February 29th (default: False). out_unit : str | None ``optional`` Output unit for certain indices: "days" or "%" (default: "days"). netcdf_version : str | NetcdfVersion ``optional`` NetCDF version to create (default: "NETCDF3_CLASSIC"). save_thresholds : bool ``optional`` True if the thresholds should be saved within the resulting netcdf file (default: False). date_event : bool When True the date of the event (such as when a maximum is reached) will be stored in coordinates variables. **warning** This option may significantly slow down computation. logs_verbosity : str | Verbosity ``optional`` Configure how verbose icclim is. Possible values: ``{"LOW", "HIGH", "SILENT"}`` (default: "LOW") Notes ----- This function has been auto-generated. """ return icclim.index( index_name=GenericIndicatorRegistry.MaxOfRollingSum, in_files=in_files, var_name=var_name, slice_mode=slice_mode, time_range=time_range, out_file=out_file, threshold=threshold, ignore_Feb29th=ignore_Feb29th, out_unit=out_unit, netcdf_version=netcdf_version, save_thresholds=save_thresholds, logs_verbosity=logs_verbosity, date_event=date_event, rolling_window_width=rolling_window_width, )
[docs] def min_of_rolling_sum( in_files: InFileLike, var_name: str | Sequence[str] | None = None, slice_mode: FrequencyLike | Frequency = "year", time_range: Sequence[dt.datetime | str] | None = None, out_file: str | None = None, threshold: str | Threshold | Sequence[str | Threshold] | None = None, ignore_Feb29th: bool = False, out_unit: str | None = None, netcdf_version: str | NetcdfVersion = "NETCDF4", save_thresholds: bool = False, logs_verbosity: Verbosity | str = "LOW", date_event: bool = False, rolling_window_width: int | None = 5, ) -> Dataset: """Minimum of rolling sum over time dimension. min_of_rolling_sum: Minimum of rolling sum over time dimension. Parameters ---------- in_files : str | list[str] | Dataset | DataArray | InputDictionary Absolute path(s) to NetCDF dataset(s), including OPeNDAP URLs, or path to zarr store, or xarray.Dataset or xarray.DataArray. var_name : str | list[str] | None ``optional`` Target variable name to process corresponding to ``in_files``. If None (default) on ECA&D index, the variable is guessed based on the climate index wanted. Mandatory for a user index. slice_mode : FrequencyLike | Frequency Type of temporal aggregation: The possibles values are ``{"year", "month", "DJF", "MAM", "JJA", "SON", "ONDJFM" or "AMJJAS", ("season", [1,2,3]), ("month", [1,2,3,])}`` (where season and month lists can be customized) or any valid pandas frequency. A season can also be defined between two exact dates: ``("season", ("19 july", "14 august"))``. Default is "year". See :ref:`slice_mode` for details. time_range : list[datetime.datetime ] | list[str] | tuple[str, str] | None ``optional`` Temporal range: upper and lower bounds for temporal subsetting. If ``None``, whole period of input files will be processed. The dates can either be given as instance of datetime.datetime or as string values. For strings, many format are accepted. Default is ``None``. out_file : str | None Output NetCDF file name (default: "icclim_out.nc" in the current directory). Default is "icclim_out.nc". If the input ``in_files`` is a ``Dataset``, ``out_file`` field is ignored. Use the function returned value instead to retrieve the computed value. If ``out_file`` already exists, icclim will overwrite it! threshold : float | list[float] | None ``optional`` User defined threshold for certain indices. Default depend on the index, see their individual definition. When a list of threshold is provided, the index will be computed for each thresholds. rolling_window_width : int ``optional`` Window width of the rolling window for indicators such as `{max_of_rolling_sum, max_of_rolling_average, min_of_rolling_sum, min_of_rolling_average}` ignore_Feb29th : bool ``optional`` Ignoring or not February 29th (default: False). out_unit : str | None ``optional`` Output unit for certain indices: "days" or "%" (default: "days"). netcdf_version : str | NetcdfVersion ``optional`` NetCDF version to create (default: "NETCDF3_CLASSIC"). save_thresholds : bool ``optional`` True if the thresholds should be saved within the resulting netcdf file (default: False). date_event : bool When True the date of the event (such as when a maximum is reached) will be stored in coordinates variables. **warning** This option may significantly slow down computation. logs_verbosity : str | Verbosity ``optional`` Configure how verbose icclim is. Possible values: ``{"LOW", "HIGH", "SILENT"}`` (default: "LOW") Notes ----- This function has been auto-generated. """ return icclim.index( index_name=GenericIndicatorRegistry.MinOfRollingSum, in_files=in_files, var_name=var_name, slice_mode=slice_mode, time_range=time_range, out_file=out_file, threshold=threshold, ignore_Feb29th=ignore_Feb29th, out_unit=out_unit, netcdf_version=netcdf_version, save_thresholds=save_thresholds, logs_verbosity=logs_verbosity, date_event=date_event, rolling_window_width=rolling_window_width, )
[docs] def max_of_rolling_average( in_files: InFileLike, var_name: str | Sequence[str] | None = None, slice_mode: FrequencyLike | Frequency = "year", time_range: Sequence[dt.datetime | str] | None = None, out_file: str | None = None, threshold: str | Threshold | Sequence[str | Threshold] | None = None, ignore_Feb29th: bool = False, out_unit: str | None = None, netcdf_version: str | NetcdfVersion = "NETCDF4", save_thresholds: bool = False, logs_verbosity: Verbosity | str = "LOW", date_event: bool = False, rolling_window_width: int | None = 5, ) -> Dataset: """Maximum of rolling average over time dimension. max_of_rolling_average: Maximum of rolling average over time dimension. Parameters ---------- in_files : str | list[str] | Dataset | DataArray | InputDictionary Absolute path(s) to NetCDF dataset(s), including OPeNDAP URLs, or path to zarr store, or xarray.Dataset or xarray.DataArray. var_name : str | list[str] | None ``optional`` Target variable name to process corresponding to ``in_files``. If None (default) on ECA&D index, the variable is guessed based on the climate index wanted. Mandatory for a user index. slice_mode : FrequencyLike | Frequency Type of temporal aggregation: The possibles values are ``{"year", "month", "DJF", "MAM", "JJA", "SON", "ONDJFM" or "AMJJAS", ("season", [1,2,3]), ("month", [1,2,3,])}`` (where season and month lists can be customized) or any valid pandas frequency. A season can also be defined between two exact dates: ``("season", ("19 july", "14 august"))``. Default is "year". See :ref:`slice_mode` for details. time_range : list[datetime.datetime ] | list[str] | tuple[str, str] | None ``optional`` Temporal range: upper and lower bounds for temporal subsetting. If ``None``, whole period of input files will be processed. The dates can either be given as instance of datetime.datetime or as string values. For strings, many format are accepted. Default is ``None``. out_file : str | None Output NetCDF file name (default: "icclim_out.nc" in the current directory). Default is "icclim_out.nc". If the input ``in_files`` is a ``Dataset``, ``out_file`` field is ignored. Use the function returned value instead to retrieve the computed value. If ``out_file`` already exists, icclim will overwrite it! threshold : float | list[float] | None ``optional`` User defined threshold for certain indices. Default depend on the index, see their individual definition. When a list of threshold is provided, the index will be computed for each thresholds. rolling_window_width : int ``optional`` Window width of the rolling window for indicators such as `{max_of_rolling_sum, max_of_rolling_average, min_of_rolling_sum, min_of_rolling_average}` ignore_Feb29th : bool ``optional`` Ignoring or not February 29th (default: False). out_unit : str | None ``optional`` Output unit for certain indices: "days" or "%" (default: "days"). netcdf_version : str | NetcdfVersion ``optional`` NetCDF version to create (default: "NETCDF3_CLASSIC"). save_thresholds : bool ``optional`` True if the thresholds should be saved within the resulting netcdf file (default: False). date_event : bool When True the date of the event (such as when a maximum is reached) will be stored in coordinates variables. **warning** This option may significantly slow down computation. logs_verbosity : str | Verbosity ``optional`` Configure how verbose icclim is. Possible values: ``{"LOW", "HIGH", "SILENT"}`` (default: "LOW") Notes ----- This function has been auto-generated. """ return icclim.index( index_name=GenericIndicatorRegistry.MaxOfRollingAverage, in_files=in_files, var_name=var_name, slice_mode=slice_mode, time_range=time_range, out_file=out_file, threshold=threshold, ignore_Feb29th=ignore_Feb29th, out_unit=out_unit, netcdf_version=netcdf_version, save_thresholds=save_thresholds, logs_verbosity=logs_verbosity, date_event=date_event, rolling_window_width=rolling_window_width, )
[docs] def min_of_rolling_average( in_files: InFileLike, var_name: str | Sequence[str] | None = None, slice_mode: FrequencyLike | Frequency = "year", time_range: Sequence[dt.datetime | str] | None = None, out_file: str | None = None, threshold: str | Threshold | Sequence[str | Threshold] | None = None, ignore_Feb29th: bool = False, out_unit: str | None = None, netcdf_version: str | NetcdfVersion = "NETCDF4", save_thresholds: bool = False, logs_verbosity: Verbosity | str = "LOW", date_event: bool = False, rolling_window_width: int | None = 5, ) -> Dataset: """Minimum of rolling average over time dimension. min_of_rolling_average: Minimum of rolling average over time dimension. Parameters ---------- in_files : str | list[str] | Dataset | DataArray | InputDictionary Absolute path(s) to NetCDF dataset(s), including OPeNDAP URLs, or path to zarr store, or xarray.Dataset or xarray.DataArray. var_name : str | list[str] | None ``optional`` Target variable name to process corresponding to ``in_files``. If None (default) on ECA&D index, the variable is guessed based on the climate index wanted. Mandatory for a user index. slice_mode : FrequencyLike | Frequency Type of temporal aggregation: The possibles values are ``{"year", "month", "DJF", "MAM", "JJA", "SON", "ONDJFM" or "AMJJAS", ("season", [1,2,3]), ("month", [1,2,3,])}`` (where season and month lists can be customized) or any valid pandas frequency. A season can also be defined between two exact dates: ``("season", ("19 july", "14 august"))``. Default is "year". See :ref:`slice_mode` for details. time_range : list[datetime.datetime ] | list[str] | tuple[str, str] | None ``optional`` Temporal range: upper and lower bounds for temporal subsetting. If ``None``, whole period of input files will be processed. The dates can either be given as instance of datetime.datetime or as string values. For strings, many format are accepted. Default is ``None``. out_file : str | None Output NetCDF file name (default: "icclim_out.nc" in the current directory). Default is "icclim_out.nc". If the input ``in_files`` is a ``Dataset``, ``out_file`` field is ignored. Use the function returned value instead to retrieve the computed value. If ``out_file`` already exists, icclim will overwrite it! threshold : float | list[float] | None ``optional`` User defined threshold for certain indices. Default depend on the index, see their individual definition. When a list of threshold is provided, the index will be computed for each thresholds. rolling_window_width : int ``optional`` Window width of the rolling window for indicators such as `{max_of_rolling_sum, max_of_rolling_average, min_of_rolling_sum, min_of_rolling_average}` ignore_Feb29th : bool ``optional`` Ignoring or not February 29th (default: False). out_unit : str | None ``optional`` Output unit for certain indices: "days" or "%" (default: "days"). netcdf_version : str | NetcdfVersion ``optional`` NetCDF version to create (default: "NETCDF3_CLASSIC"). save_thresholds : bool ``optional`` True if the thresholds should be saved within the resulting netcdf file (default: False). date_event : bool When True the date of the event (such as when a maximum is reached) will be stored in coordinates variables. **warning** This option may significantly slow down computation. logs_verbosity : str | Verbosity ``optional`` Configure how verbose icclim is. Possible values: ``{"LOW", "HIGH", "SILENT"}`` (default: "LOW") Notes ----- This function has been auto-generated. """ return icclim.index( index_name=GenericIndicatorRegistry.MinOfRollingAverage, in_files=in_files, var_name=var_name, slice_mode=slice_mode, time_range=time_range, out_file=out_file, threshold=threshold, ignore_Feb29th=ignore_Feb29th, out_unit=out_unit, netcdf_version=netcdf_version, save_thresholds=save_thresholds, logs_verbosity=logs_verbosity, date_event=date_event, rolling_window_width=rolling_window_width, )
[docs] def mean_of_difference( in_files: InFileLike, var_name: str | Sequence[str] | None = None, slice_mode: FrequencyLike | Frequency = "year", time_range: Sequence[dt.datetime | str] | None = None, out_file: str | None = None, threshold: str | Threshold | Sequence[str | Threshold] | None = None, ignore_Feb29th: bool = False, out_unit: str | None = None, netcdf_version: str | NetcdfVersion = "NETCDF4", save_thresholds: bool = False, logs_verbosity: Verbosity | str = "LOW", date_event: bool = False, ) -> Dataset: """Average of the difference between two variables, or one variable and it's reference period values (e.g. DTR: `mean(tasmax - tasmin)`). mean_of_difference: Average of the difference between two variables, or one variable and it's reference period values (e.g. DTR: `mean(tasmax - tasmin)`). Parameters ---------- in_files : str | list[str] | Dataset | DataArray | InputDictionary Absolute path(s) to NetCDF dataset(s), including OPeNDAP URLs, or path to zarr store, or xarray.Dataset or xarray.DataArray. var_name : str | list[str] | None ``optional`` Target variable name to process corresponding to ``in_files``. If None (default) on ECA&D index, the variable is guessed based on the climate index wanted. Mandatory for a user index. slice_mode : FrequencyLike | Frequency Type of temporal aggregation: The possibles values are ``{"year", "month", "DJF", "MAM", "JJA", "SON", "ONDJFM" or "AMJJAS", ("season", [1,2,3]), ("month", [1,2,3,])}`` (where season and month lists can be customized) or any valid pandas frequency. A season can also be defined between two exact dates: ``("season", ("19 july", "14 august"))``. Default is "year". See :ref:`slice_mode` for details. time_range : list[datetime.datetime ] | list[str] | tuple[str, str] | None ``optional`` Temporal range: upper and lower bounds for temporal subsetting. If ``None``, whole period of input files will be processed. The dates can either be given as instance of datetime.datetime or as string values. For strings, many format are accepted. Default is ``None``. out_file : str | None Output NetCDF file name (default: "icclim_out.nc" in the current directory). Default is "icclim_out.nc". If the input ``in_files`` is a ``Dataset``, ``out_file`` field is ignored. Use the function returned value instead to retrieve the computed value. If ``out_file`` already exists, icclim will overwrite it! threshold : float | list[float] | None ``optional`` User defined threshold for certain indices. Default depend on the index, see their individual definition. When a list of threshold is provided, the index will be computed for each thresholds. ignore_Feb29th : bool ``optional`` Ignoring or not February 29th (default: False). out_unit : str | None ``optional`` Output unit for certain indices: "days" or "%" (default: "days"). netcdf_version : str | NetcdfVersion ``optional`` NetCDF version to create (default: "NETCDF3_CLASSIC"). save_thresholds : bool ``optional`` True if the thresholds should be saved within the resulting netcdf file (default: False). date_event : bool When True the date of the event (such as when a maximum is reached) will be stored in coordinates variables. **warning** This option may significantly slow down computation. logs_verbosity : str | Verbosity ``optional`` Configure how verbose icclim is. Possible values: ``{"LOW", "HIGH", "SILENT"}`` (default: "LOW") Notes ----- This function has been auto-generated. """ return icclim.index( index_name=GenericIndicatorRegistry.MeanOfDifference, in_files=in_files, var_name=var_name, slice_mode=slice_mode, time_range=time_range, out_file=out_file, threshold=threshold, ignore_Feb29th=ignore_Feb29th, out_unit=out_unit, netcdf_version=netcdf_version, save_thresholds=save_thresholds, logs_verbosity=logs_verbosity, date_event=date_event, )
[docs] def difference_of_extremes( in_files: InFileLike, var_name: str | Sequence[str] | None = None, slice_mode: FrequencyLike | Frequency = "year", time_range: Sequence[dt.datetime | str] | None = None, out_file: str | None = None, threshold: str | Threshold | Sequence[str | Threshold] | None = None, ignore_Feb29th: bool = False, out_unit: str | None = None, netcdf_version: str | NetcdfVersion = "NETCDF4", save_thresholds: bool = False, logs_verbosity: Verbosity | str = "LOW", date_event: bool = False, ) -> Dataset: """Difference of extremes between two variables, or one variable and it's reference period values. The extremes are always `maximum` for the first variable and `minimum` for the second variable (e.g. ETR: `max(tasmax) - min(tasmin)`). difference_of_extremes: Difference of extremes between two variables, or one variable and it's reference period values. The extremes are always `maximum` for the first variable and `minimum` for the second variable (e.g. ETR: `max(tasmax) - min(tasmin)`). Parameters ---------- in_files : str | list[str] | Dataset | DataArray | InputDictionary Absolute path(s) to NetCDF dataset(s), including OPeNDAP URLs, or path to zarr store, or xarray.Dataset or xarray.DataArray. var_name : str | list[str] | None ``optional`` Target variable name to process corresponding to ``in_files``. If None (default) on ECA&D index, the variable is guessed based on the climate index wanted. Mandatory for a user index. slice_mode : FrequencyLike | Frequency Type of temporal aggregation: The possibles values are ``{"year", "month", "DJF", "MAM", "JJA", "SON", "ONDJFM" or "AMJJAS", ("season", [1,2,3]), ("month", [1,2,3,])}`` (where season and month lists can be customized) or any valid pandas frequency. A season can also be defined between two exact dates: ``("season", ("19 july", "14 august"))``. Default is "year". See :ref:`slice_mode` for details. time_range : list[datetime.datetime ] | list[str] | tuple[str, str] | None ``optional`` Temporal range: upper and lower bounds for temporal subsetting. If ``None``, whole period of input files will be processed. The dates can either be given as instance of datetime.datetime or as string values. For strings, many format are accepted. Default is ``None``. out_file : str | None Output NetCDF file name (default: "icclim_out.nc" in the current directory). Default is "icclim_out.nc". If the input ``in_files`` is a ``Dataset``, ``out_file`` field is ignored. Use the function returned value instead to retrieve the computed value. If ``out_file`` already exists, icclim will overwrite it! threshold : float | list[float] | None ``optional`` User defined threshold for certain indices. Default depend on the index, see their individual definition. When a list of threshold is provided, the index will be computed for each thresholds. ignore_Feb29th : bool ``optional`` Ignoring or not February 29th (default: False). out_unit : str | None ``optional`` Output unit for certain indices: "days" or "%" (default: "days"). netcdf_version : str | NetcdfVersion ``optional`` NetCDF version to create (default: "NETCDF3_CLASSIC"). save_thresholds : bool ``optional`` True if the thresholds should be saved within the resulting netcdf file (default: False). date_event : bool When True the date of the event (such as when a maximum is reached) will be stored in coordinates variables. **warning** This option may significantly slow down computation. logs_verbosity : str | Verbosity ``optional`` Configure how verbose icclim is. Possible values: ``{"LOW", "HIGH", "SILENT"}`` (default: "LOW") Notes ----- This function has been auto-generated. """ return icclim.index( index_name=GenericIndicatorRegistry.DifferenceOfExtremes, in_files=in_files, var_name=var_name, slice_mode=slice_mode, time_range=time_range, out_file=out_file, threshold=threshold, ignore_Feb29th=ignore_Feb29th, out_unit=out_unit, netcdf_version=netcdf_version, save_thresholds=save_thresholds, logs_verbosity=logs_verbosity, date_event=date_event, )
[docs] def mean_of_absolute_one_time_step_difference( in_files: InFileLike, var_name: str | Sequence[str] | None = None, slice_mode: FrequencyLike | Frequency = "year", time_range: Sequence[dt.datetime | str] | None = None, out_file: str | None = None, threshold: str | Threshold | Sequence[str | Threshold] | None = None, ignore_Feb29th: bool = False, out_unit: str | None = None, netcdf_version: str | NetcdfVersion = "NETCDF4", save_thresholds: bool = False, logs_verbosity: Verbosity | str = "LOW", date_event: bool = False, ) -> Dataset: """Average of the absolute one time step by one time step difference between two variables, or one variable and it's reference period values (e.g. vDTR: `mean((tasmax[i] - tasmin[i]) - (tasmax[i-1] - tasmin[i-1])` ; where i is the day of measure). mean_of_absolute_one_time_step_difference: Average of the absolute one time step by one time step difference between two variables, or one variable and it's reference period values (e.g. vDTR: `mean((tasmax[i] - tasmin[i]) - (tasmax[i-1] - tasmin[i-1])` ; where i is the day of measure). Parameters ---------- in_files : str | list[str] | Dataset | DataArray | InputDictionary Absolute path(s) to NetCDF dataset(s), including OPeNDAP URLs, or path to zarr store, or xarray.Dataset or xarray.DataArray. var_name : str | list[str] | None ``optional`` Target variable name to process corresponding to ``in_files``. If None (default) on ECA&D index, the variable is guessed based on the climate index wanted. Mandatory for a user index. slice_mode : FrequencyLike | Frequency Type of temporal aggregation: The possibles values are ``{"year", "month", "DJF", "MAM", "JJA", "SON", "ONDJFM" or "AMJJAS", ("season", [1,2,3]), ("month", [1,2,3,])}`` (where season and month lists can be customized) or any valid pandas frequency. A season can also be defined between two exact dates: ``("season", ("19 july", "14 august"))``. Default is "year". See :ref:`slice_mode` for details. time_range : list[datetime.datetime ] | list[str] | tuple[str, str] | None ``optional`` Temporal range: upper and lower bounds for temporal subsetting. If ``None``, whole period of input files will be processed. The dates can either be given as instance of datetime.datetime or as string values. For strings, many format are accepted. Default is ``None``. out_file : str | None Output NetCDF file name (default: "icclim_out.nc" in the current directory). Default is "icclim_out.nc". If the input ``in_files`` is a ``Dataset``, ``out_file`` field is ignored. Use the function returned value instead to retrieve the computed value. If ``out_file`` already exists, icclim will overwrite it! threshold : float | list[float] | None ``optional`` User defined threshold for certain indices. Default depend on the index, see their individual definition. When a list of threshold is provided, the index will be computed for each thresholds. ignore_Feb29th : bool ``optional`` Ignoring or not February 29th (default: False). out_unit : str | None ``optional`` Output unit for certain indices: "days" or "%" (default: "days"). netcdf_version : str | NetcdfVersion ``optional`` NetCDF version to create (default: "NETCDF3_CLASSIC"). save_thresholds : bool ``optional`` True if the thresholds should be saved within the resulting netcdf file (default: False). date_event : bool When True the date of the event (such as when a maximum is reached) will be stored in coordinates variables. **warning** This option may significantly slow down computation. logs_verbosity : str | Verbosity ``optional`` Configure how verbose icclim is. Possible values: ``{"LOW", "HIGH", "SILENT"}`` (default: "LOW") Notes ----- This function has been auto-generated. """ return icclim.index( index_name=GenericIndicatorRegistry.MeanOfAbsoluteOneTimeStepDifference, in_files=in_files, var_name=var_name, slice_mode=slice_mode, time_range=time_range, out_file=out_file, threshold=threshold, ignore_Feb29th=ignore_Feb29th, out_unit=out_unit, netcdf_version=netcdf_version, save_thresholds=save_thresholds, logs_verbosity=logs_verbosity, date_event=date_event, )
[docs] def difference_of_means( in_files: InFileLike, var_name: str | Sequence[str] | None = None, slice_mode: FrequencyLike | Frequency = "year", time_range: Sequence[dt.datetime | str] | None = None, out_file: str | None = None, threshold: str | Threshold | Sequence[str | Threshold] | None = None, ignore_Feb29th: bool = False, out_unit: str | None = None, netcdf_version: str | NetcdfVersion = "NETCDF4", save_thresholds: bool = False, logs_verbosity: Verbosity | str = "LOW", date_event: bool = False, sampling_method: SamplingMethodLike = "resample", ) -> Dataset: """Difference of the average between two variables, or one variable and it's reference period values (e.g. anomaly: `mean(tasmax) - mean(tasmax_ref]))`. difference_of_means: Difference of the average between two variables, or one variable and it's reference period values (e.g. anomaly: `mean(tasmax) - mean(tasmax_ref]))`. Parameters ---------- in_files : str | list[str] | Dataset | DataArray | InputDictionary Absolute path(s) to NetCDF dataset(s), including OPeNDAP URLs, or path to zarr store, or xarray.Dataset or xarray.DataArray. var_name : str | list[str] | None ``optional`` Target variable name to process corresponding to ``in_files``. If None (default) on ECA&D index, the variable is guessed based on the climate index wanted. Mandatory for a user index. slice_mode : FrequencyLike | Frequency Type of temporal aggregation: The possibles values are ``{"year", "month", "DJF", "MAM", "JJA", "SON", "ONDJFM" or "AMJJAS", ("season", [1,2,3]), ("month", [1,2,3,])}`` (where season and month lists can be customized) or any valid pandas frequency. A season can also be defined between two exact dates: ``("season", ("19 july", "14 august"))``. Default is "year". See :ref:`slice_mode` for details. time_range : list[datetime.datetime ] | list[str] | tuple[str, str] | None ``optional`` Temporal range: upper and lower bounds for temporal subsetting. If ``None``, whole period of input files will be processed. The dates can either be given as instance of datetime.datetime or as string values. For strings, many format are accepted. Default is ``None``. out_file : str | None Output NetCDF file name (default: "icclim_out.nc" in the current directory). Default is "icclim_out.nc". If the input ``in_files`` is a ``Dataset``, ``out_file`` field is ignored. Use the function returned value instead to retrieve the computed value. If ``out_file`` already exists, icclim will overwrite it! threshold : float | list[float] | None ``optional`` User defined threshold for certain indices. Default depend on the index, see their individual definition. When a list of threshold is provided, the index will be computed for each thresholds. ignore_Feb29th : bool ``optional`` Ignoring or not February 29th (default: False). out_unit : str | None ``optional`` Output unit for certain indices: "days" or "%" (default: "days"). netcdf_version : str | NetcdfVersion ``optional`` NetCDF version to create (default: "NETCDF3_CLASSIC"). save_thresholds : bool ``optional`` True if the thresholds should be saved within the resulting netcdf file (default: False). date_event : bool When True the date of the event (such as when a maximum is reached) will be stored in coordinates variables. **warning** This option may significantly slow down computation. logs_verbosity : str | Verbosity ``optional`` Configure how verbose icclim is. Possible values: ``{"LOW", "HIGH", "SILENT"}`` (default: "LOW") sampling_method : str Choose whether the output sampling configured in `slice_mode` is a `groupby` operation or a `resample` operation (as per xarray definitions). Possible values: ``{"groupby", "resample", "groupby_ref_and_resample_study"}`` (default: "resample") `groupby_ref_and_resample_study` may only be used when computing the `difference_of_means` (a.k.a the anomaly). Notes ----- This function has been auto-generated. """ return icclim.index( index_name=GenericIndicatorRegistry.DifferenceOfMeans, in_files=in_files, var_name=var_name, slice_mode=slice_mode, time_range=time_range, out_file=out_file, threshold=threshold, ignore_Feb29th=ignore_Feb29th, out_unit=out_unit, netcdf_version=netcdf_version, save_thresholds=save_thresholds, logs_verbosity=logs_verbosity, date_event=date_event, sampling_method=sampling_method, )
[docs] def percentile( in_files: InFileLike, var_name: str | Sequence[str] | None = None, slice_mode: FrequencyLike | Frequency = "year", time_range: Sequence[dt.datetime | str] | None = None, out_file: str | None = None, threshold: str | Threshold | Sequence[str | Threshold] | None = None, ignore_Feb29th: bool = False, out_unit: str | None = None, netcdf_version: str | NetcdfVersion = "NETCDF4", save_thresholds: bool = False, logs_verbosity: Verbosity | str = "LOW", date_event: bool = False, ) -> Dataset: """Percentile of a variable. percentile: Percentile of a variable. Parameters ---------- in_files : str | list[str] | Dataset | DataArray | InputDictionary Absolute path(s) to NetCDF dataset(s), including OPeNDAP URLs, or path to zarr store, or xarray.Dataset or xarray.DataArray. var_name : str | list[str] | None ``optional`` Target variable name to process corresponding to ``in_files``. If None (default) on ECA&D index, the variable is guessed based on the climate index wanted. Mandatory for a user index. slice_mode : FrequencyLike | Frequency Type of temporal aggregation: The possibles values are ``{"year", "month", "DJF", "MAM", "JJA", "SON", "ONDJFM" or "AMJJAS", ("season", [1,2,3]), ("month", [1,2,3,])}`` (where season and month lists can be customized) or any valid pandas frequency. A season can also be defined between two exact dates: ``("season", ("19 july", "14 august"))``. Default is "year". See :ref:`slice_mode` for details. time_range : list[datetime.datetime ] | list[str] | tuple[str, str] | None ``optional`` Temporal range: upper and lower bounds for temporal subsetting. If ``None``, whole period of input files will be processed. The dates can either be given as instance of datetime.datetime or as string values. For strings, many format are accepted. Default is ``None``. out_file : str | None Output NetCDF file name (default: "icclim_out.nc" in the current directory). Default is "icclim_out.nc". If the input ``in_files`` is a ``Dataset``, ``out_file`` field is ignored. Use the function returned value instead to retrieve the computed value. If ``out_file`` already exists, icclim will overwrite it! threshold : float | list[float] | None ``optional`` User defined threshold for certain indices. Default depend on the index, see their individual definition. When a list of threshold is provided, the index will be computed for each thresholds. ignore_Feb29th : bool ``optional`` Ignoring or not February 29th (default: False). out_unit : str | None ``optional`` Output unit for certain indices: "days" or "%" (default: "days"). netcdf_version : str | NetcdfVersion ``optional`` NetCDF version to create (default: "NETCDF3_CLASSIC"). save_thresholds : bool ``optional`` True if the thresholds should be saved within the resulting netcdf file (default: False). date_event : bool When True the date of the event (such as when a maximum is reached) will be stored in coordinates variables. **warning** This option may significantly slow down computation. logs_verbosity : str | Verbosity ``optional`` Configure how verbose icclim is. Possible values: ``{"LOW", "HIGH", "SILENT"}`` (default: "LOW") Notes ----- This function has been auto-generated. """ return icclim.index( index_name=GenericIndicatorRegistry.Percentile, in_files=in_files, var_name=var_name, slice_mode=slice_mode, time_range=time_range, out_file=out_file, threshold=threshold, ignore_Feb29th=ignore_Feb29th, out_unit=out_unit, netcdf_version=netcdf_version, save_thresholds=save_thresholds, logs_verbosity=logs_verbosity, date_event=date_event, )
[docs] def custom_index( user_index: UserIndexDict, in_files: InFileLike, var_name: str | Sequence[str] | None = None, slice_mode: FrequencyLike | Frequency = "year", time_range: Sequence[dt.datetime | str] | None = None, out_file: str | None = None, base_period_time_range: Sequence[dt.datetime] | Sequence[str] | None = None, doy_window_width: int = 5, only_leap_years: bool = False, ignore_Feb29th: bool = False, interpolation: str | QuantileInterpolation = "median_unbiased", out_unit: str | None = None, netcdf_version: str | NetcdfVersion = "NETCDF4", save_thresholds: bool = False, logs_verbosity: Verbosity | str = "LOW", date_event: bool = False, min_spell_length: int | None = 6, rolling_window_width: int | None = 5, sampling_method: SamplingMethodLike = "resample", ) -> Dataset: """Compute custom indices using simple operators. Use the `user_index` parameter to describe how the index should be computed. You can find some examples in icclim documentation at :ref:`custom indices` Parameters ---------- in_files : str | list[str] | Dataset | DataArray | InputDictionary Absolute path(s) to NetCDF dataset(s), including OPeNDAP URLs, or path to zarr store, or xarray.Dataset or xarray.DataArray. var_name : str | list[str] | None ``optional`` Target variable name to process corresponding to ``in_files``. If None (default) on ECA&D index, the variable is guessed based on the climate index wanted. Mandatory for a user index. slice_mode : FrequencyLike | Frequency Type of temporal aggregation: The possibles values are ``{"year", "month", "DJF", "MAM", "JJA", "SON", "ONDJFM" or "AMJJAS", ("season", [1,2,3]), ("month", [1,2,3,])}`` (where season and month lists can be customized) or any valid pandas frequency. A season can also be defined between two exact dates: ``("season", ("19 july", "14 august"))``. Default is "year". See :ref:`slice_mode` for details. time_range : list[datetime.datetime ] | list[str] | tuple[str, str] | None ``optional`` Temporal range: upper and lower bounds for temporal subsetting. If ``None``, whole period of input files will be processed. The dates can either be given as instance of datetime.datetime or as string values. For strings, many format are accepted. Default is ``None``. out_file : str | None Output NetCDF file name (default: "icclim_out.nc" in the current directory). Default is "icclim_out.nc". If the input ``in_files`` is a ``Dataset``, ``out_file`` field is ignored. Use the function returned value instead to retrieve the computed value. If ``out_file`` already exists, icclim will overwrite it! base_period_time_range : list[datetime.datetime ] | list[str] | tuple[str, str] | None ``optional`` Temporal range of the reference period. The dates can either be given as instance of datetime.datetime or as string values. It is used either: #. to compute percentiles if threshold is filled. When missing, the studied period is used to compute percentiles. The study period is either the dataset filtered by `time_range` or the whole dataset if `time_range` is missing. For day of year percentiles (doy_per), on extreme percentiles the overlapping period between `base_period_time_range` and the study period is bootstrapped. #. to compute a reference period for indices such as difference_of_mean (a.k.a anomaly) if a single variable is given in input. doy_window_width : int ``optional`` Window width used to aggreagte day of year values when computing day of year percentiles (doy_per) Default: 5 (5 days). min_spell_length : int ``optional`` Minimum spell duration to be taken into account when computing the sum_of_spell_lengths. rolling_window_width : int ``optional`` Window width of the rolling window for indicators such as `{max_of_rolling_sum, max_of_rolling_average, min_of_rolling_sum, min_of_rolling_average}` only_leap_years : bool ``optional`` Option for February 29th (default: False). ignore_Feb29th : bool ``optional`` Ignoring or not February 29th (default: False). interpolation : str | QuantileInterpolation | None ``optional`` Interpolation method to compute percentile values: ``{"linear", "median_unbiased"}`` Default is "median_unbiased", a.k.a type 8 or method 8. Ignored for non percentile based indices. out_unit : str | None ``optional`` Output unit for certain indices: "days" or "%" (default: "days"). netcdf_version : str | NetcdfVersion ``optional`` NetCDF version to create (default: "NETCDF3_CLASSIC"). save_thresholds : bool ``optional`` True if the thresholds should be saved within the resulting netcdf file (default: False). date_event : bool When True the date of the event (such as when a maximum is reached) will be stored in coordinates variables. **warning** This option may significantly slow down computation. logs_verbosity : str | Verbosity ``optional`` Configure how verbose icclim is. Possible values: ``{"LOW", "HIGH", "SILENT"}`` (default: "LOW") sampling_method : str Choose whether the output sampling configured in `slice_mode` is a `groupby` operation or a `resample` operation (as per xarray definitions). Possible values: ``{"groupby", "resample", "groupby_ref_and_resample_study"}`` (default: "resample") `groupby_ref_and_resample_study` may only be used when computing the `difference_of_means` (a.k.a the anomaly). Notes ----- This function has been auto-generated. """ return icclim.index( user_index=user_index, in_files=in_files, var_name=var_name, slice_mode=slice_mode, time_range=time_range, out_file=out_file, base_period_time_range=base_period_time_range, doy_window_width=doy_window_width, only_leap_years=only_leap_years, ignore_Feb29th=ignore_Feb29th, interpolation=interpolation, out_unit=out_unit, netcdf_version=netcdf_version, save_thresholds=save_thresholds, logs_verbosity=logs_verbosity, date_event=date_event, min_spell_length=min_spell_length, rolling_window_width=rolling_window_width, sampling_method=sampling_method, )