Giter Club home page Giter Club logo

pysawit's Introduction

PySawit v. 0.0.1 (ARCHIVED)

Update (June 2, 2024): PySawit has been replaced by Sawit.jl, which is much improved and faster, and has been validated against more sites.

Oil Palm Growth and Yield Model

by Christopher Teh Boon Sung

Overview

PySawit is a model, written in Python language, to simulate the growth and yield of oil palm. The following are various conditions among which PySawit is able to simulate:

  • different planting densities
  • different weather conditions (such as air temperature, rainfall, etc.)
  • different soil properties (such as soil texture)
  • different crop physiological conditions (such as flower sex ratios, specific leaf area, plant nutrient content, photosynthetic parameters, etc.)

At the moment, PySawit simulates crop production level 2, where oil palm is limited only by meteorological and soil water availability. Nutrients, pests, diseases, weeds, and other field practices are assumed to be optimally managed.

Read the brief report on PySawit.

Installation

  1. To simplify the installation process, download the Anaconda suite. Make sure you only choose the Python version 3.5 or higher (NOT ver 2.7). Downloading the Anaconda suite will include not only the Python interpreter but also the matplotlib, numpy, and xlwings modules which are required by PySawit.

  2. Then, at your system's command line or prompt, type: pip install pysawit to download and install the PySawit.

  3. If you want the Excel user-interface to PySawit and the example files, just download the files from the examples folder. Or download the entire PySawit repository.

  4. You may also want to download and install Graphviz if you are planning to use PySawit's tracing feature to plot out a map of the program flow. Ensure you read the Graphviz website on how to set up the environment variable to recognize the location of graphviz files.

How to use

Call Python on pysawit.py. See this file's documentation on the commandline flags or options.

Citation

Preliminary work of PySawit was progressively published in several conference proceedings, but the full or complete work of PySawit was first published in:

Teh, C. B. S., & Cheah, S. S. (2018). Modelling crop growth and yield in palm oil cultivation. In A. Rival (Ed.), Achieving sustainable cultivation of oil palm (Vol. 1, pp. 183-227). Cambridge, UK: Burleigh Dodds Science Publishing.

pysawit's People

Contributors

cbsteh avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

pysawit's Issues

xlwings

import xlwings

xlwings only works in Windows and line 32 is better moved to line 871 so the module is imported only when the function runxlmacro() is called. If called in a non-Windows environment, exception OSError is thrown.

Python 3.7 and numpy

PySawit uses numpy, and numpy appears to be incompatible with Python 3.7. In some cases, you might get the exception ImportError thrown, with the following message:

ImportError: DLL load failed: The specified module could not be found.

This problem does not happen prior to Python 3.7. So to fix this issue, do not upgrade to Python 3.7 or later until this issue is resolved by the powers that be. I have tested on Python 3.6.6 and this problem does not occur.

Major upgrade: Ver. 1.0.0

Version 1.0.0 is in the works. This is a major upgrade that includes fixes to some issues and bugs. However, the source code for this latest version will only be released after publication.

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.