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.
day2dekad
(day)[source]¶ Returns the dekad of a day.
Parameters: day (int) – Day of the date. Returns: dekad – Number of the dekad in a month. Return type: int
-
pytesmo.timedate.dekad.
dekad2day
(year, month, dekad)[source]¶ Gets the day of a dekad.
Parameters: Returns: day – Day value for the dekad.
Return type:
-
pytesmo.timedate.dekad.
dekad_index
(begin, end=None)[source]¶ Creates a pandas datetime index on a decadal basis.
Parameters: 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: datetime.datetime
-
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