Skip to main content

Glider Playground

National Oceanography Centre

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)

Glider Playground


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

Files panel with live BODC deployments

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 .nc files
  • Add folder — load an entire folder of .nc files 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.

Dashboard preset — globe with currents, 3D track, and stacked plots

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

Globe with a Copernicus chlorophyll overlay

Copernicus Setup

The surface overlays and currents are fetched live from Copernicus Marine, which needs a (free) account and a one-time login:

  1. Register for a free account at marine.copernicus.eu/register.
  2. Install the toolbox:
    pip install copernicusmarine
    
  3. 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.0 fill values in PRES/TEMP/CNDC are always flagged missing (flag 9) 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.

National Oceanography Centre

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)

Source distribution for glider-playground 0.2.94
File Size Uploaded
glider_playground-0.2.94.tar.gz 1.8 MB Details

Built distribution (wheel)

Table of built distributions (wheels) for glider-playground 0.2.94
File Interpreter ABI Platform
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

Release history Release notifications | RSS feed

0.2.99

2 release files

0.2.98

2 release files

0.2.97

2 release files

0.2.96

2 release files

0.2.95

2 release files

This release

0.2.94 This release

2 release files

0.2.93

2 release files

0.2.92

2 release files

0.2.91

2 release files

0.2.89

2 release files

0.2.88

2 release files

0.2.87

2 release files

0.2.86

2 release files

0.2.85

2 release files

0.2.84

2 release files

0.2.83

2 release files

0.2.82

2 release files

0.2.81

2 release files

0.2.80

2 release files

0.2.72

2 release files

0.2.71

2 release files

0.2.70

2 release files

0.2.69

2 release files

0.2.68

2 release files

0.2.67

2 release files

0.2.66

2 release files

0.2.65

2 release files

0.2.64

2 release files

0.2.63

2 release files

0.2.62

2 release files

0.2.61

2 release files

0.2.60

2 release files

0.2.59

2 release files

0.2.58

2 release files

0.2.57

2 release files

0.2.56

2 release files

0.2.55

2 release files

0.2.54

2 release files

0.2.53

2 release files

0.2.52

2 release files

0.2.51

2 release files

0.2.50

2 release files

0.2.49

2 release files

0.2.48

2 release files

0.2.47

2 release files

0.2.46

2 release files

0.2.45

2 release files

0.2.44

2 release files

0.2.43

2 release files

0.2.42

2 release files

0.2.41

2 release files

0.2.40

2 release files

0.2.39

2 release files

0.2.38

2 release files

0.2.37

2 release files

0.2.36

2 release files

0.2.35

2 release files

0.2.34

2 release files

0.2.33

2 release files

0.2.32

2 release files

0.2.31

2 release files

0.2.30

2 release files

0.2.29

2 release files

0.2.28

2 release files

0.2.27

2 release files

0.2.26

2 release files

0.2.25

2 release files

0.2.24

2 release files

0.2.23

2 release files

0.2.22

2 release files

0.2.21

2 release files

0.2.20

2 release files

0.2.19

2 release files

0.2.18

2 release files

0.2.17

2 release files

0.2.16

2 release files

0.2.15

2 release files

0.2.11

2 release files

0.2.10

2 release files

0.2.9

2 release files

0.2.8

2 release files

0.2.7

2 release files

0.2.6

2 release files

0.2.5

2 release files

0.2.4

2 release files

0.2.3

2 release files

0.2.2

2 release files

0.2.1

2 release files

0.2.0

2 release files

0.1.8

2 release files

0.1.7

2 release files

0.1.6

2 release files

0.1.5

2 release files

0.1.4

2 release files

0.1.3

2 release files

0.1.2

2 release files

0.1.1

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page