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.
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.94
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.94.tar.gz | 1.8 MB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| glider_playground-0.2.94-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 3.6 MB
Release files / glider_playground-0.2.94.tar.gz
| Download URL | glider_playground-0.2.94.tar.gz |
|---|---|
| Size | 1.8 MB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
6406a9e78a29ecff46d5cb8bcd9f3145232d3d82a8d74a3054cdb20352661ecb
|
|
BLAKE2b-256 checksum How to use checksums |
c106034461d05e7b357e9e4803f9976bfe9e9ba431491d584b58a5d3c5e1689b
|
| 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.94-py3-none-any.whl
| Download URL | glider_playground-0.2.94-py3-none-any.whl |
|---|---|
| Size | 1.8 MB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
e417d575d5b3f7cb9afa147a936c674f1081d1bfa506a922124b7f9ee7229f7f
|
|
BLAKE2b-256 checksum How to use checksums |
6ec9371b74b606967a52f0a1ced66491a4a2e676ddd908d35971d906de5b1c52
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|