osmose.validation.fisheries_reference

Resolve per-species fisheries reference points: user-supplied Bmsy + ICES-auto-filled Fmsy.

Design

  • ReferencePoint is the central value object: one per species per run.

  • load_reference_points merges two layers in order (later wins): 1. ICES snapshot auto-fill: Fmsy from the primary (largest msy_btrigger) tonnes-unit stock. 2. User overrides from fisheries_reference_points.json in the config dir.

  • save_reference_points persists ONLY user-owned fields (bmsy always; fmsy ONLY when source is “user” or “mixed”). ICES auto-filled Fmsy is never written — re-derive on load so stale auto-fill cannot propagate across snapshot updates.

  • ecosystem_of is a simple basename resolver used by the UI layer.

Functions

ecosystem_of(config_dir)

Return the ecosystem name from a config/data directory path.

load_reference_points(ref_dir, species_list, *)

Load per-species reference points, merging ICES auto-fill with user overrides.

save_reference_points(ref_dir, refs)

Persist user-owned reference-point fields to the sidecar JSON.

Classes

ReferencePoint(species[, fmsy, bmsy, ...])

Per-species fisheries reference points.