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

Uploaded Python 3

File details

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

File metadata

  • Download URL: glider_playground-0.2.34.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.34.tar.gz
Algorithm Hash digest
SHA256 30b8e6dcee9cbd8ca73f961ddcdf26d66d51dcda1adae8cf71b919a1444e76ea
MD5 70578d8c94c886edb5e608a46dd9a7e6
BLAKE2b-256 c37a68e143d2ec4d427e14db2f631e721d9fa2a74b649a67824c2f14d88eb8f9

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for glider_playground-0.2.34-py3-none-any.whl
Algorithm Hash digest
SHA256 2d96ca9f76b2b6f936a24b0c86b0fcba4d5208374fdf9d1a6a1d7545e6759ea0
MD5 375234633a7982c9f6333b44fc572422
BLAKE2b-256 4bf7be41d2e0c7546e6170689d10c68e2c049daca97f68736de1d1cddadc5a9e

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