Python GUI tool for visualizing STOMP reservoir simulation node output data
This tool enabled rapid visualization of multiple variables across monitoring points without manual data post-processing with STOMP simulation (https://stomp-userguide.pnnl.gov/).
- Interactive visualization of STOMP reference-node outputs
- Node selection with IJK coordinate display
- Variable customization: rename labels, apply multipliers for unit conversion
- Flexible axes: x-axis unit conversion (seconds/hours/days/years), log scales, custom y-axis labels
- Drag-and-drop file loading (with tkinterdnd2)
- CSV export of selected node data
- Fast parsing optimized for large files (612K+ rows)
- Progress tracking during file loading
-
Install dependencies:
pip install -r requirements.txt
-
Run the GUI:
python3 node_output_gui_v1.py
-
Load sample file:
results/output_ex -
Select nodes and variables to visualize
- Python 3.7 or higher
- pandas (>= 1.3.0) — Data manipulation and analysis
- matplotlib (>= 3.3.0) — Plotting and visualization
- tkinter — GUI framework (included with Python)
- tkinterdnd2 (>= 0.3.0) — Drag-and-drop file support
pip install -r requirements.txtOr install individually:
pip install pandas matplotlib tkinterdnd2python3 node_output_gui_v1.pyWorkflow:
- Load a STOMP output file (extensionless or
.txt) - Select reference node(s) by cell ID (IJK coordinates shown)
- Choose variables to plot
- Customize:
- Rename labels for legend
- Apply multipliers for unit conversion
- Adjust x-axis units and scales
- Export selected data to CSV if needed
Built-in libraries (no extra installation):
os— File path operationsre— Regular expressions for parsingtkinter— GUI componentsthreading— Background file loading
- Architecture & Design: docs/ARCHITECTURE.md
- Sample Data Notes: docs/DATA.md
- Contributing: CONTRIBUTING.md
- License: LICENSE (MIT)
MIT License — See LICENSE for details.

