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
ForeFire is an open-source wildfire simulation engine written in C++. Developed by CNRS at the Université de Corse Pascal Paoli, it is used for research and operational forecasting. The engine implements various fire behavior models and enables high-fidelity coupled fire-atmosphere simulations, aiming to improve wildfire prediction and understanding for complex environments.
Advanced Simulation Engine: Core C++ logic for fire propagation using various Rate of Spread (ROS) models and handling complex geospatial data (NetCDF).
Fire-Atmosphere Coupling: Designed for two-way coupling by linking the core library with atmospheric models like MesoNH (developed by CNRS & Météo-France).
High Performance: Optimized C++ core with MPI support for parallel computing.
Flexible Interfaces: Built upon a core C++ Simulation Engine (Library):
forefire Interpreter: The primary way to run simulations using script files (.ff), interactive console commands, or the web interface (via listenHTTP[]).
C++ Library (libforefireL): Allows direct integration into other software.
Flexible Output: Can generate outputs in various formats, including KML for visualization in Google Earth, Geojson, NetCDF, and custom binary/text formats.
Extensible: Add custom ROS models in C++; customize web interfaces.
Applications: Research, case reanalysis, ensemble forecasting.
Quick Start with Docker
The easiest way to get started is often using Docker and the interactive console, via the forefire command-line interpreter
Clone the repository
# Clone the repository
git clone https://github.com/forefireAPI/forefire.git
cd forefire
Build the Docker image
docker build . -t forefire:latest
Run the container interactively
docker run -it --rm -p 8000:8000 --name ff_interactive forefire bash
Inside the container navigate to test directory and launch the forefire console:
cd tests/runff
# start the forefire console with the command
forefire
Inside the console launch an http server with listenHttp[] command
forefire> listenHTTP[]
# the output should be>> ForeFire HTTP command server listening at https://localhost:8000
This server provides a graphical user interface that you can access on your browser at https://localhost:8000/
Run your first simulation
Run the command include[real_case.ff]
Then press Refresh Map
You should see a simulation running in the Aullène region of Corsica. This confirms your Docker setup is working! Check the full documentation for more details on this example
Build from source
See the Full Documentation for more details on building from source with the install-forefire.sh file
Python Bindings
ForeFire provides Python bindings for easier scripting and integration. See the Python Bindings ./bindings/python/README.md for details.
Contributing
We welcome contributions to ForeFire! We especially appreciate help with:
Improving documentation and tutorials.
Python bindings
Enhancing packaging (Docker, Pip, etc.) and cross-platform compatibility.
Please read our Contributing Guidelines to learn how you can help, including how to report bugs, suggest features, and submit code changes.
All contributors are expected to adhere to our Code of Conduct.
License
ForeFire is licensed under the GNU General Public License v3.0. See LICENSE for full details.
Citation
If you use ForeFire in your work, please cite:
BibTex
@article{article,
author = {Filippi, Jean-Baptiste and Bosseur, Frédéric and Grandi, Damien},
year = {2014},
month = {11},
pages = {},
title = {ForeFire: open-source code for wildland fire spread models},
isbn = {9789892608846},
doi = {10.14195/978-989-26-0884-6_29}
}
Plain Text
Filippi, Jean-Baptiste & Bosseur, Frédéric & Grandi, Damien. (2014). ForeFire: open-source code for wildland fire spread models. 10.14195/978-989-26-0884-6_29.
About
ForeFire is an open-source code for wildland fire spread models