pyet is an open source python package for calculating reference and potential Evapotranspiration (PET) for 1D (pandas.Series) and 3D (xarray.DataArrray) data. Currently, eighteen methods for calculating daily PET are implemented:
Method name | pyet function | T | RH | R | u2 | Lat. | El. | Benchmarked? |
---|---|---|---|---|---|---|---|---|
Penman | penman | ✓ |
✓ |
✓ |
✓ | ✓ |
✓ |
✓ |
Penman-Monteith | pm | ✓ |
✓ |
✓ |
✓ | ✓ |
✓ |
✓ |
ASCE-PM | pm_asce | ✓ |
✓ |
✓ |
✓ | ✓ |
✓ |
✓ |
FAO-56 | pm_fao56 | ✓ |
✓ |
✓ |
✓ | ✓ |
✓ |
✓ |
Priestley-Taylor | priestley_taylor | ✓ | ✓ |
✓ |
- | ✓ |
✓ |
✓ |
Kimberly-Penman | kimberly_penman | ✓ |
✓ |
✓ |
✓ | ✓ |
✓ |
- |
Thom-Oliver | thom_oliver | ✓ |
✓ |
✓ |
✓ | ✓ |
✓ |
- |
Blaney-Criddle | blaney_criddle | ✓ | - |
- |
- |
✓ | - | ✓ |
Hamon | hamon | ✓ | - | - | - | ✓ | - | ✓ |
Romanenko | romanenko | ✓ | ✓ | - | - | - | - | ✓ |
Linacre | linacre | ✓ |
- | - | - | - | ✓ | ✓ |
Haude | haude | ✓ | ✓ |
- | - | - | - | ✓ |
Turc | turc | ✓ | ✓ | ✓ | - | - | - | ✓ |
Jensen-Haise | jensen_haise | ✓ | - | ✓ |
- | ✓ |
- | ✓ |
McGuinness-Bordne | mcguinness_bordne | ✓ | - | - | - | ✓ | - | ✓ |
Hargreaves | hargreaves | ✓ |
- | - | - | ✓ | - | ✓ |
FAO-24 radiation | fao_24 | ✓ | ✓ | ✓ | ✓ | - | ✓ |
- |
Abtew | abtew | ✓ | - | ✓ | - | - | - | ✓ |
Makkink | makkink | ✓ | - | ✓ | - | - | ✓ |
✓ |
Oudin | oudin | ✓ | - | - | - | ✓ | - | - |
Examples of using pyet can be found in the example folder:
-
Example 1: Estimating PET using pandas.Series
-
Example 2: Estimating PET using xarray.DataArray
-
Example 4: Benchmarking FAO56 against CoAgMET data
-
Example 5: Calibrating the Romanenko and Abtew method against the PM-FAO56
-
Example 6: Worked examples for estimating meteorological variables and potential evapotranspiration after McMahon et al., 2013
-
Example 7: Example for estimating potential evapotranspiration under warming and elevated
$CO_2$ concentrations following Yang et al., (2019) -
Example 8: Determining the crop coefficient function with Python
-
Example 9: Estimating PET using CMIP data
-
Example 10: Notebook supporting PyEt manuscript
Documentation is hosted on ReadTheDocs.
After defining the input data, evapotranspiration is estimated using only one line of python code:
>>> pyet.pm_fao56(tmean, wind, rn=rn, tmax=tmax, tmin=tmin, rh=rh, elevation=elevation)
We support Python >= 3.8.
Most of the methods implemented in pyet are benchmarked against literature values from the FAO Irrigation and drainage paper 56, McMahon et al., 2013 (supplementary) and Schrödter, 1985. In addition, two comparative analysis between daily PE estimated with pyet and other organizations is made:
-
pyet.pm_fao56
against daily PET estimated with ASCE Penman-Monteith from CoAgMET ( Colorado State University), -
pyet.makkink
against daily PET estimated with Makkink from The Royal Netherlands Meteorological Institute (KNMI).
As of version v1.2., pyet is compatible with both Pandas.Series and xarray.DataArray, which means you can now estimate potential evapotranspiration for both point and gridded data.
pyet is in active development, and bug reports are welcome as GitHub Issues. General questions or discussions are possible through GitHub Discussions.
The pyet package is available from the Pypi package index and can be installed as follows::
>>> pip install pyet
To install in developer mode, use the following syntax:
>>> pip install -e .
If you use pyet in one of your studies, please cite the pyet EGU abstract:
- Vremec, M., Collenteur, R. A., and Birk, S.: Technical note: Improved handling of potential evapotranspiration in hydrological studies with PyEt, Hydrol. Earth Syst. Sci. Discuss. [preprint], https://doi.org/10.5194/hess-2022-417, in review, 2023.
@Article{hess-2022-417,
AUTHOR = {Vremec, M. and Collenteur, R. A. and Birk, S.},
TITLE = {Technical note: Improved handling of potential evapotranspiration in hydrological studies with \textit{PyEt}},
JOURNAL = {Hydrology and Earth System Sciences Discussions},
VOLUME = {2023},
YEAR = {2023},
PAGES = {1--23},
URL = {https://hess.copernicus.org/preprints/hess-2022-417/},
DOI = {10.5194/hess-2022-417}
}