Skip to content

CH spawning stream order exception: replicate and QA #23

@NewGraphEnvironment

Description

@NewGraphEnvironment

EDIT 2026-04-28: this issue's premise is incorrect. Verified by reading bcfishpass model/02_habitat_linear/sql/load_habitat_linear_ch.sql and the git history of that file. The stream_order_parent >= 5 AND stream_order = 1 predicate appears in bcfishpass CH rearing logic, never in CH spawning. CH spawning's cw_min bypass uses r.waterbody_key IS NOT NULL (river-polygon membership) instead. The 83 segments / 2.47 km observation in ADMS was likely a misclassification of rearing-bypassed segments as spawning-bypassed during QA. The rearing bypass is correctly tracked in fresh#158 frs_order_child; the spawning side is already handled in link via the river_skip_cw_min column → waterbody_type: R rule with channel_width: [0, 9999]. Closing as not-a-bug.


Problem (original — incorrect)

bcfishpass v0.5.0 load_habitat_linear_ch.sql bypasses channel_width_min for CH spawning when stream_order_parent >= 5 AND stream_order = 1. In ADMS this is 83 segments / 2.47 km with channel_width < 4m classified as CH spawning.

Action (original — superseded)

  1. Replicate the exception in our bcfishpass-matching comparison
  2. Tag these segments for QA inspection in QGIS
  3. Take NGE stance after inspection
SELECT s.geom, s.blue_line_key, s.downstream_route_measure,
  s.channel_width, s.gradient, s.stream_order,
  s.stream_order_parent, s.gnis_name,
  h.spawning AND s.channel_width < 4 AS spawn_ch_order_exception
FROM fresh.streams s
JOIN fresh.streams_habitat h ON s.id_segment = h.id_segment
WHERE h.species_code = 'CH' AND h.spawning

Versions

  • fresh: 0.12.5, bcfishpass: v0.5.0, link: 0.0.0.9000

Relates to #16, #19

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions