Skip to content

trifecta + balance + run_provincial: filter dispatch list to bundle species (skip 15 known-empty WSGs) #157

@NewGraphEnvironment

Description

@NewGraphEnvironment

Problem

Every provincial run dispatches 15 WSGs that have zero target species for the bcfishpass bundle (BT/CH/CM/CO/PK/SK/ST/WCT). Each errors ~30-80s in with No species resolved for AOI '<wsg>'. Net waste per provincial run: ~12 min compute, 15 stub-error RDS files.

The 15 affected WSGs (carry only ct/dv/gr/rb per inst/extdata/configs/bcfishpass/overrides/wsg_species_presence.csv):

WSG Flagged species Note
ATLL dv, gr, rb
BRID ct, rb Falls 20807
CHUK dv No target species observations
GRNL rb No target species observations
KAKC rb Not accessible to target species
KUSR dv, gr No target species observations
LEUT rb Kenny Dam
LFRT gr, rb Mackenzie basin
LKEC dv, gr Mackenzie basin
LNRS ct, rb
MURT rb
MUSK dv, rb
PITR dv, rb No target species observations
UISR dv, rb Forrest Kerr Generating Station
UPET gr, rb Mackenzie basin

Root cause

trifecta_provincial.sh (line 50), balance_provincial_buckets.R (line 123), and run_provincial_parity.R (line 49) all use the same broad presence inclusion list:

spp_cols <- c("ch","cm","co","pk","sk","st","bt","wct","ct","dv","rb")
has_spp <- apply(wsg_pres[, spp_cols, drop=FALSE], 1,
                 function(r) any(r %in% c("t","TRUE",TRUE)))

The check looks for ANY of 11 species presence flags. The bcfishpass bundle only classifies the first 8 — so a WSG flagged only for ct/dv/gr/rb passes the dispatch filter but errors during lnk_pipeline_species() (which intersects with cfg$species).

Fix

Narrow the presence check to the bundle's cfg$species (8 bcfp species). Caller-passed species override still works for default-bundle runs that want broader coverage.

spp_cols <- tolower(cfg$species)  # 8 species for bcfishpass bundle
has_spp <- apply(wsg_pres[, spp_cols, drop=FALSE], 1,
                 function(r) any(r %in% c("t","TRUE",TRUE)))

Predicted impact: provincial run drops from 232 → 217 dispatched WSGs; ~12 min wall-time saved; zero stub-error RDS files.

Prior context

  • Surfaced in research/provincial_parity_2026_05_01.md Errors section; "filed as a follow-up" never actually filed (this issue).
  • Reproduced unchanged in 2026-05-11 provincial run (same 15 WSGs, link 0.35.0).

Acceptance

  • trifecta_provincial.sh + balance_provincial_buckets.R + run_provincial_parity.R filter against bundle species.
  • Dry-run prints 217 WSGs (was 232) for the bcfishpass bundle.
  • research/provincial_parity_v0.35.0.md documents the 15-WSG enumeration as known-empty.

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