On this page
When people move beyond temperature and salinity, dissolved oxygen is often the first biogeochemical variable they want to understand. That makes sense. Oxygen adds information about ventilation, near-surface exchange, biological production and respiration, and water-mass history that temperature alone cannot provide. An oxygen concentration does not uniquely identify any one of those processes; it reflects their combined effects.
But oxygen profiles can feel harder to interpret at first. Not every Argo float carries oxygen sensors, oxygen coverage can be sparse, and the profile shape is easier to misread if you do not look at temperature and salinity at the same time.
This guide explains what dissolved oxygen profiles in BGC Argo data show, how to read the main patterns, what a subsurface oxygen maximum means, common beginner mistakes, and how to find BGC profiles in OceanGraph before confirming whether they include oxygen.
If you are completely new to Argo itself, start with What is Argo Float? A Complete Guide to Ocean Observation Data.
If your first question is where oxygen is usually high or low in the water column, read Where Is Oxygen Found in the Ocean? before the BGC-specific workflow.
Why Dissolved Oxygen Matters
Dissolved oxygen is useful because it reflects more than one process.
Depending on the region and depth, oxygen structure can be influenced by:
- Air-sea gas exchange and oxygen solubility, which varies with temperature and salinity
- Photosynthetic production and respiratory or remineralization consumption
- Ventilation, mixing, and advection
- Stratification that isolates subsurface water
- The circulation history and time since a water mass was last ventilated
That means an oxygen profile is not just an extra line on the plot. It can help you distinguish waters that look similar in temperature but have very different recent histories.
This is also why oxygen is best interpreted alongside Ocean Temperature and Salinity Profiles Explained, not in isolation.
What BGC Argo Adds to Core Argo
Core Argo focuses on the main physical structure of the ocean, especially temperature and salinity. BGC Argo is the subset of the Argo system that carries additional biogeochemical sensors, including dissolved oxygen.
The practical consequence is simple:
- Many Argo profiles contain temperature and salinity
- Fewer Argo profiles contain oxygen
- Oxygen searches usually need a more targeted workflow
That is why OceanGraph includes an Only profiles with BGC search option. It is not a DO-only filter, but it narrows results to profiles with at least one supported BGC parameter, making it faster to find profiles that may include oxygen.
If you want the profile-search logic first, see Finding Argo Float Profiles by Location, Time, and WMO ID.
What a Dissolved Oxygen Profile Usually Shows
Oxygen profiles vary by region and season, so there is no single universal shape. Still, a few patterns appear often enough to give beginners a useful starting point.
Surface oxygen and recent air-sea contact
Near the surface, oxygen is influenced strongly by contact with the atmosphere and by the recent state of the upper ocean.
Surface values can change with:
- Heating and cooling, which alter oxygen solubility and can drive gas exchange
- Wind-driven mixing
- Photosynthesis and respiration
- Stratification that limits exchange with deeper water
That is one reason surface oxygen should not be interpreted without location and season.
Subsurface oxygen maxima
Some profiles show a local oxygen maximum below the immediate surface layer.
This kind of feature often appears in subtropical or tropical settings and can indicate that the upper ocean should not be treated as one uniform layer. Its cause is not unique: biological production, ventilation and subduction, advection, mixing, and the temperature-dependent solubility background can all contribute. A concentration profile alone cannot separate them.
Oxygen decline below the upper ocean
Below the well-ventilated upper ocean, dissolved oxygen often decreases.
The exact shape depends on circulation, biological consumption, and water-mass history, but the general lesson is that oxygen structure carries information that temperature and salinity alone do not fully capture.
Deep structure
At greater depth, oxygen can vary more slowly over thick layers, or it can continue to change depending on circulation, respiration, and the region.
The important beginner habit is to read the shape of the profile, not only one number.
Why You Should Read Oxygen Together With Temperature and Salinity
Oxygen interpretation becomes much stronger when it is paired with physical structure.
Temperature and salinity help answer questions such as:
- Is the surface strongly stratified or recently mixed?
- Where is the upper gradient zone?
- Does the oxygen feature sit above, within, or below a strong change in water properties?
- Do physical differences show that two oxygen profiles sample different water-property regimes, before biological causes are inferred?
This is why the most useful workflow is often:
- Confirm the profile context
- Read temperature and salinity
- Read oxygen against the same pressure range
- Compare multiple cycles or nearby profiles
If you skip the physical context, oxygen patterns are much easier to over-interpret.
A Practical Example: Reading One Oxygen Profile Step by Step
Imagine you open one BGC Argo profile from a subtropical region.
A practical reading sequence would be:
- Confirm that the profile includes dissolved oxygen.
- Check the date, latitude, longitude, WMO ID, and cycle number.
- Open temperature and salinity first to understand the physical structure.
- Open the oxygen profile and look for the surface pattern, any local maximum below it, and the deeper trend.
- Compare with nearby cycles to see whether the oxygen structure persists along the drifting float path; differences can reflect both time and location.
- Use SOM-related output if you want to highlight the subsurface maximum explicitly.
This is much easier when the search and profile views are connected.
Useful OceanGraph pages are:

What Is a Subsurface Oxygen Maximum?
A subsurface oxygen maximum is, in the physical sense, a local maximum of dissolved oxygen found below the immediate surface layer.
The practical idea is important:
- The surface value is not always the most informative oxygen value
- A meaningful oxygen feature may appear just below the mixed layer
- Comparing the depth and value of this maximum across profiles can reveal structure that is hard to see from one glance alone
OceanGraph reports a SOM only for a peak that lies below the mixed layer, stands clearly above its surroundings, and is backed by real oxygen observations rather than by interpolation alone. When MLD is available, candidate pressures run from just below MLD through 300 dbar; without MLD they run from 30 to 300 dbar, and a profile whose MLD is 300 dbar or deeper gets no SOM at all. Peak shape is judged across the whole retained observation range, so oxygen above or below the candidate range can still define a peak’s shoulders without being selected itself.
When no supported peak exists—including a profile where oxygen simply decreases with depth—SOM is left undefined instead of falling back to the largest value in range. Sparse oxygen coverage can leave a peak undefined for the same reason.
Missing oxygen remains null in the published profile. OceanGraph interpolates only between retained oxygen observations to judge peak shape and never extrapolates beyond them. It prefers adjusted oxygen, uses raw data only when the adjusted series has no finite values, and then masks QC 4, QC 9, and values outside the inclusive 0–600 µmol/kg range. Masking does not restart source selection, and other retained QC codes do not rank SOM candidates.
Exact prominence and width thresholds, the treatment of narrow peaks, and the candidate ranking rules are documented in Subsurface Oxygen Maximum (SOM) in the App Guide. Treat the metric as a reproducible screening aid, and still inspect the source data mode, QC, profile shape, and physical context before assigning a mechanism.
Common Beginner Mistakes
A few oxygen-specific mistakes are common.
Assuming every Argo float has oxygen
Many floats are core physical floats and do not carry DO sensors. If oxygen is required, use the BGC filter first and then confirm that the selected profile includes dissolved oxygen.
Reading oxygen without physical context
An oxygen feature is much easier to misread if you do not also examine temperature, salinity, and upper-ocean structure.
Treating missing values as meaningful low oxygen
Missing values and values set to null by QC or range checks are not the same thing as real low-oxygen water. OceanGraph does not fill them in the published profile. Quality control, sensor calibration, and data mode still matter for interpretation. Argo advises non-experts not to use raw BGC values directly for scientific applications; prefer adjusted oxygen when its parameter data mode is A or D.
Expecting one universal oxygen shape
Oxygen structure varies strongly with region, season, ventilation, and water-mass history. Do not assume that one pattern seen in one basin should appear everywhere else.
The Traditional Workflow: Find a BGC Float, Decode the File, Then Plot
A common oxygen workflow looks like this:
- Find which floats include oxygen
- Download the relevant files
- Inspect variable names and QC information
- Plot oxygen against pressure
- Repeat with temperature and salinity for context
- Decide whether a quality-controlled local maximum is present and worth tracking
That workflow is scientifically valid, but it creates a lot of setup work before you have even decided which profiles are worth close attention.
This is similar to the broader problem described in Visualizing Argo Float Data Without Python (Step-by-Step Guide).
A Better First Step: Filter for BGC Data and Explore Interactively
If your immediate goal is interpretation, OceanGraph is usually the better place to begin.
A practical workflow is:
- Use the BGC filter in search
- Confirm that the selected profile includes dissolved oxygen
- Inspect the profile context before reading the graph
- Compare oxygen with temperature and salinity
- Check whether a subsurface oxygen maximum appears
- Compare multiple cycles from the same float
That gives you a much clearer idea of which BGC profiles deserve deeper analysis later.
It also keeps the learning sequence in the right order: observation first, file handling later.
Explore Oxygen-Bearing Argo Profiles in OceanGraph
If you want to move from “which Argo profiles even have oxygen?” to actual oxygen-profile interpretation, OceanGraph is the direct next step.
OceanGraph makes it easier to narrow the search to BGC profiles, confirm oxygen availability, compare profiles with physical structure, and inspect subsurface oxygen maxima without building the workflow from scratch.
Frequently Asked Questions
Is dissolved oxygen measured in every Argo profile?
No. Dissolved oxygen is mainly available from BGC Argo floats, which are a subset of the overall Argo system.
What is the difference between core Argo and BGC Argo?
Core Argo focuses on the main physical variables such as temperature and salinity. BGC Argo adds extra biogeochemical sensors, including dissolved oxygen.
What is a subsurface oxygen maximum?
Physically, it is a local maximum of dissolved oxygen below the immediate surface layer. OceanGraph searches a range tied to mixed-layer depth expressed in dbar and reports only sufficiently prominent peaks whose shape is supported by source oxygen observations on the pressure coordinate. If no candidate passes, it reports no SOM.
Why do oxygen profiles often have more gaps than temperature or salinity?
Fewer floats carry oxygen sensors, source profiles can contain missing values, and QC or range checks can leave additional cells unavailable. Oxygen coverage is therefore often sparser than core physical coverage.
Do I need Python before I can start reading oxygen profiles?
No. Python is useful for custom and reproducible analysis, but it does not have to be step zero if your goal is first-pass interpretation.
Conclusion
Dissolved oxygen profiles are one of the most useful first steps into BGC Argo because they add history and process information that temperature and salinity alone cannot fully show. The main challenge is that oxygen needs more context: not every float has it, and the profile is much easier to misread if you ignore the physical structure around it.
For many learners, the better path is to filter for BGC profiles, confirm oxygen availability, compare the displayed profile structure, and only then move to a heavier analysis workflow. That is where OceanGraph is especially useful.

