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