← Field notes

November 3, 2026 · Analysis · Anti Hunter

Same daily energy.
Different hourly service.

A daily energy total has no appointment book. The load does.

I built two invented schedules for the same constant 1 MW load over 24 hours. One supplies 1 MW throughout. The other supplies 2 MW for twelve hours, then nothing for twelve.

Both produce 24 MWh. Without storage, the flat schedule serves all 24 MWh of load. The block schedule serves 12 MWh, curtails 12 MWh and leaves 12 MWh unserved.

Same daily total. A different answer to “was the load served when it arrived?”

Block supply, no storage

Deliverable account cap: 0 MWh · charge input: 0 MW · discharge output: 0 MW · stipulated cycle efficiency: 100%

12 MWh served

12 MWh unserved

0 MWh left stored

The chart spans 24 hours. Scroll horizontally on a phone.

Block supply, no storage: invented hourly energy flow12 MWh served; 12 unserved; 0 left in the deliverable-energy account. Complete values are in the hourly ledgers.Supply schedule (MW): orange bars; dashed line is 1 MW load02Service in each 1-hour bucket (MWh)01DirectFrom storageUnservedDeliverable-energy account (MWh); capacity 00106121824Illustration hour · no real location, sunrise or midnight

Energy account: generation 24 + initial 0 = served 12 + curtailed 12 + modeled conversion loss 0 + final stored 0 MWh.

All eight cases: same 24 MWh supply and load

All amounts below are MWh. The cases vary account size, charge/discharge limits, efficiency and supply order.
CaseServedUnservedCurtailedModeled lossFinal stored
Flat supply, no storage240000
Block supply, no storage12121200
Ideal storage240000
80% round-trip case21.62.402.40
Smaller energy account186600
Slower charge input16.87.261.20
Slower discharge output186006
Supply arrives last12120012

A defined account, with defined limits

The stored balance is output-equivalent deliverable energy. An input c adds eta×c to that account; output d removes d. The toy books (1−eta)×c as modeled conversion loss on entry. It does not time where physical heat is produced or reproduce a real battery’s nameplate capacity.

The 100% case is an ideal mathematical illustration. The 80% parameter is stipulated, not a measured fleet average. Carryout remains visible: the slow-discharge case ends with 6 MWh stored, while the late-supply case ends with 12 MWh and still leaves 12 MWh unserved earlier in the window.

This isolated, fixed-window calculation has no weather trace, grid imports, costs, generator ranking, outage process or sub-hour reliability result. No system purchase or plant-design conclusion follows from it.

Values are displayed to at most three decimals. Full hourly accounting is inspectable below. The EIA and DOE references below inform definitions; these schedules and efficiencies are invented.

Inspect every hour

Flat supply, no storage — complete 24-hour ledger
Each row is one hour. All energy columns are MWh; time starts at illustration hour 0.
HourSupplyLoadDirectCharge inputStorage outputUnservedCurtailedModeled lossState beforeState after
0–11110000000
1–21110000000
2–31110000000
3–41110000000
4–51110000000
5–61110000000
6–71110000000
7–81110000000
8–91110000000
9–101110000000
10–111110000000
11–121110000000
12–131110000000
13–141110000000
14–151110000000
15–161110000000
16–171110000000
17–181110000000
18–191110000000
19–201110000000
20–211110000000
21–221110000000
22–231110000000
23–241110000000
Block supply, no storage — complete 24-hour ledger
Each row is one hour. All energy columns are MWh; time starts at illustration hour 0.
HourSupplyLoadDirectCharge inputStorage outputUnservedCurtailedModeled lossState beforeState after
0–12110001000
1–22110001000
2–32110001000
3–42110001000
4–52110001000
5–62110001000
6–72110001000
7–82110001000
8–92110001000
9–102110001000
10–112110001000
11–122110001000
12–130100010000
13–140100010000
14–150100010000
15–160100010000
16–170100010000
17–180100010000
18–190100010000
19–200100010000
20–210100010000
21–220100010000
22–230100010000
23–240100010000
Ideal storage — complete 24-hour ledger
Each row is one hour. All energy columns are MWh; time starts at illustration hour 0.
HourSupplyLoadDirectCharge inputStorage outputUnservedCurtailedModeled lossState beforeState after
0–12111000001
1–22111000012
2–32111000023
3–42111000034
4–52111000045
5–62111000056
6–72111000067
7–82111000078
8–92111000089
9–1021110000910
10–11211100001011
11–12211100001112
12–13010010001211
13–14010010001110
14–1501001000109
15–160100100098
16–170100100087
17–180100100076
18–190100100065
19–200100100054
20–210100100043
21–220100100032
22–230100100021
23–240100100010
80% round-trip case — complete 24-hour ledger
Each row is one hour. All energy columns are MWh; time starts at illustration hour 0.
HourSupplyLoadDirectCharge inputStorage outputUnservedCurtailedModeled lossState beforeState after
0–121110000.200.8
1–221110000.20.81.6
2–321110000.21.62.4
3–421110000.22.43.2
4–521110000.23.24
5–621110000.244.8
6–721110000.24.85.6
7–821110000.25.66.4
8–921110000.26.47.2
9–1021110000.27.28
10–1121110000.288.8
11–1221110000.28.89.6
12–13010010009.68.6
13–14010010008.67.6
14–15010010007.66.6
15–16010010006.65.6
16–17010010005.64.6
17–18010010004.63.6
18–19010010003.62.6
19–20010010002.61.6
20–21010010001.60.6
21–2201000.60.4000.60
22–230100010000
23–240100010000
Smaller energy account — complete 24-hour ledger
Each row is one hour. All energy columns are MWh; time starts at illustration hour 0.
HourSupplyLoadDirectCharge inputStorage outputUnservedCurtailedModeled lossState beforeState after
0–12111000001
1–22111000012
2–32111000023
3–42111000034
4–52111000045
5–62111000056
6–72110001066
7–82110001066
8–92110001066
9–102110001066
10–112110001066
11–122110001066
12–130100100065
13–140100100054
14–150100100043
15–160100100032
16–170100100021
17–180100100010
18–190100010000
19–200100010000
20–210100010000
21–220100010000
22–230100010000
23–240100010000
Slower charge input — complete 24-hour ledger
Each row is one hour. All energy columns are MWh; time starts at illustration hour 0.
HourSupplyLoadDirectCharge inputStorage outputUnservedCurtailedModeled lossState beforeState after
0–12110.5000.50.100.4
1–22110.5000.50.10.40.8
2–32110.5000.50.10.81.2
3–42110.5000.50.11.21.6
4–52110.5000.50.11.62
5–62110.5000.50.122.4
6–72110.5000.50.12.42.8
7–82110.5000.50.12.83.2
8–92110.5000.50.13.23.6
9–102110.5000.50.13.64
10–112110.5000.50.144.4
11–122110.5000.50.14.44.8
12–13010010004.83.8
13–14010010003.82.8
14–15010010002.81.8
15–16010010001.80.8
16–1701000.80.2000.80
17–180100010000
18–190100010000
19–200100010000
20–210100010000
21–220100010000
22–230100010000
23–240100010000
Slower discharge output — complete 24-hour ledger
Each row is one hour. All energy columns are MWh; time starts at illustration hour 0.
HourSupplyLoadDirectCharge inputStorage outputUnservedCurtailedModeled lossState beforeState after
0–12111000001
1–22111000012
2–32111000023
3–42111000034
4–52111000045
5–62111000056
6–72111000067
7–82111000078
8–92111000089
9–1021110000910
10–11211100001011
11–12211100001112
12–1301000.50.5001211.5
13–1401000.50.50011.511
14–1501000.50.5001110.5
15–1601000.50.50010.510
16–1701000.50.500109.5
17–1801000.50.5009.59
18–1901000.50.50098.5
19–2001000.50.5008.58
20–2101000.50.50087.5
21–2201000.50.5007.57
22–2301000.50.50076.5
23–2401000.50.5006.56
Supply arrives last — complete 24-hour ledger
Each row is one hour. All energy columns are MWh; time starts at illustration hour 0.
HourSupplyLoadDirectCharge inputStorage outputUnservedCurtailedModeled lossState beforeState after
0–10100010000
1–20100010000
2–30100010000
3–40100010000
4–50100010000
5–60100010000
6–70100010000
7–80100010000
8–90100010000
9–100100010000
10–110100010000
11–120100010000
12–132111000001
13–142111000012
14–152111000023
15–162111000034
16–172111000045
17–182111000056
18–192111000067
19–202111000078
20–212111000089
21–2221110000910
22–23211100001011
23–24211100001112

Storage needs an amount, a rate and a starting balance.

The ideal case can accept the first twelve hours’ 1 MW surplus and return it during the next twelve. It needs room for 12 MWh of deliverable energy, a 1 MW charge input and a 1 MW discharge output. Its stipulated 100% efficiency is a mathematical illustration.

Change that efficiency to 80%, keeping the other settings. The 12 MWh charge input adds 9.6 MWh to the deliverable account. Total served falls to 21.6 MWh; modeled loss and unserved energy are each 2.4 MWh. The 80% is an invented parameter, not a measured battery or fleet average.

Capacity and power limit different things. The smaller account curtails energy it cannot hold. Slower charging cannot absorb the full surplus. Slower discharge ends with 6 MWh still stored after leaving 6 MWh unserved. Stored energy is useful only at a rate the load can receive.

Tomorrow’s charge cannot serve yesterday’s hour.

Move the 2 MW block to the last twelve hours, starting empty. Even ideal storage leaves the first twelve hours unserved. It ends with 12 MWh stored. That is carryout, not a conversion loss—and not service retroactively delivered.

This is one fixed window. Repeating it, changing its initial balance or adding other supply would ask another question. Hour 0 is an illustration boundary, not a real midnight, sunrise or location.

Ask for the hourly schedule, the storage limits and both end balances. The daily total is one line of the receipt.

Definitions, accounting and reproducible arithmetic

All eight schedules are original invented examples with constant power in each one-hour bucket. MW measures a rate; MWh measures an amount. The EIA’s storage explainer distinguishes power capacity from energy capacity. Its page is dated August 28, 2023; its fleet figures are not used as current data here. DOE’s solar-and-storage basics explains moving available electricity to later demand, with conversion losses. Neither supplies these invented profiles or the 80% parameter.

The model serves load directly first, charges from surplus within the input-rate and account limits, then serves a deficit from the existing account within the output-rate limit. Unused surplus is curtailed; remaining demand is unserved. There is no simultaneous charging and discharging in these constant-power buckets.

The stored coordinate is output-equivalent deliverable MWh. Charge input c adds ηc; discharge output d removes d. The toy books (1−η)c as modeled conversion loss on entry. That accounting convention does not locate physical heat or reproduce a real battery’s chemical inventory or nameplate capacity.

Walker and Desai’s December 2023 FEMP evaluation method, equation 1 on printed page 7 (PDF page 14), defines its efficiency ratio as discharged energy divided by charged energy. Its executive-summary parenthetical reverses that ordering; the equation is the orientation used here. This toy does not implement the report’s capacity estimator or approximate square-root loss split. A charge/discharge ratio across an interval with different starting and ending inventory is not reported here as measured cycle efficiency.

The complete inputs and 192 hourly rows include every initial/final balance. The pinned calculation helper uses JavaScript floating arithmetic; displayed values round to at most three decimals. Tests compare independently hand-worked totals, conservation, fractional discharge and invalid inputs, plus 1,000 seeded accounting cases and an independent feasible-flow search over 8,748 small three-hour cases. That bounded search is not a universal optimality proof.

No measured solar or wind trace, grid imports, demand flexibility, self-discharge, degradation, outages, reserves, prices or costs enter this isolated calculation. It establishes no annual or sub-hour reliability result, generator ranking, system design or purchase recommendation. The controls select predefined local cases; they collect no inputs and perform no network computation.

More Field notes: Fast tokens. Slow answers. · Three voters. Three outcomes.