Google Earth Engine ASCE Standardized Reference Evapotranspiration Functions

## Project description

Google Earth Engine (GEE) functions for computing daily and hourly reference ET.

## Usage

### Daily

The following demonstrates how to compute a single daily ETr value using weather data for 2015-07-01 from the Fallon, NV AgriMet station. The necessary unit conversions are shown on the input values. The raw input data is available here.

import math
import ee
import geerefet

# Unit conversions
tmin_c = (66.65 - 32) * (5.0 / 9)                          # F -> C
tmax_c = (102.80 - 32) * (5.0 / 9)                         # F -> C
tdew_c = (57.26 - 32) * (5.0 / 9)                          # F -> C
ea = 0.6108 * math.exp(17.27 * tdew_c / (tdew_c + 237.3))  # kPa
rs = (674.07 * 0.041868)                                   # Langleys -> MJ m-2 d-1
uz = 4.80 * 0.44704                                        # mpg -> m s-1

etr = geerefet.Daily(
tmin=tmin_c, tmax=tmax_c, ea=ea, rs=rs, uz=uz, zw=3, elev=1208.5,

print('ETr: {:.2f} mm'.format(float(etr)))

### Hourly

The 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 the Fallon, NV AgriMet station. The necessary unit conversions are shown on the input values. The raw input data is available here

import math
import ee
import geerefet

# Unit conversions
tmean_c = (91.80 - 32) * (5.0 / 9)           # F -> C
ea = 1.20                                    # kPa
rs = (61.16 * 0.041868)                      # Langleys -> MJ m-2 h-1
uz = 3.33 * 0.44704                          # mph -> m s-1

etr = geerefet.Hourly(
tmean=tmean_c, ea=ea, rs=rs, uz=uz, zw=3, elev=1208.5,

print('ETr: {:.2f} mm'.format(float(etr)))

### GRIDMET

A helper function for computing daily ETo and ETr for GRIDMET images is available.

import ee
import geerefet

gridmet_img = ee.Image(ee.ImageCollection('IDAHO_EPSCOR/GRIDMET').first())
etr = geerefet.Daily.gridmet(gridmet_img).etr().getInfo()

print('ETr: {:.2f} mm'.format(float(etr)))

## Input Parameters

### Required Parameters (hourly & daily)

Variable

Type

Description [units]

ea

ee.Image

Actual vapor pressure [kPa]

rs

ee.Image

Incoming shortwave solar radiation [MJ m-2 day-1]

uz

ee.Image

Wind speed [m/s]

zw

ee.Number

Wind speed height [m]

elev

ee.Image, ee.Number

Elevation [m]

lat

ee.Image, ee.Number

doy

ee.Image, ee.Number

Day of year

### Required Daily Parameters

Variable

Type

Description [units]

tmin

ee.Image

Minimum daily temperature [C]

tmax

ee.Image

Maximum daily temperature [C]

### Required Hourly Parameters

Variable

Type

Description [units]

tmean

ee.Image

Average hourly temperature [C]

lon

ee.Image, ee.Number

Longitude [degrees]

time

ee.Number

UTC hour at start of time period

### Optional Parameters

Variable

Type

Description [units]

method

str

Calculation method
• ‘asce’ – Calculations will follow ASCE-EWRI 2005 (default)

• ‘refet’ – Calculations will follow RefET software

rso_type

str

Override default clear sky solar radiation (Rso) calculation
Defaults to None if not set
• ‘full’ – Full clear sky solar formulation (default)

• ‘simple’ – Simplified clear sky solar formulation (Eq. 19)

• ‘array’ – Read Rso values from “rso” function parameter

rso

ee.Image, ee.Number

Clear sky solar radiation [MJ m-2 day-1]
• Only needed if rso_type is ‘array’

• Defaults to None if not set

## Issues

Currently the user must handle all of the file I/O and unit conversions.

The latitude/longitude units are in degrees, not radians (this is different than the python RefET modules).

### Cloudiness Fraction (hourly)

The hourly reference ET calculation is currently performed independently for each time step. The cloudiness fraction (fcd) for very low sun angles (i.e. at night) is hard coded to 1 for very low sun angles instead of being derived from the .

## ASCE vs. RefET

TODO Discuss differences between “asce” and “refet” methods.

## Installation

To install the RefET-GEE python module:

pip install geerefet

## Validation

Please see the validation document for additional details on the source of the test values and the comparison of the functions to the Ref-ET software.

## Dependencies

Modules needed to run the test suite:

## References

ASCE-EWRI Standardized Reference Evapotranspiration Equation (2005)

## Project details

Uploaded Source