mettoolbox.pet.oudin_form

mettoolbox.pet.oudin_form(lat, temp_min_col, temp_max_col, temp_mean_col=None, k1=100, k2=5, source_units=None, start_date=None, end_date=None, dropna='no', clean=False, round_index=None, skiprows=None, index_type='datetime', names=None, target_units=None, print_input=False)

Oudin PET: f(Tavg, latitude)

This model uses daily mean temperature to estimate PET based on the Julian day of year and latitude. The later are used to estimate extraterrestrial solar radiation.

Average daily temperature can be supplied or if not, calculated by (Tmax+Tmin)/2.

The constants k1 and k2 are used in the generic form of the equation to adjust the PET.

The defaults for k1 and k2 for this function are from Oudin with k1=100 and k2=5.

Jensen-Haise presented k1=40, and k2=0,

Mcguiness presented k1=68, and k2=5.

Reference:

Ludovic Oudin et al, Which potential evapotranspiration input for
a lumped rainfall–runoff model?: Part 2—Towards a simple and efficient
potential evapotranspiration model for rainfall–runoff modelling,
Journal of Hydrology, Volume 303, Issues 1–4, 1 March 2005, Pages
290-306, ISSN 0022-1694,
http://dx.doi.org/10.1016/j.jhydrol.2004.08.026.
(http://www.sciencedirect.com/science/article/pii/S0022169404004056)
Parameters:
  • lat (float) – The latitude of the station. Positive specifies the Northern Hemisphere, and negative values represent the Southern Hemisphere.

  • temp_min_col (str, int) – The column name or number (data columns start numbering at 1) in the input data that represents the daily minimum temperature.

  • temp_max_col (str, int) – The column name or number (data columns start numbering at 1) in the input data that represents the daily maximum temperature.

  • temp_mean_col (str, int) – The column name or number (data columns start numbering at 1) in the input data that represents the daily mean temperature. If None will be estimated by the average of temp_min_col and temp_max_col.

  • k1

    [optional, default to 100]

    The k1 value is used to calibrate the equation to different conditions.

    The k1 parameter is a scaling parameter.

  • k2

    [optional, default to 5]

    The k2 value is used to calibrate the equation to different conditions.

    The k2 parameter represents the point in degrees C at which potential evaporation is 0.

  • source_units

    If unit is specified for the column as the second field of a ‘:’ delimited column name, then the specified units and the ‘source_units’ must match exactly.

    Any unit string compatible with the ‘pint’ library can be used.

    Since there are two required input columns (“temp_min_col” and “temp_max_col”) and one optional input column (“temp_mean_col”) you need to supply units for each input column in source_units.

    Command line:

    mettoolbox pet oudin_form 24 1 2 degF,degF < tmin_tmax_data.csv
    

    Python:

    from mettoolbox import mettoolbox as mt
    df = mt.pet.oudin_form(24, 1, 2, ["degF", "degF"], input_ts="tmin_tmax_data.csv")
    

  • start_date (str) –

    [optional, defaults to first date in time-series, input filter]

    The start_date of the series in ISOdatetime format, or ‘None’ for beginning.

  • end_date (str) –

    [optional, defaults to last date in time-series, input filter]

    The end_date of the series in ISOdatetime format, or ‘None’ for end.

  • dropna (str) –

    [optional, defauls it ‘no’, input filter]

    Set dropna to ‘any’ to have records dropped that have NA value in any column, or ‘all’ to have records dropped that have NA in all columns. Set to ‘no’ to not drop any records. The default is ‘no’.

  • clean

    [optional, default is False, input filter]

    The ‘clean’ command will repair a input index, removing duplicate index values and sorting.

  • round_index

    [optional, default is None which will do nothing to the index, output format]

    Round the index to the nearest time point. Can significantly improve the performance since can cut down on memory and processing requirements, however be cautious about rounding to a very course interval from a small one. This could lead to duplicate values in the index.

  • skiprows (list-like or integer or callable) –

    [optional, default is None which will infer header from first line, input filter]

    Line numbers to skip (0-indexed) if a list or number of lines to skip at the start of the file if an integer.

    If used in Python can be a callable, the callable function will be evaluated against the row indices, returning True if the row should be skipped and False otherwise. An example of a valid callable argument would be

    lambda x: x in [0, 2].

  • index_type (str) –

    [optional, default is ‘datetime’, output format]

    Can be either ‘number’ or ‘datetime’. Use ‘number’ with index values that are Julian dates, or other epoch reference.

  • names (str) –

    [optional, default is None, transformation]

    If None, the column names are taken from the first row after ‘skiprows’ from the input dataset.

    MUST include a name for all columns in the input dataset, including the index column.

  • target_units (str) –

    [optional, default is None, transformation]

    The purpose of this option is to specify target units for unit conversion. The source units are specified in the header line of the input or using the ‘source_units’ keyword.

    The units of the input time-series or values are specified as the second field of a ‘:’ delimited name in the header line of the input or in the ‘source_units’ keyword.

    Any unit string compatible with the ‘pint’ library can be used.

    This option will also add the ‘target_units’ string to the column names.

  • print_input

    [optional, default is False, output format]

    If set to ‘True’ will include the input columns in the output table.

  • tablefmt (str) –

    [optional, default is ‘csv’, output format]

    The table format. Can be one of ‘csv’, ‘tsv’, ‘plain’, ‘simple’, ‘grid’, ‘pipe’, ‘orgtbl’, ‘rst’, ‘mediawiki’, ‘latex’, ‘latex_raw’ and ‘latex_booktabs’.