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 or map beside it
  • Resize by dragging the dividers; close a panel with its ✕
  • On a vertical / mobile screen the built-in views automatically re-flow so plots sit on top and the maps share a row beneath

Views

The View bar rebuilds the whole workspace in one click:

View What you get
Classic A single plot with the globe and 3D track (the default)
Map Globe + 3D view side by side, no plot
Overview Globe + 3D alongside the headline plots
Dashboard Globe + 3D + the six core plots, each with a depth-profile sidebar
Duo Two globes (chlorophyll + currents overlays) beside backscatter and salinity plots
Bio-optics Temperature, chlorophyll, backscatter and PAR plots with a full-height globe
Stats Deployment summary, map, instruments, and searchable variable / attribute tables (derived variables are labelled)

Dashboard view — globe, 3D track, and six plots with profile sidebars

Stats view — deployment summary, instruments, variables and attributes

Presets

The Presets row sets what a plot shows: Phases, Thermal, T-S Diagram, Salinity, Density, Chlorophyll, Oxygen, Backscatter, PAR. Each picks sensible X/Y/Colour variables and a matching palette; presets the current file has no data for are greyed out.

Globe & Overlays

  • Globe — the glider's GPS track on an interactive 3D globe, with every other loaded deployment shown faintly alongside
  • Copernicus overlays — drape satellite/model surface fields over the globe: Chlorophyll-a, Temperature, Salinity, O₂, pH, Biomass, Sea Level Anomaly. Layers are fetched in the background once per file, so a click is instant; buttons stay greyed out until their layer is ready. Smooth toggles interpolation of the overlay grid
  • Surface currents — an animated particle-flow field of Copernicus surface currents
  • Glider DAC — per-dive depth-averaged current vectors, shown when the file provides them
  • Argo floats (experimental) — latest position of every Argo float, with details on click
  • Research ships (experimental) — latest reported positions of RRS Discovery, RRS James Cook and RRS Sir David Attenborough

Duo view — chlorophyll and surface-current overlays beside backscatter and salinity plots

3D View

The dive track drawn in 3D over NOAA bathymetry (vertical scale ×100 by default).

3D view — a dive track over bathymetry, with scenery
  • Playback — press play (or drag the slider) to fly the vehicle along its track, at a choice of speeds
  • Style menu:
    • Colour land — shade land and ice above the waterline
    • True height — drop the ×100 vertical exaggeration
    • Scenery — depth-shaded seabed plus decorative, region-appropriate sea life (whales, fish, kelp, corals…). Purely cosmetic
    • Argo floats — show floats that surfaced near the glider during playback
  • Gliders, autosubs (ALR) and other platforms get their own low-poly model

Map view — globe layer menu and the 3D view's Style menu

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.

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 Level Anomaly (SLA) 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. Open Settings (top bar) to take manual control — it reveals the X, Y, and Colour variable pickers, plus draw order, point size, quality, palette, QC, phases and profile controls.

Settings bar

  • Box zoom — click and drag on the plot; double-click to reset
  • Axis sliders — trim the X, Y, or colour range precisely (Auto / Reset beside the colour bar)
  • Inspector — hover the plot to read exact values for the nearest sample in a floating card
  • Profile sidebar — the Profile button adds a value-vs-depth plot to the left of a plot
  • Order / Size / Quality — choose which points draw on top, marker size, and the maximum number of points drawn
  • Colour palette — pick from a range of oceanographic colour maps
  • Phases — show only selected glider phases
  • Sync time — zooming one timeseries zooms every open plot
  • Share — copy a link that reopens this exact view
  • Download — save the current plot as a PNG
  • Dark theme — toggle from the top bar

Overview in the dark theme

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 (Settings)

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 icon in the top bar, next to Settings. 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

To change the default plots, dashboard views or colour palettes, edit glider_playground/plot_presets.json (instructions are at the top of the file) and restart.

See OVERVIEW.md for the code layout, 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.97

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.97
File Size Uploaded
glider_playground-0.2.97.tar.gz 2.9 MB Details

Built distribution (wheel)

Table of built distributions (wheels) for glider-playground 0.2.97
File Interpreter ABI Platform
glider_playground-0.2.97-py3-none-any.whl Python 3 none any Details

Total release size: 5.8 MB

Release files / glider_playground-0.2.97.tar.gz

Download URL glider_playground-0.2.97.tar.gz
Size 2.9 MB
Tags Source
SHA-256 checksum
How to use checksums
18173f7ef1403c0a9c92c3a0db2ec1817f97bb904fb6f53a1f36b6a34715a4f6
BLAKE2b-256 checksum
How to use checksums
1d6318217def5676b7cee1c2f4a2cd83d06b18de2fa95aaaeab35f3a7ff35a5a
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.97-py3-none-any.whl

Download URL glider_playground-0.2.97-py3-none-any.whl
Size 2.9 MB
Tags Python 3
SHA-256 checksum
How to use checksums
1da4b8fc4124e58b51b202719e3083ddcf19e433fcb9114f09fdcf37e06a7921
BLAKE2b-256 checksum
How to use checksums
9887b9f08899bb0e883590a1b2ad14ed551bdceee97ab2c7fba616b8751fedbf
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

This release

0.2.97 This release

2 release files

0.2.96

2 release files

0.2.95

2 release files

0.2.94

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