A browser-based tool for visualising large ensemble timeseries datasets. Drop in a wide CSV, Excel, or RiverWare .rdf file, explore hundreds of runs at once, filter and colour by label, and overlay percentile bands — all without installing any software beyond a modern web browser.
- Drag-and-drop upload — CSV, XLSX, and RiverWare
.rdffiles - In-browser RDF — open a RiverWare
.rdf, pick a series slot, and download it as a viewer-ready CSV, with no separate conversion step - Flexible labelling — stacked header rows, delimiter-separated column names, or a sidecar label CSV
- Classification bundles — attach plain-text files that tag traces by trace number, then filter and colour by the resulting schemes
- Interactive filtering — category-based trace filtering, colour grouping, sorting, and multi-panel split views
- Summary statistics — 10th–90th percentile band per colour group
- High-performance rendering — Plotly WebGL (
scattergl) handles 500+ columns × thousands of timesteps smoothly - Density-aware styling — line width and opacity scale with the visible trace count; manual overrides available
- Colourblind-safe — Okabe-Ito palette throughout
- Curated examples — load bundled demo datasets (including CRMMS reservoir data) from a dropdown, no file needed
- Web URLs & shareable links — paste a CSV/XLSX/RDF URL (e.g. on a CDN) into the drop zone, or open the viewer with
?url=<dataset URL>to auto-load it; the address bar tracks the loaded URL so the link can be shared (the host must allow cross-origin requests) - Run tag — type a free-text identifier into the top bar to label the loaded run on screen, since browsers only ever reveal a local file's bare name, never its full path
- Save / load configuration — export the full control-panel setup to a documented XML preset and reload it later
Visit Ensemble Viewer, hosted on Vercel. To try it without your own data, pick an item from the Examples dropdown in the drop zone.
You need Node.js v18 or later. Then, run the following commands to clone the repo, install the dependencies, and run the dev server:
git clone https://github.com/jrkasprzyk/ensemble-viewer.git
cd ensemble-viewer
npm install
npm run devnpm run dev starts the Vite development server and opens http://localhost:5173. The page hot-reloads on every edit to the code within the repo. To try it without your own data, pick an item from the Examples dropdown in the drop zone.
Documentation follows the Diátaxis framework.
| Document | Read it when you want to… |
|---|---|
| Tutorial | Learn the tool by loading an example and reading a plot, step by step |
| How-to guides | Accomplish a specific task: load RDF, attach labels, save a preset |
| Reference | Look up the data format, commands, file specs, and tech stack |
| Explanation | Understand the design choices behind the viewer |
Additional reference material:
- Configuration XML schema — the versioned save/load preset format
- RiverWare RDF Python scripts — offline command-line RDF-to-CSV conversion
See CONTRIBUTING.md for local setup, project structure, and how to run the test suite.