Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
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
2 changes: 1 addition & 1 deletion CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -199,7 +199,7 @@ endif()
# ----------------------------------
# Main Project Executable
# ----------------------------------
set(INTERPRETER tools/forefire/ForeFire.cpp tools/forefire/AdvancedLineEditor.cpp)
set(INTERPRETER app/forefire/ForeFire.cpp app/forefire/AdvancedLineEditor.cpp)
add_executable(forefire ${INTERPRETER})
if(DEFINED NETCDF_STATIC_LIBS)
if(MPI_FOUND)
Expand Down
18 changes: 16 additions & 2 deletions Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -19,8 +19,13 @@ RUN pip3 install --no-cache-dir lxml xarray netCDF4
WORKDIR /forefire
ENV FOREFIREHOME=/forefire

# we could only copy src, cmakelists.txt and cmake-build.sh
COPY . .
# Copy build configuration first (rarely changes)
COPY CMakeLists.txt cmake-build.sh LICENSE ./

# Copy source code and applications
COPY src/ ./src/
COPY app/ ./app/
COPY tools/runANN/ ./tools/runANN/

# Build and install the ForeFire C++ library
RUN sh cmake-build.sh
Expand All @@ -29,7 +34,16 @@ RUN sh cmake-build.sh
RUN cp /forefire/bin/forefire /usr/local/bin/

# Use pip to install the Python bindings
COPY bindings/ ./bindings/
RUN pip3 install ./bindings/python

# Copy everything else (changes most frequently - docs, tests, etc.)
COPY . .

# WE COULD USE A CUSTOM ENTRYPOINT SCRIPT TO START THE HTTP SERVER AND RUN THE DEMO SIMULATION
# COPY tools/devops/entrypoint.sh /usr/local/bin/entrypoint.sh
# RUN chmod +x /usr/local/bin/entrypoint.sh
# ENTRYPOINT ["/usr/local/bin/entrypoint.sh"]

# Set the entrypoint to bash for interactive sessions
CMD ["bash"]
File renamed without changes.
File renamed without changes.
1 change: 1 addition & 0 deletions paper/paper.md
Original file line number Diff line number Diff line change
Expand Up @@ -59,6 +59,7 @@ authors:
corresponding: false
- name: Antonio Leblanc
affiliation: 4
orcid: 0009-0001-9043-2039
corresponding: false
- name: Alberto Alonso-Pinar
orcid: 0009-0009-2051-9700
Expand Down
2 changes: 1 addition & 1 deletion src/include/Version.h
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
#pragma once
const char* ff_version = "v2.2.0";
const char* ff_version = "v2.2.1";

34 changes: 34 additions & 0 deletions tools/devops/entrypoint.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
#!/bin/bash
set -e

echo "🔥 ForeFire Quick Start Demo"
echo "=============================="
echo ""

# Navigate to the test directory
cd /forefire/tests/runff

echo "📁 Working directory: $(pwd)"
echo "🌐 Starting ForeFire with HTTP server..."
echo ""
echo "Once started, open your browser to: http://localhost:8000"
echo "To run the demo simulation, type: include[real_case.ff]"
echo "To stop, press Ctrl+C"
echo ""

# Function to handle graceful shutdown
cleanup() {
echo ""
echo "🛑 Shutting down ForeFire..."
exit 0
}

# Set up signal handlers for graceful shutdown
trap cleanup SIGINT SIGTERM

# Start forefire and automatically launch HTTP server
forefire -l &
FOREFIRE_PID=$!

# Wait for the forefire process
wait $FOREFIRE_PID
Loading