Scenario Analysis
DSM outcomes across weather regimes · 100 MW plant, 70 MW scheduled (pvlib physics)
pvlib· GHI→DNI/DHI + POA + PVWattsDSM Engine· deviation + slab chargesFuzzy Risk· LOW/MEDIUM/HIGH/CRITICAL
Formulas used
PV generation (PVWatts)OFFICIAL_SOURCE · pvlib
DC = pvwatts_dc(poa, t_cell, pdc0, γ=-0.0035) AC = pvwatts_inverter(DC, pdc0, η=0.96) predicted_mw = min(AC / 1e6, capacity_mw)
DSM deviation (per scenario)USER_CONFIGURABLE
dev_pct = (|predicted − scheduled| / Δt_h)
× block_h / capacity × 100
status = dev_pct > threshold ? PENALTY_RISK : OKthreshold — Configured DSM band (default 10%)
capacity — Installed capacity (MW)
Penalty cost estimateUSER_CONFIGURABLE
penalty_cost = chargeable_kWh × penalty_rate chargeable_kWh = (dev_pct / 100) × capacity × 1000 × Δt_h
Fuzzy risk classificationFALLBACK_DEFAULT
inputs: breach_ratio = dev_pct / band
confidence = 1 − 0.35 × cloud
cloud_volatility
→ triangular MFs → LOW / MEDIUM / HIGH / CRITICALProvenance: OFFICIAL_SOURCE + FALLBACK_DEFAULT — Generation is computed via pvlib physics (OFFICIAL_SOURCE). Risk classification uses fuzzy membership functions (FALLBACK_DEFAULT, tunable). Penalty cost is an estimate — not a regulatory charge.
Clear Sky
950 W/m² · 5% cloud
Partly Cloudy
620 W/m² · 45% cloud
Overcast
300 W/m² · 80% cloud
Storm
110 W/m² · 95% cloud
No scenarios run yet
Run all scenarios to compare DSM outcomes side by side