Adamastor

User Guide Open the app ↗

Getting started: the model, a first run, and the header bar

What this is

Adamastor is a browser-based weather model. It includes QG Cyclones, two to eight layers of quasi-geostrophic flow on a doubly periodic plane, a walled channel or a hemispheric polar cap. A zonal jet with vertical shear is baroclinically unstable, so a small perturbation grows into a train of wave cyclones that interact, merge and are eventually arrested by bottom friction. The model generalises pyqg’s two-layer model to N layers and is held to the reference’s own numbers by the test suite. Its physics and parameters are documented in docs/models/qg-cyclones.md.

The solver is written in C, compiled to WebAssembly and embedded in the page. It runs entirely in the browser. Nothing is uploaded, and once loaded the app works offline. Play integrates the state forward. The clock reports model time, and every displayed field is diagnosed from the solver’s current state.

The app is plain static files with no build step. It consists of adamastor.html, app.js and the ui/ kit beside them.

Quick start

  1. Open adamastor.html. The launcher card appears on the left. Serving the folder over HTTP (node serve.js from the repository root, then http://localhost:4173/adamastor.html) enables the Preset picker, which browsers block on file://, and the multi-core kernel, which needs cross-origin isolation headers that only a server sends. Import works offline either way.
  2. Choose a source. Select a Preset, paste a saved design as JSON under Import, or start from Blank. The stage shows a live preview of the design.
  3. Press Next. The Builder opens. Step 1 sets the domain and step 2 the vertical column. A hemispheric domain adds a third step, the Compute card. Next advances a step, Back returns one, and the Setup control at the top left of the stage returns to the Launcher from any step. An import whose snapshot is kept skips the design steps. A kept hemispheric snapshot stops at the Compute card, where there is no Back.
  4. Press Initialize on the final step, or in the Launcher itself for a flat design launched from a kept snapshot. The panel becomes the control panel and the viewport opens to full size.
  5. Explore the run. Switch views with Map, Observables and Split in the header. The eye opens View Settings. The tool pill selects Pan/Zoom, Perturbations or Terrain. A brush tool’s controls occupy the display dock along the bottom of the window, beside the Projection column and, under Perturbations, the Land column with its Show land tick.
Adamastor — a browser-based quasi-geostrophic weather model.