Professional energy system optimization platform with comprehensive interactive dashboard for strategic energy planning.
Complete energy optimization system featuring MESSAGE-IX framework with real-time visualization dashboard. Models a two-region energy system (Industrial and Residential zones) with natural gas, wind, and solar technologies for the planning period 2025-2050.
- Advanced Energy Modeling: MESSAGE-IX optimization framework
- Interactive Dashboard: Complete visualization suite with Streamlit
- Real Optimization: GAMS solver with linear programming
- Multi-Regional Model: Industrial and Residential zones
- Technology Portfolio: Gas, wind and solar technologies
- Long-term Analysis: 25-year planning horizon
# Clone repository
git clone https://github.com/SebastianBanda1/Message_IX.git
cd Message_IX
# Create virtual environment
python -m venv .venv
.venv\Scripts\activate # Windows
# Install dependencies
pip install -r requirements.txtpython scripts/run_messageix_final.pypython launch_dashboard.pyDashboard will automatically open at http://localhost:8501
- Key system metrics
- Optimized total cost ($676.79M USD)
- Regional and technology overview
- Model verification status
- Detailed cost breakdown
- Interactive pie and bar charts
- Investment, operation and fuel costs
- Percentage analysis
- Temporal capacity evolution
- Technology and regional comparison
- Line charts and stacked bars
- Interactive filters by year/region/technology
- Generation heatmaps
- Technology trend analysis
- Area charts and comparisons
- Real-time data
- Hourly demand profiles
- Renewable availability
- Technology costs
- Detailed statistics
- Technology distribution
- Regional comparison
- Market share charts
- Strategic analysis
- Capacity results
- Generation data
- Input information
- Download options
- Year Filters: Multi-selection 2025-2050
- Region Filters: Industrial/Residential
- Technology Filters: Gas/Wind/Solar
- Data Export: CSV, JSON, Excel
- Dynamic Visualizations: Interactive Plotly charts
Message_IX/
├── scripts/
│ ├── messageix_final_working.py # Core energy model implementation
│ └── run_messageix_final.py # Model execution script
├── dashboard.py # Complete Streamlit dashboard
├── launch_dashboard.py # Dashboard launcher
├── data/
│ ├── demand_patterns.csv # Demand patterns
│ ├── renewable_profiles.csv # Renewable profiles
│ └── technology_costs.csv # Technology costs
├── results/ # Optimization results
├── .vscode/ # VS Code configuration
└── requirements.txt # Dependencies
- IXMP Platform: Scenario and database management
- GAMS Solver: Linear programming optimization
- Python API: Official MESSAGE-IX interface
- Objective: System cost minimization
- Streamlit: Interactive dashboard framework
- Plotly: Dynamic visualizations
- Pandas: Data processing
- NumPy: Numerical computing
- Regions: Industrial (high demand), Residential (low demand)
- Technologies:
- Natural Gas: $950/kW, 30-year lifetime
- Wind: $1320/kW, 25-year lifetime
- Solar: $980/kW, 25-year lifetime
- Optimization: Minimum cost with demand constraints
- Total Cost: $676.79 Million USD
- Solver: GAMS CPLEX (optimal solution found)
- Runtime: 0.375 seconds
- Variables: 157 columns, 165 rows
- Natural Gas: 50% (base technology)
- Wind: 30% (sustained growth)
- Solar: 20% (accelerated expansion)
# Available tasks (Ctrl+Shift+P → "Tasks: Run Task")
1. "Run MESSAGE-IX Model" # Execute optimization
2. "Launch Dashboard" # Open dashboard
3. "Install Dependencies" # Install packages
4. "Run Model + Dashboard" # Complete workflow# Model only
python scripts/run_messageix_final.py
# Dashboard only
python launch_dashboard.py
# Direct Streamlit
streamlit run dashboard.py- Multi-year selection
- Regional filters
- Technology selection
- Real-time updates
- Temporal line charts
- Heat maps
- Stacked bar charts
- Interactive pie charts
- Area charts
- CSV results download
- Complete JSON export
- Detailed Excel files
- Input data included
# Core Energy Framework
message-ix>=3.11.0
ixmp>=3.11.0
# Dashboard & Visualization
streamlit>=1.28.0
plotly>=5.17.0
matplotlib>=3.7.0
seaborn>=0.12.0
# Data Processing
pandas>=1.5.0
numpy>=1.24.0
| Feature | VS Code + Dashboard | Jupyter Notebooks |
|---|---|---|
| Interface | Professional dashboard | Sequential cells |
| Interactivity | Dynamic filters | Static |
| Visualization | Interactive Plotly | Basic matplotlib |
| Production | Deployment ready | Exploration only |
| Sharing | Web URL | .ipynb files |
| Updates | Real-time | Manual |
- Energy policy evaluation
- Optimal technology mix analysis
- Investment planning
- Executive dashboard with key metrics
- Presentation visualizations
- Scenario analysis
- Complete energy modeling framework
- Exportable data for additional analysis
- Extensible platform
- Energy optimization demonstration
- Interactive learning tool
- Professional energy modeling example
To extend the model:
- More Technologies: Add batteries, nuclear, etc.
- More Regions: Expand geographical model
- Scenarios: Implement multiple scenarios
- Uncertainty: Sensitivity analysis
- Real-time: Live data connections
- Fork the repository
- Create feature branch (
git checkout -b feature/new-feature) - Commit changes (
git commit -am 'Add new feature') - Push to branch (
git push origin feature/new-feature) - Create Pull Request
This project is licensed under the Apache License 2.0 - see LICENSE for details.
- Energy Modeling Community: Framework development
- Streamlit: Dashboard framework
- GAMS Corporation: Optimization solver
- Plotly: Interactive visualizations
- MESSAGE-IX Documentation: https://docs.messageix.org/
- Streamlit Documentation: https://docs.streamlit.io/
- GitHub Issues: For reporting problems
Professional MESSAGE-IX Dashboard | Real-time Energy Analysis | Advanced Optimization Platform