Skip to content

Studio · task 0.4 — studio/modelio seam and RunSummary #68

Description

@aliakherati

Phase 0, task 0.4 — see docs/studio/plan/PHASE_0.md.

Scope

  • to_scenario(RunConfig) -> CoupledScenario — the single conversion point, and the only package permitted to import coupled (ADR-001). Therefore also the single place unit conversion happens (ADR-003).
  • The equivalence test. to_scenario applied to a RunConfig describing case 30N_20km__sabr220__D2med__a1p0__nuc1__cg1 must produce a CoupledScenario field-for-field identical to run_ensemble.build_scenario() for that case. This is what proves the schema is a faithful superset before anything is run — cheaper and sharper than discovering it from a diverging result.
  • RunSummary — versioned reduced structure (schema_version, scalar time series, final size distribution, termination reason, flags, conservation-check residuals), written next to state.npz. Every array declares its wet-vs-dry basis. Comparison plots read this, never the raw npz.

Traps this package exists to contain

  • dp_mid_um / dNdlogDp are dry; SA / radius_cm are wet.
  • Never reconstruct time as i × DT — outer steps snap to the terminator (~592 s actual vs 600 s nominal). Use the stored t.
  • Index gas species by name from the npz's own species list, never by position.
  • DilutionRegime.CONSTANT maps to the model's "" — the one enum value that is not the model's own string.

Base branch: studio/dev.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    studioPlume Studio (studio/, docs/studio/)

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions