pygridmet.core#

Core class for the GridMET functions.

Module Contents#

class pygridmet.core.GridMET(dates=2000, variables=None, snow=False)#

Base class for GridMET requests.

Parameters:
  • dates (tuple or int or list, optional) – Start and end dates as a tuple, (start, end), or a list of years. Defaults to 2000 so the class can be initialized without any arguments.

  • variables (str or list or tuple, optional) – List of variables to be downloaded. The acceptable variables are: pr, rmax, rmin, sph, srad, th, tmmn, tmmx, vs, bi, fm100, fm1000, erc, etr, pet, and vpd. Descriptions can be found here. Defaults to None, i.e., all the variables are downloaded.

  • snow (bool, optional) – Compute snowfall from precipitation and minimum temperature. Defaults to False.

References

static check_dates(dates)#

Check if input dates are in correct format and valid.

dates_todict(dates)#

Set dates by start and end dates as a tuple, (start, end).

dates_tolist(dates)#

Correct dates for GridMET accounting for leap years.

GridMET doesn’t account for leap years and removes Dec 31 when it’s leap year.

Parameters:

dates (tuple) – Target start and end dates.

Returns:

list – All the dates in the GridMET database within the provided date range.

Return type:

list[tuple[pandas.Timestamp, pandas.Timestamp]]

separate_snow(clm, t_rain=T_RAIN, t_snow=T_SNOW)#

Separate snow based on Martinez and Gupta[1].

Parameters:
  • clm (pandas.DataFrame or xarray.Dataset) – Climate data that should include pr and tmmn.

  • t_rain (float, optional) – Threshold for temperature for considering rain, defaults to 2.5 K.

  • t_snow (float, optional) – Threshold for temperature for considering snow, defaults to 0.6 K.

Returns:

pandas.DataFrame or xarray.Dataset – Input data with snow (mm) column if input is a pandas.DataFrame, or snow variable if input is an xarray.Dataset.

Return type:

DF

References

years_todict(years)#

Set date by list of year(s).

years_tolist(years)#

Correct dates for GridMET accounting for leap years.

GridMET doesn’t account for leap years and removes Dec 31 when it’s leap year.

Parameters:

years (list) – A list of target years.

Returns:

list – All the dates in the GridMET database within the provided date range.

Return type:

list[tuple[pandas.Timestamp, pandas.Timestamp]]