Dashboard - Soiling: PV Cleaning Widget

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

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 Costs

5. 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

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

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