You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Build Log #3: Why the model thinks Greek firs burn like pine
#3
Build Log #1 ended with an NDVI map of Kefalonia: green valleys, dry ridges, a beautiful baseline. The next step was obvious. Combine that vegetation data with slope, aspect, and elevation to build a wildfire risk index. Standard weighted overlay. Nothing fancy.
I ran the model. ~16 km² flagged "very high risk." Mostly south-facing slopes, sparse vegetation, steep terrain. Makes sense. I felt smart for about twelve minutes.
Then I looked at Ainos mountain.
The problem
Ainos is the highest peak on Kefalonia: 1,628 m. Dense forest. The model screamed "very high risk" because the NDVI was high, the slope was steep, and the aspect was south-facing. Textbook fire triangle.
Except Ainos is not covered in pine. It is covered in Abies cephalonica, Greek fir. Endemic to the island. Different fuel load, different moisture retention, different crown fire behaviour. Greek firs do not burn like Mediterranean pines. The satellite sees green. The local sees context.
The model does not know that. Copernicus DEM knows elevation. Sentinel-2 knows reflectance. Neither of them knows botany.
The fix
There is no single fix for this. But there is a better signal.
NDVI on karst limestone is a liar. It gives the same value for stressed fir and bare rock. So we rebuilt the vegetation index stack:
Red-band differencing: separates vegetation from rock by using the red edge
SAVI (Soil Adjusted Vegetation Index): corrects for soil brightness in sparse canopy areas
Bare Soil Index: flags exposed limestone that NDVI misreads as stressed vegetation
Altitude-humidity damping: reduces risk scores at high elevation where summit microclimate keeps firs moist
Then we validated against 24 historical fires from EFFIS (2017-2026). The v1.1b model with cured-fuel plus altitude damping: 19 of 24 fires now rank above the island average. Class >=3 at 66.9% vs 47.2% baseline. The firs finally speak.
Honest limitations: fires 278276 and 13807 still misclassify. We log every miss.
The stack
PostGIS for the spatial overlay and raster algebra
Python for the index recombination and reclassification
EFFIS burn data for validation
Local knowledge for the altitude-humidity damping weights
What is next
Build Log #4: Where the water goes. Mapping the drainage network that the February 2025 storm revealed.
If you know Mediterranean fuel models or have access to Greek forestry data, I need you.
reacted with thumbs up emoji reacted with thumbs down emoji reacted with laugh emoji reacted with hooray emoji reacted with confused emoji reacted with heart emoji reacted with rocket emoji reacted with eyes emoji
Uh oh!
There was an error while loading. Please reload this page.
The first thing ARGOS got wrong was a mountain.
Build Log #1 ended with an NDVI map of Kefalonia: green valleys, dry ridges, a beautiful baseline. The next step was obvious. Combine that vegetation data with slope, aspect, and elevation to build a wildfire risk index. Standard weighted overlay. Nothing fancy.
I ran the model. ~16 km² flagged "very high risk." Mostly south-facing slopes, sparse vegetation, steep terrain. Makes sense. I felt smart for about twelve minutes.
Then I looked at Ainos mountain.
The problem
Ainos is the highest peak on Kefalonia: 1,628 m. Dense forest. The model screamed "very high risk" because the NDVI was high, the slope was steep, and the aspect was south-facing. Textbook fire triangle.
Except Ainos is not covered in pine. It is covered in Abies cephalonica, Greek fir. Endemic to the island. Different fuel load, different moisture retention, different crown fire behaviour. Greek firs do not burn like Mediterranean pines. The satellite sees green. The local sees context.
The model does not know that. Copernicus DEM knows elevation. Sentinel-2 knows reflectance. Neither of them knows botany.
The fix
There is no single fix for this. But there is a better signal.
NDVI on karst limestone is a liar. It gives the same value for stressed fir and bare rock. So we rebuilt the vegetation index stack:
Red-band differencing: separates vegetation from rock by using the red edge
SAVI (Soil Adjusted Vegetation Index): corrects for soil brightness in sparse canopy areas
Bare Soil Index: flags exposed limestone that NDVI misreads as stressed vegetation
Altitude-humidity damping: reduces risk scores at high elevation where summit microclimate keeps firs moist
Then we validated against 24 historical fires from EFFIS (2017-2026). The v1.1b model with cured-fuel plus altitude damping: 19 of 24 fires now rank above the island average. Class >=3 at 66.9% vs 47.2% baseline. The firs finally speak.
Honest limitations: fires 278276 and 13807 still misclassify. We log every miss.
The stack
PostGIS for the spatial overlay and raster algebra
Python for the index recombination and reclassification
EFFIS burn data for validation
Local knowledge for the altitude-humidity damping weights
What is next
Build Log #4: Where the water goes. Mapping the drainage network that the February 2025 storm revealed.
If you know Mediterranean fuel models or have access to Greek forestry data, I need you.
Links:
https://argos-geo.org/map
https://github.com/argos-geo/kefalonia-digital-twin
[Previous Build Log: Sentinel-2 in 48 hours](Build Log #1: Processing my first Sentinel-2 pass in 48 hours #1)
Built in Kefalonia. Watching over the places we call home.
All reactions