Code Monkey home page Code Monkey logo

pyaez's Introduction

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.

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 (optional)

Step-by-step Process

Following 6 Jupyter notebooks in the 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. If you are using Numba, you can replace CropWatCalc.py, BioMassCalc.py and ETOCalc.py files in PyAEZ/code/ with Numba version of those files located in PyAEZ/code/numba_core/ when you are running NB2_CropSimulation.ipynb.

Documentation

API Documentation is located in "docs" folder.

Citation

Use this bibtex to cite us.

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

Developed by

Geoinformatics Center of Asian Institute of Technology.

Principal Investigators (PIs) of the project:

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.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.