Package: refet
NumPy functions for computing daily and hourly reference ET following the ASCE Standardized Reference Evapotranspiration Equations (ASCE2005).UsageDaily ExampleThe following demonstrates how to compute a single daily ETr value using weather data for 2015-07-01 from theFallon, NV AgriMet station.
The necessary unit conversions are shown on the input values.
The raw input data is availablehere.import math
import refet#Theactualvaporpressurecouldbecomputedfromthedewpointtemperaturebelow#orthetdewcanbepasseddirectlytothefunction#ConvertthedewpointtemperaturetoCelsius#tdew=units._f2c(49.84)#ea=0.6108*math.exp(17.27*tdew/(tdew+237.3))#ea=refet.calcs._sat_vapor_pressure(tdew)etr = refet.Daily(
    tmin=66.65, tmax=102.80, tdew=49.84, rs=674.07, uz=4.80,
    zw=3, elev=1208.5, lat=39.4575, doy=182, method='asce',
    input_units={'tmin': 'F', 'tmax': 'F', 'tdew': 'F', 'rs': 'Langleys',
                 'uz': 'mph', 'lat': 'deg'}
    ).etr()

print(f'ETr: {float(etr):.2f} mm')Hourly ExampleThe following demonstrates how to compute a single hourly ETr value using weather data for 18:00 UTC (11:00 AM PDT) on 2015-07-01 from theFallon, NV AgriMet station.
The necessary unit conversions are shown on the input values.
The raw input data is availablehereimport refet

etr = refet.Hourly(
    tmean=91.80, ea=1.20 , rs=61.16, uz=3.33, zw=3, elev=1208.5,
    lat=39.4575, lon=-118.77388, doy=182, time=18, method='asce',
    input_units={'tmean': 'F', 'rs': 'Langleys', 'uz': 'mph', 'lat': 'deg'}
    ).etr()

print(f'ETr: {float(etr):.2f} mm')Input ParametersRequired Parameters (hourly & daily)VariableTypeDescription [default units]uzndarrayWind speed [m s-1]zwfloatWind speed height [m]elevndarrayElevation [m]latndarrayLatitude [degrees]doyndarrayDay of yearRequired Ea Parameters (hourly & daily)Either the “ea” or “tdew” parameter must be setVariableTypeDescription [default units]eandarrayActual vapor pressure [kPa]tdewndarrayDew point temperature [C]Required Daily ParametersVariableTypeDescription [default units]rsndarrayIncoming shortwave solar radiation [MJ m-2 d-1]tminndarrayMinimum daily temperature [C]tmaxndarrayMaximum daily temperature [C]Required Hourly ParametersVariableTypeDescription [default units]rsndarrayIncoming shortwave solar radiation [MJ m-2 h-1]tmeanndarrayAverage hourly temperature [C]lonndarrayLongitude [degrees]timendarrayUTC hour at start of time periodOptional ParametersVariableTypeDescription [default units]methodstrCalculation method‘asce’ – Calculations will follow ASCE-EWRI 2005 (default)‘refet’ – Calculations will follow RefET softwarerso_typestrOverride default clear sky solar radiation (Rso) calculationDefaults to None if not set‘full’ – Full clear sky solar formulation‘simple’ – Simplified clear sky solar formulation‘array’ – Read Rso values from “rso” function parameterrsoarray_likeClear sky solar radiation [MJ m-2 d-1 or MJ m-2 h-1]Only used if rso_type == ‘array’Defaults to None if not setinput_unitsdictOverride default input unit typesInput values will be converted to default unit typesInstallationThe RefET python module can be installed with conda or pip:conda install refetIssuesThe functions havenotbeen tested for inputs with different shapes/sizes and the broadcasting may not work correctly.The user must handle the following:File I/OQA/QC of the input dataFilling missing or bad dataCloudiness Fraction (hourly)The cloudiness fraction (fcd) is computed as the ratio of the measured solar radiation (Rs) to the theoretical clear sky solar radiation (Rso).  This ratio cannot be computed directly at night since Rso is 0.ASCE2005suggests computing a representative nighttime fcd based on the fcd at sunset and/or sunrise.In the RefET module fcd is hard coded to 1 for all time steps with very low sun angles since the hourly reference ET is computed independently for each time step.Calculation Method - ASCE vs. RefETThe main difference between the two “methods” is that the “asce” method attempts to follow the equations inASCE2005, whereas the “refet” method attempts to follow the calculations of theRefET Softwareas closely as possible.  The difference in output between these methods is generally negligible (if not identical for realistic numbers of significant digits).  Note that the default is set to “asce” to best match the calculations a user would expect to have happen. The “refet” method was added in order to help validate this code to the RefET Software.ValidationPlease see thevalidation documentfor additional details on the source of the test values and the comparison of the functions to the Ref-ET software.DependenciesnumpyModules needed to run the test suite:pandaspytestpytzReferences[ASCE2005]ASCE-EWRI (2005). The ASCE standardized reference evapotranspiration equation.https://ascelibrary.org/doi/book/10.1061/9780784408056