evapo_transpiration Computes evapotranspiration

evapo_transpiration.py

This module is used to compute daily potential evapotranspiration (ET) based on American Society of Civil Engineers standardized reference evapotranspiration equation (January 2005)

A Sat/XLink setup is associated with this module: evapotranspiration_setup.txt

The provided setup makes hourly sensor readings. The interval may be modified to suit your station. However, ET must be computed daily to be accurate.

The following sensor readings and associated units are used to compute ET:

  • Air temperature (AT). Units may be
    • ‘C’ for Celsius (default)
    • ‘F’ for ‘Fahrenheit’
  • Relative humidity (RH) expressed in percent.
  • Barometric pressure (BP). Units:
    • ‘mb’ for millibar (default)
    • ‘Hg’ for inches of mercury
  • Solar radiation (RI). Units:
    • ‘Wm2’ for Watts per meters squared
    • ‘Lyd’ for Langleys per day (1 Lyd = 0.484583 Wm2) (default)
    • ‘Lyh’ for Langleys per hour
    • ‘Lym’ for Langleys per minute
  • Wind speed (WS). Units:
    • ‘kph’ for kilometers per hour (default)
    • ‘mph’ for miles per hour
    • ‘mps’ for meters per second
    • ‘kn’ for knots
    • ‘fps’ for feet per second
  • Daily Evapotranspiration (ET) is the result. Units may be
    • ‘cm’ (default)
    • ‘mm’
    • ‘in’

Please change the sensor units in the setup to one of the units listed. The system will use default units otherwise.

Please make sure the ET measurement is scheduled after all sensor readings are complete, e.g. set the measurement time to 5 min. If that is not an option, uncomment utime.sleep at start of compute_ET routine.

If recording is OFF, counts get reset every time ET is measured. This allows for testing. If recording is ON, counts get reset when a scheduled ET measurement is made.

If recording is ON, and a live (forced) measurement of one of the 5 sensors takes place, it will NOT count towards ET. This allows making live readings without interfering with ET.

The ET calculation method used is based on: Me. Jensen, R. D. Burman, and R. G. Allen 1990. Evapotranspiration and Irrigation water Requiremtnts ASCE manuals and Reports on Engineering Practice NO.70 American Society of Civil Engineers NY 1-332 Walter, et. al. January 2005 The ASCE Standardized Reference Evapotranspiration Equation ASCE-EWRI Task Committee Report ASCE-EWRI Task Committee Report Appendixes A-C

evapo_transpiration.compute_ET(ignored)

Computes ET based on data in global variables Associate this with the ET measurement :param ignored: this variable is not used :return: ET :rtype: float

evapo_transpiration.meas_AT(sensor_reading)

Connect this to the air temperature reading The routine will compute min, max, and average

evapo_transpiration.meas_BP(sensor_reading)

Connect this to the barometric pressure measurement The routine will compute average for use in ET Additionally, Sat/XLink version check is made

evapo_transpiration.meas_RH(sensor_reading)

Connect this to the relative humidity measurement The routine will compute average for use in ET

evapo_transpiration.meas_RI(sensor_reading)

Connect this to the solar radiation measurement The routine will compute average for use in ET

evapo_transpiration.meas_WS(sensor_reading)

Connect this to the wind speed measurement The routine will compute average for use in ET

evapo_transpiration.reset_ET()

Call function to clear out past averages and restart computation

evapo_transpiration.test_ET()

Unit test routine

evapo_transpiration.version_check()

Ensures firmware supports this script

evapo_transpiration.output_ET = ‘ETo’

Change the variable above to control the type of ET to compute. Choices: ‘ETo’ for Standardized Reference Evapotranspiration, short grass ‘ETr’ for Standardized Reference Evapotranspiration, tall alfalfa ‘ETWater’ Same as ETo except uses albedo of 0.06, characteristic of open water

evapo_transpiration.wind_elevation = 2.0

Wind Elevation in meters at which wind measurements are taken.