Skip to content

Document vertical skill workflow #645

@ecomodeller

Description

@ecomodeller

Vertical skill landed in #585 but has no user-facing documentation. The notebooks/vertical_skill.ipynb is a useful starting point but not part of the rendered docs.

Scope

  • Add a docs/user-guide/vertical.qmd page covering:
    • When to use VerticalObservation / VerticalModelResult (sigma/sigma-z columns, fixed (x, y))
    • Reading observations from dfs0 / DataFrame / xarray (z_item, item, aux_items)
    • The "pre-extracted column" requirement — link to ADR-011 and show the mikeio extraction snippet users need to run before constructing a VerticalModelResult
    • Matching: nearest-time + linear interp on depth, default tolerance = half median model dt
    • .vertical accessor: .skill(bins=...), .mean()/.min()/.max(), .plot.profile(), .plot.hovmoller()
    • SkillProfile return type
    • cmp.sel(z=...) for slicing depth ranges or selecting a layer
  • Add the page to docs/_quarto.yml sidebar (next to network.qmd)
  • Cross-link from workflow.qmd and data-structures.qmd

Known caveats to call out in the docs

  • match(max_model_gap=...) is not yet supported for vertical matching — raises NotImplementedError (see src/modelskill/matching.py:421)
  • Default depth-bin count for vertical.skill() is 5, same convention as gridded_skill
  • No spatial check between obs (x, y) and model column (x, y) — see ADR-011

Reference material

  • notebooks/vertical_skill.ipynb — has plots and example flows worth lifting
  • Survey results in Vertical skill #585 PR description (~40 responses) — informs what users actually want documented

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions