---
title: "New pressure model"
weight: 5
description: "Why your MV-Plan plans are slightly longer than before: move to real physical pressure, measured effect on the stops, and what to do with your saved plans."
source_hash: 5cb0d353f212
---

# New pressure model

MV-Plan has changed the way it turns a depth into a pressure. That is the heart
of the decompression calculation: this conversion decides how much nitrogen your
tissues take up, and therefore how long your stops last.

**Direct consequence: your plans are slightly longer than before.** A plan
computed with the old model no longer recomputes identically. The change always
goes the same way, the cautious one: over the 296 reference profiles of the
project, **not one plan came out shorter**.

## Am I on the old or the new model?

The version number does not answer that, because the two models lived under the
same number. The setting to look at, on the other hand, shows at once: open
**Settings**, **Environment** section, and unfold the **Water type** list.

- **Old model**: the list offers two entries only, *Salt water* and *Fresh
  water*, with no density, and nothing is shown under the selector.
- **New model**: the list offers five entries with their density, *Fresh water
  (10000 g/l)*, *Brackish water (10150 g/l)*, *Salt water (10300 g/l)*, *Red Sea
  (10400 g/l)* and *Custom density*, and a line such as `10300 g/l - 9.90 m/bar`
  appears just below.

This page is meant to be read once. If you have no saved plan, just remember
that the calculation is now closer to real physics, and move on.

## What changed

Until now, MV-Plan used a convenient but approximate scale, inherited from the
original MVPlan:

- pressure at the surface was exactly 1 bar;
- 10 m of water were exactly 1 bar, whatever the water.

MV-Plan now uses the real physical values, the same as Subsurface:

- pressure at the surface at sea level is **1.01325 bar** (one standard
  atmosphere);
- 1 m of sea water weighs **0.101043 bar**, that is 9.90 m of water per bar;
- 1 m of fresh water weighs **0.098100 bar**, that is 10.19 m of water per bar.

## What it does to pressure

In salt water, at sea level:

| Depth | Pressure before | Pressure now | Gap |
|---|---|---|---|
| 10 m | 2.00000 bar | 2.02368 bar | +1.18 % |
| 20 m | 3.00000 bar | 3.03411 bar | +1.14 % |
| 30 m | 4.00000 bar | 4.04454 bar | +1.11 % |
| 40 m | 5.00000 bar | 5.05497 bar | +1.10 % |
| 60 m | 7.00000 bar | 7.07583 bar | +1.08 % |

Roughly 1.1 % of pressure was missing on the bottom, always on the least
conservative side. Put another way: at 30 m, the old calculation decompressed a
diver who would have stayed **44 cm higher**; at 60 m, 75 cm higher; at 100 m,
1.16 m higher.

The surface counts too. At 1.01325 bar instead of 1 bar, you enter the water
with tissues already slightly more loaded: **0.7509 bar of dissolved nitrogen at
the start against 0.7405 bar** in the old model. That is why the change shows
even on short and shallow dives.

## What it does to your stops

The measurement is made on the **296 reference profiles of the repository**, the
ones the project replays on every `npm run test`: they live in
`tests/scenarios/`, their expected results were regenerated during this change,
and anyone can therefore compare the old and the new plan profile by profile.
Over those 296 profiles, **the schedule of stops changes on 294 of them and no
plan comes out shorter**.

Four common dives, computed with both models on air, in salt water at sea level,
GF 30/85 and with the rates shipped by default:

| Dive | Stops before | Stops now | TTS |
|---|---|---|---|
| 30 m / 45 min | 15/1 12/1 9/5 6/10 3/23 | 15/1 12/1 9/5 6/**11** 3/23 | 47 -> 48 min |
| 40 m / 25 min | 18/1 15/1 12/1 9/3 6/6 3/16 | 18/1 15/1 12/1 9/3 6/6 3/**17** | 37 -> 38 min |
| 35 m / 60 min | 18/1 15/5 12/8 9/15 6/26 3/49 | 18/**4** 15/**4** 12/**9** 9/15 6/**27** 3/**51** | 112 -> 118 min |
| 50 m / 45 min | 27/1 24/1 21/3 18/5 15/7 12/13 9/19 6/36 3/68 | 27/**2** 24/**2** 21/3 18/5 15/**8** 12/13 9/**21** 6/**37** 3/**70** | 165 -> 173 min |

How to read it: `6/10` means a 10 minute stop at 6 m.

Those 296 profiles run from recreational diving to deep trimix on a rebreather:

| Figure | Measured value |
|---|---|
| Plans whose schedule of stops changes | 294 / 296 |
| Plans whose runtime goes up | 181 / 296 |
| Plans whose runtime goes down | **0 / 296** |
| Plans whose runtime does not move | 115 / 296 |
| Mean increase, over all 296 | +1.13 min |
| Largest increase | +8.70 min (trimix rebreather, 115 m) |

**180 plans out of 296 gain at least a minute of runtime.** Long deep dives move
the most; short shallow dives often keep the same runtime, even when a minute of
stop shifts from one depth to another.

## One gas switch depth has moved

The maximum operating depth (MOD) is computed from pressure: it therefore moves
too. In salt water, at sea level:

| Mix | ppO2 max | MOD before | MOD now |
|---|---|---|---|
| Pure oxygen | 1.6 bar | 6 m | 6 m |
| EAN50 | 1.6 bar | 22 m | **21 m** |
| Air | 1.4 bar | 56 m | 56 m |

EAN50 is now taken at 21 m, which is both the physically right value and the
conventional depth of the "21 m gas". Pure oxygen stays at 6 m and air at 56 m.

## What to do with your saved plans

Your saved plans have not been touched and remain readable. Two things to know
before reopening them.

**The runtime shown in the list of saved plans is the one frozen when you
saved**: it is not recomputed, so it no longer necessarily matches what MV-Plan
would compute today for the same dive.

**A saved plan now carries its environment**, that is the water type and the
altitude it was computed for. The plans you saved before this change carry none:
they are read back as computed **at sea level, in salt water**, and certainly
not with the environment shown in your settings today. This is deliberate:
applying the current setting to a wreck plan saved at sea would give a wrong plan
if your screen has been left on an altitude lake.

What to do, plan by plan:

1. Open the [Saved plans](/mvplan/plans-favoris) page and load the plan.
2. Check the **Environment** line: it is the one of the plan, not necessarily
   the one of your settings today. If MV-Plan warns that the plan on screen was
   computed for another water type or another altitude, it has to be computed
   again before being used.
3. Run **Calculate Decompression** again. Loading a plan deliberately clears the
   old result: nothing shows until you have recomputed, and what you see then is
   always today's calculation.
4. Compare with the old runtime and save it again if the plan is a reference for
   you: the plan saved again will then carry its environment.

If a plan serves as teaching material or as a printed safety sheet, produce the
PDF again: a sheet printed before this change announces stops shorter than the
ones MV-Plan computes today. Exports now carry an **Environment** line, so that
a printed sheet says which water and which altitude it was computed for.

## What did not change

- The algorithm is still Buhlmann ZHL-16C (or ZHL-16B), with your gradient
  factors.
- Your mixes, your cylinders, your GF presets, your rates and all your settings
  are kept as they are.
- Rebreather mode, bailout, gas consumption and the alerts work as before.

## Going further

Since pressure now really depends on the water you dive in, water type has
become a setting that matters: see
[Water type and salinity](/mvplan/eau-et-salinite).
