geocat.comp.climatologies.climatology

geocat.comp.climatologies.climatology(dset, freq, time_coord_name=None)

Compute climatologies for a specified time frequency.

Parameters
  • dset (xarray.Dataset, xarray.DataArray) – The data on which to operate

  • freq (str) –

    Climatology frequency alias. Accepted alias:

    • ’day’: for daily climatologies

    • ’month’: for monthly climatologies

    • ’year’: for annual climatologies

    • ’season’: for seasonal climatologies

  • time_coord_name (str, Optional) – Name for time coordinate to use. Defaults to None and infers the name from the data.

Returns

computed_dset – The computed climatology data

Return type

xarray.Dataset, xarray.DataArray

Examples

>>> import xarray as xr
>>> import pandas as pd
>>> import numpy as np
>>> import geocat.comp
>>> dates = pd.date_range(start="2000/01/01", freq="M", periods=24)
>>> ts = xr.DataArray(np.arange(24).reshape(24, 1, 1), dims=["time", "lat", "lon"], coords={"time": dates})
>>> ts
<xarray.DataArray (time: 24, lat: 1, lon: 1)>
array([[[ 0]],

[[ 1]],

[[ 2]],

[[21]],

[[22]],

[[23]]])

Coordinates: * time (time) datetime64[ns] 2000-01-31 2000-02-29 … 2001-12-31 Dimensions without coordinates: lat, lon >>> geocat.comp.climatology(ts, ‘year’) <xarray.DataArray (year: 2, lat: 1, lon: 1)> array([[[ 5.5]],

[[17.5]]])

Coordinates: * year (year) int64 2000 2001 Dimensions without coordinates: lat, lon >>> geocat.comp.climatology(ts, ‘season’) <xarray.DataArray (season: 4, lat: 1, lon: 1)> array([[[10.]],

[[12.]],

[[ 9.]],

[[15.]]])

Coordinates: * season (season) object ‘DJF’ ‘JJA’ ‘MAM’ ‘SON’ Dimensions without coordinates: lat, lon