Glider Playground
A fast, web-based explorer for ocean glider data. Load OG1 NetCDF files — or pull live deployments straight from BODC — and instantly plot, inspect, QC, and view them in 3D, all in your browser with no scripting required.
Live demo: glider-playground.co.uk (running on a Raspberry Pi — may be slow)
Install & Run
pip install glider-playground
glider-playground
This opens the app in your browser. Press Ctrl+C in the terminal to stop it.
Virtual environment recommended. If you use one, activate it before running.
Install from source
git clone https://github.com/Orlando-PB/glider-playground.git
cd glider-playground
pip install .
Loading Data
Click the file button (top-left) to open the file panel. You can:
- Browse live BODC deployments — pull published datasets directly from the British Oceanographic Data Centre
- Add files — pick individual
.ncfiles - Add folder — load an entire folder of
.ncfiles at once
Your own files are processed once in the background. Once ready, click a file to load it.
File format: input files must be in OG1 format (or OG1-compatible) — the OceanGliders community NetCDF standard.
Live data is provided by the British Oceanographic Data Centre (BODC).
Views & Layout
Glider Playground is a flexible, multi-panel workspace — plots, the globe, and the 3D track are all panels you can arrange however you like.
- Drag a panel by its header to reorder or swap it with another
- Split any panel (the edge + buttons) to add another plot beside it
- Resize by dragging the dividers; close a panel with its ✕
- On a vertical / mobile screen the built-in presets automatically re-flow so plots sit on top and the maps share a row beneath
Presets
One click rebuilds the whole workspace:
| Preset | What you get |
|---|---|
| Map | Globe + 3D view side by side, no plot |
| Dashboard | Globe + 3D alongside a stack of thermal / chlorophyll / oxygen plots |
| Thermal, Salinity, Density, Chlorophyll, Oxygen, Backscatter, T-S Diagram, Phases | A single plot of that variable, with the globe and 3D track |
Presets pick sensible X/Y/Colour variables and skip anything the current file doesn't have.
Globe, 3D & Overlays
- Globe — the glider's GPS track on an interactive 3D globe
- 3D View — the dive track in 3D with bathymetry
- Copernicus overlays — drape satellite/model surface fields over the globe: Chlorophyll-a, Temperature, Salinity, O₂, pH, Biomass, Sea Surface Height
- Surface currents — an animated particle-flow field of Copernicus surface currents
- DAC arrows — per-dive depth-averaged current vectors, shown when the file provides them
Copernicus Setup
The surface overlays and currents are fetched live from Copernicus Marine, which needs a (free) account and a one-time login:
- Register for a free account at marine.copernicus.eu/register.
- Install the toolbox:
pip install copernicusmarine
- Log in (stores your credentials locally), then restart Glider Playground:
copernicusmarine login
Once you're logged in, the overlay layers fetch on demand. Until then the app will prompt you with whichever of these steps is missing.
Citing Copernicus data
Overlays and currents are derived from Copernicus Marine products, so anything you publish from them should carry the credit line the licence asks for (the map shows it whenever a layer is on):
Generated using E.U. Copernicus Marine Service Information; DOI links below
| Layer | Product | DOI |
|---|---|---|
| Temperature, Salinity, Currents | Global Ocean Physics Analysis and Forecast | 10.48670/moi-00016 |
| O₂, pH, Biomass | Global Ocean Biogeochemistry Analysis and Forecast | 10.48670/moi-00015 |
| Chlorophyll-a | Global Ocean Colour L4 (NRT / Multi-Year) | 10.48670/moi-00279 / 10.48670/moi-00281 |
| Sea Surface Height | Global Ocean Sea Level L4 (NRT / Multi-Year) | 10.48670/moi-00149 / 10.48670/moi-00148 |
For a paper, Copernicus recommends "Product Title. E.U. Copernicus Marine Service Information (CMEMS). Marine Data Store (MDS). DOI: 10.48670/moi-xxxxx (Accessed on DD MMM YYYY)".
Plotting & Inspecting
By default, presets drive the plots. Flip on the Advanced toggle (top bar) to take manual control — choosing X, Y, and Colour variables, plus QC, filters, phases and more.
- Box zoom — click and drag on the plot
- Axis sliders — trim the X, Y, or colour range precisely
- Inspector — hover the plot to read exact values for the nearest sample in a floating card
- Colour palette — pick from a range of oceanographic colour maps
- Reset — restore the view, overlays, and chat to a clean state
- Download — save the current plot as a PNG
Profiles
If a file contains dive profiles, a Profiles navigator appears. Step through individual profiles or cycles, filter by direction (upcast / downcast / transect), or view everything at once.
Quality Control (Advanced)
QC flags follow the Argo convention: 0 No QC, 1 Good, 2 Probably good, 3 Probably bad, 4 Bad, 5 Changed, 8 Interpolated, 9 Missing. Samples are always filtered to the allowed set (default 0,1,2,5,8) — click a QC chip to show only that flag, click again to restore all.
There's no separate Filter Time / Interpolate / Clean toggle — that processing always runs, and the QC chips are the only control:
- PRES gaps up to 5 minutes are always interpolated (flag
8); a longer gap is a real data gap and is left unfilled. - Exact
0.0fill values in PRES/TEMP/CNDC are always flagged missing (flag9) and nulled. - NaT and out-of-order timestamps are always dropped outright (not flag-gated — they aren't meaningful data). Other out-of-range timestamps (pre-1990 / future) are flagged bad (flag
4) and filterable like anything else.
Jelly — Notifications
Jelly is a passive notification bubble (bottom-right). It stays hidden until there's something worth showing — a new release, or Copernicus overlay setup help — then reveals itself with a dot and lists the notes.
Uninstall
pip uninstall glider-playground
Developer Docs
See OVERVIEW.md for an internal reference on the architecture, data pipeline, and deployment.
License
Licensed under the Apache License 2.0.
Developed by Orlando Prugel-Bennett at the National Oceanography Centre (NOC).
© 2026 National Oceanography Centre.
Metadata
Release files for glider-playground 0.2.95
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| glider_playground-0.2.95.tar.gz | 1.9 MB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| glider_playground-0.2.95-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 3.8 MB
Release files / glider_playground-0.2.95.tar.gz
| Download URL | glider_playground-0.2.95.tar.gz |
|---|---|
| Size | 1.9 MB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
f172e9d8f15963af659fb9a8c342dc7885c5a1652eaf777d370e777dcce1355d
|
|
BLAKE2b-256 checksum How to use checksums |
8ee2432c0ded3b3328ba6c540fc8b210deea811f5e5dcef205633722e9360b29
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Release files / glider_playground-0.2.95-py3-none-any.whl
| Download URL | glider_playground-0.2.95-py3-none-any.whl |
|---|---|
| Size | 1.9 MB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
33bbc246c143829c6d0f482be15bc528479c47ab4d4bf8ddacd5be5f925e92ce
|
|
BLAKE2b-256 checksum How to use checksums |
8783d87e314bebc400b50e46b1b7156cad5955a02764b3bedc9d9922abf684f6
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|