A modular Python ecosystem for spatially explicit dynamic modeling
Cellular Automata · System Dynamics · Land Use & Cover Change
DisSModel is a Python framework for building spatially explicit simulations using discrete event scheduling. It provides a clean separation between:
- Model logic — pure simulation code, independent of I/O or infrastructure.
- Executor — wraps a model with data loading, column mapping, and provenance tracking.
- Platform — runs executors at scale via FastAPI, distributed workers, and S3-compatible storage.
Developed at LambdaGEO (UFMA), it serves as a Python-native alternative to tools like TerraME and LuccME, emphasizing high performance with NumPy/vectorized execution and full experiment reproducibility.
| Repository | Role | Install |
|---|---|---|
| dissmodel | Core framework — Environment, Model, discrete event engine |
pip install dissmodel |
| dissmodel-ca | Cellular Automata — vector (GeoDataFrame) and raster (NumPy) substrates | — |
| dissmodel-sysdyn | System Dynamics — SIR, Lorenz, Predator–Prey with Streamlit explorers | — |
| dissmodel-platform | Execution platform — JupyterLab, FastAPI, workers, MinIO via Docker | — |
| brmangue-dissmodel | Reference application — Mangrove ecosystem response to sea-level rise | — |
pip install dissmodel