A curated list of open technology projects to sustain a stable climate, energy supply, biodiversity and natural resources.

PyAEZ

A python package consisted of many algorithms related to Agro-ecological zoning (AEZ) framework.
https://github.com/gicait/pyaez

Category: Consumption
Sub Category: Agriculture and Nutrition

Keywords from Contributors

geospatial-data geotile earth-observation unet

Last synced: 23 minutes ago
JSON representation

Repository metadata

PyAEZ is a python package consisted of many algorithms related to Agro-ecalogical zoning (AEZ) framework.

README.md

Downloads
PyPI version
License: MIT

PyAEZ

PyAEZ is a python package consisted of many algorithms related to Agro-ecalogical zoning (AEZ) framework. PyAEZ tries to encapsulate all complex calculations in AEZ and try to provide user friendly, and intuitive ways to input data and output results after calculations.

Installation

Now the package can be installed using pip command as below,

pip install pyaez==2.2

Alternatively, can be installed using using conda command as below,

conda install -c conda-forge pyaez

Introduction

PyAEZ includes 6 main modules as below. Additionally to that, UtilityCalculations module is also included in PyAEZ to perform additional related utility calculations.

  • Module I: Climate Regime
  • Module II: Crop Simulations
  • Module III: Climate Constraints
  • Module IV: Soil Constraints
  • Module V: Terrain Constraints
  • Module VI: Economic Suitability Analysis
  • UtilityCalculations Module

Other than 6 main modules and utility module, following 3 major algorithms related to AEZ also are included in PyAEZ. Those 3 major algorithms can be utilized individually without running whole PyAEZ.

  • Biomass Calculations
  • Evapotranspiration Calculations
  • CropWat Calculations

Dependencies

  • numpy
  • scipy
  • gdal
  • numba

Step-by-step Process

Following 6 Jupyter notebooks in the GitHub repository can be used as worked full example for PyAEZ 6 major modules.

  • NB1_ClimateRegime.ipynb
  • NB2_CropSimulation.ipynb
  • NB3_ClimaticConstraints.ipynb
  • NB4_SoilConstraints.ipynb
  • NB5_TerrainConstraints.ipynb
  • NB6_EconomicSuitability.ipynb

Note: NB2_CropSimulation.ipynb takes a huge amount of time due to automatic crop calendar calculations. Hence, we have rewritten core parts of PyAEZ (CropWatCalc.py, BioMassCalc.py and ETOCalc.py) with Numba compatible manner as well. Numba translates Python functions to optimized machine code at runtime, allowing calculation speeds close to C or FORTRAN.

Release Note PyAEZv2.2

The improvement of the overall accuracy and reliability of the AEZ methodology is covered in new version in Module 2, 3, and input data usage is modified in Module 4 & 5. The key updates are listed as follows:

Module 2:

  • New parameters added in reading crop/crop cycle parameters from excel sheet (minimum and maximum cycle lengths, plant height)
  • Revised algorithm flow for overall perennial/annual crop simulations.
  • New logic: kc factor adjustment based on local climate (Crop Water Requirement)
  • Revised logic: Daily value interpolations of Ac, Bc, Bo and Pm based on GAEZ (Biomass Calculation)

Module 3:

  • Look-up tables of agro-climatic constraints can be provided as excel sheets.
  • Validated calculation procedures of fc3 map.

Module 4:

  • Soil Requirement Suitability factors can now be prepared and provided as excel sheets.
  • New routine: 7-soil layer inputs of soil characteristics to evaluate soil suitability (based on HWSD v2.0) (Experimental).
  • New output: soil suitability rating map (fc4).

Module 5:

  • Terrain constraint factors can now be prepared and provided as excel sheets.
  • New output: terrain suitability map (fc5).

Documentation

API Documentation is located in "docs" folder.

Citation

Use this bibtex to cite us.

@misc{PyAEZ(v2.2),
  title={PyAEZ Python Package for Agro-ecological zoning (AEZ)},
  author={Swun Wunna Htet, Kittiphon Boonma, Guenther Fischer, Gianluca Franceschini, N. Lakmal Deshapriya, Thaileng Thol, Kavinda Gunasekara, Rajendra Shrestha,  Freddy Nachtergaele, Monica Petri, Beau Damen},
  year={2023},
  publisher={Github},
  journal={GitHub repository},
  howpublished={\url{https://github.com/gicait/PyAEZ}},
}

Developed by

Geoinformatics Center of Asian Institute of Technology.

Funding

Food and Agriculture Organization of the United Nations (FAO) and FAO SAMIS (Strengthening Agro-climatic Monitoring and Information System) Project in Lao PDR.

Sample Data Source

  • Abatzoglou, J.T., S.Z. Dobrowski, S.A. Parks, K.C. Hegewisch, 2018, Terraclimate, a high-resolution global dataset of monthly climate and climatic water balance from 1958-2015, Scientific Data,

Major AEZ References

  • de Wit, C. T. (1965). Photosynthesis of leaf canopies. Agricultural Research Report No. 663. PUDOC, Wageningen, 57 .
  • FAO. (1992). Cropwat: A computer program for irrigation planning and management. Land and Water Development Division, Rome, Italy, FAO Irrigation and Drainage Paper no 46 .
  • FAO. (1998). Crop evapotranspiration. FAO Irrigation and Drainage Paper no.56 Rome, Italy.
  • FAO. (2017). Final Report: National Agro-Economic Zoning for Major Crops in Thailand (NAEZ).
  • Fischer, G., van Velthuizen, H., Shah, M., & Nachtergaele, F. (2002a). Global agroecological assessment for agriculture in the 21st century: Methodology and results. IIASA RR-02-02, IIASA, Laxenburg, Austria.
  • Monteith, J. L. (1965). Evapotranspiration and the environment. In The State and Movement of Water in Living Organisms, 205-234.
  • Monteith, J. L. (1981). Evapotranspiration and surface temperature. Quarterly Journal Royal Meteorological Society, 107 , 1-27.

Owner metadata


GitHub Events

Total
Last Year

Committers metadata

Last synced: 7 days ago

Total Commits: 267
Total Committers: 14
Avg Commits per committer: 19.071
Development Distribution Score (DDS): 0.749

Commits in past year: 20
Committers in past year: 3
Avg Commits per committer in past year: 6.667
Development Distribution Score (DDS) in past year: 0.5

Name Email Commits
N. Lakmal Deshapriya 6****d 67
Kittiphon Boonma k****b@g****m 66
Zahira1 s****0@g****m 29
gic 6****c 28
Swun Wunna Htet 7****7 20
Thaileng Thol 6****l 15
sriramreddyM s****i@g****m 13
iamtekson t****a@g****m 9
thailengthol t****2@g****m 6
Tek Kshetri 3****n 6
kerriegeil k****t@g****m 4
Sam Libby s****y@e****m 2
Joel Ferguson 4****g 1
kavinda K****a 1

Committer domains:


Issue and Pull Request metadata

Last synced: 1 day ago

Total issues: 68
Total pull requests: 83
Average time to close issues: about 1 month
Average time to close pull requests: about 19 hours
Total issue authors: 25
Total pull request authors: 7
Average comments per issue: 2.96
Average comments per pull request: 0.01
Merged pull request: 78
Bot issues: 0
Bot pull requests: 0

Past year issues: 19
Past year pull requests: 4
Past year average time to close issues: 10 days
Past year average time to close pull requests: about 7 hours
Past year issue authors: 8
Past year pull request authors: 2
Past year average comments per issue: 1.53
Past year average comments per pull request: 0.0
Past year merged pull request: 2
Past year bot issues: 0
Past year bot pull requests: 0

More stats: https://issues.ecosyste.ms/repositories/lookup?url=https://github.com/gicait/pyaez

Top Issue Authors

  • maobw12 (14)
  • WeirdCxychen (14)
  • LEEgiser (6)
  • handuGIS (5)
  • yelvk (5)
  • kidstoneszk (3)
  • syqalibrary (2)
  • Yuuko843 (2)
  • taynaravaleriano (1)
  • Dhouha-ouerf (1)
  • kone-colab (1)
  • KaixuanDai (1)
  • lixuan-code (1)
  • xfry-lixuan (1)
  • colormeblue1013 (1)

Top Pull Request Authors

  • kboonma (64)
  • NokuzaSezo97 (10)
  • iamtekson (5)
  • kerriegeil (1)
  • joelferg (1)
  • StellaHtet92 (1)
  • slibby (1)

Top Issue Labels

Top Pull Request Labels

  • bug (3)

Package metadata

pypi.org: pyaez

PyAEZ is a python package consisted of many algorithms related to Agro-ecalogical zoning (AEZ) framework.

  • Homepage: https://github.com/gicait/PyAEZ
  • Documentation: https://pyaez.readthedocs.io/
  • Licenses: MIT License
  • Latest release: 2.1.0 (published almost 2 years ago)
  • Last Synced: 2025-04-26T14:35:53.453Z (1 day ago)
  • Versions: 7
  • Dependent Packages: 0
  • Dependent Repositories: 1
  • Downloads: 334 Last month
  • Rankings:
    • Forks count: 6.001%
    • Stargazers count: 8.524%
    • Dependent packages count: 10.126%
    • Average: 11.703%
    • Downloads: 12.328%
    • Dependent repos count: 21.535%
  • Maintainers (2)
conda-forge.org: pyaez

PyAEZ is a python package consisted of many algorithms related to Agro-ecalogical zoning (AEZ) framework. PyAEZ tries to encapsulate all complex calculations in AEZ and try to provide user friendly, and intuitive ways to input data and output results after calculations.

  • Homepage: https://github.com/gicait/pyaez
  • Licenses: MIT
  • Latest release: 1.1.0 (published almost 3 years ago)
  • Last Synced: 2025-04-26T14:36:00.664Z (1 day ago)
  • Versions: 2
  • Dependent Packages: 0
  • Dependent Repositories: 0
  • Rankings:
    • Forks count: 29.389%
    • Dependent repos count: 34.025%
    • Average: 38.551%
    • Stargazers count: 39.616%
    • Dependent packages count: 51.175%

Dependencies

.github/workflows/release_to_pypi.yml actions
  • actions/checkout v2 composite
  • actions/create-release v1 composite
  • actions/setup-python v2 composite
  • actions/upload-release-asset v1 composite
  • pypa/gh-action-pypi-publish master composite
conda-recipe/meta.yml cpan
requirements.txt pypi
  • GDAL >=3.4.3
  • llvmlite >=0.40.1
  • numba >=0.56
  • numpy >=1.23
  • pandas =1.5.3
setup.py pypi
  • gdal *
  • numba *
  • numpy *
  • pandas *
  • scipy *

Score: 13.41496731756888