Study is complete, all tags are no longer active. All times in Pacific Standard Time.
See tagging details below:Release_week | First_release_time | Last_release_time | Number_fish_released | Release_location | Release_rkm | Mean_length | Mean_weight |
---|---|---|---|---|---|---|---|
Week 1 | 2018-04-04 21:00:00 | 2018-04-06 21:00:00 | 56 | SutterBypass Weir2 RST | 249.54 | 99.7 | 11.3 |
Week 2 | 2018-04-17 21:00:00 | 2018-04-21 21:00:00 | 115 | SutterBypass Weir2 RST | 249.54 | 96.0 | 10.0 |
Week 3 | 2018-04-26 21:00:00 | 2018-04-27 21:00:00 | 51 | SutterBypass Weir2 RST | 249.54 | 86.4 | 6.9 |
Week 4 | 2018-05-01 21:00:00 | 2018-05-04 21:00:00 | 72 | SutterBypass Weir2 RST | 249.54 | 86.0 | 6.8 |
Week 5 | 2018-05-06 21:00:00 | 2018-05-09 21:00:00 | 27 | SutterBypass Weir2 RST | 249.54 | 83.9 | 6.1 |
Week 6 | 2018-05-15 20:00:00 | 2018-05-17 20:00:00 | 59 | ButteCreek-ppdd-RST | 330.84 | 83.5 | 6.9 |
Sacramento real-time receivers deployed 2018-02-01, Georgiana_Slough and Sac_BlwGeorgiana receivers deployed 2018-04-16, data current as of 2025-04-22 08:00:00. All times in Pacific Standard Time.
setwd(paste(file.path(Sys.getenv("USERPROFILE"),"Desktop",fsep="\\"), "\\Real-time data massaging\\products", sep = ""))
library(cder)
library(reshape2)
detects_study <- read.csv("C:/Users/field/Desktop/Real-time data massaging/products/Study_detection_files/detects_SB-Spring-2018.csv", stringsAsFactors = F)
detects_study$DateTime_PST <- as.POSIXct(detects_study$DateTime_PST, format = "%Y-%m-%d %H:%M:%S", "Etc/GMT+8")
tagcodes <- read.csv("qry_HexCodes.txt", stringsAsFactors = F)
tagcodes$RelDT <- as.POSIXct(tagcodes$RelDT, format = "%m/%d/%Y %H:%M:%S %p", tz = "Etc/GMT+8")
tagcodes$Release_week <- NA
tagcodes[tagcodes$RelDT < as.POSIXct("2018-04-10"), "Release_week"] <- "Week 1"
tagcodes[tagcodes$RelDT > as.POSIXct("2018-04-10") & tagcodes$RelDT < as.POSIXct("2018-04-22"), "Release_week"] <- "Week 2"
tagcodes[tagcodes$RelDT > as.POSIXct("2018-04-22") & tagcodes$RelDT < as.POSIXct("2018-04-28"), "Release_week"] <- "Week 3"
tagcodes[tagcodes$RelDT > as.POSIXct("2018-04-28") & tagcodes$RelDT < as.POSIXct("2018-05-05"), "Release_week"] <- "Week 4"
tagcodes[tagcodes$RelDT > as.POSIXct("2018-05-05") & tagcodes$RelDT < as.POSIXct("2018-05-10"), "Release_week"] <- "Week 5"
tagcodes[tagcodes$RelDT > as.POSIXct("2018-05-10"), "Release_week"] <- "Week 6"
#wlk_flow <- read.csv("wlk.csv")
if (nrow(detects_study) == 0){
"No detections yet"
} else {
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))
detects_study$Day <- as.Date(detects_study$first_detect, "Etc/GMT+8")
detects_study <- merge(detects_study, tagcodes[,c("TagID_Hex", "RelDT", "StudyID", "Release_week", "tag_life")], by.x = "TagCode", by.y = "TagID_Hex")
starttime <- as.Date(min(detects_study$RelDT), "Etc/GMT+8")
endtime <- min(as.Date(c(Sys.time())), max(as.Date(detects_study$RelDT)+detects_study$tag_life))
wlk_flow <- cdec_query("WLK", "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)
daterange <- data.frame(Day = seq.Date(from = starttime, to = endtime, by = "day"))
rels <- unique(tagcodes[tagcodes$StudyID == unique(detects_study$StudyID), "Release_week"])
rel_num <- length(rels)
rels_no_detects <- as.character(rels[!(rels %in% unique(detects_study$Release_week))])
tagcount <- aggregate(list(unique_tags = detects_study$TagCode), by = list(Day = detects_study$Day, Release_week = detects_study$Release_week ), FUN = function(x){length(unique(x))})
tagcount1 <- reshape2::dcast(tagcount, Day ~ Release_week)
daterange1 <- merge(daterange, tagcount1, all.x=T)
if(length(rels_no_detects)>0){
for(i in rels_no_detects){
daterange1 <- cbind(daterange1, x=NA)
names(daterange1)[names(daterange1) == 'x'] <- paste(i)
}
}
daterange2 <- merge(daterange1, wlk_flow_day, by = "Day", all.x = T)
rownames(daterange2) <- daterange2$Day
daterange2$Day <- NULL
par(mar=c(6, 5, 2, 5) + 0.1)
barp <- barplot(t(daterange2[,1:ncol(daterange2)-1]), plot = FALSE, beside = T)
barplot(t(daterange2[,1:ncol(daterange2)-1]), beside = T, col=rainbow(rel_num),
xlab = "", ylab = "Number of fish arrivals per day",
ylim = c(0,max(daterange2[,1:ncol(daterange2)-1], na.rm = T)*1.2),
las = 2, xlim=c(0,max(barp)+1), cex.lab = 1.5, yaxt = "n", xaxt = "n", border=NA)#,
#legend.text = colnames(daterange2[,1:ncol(daterange2)-1]),
#args.legend = list(x ='topright', bty='n', inset=c(-0.2,0)), title = "Release Group")
legend(x ='topleft', legend = colnames(daterange2[,1:ncol(daterange2)-1]), fill= rainbow(rel_num), horiz = T, title = "Release Week")
ybreaks <- if(max(daterange2[,1:ncol(daterange2)-1], na.rm = T) < 4) {max(daterange2[,1:ncol(daterange2)-1], na.rm = T)} else {5}
xbreaks <- if(ncol(barp) > 10) {seq(1, ncol(barp), 2)} else {1:ncol(barp)}
barpmeans <- colMeans(barp)
axis(1, at = barpmeans[xbreaks], labels = rownames(daterange2[xbreaks,]), las = 2)
axis(2, at = pretty(0:max(daterange2[,1:ncol(daterange2)-1], na.rm = T), ybreaks))
par(new=T)
plot(x = barpmeans, daterange2$parameter_value, yaxt = "n", xaxt = "n", ylab = "", xlab = "", col = "blue", type = "l", lwd=2, xlim=c(0,max(barp)+1), ylim = c(min(daterange2$parameter_value, na.rm = T), max(daterange2$parameter_value, na.rm=T)*1.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 Wilkins Slough", side=4, line=3, cex=1.5, col="blue")
}
2.1 Detections at Tower Bridge (downtown Sacramento) versus Sacramento River flows at Wilkins Slough
Release Week | Survival (%) | SE | 95% lower C.I. | 95% upper C.I. | Detection efficiency (%) |
---|---|---|---|---|---|
ALL | 27.2 | 2.4 | 22.8 | 32.1 | 92.9 |
Week 1 | 18.7 | 5.4 | 10.3 | 31.5 | NA |
Week 2 | 70.2 | 4.7 | 60.3 | 78.5 | NA |
Week 3 | 11.9 | 4.6 | 5.4 | 24.1 | NA |
Week 4 | 8.5 | 3.3 | 3.9 | 17.8 | NA |
Week 5 | 0.0 | 0.0 | 0.0 | 0.0 | NA |
Week 6 | 0.0 | 0.0 | 0.0 | 0.0 | NA |
general_location | First_arrival | Mean_arrival | Fish_count | Percent_arrived | rkm |
---|---|---|---|---|---|
TowerBridge | 2018-04-10 15:36:58 | 2018-04-25 23:09:10 | 96 | 25.26 | 172.000 |
I80-50_Br | 2018-04-10 08:05:10 | 2018-05-01 17:38:25 | 56 | 14.74 | 170.748 |
Georgiana_Slough1 | 2018-04-11 00:35:22 | 2018-04-22 02:49:54 | 16 | 4.21 | 119.208 |
Sac_BlwGeorgiana | 2018-04-10 08:34:25 | 2018-04-25 03:56:59 | 61 | 16.05 | 119.058 |
Benicia_east | 2018-04-24 22:43:11 | 2018-04-28 00:14:25 | 31 | 8.16 | 52.240 |
Benicia_west | 2018-04-25 19:57:29 | 2018-04-28 17:46:53 | 22 | 5.79 | 52.040 |
general_location | First_arrival | Mean_arrival | Fish_count | Percent_arrived | rkm |
---|---|---|---|---|---|
TowerBridge | 2018-04-10 15:36:58 | 2018-04-11 03:16:27 | 7 | 12.50 | 172.000 |
I80-50_Br | 2018-04-10 08:05:10 | 2018-04-11 01:30:20 | 4 | 7.14 | 170.748 |
Georgiana_Slough1 | 2018-04-11 00:35:22 | 2018-04-11 00:59:07 | 2 | 3.57 | 119.208 |
Sac_BlwGeorgiana | 2018-04-10 08:34:25 | 2018-04-14 07:02:12 | 6 | 10.71 | 119.058 |
general_location | First_arrival | Mean_arrival | Fish_count | Percent_arrived | rkm |
---|---|---|---|---|---|
TowerBridge | 2018-04-19 16:43:58 | 2018-04-22 16:31:36 | 77 | 66.96 | 172.000 |
I80-50_Br | 2018-04-19 10:26:30 | 2018-04-23 00:02:48 | 43 | 37.39 | 170.748 |
Georgiana_Slough1 | 2018-04-20 17:17:14 | 2018-04-22 11:59:56 | 14 | 12.17 | 119.208 |
Sac_BlwGeorgiana | 2018-04-20 17:36:37 | 2018-04-24 22:12:32 | 51 | 44.35 | 119.058 |
Benicia_east | 2018-04-24 22:43:11 | 2018-04-27 23:44:03 | 30 | 26.09 | 52.240 |
Benicia_west | 2018-04-25 19:57:29 | 2018-04-28 15:10:24 | 21 | 18.26 | 52.040 |
general_location | First_arrival | Mean_arrival | Fish_count | Percent_arrived | rkm |
---|---|---|---|---|---|
TowerBridge | 2018-04-28 21:43:30 | 2018-05-01 11:04:13 | 6 | 11.76 | 172.000 |
I80-50_Br | 2018-04-28 15:17:44 | 2018-04-30 21:56:55 | 5 | 9.80 | 170.748 |
Sac_BlwGeorgiana | 2018-05-03 13:20:08 | 2018-05-03 13:22:34 | 1 | 1.96 | 119.058 |
Benicia_east | 2018-05-06 10:54:15 | 2018-05-06 10:54:51 | 1 | 1.96 | 52.240 |
Benicia_west | 2018-05-06 10:56:01 | 2018-05-06 10:57:12 | 1 | 1.96 | 52.040 |
general_location | First_arrival | Mean_arrival | Fish_count | Percent_arrived | rkm |
---|---|---|---|---|---|
TowerBridge | 2018-05-05 21:36:43 | 2018-05-06 07:14:42 | 6 | 8.33 | 172.000 |
I80-50_Br | 2018-05-05 16:08:40 | 2018-05-07 01:03:36 | 4 | 5.56 | 170.748 |
Sac_BlwGeorgiana | 2018-05-07 01:27:15 | 2018-05-07 08:18:01 | 3 | 4.17 | 119.058 |
No detections for Week 5 release group yet
No detections for Week 6 release group yet