On this page

You have two oxygen datasets. One reports 4.6, the other 200. Both are describing similar seawater. The first is in mL/L, the second in µmol/kg, and the factor between them is not a constant — part of it depends on the temperature and salinity of the water.

Three concentration units are in common use in ocean data, plus a percentage that looks like a fourth unit but is a different quantity altogether. This guide gives the conversions, explains which one needs seawater density and why, and covers the mistake that costs the most: treating percent saturation as if it were a unit of concentration.

If your question is about the vertical structure of oxygen rather than its units, Where Is Oxygen Found in the Ocean? is the better starting point.

Volume Basis and Mass Basis

Every oxygen concentration is an amount of oxygen divided by an amount of seawater. The units differ in how they measure both halves.

Volume-based units divide by a litre of seawater. mL/L reports the volume that the dissolved oxygen would occupy as a gas at standard temperature and pressure. mg/L reports its mass. µmol/L reports the number of moles. These three convert into each other with fixed factors, because they differ only in how the oxygen is counted, not in how the seawater is measured.

Mass-based units divide by a kilogram of seawater. µmol/kg is the only one you will meet in practice.

That difference is the whole reason unit conversion in ocean data is not purely arithmetic.

Left: a diagram showing 4.6 mL/L, 6.57 mg/L, and 205.4 µmol/L as volume-based units connected by fixed factors, with an arrow labelled division by potential density leading to 200.4 µmol/kg on a mass basis. Right: a chart of equilibrium oxygen solubility falling with temperature, showing that a measured 200 µmol/kg is 65 percent saturated at 5 °C and 96 percent saturated at 25 °C

The Conversions

Within the volume basis, the factors are constants:

FromToMultiply by
mL/Lµmol/L44.6596
mg/Lµmol/L31.2512
mL/Lmg/L1.4290

The 44.6596 comes from the molar volume of oxygen gas at standard temperature and pressure, 22.3916 L/mol: one millilitre of gas per litre of seawater is 1000 ÷ 22.3916 micromoles. The 31.2512 comes from the molar mass of O₂, 31.9988 g/mol. Both are properties of oxygen and neither depends on the seawater.

Crossing to a mass basis does depend on the seawater:

O2 [µmol/kg] = O2 [µmol/L] / ((1000 + σ0) / 1000)

where σ0 is the potential density anomaly referenced to 0 dbar, in kg/m³, computed from the salinity and temperature of the sample. Argo’s oxygen processing documentation specifies this conversion for DOXY, and the same convention is used across the WOCE and GO-SHIP hydrographic record.

Why the Density Step Exists

Seawater density in the open ocean spans roughly σ0 of 22 to 28 kg/m³, so µmol/L and µmol/kg differ by about 2.2 to 2.8 percent. Two consequences follow.

The first is that you cannot ignore the step. A 2.5 percent offset is about 5 µmol/kg in oxygen-rich water, as large as or larger than the roughly 3 µmol/kg accuracy expected of adjusted Argo oxygen, so mixing the two units silently introduces an error of the same size as the signal you may be trying to detect.

The second is that you can often approximate it. Using a single representative density instead of computing it per sample changes the answer by well under one percent across the realistic range: 205.4 µmol/L converts to 201.0 µmol/kg at σ0 = 22 and 200.0 µmol/kg at σ0 = 27. For a quick sanity check against a figure in a paper, dividing by 1.025 is fine. For values you will analyse or publish, compute the density from the measured salinity and temperature — you already have them in the same profile.

Mass-based reporting had become the hydrographic standard by the WOCE era for exactly this reason: a mass of seawater does not change as the parcel moves to a different pressure, so µmol/kg is conserved along a water mass in a way that µmol/L is not.

Concentration Is Not Saturation

Percent saturation is the most common source of confusion, because it is often listed beside the concentration units as though it were one of them.

Concentration is how much oxygen is in the water. Saturation compares that concentration with the amount the water could hold at equilibrium with the atmosphere at 1 atm, given its temperature and salinity. Converting between them is not a unit conversion; it requires a solubility function, in practice the Garcia and Gordon fit that Argo and most oceanographic toolboxes implement.

The right-hand panel of the figure above shows why the distinction matters. A measured 200 µmol/kg is 96 percent saturated in 25 °C water, because warm water holds little oxygen. The same 200 µmol/kg in 5 °C water is only 65 percent saturated. Read as concentration, the two samples are identical; read as saturation, one is near equilibrium with the atmosphere and the other is strongly depleted.

Neither reading is more correct — they answer different questions. Concentration is what a biological process consumes. Saturation is what tells you whether the water has been ventilated recently. Reporting one and labelling it the other makes both unusable.

A third quantity, oxygen partial pressure, appears in sensor documentation and in some BGC processing chains. It is what an optode actually senses, before conversion to concentration. If a dataset gives you oxygen in mbar or hPa, that is what you are looking at, and it needs the same solubility machinery to become a concentration.

What Argo Uses

The official Argo unit for the DOXY variable is µmol/kg. That is a processing convention rather than a sensor output: Aanderaa optodes report in µmol/L and Sea-Bird sensors in mL/L, and the data assembly centres perform the conversion before the value reaches a profile file.

Two practical consequences follow. If you read DOXY from a GDAC file, the density conversion has already been applied and you should not apply it again. And if you compare Argo oxygen with a shipboard dataset, check the shipboard units before assuming they match — pre-WOCE hydrographic data is frequently archived in mL/L.

OceanGraph displays dissolved oxygen in µmol/kg, matching the Argo convention, and the subsurface oxygen maximum value reported for a profile uses the same unit. The details are in the App Guide’s Subsurface Oxygen Maximum (SOM) page.

Checking Which Unit a Dataset Is In

When the header is ambiguous, the value range usually settles it. For open-ocean seawater:

UnitTypical open-ocean range
µmol/kg0–350
µmol/L0–360
mL/L0–8
mg/L0–11.5

The awkward case is µmol/kg against µmol/L, which overlap almost entirely. Nothing in the numbers separates them; only the metadata does. If a file gives µmol without saying per kilogram or per litre, treat that as unresolved rather than guessing — the 2.5 percent difference will not announce itself, and it will survive into everything you compute afterwards.

The same reasoning applies when you build anything that carries these values onward. Preserving the Meaning of Ocean Data in Web Apps covers why a unit belongs in the data contract rather than in a display string.

Common Mistakes

Applying the density conversion twice. Values that arrive already in µmol/kg do not need it. A second division leaves you about 2.5 percent low, which is small enough to survive review.

Using 44.6596 to go from mL/L to µmol/kg in one step. That factor lands you in µmol/L. The density step is still outstanding.

Assuming mg/L because a value is around 6 or 7. In fresh water and in aquaculture data mg/L is the norm and 6–7 is typical. In seawater 6–7 could equally be mL/L, which is nearly a factor of 1.43 away.

Comparing profiles from different sources without checking both headers. Two datasets that differ by roughly 2.5 percent at every depth are usually not confirming each other; they are usually the same water reported on two different bases. The offset is slightly smaller near the surface and slightly larger at depth, because it follows the density.

Frequently Asked Questions

How do I convert mL/L to µmol/kg?

Multiply by 44.6596 to reach µmol/L, then divide by (1000 + σ0)/1000, with σ0 in kg/m³ computed from the sample’s salinity and temperature. For a rough check, dividing by 1.025 in place of the second step is accurate to well under one percent.

Why does oceanography use µmol/kg instead of mg/L?

Because a kilogram of seawater stays a kilogram as the water moves to a different depth, while a litre does not. Mass-based concentrations are conserved along a water mass, which makes them comparable across pressure and between cruises.

Is µmol/kg the same as µM?

No. µM means micromoles per litre, a volume basis. The two differ by the seawater density factor of roughly 2.5 percent.

Can I convert percent saturation to µmol/kg?

Yes, but you need the temperature and salinity of the sample, not just the percentage. Multiply the saturation fraction by the equilibrium solubility at 1 atm computed for that temperature and salinity. Without those two variables the conversion is not defined.

Which unit should I record when I derive something from Argo oxygen?

Keep µmol/kg. It is what the source data is in, it avoids an unnecessary conversion, and it is what anyone comparing your result with Argo will expect. For interpretation of the profile shape itself, Dissolved Oxygen Profiles in BGC Argo Explained covers what to look for.