Dashboard - Soiling: PV Cleaning Widget
🚧 Developer Note: The PV Cleaning Widget is actively being built — features and calculations are continuously being added and improved. This documentation reflects the current state and will be updated accordingly.
Overview
The PV Cleaning Widget helps solar plant operators decide whether cleaning the PV modules is economically worthwhile. It combines soiling data from the latest drone-based analysis flight with solar irradiance data and plant-specific cost parameters to calculate how quickly a cleaning investment would pay off.
What is Displayed
Cleaning Status
The widget shows one of the following status labels:
Status | Condition |
|---|---|
Cleaning highly recommended | Payback period ≤ 30 days |
Cleaning recommended | Payback period 31–90 days |
No cleaning recommended | Payback period > 90 days |
Trackers to Clean
The number of PV trackers recommended for cleaning out of the total number of trackers on the plant.
Cleaning Costs
Estimated total cost of a cleaning operation for the entire plant, based on the configured cost parameters (see below).
Payback Period
The number of days until the revenue recovered from cleaning equals the cost of the cleaning operation. A shorter payback period means cleaning is more urgent and economically attractive.
Performance Loss Chart (Historical + Forecast)
A daily chart showing the estimated energy performance loss due to soiling, starting from the date of the last analysis flight up to 15 days into the future. The loss percentage is held constant at the value measured during the flight.
Revenue Loss Chart (Historical + Forecast)
If a PPA rate and plant capacity are configured, the widget also shows the estimated daily revenue lost due to soiling (in the configured currency). This is calculated using actual and forecasted solar irradiance data.
How It Works
1. Soiling Data from Analysis Flight
The widget is based on the most recent drone inspection that includes a soiling analysis. From this analysis, the average soiling performance loss (in %) across all modules is extracted. This value represents how much energy production is currently being lost due to dirt and dust on the panels.
2. Solar Irradiance Data (GHI)
To estimate the revenue impact of soiling over time, the widget fetches Global Horizontal Irradiance (GHI) data:
Historical data (from the flight date up to yesterday): sourced from the Open-Meteo Archive API, which provides measured irradiance data going back decades.
Forecast data (today + up to 15 days ahead): sourced from the Open-Meteo Forecast API.
GHI values from Open-Meteo are in MJ/m². These are converted to Peak Sun Hours (kWh/m²) by dividing by 3.6.
3. Daily Revenue Loss Calculation
For each day in the window, the revenue loss due to soiling is calculated as:
Revenue Loss (per day) = PPA Rate × Plant Capacity (MW) × Peak Sun Hours × (Soiling Loss % / 100)4. Cleaning Cost Calculation
Total cleaning cost is estimated using the plant-specific parameters:
Cleaning Cost = Plant Capacity (MW) × Cleaning Costs per MW + Fixed Cleaning Costs5. Payback Period
The payback period is calculated by summing up daily revenue losses until the cumulative amount equals the total cleaning cost. If the cleaning investment is not recovered within 100 years, no payback period is shown.
Key Assumptions
All-or-nothing cleaning: The widget does not optimize which individual trackers to clean. It assumes either the entire field is cleaned, or nothing is cleaned. If the payback period is ≤ 90 days, all trackers are recommended for cleaning.
Constant soiling rate: The soiling performance loss is assumed to remain constant at the level measured during the last flight. Re-soiling after cleaning is not modeled.
GHI only: Irradiance is taken as Global Horizontal Irradiance without correction for panel tilt, azimuth, or shading. This is a simplification — actual energy yield on a tilted surface will differ.
Uniform soiling: The average soiling loss across all modules is used for all calculations. Spatial variation across the field is not considered in the financial model.
Widget Configuration Parameters
The following parameters must be configured per plant for the widget to show financial data:
Parameter | Description |
|---|---|
Currency | Currency symbol used for displaying revenue and cost values (e.g. |
Cleaning Costs per MW | Variable cleaning cost component, scaled by plant capacity |
Fixed Cleaning Costs | One-time fixed cost component per cleaning operation (e.g. mobilization costs) |
PPA Rate | Power Purchase Agreement price per kWh — used to calculate the monetary value of lost energy |
If the PPA Rate or cost parameters are not set, the widget will still show the performance loss chart but will not display revenue loss or payback period.
Data Sources
Data | Source |
|---|---|
Soiling performance loss | Volateq drone analysis |
Historical irradiance (GHI) | Open-Meteo Archive API |
Forecast irradiance (GHI) | Open-Meteo Forecast API |
Plant capacity, tracker count | Volateq plant configuration |