Skip to main content

A fast, web-based NetCDF explorer for glider data.

Project description

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)

Toggle What it does
Apply QC Keeps only samples whose _QC flag is in the allowed list (default 0,1,2,5,8)
Highlight Shows bad-QC samples in red instead of hiding them
Filter Time Drops NaT and out-of-range timestamps (pre-deployment / future dates)
Interpolate Fills NaN gaps in PRES/TEMP/CNDC by time so they align with other sensors (filled points flagged QC=5)
Clean Flags 0.0 fill values, auto-scales CNDC (S/m → mS/cm), and cross-flags out-of-range conductivity on the CTD triad

Edit the QC flags chips to customise which flags count as good.


Jelly — AI Assistant

Jelly is an optional AI helper (the bubble, bottom-right). Paste an OpenAI API key and it can answer questions and drive the app for you — switch presets, build dashboards, toggle overlays, and more. The key is stored locally in a .env file and never leaves your machine.


Uninstall

pip uninstall glider-playground

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.

Project details


Release history Release notifications | RSS feed

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

glider_playground-0.2.27.tar.gz (2.0 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

glider_playground-0.2.27-py3-none-any.whl (2.0 MB view details)

Uploaded Python 3

File details

Details for the file glider_playground-0.2.27.tar.gz.

File metadata

  • Download URL: glider_playground-0.2.27.tar.gz
  • Upload date:
  • Size: 2.0 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for glider_playground-0.2.27.tar.gz
Algorithm Hash digest
SHA256 5726eb66306b47db3bf2887ef33a1a060a61edd8912202dc5d882c8df73aaaa8
MD5 e2124c75c7cfc8928fe437daa144defe
BLAKE2b-256 e2cd293f5a0194d8ea435ba18ab9d2d9fcfad1061586b3d005b092ff20c851ec

See more details on using hashes here.

File details

Details for the file glider_playground-0.2.27-py3-none-any.whl.

File metadata

File hashes

Hashes for glider_playground-0.2.27-py3-none-any.whl
Algorithm Hash digest
SHA256 3854cf236a4534a15c483ae3cf038a0615abc6d9114d2d29e25eb3b3542c9191
MD5 1c433794f761b86f3ffdd9380185640c
BLAKE2b-256 020bc5a7d2f450e32661a963389ca10633ee0e6386cc06cc946591687e098487

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page