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.32.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.32-py3-none-any.whl (2.0 MB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: glider_playground-0.2.32.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.32.tar.gz
Algorithm Hash digest
SHA256 673d201a0f6170673192219104da1378f4b805e0f434d72bc886056e3316d240
MD5 987b7b1b8f0244c0850af6e6ca40947c
BLAKE2b-256 87bce6a2c68084c7f860c106ecc86556544f4c390693e07c46d6012c6d6e0a00

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for glider_playground-0.2.32-py3-none-any.whl
Algorithm Hash digest
SHA256 6673778d4db249f0692f25bf51a12577c44ab98e7c60d582faf5fd89cb1509a9
MD5 bf0cc727de925bbce1526294aa5d57bf
BLAKE2b-256 4cb04b9a4960b7fd825d342cbf504ee7d67f355fbf9da560bfff5b9b73fff060

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