MOOSE Grid Case¶
cases/moose_grid/ is the canonical MOOSE → grid/graph training case.
It owns the original Exodus-based ETL pipeline that produces the
multi-mode *.zarr stores consumed by
dataset.moose_dataset.MOOSEDataset (see the
Dataset API page), and the FNO example training
config that downstream grid models clone.
Layout¶
cases/moose_grid/
├── configs/
│ ├── etl_base.yaml # shared ETL defaults
│ ├── etl.yaml # lid-driven flow (default config)
│ └── train_fno.yaml # FNO training example
├── etl/
│ ├── data_sources/ # ExodusDataSource, CSVProbeSource, MOOSEZarrSink
│ ├── transformations/ # MOOSEDataTransformation
│ ├── schemas.py # Raw / processed schemas
│ └── validators.py
└── run_etl.py # ETL entry point
Workflow¶
flowchart LR
A["MOOSE .e + CSV probes"] --> S["ExodusDataSource<br/>CSVProbeSource"]
S --> T["MOOSEDataTransformation<br/>z-score · edges · grid interp"]
T --> K["MOOSEZarrSink"]
K --> Z["*.zarr<br/>(mesh, fields, grid, probes, norm_stats)"]
Z --> D["MOOSEDataset (graph / point_cloud / grid)"]
D --> FNO["FNO / MeshGraphNet / AFNO / Pix2Pix"]
Entry points¶
# ETL: MOOSE outputs → Zarr (default = lid-driven flow)
python cases/moose_grid/run_etl.py
# Train FNO
python train.py --config-path cases/moose_grid/configs --config-name train_fno
# Evaluate
python evaluate.py --config-path cases/moose_grid/configs --config-name train_fno
Further reading¶
ETL Pipeline Internals — stage-by-stage description of the Exodus → Zarr transformation.
Dataset API — what
MOOSEDatasetreturns in each mode.FNO Training and Evaluation — config walkthrough for the grid surrogate path.