Build a Solar Soiling Loss and Cleaning Route Dispatcher
Calculate dust accumulation and thermal degradation across utility-scale solar arrays using plant pyranometer telemetry. Optimize automated cleaning vehicle routing schedules to maximize net energy yield.
What you are building
The core problem, expected build, and operating context for this challenge.
Calculate dust accumulation and thermal degradation across utility-scale solar arrays using plant pyranometer telemetry. Optimize automated cleaning vehicle routing schedules to maximize net energy yield.
Solar Farm Asset Manager
Ingest module temperature, plane-of-array irradiance, and daily string inverter power outputs.
Calculate baseline expected DC power output under clean conditions using pvlib performance models.
Quantify soiling loss percentages across individual tracker blocks and inverter zones.
Formulate robotic dry-brush cleaning vehicle route assignments prioritized by financial recovery rate.
Interactive plant block heatmap indicating soiling severity, economic break-even lines, and cleaning robot dispatch buttons.
Create synthetic string telemetry files including irradiance, module temperature, and measured power output across 20 inverter blocks. Starter examples below are synthetic. They are not downloaded records.
PVLib solar modeling Utilizes pvlib PVWatts or single-diode model functions to calculate clean reference power outputs under measured irradiance.
mastra-ai, pvlib, pandas. Mastra AI orchestrates deterministic step execution connecting analytical soiling models with cleaning robot task dispatchers. Local Python runtime with API-accessible LLM for generating shift handover notices.
Submit runnable source, pinned dependencies, setup commands, a working interface, example outputs, and a recorded end-to-end demo. Include tests and an action log.
Calculates soiling loss ratio for each inverter block relative to pvlib clean reference.
Suppresses cleaning dispatch when estimated energy recovery value is less than cleaning operational cost.
Outputs a sequenced cleaning schedule for field operations teams.
```json [ { "input": { "block_id": "BLK-07", "irradiance_wm2": 850, "cell_temp_c": 52, "measured_power_kw": 620, "clean_reference_power_kw": 740, "cleaning_cost_usd": 45, "power_price_usd_kwh": 0.04 }, "expected_output": { "soiling_ratio": 0.838, "soiling_loss_pct": 16.2, "daily_revenue_loss_usd": 57.6, "dispatch_cleaning": true, "priority": "HIGH" } }, { "input": { "block_id": "BLK-12", "irradiance_wm2": 850, "cell_temp_c": 50, "measured_power_kw": 715, "clean_reference_power_kw": 735, "cleaning_cost_usd": 45, "power_price_usd_kwh": 0.04 }, "expected_output": { "soiling_ratio": 0.973, "soiling_loss_pct": 2.7, "daily_revenue_loss_usd": 9.6, "dispatch_cleaning": false, "priority": "DEFERRED" } } ] ```
Automated cleaning dispatches are mock orders; field robot operations require physical zone clearances and supervisor confirmation. Use mock external writes. Require human review before any real deployment.
Participation guide
Automated cleaning dispatches are mock orders; field robot operations require physical zone clearances and supervisor confirmation. Use mock external writes and human review.
How work is evaluated
Calculates soiling loss ratio for each inverter block relative to pvlib clean reference. Suppresses cleaning dispatch when estimated energy recovery value is less than cleaning operational cost. Outputs a sequenced cleaning schedule for field operations teams.
Runnable source, pinned dependencies, setup commands, working interface, example outputs, recorded demo, tests, and action logs.
Challenge datasets
Public datasets, plus the private datasets you have access to.
How submissions are scored
These dimensions define what the evaluator checks and which criteria separate a passable run from a strong one.
Complete workflow
Ingest module temperature, plane-of-array irradiance, and daily string inverter power outputs. Calculate baseline expected DC power output under clean conditions using pvlib performance models. Quantify soiling loss percentages across individual tracker blocks and inverter zones. Formulate robotic dry-brush cleaning vehicle route assignments prioritized by financial recovery rate.
Missing or incorrect.
Partly complete, with documented gaps.
Complete, with reproducible evidence.
Correctness and evidence
Calculates soiling loss ratio for each inverter block relative to pvlib clean reference. Suppresses cleaning dispatch when estimated energy recovery value is less than cleaning operational cost. Outputs a sequenced cleaning schedule for field operations teams.
Missing or incorrect.
Partly complete, with documented gaps.
Complete, with reproducible evidence.
Review interface
Interactive plant block heatmap indicating soiling severity, economic break-even lines, and cleaning robot dispatch buttons.
Missing or incorrect.
Partly complete, with documented gaps.
Complete, with reproducible evidence.
Safe execution
Automated cleaning dispatches are mock orders; field robot operations require physical zone clearances and supervisor confirmation.
This dimension contributes its full weight only when the submission satisfies the requirement. Partial credit is not awarded.
What you should walk away with
Ingest module temperature, plane-of-array irradiance, and daily string inverter power outputs.
Calculate baseline expected DC power output under clean conditions using pvlib performance models.
Quantify soiling loss percentages across individual tracker blocks and inverter zones.
Formulate robotic dry-brush cleaning vehicle route assignments prioritized by financial recovery rate.
Reference links and supporting material
Create synthetic string telemetry files including irradiance, module temperature, and measured power output across 20 inverter blocks. Supplied starter examples are synthetic, not source extracts.
Challenge setup
Configuration summary for this challenge.
Challenge input
Input details are not configured.
Mastra AI
TypeScript agent framework.
Evaluated output
No output checks are configured.
- Ingest module temperature, plane-of-array irradiance, and daily string inverter power outputs. Calculate ba...
- Calculates soiling loss ratio for each inverter block relative to pvlib clean reference. Suppresses cleanin...
- Interactive plant block heatmap indicating soiling severity, economic break-even lines, and cleaning robot...
- 2 public reference cases
- 2 configured tools
Summary shows the first task, up to three tools, and up to three evidence items. Open the technical recipe to view all configured items.
View technical recipe
Configured tools
- Mastra AI · Optional
- Mastra AI · Optional
Evaluation contract
- Complete workflow · Weight 40
- Correctness and evidence · Weight 30
- Review interface · Weight 20
- Safe execution · Weight 10
Reference cases
- 2 public reference cases
Workflow tasks
No workflow tasks are configured.
Recipe freeze marker
No recipe freeze time is recorded.