A conventional account divides total fuel-carbon by gross generated energy. That folds in auxiliary draw, charging loss, and dumped diesel — so a system can lower its reported intensity by producing more non-useful energy. The Cooper (2026) framework corrects three structural errors so the number is conservation-grade and decision-useful:
1 · Useful-energy denominator (Axiom 4.2). Only useful delivered production kWh enters the denominator — auxiliary load, charging draw, storage loss, and load-bank dump are excluded, so overproduction can't dilute the figure.
2 · Storage as a coupled (Esoc, Csoc) state with import/export (Thm 4.2, Eq. 9–10). The battery isn't zero-emission or a fixed factor. Charging mixes its stored intensity β toward the loss-adjusted bus mix γchg/a; discharge changes the amount stored but leaves β invariant. The packs arrive part-charged — that imported energy carries the carbon of where it was charged (here, the oil-heavy Oahu grid), so it's debited to the window that uses it; whatever charge is left at the end is deferred (exported in time) to the next deployment. The stock correction −[CB(T)−CB(0)] makes this time-shift sign-honest in both directions (Cor. 4.2–4.3).
3 · Dump ≠ curtailment. Diesel burned to a load bank is emitted carbon for zero output — penalised in full. Curtailed solar emitted nothing, so it's an opportunity cost, not a fossil burden, and is never charged to the account.
Within one production the denominator cancels, so a comparison of supply architectures (your build vs. the diesel embodiment) is invariant to the useful-load classification. Operational fossil carbon only; embodied/lifecycle carbon is out of scope by design.
Every 15 minutes the controller serves the load solar → grid → generator → battery, then charges the pack from solar surplus → grid → generator. The battery is usable 1% → 99%: it can discharge down to 1% in a pinch, charging/generator auto-start kicks in at 20%, grid + generator recharge to 90%, and excess solar is always soaked up to 99%. Charge power is full inside the 20–90% band and halved outside it (e.g. 30 kW → 15 kW per RPS150, scaled for the RPS1200). Once running, the generator targets its peak-efficiency band (~85% of rated), charging the battery with whatever it isn't serving to the load — but it scales back so it never curtails solar (solar charges first), never exceeds what the battery can still soak, and never makes kWh that can't be used. It stays on until the load is covered and the pack is back to 90%.
Drag DCA70 / SG1400 gensets, RPS150 / RPS1200 batteries, SGA-60 solar, and a grid tie onto the canvas — they snap to the grid and won't stack. Press Play to step through the deployment: each connector animates its live power with directional arrows, node badges read instantaneous kW / SOC, and a cursor with a tooltip sweeps the chart. Speed is a time-lapse rate; Zoom sets the chart window 6 h → full.
Click-hold and draw the 24-hour demand curve. Below it, paint charging windows for up to three Level-2 EV chargers (40 A ≈ 9.6 kW each); the EV draw stacks onto the load.
The diesel-only baseline runs the same load on gensets alone (default SG1400 auto-sized to peak; swappable / manual count). The comparison only appears once both the microgrid and the baseline serve 100% of the load — otherwise it isn't apples-to-apples.
Diesel 22.4 lb CO₂/gal; grid 1.49 lb CO₂/kWh (eGRID HIOA). Operational emissions only.