SolarisPredict-SL

The Inspiration

Sri Lanka's electricity system is changing rapidly. The growth of renewable energy, especially rooftop solar, is changing the shape of electricity demand throughout the day.

A sunny afternoon can produce a large amount of distributed solar generation and reduce the demand that must be supplied by conventional generators. A few hours later, demand rises sharply during the evening while solar generation falls. This creates a difficult operational problem:

It is not enough to know what the grid is doing now. We need to know what the grid is likely to need next.

This question inspired us to build SolarisPredict-SL — an AI-powered national grid forecasting and decision-support platform for Sri Lanka.

Our goal was to move beyond a conventional dashboard that only displays historical generation data and instead build a system that can learn from real Sri Lankan grid behaviour, incorporate weather forecasts, predict future demand and renewable generation, and translate those predictions into operational insights.


What It Does

SolarisPredict-SL combines publicly available National System Operator (NSO) operational data with historical and forecast weather data to create a national-level view of Sri Lanka's power system.

The platform currently works with 15-minute operational data and a historical archive containing 17,195 intervals covering 181 days from February 10 to August 9, 2026.

It forecasts three key quantities:

  • National electricity demand
  • Solar generation
  • National net load

Net load is defined as:

$$ NetLoad_t = Demand_t - Solar_t $$

This is important because the operational challenge is not simply how much electricity consumers will use, but how much demand remains after variable renewable generation is taken into account.

The system also provides:

  • 📈 National demand and net-load forecasts
  • ☀️ Weather-driven solar forecasting
  • 🌦️ Weather regime analysis
  • ⚡ Evening-ramp and hosting-risk indicators
  • 🔄 Historical operational replay
  • 🧪 Scenario simulation
  • 🧠 Dispatch-oriented recommendations
  • 📊 Forecast accuracy and model validation
  • 🗺️ National grid visualisation
  • 🔎 Renewable-generation visibility analysis

How We Built It

The project started as a much smaller solar forecasting prototype.

Initially, we used weather data and machine learning to predict solar irradiance across several Sri Lankan zones. During development, we discovered that publicly available NSO operational data could provide something much more valuable: an opportunity to model the behaviour of the national electricity system itself.

We redesigned the architecture around this data.

1. Data ingestion

We built an ingestion pipeline to collect and normalize publicly available NSO operational data published through the EDLCare generation summary services.

The archive includes information such as:

  • National demand
  • Generation by source
  • Solar estimates
  • Daily peaks
  • Energy production
  • Reservoir information
  • Generation mix

We then aligned the operational data with meteorological information from Open-Meteo and NASA POWER.

2. Feature engineering

The forecasting models combine several categories of information:

  • Historical demand
  • Historical generation
  • Solar generation
  • Weather conditions
  • Cloud cover
  • Temperature
  • Irradiance
  • Hour of day
  • Day of week
  • Seasonal patterns
  • Weekend effects
  • Sri Lankan calendar effects
  • Lagged operational measurements
  • Rolling statistics

This produces a unified 15-minute feature store for model training and inference.

3. Machine learning

We use gradient-boosted machine-learning models to capture nonlinear relationships between grid behaviour, weather, and temporal patterns.

The models were evaluated chronologically rather than using a random train/test split, which better represents the real forecasting problem where future information must never be available during training.

On the current chronological holdout, the models achieved:

Forecast MAE
National Demand 47 MW
Solar Generation 24 MW
Net Load 57 MW

The demand model substantially outperformed a 24-hour persistence baseline.

4. Grid Digital Twin

The forecasts are then connected to a national Grid Digital Twin.

Instead of treating machine-learning predictions as isolated charts, the platform uses them to recreate and explore grid operating conditions.

Users can:

  • inspect historical operating days,
  • replay generation mixes,
  • examine demand and renewable behaviour,
  • view upcoming forecast conditions,
  • simulate changes in renewable generation,
  • identify evening ramps,
  • and receive dispatch-oriented recommendations.

What We Learned

The biggest lesson was that real operational data changes the problem completely.

Our initial focus was solar forecasting. Once we started working with national operational data, we realised that predicting solar generation alone does not answer the most important operational question.

The more useful question became:

"What will the national grid need to handle next?"

That led us from solar forecasting to net-load forecasting.

We also learned that forecast accuracy alone is not enough.

A model can produce a very accurate prediction, but if an operator cannot understand what that prediction means operationally, its practical value is limited.

That is why SolarisPredict-SL connects forecasting with:

Forecast → Risk → Scenario → Operational recommendation

This became one of the most important design principles of the project.


The Challenges

Working with real operational data

The biggest technical challenge was that the NSO data was not originally provided as a machine-learning dataset.

We had to build our own ingestion and normalization pipeline, handle different endpoint structures, align timestamps, deal with missing intervals, and convert the data into consistent 15-minute training records.

Combining different data sources

Grid measurements and weather data operate at different resolutions and have different structures.

We had to carefully align operational measurements with historical weather observations and forecast weather conditions without introducing future information into the training process.

Understanding solar visibility

Another challenge was distinguishing between different representations of solar generation.

The NSO data contains operational generation information as well as a solar forecast/estimate. These cannot simply be treated as identical measurements.

We therefore preserve their distinction within the system rather than artificially combining them.

Building something useful rather than just accurate

Perhaps the hardest challenge was deciding what the model should actually tell a user.

We deliberately moved away from presenting dozens of technical charts and instead built an operations-oriented interface.

The goal is to answer questions such as:

What is happening?

What is likely to happen next?

Where is the operational risk?

What should we consider doing?


Why We Built It This Way

Sri Lanka's renewable-energy transition requires more than adding renewable capacity.

As variable renewable generation grows, the system also needs better forecasting, planning, visibility, and coordination.

SolarisPredict-SL explores how publicly available operational data can be transformed into a national forecasting and decision-support layer for this transition.

The system is designed to support areas such as:

  • Renewable integration
  • Short-term grid planning
  • Net-load forecasting
  • Evening-ramp awareness
  • Hydro scheduling analysis
  • Renewable hosting analysis
  • Scenario planning

What We Are Proud Of

We are particularly proud that the project moved beyond a simulated dataset.

The current system is trained and evaluated using real publicly available Sri Lankan NSO operational data at 15-minute resolution.

The platform brings together:

Real grid data + real weather data + machine learning + forecasting + operational intelligence

into one national-level system.

We also made a conscious decision to be transparent about what the system is and is not.

SolarisPredict-SL is not connected to live CEB SCADA or EMS systems, and its dispatch recommendations are research-oriented estimates rather than actual control commands.

We believe this distinction is important when developing AI systems for critical infrastructure.


What's Next

SolarisPredict-SL is currently a research and prototype platform, but we see several opportunities for further development.

Our next steps include:

  • Extending the operational dataset beyond the current 181-day archive
  • Longer-term seasonal validation
  • Probabilistic forecasting with prediction intervals
  • Improved uncertainty estimation
  • More advanced demand forecasting models
  • Regional and plant-level forecasting
  • Automated model retraining
  • Real-time streaming architecture
  • More rigorous dispatch optimisation
  • Integration with additional renewable and storage scenarios

Our longer-term vision is to develop SolarisPredict-SL into a research platform for intelligent renewable-energy integration and digitalisation of Sri Lanka's power system.


The Bigger Idea

The project started with a simple question:

Can publicly available data tell us what Sri Lanka's power grid will need next?

SolarisPredict-SL is our attempt to answer that question.

By combining operational grid data, weather forecasting, machine learning, and decision support, we want to demonstrate how AI can move from simply describing the grid to helping us anticipate its future behaviour.

And ultimately, that means making it easier to integrate more renewable energy while keeping the electricity system reliable, efficient, and ready for what comes next.

Built With

  • analytics
  • artificial
  • data
  • energy
  • fastapi
  • forecasting
  • intelligence
  • learning
  • machine
  • nextjs
  • numpy
  • pandas
  • predictive
  • python
  • science
  • weather
  • xgboost
Share this project:

Updates

Submission history