Skip to content

Research: DV as BT access evidence — regional scope + multi-rule observation overrides #236

Description

@NewGraphEnvironment

Context

Email thread with Craig Mount + Will Warnock (WLRS) and Simon Norris. Simon's question:

Should the default model for all of BC presume that DV/BT are the same thing for the purposes of access modelling, or is this a regional quirk?

Current state of the BT observation override (parameters_fresh.csv):

bundle observation_species threshold observation_date_min
bcfishpass BT;CH;CO;SK;PK;CM;ST 1 1900-01-01 (no filter)
default BT;DV 1 none

So our default adds DV but drops salmon; bcfp keeps salmon and has no DV. Neither is obviously right, and we've never written down why either set was chosen.

Correction (verified 2026-08-06): an earlier version of this issue said we already model DV as its own species. We do not. DV has a row in the default bundle's dimensions.csv and parameters_fresh.csv, and presence flags in 194 of 246 WSGs — but it is skipped at rules-build time: lnk_rules_build() prints Skipping DV: no thresholds in fresh CSV, because fresh's parameters_habitat_thresholds.csv covers only BT, CH, CM, CO, GR, KO, PK, RB, SK, ST, WCT. Same for CT.

So rules.yaml has 11 species, no mapping_code_dv column is produced, and a PINE run resolves species = {BT, RB, GR}.

Prerequisite for the empirical work below: adding DV (and CT) thresholds to fresh's parameters_habitat_thresholds.csv — a fresh-side change. Until then DV can only act as evidence for BT's override (which is what observation_species = BT;DV already does), not be modelled independently.

Why this is genuinely ambiguous (not just a config preference)

DV and BT are hard to separate, so the observation records themselves are noisy. From the provincial field key (McPhail & Carveth 1993, Field Key to the Freshwater Fishes of British Columbia, Appendix pp. 218-219, 223):

  • Adults key out on branchiostegal ray counts — DV 19-24, BT 24-29 — which overlap at 24 — plus snout profile and spot size/spacing.
  • Juveniles: "The young of these species can not be reliably identified except biochemically."
  • "Where they coexist, Dolly Varden and bull trout usually show some hybridization."

So a meaningful share of provincial DV/BT records are effectively "a char", assigned by locality convention or observer expectation. This is an argument for treating DV as BT evidence where both occur — and an argument for caution where only DV occurs, since there the record is more likely to be a true DV.

Questions

  1. Where does DV-as-BT evidence hold? From the presence table, 54 of 246 WSGs have DV present and BT absent — almost entirely coastal and far north (ALBN, BELA, KNIG, HOLB, NIMP, OWIK, TOBA, SEYM, COMX, VICT, KITL, KHTZ, NEVI, STIR ... plus LRDO, MUSK, USTK, ATLL, TATR, NAHR). Working hypothesis: the override is sound where DV and BT co-occur, and over-credits in those 54. Quantify the access delta in both settings and map it.

  2. Should the override be multiple rules per species? We want "BT;DV, 1 fish, any date" and "salmon, 5 fish since 1990" simultaneously — different evidence, different confidence. lnk_barrier_overrides reads one rule row per species today (R/lnk_barrier_overrides.R:141-148), so both cannot be expressed. Relates to bcfp's own split (residents no date filter, anadromous/ST post-1990).

  3. Is DV access_gradient_max = 0.25 defensible? Currently identical to BT — inherited, not researched. Confirm via literature / local knowledge, or set it separately.

  4. Should rules be watershed-group scoped? If DV-as-BT is regional, the config needs a WSG axis, not just a species axis. Keep it trackable in config files rather than code.

Deliverables

Related

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