# 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’).

Returns

Return type

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.