Skip to content
Merged

Dev #12

Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
44 commits
Select commit Hold shift + click to select a range
5362202
build: add pre-commit, configured it, installed hooks and ran "run --…
mirkodandrea Sep 11, 2025
228f20e
build: add ruff format and check to pre-commit
mirkodandrea Sep 11, 2025
ede5085
fix: mean values are 0 in case no info provided
Perello-nico Sep 15, 2025
c7baca5
feat: added option of disabling spotting from propagator settings
Perello-nico Sep 15, 2025
d6d57c4
feat: added realizations number as constant
Perello-nico Sep 15, 2025
d201134
feat: added d1 and moisture as optional for fuel
Perello-nico Sep 15, 2025
0e5fa8e
feat:statistics in hectares
Perello-nico Sep 16, 2025
eac45d1
fix: moisture clipped in 0-1 range
Perello-nico Sep 16, 2025
c0d819d
fix:fixed computation of output to consider nan values properly
Perello-nico Sep 16, 2025
db8e6c0
fix: removed reverence to cells area on statistics
Perello-nico Sep 16, 2025
36c95c1
added some comments and function's description
Perello-nico Sep 16, 2025
b63162f
added some description on functions and option of cellsize in configu…
Perello-nico Sep 16, 2025
3ff79be
removed deprecated file
Perello-nico Sep 16, 2025
17bec08
added option of isochrones thresholds from command line
Perello-nico Sep 16, 2025
a6a37d2
return statistics oin squared meters
Perello-nico Sep 16, 2025
cafe55d
set example files
Perello-nico Sep 17, 2025
ed26007
chore: add AGENTS.md
mirkodandrea Sep 17, 2025
3553466
tests: add tests for propagator.core
mirkodandrea Sep 17, 2025
53a4a45
chore: cleanup
mirkodandrea Sep 17, 2025
0bb2497
added examples
Perello-nico Sep 17, 2025
c5f6936
Merge branch 'dev' of github.com:CIMAFoundation/propagator_sim into dev
Perello-nico Sep 17, 2025
198edc7
chore: update .gitignore and add VSCode settings for tests
mirkodandrea Sep 17, 2025
437c87c
fixed lauch file for debugging
Perello-nico Sep 17, 2025
2a12b80
fix: removed model validation until it is fixed
mirkodandrea Sep 18, 2025
a987e4d
fix: bug on bc initialization
mirkodandrea Sep 18, 2025
fbc5afe
chore: cleanup
mirkodandrea Oct 6, 2025
b20f756
feat: added option to switch to geotiff mode if dem and fuel are spec…
Perello-nico Oct 6, 2025
1bc7d74
chore: update vscode settings
mirkodandrea Oct 6, 2025
cb173b6
Refactor and enhance geometries handling with Shapely (#5)
mirkodandrea Oct 16, 2025
cf15a83
feat/time-in-seconds (#6)
mirkodandrea Oct 21, 2025
9af0089
better cli and fix error in centroid calculation (#7)
mirkodandrea Oct 24, 2025
ec9e7ef
feat: added option on cli for ou of bounds mode
Perello-nico Oct 24, 2025
85bd714
feat: init_date is now UTC
Perello-nico Oct 24, 2025
55f5bf8
feat: less verbose status messages
mirkodandrea Oct 24, 2025
5c59e62
Merge branch 'dev' of github.com:CIMAFoundation/propagator_sim into dev
mirkodandrea Oct 24, 2025
f063430
fix: improve example
mirkodandrea Oct 24, 2025
d2b06fe
fix: ensure time is an integer when logging
mirkodandrea Oct 24, 2025
ce27f7a
fix: improve time formatting in status messages
mirkodandrea Oct 24, 2025
6de433c
Better readme and docs (#9)
mirkodandrea Oct 24, 2025
603a56a
Merge branch 'main' into dev
mirkodandrea Oct 24, 2025
ef1569b
build: update dependencies
mirkodandrea Oct 27, 2025
dafa125
Fix/remove-function-caching (#11)
mirkodandrea Nov 1, 2025
3af5fec
fix: clarify simulation description in documentation
mirkodandrea Nov 1, 2025
27f6f48
Merge branch 'main' into dev
mirkodandrea Nov 1, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 0 additions & 1 deletion .gitattributes
Original file line number Diff line number Diff line change
@@ -1,2 +1 @@
example/dem.tif filter=lfs diff=lfs merge=lfs -text
example/veg.tif filter=lfs diff=lfs merge=lfs -text
2 changes: 1 addition & 1 deletion docs/getting-started.md
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@ extras from the install command.
## First Simulation

The repository ships with small GeoTIFF datasets and configuration files under
`example/`. Run a deterministic simulation in GeoTIFF mode with:
`example/`. Run a simulation in GeoTIFF mode with:

```bash
uv run propagator \
Expand Down
2 changes: 1 addition & 1 deletion docs/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
An operational cellular-automata wildfire simulator developed by
<a href="https://www.cimafoundation.org" target="_blank" rel="noopener">CIMA Research Foundation</a>.
PROPAGATOR couples a Numba-powered propagation core with reusable I/O pipelines
and a configurable CLI for deterministic or ensemble fire forecasting.
and a configurable CLI for fire forecasting.
</p>
<div class="hero__actions">
<a class="md-button md-button--primary" href="getting-started/">Get started</a>
Expand Down
Binary file modified example/dem.tif
Binary file not shown.
33 changes: 15 additions & 18 deletions pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -13,26 +13,23 @@ readme = "README.md"


requires-python = ">=3.11"
dependencies = [
"numba==0.61.2",
"scipy>=1.16.1",
]
dependencies = ["numba==0.62.1", "scipy>=1.16.1"]

[project.optional-dependencies]
cli = [
"angles>=2.0",
"fiona>=1.10.1",
"pyproj>=3.7.2",
"rasterio>=1.4.3",
"shapely>=2.1.1",
"shapely>=2.1.2",
"utm>=0.8.1",
"affine>=2.4.0",
"geopandas>=1.1.1",
# cli specific
"rich>=14.1.0",
"pydantic>=2.11.7",
"pydantic-settings>=2.10.1",
"pyyaml>=6.0.2",
"rich>=14.2.0",
"pydantic>=2.12.3",
"pydantic-settings>=2.11.0",
"pyyaml>=6.0.3",
]

io = [
Expand All @@ -48,24 +45,24 @@ io = [

[dependency-groups]
dev = [
"ipykernel>=6.30.1",
"matplotlib>=3.10.6",
"ruff>=0.13.0",
"ipykernel>=7.1.0",
"matplotlib>=3.10.7",
"ruff>=0.14.2",
"pytest>=8.4.2",
# Docs
"mkdocs>=1.6.0",
"mkdocs-material>=9.6.19",
"mkdocstrings[python]>=0.30.0",
"mkdocs-material>=9.6.22",
"mkdocstrings[python]>=0.30.1",
"mkdocs-gen-files>=0.5.0",
"mkdocs-literate-nav>=0.6.1",
"mike>=2.1.3",
"pyinstrument>=5.1.1",
"ipython>=9.5.0",
"notebook>=7.4.5",
"pylint>=3.3.8",
"ipython>=9.6.0",
"notebook>=7.4.7",
"pylint>=4.0.2",
"pre-commit>=4.3.0",
"types-shapely>=2.1.0.20250917",
"scipy-stubs[scipy]>=1.16.1.1",
"scipy-stubs[scipy]>=1.16.2.4",
"types-pyyaml>=6.0.12.20250915",
"types-geopandas>=1.1.1.20250829",
]
Expand Down
10 changes: 5 additions & 5 deletions src/propagator/core/numba/functions.py
Original file line number Diff line number Diff line change
Expand Up @@ -122,7 +122,7 @@ def get_p_moisture_fn(moist_model_code: MoistureModel) -> Any:
raise ValueError(f"Unknown moist_model_code: {moist_model_code!r}")


@jit(cache=True)
@jit(cache=False)
def p_time_rothermel(
v0: float,
dh: float,
Expand Down Expand Up @@ -193,7 +193,7 @@ def p_time_rothermel(
return time_seconds, v_wh


@jit(cache=True)
@jit(cache=False)
def p_time_wang(
v0: float,
dh: float,
Expand Down Expand Up @@ -262,7 +262,7 @@ def p_time_wang(
return time_seconds, v_wh


@jit(cache=True)
@jit(cache=False)
def p_time_standard(
v0: float,
dh: float,
Expand Down Expand Up @@ -391,7 +391,7 @@ def w_h_effect_on_probability(
return wh


@jit(cache=True)
@jit(cache=False)
def p_moisture_trucchia(
moist: float,
) -> float:
Expand Down Expand Up @@ -424,7 +424,7 @@ def p_moisture_trucchia(
return p_moist


@jit(cache=True)
@jit(cache=False)
def p_moisture_baghino(
moist: float,
) -> float:
Expand Down
6 changes: 3 additions & 3 deletions src/propagator/core/numba/propagation.py
Original file line number Diff line number Diff line change
Expand Up @@ -93,7 +93,7 @@ def fire_spotting(
return ember_distance, ember_landing_time_sec


@jit(cache=True, nopython=True, fastmath=True)
@jit(cache=False, nopython=True, fastmath=True)
def compute_spotting(
row: int,
col: int,
Expand Down Expand Up @@ -274,7 +274,7 @@ def calculate_fire_behavior(
return transition_time, ros_value, fireline_intensity_value


@jit(cache=True, parallel=False, nopython=True, fastmath=True)
@jit(cache=False, parallel=False, nopython=True, fastmath=True)
def single_cell_updates(
row: int,
col: int,
Expand Down Expand Up @@ -415,7 +415,7 @@ def single_cell_updates(
return fire_spread_updates


@jit(cache=True, parallel=False, nopython=True, fastmath=True)
@jit(cache=False, parallel=False, nopython=True, fastmath=True)
def next_updates_fn(
rows: npt.NDArray[np.integer],
cols: npt.NDArray[np.integer],
Expand Down
759 changes: 414 additions & 345 deletions uv.lock

Large diffs are not rendered by default.