This repository contains the material used during the workshop at Cargèse 2025. Each script demonstrates how to drive the Propagator fire spread core directly from Python, either through a lightweight script (simple_example.py) or via interactive marimo apps (venafro.py, monti_pisani.py). The focus is on fire-simulation workflows that can be re-used in your own studies.
simple_example.py– fully scripted synthetic scenario showcasing the Propagator API in just a few lines.venafro.py– marimo app driven by DEM/vegetation/scar rasters (venafro_*.tif) to replay the Venafro case study.monti_pisani.py– marimo app running ensembles of random ignitions over the Monti Pisani rasters.utils.py– shared plotting helpers (vegetation map, probability/contour overlays).pyproject.toml/uv.lock– dependency pins (Propagator git revision, marimo, rasterio, matplotlib).
- Python ≥ 3.13
- uv or any virtual environment capable of installing packages listed in
pyproject.toml
# create and populate the virtual environment using uv
uv sync
# alternatively, standard venv + pip
python -m venv .venv
source .venv/bin/activate
pip install -e .ℹ️ The
propagatordependency is pulled directly from the CIMA Foundation repository at commit6674076, matching the version demonstrated during the workshop.
uv run python simple_example.pyThis script builds a synthetic flat DEM, applies constant wind/moisture settings, and runs the simulation for up to six hours (simulation time). When it completes it displays the probability surface using matplotlib.
Each marimo file can be run independently; choose the one that matches your scenario:
# Venafro case study (uses venafro_* rasters)
uv run marimo run venafro.py
# Monti Pisani ensemble (ignition uncertainty)
uv run marimo run monti_pisani.pyWhile the app is running you can experiment with wind speed/direction, moisture, simulation time, number of realizations, and (for Monti Pisani) ignition-radius uncertainty. The UI shows progress via marimo’s status spinner, and plots are updated once the solver finishes.
- Workshop page: https://forefireapi.github.io/cargese2025
- Propagator core: https://github.com/CIMAFoundation/propagator_sim