Storage Value Calculator

as of
—
storage years
—
paths each
—
tariff:

This runs on a simulated European curve and one filed US pipeline tariff, because neither carries a licence a reader has to take on trust. 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]

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

Two kinds of charge, and only the first two are per unit moved: those subtract a constant from the spread whatever the price does, and NGPL’s storage tariff charges neither — the whole variable cost of moving gas there is the fuel above. Capacity is a rent, charged whether or not a molecule moves, and it sits here rather than under Transport only because it is the storage operator’s rather than the pipeline’s. Like any rent it cannot touch the flexibility figure at all.

€/MWh
€/MWh
€/MWh per month

Transport — entry and exit

A storage user books exit capacity to push gas into the facility and entry capacity to bring it back out, and in Europe both are booked in the same unit the rates below are quoted in — so no assumed denominator is needed, unlike a US pipeline’s per-day MDQ. It is charged whether or not a molecule moves, which is why it is here and not among the cash fees: it is a rent, and a rent cannot change the option value. Watch the flexibility figure while you switch networks — it does not move, and that is arithmetic rather than a coincidence.

€/(kWh/h) per year
€/(kWh/h) per year
× a quarter of the year

Facility

Working capacity turns a per-unit answer into a number you would recognise as yours. It is also not only a display: the rates below are quoted as power, the European way, so the same compressor against a bigger cavern fills it more slowly — change it and the schedule changes with it, not just the size of the answer. European facilities are quoted in GWh of working gas: a single EDF Gas Deutschland bundle is 20.19 GWh, and a whole site runs into the thousands.

Quoted as power, in MWh per hour, which is how a European Standard Bundled Unit is sold: a working gas volume with an injection and a withdrawal right against it. OMV Gas Storage sold 1,000 GWh at 350 / 465 MWh/h for storage year 2026; EDF Gas Deutschland sells a 20.19 GWh bundle at 22.5 / 39.375. The ratio of volume to power is the product. Each line states what the power implies as a share of working gas, which is the form the model uses and the form a US tariff is filed in — NGPL’s NSS gives 14% in and 28% out. The times honour the tiers below, so they are longer than 1/rate.

MWh/h

MWh/h

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
MWh/h
% full
MWh/h
Cycle length—months
Volume grid—nodes

Fill mandate

Not a fee — a constraint. The EU obligation is 85% of a shipper’s booked capacity by 1 November, and it removes exactly the flexibility the option value comes from. The deadline here is a period index, because which month 1 November falls in 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

Hub

Both hubs are the SAME simulated deck: ZTP is TTF times one published-looking constant, and that is nearer the truth than a second invented history would be — ZTP derivatives trade at about 1.6% of TTF’s volume, so a far-dated ZTP curve is largely re-derived TTF in the real market too. Switching multiplies the curve by that constant — and watch what it does not do uniformly: the two levels move by less, because the charges are fixed in cash and do not scale with the price, while the flexibility figure moves by exactly the constant, because those same charges cancel in a difference. The same rent identity as everywhere else here, and free to check by eye.

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 cash, so its share falls like 1/price. Which cost matters most is therefore a function of where gas trades, not of the facility.

€/MWh

Your own curve

Twelve forwards, one per delivery month, in €/MWh. Paste a row or a column — commas, spaces, tabs and line breaks all separate. It replaces the storage year above, and everything on this page is then about your numbers: the headline, the schedule, the month-by-month plan and the sensitivity sweep. You can also edit any Forward cell in the table below and the other eleven come with it.

Your marks are a view of the market you may have paid for, so this page treats them as yours: they are not written into the shareable link and not kept in this browser. They live in this tab until you clear it or reload. An account is what gives them somewhere to live.

Presets

Currency

The deck is simulated at a European price level, so the numbers here sit where a European reader expects — but the SHAPE under them is Henry Hub’s, as the notice at the top of the page says. This rate converts the display and nothing else: it is a market price, it ages, and it is yours to set. Change it and every figure follows, while the valuation the service performs does not move at all — the request and the deck both stay in the deck’s own units, which is why this box never reaches the server.

USD per EUR

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

The plan the curve implies

One storage year at a time: the simulated curve for that month, 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.

The European storage year runs 1 April to 1 April, and every operator on PRISMA auctions to it — OMV, VNG and Storengy all ran their SY2026 products on those dates.

Month by month

The same plan as the bars above, written out. Cash is per MWh 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
€/MWh of capacitygrossas settaken

Sensitivity

Extrinsic value against the setting you last changed.

Every storage year in the deck

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 every year in the deck or none — unlike the Python reports, which vary the inception month and find only some of them contractable.