environmentaltools.temporal.iso_indicators

environmentaltools.temporal.iso_indicators(indicators: str, reference: DataFrame, variable: str, param: dict = None, data: DataFrame = None, daysWindowsLength: int = 14, pemp: list = None)[source]

Compute indicators from iso-probability lines of non-stationary CDF.

Calculates climate change indicators by tracking iso-probability contours (e.g., 95th percentile) through time in non-stationary distributions.

Parameters:
  • indicators (str or list) – Indicator types to compute. Can be single string or list of strings. Examples: ‘mean’, ‘p95’, ‘p99’, ‘max’

  • reference (pd.DataFrame) – Reference time series with datetime index for baseline period

  • variable (str) – Name of variable column to analyze

  • param (dict, optional) –

    Non-stationary distribution parameters with keys:

    • basis_periodlist or None

      Time periods for non-stationary analysis

    If None, uses empirical non-stationary CDF. Default: None

  • data (pd.DataFrame, optional) – Additional data for empirical analysis. Default: None

  • daysWindowsLength (int, optional) – Window length (days) for moving window CDF estimation. Default: 14

  • pemp (list, optional) – Pre-computed empirical percentiles. If None, computed from data. Default: None

Returns:

Computed indicators with temporal evolution of iso-probability lines

Return type:

dict or pd.DataFrame

Notes

Iso-probability lines track how a specific quantile (e.g., 95th percentile) changes over time in non-stationary conditions. Useful for:

  • Assessing climate change impacts

  • Detecting trends in extreme events

  • Comparing baseline vs future scenarios

Uses moving window approach to estimate time-varying CDF, then extracts specified quantiles at each time step.

Examples

>>> indicators = iso_indicators(
...     indicators=['p95', 'p99'],
...     reference=historical_data,
...     variable='wave_height',
...     param=fitted_params,
...     daysWindowsLength=30
... )