# Climate indicators

`xclim.core.indicator.Indicator`

instances essentially perform the same computations as the functions
found in the `xclim.indices`

library, but also run a number of health checks on input data
and assign attributes to the output arrays. So for example, if there are missing values in
a time series, indices won’t notice, but indicators will return NaNs for periods with missing
values (depending on the missing values algorithm selected, see Missing values identification). Indicators also check that the input data has the expected frequency (e.g. daily) and that
it is indeed the expected variable (e.g. a precipitation flux). The output is assigned attributes
that conform as much as possible with the CF-Convention.

Indicators are split into realms (atmos, land, seaIce), according to the variables they operate on. See Defining new indicators for instruction on how to create your own indicators. This page lists all indicators with a summary description, click on the names to get to the complete docstring of each indicator.

## atmos: Atmosphere

`atmos.biologically_effective_degree_days`

: **Biologically effective growing degree days.**

**Description:**Growing-degree days with a base of 10°C and an upper limit of 19°C and adjusted for latitudes between 40°N and 50°N for April to October (Northern Hemisphere; October to April in Southern Hemisphere). A temperature range adjustment also promotes small and large swings in daily temperature range. Used as a heat-summation metric in viticulture agroclimatology.

**Based on**

`xclim.indices.biologically_effective_degree_days`

**Produces:**

`bedd: Biologically effective degree days computed with gladstones formula (summation of min((max((tmin + tmax)/2 - 10 degc, 0) * k) + tr_adg, 9°c), for days between 04-01 and 11-01). [K days]`

`atmos.calm_days`

: **Calm days.**

**Description:**The number of days with average near-surface wind speed below threshold.

**Based on**

`xclim.indices.calm_days`

**Produces:**

`calm_days: Number of days with surface wind speed below threshold [days]`

`atmos.cold_and_dry_days`

: **Cold and dry days**

**Description:**Returns the total number of days where "Cold" and "Dry" conditions coincide.

**Based on**

`xclim.indices.cold_and_dry_days`

**Produces:**

`cold_and_dry_days: Cold and dry days [days]`

`atmos.cold_and_wet_days`

: **cold and wet days**

**Description:**Returns the total number of days where "cold" and "wet" conditions coincide.

**Based on**

`xclim.indices.cold_and_wet_days`

**Produces:**

`cold_and_wet_days: Cold and wet days [days]`

`atmos.cold_spell_days`

: **Cold spell days.**

**Description:**The number of days that are part of cold spell events, defined as a sequence of consecutive days with mean daily temperature below a threshold in °C.

**Based on**

`xclim.indices.cold_spell_days`

**Produces:**

`cold_spell_days: Number of days part of a cold spell [days]`

`atmos.cold_spell_duration_index`

: **Cold spell duration index.**

**Description:**Number of days with at least `window` consecutive days where the daily minimum temperature is below the `tasmin_per` percentiles.

**Based on**

`xclim.indices.cold_spell_duration_index`

**Produces:**

`csdi_6: Number of days part of a percentile-defined cold spell [days]`

`atmos.cold_spell_frequency`

: **Cold spell frequency.**

**Description:**The number of cold spell events, defined as a sequence of consecutive days with mean daily temperature below a threshold.

**Based on**

`xclim.indices.cold_spell_frequency`

**Produces:**

`cold_spell_frequency: Number of cold spell events []`

`atmos.consecutive_frost_days`

: **Maximum number of consecutive frost days (Tn < 0℃).**

**Description:**The maximum number of consecutive days within the period where the temperature is under a certain threshold (default: 0°C). WARNING: The default freq value is valid for the northern hemisphere.

**Based on**

`xclim.indices.maximum_consecutive_frost_days`

**Produces:**

`consecutive_frost_days: Maximum number of consecutive days with tmin < 0.0 degc [days]`

`atmos.cool_night_index`

: **Cool Night Index.**

**Description:**A night coolness variable which takes into account the mean minimum night temperatures during the month when ripening usually occurs beyond the ripening period.

**Based on**

`xclim.indices.cool_night_index`

**Produces:**

`cool_night_index: Cool night index [degC]`

`atmos.cooling_degree_days`

: **Cooling degree days.**

**Description:**Sum of degree days above the temperature threshold at which spaces are cooled.

**Based on**

`xclim.indices.cooling_degree_days`

**Produces:**

`cooling_degree_days: Cooling degree days (tmean > 18.0 degc) [K days]`

`atmos.corn_heat_units`

: **Corn heat units.**

**Description:**Temperature-based index used to estimate the development of corn crops. Formula adapted from [BootsmaTremblay&Filion1999]_.

**Based on**

`xclim.indices.corn_heat_units`

**Produces:**

`chu: Corn heat units (tmin > 4.44 degc and tmax > 10 degc). []`

`atmos.daily_freezethaw_cycles`

: **Statistics of consecutive diurnal temperature swing events.**

**Id:**dlyfrzthw

**Description:**A diurnal swing of max and min temperature event is when Tmax > thresh_tasmax and Tmin <= thresh_tasmin. This indice finds all days that constitute these events and computes statistics over the length and frequency of these events.

**Based on**

`xclim.indices.multiday_temperature_swing`

**Produces:**

`dlyfrzthw: Daily freezethaw cycles [days]`

`atmos.daily_pr_intensity`

: **Average daily precipitation intensity.**

**Id:**sdii

**Description:**Return the average precipitation over wet days.

**Based on**

`xclim.indices.daily_pr_intensity`

**Produces:**

`sdii: Average precipitation during wet days (sdii) [mm/day]`

`atmos.daily_temperature_range`

: **Mean of daily temperature range.**

**Id:**dtr

**Description:**The mean difference between the daily maximum temperature and the daily minimum temperature.

**Based on**

`xclim.indices.daily_temperature_range`

**Produces:**

`dtr: Mean diurnal temperature range [K]`

`atmos.daily_temperature_range_variability`

: **Mean absolute day-to-day variation in daily temperature range.**

**Id:**dtrvar

**Description:**Mean absolute day-to-day variation in daily temperature range.

**Based on**

`xclim.indices.daily_temperature_range_variability`

**Produces:**

`dtrvar: Mean diurnal temperature range variability [K]`

`atmos.days_over_precip_doy_thresh`

: **Number of wet days with daily precipitation over a given percentile.**

**Description:**Number of days over period where the precipitation is above a threshold defining wet days and above a given percentile for that day.

**Based on**

`xclim.indices.days_over_precip_thresh`

**Produces:**

`days_over_precip_doy_thresh: Count of days with daily precipitation above the given percentile [days]. [days]`

`atmos.days_over_precip_thresh`

: **Number of wet days with daily precipitation over a given percentile.**

**Description:**Number of days over period where the precipitation is above a threshold defining wet days and above a given percentile for that day.

**Based on**

`xclim.indices.days_over_precip_thresh`

**Produces:**

`days_over_precip_thresh: Count of days with daily precipitation above the given percentile [days]. [days]`

`atmos.days_with_snow`

: **Days with snowfall**

**Description:**Return the number of days where snowfall is within low and high thresholds.

**Based on**

`xclim.indices.days_with_snow`

**Produces:**

`days_with_snow: Number of days with solid precipitation flux between low and high thresholds. [days]`

`atmos.degree_days_exceedance_date`

: **Degree days exceedance date.**

**Description:**Day of year when the sum of degree days exceeds a threshold. Degree days are computed above or below a given temperature threshold.

**Based on**

`xclim.indices.degree_days_exceedance_date`

**Produces:**

`degree_days_exceedance_date: Day of year when cumulative degree days exceed 25 k days. []`

`atmos.drought_code`

: **Drought code (FWI component).**

**Id:**dc

**Description:**The drought code is part of the Canadian Forest Fire Weather Index System. It is a numeric rating of the average moisture content of organic layers.

**Based on**

`xclim.indices.drought_code`

**Produces:**

`dc: Drought code []`

`atmos.dry_days`

: **Dry days.**

**Description:**The number of days with daily precipitation below threshold.

**Based on**

`xclim.indices.dry_days`

**Produces:**

`dry_days: Number of dry days (precip < 0.2 mm/d) [days]`

`atmos.dry_spell_frequency`

: **Return the number of dry periods of n days and more.**

**Description:**Periods during which the accumulated or maximal daily precipitation amount on a window of n days is under threshold.

**Based on**

`xclim.indices.dry_spell_frequency`

**Produces:**

`dry_spell_frequency: The annual number of dry periods of minimum 3 days. []`

`atmos.dry_spell_total_length`

: **Total length of dry spells.**

**Description:**Total number of days in dry periods of a minimum length, during which the maximum or accumulated precipitation within a window of the same length is under a threshold.

**Based on**

`xclim.indices.dry_spell_total_length`

**Produces:**

`dry_spell_total_length: The annual total number of days in dry periods of minimum 3 days. [days]`

`atmos.extreme_temperature_range`

: **Extreme intra-period temperature range.**

**Id:**etr

**Description:**The maximum of max temperature (TXx) minus the minimum of min temperature (TNn) for the given time period.

**Based on**

`xclim.indices.extreme_temperature_range`

**Produces:**

`etr: Intra-period extreme temperature range [K]`

`atmos.fire_season`

: **Fire season mask.**

**Description:**Binary mask of the active fire season, defined by conditions on consecutive daily temperatures and, optionally, snow depths.

**Based on**

`xclim.indices.fire_season`

**Produces:**

`fire_season: Fire season mask []`

`atmos.fire_weather_indexes`

: **Fire weather indexes.**

**Id:**fwi

**Description:**Computes the 6 fire weather indexes as defined by the Canadian Forest Service: the Drought Code, the Duff-Moisture Code, the Fine Fuel Moisture Code, the Initial Spread Index, the Build Up Index and the Fire Weather Index.

**Based on**

`xclim.indices.fire_weather_indexes`

**Produces:**

`dc: Drought code []`

`dmc: Duff moisture code []`

`ffmc: Fine fuel moisture code []`

`isi: Initial spread index []`

`bui: Buildup index []`

`fwi: Fire weather index []`

`atmos.first_day_above`

: **First day of temperatures superior to a threshold temperature.**

**Description:**Returns first day of period where a temperature is superior to a threshold over a given number of days, limited to a starting calendar date.

**Based on**

`xclim.indices.first_day_above`

**Produces:**

`first_day_above: First day of year with temperature above 0 degc []`

`atmos.first_day_below`

: **First day of temperatures inferior to a threshold temperature.**

**Description:**Returns first day of period where a temperature is inferior to a threshold over a given number of days, limited to a starting calendar date.

**Based on**

`xclim.indices.first_day_below`

**Produces:**

`first_day_below: First day of year with temperature below 0 degc []`

`atmos.first_snowfall`

: **First day with solid precipitation above a threshold.**

**Description:**Returns the first day of a period where the solid precipitation exceeds a threshold. WARNING: The default `freq` is valid for the northern hemisphere.

**Based on**

`xclim.indices.first_snowfall`

**Produces:**

`first_snowfall: Date of first snowfall []`

`atmos.fraction_over_precip_doy_thresh`

: **Fraction of precipitation due to wet days with daily precipitation over a given percentile.**

**Description:**Percentage of the total precipitation over period occurring in days where the precipitation is above a threshold defining wet days and above a given percentile for that day.

**Based on**

`xclim.indices.fraction_over_precip_thresh`

**Produces:**

`fraction_over_precip_doy_thresh: Fraction of precipitation over threshold during wet days. []`

`atmos.fraction_over_precip_thresh`

: **Fraction of precipitation due to wet days with daily precipitation over a given percentile.**

**Description:**Percentage of the total precipitation over period occurring in days where the precipitation is above a threshold defining wet days and above a given percentile for that day.

**Based on**

`xclim.indices.fraction_over_precip_thresh`

**Produces:**

`fraction_over_precip_thresh: Fraction of precipitation over threshold during wet days. []`

`atmos.freezethaw_spell_frequency`

: **Frequency of freeze-thaw spells**

**Description:**A diurnal swing of max and min temperature event is when Tmax > thresh_tasmax and Tmin <= thresh_tasmin. This indice finds all days that constitute these events and computes statistics over the length and frequency of these events.

**Based on**

`xclim.indices.multiday_temperature_swing`

**Produces:**

`freezethaw_spell_frequency: Annual number of freeze-thaw spells. [days]`

`atmos.freezethaw_spell_max_length`

: **Maximal length of freeze-thaw spells.**

**Description:**A diurnal swing of max and min temperature event is when Tmax > thresh_tasmax and Tmin <= thresh_tasmin. This indice finds all days that constitute these events and computes statistics over the length and frequency of these events.

**Based on**

`xclim.indices.multiday_temperature_swing`

**Produces:**

`freezethaw_spell_max_length: Annual maximal length of freeze-thaw spells. [days]`

`atmos.freezethaw_spell_mean_length`

: **Averge length of freeze-thaw spells.**

**Description:**A diurnal swing of max and min temperature event is when Tmax > thresh_tasmax and Tmin <= thresh_tasmin. This indice finds all days that constitute these events and computes statistics over the length and frequency of these events.

**Based on**

`xclim.indices.multiday_temperature_swing`

**Produces:**

`freezethaw_spell_mean_length: Annual average length of freeze-thaw spells. [days]`

`atmos.freezing_degree_days`

: **Heating degree days.**

**Description:**Sum of degree days below the temperature threshold at which spaces are heated.

**Based on**

`xclim.indices.heating_degree_days`

**Produces:**

`freezing_degree_days: Freezing degree days (tmean < 0 degc) [K days]`

`atmos.freshet_start`

: **First day consistently exceeding threshold temperature.**

**Description:**Returns first day of period where a temperature threshold is exceeded over a given number of days.

**Based on**

`xclim.indices.freshet_start`

**Produces:**

`freshet_start: Day of year of spring freshet start []`

`atmos.frost_days`

: **Frost days index.**

**Description:**Number of days where daily minimum temperatures are below a threshold temperature.

**Based on**

`xclim.indices.frost_days`

**Produces:**

`frost_days: Number of frost days (tmin < 0 degc) [days]`

`atmos.frost_free_season_end`

: **End of the frost free season.**

**Description:**Day of the year of the start of a sequence of days with minimum temperatures consistently below a threshold, after a period with minimum temperatures consistently above the same threshold.

**Based on**

`xclim.indices.frost_free_season_end`

**Produces:**

`frost_free_season_end: Day of year of frost free season end []`

`atmos.frost_free_season_length`

: **Frost free season length.**

**Description:**The number of days between the first occurrence of at least N (def: 5) consecutive days with minimum daily temperature above a threshold (default: 0℃) and the first occurrence of at least N (def 5) consecutive days with minimum daily temperature below the same threshold A mid date can be given to limit the earliest day the end of season can take. WARNING: The default freq and mid_date values are valid for the northern hemisphere.

**Based on**

`xclim.indices.frost_free_season_length`

**Produces:**

`frost_free_season_length: Length of the frost free season [days]`

`atmos.frost_free_season_start`

: **Start of the frost free season.**

**Description:**Day of the year of the start of a sequence of days with minimum temperatures consistently above or equal to a threshold, after a period with minimum temperatures consistently above the same threshold.

**Based on**

`xclim.indices.frost_free_season_start`

**Produces:**

`frost_free_season_start: Day of year of frost free season start []`

`atmos.frost_season_length`

: **Frost season length.**

**Description:**The number of days between the first occurrence of at least N (def: 5) consecutive days with minimum daily temperature under a threshold (default: 0℃) and the first occurrence of at least N (def 5) consecutive days with minimum daily temperature above the same threshold A mid date can be given to limit the earliest day the end of season can take. WARNING: The default freq and mid_date values are valid for the northern hemisphere.

**Based on**

`xclim.indices.frost_season_length`

**Produces:**

`frost_season_length: Length of the frost season [days]`

`atmos.growing_degree_days`

: **Growing degree-days over threshold temperature value.**

**Description:**The sum of degree-days over the threshold temperature.

**Based on**

`xclim.indices.growing_degree_days`

**Produces:**

`growing_degree_days: Growing degree days above 4.0 degc [K days]`

`atmos.growing_season_end`

: **End of the growing season.**

**Description:**Day of the year of the start of a sequence of days with mean temperatures consistently below a threshold, after a period with mean temperatures consistently above the same threshold.

**Based on**

`xclim.indices.growing_season_end`

**Produces:**

`growing_season_end: Day of year of growing season end []`

`atmos.growing_season_length`

: **Growing season length.**

**Description:**The number of days between the first occurrence of at least six consecutive days with mean daily temperature over a threshold (default: 5℃) and the first occurrence of at least six consecutive days with mean daily temperature below the same threshold after a certain date. (Usually July 1st in the northern emisphere and January 1st in the southern hemisphere.)

**Based on**

`xclim.indices.growing_season_length`

**Produces:**

`growing_season_length: Etccdi growing season length (tmean > 5.0 degc) [days]`

`atmos.growing_season_start`

: **Start of the growing season.**

**Description:**Day of the year of the start of a sequence of days with mean temperatures consistently above or equal to a threshold, after a period with mean temperatures consistently above the same threshold.

**Based on**

`xclim.indices.growing_season_start`

**Produces:**

`growing_season_start: Day of year of growing season start []`

`atmos.heat_index`

: **Daily heat index.**

**Description:**Perceived temperature after relative humidity is taken into account ([Blazejczyk2012]_). The index is only valid for temperatures above 20°C.

**Based on**

`xclim.indices.heat_index`

**Produces:**

`heat_index: Heat index [C]`

`atmos.heat_wave_frequency`

: **Heat wave frequency.**

**Description:**Number of heat waves over a given period. A heat wave is defined as an event where the minimum and maximum daily temperature both exceeds specific thresholds over a minimum number of days.

**Based on**

`xclim.indices.heat_wave_frequency`

**Produces:**

`heat_wave_frequency: Number of heat wave events (tmin > 22.0 degc and tmax > 30 degc for >= 3 days) []`

`atmos.heat_wave_index`

: **Heat wave index.**

**Description:**Number of days that are part of a heatwave, defined as five or more consecutive days over 25℃.

**Based on**

`xclim.indices.heat_wave_index`

**Produces:**

`heat_wave_index: Number of days that are part of a heatwave [days]`

`atmos.heat_wave_max_length`

: **Heat wave max length.**

**Description:**Maximum length of heat waves over a given period. A heat wave is defined as an event where the minimum and maximum daily temperature both exceeds specific thresholds over a minimum number of days.

**Based on**

`xclim.indices.heat_wave_max_length`

**Produces:**

`heat_wave_max_length: Maximum length of heat wave events (tmin > 22.0 degcand tmax > 30 degc for >= 3 days) [days]`

`atmos.heat_wave_total_length`

: **Heat wave total length.**

**Description:**Total length of heat waves over a given period. A heat wave is defined as an event where the minimum and maximum daily temperature both exceeds specific thresholds over a minimum number of days. This the sum of all days in such events.

**Based on**

`xclim.indices.heat_wave_total_length`

**Produces:**

`heat_wave_total_length: Total length of heat wave events (tmin > 22.0 degc and tmax > 30 degc for >= 3 days) [days]`

`atmos.heating_degree_days`

: **Heating degree days.**

**Description:**Sum of degree days below the temperature threshold at which spaces are heated.

**Based on**

`xclim.indices.heating_degree_days`

**Produces:**

`heating_degree_days: Heating degree days (tmean < 17.0 degc) [K days]`

`atmos.high_precip_low_temp`

: **Number of days with precipitation above threshold and temperature below threshold.**

**Description:**Number of days where precipitation is greater or equal to some threshold, and temperatures are colder than some threshold. This can be used for example to identify days with the potential for freezing rain or icing conditions.

**Based on**

`xclim.indices.high_precip_low_temp`

**Produces:**

`high_precip_low_temp: Count of days with high precipitation and low temperatures. [days]`

`atmos.hot_spell_frequency`

: **Hot spell frequency.**

**Description:**Number of hot spells over a given period. A hot spell is defined as an event where the maximum daily temperature exceeds a specific threshold over a minimum number of days.

**Based on**

`xclim.indices.hot_spell_frequency`

**Produces:**

`hot_spell_frequency: Number of hot spell events (tmax > 30 degc for >= 3 days) []`

`atmos.hot_spell_max_length`

: **Longest hot spell.**

**Description:**Longest spell of high temperatures over a given period.

**Based on**

`xclim.indices.hot_spell_max_length`

**Produces:**

`hot_spell_max_length: Maximum length of hot spell events (tmax > 30 degc for >= 1 days) [days]`

`atmos.huglin_index`

: **Huglin Heliothermal Index.**

**Description:**Growing-degree days with a base of 10°C and adjusted for latitudes between 40°N and 50°N for April to September (Northern Hemisphere; October to March in Southern Hemisphere). Originally proposed in [Huglin1978]_. Used as a heat-summation metric in viticulture agroclimatology.

**Based on**

`xclim.indices.huglin_index`

**Produces:**

`hi: Huglin heliothermal index (summation of ((tmin + tmax)/2 - 10 degc) * latitude-based day-lengthcoefficient (`k`), for days between 04-01 and 10-01). []`

`atmos.humidex`

: **Humidex index.**

**Description:**The humidex indicates how hot the air feels to an average person, accounting for the effect of humidity. It can be loosely interpreted as the equivalent perceived temperature when the air is dry.

**Based on**

`xclim.indices.humidex`

**Produces:**

`humidex: Humidex index [C]`

`atmos.ice_days`

: **Number of ice/freezing days.**

**Description:**Number of days where daily maximum temperatures are below a threshold.

**Based on**

`xclim.indices.ice_days`

**Produces:**

`ice_days: Number of ice days (tmax < 0 degc) [days]`

`atmos.jetstream_metric_woollings`

: **Strength and latitude of jetstream.**

**Description:**Identify latitude and strength of maximum smoothed zonal wind speed in the region from 15 to 75°N and -60 to 0°E, using the formula outlined in ([Woollings2010]_).

**Based on**

`xclim.indices.jetstream_metric_woollings`

**Produces:**

`jetlat: Latitude of maximum smoothed zonal wind speed [degrees_North]`

`jetstr: Maximum strength of smoothed zonal wind speed [m s-1]`

`atmos.last_snowfall`

: **Last day with solid precipitation above a threshold.**

**Description:**Returns the last day of a period where the solid precipitation exceeds a threshold. WARNING: The default freq is valid for the northern hemisphere.

**Based on**

`xclim.indices.last_snowfall`

**Produces:**

`last_snowfall: Date of last snowfall []`

`atmos.last_spring_frost`

: **Last day of temperatures inferior to a threshold temperature.**

**Description:**Returns last day of period where a temperature is inferior to a threshold over a given number of days and limited to a final calendar date.

**Based on**

`xclim.indices.last_spring_frost`

**Produces:**

`last_spring_frost: Day of year of last spring frost []`

`atmos.latitude_temperature_index`

: **Latitude-Temperature Index.**

**Description:**Mean temperature of the warmest month with a latitude-based scaling factor ([Jackson&Cherry1988]_). Used for categorizing wine-growing regions.

**Based on**

`xclim.indices.latitude_temperature_index`

**Produces:**

`lti: Latitude-temperature index []`

`atmos.liquid_precip_accumulation`

: **Accumulated liquid precipitation.**

**Id:**liquidprcptot

**Description:**Resample the original daily mean precipitation flux and accumulate over each period. If a daily temperature is provided, the `phase` keyword can be used to sum precipitation of a given phase only. When the temperature is under the provided threshold, precipitation is assumed to be snow, and liquid rain otherwise. This indice is agnostic to the type of daily temperature (tas, tasmax or tasmin) given.

**Based on**

`xclim.indices.precip_accumulation`

**Produces:**

`liquidprcptot: Total liquid precipitation [mm]`

`atmos.liquid_precip_ratio`

: **Ratio of rainfall to total precipitation.**

**Description:**The ratio of total liquid precipitation over the total precipitation. Liquid precipitation is approximated from total precipitation on days where temperature is above a threshold.

**Based on**

`xclim.indices.liquid_precip_ratio`

**Produces:**

`liquid_precip_ratio: Ratio of rainfall to total precipitation. []`

`atmos.max_1day_precipitation_amount`

: **Highest 1-day precipitation amount for a period (frequency).**

**Id:**rx1day

**Description:**Resample the original daily total precipitation temperature series by taking the max over each period.

**Based on**

`xclim.indices.max_1day_precipitation_amount`

**Produces:**

`rx1day: Maximum 1-day total precipitation [mm/day]`

`atmos.max_daily_temperature_range`

: **Maximum of daily temperature range.**

**Id:**dtrmax

**Description:**The mean difference between the daily maximum temperature and the daily minimum temperature.

**Based on**

`xclim.indices.daily_temperature_range`

**Produces:**

`dtrmax: Maximum diurnal temperature range [K]`

`atmos.max_n_day_precipitation_amount`

: **Highest precipitation amount cumulated over a n-day moving window.**

**Description:**Calculate the n-day rolling sum of the original daily total precipitation series and determine the maximum value over each period.

**Based on**

`xclim.indices.max_n_day_precipitation_amount`

**Produces:**

`rx1day: Maximum 1-day total precipitation [mm]`

`atmos.max_pr_intensity`

: **Highest precipitation intensity over a n-hour moving window.**

**Description:**Calculate the n-hour rolling average of the original hourly total precipitation series and determine the maximum value over each period.

**Based on**

`xclim.indices.max_pr_intensity`

**Produces:**

`max_pr_intensity: Maximum precipitation intensity over 1h duration [mm/h]`

`atmos.maximum_consecutive_dry_days`

: **Maximum number of consecutive dry days.**

**Id:**cdd

**Description:**Return the maximum number of consecutive days within the period where precipitation is below a certain threshold.

**Based on**

`xclim.indices.maximum_consecutive_dry_days`

**Produces:**

`cdd: Maximum consecutive dry days (precip < 1 mm/day) [days]`

`atmos.maximum_consecutive_frost_free_days`

: **Maximum number of consecutive frost free days (Tn >= 0℃).**

**Id:**consecutive_frost_free_days

**Description:**Return the maximum number of consecutive days within the period where the minimum temperature is above or equal to a certain threshold.

**Based on**

`xclim.indices.maximum_consecutive_frost_free_days`

**Produces:**

`consecutive_frost_free_days: Maximum number of consecutive days with tmin >= 0 degc [days]`

`atmos.maximum_consecutive_warm_days`

: **Maximum number of consecutive days with tasmax above a threshold (summer days).**

**Description:**Return the maximum number of consecutive days within the period where the maximum temperature is above a certain threshold.

**Based on**

`xclim.indices.maximum_consecutive_tx_days`

**Produces:**

`maximum_consecutive_warm_days: The maximum number of days with tasmax > thresh per periods (summer days). [days]`

`atmos.maximum_consecutive_wet_days`

: **Consecutive wet days.**

**Id:**cwd

**Description:**Returns the maximum number of consecutive wet days.

**Based on**

`xclim.indices.maximum_consecutive_wet_days`

**Produces:**

`cwd: Maximum consecutive wet days (precip >= 1 mm/day) [days]`

`atmos.mean_radiant_temperature`

: **Mean radiant temperature.**

**Description:**The mean radiant temperature is the incidence of radiation on the body from all directions. WARNING: There are some issues in the calculation of mrt in polar regions.

**Based on**

`xclim.indices.mean_radiant_temperature`

**Produces:**

`mrt: Mean radiant temperature [K]`

`atmos.potential_evapotranspiration`

: **Potential evapotranspiration.**

**Description:**The potential for water evaporation from soil and transpiration by plants if the water supply is sufficient, according to a given method.

**Based on**

`xclim.indices.potential_evapotranspiration`

**Produces:**

`evspsblpot: Potential evapotranspiration [kg m-2 s-1]`

`atmos.precip_accumulation`

: **Accumulated total precipitation (solid and liquid)**

**Id:**prcptot

**Description:**Resample the original daily mean precipitation flux and accumulate over each period. If a daily temperature is provided, the `phase` keyword can be used to sum precipitation of a given phase only. When the temperature is under the provided threshold, precipitation is assumed to be snow, and liquid rain otherwise. This indice is agnostic to the type of daily temperature (tas, tasmax or tasmin) given.

**Based on**

`xclim.indices.precip_accumulation`

**Produces:**

`prcptot: Total precipitation [mm]`

`atmos.rain_approximation`

: **Rainfall approximation from total precipitation and temperature.**

**Id:**prlp

**Description:**Liquid precipitation estimated from precipitation and temperature according to a given method. This is a convenience method based on :py:func:`snowfall_approximation`, see the latter for details.

**Based on**

`xclim.indices.rain_approximation`

**Produces:**

`prlp: Liquid precipitation [kg m-2 s-1]`

`atmos.rain_on_frozen_ground_days`

: **Number of rain on frozen ground events.**

**Id:**rain_frzgr

**Description:**Number of days with rain above a threshold after a series of seven days below freezing temperature. Precipitation is assumed to be rain when the temperature is above 0℃.

**Based on**

`xclim.indices.rain_on_frozen_ground_days`

**Produces:**

`rain_frzgr: Number of rain on frozen ground days [days]`

`atmos.relative_humidity`

: **Relative humidity from temperature, pressure and specific humidity.**

**Id:**hurs

**Description:**Compute relative humidity from temperature and either dewpoint temperature or specific humidity and pressure through the saturation vapor pressure.

**Based on**

`xclim.indices.relative_humidity`

**Produces:**

`hurs: Relative humidity [%]`

`atmos.relative_humidity_from_dewpoint`

: **Relative humidity from temperature and dewpoint temperature.**

**Id:**hurs_fromdewpoint

**Description:**Compute relative humidity from temperature and either dewpoint temperature or specific humidity and pressure through the saturation vapor pressure.

**Based on**

`xclim.indices.relative_humidity`

**Produces:**

`hurs: Relative humidity [%]`

`atmos.rprctot`

: **Proportion of accumulated precipitation arising from convective processes.**

**Description:**Return the proportion of total accumulated precipitation due to convection on days with total precipitation exceeding a specified threshold during the given period.

**Based on**

`xclim.indices.rprctot`

**Produces:**

`rprctot: The proportion of the total precipitation accounted for by convective precipitation for each period. []`

`atmos.saturation_vapor_pressure`

: **Saturation vapor pressure from temperature.**

**Id:**e_sat

**Description:**

**Based on**

`xclim.indices.saturation_vapor_pressure`

**Produces:**

`e_sat: Saturation vapor pressure [Pa]`

`atmos.snowfall_approximation`

: **Snowfall approximation from total precipitation and temperature.**

**Id:**prsn

**Description:**Solid precipitation estimated from precipitation and temperature according to a given method.

**Based on**

`xclim.indices.snowfall_approximation`

**Produces:**

`prsn: Solid precipitation [kg m-2 s-1]`

`atmos.solid_precip_accumulation`

: **Accumulated solid precipitation.**

**Id:**solidprcptot

**Description:**Resample the original daily mean precipitation flux and accumulate over each period. If a daily temperature is provided, the `phase` keyword can be used to sum precipitation of a given phase only. When the temperature is under the provided threshold, precipitation is assumed to be snow, and liquid rain otherwise. This indice is agnostic to the type of daily temperature (tas, tasmax or tasmin) given.

**Based on**

`xclim.indices.precip_accumulation`

**Produces:**

`solidprcptot: Total solid precipitation [mm]`

`atmos.specific_humidity`

: **Specific humidity from temperature, relative humidity and pressure.**

**Id:**huss

**Description:**Specific humidity is the ratio between the mass of water vapour and the mass of moist air [WMO08]_.

**Based on**

`xclim.indices.specific_humidity`

**Produces:**

`huss: Specific humidity []`

`atmos.specific_humidity_from_dewpoint`

: **Specific humidity from dewpoint temperature and air pressure.**

**Id:**huss_fromdewpoint

**Description:**Specific humidity is the ratio between the mass of water vapour and the mass of moist air [WMO08]_.

**Based on**

`xclim.indices.specific_humidity_from_dewpoint`

**Produces:**

`huss_fromdewpoint: Specific humidity []`

`atmos.tg`

: **Average temperature from minimum and maximum temperatures.**

**Description:**We assume a symmetrical distribution for the temperature and retrieve the average value as Tg = (Tx + Tn) / 2

**Based on**

`xclim.indices.tas`

**Produces:**

`tg: Daily mean temperature [K]`

`atmos.tg10p`

: **Number of days with daily mean temperature below the 10th percentile.**

**Description:**Number of days with daily mean temperature below the 10th percentile.

**Based on**

`xclim.indices.tg10p`

**Produces:**

`tg10p: Number of days when tmean < {unkown}th percentile [days]`

`atmos.tg90p`

: **Number of days with daily mean temperature over the 90th percentile.**

**Description:**Number of days with daily mean temperature over the 90th percentile.

**Based on**

`xclim.indices.tg90p`

**Produces:**

`tg90p: Number of days when tmean > {unkown}th percentile [days]`

`atmos.tg_days_above`

: **Number of days with tas above a threshold.**

**Description:**Number of days where daily mean temperature exceeds a threshold.

**Based on**

`xclim.indices.tg_days_above`

**Produces:**

`tg_days_above: Number of days with tavg > 10.0 degc [days]`

`atmos.tg_days_below`

: **Number of days with tas below a threshold.**

**Description:**Number of days where daily mean temperature is below a threshold.

**Based on**

`xclim.indices.tg_days_below`

**Produces:**

`tg_days_below: Number of days with tavg < 10.0 degc [days]`

`atmos.tg_max`

: **Highest mean temperature.**

**Description:**The maximum of daily mean temperature.

**Based on**

`xclim.indices.tg_max`

**Produces:**

`tg_max: Maximum daily mean temperature [K]`

`atmos.tg_mean`

: **Mean of daily average temperature.**

**Description:**Resample the original daily mean temperature series by taking the mean over each period.

**Based on**

`xclim.indices.tg_mean`

**Produces:**

`tg_mean: Mean daily mean temperature [K]`

`atmos.tg_min`

: **Lowest mean temperature.**

**Description:**Minimum of daily mean temperature.

**Based on**

`xclim.indices.tg_min`

**Produces:**

`tg_min: Minimum daily mean temperature [K]`

`atmos.thawing_degree_days`

: **Growing degree-days over threshold temperature value.**

**Description:**The sum of degree-days over the threshold temperature.

**Based on**

`xclim.indices.growing_degree_days`

**Produces:**

`thawing_degree_days: Thawing degree days (degree days above 0°c) [K days]`

`atmos.tn10p`

: **Number of days with daily minimum temperature below the 10th percentile.**

**Description:**Number of days with daily minimum temperature below the 10th percentile.

**Based on**

`xclim.indices.tn10p`

**Produces:**

`tn10p: Number of days when tmin < {unkown}th percentile [days]`

`atmos.tn90p`

: **Number of days with daily minimum temperature over the 90th percentile.**

**Description:**Number of days with daily minimum temperature over the 90th percentile.

**Based on**

`xclim.indices.tn90p`

**Produces:**

`tn90p: Number of days when tmin > {unkown}th percentile [days]`

`atmos.tn_days_above`

: **Number of days with tasmin above a threshold (number of tropical nights).**

**Description:**Number of days where daily minimum temperature exceeds a threshold.

**Based on**

`xclim.indices.tn_days_above`

**Produces:**

`tn_days_above: Number of days with tmin > 20.0 degc [days]`

`atmos.tn_days_below`

: **Number of days with tasmin below a threshold.**

**Description:**Number of days where daily minimum temperature is below a threshold.

**Based on**

`xclim.indices.tn_days_below`

**Produces:**

`tn_days_below: Number of days with tmin < -10.0 degc [days]`

`atmos.tn_max`

: **Highest minimum temperature.**

**Description:**The maximum of daily minimum temperature.

**Based on**

`xclim.indices.tn_max`

**Produces:**

`tn_max: Maximum daily minimum temperature [K]`

`atmos.tn_mean`

: **Mean minimum temperature.**

**Description:**Mean of daily minimum temperature.

**Based on**

`xclim.indices.tn_mean`

**Produces:**

`tn_mean: Mean daily minimum temperature [K]`

`atmos.tn_min`

: **Lowest minimum temperature.**

**Description:**Minimum of daily minimum temperature.

**Based on**

`xclim.indices.tn_min`

**Produces:**

`tn_min: Minimum daily minimum temperature [K]`

`atmos.tropical_nights`

: **Number of days with tasmin above a threshold (number of tropical nights).**

**Description:**Number of days where daily minimum temperature exceeds a threshold.

**Based on**

`xclim.indices.tn_days_above`

**Produces:**

`tropical_nights: Number of tropical nights (tmin > 20.0 degc) [days]`

`atmos.tx10p`

: **Number of days with daily maximum temperature below the 10th percentile.**

**Description:**Number of days with daily maximum temperature below the 10th percentile.

**Based on**

`xclim.indices.tx10p`

**Produces:**

`tx10p: Number of days when tmax < {unkown}th percentile [days]`

`atmos.tx90p`

: **Number of days with daily maximum temperature over the 90th percentile.**

**Description:**Number of days with daily maximum temperature over the 90th percentile.

**Based on**

`xclim.indices.tx90p`

**Produces:**

`tx90p: Number of days when tmax > {unkown}th percentile [days]`

`atmos.tx_days_above`

: **Number of days with tasmax above a threshold (number of summer days).**

**Description:**Number of days where daily maximum temperature exceeds a threshold.

**Based on**

`xclim.indices.tx_days_above`

**Produces:**

`tx_days_above: Number of days with tmax > 25.0 degc [days]`

`atmos.tx_days_below`

: **Number of days with tmax below a threshold.**

**Description:**Number of days where daily maximum temperature is below a threshold.

**Based on**

`xclim.indices.tx_days_below`

**Produces:**

`tx_days_below: Number of days with tmax < 25.0 degc [days]`

`atmos.tx_max`

: **Highest max temperature.**

**Description:**The maximum value of daily maximum temperature.

**Based on**

`xclim.indices.tx_max`

**Produces:**

`tx_max: Maximum daily maximum temperature [K]`

`atmos.tx_mean`

: **Mean max temperature.**

**Description:**The mean of daily maximum temperature.

**Based on**

`xclim.indices.tx_mean`

**Produces:**

`tx_mean: Mean daily maximum temperature [K]`

`atmos.tx_min`

: **Lowest max temperature.**

**Description:**The minimum of daily maximum temperature.

**Based on**

`xclim.indices.tx_min`

**Produces:**

`tx_min: Minimum daily maximum temperature [K]`

`atmos.tx_tn_days_above`

: **Number of days with both hot maximum and minimum daily temperatures.**

**Description:**The number of days per period with tasmin above a threshold and tasmax above another threshold.

**Based on**

`xclim.indices.tx_tn_days_above`

**Produces:**

`tx_tn_days_above: Number of days with tmax > 30 degc and tmin > 22 degc [days]`

`atmos.universal_thermal_climate_index`

: **Universal thermal climate index.**

**Id:**utci

**Description:**The UTCI is the equivalent temperature for the environment derived from a reference environment and is used to evaluate heat stress in outdoor spaces.

**Based on**

`xclim.indices.universal_thermal_climate_index`

**Produces:**

`utci: Universal thermal climate index [K]`

`atmos.warm_and_dry_days`

: **warm and dry days**

**Description:**Returns the total number of days where "warm" and "Dry" conditions coincide.

**Based on**

`xclim.indices.warm_and_dry_days`

**Produces:**

`warm_and_dry_days: Warm and dry days [days]`

`atmos.warm_and_wet_days`

: **warm and wet days**

**Description:**Returns the total number of days where "warm" and "wet" conditions coincide.

**Based on**

`xclim.indices.warm_and_wet_days`

**Produces:**

`warm_and_wet_days: Warm and wet days [days]`

`atmos.warm_spell_duration_index`

: **Warm spell duration index.**

**Description:**Number of days inside spells of a minimum number of consecutive days where the daily maximum temperature is above the 90th percentile. The 90th percentile should be computed for a 5-day moving window, centered on each calendar day in the 1961-1990 period.

**Based on**

`xclim.indices.warm_spell_duration_index`

**Produces:**

`warm_spell_duration_index: Number of days part of a percentile-defined warm spell [days]`

`atmos.water_budget`

: **Precipitation minus potential evapotranspiration.**

**Description:**Precipitation minus potential evapotranspiration as a measure of an approximated surface water budget, where the potential evapotranspiration can be calculated with a given method.

**Based on**

`xclim.indices.water_budget`

**Produces:**

`water_budget: Water budget [kg m-2 s-1]`

`atmos.water_budget_from_tas`

: **Precipitation minus potential evapotranspiration.**

**Description:**Precipitation minus potential evapotranspiration as a measure of an approximated surface water budget, where the potential evapotranspiration can be calculated with a given method.

**Based on**

`xclim.indices.water_budget`

**Produces:**

`water_budget_from_tas: Water budget [kg m-2 s-1]`

`atmos.wet_precip_accumulation`

: **Accumulated total precipitation (solid and liquid) during wet days**

**Id:**wet_prcptot

**Description:**

**Based on**

`xclim.indices.prcptot`

**Produces:**

`wet_prcptot: Total precipitation [mm]`

`atmos.wetdays`

: **Wet days.**

**Description:**Return the total number of days during period with precipitation over threshold.

**Based on**

`xclim.indices.wetdays`

**Produces:**

`wetdays: Number of wet days (precip >= 1.0 mm/day) [days]`

`atmos.wetdays_prop`

: **Proportion of wet days.**

**Description:**Return the proportion of days during period with precipitation over threshold.

**Based on**

`xclim.indices.wetdays_prop`

**Produces:**

`wetdays_prop: Proportion of wet days (precip >= 1.0 mm/day) [1]`

`atmos.wind_chill_index`

: **Wind chill index.**

**Id:**wind_chill

**Description:**The Wind Chill Index is an estimation of how cold the weather feels to the average person. It is computed from the air temperature and the 10-m wind. As defined by the Environment and Climate Change Canada ([MVSZ2015]_), two equations exist, the conventional one and one for slow winds (usually < 5 km/h), see Notes.

**Based on**

`xclim.indices.wind_chill_index`

**Produces:**

`wind_chill: Wind chill index [degC]`

`atmos.wind_speed_from_vector`

: **Wind speed and direction from the eastward and northward wind components.**

**Description:**Computes the magnitude and angle of the wind vector from its northward and eastward components, following the meteorological convention that sets calm wind to a direction of 0° and northerly wind to 360°.

**Based on**

`xclim.indices.uas_vas_2_sfcwind`

**Produces:**

`sfcWind: Near-surface wind speed [m s-1]`

`sfcWindfromdir: Near-surface wind from direction [degree]`

`atmos.wind_vector_from_speed`

: **Eastward and northward wind components from the wind speed and direction.**

**Description:**Compute the eastward and northward wind components from the wind speed and direction.

**Based on**

`xclim.indices.sfcwind_2_uas_vas`

**Produces:**

`uas: Near-surface eastward wind [m s-1]`

`vas: Near-surface northward wind [m s-1]`

`atmos.windy_days`

: **Windy days.**

**Description:**The number of days with average near-surface wind speed above threshold.

**Based on**

`xclim.indices.windy_days`

**Produces:**

`windy_days: Number of days with surface wind speed above threshold [days]`

## land: Land surface

`land.base_flow_index`

: **Base flow index.**

**Description:**Return the base flow index, defined as the minimum 7-day average flow divided by the mean flow.

**Based on**

`xclim.indices.base_flow_index`

**Produces:**

`base_flow_index: Base flow index []`

`land.blowing_snow`

: **Days with blowing snow events.**

**Description:**Number of days where both snowfall over the last days and daily wind speeds are above respective thresholds.

**Based on**

`xclim.indices.blowing_snow`

**Produces:**

`annual_blowing_snow: Number of days where snowfall and wind speeds are above respective thresholds. [days]`

`land.continuous_snow_cover_end`

: **End date of continuous snow cover.**

**Description:**First day after the start of the continuous snow cover when snow depth is below `threshold` for at least `window` consecutive days. WARNING: The default `freq` is valid for the northern hemisphere.

**Based on**

`xclim.indices.continuous_snow_cover_end`

**Produces:**

`continuous_snow_cover_end: End date of continuous snow cover []`

`land.continuous_snow_cover_start`

: **Start date of continuous snow cover.**

**Description:**Day of year when snow depth is above or equal `threshold` for at least `window` consecutive days. WARNING: The default `freq` is valid for the northern hemisphere.

**Based on**

`xclim.indices.continuous_snow_cover_start`

**Produces:**

`continuous_snow_cover_start: Start date of continuous snow cover []`

`land.doy_qmax`

: **Day of year of the maximum.**

**Description:**

**Based on**

`xclim.indices.generic.select_resample_op`

**Produces:**

`qannual_doy_qmax: Day of the year of the maximum over annual []`

`land.doy_qmin`

: **Day of year of the minimum.**

**Description:**

**Based on**

`xclim.indices.generic.select_resample_op`

**Produces:**

`qannual_doy_qmin: Day of the year of the minimum over annual []`

`land.fit`

: **Distribution parameters fitted over the time dimension.**

**Description:**

**Based on**

`xclim.indices.fit`

**Produces:**

`params: Normal distribution parameters []`

`land.freq_analysis`

: **Flow values for given return periods.**

**Description:**

**Based on**

`xclim.indices.frequency_analysis`

**Produces:**

`q1`annual: N-year return period annual 1-day flow [m^3 s-1]

`land.rb_flashiness_index`

: **Richards-Baker flashiness index.**

**Description:**Measures oscillations in flow relative to total flow, quantifying the frequency and rapidity of short term changes in flow, based on Baker et al. (2004; [baker2004]_).

**Based on**

`xclim.indices.rb_flashiness_index`

**Produces:**

`rbi: Richards-baker flashiness index []`

`land.snd_max_doy`

: **Maximum snow depth day of year.**

**Description:**Day of year when surface snow reaches its peak value. If snow depth is 0 over entire period, return NaN.

**Based on**

`xclim.indices.snd_max_doy`

**Produces:**

`annual_snd_max_doy: Date when snow depth reaches its maximum value. []`

`land.snow_cover_duration`

: **Number of days with snow depth above a threshold.**

**Description:**Number of days where surface snow depth is greater or equal to given threshold. WARNING: The default `freq` is valid for the northern hemisphere.

**Based on**

`xclim.indices.snow_cover_duration`

**Produces:**

`snow_cover_duration: Number of days with snow depth above threshold [days]`

`land.snow_depth`

: **Mean of daily average snow depth.**

**Description:**Resample the original daily mean snow depth series by taking the mean over each period.

**Based on**

`xclim.indices.snow_depth`

**Produces:**

`snow_depth: Mean of daily snow depth [cm]`

`land.snow_melt_we_max`

: **Maximum snow melt.**

**Description:**The maximum snow melt over a given number of days expressed in snow water equivalent.

**Based on**

`xclim.indices.snow_melt_we_max`

**Produces:**

`annual_snow_melt_we_max: The maximum snow melt over a given number of days for each period. [mass/area]. [kg m-2]`

`land.snw_max`

: **Maximum snow amount.**

**Description:**The maximum daily snow amount.

**Based on**

`xclim.indices.snw_max`

**Produces:**

`annual_snw_max: Maximum daily snow amount [kg m-2]`

`land.snw_max_doy`

: **Maximum snow amount day of year.**

**Description:**Day of year when surface snow amount reaches its peak value. If snow amount is 0 over entire period, return NaN.

**Based on**

`xclim.indices.snw_max_doy`

**Produces:**

`annual_snw_max_doy: Day of year of maximum daily snow amount []`

`land.stats`

: **Statistic of the daily flow on a given period.**

**Description:**

**Based on**

`xclim.indices.generic.select_resample_op`

**Produces:**

`qannual`: Annual of annual daily flow [m^3 s-1]

`land.winter_storm`

: **Days with snowfall over threshold.**

**Description:**Number of days with snowfall accumulation greater or equal to threshold.

**Based on**

`xclim.indices.winter_storm`

**Produces:**

`annual_winter_storm: Number of days per period identified as winter storms. [days]`

## seaIce: Sea ice

`seaIce.sea_ice_area`

: **Total sea ice area.**

**Description:**Sea ice area measures the total sea ice covered area where sea ice concentration is above a threshold, usually set to 15%.

**Based on**

`xclim.indices.sea_ice_area`

**Produces:**

`sea_ice_area: Sea ice area [m2]`

`seaIce.sea_ice_extent`

: **Total sea ice extent.**

**Description:**Sea ice extent measures the *ice-covered* area, where a region is considered ice-covered if its sea ice concentration is above a threshold usually set to 15%.

**Based on**

`xclim.indices.sea_ice_extent`

**Produces:**

`sea_ice_extent: Sea ice extent [m2]`

## Virtual submodules

### CF Standard indices

Indicator found here are defined by the team at clix-meta. Adapted documentation from that repository follows:

The repository aims to provide a platform for thinking about, and developing, a unified view of metadata elements required to describe climate indices (aka climate indicators).

To facilitate data exchange and dissemination the metadata should, as far as possible, follow the Climate and Forecasting (CF) Conventions. Considering the very rich and diverse flora of climate indices this is however not always possible. By collecting a wide range of different indices it is easier to discover any common patterns and features that are currently not well covered by the CF Conventions. Currently identified issues frequently relate to standard_name or/and cell_methods which both are controlled vocabularies of the CF Conventions.

`cf.cdd`

: **Calculate statistics on lengths of spells.**

**Description:**First, the threshold is transformed to the same standard_name and units as the input data. Then the thresholding is performed as condition(data, threshold), i.e. if condition is <, data < threshold. Then the spells are determined, and finally the statistics according to the specified reducer are calculated.

**Based on**

`xclim.indices.generic.spell_length`

**Produces:**

`cdd: Maximum consecutive dry days (precip < 1mm) [day]`

`cf.cddcoldTT`

: **Calculate the temperature sum above/below a threshold.**

**Description:**First, the threshold is transformed to the same standard_name and units as the input data. Then the thresholding is performed as condition(data, threshold), i.e. if condition is <, data < threshold. Finally, the sum is calculated for those data values that fulfill the condition after subtraction of the threshold value. If the sum is for values below the threshold the result is multiplied by -1.

**Based on**

`xclim.indices.generic.temperature_sum`

**Produces:**

`cddcold`: Cooling degree days (tmean > c) [degree_Celsius day]

`cf.cfd`

: **Calculate the number of times some condition is met.**

**Description:**First, the threshold is transformed to the same standard_name and units as the input data. Then the thresholding is performed as condition(data, threshold), i.e. if condition is `<`, then this counts the number of times `data < threshold`. Finally, count the number of occurrences when condition is met.

**Based on**

`xclim.indices.generic.count_occurrences`

**Produces:**

`cfd: Maximum number of consecutive frost days (tmin < 0 c) [day]`

`cf.csu`

: **Calculate the number of times some condition is met.**

**Description:**First, the threshold is transformed to the same standard_name and units as the input data. Then the thresholding is performed as condition(data, threshold), i.e. if condition is `<`, then this counts the number of times `data < threshold`. Finally, count the number of occurrences when condition is met.

**Based on**

`xclim.indices.generic.count_occurrences`

**Produces:**

`csu: Maximum number of consecutive summer days (tmax >25 c) [day]`

`cf.ctmgeTT`

: **Calculate statistics on lengths of spells.**

**Description:**First, the threshold is transformed to the same standard_name and units as the input data. Then the thresholding is performed as condition(data, threshold), i.e. if condition is <, data < threshold. Then the spells are determined, and finally the statistics according to the specified reducer are calculated.

**Based on**

`xclim.indices.generic.spell_length`

**Produces:**

`ctmge`: Maximum number of consequtive days with tmean >= c [day]

`cf.ctmgtTT`

: **Calculate statistics on lengths of spells.**

**Description:**First, the threshold is transformed to the same standard_name and units as the input data. Then the thresholding is performed as condition(data, threshold), i.e. if condition is <, data < threshold. Then the spells are determined, and finally the statistics according to the specified reducer are calculated.

**Based on**

`xclim.indices.generic.spell_length`

**Produces:**

`ctmgt`: Maximum number of consequtive days with tmean > c [day]

`cf.ctmleTT`

: **Calculate statistics on lengths of spells.**

**Description:**First, the threshold is transformed to the same standard_name and units as the input data. Then the thresholding is performed as condition(data, threshold), i.e. if condition is <, data < threshold. Then the spells are determined, and finally the statistics according to the specified reducer are calculated.

**Based on**

`xclim.indices.generic.spell_length`

**Produces:**

`ctmle`: Maximum number of consequtive days with tmean <= c [day]

`cf.ctmltTT`

: **Calculate statistics on lengths of spells.**

**Description:**First, the threshold is transformed to the same standard_name and units as the input data. Then the thresholding is performed as condition(data, threshold), i.e. if condition is <, data < threshold. Then the spells are determined, and finally the statistics according to the specified reducer are calculated.

**Based on**

`xclim.indices.generic.spell_length`

**Produces:**

`ctmlt`: Maximum number of consequtive days with tmean < c [day]

`cf.ctngeTT`

: **Calculate statistics on lengths of spells.**

**Description:**First, the threshold is transformed to the same standard_name and units as the input data. Then the thresholding is performed as condition(data, threshold), i.e. if condition is <, data < threshold. Then the spells are determined, and finally the statistics according to the specified reducer are calculated.

**Based on**

`xclim.indices.generic.spell_length`

**Produces:**

`ctnge`: Maximum number of consequtive days with tmin >= c [day]

`cf.ctngtTT`

: **Calculate statistics on lengths of spells.**

**Description:**First, the threshold is transformed to the same standard_name and units as the input data. Then the thresholding is performed as condition(data, threshold), i.e. if condition is <, data < threshold. Then the spells are determined, and finally the statistics according to the specified reducer are calculated.

**Based on**

`xclim.indices.generic.spell_length`

**Produces:**

`ctngt`: Maximum number of consequtive days with tmin > c [day]

`cf.ctnleTT`

: **Calculate statistics on lengths of spells.**

**Description:**First, the threshold is transformed to the same standard_name and units as the input data. Then the thresholding is performed as condition(data, threshold), i.e. if condition is <, data < threshold. Then the spells are determined, and finally the statistics according to the specified reducer are calculated.

**Based on**

`xclim.indices.generic.spell_length`

**Produces:**

`ctnle`: Maximum number of consequtive days with tmin <= c [day]

`cf.ctnltTT`

: **Calculate statistics on lengths of spells.**

**Description:**First, the threshold is transformed to the same standard_name and units as the input data. Then the thresholding is performed as condition(data, threshold), i.e. if condition is <, data < threshold. Then the spells are determined, and finally the statistics according to the specified reducer are calculated.

**Based on**

`xclim.indices.generic.spell_length`

**Produces:**

`ctnlt`: Maximum number of consequtive days with tmin < c [day]

`cf.ctxgeTT`

: **Calculate statistics on lengths of spells.**

**Description:**First, the threshold is transformed to the same standard_name and units as the input data. Then the thresholding is performed as condition(data, threshold), i.e. if condition is <, data < threshold. Then the spells are determined, and finally the statistics according to the specified reducer are calculated.

**Based on**

`xclim.indices.generic.spell_length`

**Produces:**

`ctxge`: Maximum number of consequtive days with tmax >= c [day]

`cf.ctxgtTT`

: **Calculate statistics on lengths of spells.**

**Description:**First, the threshold is transformed to the same standard_name and units as the input data. Then the thresholding is performed as condition(data, threshold), i.e. if condition is <, data < threshold. Then the spells are determined, and finally the statistics according to the specified reducer are calculated.

**Based on**

`xclim.indices.generic.spell_length`

**Produces:**

`ctxgt`: Maximum number of consequtive days with tmax > c [day]

`cf.ctxleTT`

: **Calculate statistics on lengths of spells.**

**Description:**First, the threshold is transformed to the same standard_name and units as the input data. Then the thresholding is performed as condition(data, threshold), i.e. if condition is <, data < threshold. Then the spells are determined, and finally the statistics according to the specified reducer are calculated.

**Based on**

`xclim.indices.generic.spell_length`

**Produces:**

`ctxle`: Maximum number of consequtive days with tmax <= c [day]

`cf.ctxltTT`

: **Calculate statistics on lengths of spells.**

**Description:**First, the threshold is transformed to the same standard_name and units as the input data. Then the thresholding is performed as condition(data, threshold), i.e. if condition is <, data < threshold. Then the spells are determined, and finally the statistics according to the specified reducer are calculated.

**Based on**

`xclim.indices.generic.spell_length`

**Produces:**

`ctxlt`: Maximum number of consequtive days with tmax < c [day]

`cf.cwd`

: **Calculate statistics on lengths of spells.**

**Description:**First, the threshold is transformed to the same standard_name and units as the input data. Then the thresholding is performed as condition(data, threshold), i.e. if condition is <, data < threshold. Then the spells are determined, and finally the statistics according to the specified reducer are calculated.

**Based on**

`xclim.indices.generic.spell_length`

**Produces:**

`cwd: Maximum consecutive wet days (precip >= 1mm) [day]`

`cf.ddgtTT`

: **Calculate the temperature sum above/below a threshold.**

**Description:**First, the threshold is transformed to the same standard_name and units as the input data. Then the thresholding is performed as condition(data, threshold), i.e. if condition is <, data < threshold. Finally, the sum is calculated for those data values that fulfill the condition after subtraction of the threshold value. If the sum is for values below the threshold the result is multiplied by -1.

**Based on**

`xclim.indices.generic.temperature_sum`

**Produces:**

`ddgt`: Degree days (tmean > c) [degree_Celsius day]

`cf.ddltTT`

: **Calculate the temperature sum above/below a threshold.**

**Description:**First, the threshold is transformed to the same standard_name and units as the input data. Then the thresholding is performed as condition(data, threshold), i.e. if condition is <, data < threshold. Finally, the sum is calculated for those data values that fulfill the condition after subtraction of the threshold value. If the sum is for values below the threshold the result is multiplied by -1.

**Based on**

`xclim.indices.generic.temperature_sum`

**Produces:**

`ddlt`: Degree days (tmean < c) [degree_Celsius day]

`cf.dtr`

: **Calculate the diurnal temperature range and reduce according to a statistic.**

**Description:**

**Based on**

`xclim.indices.generic.diurnal_temperature_range`

**Produces:**

`dtr: Mean diurnal temperature range [degree_Celsius]`

`cf.etr`

: **Calculate the extreme temperature range as the maximum of daily maximum temperature minus the minimum of daily minimum temperature.**

**Description:**

**Based on**

`xclim.indices.generic.extreme_temperature_range`

**Produces:**

`etr: Intra-period extreme temperature range [degree_Celsius]`

`cf.fg`

: **Calculate a simple statistic of the data.**

**Description:**

**Based on**

`xclim.indices.generic.statistics`

**Produces:**

`fg: Mean of daily mean wind strength [meter second-1]`

`cf.fxx`

: **Calculate a simple statistic of the data.**

**Description:**

**Based on**

`xclim.indices.generic.statistics`

**Produces:**

`fxx: Maximum value of daily maximum wind gust strength [meter second-1]`

`cf.gd4`

: **Calculate the temperature sum above/below a threshold.**

**Description:**First, the threshold is transformed to the same standard_name and units as the input data. Then the thresholding is performed as condition(data, threshold), i.e. if condition is <, data < threshold. Finally, the sum is calculated for those data values that fulfill the condition after subtraction of the threshold value. If the sum is for values below the threshold the result is multiplied by -1.

**Based on**

`xclim.indices.generic.temperature_sum`

**Produces:**

`gd4: Growing degree days (sum of tmean > 4 c) [degree_Celsius day]`

`cf.gddgrowTT`

: **Calculate the temperature sum above/below a threshold.**

**Description:**First, the threshold is transformed to the same standard_name and units as the input data. Then the thresholding is performed as condition(data, threshold), i.e. if condition is <, data < threshold. Finally, the sum is calculated for those data values that fulfill the condition after subtraction of the threshold value. If the sum is for values below the threshold the result is multiplied by -1.

**Based on**

`xclim.indices.generic.temperature_sum`

**Produces:**

`gddgrow`: Annual growing degree days (tmean > c) [degree_Celsius day]

`cf.hd17`

: **Calculate the temperature sum above/below a threshold.**

**Description:**First, the threshold is transformed to the same standard_name and units as the input data. Then the thresholding is performed as condition(data, threshold), i.e. if condition is <, data < threshold. Finally, the sum is calculated for those data values that fulfill the condition after subtraction of the threshold value. If the sum is for values below the threshold the result is multiplied by -1.

**Based on**

`xclim.indices.generic.temperature_sum`

**Produces:**

`hd17: Heating degree days (sum of tmean < 17 c) [degree_Celsius day]`

`cf.hddheatTT`

: **Calculate the temperature sum above/below a threshold.**

**Description:**First, the threshold is transformed to the same standard_name and units as the input data. Then the thresholding is performed as condition(data, threshold), i.e. if condition is <, data < threshold. Finally, the sum is calculated for those data values that fulfill the condition after subtraction of the threshold value. If the sum is for values below the threshold the result is multiplied by -1.

**Based on**

`xclim.indices.generic.temperature_sum`

**Produces:**

`hddheat`: Heating degree days (tmean < c) [degree_Celsius day]

`cf.maxdtr`

: **Calculate the diurnal temperature range and reduce according to a statistic.**

**Description:**

**Based on**

`xclim.indices.generic.diurnal_temperature_range`

**Produces:**

`maxdtr: Maximum diurnal temperature range [degree_Celsius]`

`cf.pp`

: **Calculate a simple statistic of the data.**

**Description:**

**Based on**

`xclim.indices.generic.statistics`

**Produces:**

`pp: Mean of daily sea level pressure [hPa]`

`cf.rh`

: **Calculate a simple statistic of the data.**

**Description:**

**Based on**

`xclim.indices.generic.statistics`

**Produces:**

`rh: Mean of daily relative humidity [%]`

`cf.sd`

: **Calculate a simple statistic of the data.**

**Description:**

**Based on**

`xclim.indices.generic.statistics`

**Produces:**

`sd: Mean of daily snow depth [cm]`

`cf.sdii`

: **Calculate a simple statistic of the data for which some condition is met.**

**Description:**First, the threshold is transformed to the same standard_name and units as the input data. Then the thresholding is performed as condition(data, threshold), i.e. if condition is <, data < threshold. Finally, the statistic is calculated for those data values that fulfill the condition.

**Based on**

`xclim.indices.generic.thresholded_statistics`

**Produces:**

`sdii: Average precipitation during wet days (sdii) [mm day-1]`

`cf.ss`

: **Calculate a simple statistic of the data.**

**Description:**

**Based on**

`xclim.indices.generic.statistics`

**Produces:**

`ss: Sunshine duration, sum [hour]`

`cf.tg`

: **Calculate a simple statistic of the data.**

**Description:**

**Based on**

`xclim.indices.generic.statistics`

**Produces:**

`tg: Mean of daily mean temperature [degree_Celsius]`

`cf.tmm`

: **Calculate a simple statistic of the data.**

**Description:**

**Based on**

`xclim.indices.generic.statistics`

**Produces:**

`tmm: Mean daily mean temperature [degree_Celsius]`

`cf.tmmax`

: **Calculate a simple statistic of the data.**

**Description:**

**Based on**

`xclim.indices.generic.statistics`

**Produces:**

`tmmax: Maximum daily mean temperature [degree_Celsius]`

`cf.tmmean`

: **Calculate a simple statistic of the data.**

**Description:**

**Based on**

`xclim.indices.generic.statistics`

**Produces:**

`tmmean: Mean daily mean temperature [degree_Celsius]`

`cf.tmmin`

: **Calculate a simple statistic of the data.**

**Description:**

**Based on**

`xclim.indices.generic.statistics`

**Produces:**

`tmmin: Minimum daily mean temperature [degree_Celsius]`

`cf.tmn`

: **Calculate a simple statistic of the data.**

**Description:**

**Based on**

`xclim.indices.generic.statistics`

**Produces:**

`tmn: Minimum daily mean temperature [degree_Celsius]`

`cf.tmx`

: **Calculate a simple statistic of the data.**

**Description:**

**Based on**

`xclim.indices.generic.statistics`

**Produces:**

`tmx: Maximum daily mean temperature [degree_Celsius]`

`cf.tn`

: **Calculate a simple statistic of the data.**

**Description:**

**Based on**

`xclim.indices.generic.statistics`

**Produces:**

`tn: Mean of daily minimum temperature [degree_Celsius]`

`cf.tnm`

: **Calculate a simple statistic of the data.**

**Description:**

**Based on**

`xclim.indices.generic.statistics`

**Produces:**

`tnm: Mean daily minimum temperature [degree_Celsius]`

`cf.tnmax`

: **Calculate a simple statistic of the data.**

**Description:**

**Based on**

`xclim.indices.generic.statistics`

**Produces:**

`tnmax: Maximum daily minimum temperature [degree_Celsius]`

`cf.tnmean`

: **Calculate a simple statistic of the data.**

**Description:**

**Based on**

`xclim.indices.generic.statistics`

**Produces:**

`tnmean: Mean daily minimum temperature [degree_Celsius]`

`cf.tnmin`

: **Calculate a simple statistic of the data.**

**Description:**

**Based on**

`xclim.indices.generic.statistics`

**Produces:**

`tnmin: Minimum daily minimum temperature [degree_Celsius]`

`cf.tnn`

: **Calculate a simple statistic of the data.**

**Description:**

**Based on**

`xclim.indices.generic.statistics`

**Produces:**

`tnn: Minimum daily minimum temperature [degree_Celsius]`

`cf.tnx`

: **Calculate a simple statistic of the data.**

**Description:**

**Based on**

`xclim.indices.generic.statistics`

**Produces:**

`tnx: Maximum daily minimum temperature [degree_Celsius]`

`cf.tx`

: **Calculate a simple statistic of the data.**

**Description:**

**Based on**

`xclim.indices.generic.statistics`

**Produces:**

`tx: Mean of daily maximum temperature [degree_Celsius]`

`cf.txm`

: **Calculate a simple statistic of the data.**

**Description:**

**Based on**

`xclim.indices.generic.statistics`

**Produces:**

`txm: Mean daily maximum temperature [degree_Celsius]`

`cf.txmax`

: **Calculate a simple statistic of the data.**

**Description:**

**Based on**

`xclim.indices.generic.statistics`

**Produces:**

`txmax: Maximum daily maximum temperature [degree_Celsius]`

`cf.txmean`

: **Calculate a simple statistic of the data.**

**Description:**

**Based on**

`xclim.indices.generic.statistics`

**Produces:**

`txmean: Mean daily maximum temperature [degree_Celsius]`

`cf.txmin`

: **Calculate a simple statistic of the data.**

**Description:**

**Based on**

`xclim.indices.generic.statistics`

**Produces:**

`txmin: Minimum daily maximum temperature [degree_Celsius]`

`cf.txn`

: **Calculate a simple statistic of the data.**

**Description:**

**Based on**

`xclim.indices.generic.statistics`

**Produces:**

`txn: Minimum daily maximum temperature [degree_Celsius]`

`cf.txx`

: **Calculate a simple statistic of the data.**

**Description:**

**Based on**

`xclim.indices.generic.statistics`

**Produces:**

`txx: Maximum daily maximum temperature [degree_Celsius]`

`cf.vdtr`

: **Calculate the average absolute day-to-day difference in diurnal temperature range.**

**Description:**

**Based on**

`xclim.indices.generic.interday_diurnal_temperature_range`

**Produces:**

`vdtr: Mean day-to-day variation in diurnal temperature range [degree_Celsius]`

### ICCLIM indices

The European Climate Assessment & Dataset project (ECAD) defines a set of 26 core climate indices. Those have been made accessible directly in xclim through their ECAD name for compatibility. However, the methods in this module are only wrappers around the corresponding methods of xclim.indices. Note that none of the checks performed by the xclim.utils.Indicator class (like with xclim.atmos indicators) are performed in this module.

`icclim.BEDD`

: **Biologically effective growing degree days.**

**Description:**Growing-degree days with a base of 10°C and an upper limit of 19°C and adjusted for latitudes between 40°N and 50°N for April to October (Northern Hemisphere; October to April in Southern Hemisphere). A temperature range adjustment also promotes small and large swings in daily temperature range. Used as a heat-summation metric in viticulture agroclimatology.

**Based on**

`xclim.indices.biologically_effective_degree_days`

**Produces:**

`BEDD: Biologically effective growing degree days (summation of min((max((tmin + tmax)/2 - 10 degc, 0)), 9°c), for days between 1 april and 30 september) [K days]`

`icclim.CD`

: **Cold and dry days**

**Description:**Returns the total number of days where "Cold" and "Dry" conditions coincide.

**Based on**

`xclim.indices.cold_and_dry_days`

**Produces:**

`CD: Cold and dry days [days]`

`icclim.CDD`

: **Maximum number of consecutive dry days.**

**Description:**Return the maximum number of consecutive days within the period where precipitation is below a certain threshold.

**Based on**

`xclim.indices.maximum_consecutive_dry_days`

**Produces:**

`CDD: Maximum number of consecutive dry days (rr<1 mm) [days]`

`icclim.CFD`

: **Maximum number of consecutive frost days (Tn < 0℃).**

**Description:**The maximum number of consecutive days within the period where the temperature is under a certain threshold (default: 0°C). WARNING: The default freq value is valid for the northern hemisphere.

**Based on**

`xclim.indices.maximum_consecutive_frost_days`

**Produces:**

`CFD: Maximum number of consecutive frost days (tn<0°c) [days]`

`icclim.CSDI`

: **Cold spell duration index.**

**Description:**Number of days with at least `window` consecutive days where the daily minimum temperature is below the `tasmin_per` percentiles.

**Based on**

`xclim.indices.cold_spell_duration_index`

**Produces:**

`CSDI: Cold-spell duration index [days]`

`icclim.CSU`

: **Maximum number of consecutive days with tasmax above a threshold (summer days).**

**Description:**Return the maximum number of consecutive days within the period where the maximum temperature is above a certain threshold.

**Based on**

`xclim.indices.maximum_consecutive_tx_days`

**Produces:**

`CSU: Maximum number of consecutive summer day [days]`

`icclim.CW`

: **cold and wet days**

**Description:**Returns the total number of days where "cold" and "wet" conditions coincide.

**Based on**

`xclim.indices.cold_and_wet_days`

**Produces:**

`CW: Cold and wet days [days]`

`icclim.CWD`

: **Consecutive wet days.**

**Description:**Returns the maximum number of consecutive wet days.

**Based on**

`xclim.indices.maximum_consecutive_wet_days`

**Produces:**

`CWD: Maximum number of consecutive wet days (rr≥1 mm) [days]`

`icclim.DTR`

: **Mean of daily temperature range.**

**Description:**The mean difference between the daily maximum temperature and the daily minimum temperature.

**Based on**

`xclim.indices.daily_temperature_range`

**Produces:**

`DTR: Mean of diurnal temperature range [K]`

`icclim.ETR`

: **Extreme intra-period temperature range.**

**Description:**The maximum of max temperature (TXx) minus the minimum of min temperature (TNn) for the given time period.

**Based on**

`xclim.indices.extreme_temperature_range`

**Produces:**

`ETR: Intra-period extreme temperature range [K]`

`icclim.FD`

: **Frost days index.**

**Description:**Number of days where daily minimum temperatures are below a threshold temperature.

**Based on**

`xclim.indices.frost_days`

**Produces:**

`FD: Frost days (tn<0°c) [days]`

`icclim.GD4`

: **Growing degree-days over threshold temperature value.**

**Description:**The sum of degree-days over the threshold temperature.

**Based on**

`xclim.indices.growing_degree_days`

**Produces:**

`GD4: Growing degree days (sum of tg>4°c) [K days]`

`icclim.GSL`

: **Growing season length.**

**Description:**The number of days between the first occurrence of at least six consecutive days with mean daily temperature over a threshold (default: 5℃) and the first occurrence of at least six consecutive days with mean daily temperature below the same threshold after a certain date. (Usually July 1st in the northern emisphere and January 1st in the southern hemisphere.)

**Based on**

`xclim.indices.growing_season_length`

**Produces:**

`GSL: Growing season length [days]`

`icclim.HD17`

: **Heating degree days.**

**Description:**Sum of degree days below the temperature threshold at which spaces are heated.

**Based on**

`xclim.indices.heating_degree_days`

**Produces:**

`HD17: Heating degree days (sum of17°c - tg) [K days]`

`icclim.HI`

: **Huglin Heliothermal Index.**

**Description:**Growing-degree days with a base of 10°C and adjusted for latitudes between 40°N and 50°N for April to September (Northern Hemisphere; October to March in Southern Hemisphere). Originally proposed in [Huglin1978]_. Used as a heat-summation metric in viticulture agroclimatology.

**Based on**

`xclim.indices.huglin_index`

**Produces:**

`HI: Huglin heliothermal index (summation of ((tmean + tmax)/2 - 10 degc) * latitude-based day-length coefficient (`k`), for days between 1 april and 31 october) []`

`icclim.ID`

: **Number of ice/freezing days.**

**Description:**Number of days where daily maximum temperatures are below a threshold.

**Based on**

`xclim.indices.ice_days`

**Produces:**

`ID: Ice days (tx<0°c) [days]`

`icclim.PRCPTOT`

: **Accumulated total precipitation (solid and liquid) during wet days**

**Description:**

**Based on**

`xclim.indices.prcptot`

**Produces:**

`PRCPTOT: Precipitation sum over wet days [mm]`

`icclim.R10mm`

: **Wet days.**

**Description:**Return the total number of days during period with precipitation over threshold.

**Based on**

`xclim.indices.wetdays`

**Produces:**

`R10mm: Heavy precipitation days (precipitation≥10 mm) [days]`

`icclim.R20mm`

: **Wet days.**

**Description:**Return the total number of days during period with precipitation over threshold.

**Based on**

`xclim.indices.wetdays`

**Produces:**

`R20mm: Very heavy precipitation days (precipitation≥20 mm) [days]`

`icclim.R75p`

: **Number of wet days with daily precipitation over a given percentile.**

**Description:**Number of days over period where the precipitation is above a threshold defining wet days and above a given percentile for that day.

**Based on**

`xclim.indices.days_over_precip_thresh`

**Produces:**

`days_over_precip_thresh: Count of days with daily precipitation above the given percentile [days]. [days]`

`icclim.R75pTOT`

: **Fraction of precipitation due to wet days with daily precipitation over a given percentile.**

**Description:**Percentage of the total precipitation over period occurring in days where the precipitation is above a threshold defining wet days and above a given percentile for that day.

**Based on**

`xclim.indices.fraction_over_precip_thresh`

**Produces:**

`R75pTOT: Precipitation fraction due to moderate wet days (>75th percentile) []`

`icclim.R95p`

: **Number of wet days with daily precipitation over a given percentile.**

**Description:**Number of days over period where the precipitation is above a threshold defining wet days and above a given percentile for that day.

**Based on**

`xclim.indices.days_over_precip_thresh`

**Produces:**

`days_over_precip_thresh: Count of days with daily precipitation above the given percentile [days]. [days]`

`icclim.R95pTOT`

: **Fraction of precipitation due to wet days with daily precipitation over a given percentile.**

**Description:**Percentage of the total precipitation over period occurring in days where the precipitation is above a threshold defining wet days and above a given percentile for that day.

**Based on**

`xclim.indices.fraction_over_precip_thresh`

**Produces:**

`R95pTOT: Precipitation fraction due to very wet days (>95th percentile) []`

`icclim.R99p`

: **Number of wet days with daily precipitation over a given percentile.**

**Description:**Number of days over period where the precipitation is above a threshold defining wet days and above a given percentile for that day.

**Based on**

`xclim.indices.days_over_precip_thresh`

**Produces:**

`days_over_precip_thresh: Count of days with daily precipitation above the given percentile [days]. [days]`

`icclim.R99pTOT`

: **Fraction of precipitation due to wet days with daily precipitation over a given percentile.**

**Description:**Percentage of the total precipitation over period occurring in days where the precipitation is above a threshold defining wet days and above a given percentile for that day.

**Based on**

`xclim.indices.fraction_over_precip_thresh`

**Produces:**

`R99pTOT: Precipitation fraction due to extremely wet days (>99th percentile) []`

`icclim.RR`

: **Accumulated total precipitation (solid and liquid)**

**Description:**Resample the original daily mean precipitation flux and accumulate over each period. If a daily temperature is provided, the `phase` keyword can be used to sum precipitation of a given phase only. When the temperature is under the provided threshold, precipitation is assumed to be snow, and liquid rain otherwise. This indice is agnostic to the type of daily temperature (tas, tasmax or tasmin) given.

**Based on**

`xclim.indices.precip_accumulation`

**Produces:**

`RR: Precipitation sum [mm]`

`icclim.RR1`

: **Wet days.**

**Description:**Return the total number of days during period with precipitation over threshold.

**Based on**

`xclim.indices.wetdays`

**Produces:**

`RR1: Wet days (rr≥1 mm) [days]`

`icclim.RX1day`

: **Highest 1-day precipitation amount for a period (frequency).**

**Description:**Resample the original daily total precipitation temperature series by taking the max over each period.

**Based on**

`xclim.indices.max_1day_precipitation_amount`

**Produces:**

`RX1day: Highest 1-day precipitation amount [mm/day]`

`icclim.RX5day`

: **Highest precipitation amount cumulated over a n-day moving window.**

**Description:**Calculate the n-day rolling sum of the original daily total precipitation series and determine the maximum value over each period.

**Based on**

`xclim.indices.max_n_day_precipitation_amount`

**Produces:**

`RX5day: Highest 5-day precipitation amount [mm]`

`icclim.SD`

: **Mean of daily average snow depth.**

**Description:**Resample the original daily mean snow depth series by taking the mean over each period.

**Based on**

`xclim.indices.snow_depth`

**Produces:**

`SD: Mean of daily snow depth [cm]`

`icclim.SD1`

: **Number of days with snow depth above a threshold.**

**Description:**Number of days where surface snow depth is greater or equal to given threshold. WARNING: The default `freq` is valid for the northern hemisphere.

**Based on**

`xclim.indices.snow_cover_duration`

**Produces:**

`SD1: Snow days (sd≥1 cm) [days]`

`icclim.SD50cm`

: **Number of days with snow depth above a threshold.**

**Description:**Number of days where surface snow depth is greater or equal to given threshold. WARNING: The default `freq` is valid for the northern hemisphere.

**Based on**

`xclim.indices.snow_cover_duration`

**Produces:**

`SD50cm: Snow days (sd≥50 cm) [days]`

`icclim.SD5cm`

: **Number of days with snow depth above a threshold.**

**Description:**Number of days where surface snow depth is greater or equal to given threshold. WARNING: The default `freq` is valid for the northern hemisphere.

**Based on**

`xclim.indices.snow_cover_duration`

**Produces:**

`SD5cm: Snow days (sd≥5 cm) [days]`

`icclim.SDII`

: **Average daily precipitation intensity.**

**Description:**Return the average precipitation over wet days.

**Based on**

`xclim.indices.daily_pr_intensity`

**Produces:**

`sdii: Average precipitation during wet days (sdii) [mm/day]`

`icclim.SU`

: **Number of days with tasmax above a threshold (number of summer days).**

**Description:**Number of days where daily maximum temperature exceeds a threshold.

**Based on**

`xclim.indices.tx_days_above`

**Produces:**

`SU: Summer days (tx>25°c) [days]`

`icclim.TG`

: **Mean of daily average temperature.**

**Description:**Resample the original daily mean temperature series by taking the mean over each period.

**Based on**

`xclim.indices.tg_mean`

**Produces:**

`tg_mean: Mean daily mean temperature [K]`

`icclim.TG10p`

: **Number of days with daily mean temperature below the 10th percentile.**

**Description:**Number of days with daily mean temperature below the 10th percentile.

**Based on**

`xclim.indices.tg10p`

**Produces:**

`TG10p: Days with tg<10th percentile of daily mean temperature (cold days) [days]`

`icclim.TG90p`

: **Number of days with daily mean temperature over the 90th percentile.**

**Description:**Number of days with daily mean temperature over the 90th percentile.

**Based on**

`xclim.indices.tg90p`

**Produces:**

`TG90p: Days with tg>90th percentile of daily mean temperature (warm days) [days]`

`icclim.TGn`

: **Lowest mean temperature.**

**Description:**Minimum of daily mean temperature.

**Based on**

`xclim.indices.tg_min`

**Produces:**

`tg_min: Minimum daily mean temperature [K]`

`icclim.TGx`

: **Highest mean temperature.**

**Description:**The maximum of daily mean temperature.

**Based on**

`xclim.indices.tg_max`

**Produces:**

`tg_max: Maximum daily mean temperature [K]`

`icclim.TN`

: **Mean minimum temperature.**

**Description:**Mean of daily minimum temperature.

**Based on**

`xclim.indices.tn_mean`

**Produces:**

`tn_mean: Mean daily minimum temperature [K]`

`icclim.TN10p`

: **Number of days with daily minimum temperature below the 10th percentile.**

**Description:**Number of days with daily minimum temperature below the 10th percentile.

**Based on**

`xclim.indices.tn10p`

**Produces:**

`TN10p: Days with tn<10th percentile of daily minimum temperature (cold nights) [days]`

`icclim.TN90p`

: **Number of days with daily minimum temperature over the 90th percentile.**

**Description:**Number of days with daily minimum temperature over the 90th percentile.

**Based on**

`xclim.indices.tn90p`

**Produces:**

`TN90p: Days with tn>90th percentile of daily minimum temperature (warm nights) [days]`

`icclim.TNn`

: **Lowest minimum temperature.**

**Description:**Minimum of daily minimum temperature.

**Based on**

`xclim.indices.tn_min`

**Produces:**

`tn_min: Minimum daily minimum temperature [K]`

`icclim.TNx`

: **Highest minimum temperature.**

**Description:**The maximum of daily minimum temperature.

**Based on**

`xclim.indices.tn_max`

**Produces:**

`tn_max: Maximum daily minimum temperature [K]`

`icclim.TR`

: **Number of days with tasmin above a threshold (number of tropical nights).**

**Description:**Number of days where daily minimum temperature exceeds a threshold.

**Based on**

`xclim.indices.tn_days_above`

**Produces:**

`TR: Tropical nights (tn>20°c) [days]`

`icclim.TX`

: **Mean max temperature.**

**Description:**The mean of daily maximum temperature.

**Based on**

`xclim.indices.tx_mean`

**Produces:**

`tx_mean: Mean daily maximum temperature [K]`

`icclim.TX10p`

: **Number of days with daily maximum temperature below the 10th percentile.**

**Description:**Number of days with daily maximum temperature below the 10th percentile.

**Based on**

`xclim.indices.tx10p`

**Produces:**

`TX10p: Days with tx<10th percentile of daily maximum temperature (cold day-times) [days]`

`icclim.TX90p`

: **Number of days with daily maximum temperature over the 90th percentile.**

**Description:**Number of days with daily maximum temperature over the 90th percentile.

**Based on**

`xclim.indices.tx90p`

**Produces:**

`TX90p: Days with tx>90th percentile of daily maximum temperature (warm day-times) [days]`

`icclim.TXn`

: **Lowest max temperature.**

**Description:**The minimum of daily maximum temperature.

**Based on**

`xclim.indices.tx_min`

**Produces:**

`tx_min: Minimum daily maximum temperature [K]`

`icclim.TXx`

: **Highest max temperature.**

**Description:**The maximum value of daily maximum temperature.

**Based on**

`xclim.indices.tx_max`

**Produces:**

`tx_max: Maximum daily maximum temperature [K]`

`icclim.WD`

: **warm and dry days**

**Description:**Returns the total number of days where "warm" and "Dry" conditions coincide.

**Based on**

`xclim.indices.warm_and_dry_days`

**Produces:**

`WD: Warm and dry days [days]`

`icclim.WSDI`

: **Warm spell duration index.**

**Description:**Number of days inside spells of a minimum number of consecutive days where the daily maximum temperature is above the 90th percentile. The 90th percentile should be computed for a 5-day moving window, centered on each calendar day in the 1961-1990 period.

**Based on**

`xclim.indices.warm_spell_duration_index`

**Produces:**

`WSDI: Warm-spell duration index [days]`

`icclim.WW`

: **warm and wet days**

**Description:**Returns the total number of days where "warm" and "wet" conditions coincide.

**Based on**

`xclim.indices.warm_and_wet_days`

**Produces:**

`WW: Warm and wet days [days]`

`icclim.vDTR`

: **Mean absolute day-to-day variation in daily temperature range.**

**Description:**Mean absolute day-to-day variation in daily temperature range.

**Based on**

`xclim.indices.daily_temperature_range_variability`

**Produces:**

`vDTR: Mean absolute day-to-day difference in dtr [K]`

### ANUCLIM indices

The ANUCLIM (v6.1) software package BIOCLIM sub-module produces a set of bioclimatic parameters derived values of temperature and precipitation. The methods in this module are wrappers around a subset of corresponding methods of xclim.indices.

Furthermore, according to the ANUCLIM user-guide ([ANUCLIM]), input values should be at a weekly or monthly frequency. However, the implementation here expands these definitions and can calculate the result with daily input data.

`anuclim.P10_MeanTempWarmestQuarter`

: **ANUCLIM Mean temperature of warmest/coldest quarter.**

**Description:**The warmest (or coldest) quarter of the year is determined, and the mean temperature of this period is calculated. If the input data frequency is daily ("D") or weekly ("W"), quarters are defined as 13-week periods, otherwise as 3 months.

**Based on**

`xclim.indices.tg_mean_warmcold_quarter`

**Produces:**

`P10_MeanTempWarmestQuarter: [K]`

`anuclim.P11_MeanTempColdestQuarter`

: **ANUCLIM Mean temperature of warmest/coldest quarter.**

**Description:**The warmest (or coldest) quarter of the year is determined, and the mean temperature of this period is calculated. If the input data frequency is daily ("D") or weekly ("W"), quarters are defined as 13-week periods, otherwise as 3 months.

**Based on**

`xclim.indices.tg_mean_warmcold_quarter`

**Produces:**

`P11_MeanTempColdestQuarter: [K]`

`anuclim.P12_AnnualPrecip`

: **Accumulated total precipitation.**

**Description:**

**Based on**

`xclim.indices.prcptot`

**Produces:**

`P12_AnnualPrecip: Annual precipitation [mm]`

`anuclim.P13_PrecipWettestPeriod`

: **ANUCLIM precipitation of the wettest/driest day, week, or month, depending on the time step.**

**Description:**

**Based on**

`xclim.indices.prcptot_wetdry_period`

**Produces:**

`P13_PrecipWettestPeriod: [mm]`

`anuclim.P14_PrecipDriestPeriod`

: **ANUCLIM precipitation of the wettest/driest day, week, or month, depending on the time step.**

**Description:**

**Based on**

`xclim.indices.prcptot_wetdry_period`

**Produces:**

`P14_PrecipDriestPeriod: [mm]`

`anuclim.P15_PrecipSeasonality`

: **ANUCLIM Precipitation Seasonality (C of V).**

**Description:**The annual precipitation Coefficient of Variation (C of V) expressed in percent. Calculated as the standard deviation of precipitation values for a given year expressed as a percentage of the mean of those values.

**Based on**

`xclim.indices.precip_seasonality`

**Produces:**

`P15_PrecipSeasonality: []`

`anuclim.P16_PrecipWettestQuarter`

: **ANUCLIM Total precipitation of wettest/driest quarter.**

**Description:**The wettest (or driest) quarter of the year is determined, and the total precipitation of this period is calculated. If the input data frequency is daily ("D") or weekly ("W") quarters are defined as 13-week periods, otherwise are 3 months.

**Based on**

`xclim.indices.prcptot_wetdry_quarter`

**Produces:**

`P16_PrecipWettestQuarter: [mm]`

`anuclim.P17_PrecipDriestQuarter`

: **ANUCLIM Total precipitation of wettest/driest quarter.**

**Description:**The wettest (or driest) quarter of the year is determined, and the total precipitation of this period is calculated. If the input data frequency is daily ("D") or weekly ("W") quarters are defined as 13-week periods, otherwise are 3 months.

**Based on**

`xclim.indices.prcptot_wetdry_quarter`

**Produces:**

`P17_PrecipDriestQuarter: [mm]`

`anuclim.P18_PrecipWarmestQuarter`

: **ANUCLIM Total precipitation of warmest/coldest quarter.**

**Description:**The warmest (or coldest) quarter of the year is determined, and the total precipitation of this period is calculated. If the input data frequency is daily ("D) or weekly ("W"), quarters are defined as 13-week periods, otherwise are 3 months.

**Based on**

`xclim.indices.prcptot_warmcold_quarter`

**Produces:**

`P18_PrecipWarmestQuarter: [mm]`

`anuclim.P19_PrecipColdestQuarter`

: **ANUCLIM Total precipitation of warmest/coldest quarter.**

**Description:**The warmest (or coldest) quarter of the year is determined, and the total precipitation of this period is calculated. If the input data frequency is daily ("D) or weekly ("W"), quarters are defined as 13-week periods, otherwise are 3 months.

**Based on**

`xclim.indices.prcptot_warmcold_quarter`

**Produces:**

`P19_PrecipColdestQuarter: [mm]`

`anuclim.P1_AnnMeanTemp`

: **Mean of daily average temperature.**

**Description:**Resample the original daily mean temperature series by taking the mean over each period.

**Based on**

`xclim.indices.tg_mean`

**Produces:**

`P1_AnnMeanTemp: Annual mean temperature [K]`

`anuclim.P2_MeanDiurnalRange`

: **Statistics of daily temperature range.**

**Description:**The mean difference between the daily maximum temperature and the daily minimum temperature.

**Based on**

`xclim.indices.daily_temperature_range`

**Produces:**

`P2_MeanDiurnalRange: Mean diurnal range [K]`

`anuclim.P3_Isothermality`

: **Isothermality.**

**Description:**The mean diurnal range divided by the annual temperature range.

**Based on**

`xclim.indices.isothermality`

**Produces:**

`P3_Isothermality: []`

`anuclim.P4_TempSeasonality`

: **ANUCLIM temperature seasonality (coefficient of variation).**

**Description:**The annual temperature coefficient of variation expressed in percent. Calculated as the standard deviation of temperature values for a given year expressed as a percentage of the mean of those temperatures.

**Based on**

`xclim.indices.temperature_seasonality`

**Produces:**

`P4_TempSeasonality: []`

`anuclim.P5_MaxTempWarmestPeriod`

: **Highest max temperature.**

**Description:**The maximum value of daily maximum temperature.

**Based on**

`xclim.indices.tx_max`

**Produces:**

`P5_MaxTempWarmestPeriod: Max temperature of warmest period [K]`

`anuclim.P6_MinTempColdestPeriod`

: **Lowest minimum temperature.**

**Description:**Minimum of daily minimum temperature.

**Based on**

`xclim.indices.tn_min`

**Produces:**

`P6_MinTempColdestPeriod: Min temperature of coldest period [K]`

`anuclim.P7_TempAnnualRange`

: **Calculate the extreme temperature range as the maximum of daily maximum temperature minus the minimum of daily minimum temperature.**

**Description:**

**Based on**

`xclim.indices.generic.extreme_temperature_range`

**Produces:**

`P7_TempAnnualRange: Temperature annual range [K]`

`anuclim.P8_MeanTempWettestQuarter`

: **ANUCLIM Mean temperature of wettest/driest quarter.**

**Description:**The wettest (or driest) quarter of the year is determined, and the mean temperature of this period is calculated. If the input data frequency is daily ("D") or weekly ("W"), quarters are defined as 13-week periods, otherwise are 3 months.

**Based on**

`xclim.indices.tg_mean_wetdry_quarter`

**Produces:**

`P8_MeanTempWettestQuarter: [K]`

`anuclim.P9_MeanTempDriestQuarter`

: **ANUCLIM Mean temperature of wettest/driest quarter.**

**Description:**The wettest (or driest) quarter of the year is determined, and the mean temperature of this period is calculated. If the input data frequency is daily ("D") or weekly ("W"), quarters are defined as 13-week periods, otherwise are 3 months.

**Based on**

`xclim.indices.tg_mean_wetdry_quarter`

**Produces:**

`P9_MeanTempDriestQuarter: [K]`