Meta’s technical report on training Llama 3 contains the sentence every data-center power meeting should start from: tens of thousands of GPUs “may increase or decrease power consumption at the same time,” waiting on a checkpoint or a collective communication, and when they do “it can result in instant fluctuations of power consumption across the data center on the order of tens of megawatts, stretching the limits of the power grid.”
Meta gives no measured megawatts, no waveform, no ramp rate, and binds the swing to no GPU count — it is an operator’s remark about a limit they ran into. Now look at how the battery meant to help gets specified: 20 MW, four hours. A power ceiling and an energy total. Neither says how fast that power may change, how often, or how soon the plant can do it again — and the change is what an AI campus hands you.
For a visual companion, explore the interactive ERCOT FFR Dispatch Timeline diagram on BESS.Engineer.
What the sizing sheet already covers
Power and energy are the easy part, and they are covered end to end in BESS sizing: power, energy, degradation and augmentation, where I also computed the overbuild multiplier. Assume that is done correctly. The battery also has to live alongside a UPS and a generator fleet, and which layer owns which failure is its own argument. What follows is only the part an AI load adds.
The load is a design variable before the battery is
Ask first how much of the swing the compute side will remove, because the cheapest megawatt of ramp is the one that never leaves the rack. Meta runs an always-on software smoother that launches dummy kernels during power dips — nearly 800 W per GB200 accelerator of deliberately wasted work — for under 3% impact on application performance. NVIDIA has moved energy storage into the power shelf: electrolytic capacitors taking about half the PSU volume, 65 joules per GPU, which on an instrumented GB200 rack cut the peak power the grid saw by up to 30% while training Megatron.
Silicon cannot take it all, though. Microsoft, OpenAI and NVIDIA report that holding GPU power to a floor of 90% of rated costs an extra 10.5% of total energy in simulation, and — the number that decides your sizing — that the GB200 feature set still leaves at least 20% of rated power as uncontrolled dynamic range. A utility asking for a 10 MW dynamic range on a 100 MW job, they write, “cannot be met with GPU power smoothing today.”
So the battery is sized against the residual swing, which makes the achievable load-side limit a contractual item with the compute operator rather than only with the BESS vendor. I have yet to see that number in a term sheet, and it is the first one I would ask for.
Ramp is a rate, and rates have units
EPRI’s Energy Storage Integration Council test manual refuses to let “fast” stay an adjective. It defines response time as the interval from the control signal being sent to the system reaching 100% of rated power; system latency as the time to the first power change exceeding 1% of set point; rise time from that first movement to full power; and ramp rate as rated power divided by rise time, in MW per second, measured at the point of common coupling (the metered interface where your plant meets the network, and the point the contract settles against) and logged at 2 ms, because at anything slower the number you quote is your recorder’s.
Ramp rate is therefore an output, not a setting: you do not order 8 MW/s, you order a machine whose rise time delivers it, then measure it where the contract lives. The duty profile you hand a vendor has to be written as a rate.
There is no published, operator-attributed figure for how fast a whole AI campus goes from low load to rated. What the sources give instead is the shape. Microsoft, OpenAI and NVIDIA report that AI training power traces concentrate their spectral energy between 0.2 and 3 Hz, and that a typical utility specification names a critical frequency range with a cap on how much of the load’s spectral content may sit inside it — their illustrative example is 0.1 to 20 Hz, the sub-synchronous band well below the 50 or 60 Hz fundamental, which is a different quantity from the harmonic orders a distortion limit governs. They name no utility, so that range is best read as the form such a limit takes. A 2026 Stanford preprint puts the recurring transients at 100 ms to 10 s and notes that the range “overlaps with bulk power system oscillation modes, where grid infrastructure has limited damping and protection equipment is most sensitive.”
A greenfield campus cannot measure a load that does not exist yet, so here is a placeholder — offered as arithmetic, not as a measurement. Take the residual those same authors quantify, at least 20% of rated power left uncontrolled by GPU smoothing, and put it inside their own event window: on a 100 MW block, 20 MW arriving over something between 100 ms and 10 s. Carry that as an order of magnitude to be replaced by your own trace. What it settles immediately is the shape of the duty — an event that resolves inside ten seconds is answered by rate, not by hours of energy, so “four hours” was never the binding constraint.
The response chain, and the slowest link in it
PNNL’s tests of four utility-scale storage systems against the DOE protocol give two numbers that are easy to conflate. Measured response to full power came in at 2.5 to 5 seconds, on the systems whose state of charge allowed full power at all — one of the four could not be resolved at the 10-second logging rate available. Taken the other way, from the ramp rates the fleet actually achieved (10 to 50% of rated power per second), hardware response times work out at 2 to 10 seconds. At Puget Sound Energy’s Glacier site the LFP system managed 25 to 50%/s, a 2 to 4 second response — and that hardware figure only emerged after roughly five seconds of site-specific communications lag on the command path was taken out. The link between signal and silicon was slower than the hardware it measured.
Milliseconds are available, but only to a control loop that already holds the measurement locally. The Electranix test protocol recommended to ERCOT’s inverter-based-resource working group in July 2024 puts the pass criterion for a phase-angle step at active power reaching 90% of the initial change within 15 ms, with a rule that instantaneous power must not be filtered by more than 0.001 s because the peak is only briefly visible. It measures an inherent property of a voltage-source control inside a simulation model; the field figure for a commanded response is PNNL’s, above. Where a signal is involved the numbers move by orders of magnitude: in the dynamic-performance table MISO published while proposing to adopt IEEE 2800, primary-frequency-response reaction time defaults to 0.5 s, adjustable from 0.2 to 1 s, with the clock starting when frequency leaves the deadband rather than when the disturbance began. When MISO later proposed relaxing a 200 ms voltage-control reaction time to 250 ms, the reason given was that stakeholders had raised concerns about whether DC-coupled battery systems — where the battery shares a DC bus with another converter rather than having its own inverter — could achieve 200 ms.
Now put those against the load, using the rule any control engineer would apply: following a periodic signal takes a response time several times shorter than its period. The inverter itself is quick. A power conversion system — the station between the DC battery and the AC bus, whose central-or-string architecture also decides how much of the plant one conversion failure takes with it — moves in milliseconds when it acts on a quantity it measures at its own terminals. The chain is what is slow. Run the rule on a command path of the kind PNNL measured, two to ten seconds from message to rated power, and the reachable periods are tens of seconds: hundredths to tenths of a hertz. The 0.2–3 Hz band the load occupies sits an order of magnitude beyond that, so a dispatch link never reaches it.
Three paths do. A design has to choose among them explicitly: autonomous local control acting on what it measures at the terminals; the capacitors and rack-level buffers on the compute side; or — the one I would push hardest for, because this load is scheduled — feed-forward, where the orchestrator announces the checkpoint or the all-reduce before it happens and the plant is already moving when the step arrives. Feed-forward has one specifiable condition, and it is the number to negotiate with the compute operator: the announcement has to lead the step by more than the measured end-to-end latency of the path carrying it.
Shallow reversals, and what they cost
A battery smoothing this load is not doing one cycle a day, and the C-rate arithmetic follows the duty rather than setting it. The duty fixes the power, from the swing magnitude, and the number of reversals, from its frequency. C-rate is then just the power-to-energy ratio you bought: a 50 MW swing is a 1C duty on a 50 MWh block and 0.25C on 200 MWh, which is why buying energy is the standard way to make a high-power duty gentle — at the cost of energy you may never cycle. Mainstream products sit in that gentle band; the Megapack 2 XL datasheet REV 1.5.1 of February 2023 offers 1,927 kW / 3,854 kWh in a two-hour configuration or 979 kW / 3,916 kWh in a four-hour. A 2025 Scientific Reports modelling study of frequency-regulation duty, by contrast, takes 2–4C as its full-load assumption. Before paying for either extreme, price the split: a small high-power asset for the fast band alongside an energy block for the minutes.
On depth, the peer-reviewed evidence is narrower than it is usually quoted. Sandia’s cycling study — 1.1 Ah cylindrical cells, not the 300-odd amp-hour prismatic cells in today’s containers, and it warns against porting a dependency between chemistries — found fade rate rising with depth of discharge, LFP’s 40–60% state-of-charge window outperforming both 20–80% and 0–100% at equal throughput, and rate sensitivity flat to 2C. Note the timescale: those shallow windows were half-cycles measured in minutes at 0.5C and 1C, so the study says nothing about sub-second reversals. How a high-frequency micro-cycling duty ages a cell, and how a warranty counts it into equivalent full cycles, is established in no public source I could find. Treat it as an open commercial question.
Then there is the number nobody will give you. The real envelope — continuous C-rate cap, cycles per year, throughput ceiling, temperature window, dwell limits — is a term of the long-term service agreement, and none is public. I have never been shown one before signature without asking twice. Ask against the duty you intend to run; the vendor’s example duty is theirs.
Reserve: room in one direction, charge in the other
NESO’s Response Services terms are the cleanest statement of the reserve problem I know. Dynamic Containment must begin delivering within 0.5 s, reach full delivery within 1 s, and sustain it for 15 minutes — and the reserve obligation is defined as a Minimum State of Energy Requirement: contracted MW multiplied by the sustain duration in hours. An energy volume, not a state-of-charge percentage. (Commercial terms, note — what a provider must deliver to be paid. Borrow the structure and leave the numbers.)
Applied to a two-sided duty, that arithmetic is additive. Take a site whose residual swing is 30 MW, to be both absorbed and covered for 15 minutes: 7.5 MWh of headroom and 7.5 MWh of charge, so 15 MWh of window that has to sit inside the operating band at all times. It parks the plant mid-band, and it takes that 15 MWh out of anything else you hoped the asset would earn. Every extra minute of sustain adds to both sides. Notice also what it does to the sizing sheet we started with: a 20 MW converter cannot absorb a 30 MW swing at any state of charge, so the power rating and the reserve have to be settled against the same duty, in the same conversation.
One mechanism worth specifying explicitly: where the auxiliary load is fed from. Take it from the grid through the station-service transformer and there is no state-of-charge drift, but the import lands on your efficiency and opex; self-supply it from the DC bus and the battery discharges itself while the plant exchanges nothing with the grid, eroding the reserve you just bought. On PNNL’s fleet the penalty was measurable either way: excluding auxiliaries moved measured round-trip efficiency by 2 percentage points on the 4.4 MWh LFP unit and by 12 on the high-power one, tracking its power-to-energy ratio and the C-rates it ran at. One vendor simply fenced the usable window at 7.5–92.5%.
Recovery: design for the second event
The word “duty” is hiding two problems with opposite thermal drivers. A continuous oscillation is a steady-state problem at the pack: cells have enough thermal mass that reversals at these frequencies never appear as temperature transients, so the RMS current sets the cooling duty — heating goes as I²R, so RMS is the figure to compute and the peak C-rate misleads. The conversion stage sees the same duty differently, because semiconductor junctions and DC-link capacitors do follow every reversal, which turns it into a power-cycling count on the inverter. Discrete tens-of-megawatt events minutes apart are the second problem, where peak rise and the cooling system’s recovery interval decide whether you can answer twice.
The magnitudes are worth having. Multi-scale modelling of a 100 Ah prismatic LFP cell puts a 4C discharge at roughly 20 K of temperature rise with a 5 K spread inside the cell and the hot spot near the positive tab; with microchannel liquid cooling at 3 L/min the same discharge lands near 5 K, uniformity under 2 K — why the industry moved to liquid cooling. The conversion side derates on ambient air rather than cell temperature: SMA’s Sunny Central Storage 3450 UP publishes 3,450 kVA at 25 °C, 3,140 kVA at 40 °C and 2,930 kVA at 50 °C at 1200 V DC and unity power factor, and warns that reactive-power dispatch extends the derating further. About 15% of apparent power gone across a 25 K rise, at the hour when the campus is hottest and the compute is busiest — derating at your site conditions is the only rating worth reading.
No manufacturer publishes a thermal recovery time or a cell-temperature derate threshold, so there is nothing to buy on paper. What you can buy is a witnessed test — an RMS-duty soak for the continuous case, and for the discrete case two design-magnitude events back to back at the site’s design ambient, the second held to the same ramp and duration as the first.
What to write into the specification
- Rate, with a direction. MW per second, charge and discharge, sustained for a stated number of seconds, guaranteed at a stated state of charge — derived from your load’s measured spectrum after load-side smoothing, against your connection agreement’s ramp limit, whichever is harder.
- The control path. Which quantity is measured and where, the end-to-end latency budget from event to first power change, and which functions run without waiting for a message.
- Repetition. Events per day, and the minimum interval between two back-to-back events that must both be met in full.
- Reserve as energy. Contracted MW × sustain hours, in each direction and additive, with the auxiliary supply path named.
- The boundary. Measured at the point of common coupling, with filtering, trigger and logging rate stated.
- Thermal truth. Design ambient, the derate curve there, and both witnessed tests as commissioning items.
- The envelope in writing. C-rate cap, throughput, temperature and dwell limits from the long-term service agreement, before signature.
Run your own numbers: the free BESS sizing calculator settles the power-and-energy foundation these questions sit on top of. It will not tell you the ramp — nothing will, until you have measured your own load.
FAQ
How is sizing a battery for a data center different from sizing one for backup? Backup sizing asks how long. An AI campus also asks how fast, how often, through what chain, and how soon again — ramp rate in MW per second, events per day, the latency between the event and the first watt of response, and how quickly the system is ready to repeat one.
What ramp rate should a data-center BESS be specified for? There is no published campus figure to copy. Derive it: take the load’s own measured power spectrum after whatever load-side smoothing the compute operator will commit to, compare it against the ramp limit your system operator writes into the connection agreement, and specify the harder of the two as MW per second, in both directions, at a stated state of charge.
Does a site BESS replace the UPS or the standby generators? No. The UPS owns the no-break instant, the generators own fuel-limited endurance, and the site battery owns the shape of the load in between. Substituting one for another changes which failure the site survives.
Turning a customer’s load trace into a duty a vendor can be held to gets a dedicated module in my Grid-Scale BESS: Complete Guide — including the warranty-envelope questions that decide whether the duty you specified is the duty you are allowed to run.