A desktop application for parsing and visualising PSCAD/EMTDC simulation output files (.out), built for power system engineers who work with large volumes of simulation results.
PSCAD generates .out files containing hundreds of channels across multiple simulation runs. Outfile Viewer replaces manual inspection with an interactive interface β load files, select channels, plot waveforms, compare runs, and export to Excel, all without touching the raw text.
Also supports .txt, .log, and .dat output files from other engineering simulation tools.
Instead of manually scrolling through thousands of lines of raw simulation output:
β
Automatic Parsing β Extracts tables, metadata, statistics, and diagnostics
β
Waveform Plotting β Select and plot any channel from .out files interactively
β
Multi-File Comparison β Compare results across simulation runs side-by-side
β
Data Exploration β Filter, search, and derive new columns on the fly
β
Export Reports β Generate Excel reports with charts and analysis
β
Full Privacy β Everything runs locally on your machine (no cloud, no telemetry)
- Download the installer from Releases
- Run
OutfileViewerSetup.exeand follow the installer - Launch from Start Menu or desktop shortcut
- The app opens automatically in your browser at
http://localhost:8600
- Click "Load sample demo file" in the sidebar to see sample data
- Or upload your own
.out,.txt,.log, or.datfile - Explore the tabs:
- Overview β Risk summary & key metrics at a glance
- Data β Browse tables and raw data
- Analysis β Derived metrics and trends
- Compliance β Run compliance checks
- Reports β Export to Excel with charts
Standard engineering simulation output files with sections like:
SUMMARY STATISTICS
TABLE DATA (optional)
PDF OUTPUT (optional)
DIAGNOSTICS
Text-based output files with similar structure. The parser attempts to extract:
- Metadata β Run parameters, dates, versions
- Tables β Structured data (statistics, results)
- Statistics β Summary metrics
- Diagnostics β Warnings, errors, debug info
See File Format Specification β
| Tab | What It Does |
|---|---|
| OVerview | Executive summary: risk score, key metrics, status indicators |
| Data | Browse parsed tables, view raw data, inspect structure |
| Analysis | Trend analysis, statistics, aggregations, derived columns |
| Derived & Units | Create calculated columns, override unit definitions |
| Compliance | Automated compliance checks against rules |
| Compare | Side-by-side comparison of multiple files |
| Filter & Search | Advanced filtering, search by keyword or pattern |
| Notes | Attach session notes and annotations |
| Reports | Export analysis as Excel with charts and summaries |
| Project | Save/load full workspaces (files + analysis state) |
| Raw & Diagnostics | Inspect raw file contents, parser diagnostics |
| Admin (hidden) | Session management, debug tools |
- Multiple File Support β Analyze 10+ files in one session
- Session History β Access previously uploaded files instantly
- Unit Management β Override default units for any column
- Derived Columns β Create computed columns with expressions
- Smart Parsing β Handles irregular formatting and malformed data
- Export to Excel β Full reports with pivot tables & charts
- Workspace Projects β Save analysis state for later
- Python 3.8 or higher
- pip or conda
# Clone the repository
git clone https://github.com/4haiderali/Outfile-Viewer.git
cd Outfile-Viewer
# Create virtual environment
python -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate
# Install dependencies
pip install -r requirements.txt
# Run the app
streamlit run app.pyThe app will start at http://localhost:8501 (Streamlit's default dev port).
The app runs entirely on your machine. No data is sent externally.
Outfile-Viewer/
βββ app.py # Main Streamlit entry point
βββ launcher.py # Windows desktop app launcher
βββ out_viewer/ # Core application package
β βββ tabs/ # Analysis tabs (Overview, data, etc.)
β βββ context.py # Shared application state (AppContext)
β βββ constants.py # App configuration
β βββ session_data.py # File parsing & session management
β βββ export.py # Export functionality
β βββ ... # Other modules
βββ requirements.txt # Python dependencies
βββ VERSION.txt # Version number
βββ OutfileViewerInstaller.iss # Windows installer config (Inno Setup)
βββ Setup.bat # Setup script
βββ docs/ # Documentation
βββ file_format.md # Input file specification
We welcome contributions! Whether it's bug reports, feature requests, or code:
- Read CONTRIBUTING.md for guidelines
- Check DEVELOPMENT.md for architecture details
- Open an issue to discuss changes before submitting a PR
A: No. Everything runs locally on your machine. No data leaves your computer.
A: Currently Windows-only (uses Windows-specific tray icon). Mac/Linux support possible with community contribution.
A: Check docs/file_format.md for format requirements. Post an issue with a sample file (sanitized) and we'll investigate.
A: Yes! It's MIT licensed. See LICENSE for full terms.
A: Open an issue with:
- Your file format (if possible, sanitized sample)
- Steps to reproduce
- Expected vs actual behavior
- Error message from the browser console (F12)
This project is licensed under the MIT License β see LICENSE for details.
- Questions? Open a discussion
- Found a bug? Report an issue
- Feature request? Start a discussion or issue
Built with β€οΈ using:
- Streamlit β The fastest way to build data apps
- Pandas β Data analysis library
- Plotly β Interactive visualizations
- openpyxl β Excel file generation
Made by @4haiderali