Central Valley Enhanced

Acoustic Tagging Project

logo





Sacramento River Green Sturgeon

2017-2018 Season (PROVISIONAL DATA)


1. Project Status

Study is complete, all tags are no longer active. All times in Pacific Standard Time.

See tagging details below:
Release_time Number_fish_released Release_location Release_rkm Mean_length Mean_weight
2017-10-03 01:16:00 1 Altube Island Complex 461.00 203.0 50.7
2017-10-05 01:47:00 2 Hunters Resort 450.35 186.5 43.2
2017-10-05 22:18:00 2 Lower Antelope Creek 447.40 160.0 27.1
2017-10-12 00:34:00 1 Upper Woodson Glide 421.40 187.0 38.8
2017-10-12 21:49:00 2 Bank Robber 452.50 159.0 24.1
2017-10-19 00:19:00 2 Hunters Resort 450.35 154.0 24.7
2017-10-19 01:19:00 1 Hunters Resort 450.35 145.0 21.4
2017-10-24 01:10:00 1 Altube Island Complex 461.00 163.0 28.9
2017-10-25 00:57:00 1 Bank Robber 452.50 149.0 21.8
2017-10-25 23:23:00 3 Lower Antelope Creek 447.40 185.7 43.2
2017-10-26 23:38:00 2 Upper Woodson Glide 421.40 199.5 51.5
2017-11-01 21:54:00 2 Hunters Resort 450.35 194.5 51.7
2017-11-02 21:32:00 2 Upper Woodson Glide 421.40 179.0 34.9
2017-11-02 23:50:00 1 Lower Woodson Glide 419.40 256.0 109.0
2017-11-06 22:29:00 1 Antelope Bridge 466.50 171.0 32.2
2017-11-07 22:57:00 6 Lower Woodson Glide 419.40 260.8 116.4
2017-11-14 22:27:00 6 Bank Robber 452.50 170.0 33.5
2017-11-16 23:50:00 5 RBDD Outfall 463.00 195.6 51.7
2017-11-28 22:37:00 1 Altube Island Complex 461.00 225.0 79.6
2017-11-30 20:35:00 1 Lower Woodson Glide 419.40 193.0 53.3
2017-12-06 20:05:00 1 Hunters Resort 450.35 250.0 100.2
2017-12-07 21:43:00 4 Upper Woodson Glide 421.40 202.5 53.5
2017-12-11 21:52:00 1 Antelope Bridge 466.50 165.0 29.9
2017-12-12 19:00:00 1 Upper Woodson Glide 421.40 286.0 134.8
2018-01-22 23:17:00 1 Hunters Resort 450.35 209.0 56.7
2018-01-23 21:18:00 1 Lower Woodson Glide 419.40 274.0 130.5
2018-02-12 21:30:00 1 Hunters Resort 450.35 160.0 28.1
2018-02-13 21:35:00 2 Upper Woodson Glide 421.40 223.5 76.6


2. Real-time Fish Detections

Sacramento real-time receivers deployed 2018-02-01, data current as of 2025-04-22 09:00:00. All times in Pacific Standard Time.

NOTE: THESE FISH WERE RELEASED SEVERAL MONTHS BEFORE REALTIME STATIONS WERE INSTALLED, THEREFORE DETECTIONS NOTED HERE ARE FOR A SMALL SUBSET OF ALL FISH.

setwd(paste(file.path(Sys.getenv("USERPROFILE"),"Desktop",fsep="\\"), "\\Real-time data massaging\\products", sep = ""))

library(cder)

detects_study <- read.csv("C:/Users/field/Desktop/Real-time data massaging/products/Study_detection_files/detects_Juv_Green_Sturgeon_2017.csv", stringsAsFactors = F)

if (nrow(detects_study) == 0){
  "No detections yet"
} else {
  detects_study$DateTime_PST <- as.POSIXct(detects_study$DateTime_PST, format = "%Y-%m-%d %H:%M:%S", "Etc/GMT+8")

  detects_study <- merge(detects_study, study_tagcodes[,c("TagID_Hex", "RelDT", "StudyID", "tag_life")], by.x = "TagCode", by.y = "TagID_Hex")


  detects_study <- detects_study[detects_study$general_location == "TowerBridge",]
  detects_study <- merge(detects_study,aggregate(list(first_detect = detects_study$DateTime_PST), by = list(TagCode= detects_study$TagCode), FUN = min))
  
  starttime <- as.Date(min(detects_study$first_detect)-60*60*24, "Etc/GMT+8")
  ## Endtime should be either now, or end of predicted tag life, whichever comes first
  endtime <- min(as.Date(c(Sys.time())), max(as.Date(detects_study$RelDT)+(detects_study$tag_life*1.5)))
  wlk_flow <- cdec_query("COL", "20", "H", starttime, endtime+1)
  wlk_flow$datetime <- as.Date(wlk_flow$DateTime)
  wlk_flow_day <- aggregate(list(parameter_value = wlk_flow$Value), by = list(Day = wlk_flow$datetime), FUN = mean, na.rm = T)
  
  detects_study$Day <- as.Date(detects_study$first_detect, "Etc/GMT+8")
  daterange <- data.frame(Day = seq.Date(from = starttime, to = endtime, by = "day"))
  
  
  tagcount <- aggregate(list(unique_tags = detects_study$TagCode), by = list(Day = detects_study$Day), FUN = function(x){length(unique(x))})
  
  daterange1 <- merge(daterange, tagcount, all.x=T)
  daterange2 <- merge(daterange1, wlk_flow_day, by = "Day", all.x = T)
  
  par(mar=c(6, 5, 2, 5) + 0.1)
  barp <- barplot(height= daterange2$unique_tags, plot = FALSE)
  barplot(height= daterange2$unique_tags, col="gray",  names.arg= daterange2$Day, xlab = "", ylab = "Number of fish arrivals per day", ylim = c(0,max(daterange2$unique_tags, na.rm = T)*1.2), las = 2, xlim=c(0,max(barp)+1), cex.lab = 1.5, yaxt = "n", xaxt = "n")
  ybreaks <- if(max(daterange2$unique_tags, na.rm = T) < 4) {max(daterange2$unique_tags, na.rm = T)} else {5}
  xbreaks <- if(length(barp) > 10) {seq(1, length(barp), 5)} else {1:length(barp)}
  axis(1, at = barp[xbreaks], labels = daterange2[xbreaks,"Day"], las = 2)
  axis(2, at = pretty(0:max(daterange2$unique_tags, na.rm = T), ybreaks))
  
  par(new=T)
  
  plot(x = barp, daterange2$parameter_value, yaxt = "n", xaxt = "n", ylab = "", xlab = "", col = "blue", type = "l", lwd=2, xlim=c(0,max(barp)+1))#, ylab = "Returning adults", xlab= "Outmigration year", yaxt="n", col="red", pch=20)
  axis(side = 4)#, labels = c(2000:2016), at = c(2000:2016))
  mtext("Flow (cfs) at Colusa Bridge", side=4, line=3, cex=1.5, col="blue")

}
2.1 Detections at Tower Bridge (downtown Sacramento) versus Sacramento River flows at Colusa Bridge

2.1 Detections at Tower Bridge (downtown Sacramento) versus Sacramento River flows at Colusa Bridge



3. Detection Statistics


## Warning in fread("C:/Users/field/Desktop/Real-time data
## massaging/products/Study_detection_files/detects_Juv_Green_Sturgeon_2017.csv",
## : Column name 'RelDT' (colClasses[[1]][2]) not found
3.1 Detections for all release weeks combined
general_location First_arrival Fish_count Percent_arrived rkm
TowerBridge 2018-02-01 21:03:27 2 3.64 172.000
I80-50_Br 2018-02-01 15:26:19 2 3.64 170.748