Skip to content

Lake km: should 1450 connection lines count as lake rearing? #317

Closed

Description

@NewGraphEnvironment

If done: default's lake km count only lines that trace a lake's flow, so rearing km stop scaling with how many tributaries a lake has. If never: a big lake's km stay dominated by FWA connection lines. Adams Lake alone puts ADMS CH at +91 % rearing against bcfishpass.

Problem (link@4580717, v0.61.0)

  • Default lake and wetland rearing: connected to spawning, centrelines kept, km and ha broken out #310 admits lake and reservoir lines to the default lake rear rule: 1000/1100/1200/1250/1300/1350/1400/1450/1475.
  • Edge type 1450 ("Construction line, connection") joins each tributary mouth to the main-flow line (1200) across the lake. It is not a flow path through the lake.
  • Measured (data-raw/logs/lake_connected_310/):
    • Adams Lake (13,229 ha) holds 211.6 km of ADMS CH / CO rearing lines: 62.8 km of 1200 and 148.8 km of 1450.
    • On NATR, BT's lake km are 275.0 km of 1450 and 227.6 km of 1200.
    • Province-wide, lakes hold 54,402 km of 1200 and 44,528 km of 1450.
  • Against bcfishpass, ADMS CH rearing goes from +14 % to +91 %, and CO from +3 % to +75 %. Without Adams Lake those would be about +22 % / +15 %.

The issue named 1450 among the lake edge types, so #310 kept it.

Decision and result (2026-10-08)

Lake km are flow lines. Connection lines stay in rearing, and the rollups report them apart. Measured in data-raw/logs/lake_connection_317/; write-up in research/habitat_thresholds.md, "Lake connection lines".

  • Connectors only: 1450. 1400 is "other flow / inferred connection", a construction flow line, so it stays in the km. The first cut also excluded 1400 and was narrowed before merge (operator, 2026-10-08: "construction and connector are totally different"). Lake 1400 is at most 1.4 km of rearing.
  • The rules are unchanged. 1400 / 1450 stay in the L rule, so cluster_rearing still joins inlet rearing to the lake, and nothing re-classifies.
  • The compare rollups split them out. lnk_compare_rollup() / lnk_compare_wsg() report rearing_lake_connection (km) and leave it out of rearing and rearing_lake km.
  • The rule runs on both sides. bcfishpass counts these lines in BT and SK rearing too, so the bcfishpass side gets the same rule.
  • lnk_rollup_wsg()'s default rearing_km stays the flag total, for the validator and the parity scripts.
  • ADMS against bcfishpass: CH +91.1 % → +38.9 %, CO +75.0 % → +28.7 %, BT +16.4 % → +2.0 %. CH / CO stay high because bcfishpass has no CH / CO lake rearing on ADMS. The residual is lake flow lines, Default lake and wetland rearing: connected to spawning, centrelines kept, km and ha broken out #310's call.
  • SK rearing km fall 55–95 % (seven WSGs) on both sides, so SK parity stays 0.0 %. KO falls 62 % on NATR, with no bcfishpass reference.

The proposal below, dropping 1400 / 1450 from the rule, was not taken.

Proposal

Decide whether lake km are "centrelines" (1200 / 1250 / 1300 / 1350 / 1475, the lines that trace flow) or "every line in the polygon".

If centrelines, drop 1400 / 1450 from the lake edge set in R/lnk_rules_build.R. That set is one list, used in both edge-type modes. Then rebuild the rules and re-measure with data-raw/logs/lake_connected_310/run.R.

1450 lines may still matter for connectivity: they join inlet clusters to the lake. Dropping them from rearing could disconnect inlet rearing from outlet spawning. Measure that before deciding.

Relates to #310.

Activity

  1. added 3 commits that reference this issue on Oct 8, 2026
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

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions