Storage Value Calculator

as of
storage years
paths each
tariff

This runs on Henry Hub and one filed US pipeline tariff, because those are public. A different hub, your own forward marks, your facility’s own rate sheet, or a contract structure this does not cover — that is the work, and it starts with a conversation. [email protected]

What this is

What a seasonal gas storage year is worth once the tariff is charged and the fill mandate is enforced. Least-squares Monte Carlo on observed NG forward curves, solved in this page — no server, and nothing leaves your browser.

Fuel — taken in gas

A percentage of the gas, not a cash fee, so its cost moves with the price. It takes more out of the spread exactly when the winter leg is worth most.

%
%

Cash fees

Fixed per unit moved, so they subtract a constant from the spread whatever the price does. NGPL’s storage tariff charges neither — the whole variable cost of moving gas there is the fuel above.

$/MMBtu
$/MMBtu
$/mo

Facility

Working capacity turns a per-unit answer into a number you would recognise as yours. It changes nothing else — the whole problem is linear in size, so the schedule and the per-unit value are identical at any capacity.

Bcf

Share of working capacity per month. NGPL’s NSS gives 14% in and 28% out, from an injection right of half the daily maximum and a withdrawal right of all of it. The times beneath each rate honour the tiers below, so they are longer than 1/rate.

%/mo

%/mo

Neither rate is constant in a real reservoir — pressure sets them. NSS injects at a third less above 67% full, and withdraws a third slower below half empty. A mandate at 85% has to cross the injection break.

% full
%/mo
% full
%/mo
Cycle lengthmonths

Fill mandate

Not a fee — a constraint. France requires 85% by 31 October, and it removes exactly the flexibility the option value comes from. The deadline here is a period index, because which month October is depends on when the storage year opens. Pull it below 8 at an 85% fill and every answer becomes a dash: at the tariff's tiered rates a reservoir needs seven months to reach 85% from empty, so from an inception that late no admissible schedule exists at all. That is the mandate's first cost and it appears in no fee table.

%
index

The price level

Scale every curve so the selected year averages what you type, holding its shape fixed. Fuel is charged in gas, so its share of value is the same at any level; the rent is fixed in dollars, so its share falls like 1/price. Which cost matters most is therefore a function of where gas trades, not of the facility.

$/MMBtu

Your own curve

Twelve monthly forwards, one per line or comma separated, nearest month first. It is added to the list above and valued on its own — the headline then describes that year rather than the sample.

Presets

The two US presets are filed tariff rates. The two French ones are auction prints in EUR/MWh, converted here at 3.412 MMBtu/MWh (exact) and EURUSD 1.16523 (a market price, 27 Aug 2026 — it ages). They are charged against a Henry Hub curve, so they answer “what would this rent cost a US operator”, not what a French storage year is worth.

Every setting lives in the link, so a configuration travels as a URL — bookmark it, or send it to whoever asked. Nothing is sent anywhere to make that work: the valuation runs in your browser and this page makes no network request of its own. Your last settings are kept in this browser’s local storage so the page reopens where you left it, and opening someone else’s link replaces them.

Intrinsic
fixed schedule
Spot-optimal
with flexibility
Extrinsic
what the option adds

The plan the curve implies

One storage year at a time: the forward curve as it actually stood, the schedule the intrinsic solver picks against it, and where the gas sits. Buy the summer, sell the winter — and watch the shape change when the rates or the mandate stop allowing it.

Month by month

The same plan as the bars above, written out. Cash is per MMBtu of working capacity: negative when gas is bought into the ground, positive when it is sold out of it.

DeliveryForwardActionVolume InventoryCash

Where the value sits

Three different kinds of number, and the order matters. Intrinsic you can lock today by selling the forwards — it is a quote, not a forecast. Spot-optimal is a model output: what the reservoir earns if it re-optimises against spot, valued by least-squares Monte Carlo on simulated paths. Extrinsic is their difference, so it inherits the model — and it can exceed the total whenever the schedule alone is worth less than nothing.

intrinsic extrinsic lost to costs and the mandate
$/MMBtu of capacitygrossas settaken

Sensitivity

Extrinsic value against the setting you last changed.

Every storage year in the archive

Each bar is one storage year valued on its own forward curve at these settings; the selected year is filled. Feasibility under a fill mandate is a property of the reservoir and the deadline, not of the price curve, so it is all thirty years or none — unlike the Python reports, which vary the inception month and find only some of them contractable.