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 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.