Skip to content

Commit bbd758a

Browse files
authored
Merge pull request #111 from forefireAPI/dev
[docs] improvements for joss
2 parents 8c4c997 + 9fb8554 commit bbd758a

File tree

8 files changed

+45
-40
lines changed

8 files changed

+45
-40
lines changed

.github/workflows/increment-version.yml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,8 @@ name: Increment Version on Dev
22

33
on:
44
push:
5-
# branches: [ dev ] we can add back later if needed
5+
# we can add back to branch dev if needed
6+
branches: [ dev2 ]
67
workflow_dispatch:
78

89
jobs:

docs/source/getting_started/running_the_example.rst renamed to docs/source/getting_started/execution_modes.rst

Lines changed: 20 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,17 @@
1-
.. _running-the-example:
1+
.. _execution_modes:
22

3-
Running an Example
3+
Execution Modes
44
==================
55

6-
After successfully installing ForeFire (either :doc:`from source <installation>` or via :doc:`Docker <quickstart>`), you can run the example simulation located in the ``tests/runff/`` directory. This helps verify your installation and introduces you to the basic command execution methods.
6+
In the :doc:`quickstart` guide, you launched the example simulation using the interactive Web UI. That is just one of several ways to operate the ``forefire`` interpreter.
7+
8+
This page details all three primary execution modes, allowing you to choose the best method for your specific task:
9+
10+
- **Direct Execution (Batch Mode):** Best for standard, non-interactive runs or for use in automated scripts.
11+
- **Interactive Console:** Ideal for experimenting with commands step-by-step or inspecting the simulation state.
12+
- **Web Interface:** Excellent for visual feedback and interactive demonstrations.
13+
14+
Below, we demonstrate each method using the same ``real_case.ff`` script.
715

816
Simulation Files Used
917
---------------------
@@ -51,7 +59,10 @@ This is the simplest way to run a simulation non-interactively by feeding the en
5159
5260
../../bin/forefire -i real_case.ff
5361
54-
3. **Observe:** ForeFire will print status messages to the console as it executes the commands within ``real_case.ff``. It will likely create output files (as specified by ``print``/``save`` commands in the script) in the current directory (``tests/runff``).
62+
3. **Observe:** ForeFire will create 2 files:
63+
64+
- ``to_reload.ff``: a Forefire ascii state file ready to be reincluded or modified to run
65+
- ``ForeFire.0.nc``: a burning map matrix in netcdf
5566

5667
2: Interactive Console
5768
~~~~~~~~~~~~~~~~~~~~~~
@@ -84,15 +95,15 @@ This method starts the ForeFire interpreter first, allowing you to execute the s
8495

8596
.. code-block:: none
8697
87-
forefire> include[input=real_case.ff]
98+
forefire> include[real_case.ff]
8899
89100
90-
4. **Observe:** The simulation will run similarly to Method 1, executing the commands from ``real_case.ff`` and printing output to the console. Afterwards, you remain in the interactive console (``forefire>`` prompt) and can inspect parameters (e.g., ``getParameter[propagationModel]``), run further steps manually (e.g., ``step[dt=600]``), or exit using ``quit[]``.
101+
4. **Observe:** The simulation will run similarly to Method 1, executing the commands from ``real_case.ff``. Afterwards, you remain in the interactive console (``forefire>`` prompt) and can inspect parameters (e.g., ``getParameter[propagationModel]``), run further steps manually (e.g., ``step[dt=600]``), or exit using ``quit[]``.
91102

92103
3: Web Interface
93104
~~~~~~~~~~~~~~~~
94105

95-
This method uses the built-in HTTP server to provide a web-based console and map visualization. It executes commands in the same way as the interactive console but through your browser.
106+
This method, which you may have already used in the :doc:`quickstart` guide, uses the built-in HTTP server to provide a web-based console and map visualization. It executes commands in the same way as the interactive console but through your browser.
96107

97108
1. **Navigate to the test directory** (if not already there):
98109

@@ -120,14 +131,14 @@ This method uses the built-in HTTP server to provide a web-based console and map
120131

121132
Alternatively, to launch the HTTP server directly without entering the interactive console first, you can use the `-l` command-line option. This is convenient if you primarily want to use the web interface.
122133

123-
.. code-block:: none
134+
.. code-block:: bash
124135
125136
forefire -l
126137
127138
4. **Use the Web Interface:**
128139

129140
- Open your browser to ``http://localhost:8000/`` (or the specified port).
130-
- In the command input box in the web UI, type ``include[input=real_case.ff]`` and press Enter or click Send. This executes the script file relative to where the interpreter was started (which we ensured was `tests/runff`).
141+
- In the command input box in the web UI, type ``include[real_case.ff]`` and press Enter or click Send. This executes the script file relative to where the interpreter was started (which we ensured was `tests/runff`).
131142
- Click "Refresh Map" periodically to see the simulation progress visually. You can also type other commands directly into the web console.
132143

133144
Choosing a Method

docs/source/getting_started/introduction.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,7 @@ ForeFire is suitable for a range of applications, including:
5151
Supported Platforms
5252
-------------------
5353

54-
ForeFire is primarily developed and tested on **Unix-like systems (Linux and macOS)**. It can run o Windows via **WSL** (windows Subsystem for Linux) or **Docker**.
54+
ForeFire is primarily developed and tested on **Unix-like systems (Linux and macOS)**. It can run on Windows via **WSL** (Windows Subsystem for Linux) or **Docker**.
5555

5656
About This Documentation
5757
------------------------

docs/source/getting_started/quickstart.rst

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -76,7 +76,7 @@ Steps
7676
:align: center
7777
:width: 90%
7878

79-
**This confirms your Docker setup is working!** For other ways to run ForeFire scripts (like directly from the command line), see the :doc:`running_the_example` page.
79+
**This confirms your Docker setup is working!**
8080

8181
9. **Stop the Container:**
8282

@@ -85,3 +85,10 @@ Steps
8585
- In the ForeFire console (either web or terminal inside the container), type `quit`.
8686
- In the container's bash shell (terminal), type `exit`.
8787
- The `docker run` command used `--rm`, so the container will be automatically removed upon exit.
88+
89+
.. rubric:: Next Steps
90+
91+
Congratulations! You've successfully run your first ForeFire simulation and have a working environment. Here are some recommended next steps to deepen your understanding:
92+
93+
- **Explore Execution Modes:** Learn about the command-line (batch) and interactive console alternatives to the Web UI by reading the :doc:`execution_modes` guide.
94+
- **Understand the Script:** To see what was inside the ``real_case.ff`` script you just ran, dive into the :doc:`/user_guide/forefire_script` guide.

docs/source/index.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ Welcome to the official documentation for ForeFire — the open-source wildfire
1515
getting_started/introduction
1616
getting_started/quickstart
1717
getting_started/installation
18-
getting_started/running_the_example
18+
getting_started/execution_modes
1919

2020
.. toctree::
2121
:maxdepth: 1

docs/source/requirements.txt

Lines changed: 11 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -1,25 +1,11 @@
1-
alabaster==1.0.0
2-
babel==2.17.0
3-
breathe==4.36.0
4-
certifi==2025.1.31
5-
charset-normalizer==3.4.1
6-
docutils==0.21.2
7-
idna==3.10
8-
imagesize==1.4.1
9-
Jinja2==3.1.6
10-
MarkupSafe==3.0.2
11-
packaging==24.2
12-
Pygments==2.19.1
13-
requests==2.32.4
14-
snowballstemmer==2.2.0
15-
Sphinx==8.1.3
16-
sphinx-rtd-theme==3.0.2
17-
sphinxcontrib-applehelp==2.0.0
18-
sphinxcontrib-devhelp==2.0.0
19-
sphinxcontrib-htmlhelp==2.1.0
20-
sphinxcontrib-jquery==4.1
21-
sphinxcontrib-jsmath==1.0.1
22-
sphinxcontrib-qthelp==2.0.0
23-
sphinxcontrib-serializinghtml==2.0.0
24-
tomli==2.2.1
25-
urllib3==2.3.2
1+
# Core documentation generator
2+
sphinx>=8.1,<9.0
3+
4+
# Theme for Read the Docs
5+
sphinx-rtd-theme>=3.0,<4.0
6+
7+
# Doxygen/C++ integration
8+
breathe>=4.36,<5.0
9+
10+
# A dependency for the RTD theme
11+
sphinxcontrib-jquery

docs/source/user_guide/forefire_script.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -67,7 +67,7 @@ While the exact commands depend on the simulation, a common workflow within a ``
6767
.. code-block:: none
6868
6969
# Include parameters from a separate file (optional)
70-
# include[input=params.ff]
70+
# include[params.ff]
7171
7272
# Set specific parameters directly
7373
setParameters[propagationModel=Rothermel;perimeterResolution=30;dumpMode=geojson]

src/include/Version.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
11
#pragma once
2-
const char* ff_version = "v2.1.114";
2+
const char* ff_version = "v2.1.122";
33

0 commit comments

Comments
 (0)