NSF NCAR Research Applications Laboratory NSF NCAR Research Applications Laboratory

WISP Quarterly Meeting · August 11, 2026

NCAR Model Manager (ncarmm)

Run NCAR's weather models in the cloud — without rebuilding everything from scratch each time.

Co-leads: David Hahn & Victor Weeks
NSF National Center for Atmospheric Research

This material is based upon work supported by the NSF National Center for Atmospheric Research, a major facility sponsored by the U.S. National Science Foundation and managed by the University Corporation for Atmospheric Research.

The pieces barely change from one model to the next — compilers, MPI, and the libraries that read and write model data. What changes is that someone sets them up manually again for every new model, every new version.

HDF5 NetCDF PnetCDF PIO
The classic trap:  all four have to be built against the same MPI — one mismatch and you lose days.
  • Done by hand → compiler quirks and version mismatches, every time.
  • Days lost per project, and the knowledge lives in one person's head.

Ease

One command gets you a cloud-ready, runnable model.

No duplicate work

One reviewed build recipe, shared across every project.

Repeatable

Every dependency pinned to an exact version, so the same software stack rebuilds the same way.

Portable

Nothing in the recipe is tied to one cloud or one delivery format.

Working today
WRF 4.4.0 WRF-Chem 4.4.0 MPAS 8.3.1
Running on
Amazon Web Services
ncarmm build mpas --version 8.3.1
manifest.yaml Recipe Names the model and every pinned dependency.
automated build Build in the cloud A right-sized machine compiles the whole stack and the model, unattended.
snapshot Machine image Saved, labeled, and findable by anyone on the team.
cluster Run the model Launch that image on HPC-class nodes.

What it does and doesn't do: ncarmm builds the model and the software it needs. Staging input data and moving output back out stay part of your own workflow.

01

More models

A new model or version is a new recipe, not a rewrite — nothing in the core changes. On the radar: CheMPAS, WRF-Hydro, FastEddy. Private models can plug in the same way, without their source living here.

02

More clouds

AWS is the one implementation today, but the cloud-specific piece is a thin, swappable layer. Google, Azure and Oracle would be additions, not a rebuild.

03

Other delivery formats

The recipe isn't tied to shipping a machine image. Containers are the obvious thing to look at — but that's exploration, not a plan.

On cost, honestly: ParallelCluster already starts and stops nodes on demand — the bill is dominated by the fast HPC machines, the fast scratch storage, and moving output back out.

ncarmm: build the model once, and run it where NCAR computes.

  • Takes the duplicated, manual setup work off every project.
  • Working today: WRF, WRF-Chem and MPAS on AWS.
  • Built to extend: more models, more clouds.
  • Primary delivery is GitHub — github.com/NCAR/ncarmm.
  • Also on the internal NEXUS index, so pip install ncarmm works — in evaluation now.

Not presented — reference while taking questions.

Do cloud runs reproduce our Derecho results bit-for-bit?
No, and that's expected. We reproduce the build (pinned sources/compiler/libs). Forecasts differ at round-off across hardware, AVX paths, and MPI rank counts — same as any MPI code.
Does WRF-Chem come with the emissions preprocessors?
No. We deliver the chem-enabled WRF binary + dependency stack; emissions / mechanism setup is application-specific and stays with the user.
Could this deliver containers instead of machine images?
Nothing in the build recipe ties it to one delivery format, so it's a direction we're interested in — but we haven't done the testing to claim it as a feature. Treat it as future work.
How do I get data in/out, and what's the cost?
Input staging + output egress are the user's workflow (FSx Lustre + S3). Cost is driven by EFA HPC instances, Lustre, and egress; ParallelCluster already starts and stops nodes on demand, so idle compute is not the main lever.
How do I install it — is it open source?
Primary delivery is GitHub (github.com/NCAR/ncarmm); it's also on the internal NEXUS index, so pip install ncarmm works inside NCAR. In evaluation now. Not on public PyPI; open source is possible, not committed.
Can we run a proprietary / non-public model (e.g. WRF WxMod, a private FastEddy)?
Yes, by design. A downstream project imports the model registry, registers its own manifest + Image Builder recipe, and supplies a build-time auth token (OAuth / PAT) to pull the restricted source. The proprietary code never lives in ncarmm — the framework just builds & runs it. Registry hook is a near-term design item.
How does the build actually run on AWS?
CloudFormation provisions an EC2 Image Builder pipeline; a right-sized instance (≈ c6i.4xlarge, ~3 h) compiles HDF5 / NetCDF / PnetCDF / PIO / METIS + the model, then snapshots a tagged AMI that ParallelCluster launches onto EFA-enabled nodes with FSx Lustre scratch.