A web-based dashboard for exploring and visualizing meteorological and marine data stored in ncdb SQLite databases. ncdb-view provides a fast, interactive way to scan dataset cycles, inspect available observation spaces, and preview geophysical variables (like Sea Surface Temperature or Salinity) without writing any Python code.
Features Interactive Data Browser: Navigate datasets, cycles, and variables via a clean web interface. Instant Plotting: Integrated with the ncdb plotting engine to generate spatial maps on the fly. HPC Ready: Designed to run in headless environments with a FastAPI/Uvicorn backend.
Since ncdb-view depends on the core ncdb library, it is recommended to install both into a clean virtual environment.
python -m venv venv
source venv/bin/activatepip install git+https://github.com/givelberg/ncdb-view.gitOnce installed, the ncdb-view command is added to your path. Point it at your .db file:
ncdb-view --db /path/to/your/marine.dbIf you do not have a .db file yet, provide a name for it, and it will be generated by the scanner.
By default, the server will start on http://127.0.0.1:8734.
If you are running the viewer on a remote node (e.g., on ursa), you will need to set up an SSH Tunnel from your local laptop to view the interface in your browser.
Step 0: ssh to ursa and notice the login message, like:
Local port 56373 forwarded to remote host.
Remote port 2838 forwarded to local host.
Write down the local port forwarded to the remote host: it is 56373 in the example above.
Step 1. In your first window login using:
ssh -L 56373:127.0.0.1:56373 John.Steffen@ursa-rsa.boulder.rdhpcs.noaa.govStep 2: In your second window login using:
ssh -p 56373 -L 8734:127.0.0.1:8734 John.Steffen@127.0.0.1Notice: 8734 is the port number that needs to be consistent with the port number used by ncdb-viewer
Run the application on ursa:
ncdb-view --db /path/to/your/marine.dbIn the browser on your laptop:
Navigate to http://localhost:8734.
| Argument | Description | Default |
|---|---|---|
--db |
Path to the SQLite database file | Required |
--port |
The port to run the server on | 8734 |