simpest
simpest is a Python package for coupled crop growth and plant disease/pest simulation. It runs a SIMPLACE/Lintul5 crop growth scenario, converts the daily crop trajectory into the inputs a disease and fungicide simulation model expects, and runs that model — optionally calibrating selected parameters against field reference observations — to produce daily and seasonal outputs. The disease/pest simulation logic is inspired by the FraNchEstYN model.
What it does
- Runs SIMPLACE crop growth scenarios and reads the resulting daily trajectory.
- Converts SIMPLACE weather, management, and crop-model outputs into the format the disease/fungicide simulation expects.
- Simulates daily crop growth, epidemiological (SEIR) disease dynamics, and fungicide efficacy, coupled through four damage mechanisms (light interception loss, radiation-use-efficiency reduction, assimilate loss, and accelerated senescence).
- Calibrates selected crop and disease parameters with a multi-start Nelder–Mead search against reference observations.
- Exports daily simulation records and per-season summaries (AUDPC, yield loss, peak severity, weather aggregates).
Core modules live under simpest/models.
Installation
pip install simpest
For an editable, development install:
git clone https://github.com/KaziJahidurRahaman/simpest
cd simpest
pip install -e .
Running the crop growth stage additionally requires a
SIMPLACE installation and the simplace Python
package (a Java/JVM bridge via jpype); see
Installation for details.
Quickstart
The disease/fungicide simulation stage takes plain pandas DataFrames, so it can be exercised on its own once you have weather, management, crop-model, and reference data available (as CSVs or otherwise):
import pandas as pd
from simpest.models.franchestyn import FranchestynConfig, run_franchestyn
weather_df = pd.read_csv("weather.csv")
management_df = pd.read_csv("management.csv")
crop_model_df = pd.read_csv("crop_model.csv")
ref_df = pd.read_csv("reference.csv")
config = FranchestynConfig(
crop_type="wheat",
disease_type="septoria",
fungicide_type=None,
site="indiana",
variety="Generic",
disease="thisDisease",
is_calibration=False,
)
result = run_franchestyn(
start_year=2018,
end_year=2019,
config=config,
weather_df=weather_df,
management_df=management_df,
crop_model_df=crop_model_df,
ref_df=ref_df,
)
print(result["outputs"]["summary"])
For the full pipeline — running SIMPLACE first and converting its output into
the DataFrames above — see the example notebooks at
docs/examples/1_Run Simpest.ipynb and
docs/examples/2_Plot.ipynb.
Directory layout
simpest/
|- docs/ # MkDocs documentation site and example notebooks
|- simpest/
| |- common.py
| |- simpest.py
| |- models/
| |- simplace.py # SIMPLACE crop growth integration
| |- franchestyn.py # disease/fungicide simulation entry points
| |- fr_runner.py # end-to-end daily simulation loop
| |- fr_crop_model.py # daily crop growth + disease damage mechanisms
| |- fr_disease_model.py # SEIR disease model
| |- fr_fungicide_model.py
| |- fr_optimizer.py # multi-start Nelder-Mead calibration
| |- fr_data.py # input/output/parameter data structures
| |- fr_*_reader.py # weather, parameter, and reference data readers
|- tests/
|- mkdocs.yml
|- pyproject.toml
|- README.md
Documentation
Full documentation, including the API reference, is published at https://KaziJahidurRahaman.github.io/simpest. Locally:
Contributing
Contributions are welcome — see Contributing for how to set up a development environment and the pull request process.
Project
- License: MIT
- Source: https://github.com/KaziJahidurRahaman/simpest
- Documentation: https://KaziJahidurRahaman.github.io/simpest
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file simpest-0.0.7.tar.gz.
File metadata
- Download URL: simpest-0.0.7.tar.gz
- Upload date:
- Size: 13.3 MB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via:
twine/7.0.0 CPython/3.14.6
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c746dd3183a7475c7794c6f87f11afe8d87e7852daa56e1aaf5a56a1a76314cf
|
|
| MD5 |
4d5af1d22c419a2f51d0ea134e566036
|
|
| BLAKE2b-256 |
357b8688d9a9776666c24282ec2258a675152cf5412126ab2e982804dffeafb6
|
File details
Details for the file simpest-0.0.7-py2.py3-none-any.whl.
File metadata
- Download URL: simpest-0.0.7-py2.py3-none-any.whl
- Upload date:
- Size: 60.2 kB
- Tags: Python 2, Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via:
twine/7.0.0 CPython/3.14.6
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
862a6669add15089672a0a67470235c9e5000dcaa54244f4595ace025b77da62
|
|
| MD5 |
9e0d60ecc9a9063a2311c39954111e45
|
|
| BLAKE2b-256 |
314504c40351ec00095c68a36a2acc1021e1979a6c45185be3bcba0f23896422
|