pyet
Estimate reference and potential evaporation.
https://github.com/pyet-org/pyet
Category: Natural Resources
Sub Category: Water Supply and Quality
Keywords
hydrological-modelling hydrology water
Keywords from Contributors
research groundwater pastas measurements hydrologists
Last synced: about 12 hours ago
JSON representation
Repository metadata
:sunflower: pyet is a Python package to estimate reference and potential evaporation.
- Host: GitHub
- URL: https://github.com/pyet-org/pyet
- Owner: pyet-org
- License: mit
- Created: 2020-05-04T12:53:28.000Z (almost 5 years ago)
- Default Branch: master
- Last Pushed: 2024-07-07T11:42:13.000Z (10 months ago)
- Last Synced: 2025-04-10T06:04:40.407Z (17 days ago)
- Topics: hydrological-modelling, hydrology, water
- Language: Python
- Homepage: https://pyet.readthedocs.io/
- Size: 138 MB
- Stars: 138
- Watchers: 4
- Forks: 36
- Open Issues: 9
- Releases: 11
-
Metadata Files:
- Readme: README.md
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
- Citation: CITATION.cff
README.md
pyet: Estimation of Potential Evapotranspiration
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 | ✓ $^a$ | ✓ $^{b,c}$ | ✓ $^d$ | ✓ | ✓ $^d$ | ✓ $^e$ | ✓ |
Penman-Monteith | pm | ✓ $^a$ | ✓ $^{b,c}$ | ✓ $^d$ | ✓ | ✓ $^d$ | ✓ $^e$ | ✓ |
ASCE-PM | pm_asce | ✓ $^a$ | ✓ $^{b,c}$ | ✓ $^d$ | ✓ | ✓ $^d$ | ✓ $^e$ | ✓ |
FAO-56 | pm_fao56 | ✓ $^a$ | ✓ $^{b,c}$ | ✓ $^d$ | ✓ | ✓ $^d$ | ✓ $^e$ | ✓ |
Priestley-Taylor | priestley_taylor | ✓ | ✓ $^h$ | ✓ $^h$ | - | ✓ $^h$ | ✓ $^e$ | ✓ |
Kimberly-Penman | kimberly_penman | ✓ $^a$ | ✓ $^{b,c}$ | ✓ $^d$ | ✓ | ✓ $^d$ | ✓ $^e$ | - |
Thom-Oliver | thom_oliver | ✓ $^a$ | ✓ $^{b,c}$ | ✓ $^d$ | ✓ | ✓ $^d$ | ✓ $^e$ | - |
Blaney-Criddle | blaney_criddle | ✓ | - $^i$ | - $^i$ | - $^i$ | ✓ | - | ✓ |
Hamon | hamon | ✓ | - | - | - | ✓ | - | ✓ |
Romanenko | romanenko | ✓ | ✓ | - | - | - | - | ✓ |
Linacre | linacre | ✓ $^j$ | - | - | - | - | ✓ | ✓ |
Haude | haude | ✓ | ✓ $^k$ | - | - | - | - | ✓ |
Turc | turc | ✓ | ✓ | ✓ | - | - | - | ✓ |
Jensen-Haise | jensen_haise | ✓ | - | ✓ $^l$ | - | ✓ $^l$ | - | ✓ |
McGuinness-Bordne | mcguinness_bordne | ✓ | - | - | - | ✓ | - | ✓ |
Hargreaves | hargreaves | ✓ $^m$ | - | - | - | ✓ | - | ✓ |
FAO-24 radiation | fao_24 | ✓ | ✓ | ✓ | ✓ | - | ✓ $^e$ | - |
Abtew | abtew | ✓ | - | ✓ | - | - | - | ✓ |
Makkink | makkink | ✓ | - | ✓ | - | - | ✓ $^e$ | ✓ |
Oudin | oudin | ✓ | - | - | - | ✓ | - | - |
$^a$ $T_{max}$ and $T_{min}$ can also be provided. $^b$ $RH_{max}$ and $RH_{min}$ can also be provided. $^c$ If actual vapor pressure is provided, RH is not needed. $^d$ Input for radiation can be (1) Net radiation, (2) solar radiation or (3) sunshine hours. If (1), then latitude is not needed. If (1, 3) latitude and elevation is needed. $^e$ One must provide either the atmospheric pressure or elevation. $^f$ The PM method can be used to estimate potential crop evapotranspiration, if leaf area index or crop height data is available. $^g$ The effect of $CO_2$ on stomatal resistance can be included using the formulation of Yang et al. 2019. $^h$ If net radiation is provided, RH and Lat are not needed. $^i$ If method==2, $u_2$, $RH_{min}$ and sunshine hours are required. $^j$ Additional input of $T_{max}$ and $T_{min}$, or $T_{dew}$. $^k$ Input can be $RH$ or actual vapor pressure. $^l$ If method==1, latitude is needed instead of $R_s$. $^m$ $T_{max}$ and $T_{min}$ also needed.
Examples and Documentation
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.
Benchmarking
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).
Data dimensions
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.
Bug reports and Questions
pyet is in active development, and bug reports are welcome as GitHub
Issues.
General questions or discussions are possible through
GitHub Discussions.
Installation
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 .
Citing
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}
}
Citation (CITATION.cff)
cff-version: 1.2.0 message: "If you use this software, please cite it as below." authors: - family-names: "Vremec" given-names: "Matevz" orcid: "https://orcid.org/0000-0002-2730-494X" - family-names: "Collenteur" given-names: "Matevz" orcid: "https://orcid.org/0000-0001-7843-1538" - family-names: "Birk" given-names: "Steffen" orcid: "https://orcid.org/0000-0001-7474-3884" title: "Technical note: Improved handling of potential evapotranspiration in hydrological studies with PyEt" doi: https://doi.org/10.5194/hess-2022-417 date-released: 2023 url: "https://github.com/phydrus/pyet" preferred-citation: type: journal authors: - family-names: "Vremec" given-names: "Matevz" orcid: "https://orcid.org/0000-0002-2730-494X" - family-names: "Collenteur" given-names: "Matevz" orcid: "https://orcid.org/0000-0001-7843-1538" - family-names: "Birk" given-names: "Steffen" orcid: "https://orcid.org/0000-0001-7474-3884" doi: "https://doi.org/10.5194/hess-2022-417" journal: "Hydrol. Earth Syst. Sci. Discuss. [preprint]" year: "2023" title: "Technical note: Improved handling of potential evapotranspiration in hydrological studies with PyEt"
Owner metadata
- Name: pyet
- Login: pyet-org
- Email:
- Kind: organization
- Description: This organization holds the open source python package pyet.
- Website: https://github.com/phydrus/pyet
- Location:
- Twitter:
- Company:
- Icon url: https://avatars.githubusercontent.com/u/117862225?v=4
- Repositories: 1
- Last ynced at: 2023-03-10T00:24:32.478Z
- Profile URL: https://github.com/pyet-org
GitHub Events
Total
- Issues event: 2
- Watch event: 10
- Issue comment event: 3
- Pull request event: 1
- Fork event: 6
Last Year
- Issues event: 2
- Watch event: 10
- Issue comment event: 3
- Pull request event: 1
- Fork event: 6
Committers metadata
Last synced: 6 days ago
Total Commits: 364
Total Committers: 5
Avg Commits per committer: 72.8
Development Distribution Score (DDS): 0.245
Commits in past year: 73
Committers in past year: 2
Avg Commits per committer in past year: 36.5
Development Distribution Score (DDS) in past year: 0.466
Name | Commits | |
---|---|---|
MatevzVremec | m****c@g****m | 275 |
Raoul Collenteur | r****r@g****m | 84 |
Martin Vonk | v****t@g****m | 3 |
AinurKoki | a****a@g****m | 1 |
The Codacy Badger | b****r@c****m | 1 |
Committer domains:
- codacy.com: 1
Issue and Pull Request metadata
Last synced: 1 day ago
Total issues: 33
Total pull requests: 40
Average time to close issues: 21 days
Average time to close pull requests: 8 days
Total issue authors: 15
Total pull request authors: 6
Average comments per issue: 1.97
Average comments per pull request: 0.35
Merged pull request: 28
Bot issues: 0
Bot pull requests: 0
Past year issues: 3
Past year pull requests: 4
Past year average time to close issues: 4 days
Past year average time to close pull requests: N/A
Past year issue authors: 3
Past year pull request authors: 3
Past year average comments per issue: 1.33
Past year average comments per pull request: 0.5
Past year merged pull request: 0
Past year bot issues: 0
Past year bot pull requests: 0
Top Issue Authors
- raoulcollenteur (17)
- JannisHoch (2)
- mvremec (2)
- madapegue (1)
- miaozewei (1)
- PraewKPT (1)
- Darren-Ray (1)
- Engel23 (1)
- deltamarnix (1)
- WieFel (1)
- schymans (1)
- Koni2020 (1)
- WARD-CODE (1)
- fmanquehual (1)
- OuyangWenyu (1)
Top Pull Request Authors
- mvremec (20)
- raoulcollenteur (15)
- WieFel (2)
- anshuverma2000 (1)
- martinvonk (1)
- codacy-badger (1)
Top Issue Labels
- bug (6)
- enhancement (4)
- documentation (3)
- question (1)
Top Pull Request Labels
- enhancement (6)
- documentation (1)
Dependencies
- actions/checkout v2 composite
- actions/setup-python v2 composite
- codacy/codacy-coverage-reporter-action master composite
- actions/checkout v2 composite
- actions/setup-python v2 composite
- numpy >=1.16
- pandas >=1.2
- xarray >=0.18.0
- actions/checkout v3 composite
- actions/setup-python v3 composite
- numpy >= 1.16
- pandas >= 1.2
- xarray >= 0.18.0
Score: 6.5998704992128365