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

Uploaded Python 3

File details

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

File metadata

  • Download URL: glider_playground-0.2.26.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.26.tar.gz
Algorithm Hash digest
SHA256 3777647e2730078f63ef5ea7bf29a93aaa969942d874d343680631656d672a4e
MD5 33e27110a992d902da91ed59ac5666a6
BLAKE2b-256 9f40938afdcac46414c81ee36b56b6adfde9b88c657794ff19aa94133bef317d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for glider_playground-0.2.26-py3-none-any.whl
Algorithm Hash digest
SHA256 415abba4e9f583d742c4f10c676aa3f726bc2ffa986c6f2415a6925bcb5fd0fc
MD5 56d116e92a3277592cc929553091d751
BLAKE2b-256 867171e89353ffdd795612407b8510fd0fc08a22680aa6adfaa6914d66e6b3a8

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