Taken from California Department of Fish and Wildlife Website:
The Fall Midwater Trawl Survey (FMWT) has sampled annually since it’s inception in 1967, with the exceptions of 1974 and 1979, when sampling was not conducted. The FMWT was initiated to determine the relative abundance and distribution of age-0 striped bass (Morone saxatilis) in the estuary, but the data has also been used for other upper estuary pelagic species, including delta smelt (Hypomesus transpacificus), longfin smelt (Spirinchus thaleichthys), American shad (Alosa sapidissima), splittail (Pogonichthys macrolepidotus), and threadfin shad (Dorosoma petenense). The FMWT samples 122 stations each month from September to December and a subset of these data is used to calculate an annual abundance index. These 122 stations range from San Pablo Bay upstream to Stockton on the San Joaquin River, Hood on the Sacramento River, and the Sacramento Deep Water Ship Channel. Sampling takes approximately 9 days per month to complete. Historically, FMWT sampling occasionally began as early as July (1972) or August (1968-1973, 1993-1994, 1996-1997) and sometimes continued past December to March (1968-1973, 1978, 1991-2001) or beyond (1992-1995). The consistent January-March midwater trawl sampling conducted from 1991-2001 to track movements of mature adult delta smelt was replaced in 2002 with the more effective Spring Kodiak Trawl.
The midwater trawl net has mouth dimensions of 12 ft x 12 ft when stretched taught, but mouth dimensions will be smaller when under tension during a tow. Net mesh sizes graduate in nine sections from 8-inch stretch-mesh at the mouth to 0.5-inch stretch-mesh at the cod-end. All four corners of the net mouth are connected to planing doors, which together counteract the drag on net material and hold the net mouth open when being towed through the water. At each station a 12 minute tow is conducted during which the net is retrieved obliquely through the water column from bottom to surface. All fish, shrimp, and jellyfish are identified and enumerated. In addition, the crew measures water temperature, electrical conductivity (specific conductance), Secchi depth, and turbidity.
FMWT equipment and methods have remained consistent since the survey’s inception, which allows annual abundance indices to be compared across time. Monthly and annual abundance indices are calculated using catch data from 100 “index” stations grouped into 17 regional “areas”. Monthly indices are calculated by averaging catch per tow for index stations in each regional area, multiplying these means by their respective weighting factors (i.e., a scalar based on water volume) for each area and summing these products for all 17 areas. Annual abundance indices are the sum of the 4 (September-December) monthly indices
The FMWT is mandated by the Delta Smelt Biological Opinion for the coordinated operation of the Central Valley Project and the State Water Project.
Number of sampling events for each index station for each year between September and December (stations are sampled once a month and no more frequent than that). Ignoring Spring trawls because they stopped in recent years. Overall, there has been somewhat inconsistent sampling throughout the years. Only the 100 index stations were used (see description above).
Check sampling effort by first digit region (region “3”,“4”, etc.). Somewhat inconsistent sampling across regions in the earlier years, but more consistent over time. We will just take an average for each region and month before averaging across months to get a value for each year.
See: https://www.dfg.ca.gov/delta/data/fmwt/stations.asp
Read data from Sam Bashevkin’s integrated fish dataset and select only species of interest: Delta Smelt, age-0 Striped Bass, Threadfin Shad, American Shad, Longfin Smelt, Northern Anchovy, and Pacific Herring
Used csv data from Steve Slater (California Department of Fish and Wildlife) that indicates “index stations”
Process data
#Load species
FMWT_Delta_Smelt <-get_fish(source="FMWT",
taxa="Hypomesus transpacificus",
remove_cols=c("Sal_bot", "Tow_duration", "Tow_area",
"Notes_tow", "Notes_flowmeter", "Notes_catch"))
FMWT_Longfin_Smelt <-get_fish(source="FMWT",
taxa="Spirinchus thaleichthys",
remove_cols=c("Sal_bot", "Tow_duration", "Tow_area",
"Notes_tow", "Notes_flowmeter", "Notes_catch"))
FMWT_Threadfin_Shad <-get_fish(source="FMWT",
taxa="Dorosoma petenense",
remove_cols=c("Sal_bot", "Tow_duration", "Tow_area",
"Notes_tow", "Notes_flowmeter", "Notes_catch"))
FMWT_American_Shad <-get_fish(source="FMWT",
taxa="Alosa sapidissima",
remove_cols=c("Sal_bot", "Tow_duration", "Tow_area",
"Notes_tow", "Notes_flowmeter", "Notes_catch"))
FMWT_Northern_Anchovy <-get_fish(source="FMWT",
taxa="Engraulis mordax",
remove_cols=c("Sal_bot", "Tow_duration", "Tow_area",
"Notes_tow", "Notes_flowmeter", "Notes_catch"))
FMWT_Pacific_Herring <-get_fish(source="FMWT",
taxa="Clupea pallasii",
remove_cols=c("Sal_bot", "Tow_duration", "Tow_area",
"Notes_tow", "Notes_flowmeter", "Notes_catch"))
#Load age-0 Striped Bass
#Remove age-1 Striped Bass and NOTE that we assume that unmeasured Striped Bass are age-0
FMWT_Striped_Bass <-get_fish(source="FMWT",
taxa="Morone saxatilis",
remove_cols=c("Sal_bot", "Tow_duration", "Tow_area",
"Notes_tow", "Notes_flowmeter", "Notes_catch"))%>%
filter(is.na(Length)|Length<150)
#Limit FMWT data to just index stations
FMWT_combined <- bind_rows(FMWT_Delta_Smelt,FMWT_Longfin_Smelt,FMWT_Threadfin_Shad,FMWT_American_Shad,FMWT_Striped_Bass,FMWT_Northern_Anchovy,FMWT_Pacific_Herring) %>%
filter(Station %in% unique(FMWT_index_stations_only$Station)) %>%
#and only for September to December (survey 3,4,5,6)
filter(Survey %in% c(3:6))
Kimmerer W, Avent SR, Bollens SM, Feyrer F, Grimaldo LF, Moyle PB, Nobriga M, Visintainer T. 2005. Variability in Length–Weight Relationships Used to Estimate Biomass of Estuarine Fish from Survey Data. Trans Am Fish Soc. 134(2):481–495. doi:10.1577/t04-042.1.
FMWT_combined <- FMWT_combined %>%
mutate(Length=ifelse(is.na(Length),0,Length)) %>%
mutate(Biomass = case_when(
Taxa=="Hypomesus transpacificus" ~ (0.0018*(Length^3.38))*Count,
Taxa=="Spirinchus thaleichthys" ~ (0.0005*(Length^3.69))*Count,
Taxa=="Dorosoma petenense" ~ (0.0072*(Length^3.16))*Count,
Taxa=="Alosa sapidissima" ~ (0.0074*(Length^3.09))*Count,
Taxa=="Engraulis mordax" ~ (0.0015*(Length^3.37))*Count,
Taxa=="Clupea pallasii" ~ (0.0015*(Length^3.44))*Count,
Taxa=="Morone saxatilis" ~ (0.0066*(Length^3.12))*Count))
Calculated biomass and catch count per sampling event. Then calculate average for each region, then average across region to get a value for every year and month combination, then another average across months to get an annual value. Also converted Latin name to common name.
FMWT_combined_sum <- FMWT_combined %>%
# assign each row a region for the four regions
region_assigner(analysis= "annual") %>%
group_by(Station,Date,Datetime,Survey,Taxa, Region) %>%
summarise(Biomass=sum(Biomass),Catch_per_tow=sum(Count)) %>%
mutate(Year=year(Date),sub_region=as.numeric(substr(Station, 1, 1)))
FMWT_annual_values <- FMWT_combined_sum %>%
group_by(Year,sub_region,Survey,Taxa) %>%
summarise(Biomass=mean(Biomass),Catch_per_tow=mean(Catch_per_tow)) %>%
group_by(Year,Survey,Taxa) %>%
summarise(Biomass=mean(Biomass),Catch_per_tow=mean(Catch_per_tow)) %>%
group_by(Year,Taxa) %>%
summarise(Biomass=mean(Biomass),Catch_per_tow=mean(Catch_per_tow)) %>%
mutate(CommonName= case_when(
Taxa=="Hypomesus transpacificus" ~ "DeltaSmelt",
Taxa=="Spirinchus thaleichthys" ~ "LongfinSmelt",
Taxa=="Dorosoma petenense" ~ "ThreadfinShad",
Taxa=="Alosa sapidissima" ~ "AmericanShad",
Taxa=="Engraulis mordax" ~ "NorthernAnchovy",
Taxa=="Clupea pallasii" ~ "PacificHerring",
Taxa=="Morone saxatilis" ~ "StripedBass_age0"))
FMWT_regional_values <- FMWT_combined_sum %>%
group_by(Year,sub_region,Survey,Taxa, Region) %>%
summarise(Biomass=mean(Biomass),Catch_per_tow=mean(Catch_per_tow)) %>%
group_by(Year,Survey,Taxa, Region) %>%
summarise(Biomass=mean(Biomass),Catch_per_tow=mean(Catch_per_tow)) %>%
group_by(Year,Taxa, Region) %>%
summarise(Biomass=mean(Biomass),Catch_per_tow=mean(Catch_per_tow)) %>%
ungroup() %>%
mutate(CommonName= case_when(
Taxa=="Hypomesus transpacificus" ~ "DeltaSmelt",
Taxa=="Spirinchus thaleichthys" ~ "LongfinSmelt",
Taxa=="Dorosoma petenense" ~ "ThreadfinShad",
Taxa=="Alosa sapidissima" ~ "AmericanShad",
Taxa=="Engraulis mordax" ~ "NorthernAnchovy",
Taxa=="Clupea pallasii" ~ "PacificHerring",
Taxa=="Morone saxatilis" ~ "StripedBass_age0")) %>%
select(-Taxa) %>%
# Take out biomasses for years where they didn't measure the length of the fish
mutate(Biomass = ifelse((Year<=1970 & CommonName == "AmericanShad")|
(Year<=1973 & CommonName == "ThreadfinShad")|
(Year<=1973 & CommonName == "DeltaSmelt")|
(Year<=1973 & CommonName == "LongfinSmelt")|
(Year<=1968 & CommonName == "StripedBass_age0")|
(Year<=1972 & CommonName == "NorthernAnchovy")|
(Year<=1972 & CommonName == "PacificHerring"),
NA, Biomass))
FMWT_regional_values_wide = FMWT_regional_values %>%
rename(FMWT_fish_biomass = Biomass,
FMWT_fish_catch_per_tow = Catch_per_tow) %>%
pivot_wider(names_from =CommonName,
values_from =c(FMWT_fish_biomass, FMWT_fish_catch_per_tow)) %>%
mutate(FMWT_fish_biomass_Estuarine_pelagic_forage_fishes=(
FMWT_fish_biomass_AmericanShad +
FMWT_fish_biomass_ThreadfinShad +
FMWT_fish_biomass_DeltaSmelt +
FMWT_fish_biomass_LongfinSmelt +
FMWT_fish_biomass_StripedBass_age0),
FMWT_fish_biomass_Marine_pelagic_forage_fishes=(
FMWT_fish_biomass_NorthernAnchovy +
FMWT_fish_biomass_PacificHerring),
FMWT_fish_catch_per_tow_Estuarine_pelagic_forage_fishes=(
FMWT_fish_catch_per_tow_AmericanShad +
FMWT_fish_catch_per_tow_ThreadfinShad +
FMWT_fish_catch_per_tow_DeltaSmelt +
FMWT_fish_catch_per_tow_LongfinSmelt +
FMWT_fish_catch_per_tow_StripedBass_age0),
FMWT_fish_catch_per_tow_Marine_pelagic_forage_fishes=(
FMWT_fish_catch_per_tow_NorthernAnchovy +
FMWT_fish_catch_per_tow_PacificHerring)
)
Calculate separate data frames for average biomass and catch per tow. Also evaluated generally when certain fish species were not measured and added N/A’s for years when certain species were not measured.
FMWT_annual_values_biomass <- FMWT_annual_values %>% select(Year,CommonName,Biomass) %>%
pivot_wider(names_from =CommonName,values_from =Biomass,names_prefix="FMWT_fish_biomass_")
#Check when FMWT started measuring fish length for each species
FMWT_no_length<-FMWT_combined %>%
filter(is.na(Length)) %>%
mutate(Year=year(Date)) %>%
group_by(Year,Taxa) %>%
summarise(NoLengthCount=sum(Count))
FMWT_total<-FMWT_combined %>%
mutate(Year=year(Date)) %>%
group_by(Year,Taxa) %>%
summarise(TotalCount=sum(Count))
FMWT_no_length_compare<-full_join(FMWT_total,FMWT_no_length)
remove(FMWT_no_length,FMWT_total)
FMWT_no_length_compare$NoLengthCount<-ifelse(is.na(FMWT_no_length_compare$NoLengthCount),
0,FMWT_no_length_compare$NoLengthCount)
FMWT_no_length_compare$proportion_of_not_measured<-FMWT_no_length_compare$NoLengthCount/FMWT_no_length_compare$TotalCount
#Different proportion of fish measured by fish species
#Add NA subjectively
FMWT_annual_values_biomass[FMWT_annual_values_biomass$Year<=1970, "FMWT_fish_biomass_AmericanShad" ] <- NA
FMWT_annual_values_biomass[FMWT_annual_values_biomass$Year<=1973, "FMWT_fish_biomass_ThreadfinShad" ] <- NA
FMWT_annual_values_biomass[FMWT_annual_values_biomass$Year<=1973, "FMWT_fish_biomass_DeltaSmelt" ] <- NA
FMWT_annual_values_biomass[FMWT_annual_values_biomass$Year<=1973, "FMWT_fish_biomass_LongfinSmelt" ] <- NA
FMWT_annual_values_biomass[FMWT_annual_values_biomass$Year<=1968, "FMWT_fish_biomass_StripedBass_age0" ] <- NA
FMWT_annual_values_biomass[FMWT_annual_values_biomass$Year<=1972, "FMWT_fish_biomass_NorthernAnchovy" ] <- NA
FMWT_annual_values_biomass[FMWT_annual_values_biomass$Year<=1972, "FMWT_fish_biomass_PacificHerring" ] <- NA
FMWT_annual_values_biomass <- FMWT_annual_values_biomass %>% mutate(FMWT_fish_biomass_Estuarine_pelagic_forage_fishes=(
FMWT_fish_biomass_AmericanShad +
FMWT_fish_biomass_ThreadfinShad +
FMWT_fish_biomass_DeltaSmelt +
FMWT_fish_biomass_LongfinSmelt +
FMWT_fish_biomass_StripedBass_age0),
FMWT_fish_biomass_Marine_pelagic_forage_fishes=(
FMWT_fish_biomass_NorthernAnchovy +
FMWT_fish_biomass_PacificHerring)
)
FMWT_annual_values_CPUE <- FMWT_annual_values %>%
select(Year,CommonName,Catch_per_tow) %>%
pivot_wider(names_from=CommonName,
values_from=Catch_per_tow,
names_prefix="FMWT_fish_catch_per_tow_") %>%
mutate(FMWT_fish_catch_per_tow_Estuarine_pelagic_forage_fishes=(
FMWT_fish_catch_per_tow_AmericanShad +
FMWT_fish_catch_per_tow_ThreadfinShad +
FMWT_fish_catch_per_tow_DeltaSmelt +
FMWT_fish_catch_per_tow_LongfinSmelt +
FMWT_fish_catch_per_tow_StripedBass_age0),
FMWT_fish_catch_per_tow_Marine_pelagic_forage_fishes=(
FMWT_fish_catch_per_tow_NorthernAnchovy +
FMWT_fish_catch_per_tow_PacificHerring)
)
Check that biomass and catch per unit effort are correlated with one another. And then write csv in the annual average folder
plot(FMWT_annual_values_CPUE$FMWT_fish_catch_per_tow_Estuarine_pelagic_forage_fishes~
FMWT_annual_values_biomass$FMWT_fish_biomass_Estuarine_pelagic_forage_fishes, xlab="Estuarine fish biomass", ylab="Estuarine fish catch per tow")
FMWT_annual_values<-full_join(FMWT_annual_values_CPUE,FMWT_annual_values_biomass)
write.csv(FMWT_annual_values,
row.names=FALSE,
file=file.path("data/annual_averages/fish_FMWT.csv"))
write.csv(FMWT_regional_values_wide,
row.names=FALSE,
file=file.path("data/annual_averages/fish_FMWT_by_regions.csv"))
Lastly, export out station list to data/stations folder
## Use FMWT_combined_sum so the stations saved here match those used in the annual
## and annual regional datasets saved above.
station_ref <- FMWT_combined %>%
select(Station, Latitude, Longitude) %>%
distinct()
FMWT_Coords_stations <- data.frame(FMWT_combined_sum) %>%
select(Station) %>%
distinct() %>%
left_join(station_ref, by="Station") %>%
mutate(Survey="Fall Midwater Trawl")
write.csv(FMWT_Coords_stations,row.names = FALSE,file=file.path("data/stations/stations_fish_FMWT_annual.csv"))