🎓 Lesson 13 D5

BESS-PV Dispatch Coordination Logic: Avoiding Curtailment While Maximizing Value

It's the smart scheduling logic that tells a battery-solar system when to charge, discharge, or hold energy to avoid wasting power (curtailment) while earning the most money from grid services.

🎯 Learning Objectives

  • Analyze BESS-PV dispatch conflicts using net load duration curves and constraint violation heatmaps
  • Design a curtailment-avoidance dispatch rule set for a 5 MW PV + 4 MWh BESS system under CAISO’s RMR and AS requirements
  • Calculate optimal dispatch windows using price-arbitrage and solar forecasting error bands
  • Explain how inverter clipping thresholds interact with BESS charge priority during midday over-generation
  • Apply IEEE 1547-2018 compliance checks to validate dispatch feasibility

📖 Why This Matters

In California alone, over 3.2 GWh of solar generation was curtailed in Q1 2023—not due to lack of sun, but because grid operators couldn’t absorb it fast enough. When batteries and solar share one interconnection point, poor coordination turns surplus solar into wasted megawatt-hours—and lost revenue. This lesson teaches you how to engineer the 'traffic control system' that keeps both assets working as one profitable, grid-supporting unit—not competing for the same wires.

📘 Core Principles

Dispatch coordination rests on three interlocking layers: (1) Physical layer — BESS charge/discharge dynamics (C-rate, round-trip efficiency, SOC limits) and PV inverter constraints (clipping, reactive power capability); (2) Market layer — temporal value stacking (e.g., high DA prices at 5–7 PM vs. low real-time prices at noon); and (3) Regulatory layer — FERC Order 2222 mandates aggregated DERs must respond to ISO dispatch signals *without* violating local interconnection limits (e.g., IEEE 1547-2018 voltage/frequency ride-through). The coordination logic resolves trade-offs: e.g., storing excess solar may reduce curtailment but delay response to a sudden frequency drop requiring immediate BESS discharge. Optimal coordination requires multi-objective optimization with Pareto-efficient frontiers balancing revenue, reliability, and compliance.

📐 Net Load Minimization Dispatch Rule

This rule prioritizes BESS charging when PV generation exceeds net load *and* battery SOC allows, subject to inverter headroom. It directly reduces curtailment while preserving flexibility for later high-value discharge.

Curtailment-Avoidance Charge Priority (CACP)

P_{BESS,charge} = min\left( P_{PV} - L_{net},\ P_{BESS,max,charge},\ P_{inv,headroom} \right)

Optimal BESS charging power to minimize solar curtailment without violating hardware or grid constraints.

Variables:
SymbolNameUnitDescription
P_{BESS,charge} BESS charging power MW Active power drawn by BESS from AC bus (AC-coupled) or DC bus (DC-coupled)
P_{PV} PV active power generation MW Forecasted or measured real-time PV output
L_{net} Net load at interconnection point MW Grid load minus non-coordinated DER generation
P_{BESS,max,charge} Maximum allowable BESS charge power MW Thermally and SOC-constrained upper bound on charging rate
P_{inv,headroom} Available inverter headroom MW Remaining AC inverter capacity after accounting for PV export and reactive support obligations
Typical Ranges:
AC-coupled 5 MW PV + 4 MWh BESS: 0.1 – 0.5 MW
DC-coupled utility-scale system: 1.0 – 3.0 MW

💡 Worked Example

Problem: A 5 MW PV plant with 4 MWh BESS (92% round-trip efficiency) operates at 12:00 PM. Forecast PV = 4.8 MW, forecast net load = 1.2 MW, current BESS SOC = 35%, max charge rate = 2.5 MW. Inverter capacity = 5.0 MW. What is the optimal BESS charge power to minimize curtailment?
1. Step 1: Compute excess solar = PV forecast − net load = 4.8 MW − 1.2 MW = 3.6 MW
2. Step 2: Determine available BESS charge capacity = min(2.5 MW, (100% − 35%) × 4 MWh ÷ 1 h) = min(2.5 MW, 2.6 MW) = 2.5 MW
3. Step 3: Apply inverter headroom limit: inverter output must stay ≤ 5.0 MW. With PV = 4.8 MW, max allowable BESS charge = 5.0 MW − 4.8 MW = 0.2 MW (since BESS charging draws power *from* the DC side, but inverter AC output = PV AC − BESS AC charge; here, BESS AC charge consumes inverter capacity). Wait—clarify: In a DC-coupled system, BESS charge draws from PV DC bus before inverter; in AC-coupled, BESS charges from grid or PV AC output. Assume AC-coupled: BESS charge competes with PV for inverter capacity. So max combined AC export = 5.0 MW. To avoid curtailment, we want to export all 4.8 MW PV *plus* store excess — but only if inverter can handle both. Since inverter is saturated at 4.8 MW PV output, BESS must charge from grid or reduce PV export. Therefore, optimal action: curtail 0.2 MW PV *or* use BESS to shift 0.2 MW to evening. But per CACP: prioritize BESS charge up to headroom. Headroom = 5.0 − 4.8 = 0.2 MW → BESS charge = 0.2 MW.
4. Step 4: Verify: Exported PV = 4.8 MW − 0.2 MW (diverted to BESS) = 4.6 MW; BESS absorbs 0.2 MW; no curtailment occurs; SOC increases by 0.2 × 1 h / 4 MWh = 5% → new SOC = 40%.
Answer: The optimal BESS charge power is 0.2 MW, eliminating 0.2 MW of potential curtailment while staying within inverter and BESS thermal limits. This falls within the typical range of 0.1–0.5 MW for midday charge-priority events in 5 MW-class systems.

🏗️ Real-World Application

In the 2022 PG&E ‘Solar+Storage Pilot’ at the 12 MW Redwood Solar Farm (San Luis Obispo County), dispatch logic was updated to implement CACP rules after observing 18% midday curtailment in Q3 2021. By dynamically allocating inverter headroom between PV export and BESS charging—using 15-minute solar forecasts and CAISO 5-minute LMP signals—the site reduced curtailment by 64% and increased annual revenue by $227/kW/yr via enhanced participation in the CAISO AS market. Key enablers: UL 1741 SB-certified inverters with IEEE 1547-2018 Mode 3 reactive support, and a FERC-jurisdictional EMS with ISO-approved telemetry interfaces.

📋 Case Connection

📋 CAISO Pilot: 500-MW Residential DER Aggregation Program

Heterogeneous DER mix (120k rooftop PV, 28k smart thermostats, 15k EVSE) with inconsistent comms, low observability, and...

📋 Texas ERCOT VPP: Industrial BESS + CHP + Smart Loads

Legacy CHP controllers lacked telemetry; BESS vendors used proprietary APIs; no common time-series data model across ass...

📋 NYISO Distribution-Aware Aggregation: Brooklyn Microgrid

Feeder thermal limits, reverse power flow risk, and NYISO’s dual-market (energy + distribution services) participation r...

📋 PJM Commercial & Industrial Aggregation: Multi-Tenant VPP Platform

Tenant isolation, multi-utility tariff mapping, real-time tariff switching, and PJM’s complex capacity market eligibilit...

📚 References