The Spring Run Juvenile Production Estimate uses historical rotary screw trap and adult survey data. In order to improve model performance the modeling team worked with the stream teams to filter out data that is too incomplete to use for modeling. This article describes the process for selecting RST years to include and adult years to include.

Historically this process differed for each tributary and was based on the rules below. This ruleset was complicated and difficult to maintain. In April 2026 we decided to transition to a consistent ruleset to apply across all years and streams. We compared a number of thresholds and determined that a rule where at least 60% of the weeks (45:53, 1:22) were sampled was appropriate - it was not too stringent and did not include too many gaps. In addition, any sites that do not have any mark-recapture efficiency trials are removed.

RST Data - Historical Ruleset

The modeling team hosted a modeling windows workshop where we discussed approaches to defining the time window that should be included in the juvenile abundance model. At the workshop we decided to use the full sampling season of data for each tributary, site, and year but to exclude years where we were concerned about data completeness. We came up with the following approach to determine excluded years:

  1. First exclude years with lots of missing data from cumulative catch curves. See data-raw/years_to_exclude.csv (exclusion_type = “really low sampling”).
  2. Exclude yearlings from cumulative catch curves.
  3. Use updated cumulative catch curves to determine the critical window (average window over all historical years that captures 75% percent of catch).
  4. Remove additional years where there is no sampling for 4 consecutive weeks within the critical window. See data-raw/years_to_exclude.csv (exclusion_type = “missing four consecutive weeks in critical window”).

Heat map of all tributaries

The heat map below shows when sampling occurs for all streams. It shows that sampling is more complete across traps from 2004 - 2009 and from mid November to July. Some traps have continued sampling throughout the season. Some years there are gaps within season for specific traps or across multiple traps.

RST Data - Current Ruleset

Ruleset defined as “at least 19 weeks included within a run year (week 45-53 and 1-22) for a given site” or 60% of weeks sampled. Sites that do not have any (across all years) mark-repcature efficiency trials are also excluded.

Stream Site Run Year Exclusion Type
battle creek lbc 1999 60% of weeks sampled
battle creek lbc 2000 60% of weeks sampled
battle creek lbc 2001 60% of weeks sampled
battle creek lbc 2002 60% of weeks sampled
battle creek lbc 2003 60% of weeks sampled
battle creek lbc 2004 60% of weeks sampled
battle creek lbc 2005 60% of weeks sampled
battle creek lbc 2006 60% of weeks sampled
battle creek lbc 2016 60% of weeks sampled
battle creek ubc 2001 60% of weeks sampled

… with 48 more rows

Spring run specific ruleset

Although the focus of this effort is on spring run Chinook salmon, the SR JPE modeling was designed to be applicable for modeling all runs as PLAD run designations are available for all runs. The “years to exclude” ruleset is broadly applicable, however, there are some specific cases where there may be site/years beyond those identified in the “years to exclude ruleset” that are not expected for perform well, specifically for spring run. This may happen when the number of weeks sampling is met but there is a large gap in sampling during the peak of spring run outmigration. We developed an additional list to track these cases and apply to modeling.

stream site run_year number_weeks exclusion_type apply_to
sacramento river tisdale 2013 20 spring run specific - 11 consecutive weeks not sampled Dec 16 to Feb 19 spring
feather river herringer riffle 2008 21 spring run specific - 9 weeks missing Nov 04 to Jan 01 spring

years_to_exclude_rst_data object

We combine the “years to exclude” ruleset and the spring run specific ruleset into one data object years_to_exclude_rst_data and add a column called apply_to. This column will be all runs for the broad ruleset or could be specific to a particular run (e.g. will be spring for spring run specific cases)

usethis::use_data(years_to_exclude_rst_data, overwrite = TRUE)

years_to_include_rst_data object

In order to apply the years to exclude information to the modeling datasets we did some additional processing to create a table describing the stream, site, year that should be included in the SR JPE modeling. There are two versions of this table depending on if a list of site/years for all runs or spring run specific are needed.

  • years_to_include_rst_data use when want to apply ruleset broadly, applicable for all runs
  • years_to_include_rst_data_spring use when want to apply ruleset specifically to spring run

The table below shows a section of this table applicable to all runs:

stream site run_year
battle creek ubc 1999
battle creek ubc 2000
battle creek ubc 2002
battle creek ubc 2003
battle creek ubc 2004
battle creek ubc 2005
battle creek ubc 2006
battle creek ubc 2008
battle creek ubc 2009
battle creek ubc 2010

… with 212 more rows

Adult Data - Years to Include in Model

We treated adult data a little differently to account for the two main types of adult data - adult survey data (holding, redd, carcass) and adult passage data (video passage).

Below are the methods we used for excluding years by adult data type:

Survey data

  • Exclude year if survey does not cover core reaches in a year or if less than 50% of reaches are sampled.

    Stream Core Reaches
    Battle Creek R1, R2, R3, R4 (R5, R6)
    Butte Creek A1, B1, C1, D1, E3
    Clear Creek R1, R2, R3, R4, R5 (R5A, R5B, R5C)
    Deer Creek Lower Falls to A line, A line to Wilson Cove, Polk Springs to Murphy Trail, Murphy Trail to Ponderosa Way, Ponderosa Way to Trail 2E17, Trail 2E17 to Dillon Cove, Uper Falls to Potato Patch Camp, Potato Patch Camp to Highway 32 (Red Bridge)
    Feather River 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38
    Mill Creek Mccarthy Place To Savercool Place, Savercool Place To Black Rock, Black Rock To Below Ranch House, Below Ranch House To Above Avery, Above Avery To Pape Place, Pape Place to Buckhorn Gulch, Buckhorn Gulch To Upper Dam, Above Hwy 36,Hwy 36 To Little Hole In Ground, Hole In Ground To Ishi Trail Head, Ishi Trail Head To Big Bend, Big Bend to Canyon Camp, Canyon Camp To Sooner Place
    Yuba River Yuba does not have core reaches with historical survyes, only samples section of river, not appropriate for use in JPE

Video data

  • Exclude year if video is out for more than 4 weeks in the sampling season
  • Exclude year if flows exceed a threshold value on each tributary (overpass weir etc..). Threshold determined by monitoring program.

We used these rules as preliminary way to identify potentially incomplete years and then conducted outreach to stream teams to review our list and highlight any other years that should be excluded or not.

Years to exclude

We utilized above cumulative catch curves and heatmaps to come up with a list of years to exclude from modeling for adult data. See a section of the “years to exclude” table below.

Stream Year Data Type Exclusion Type
battle creek 2017 carcass Missing 50% or more of reach coverage
battle creek 2008 carcass Missing 50% or more of reach coverage
battle creek 2019 carcass Missing 50% or more of reach coverage
battle creek 1996 carcass Missing 50% or more of reach coverage
battle creek 1997 carcass Missing 50% or more of reach coverage
battle creek 1998 carcass Missing 50% or more of reach coverage
battle creek 1999 carcass Missing 50% or more of reach coverage
battle creek 2000 carcass Missing 50% or more of reach coverage
battle creek 2001 carcass Missing 50% or more of reach coverage
battle creek 2017 redd Missing reaches 2, 3, 5, and 6

… with 47 more rows

Applying to Modeling Datasets

In order to apply the years to exclude information to the modeling datasets we did some additional processing to create a table describing the stream, year by data type that should be included in the SR JPE modeling.

The table below shows a section of this table:

year stream count data_type lower_bound_estimate upper_bound_estimate confidence_level
2001 battle creek 30 redd NA NA NA
2002 battle creek 71 redd NA NA NA
2003 battle creek 156 redd NA NA NA
2004 battle creek 35 redd NA NA NA
2005 battle creek 46 redd NA NA NA
2006 battle creek 121 redd NA NA NA
2007 battle creek 132 redd NA NA NA
2008 battle creek 38 redd NA NA NA
2009 battle creek 85 redd NA NA NA
2010 battle creek 89 redd NA NA NA

… with 251 more rows