# xarray.cftime_range¶

xarray.cftime_range(start=None, end=None, periods=None, freq='D', normalize=False, name=None, closed=None, calendar='standard')

Return a fixed frequency CFTimeIndex.

Parameters: start : str or cftime.datetime, optional Left bound for generating dates. end : str or cftime.datetime, optional Right bound for generating dates. periods : integer, optional Number of periods to generate. freq : str, default ‘D’, BaseCFTimeOffset, or None Frequency strings can have multiples, e.g. ‘5H’. normalize : bool, default False Normalize start/end dates to midnight before generating date range. name : str, default None Name of the resulting index closed : {None, ‘left’, ‘right’}, optional Make the interval closed with respect to the given frequency to the ‘left’, ‘right’, or both sides (None, the default). calendar : str Calendar type for the datetimes (default ‘standard’). CFTimeIndex

Notes

This function is an analog of pandas.date_range for use in generating sequences of cftime.datetime objects. It supports most of the features of pandas.date_range (e.g. specifying how the index is closed on either side, or whether or not to normalize the start and end bounds); however, there are some notable exceptions:

• You cannot specify a tz (time zone) argument.
• Start or end dates specified as partial-datetime strings must use the ISO-8601 format.
• It supports many, but not all, frequencies supported by pandas.date_range. For example it does not currently support any of the business-related, semi-monthly, or sub-second frequencies.
• Compound sub-monthly frequencies are not supported, e.g. ‘1H1min’, as these can easily be written in terms of the finest common resolution, e.g. ‘61min’.

Valid simple frequency strings for use with cftime-calendars include any multiples of the following.

Alias Description
A, Y Year-end frequency
AS, YS Year-start frequency
Q Quarter-end frequency
QS Quarter-start frequency
M Month-end frequency
MS Month-start frequency
D Day frequency
H Hour frequency
T, min Minute frequency
S Second frequency

Any multiples of the following anchored offsets are also supported.

Alias Description
A(S)-JAN Annual frequency, anchored at the end (or beginning) of January
A(S)-FEB Annual frequency, anchored at the end (or beginning) of February
A(S)-MAR Annual frequency, anchored at the end (or beginning) of March
A(S)-APR Annual frequency, anchored at the end (or beginning) of April
A(S)-MAY Annual frequency, anchored at the end (or beginning) of May
A(S)-JUN Annual frequency, anchored at the end (or beginning) of June
A(S)-JUL Annual frequency, anchored at the end (or beginning) of July
A(S)-AUG Annual frequency, anchored at the end (or beginning) of August
A(S)-SEP Annual frequency, anchored at the end (or beginning) of September
A(S)-OCT Annual frequency, anchored at the end (or beginning) of October
A(S)-NOV Annual frequency, anchored at the end (or beginning) of November
A(S)-DEC Annual frequency, anchored at the end (or beginning) of December
Q(S)-JAN Quarter frequency, anchored at the end (or beginning) of January
Q(S)-FEB Quarter frequency, anchored at the end (or beginning) of February
Q(S)-MAR Quarter frequency, anchored at the end (or beginning) of March
Q(S)-APR Quarter frequency, anchored at the end (or beginning) of April
Q(S)-MAY Quarter frequency, anchored at the end (or beginning) of May
Q(S)-JUN Quarter frequency, anchored at the end (or beginning) of June
Q(S)-JUL Quarter frequency, anchored at the end (or beginning) of July
Q(S)-AUG Quarter frequency, anchored at the end (or beginning) of August
Q(S)-SEP Quarter frequency, anchored at the end (or beginning) of September
Q(S)-OCT Quarter frequency, anchored at the end (or beginning) of October
Q(S)-NOV Quarter frequency, anchored at the end (or beginning) of November
Q(S)-DEC Quarter frequency, anchored at the end (or beginning) of December

Finally, the following calendar aliases are supported.

Alias Date type
standard, gregorian cftime.DatetimeGregorian
proleptic_gregorian cftime.DatetimeProlepticGregorian
noleap, 365_day cftime.DatetimeNoLeap
all_leap, 366_day cftime.DatetimeAllLeap
360_day cftime.Datetime360Day
julian cftime.DatetimeJulian

Examples

This function returns a CFTimeIndex, populated with cftime.datetime objects associated with the specified calendar type, e.g.

>>> xr.cftime_range(start='2000', periods=6, freq='2MS', calendar='noleap')
CFTimeIndex([2000-01-01 00:00:00, 2000-03-01 00:00:00, 2000-05-01 00:00:00,
2000-07-01 00:00:00, 2000-09-01 00:00:00, 2000-11-01 00:00:00],
dtype='object')


As in the standard pandas function, three of the start, end, periods, or freq arguments must be specified at a given time, with the other set to None. See the pandas documentation for more examples of the behavior of date_range with each of the parameters.