pytesmo.timedate package¶
Submodules¶
pytesmo.timedate.dekad module¶
This module provides functions for date manipulation on a dekadal basis.
A dekad is defined as days 1-10, 11-20 and 21-last day of a month.
Or in numbered dekads:
1: day 1-10 2: day 11-20 3: day 21-last
-
pytesmo.timedate.dekad.
check_dekad
(date)[source]¶ Checks the dekad of a date and returns the dekad date.
- Parameters
date (datetime) – Date to check.
- Returns
new_date – Date of the dekad.
- Return type
datetime
-
pytesmo.timedate.dekad.
dekad_index
(begin, end=None)[source]¶ Creates a pandas datetime index on a decadal basis.
- Parameters
begin (datetime) – Datetime index start date.
end (datetime, optional) – Datetime index end date, set to current date if None.
- Returns
dtindex – Dekadal datetime index.
- Return type
-
pytesmo.timedate.dekad.
dekad_startdate_from_date
(dt_in)[source]¶ dekadal startdate that a date falls in
- Parameters
run_dt (datetime.datetime) –
- Returns
startdate – startdate of dekad
- Return type
-
pytesmo.timedate.dekad.
get_dekad_period
(dates)[source]¶ Checks number of the dekad in the current year for dates given as list.
- Parameters
dates (list of datetime) – Dates to check.
- Returns
period – List of dekad periods.
- Return type
list of int
-
pytesmo.timedate.dekad.
group_into_dekads
(dates, use_dekad_startdate=False)[source]¶ Group a list of dates into dekads.
- Parameters
dates (list of datetime.datetime) –
use_dekad_startdates (boolean, optional) – If set the dekad reference dates will be the startdates of the dekad
- Returns
groups – keys: dekad reference dates values: list of dates belonging to dekad
- Return type
pytesmo.timedate.julian module¶
Created on Tue Apr 02 16:50:34 2013
@author: tm
computes julian date, given month (1..12). day(1..31) and year, its inverse (calendar date from julian), and the day of the year (doy), assuming it is a leap year.
julday and caldat are adapted from “Numerical Recipes in C’, 2nd edition, pp. 11
restrictions - no error handling implemented - works only for years past 1582 - time not yet supported
-
pytesmo.timedate.julian.
caldat
(julian)[source]¶ Calendar date (month, day, year) from julian date, inverse of ‘julday()’ Return value: month, day, and year in the Gregorian Works only for years past 1582!
- Parameters
julian (numpy.ndarray or double) – Julian day.
- Returns
month (numpy.ndarray or int32) – Month.
day (numpy.ndarray or int32) – Day.
year (numpy.ndarray or int32) – Year.
-
pytesmo.timedate.julian.
doy
(month, day, year=None)[source]¶ Calculation of day of year. If year is provided it will be tested for leap years.
- Parameters
month (numpy.ndarray or int32) – Month.
day (numpy.ndarray or int32) – Day.
year (numpy.ndarray or int32, optional) – Year.
Retruns –
------- –
doy (numpy.ndarray or int32) – Day of year.
-
pytesmo.timedate.julian.
is_leap_year
(year)[source]¶ Check if year is a leap year.
- Parameters
year (numpy.ndarray or int32) –
- Returns
leap_year – True if year is a leap year.
- Return type
numpy.ndarray or boolean
-
pytesmo.timedate.julian.
julday
(month, day, year, hour=0, minute=0, second=0)[source]¶ Julian date from month, day, and year (can be scalars or arrays)
- Parameters
month (numpy.ndarray or int32) – Month.
day (numpy.ndarray or int32) – Day.
year (numpy.ndarray or int32) – Year.
hour (numpy.ndarray or int32, optional) – Hour.
minute (numpy.ndarray or int32, optional) – Minute.
second (numpy.ndarray or int32, optional) – Second.
- Returns
jul – Julian day.
- Return type
numpy.ndarray or double
-
pytesmo.timedate.julian.
julian2date
(julian)[source]¶ Calendar date from julian date. Works only for years past 1582!
- Parameters
julian (numpy.ndarray or double) – Julian day.
- Returns
year (numpy.ndarray or int32) – Year.
month (numpy.ndarray or int32) – Month.
day (numpy.ndarray or int32) – Day.
hour (numpy.ndarray or int32) – Hour.
minute (numpy.ndarray or int32) – Minute.
second (numpy.ndarray or int32) – Second.
-
pytesmo.timedate.julian.
julian2datetime
(julian, tz=None)[source]¶ converts julian date to python datetime default is not time zone aware
- Parameters
julian (float) – julian date
-
pytesmo.timedate.julian.
julian2datetimeindex
(j, tz=<UTC>)[source]¶ Converting Julian days to datetimeindex.
- Parameters
j (numpy.ndarray or int32) – Julian days.
tz (instance of pytz, optional) – Time zone. Default: UTC
- Returns
datetime – Datetime index.
- Return type
-
pytesmo.timedate.julian.
julian2doy
(j, consider_nonleap_years=True)[source]¶ Calendar date from julian date. Works only for years past 1582!
- Parameters
j (numpy.ndarray or double) – Julian days.
consider_nonleap_years (boolean, optional) – Flag if all dates are interpreted as leap years (False) or not (True).
- Returns
doy – Day of year.
- Return type
numpy.ndarray or int32