Vertical Profiles
Compare uploaded Argo-format JSON profiles of temperature, salinity, dissolved oxygen, and supported optional BGC variables by depth.

Missing values (null) stay missing; charts connect two or more finite cells with straight lines.
Access and Limits
Open Menu > Analysis Lab > Vertical Profiles after signing in on a desktop browser. You can upload up to 30 JSON files; uploading a matching filename replaces the previous file.
Compare Profiles
- Highlight: hover over a visible row or near a chart line to highlight the profile across all charts.
- Pin: click a row name or line to keep its highlight while exploring other variables. Esc clears the pin and tooltip. Pinning does not change which profiles are visible.
Tooltip values come from a nearby real sample, without interpolation. While pinned, other lines show only their identity.
Each file keeps its color and line style, including after same-name replacement. Profiles and visibility choices are kept when you leave the page.
Notes and Download
Download ZIP saves the checked profiles as one PNG per chart type, plus the Add a note (optional) text as note.txt.
PNG files use normal line styles without highlights, tooltips, or the Profiles list. Clear All also clears the note.
Supported JSON Format
Each JSON file must contain the following keys:
{
"pressure": [ ... ],
"potential_temperature": [ ... ],
"absolute_salinity": [ ... ],
"oxygen": [ ... ],
"wmo_id": "2902447",
"cycle_number": 17
}
"pressure": array of numbers (required, must not be empty)"potential_temperature": array of numbers or nulls (required; if non-empty, same length aspressure)"absolute_salinity": array of numbers or nulls (required; if non-empty, same length aspressure)"oxygen": array of numbers or nulls — dissolved oxygen concentration (μmol/kg) (required; if non-empty, same length aspressure)"wmo_id": string or number (required, up to 20 characters after conversion to text)"cycle_number": number (required)
Optional BGC keys can also be included:
"chlorophyll": array of numbers or nulls — chlorophyll-a (mg/m³) (same length aspressure, if present)"nitrate": array of numbers or nulls — nitrate (μmol/kg) (same length aspressure, if present)"bbp700": array of numbers or nulls — particulate backscattering at 700 nm (m⁻¹) (same length aspressure, if present)"ph": array of numbers or nulls — in-situ pH (same length aspressure, if present)"irradiance490": array of numbers or nulls — downwelling irradiance at 490 nm (W/m²/nm) (same length aspressure, if present). This key is accepted, but it is not displayed as a chart in the current interface."par": array of numbers or nulls — photosynthetically available radiation (μmol/m²/s) (same length aspressure, if present)
Any additional keys will be ignored. Files that do not follow the required structure or fail validation will be skipped during upload.
Related Reading
For a beginner-friendly explanation of profile context, variables, quality information, and vertical structure, read How to Read Argo Float Data for Beginners in OceanGraph Articles.