Sandbox — LSD is in active testing. All systems operational·payments are test-mode (no real charges).
Overview Use Cases News Docs Tool Store Support Community Get LSD
Use cases/ Simulation/ Slicing a 40-member climate ensemble into regional anomaly maps
Small-multiple grid of 40 seasonal temperature-anomaly maps for the target region replace with screenshot · 1600 × 900

Slicing a 40-member climate ensemble into regional anomaly maps

Drop 40 NetCDF ensemble members on the canvas, crop them to your region, aggregate to seasonal means, and difference each against a 1991–2020 baseline — every step a live node. Deliver a small-multiple map grid and a per-region anomaly CSV the report pulls straight in. Rerun the lot on next year's ensemble by dropping the new files.

Intermediate ⏱ 25 min climatenetcdfensembleanomalysmall-multiples

The ensemble is the point#

Climate signals live in the spread, not in any single run. One member can show a wet season where the ensemble mean shows dry; the honest answer is the whole distribution of 40. But the moment you have 40 files, the analysis usually fractures into a pile of notebooks only their author can rerun — and the reviewer never sees why one panel looks off.

Why this stays live#

In LSD the 40 members are one entity with a member axis, so the region crop, the seasonal aggregation, and the baseline difference each apply across all of them at once. Every node caches its intermediate, so nudging the season definition or the color limits repaints the small-multiples without re-reading a byte from disk. You end up looking at the ensemble instead of waiting on it.

What you'll need#

Any CF-compliant NetCDF ensemble works — CMIP6 members, a regional downscaling run, or your own perturbed-physics set. You'll want a baseline climatology on the same grid; a 1991–2020 mean is the usual pick. The sample project ships a 40-member near-surface-temperature set at monthly cadence, and the full pipeline reruns end to end in a few seconds.

Step by step

How it's built

  1. #062 · Load 01

    Drop the ensemble on the canvas

    Drag the folder of 40 NetCDF members onto the canvas. The @load node stacks them into one entity along a member axis, reads headers only, and previews near-surface temperature with its lat, lon, and time dimensions. Forty files become one thing you can slice.

    Canvas with 40 NetCDF members stacked into one entity along a member axis replace with screenshot · 1200 × 750
  2. #063 · Shape 02

    Crop to the target region

    Add a @shape crop node and drag a lat/lon box over the region in the map preview, snapping it to the basin you care about. All 40 members crop together and the preview redraws as you drag. The global grid stays on disk as a cached intermediate, so nothing gets copied.

    Lat/lon crop box dragged over the region across all 40 members replace with screenshot · 1200 × 750
  3. 03

    Aggregate to seasonal means

    Chain a group-and-aggregate node keyed on season — DJF, MAM, JJA, SON — with the reducer set to mean. The monthly time axis collapses to four seasonal fields per member. Switch the reducer to a high percentile instead and the whole matrix recomputes live.

    Seasonal grouping with the reducer set to mean, four fields per member replace with screenshot · 1200 × 750
  4. #064 · Shape 04

    Difference against the baseline

    Drop the 1991–2020 climatology as a second @load and wire a @shape expression that subtracts it — anomaly = season_mean - baseline. Expose the baseline period as a live parameter. Every member's map recolors around zero the moment you connect the node.

    Anomaly expression differencing each member against the baseline climatology replace with screenshot · 1200 × 750
  5. #065 · Deliver 05

    Lay out the small-multiple maps

    Add a @deliver map node and set it to facet by member. Forty little anomaly maps tile into one figure with a shared diverging colorbar, so the spread across the ensemble reads at a glance. Nudge the color limits once and every panel follows.

    40-panel small-multiple grid with a shared diverging colorbar replace with screenshot · 1200 × 750
  6. 06

    Export the per-region CSV

    Drop region polygons on a zonal-stats node and it rolls each member's anomaly up to a per-region mean. Wire that into a @deliver CSV — one row per region and member — that the report pulls straight in. Next year's ensemble drops onto the same canvas and both outputs rebuild.

    Per-region anomaly table wired into the CSV export node replace with screenshot · 1200 × 750
The pipeline

Every step used, at a glance

Load

NetCDF ensemble

Stack 40 ensemble members into one entity, reading headers first and arrays only when a step needs them.

NetCDF
Shape

Crop, aggregate, difference

Crop every member to the region, collapse months into seasonal means, and difference each against the baseline climatology.

Deliver

Maps + region CSV

Tile a small-multiple anomaly map grid and export a per-region anomaly table for the report.

CSV
40 members
sliced in one pass
4 seasons
aggregated per member
Per-region CSV
straight into the report

More use cases