Skip to article frontmatterSkip to article content
Site not loading correctly?

This may be due to an incorrect BASE_URL configuration. See the MyST Documentation for reference.

Domain generation overview

Workflow

The C-SON Forge workflow progresses through distinct stages, transforming a model specification into an executable simulation:

Workflow Stages

  1. PRECONFIG (Initialization)

    • Load ModelSpec from models.yml

    • Create CstarSpecBuilder with domain configuration

    • Initialize grid object from grid_kwargs

    • Create blueprint structure with placeholder data

    • Load default settings from model configuration

    • Persist blueprint to B_{name}_preconfig.yml

  2. POSTCONFIG (Input Generation)

    • Prepare source datasets (ensure_source_data())

    • Generate all input files (generate_inputs()):

      • Grid NetCDF files

      • Initial conditions

      • Surface forcing

      • Boundary forcing

      • Tidal forcing

      • River forcing

    • Update blueprint with actual file paths

    • Update settings with input-specific values

    • Persist blueprint to B_{name}_postconfig.yml

  3. BUILD (Configuration)

    • Render Jinja2 templates (configure_build()):

      • Compile-time templates → *.opt files

      • Run-time templates → roms.in, marbl_in

    • Update blueprint with rendered code locations

    • Create ROMSSimulation instance

    • Persist blueprint to B_{name}_build.yml

    • Compile model executable (build())

  4. RUN (Execution)

    • Prepare run directory (pre_run())

    • Execute model simulation (run())

    • Clean up (post_run())

    • Persist blueprint to B_{name}_run_{datestr}.yml