title: “Lab 3” author: “John King” date: “April 24th, 2024” This script creates a snowmelt model for a particular location using data from SNOTEL
# Install necessary packages
library(snotelr)
## Warning: package 'snotelr' was built under R version 4.3.3
library(hydroGOF)
## Warning: package 'hydroGOF' was built under R version 4.3.3
## Loading required package: zoo
## Warning: package 'zoo' was built under R version 4.3.3
##
## Attaching package: 'zoo'
## The following objects are masked from 'package:base':
##
## as.Date, as.Date.numeric
library(hydromisc)
# Downloading data from Echo Peak station
station <- "463"
snow_data <- snotelr::snotel_download(site_id = station, internal = TRUE)
## Downloading site: echo peak , with id: 463
# Plotting data from SNOTEL
plot(as.Date(snow_data$date), snow_data$snow_water_equivalent,
type = "l", xlab = "Date", ylab = "SWE (mm)")
# Using phenology to determine snow accumulation timeframe
phenology <- snotelr::snotel_phenology(snow_data)
## Joining with `by = join_by(date)`
# County: El Dorado
# Elevation: 7653 feet
# First Snow of Chosen Year: November 8th, 2002
# Last Snow of Chosen Year: June 5th, 2003
# The chosen year will range from November to July.
# Plotting chosen year
snow_data_2002 <- subset(snow_data, as.Date(date) >= as.Date("2002-09-01") &
as.Date(date) <= as.Date("2003-08-31"))
snow_data_final <- subset(snow_data_2002, select=c("date", "snow_water_equivalent", "precipitation", "temperature_mean", "temperature_min", "temperature_max"))
plot(as.Date(snow_data_final$date),snow_data_final$snow_water_equivalent,
type = "l",xlab = "Date", ylab = "SWE (mm)")
# Hand calibration
Tmax_snow <- 3
Tmin_rain <- 1
kd <- 4
r_cap <- 0.050
T_melt <- 2
snow_estim <- hydromisc::snow.sim(DATA=snow_data_final,
Tmax=Tmax_snow,
Tmin=Tmin_rain,
kd=kd,
rcap=r_cap,
Tmelt=T_melt)
#Comparing data sets
obs <- snow_data_final$snow_water_equivalent
simulated <- snow_estim$swe_simulated
hydroGOF::ggof(simulated, obs, na.rm = TRUE, dates=snow_data_final$date,
gofs=c("MAE", "RMSE", "PBIAS"),
xlab = "", ylab="SWE, mm",
tick.tstep="months", cex=c(0,0),lwd=c(2,2))
## Warning: 'rNSE' can not be computed: some elements in 'obs' are zero !
## Warning: 'wNSE' can not be computed: some elements in 'obs' are zero !
## Warning: 'rd' can not be computed: some elements in 'obs' are zero !
# Calling function to optimize
fcn_to_minimize <- function(par,datain, obs){
snow_estim <- hydromisc::snow.sim(DATA=datain, Tmax=par[1], Tmin=par[2], kd=par[3], Tmelt=par[4])
calib.stats <- hydroGOF::gof(snow_estim$swe_simulated,obs,na.rm=TRUE)
objective_stat <- as.numeric(calib.stats['MAE',])
return(objective_stat)
}
opt_res <- optim(par=c(1,0.5,1.07,0),fn=fcn_to_minimize,
lower=c(-1,-1,0.5,-2),
upper=c(3,1,5,3),
method="L-BFGS-B",
datain=snow_data_final,
obs=obs)
## Warning: 'rNSE' can not be computed: some elements in 'obs' are zero !
## Warning: 'wNSE' can not be computed: some elements in 'obs' are zero !
## Warning: 'rd' can not be computed: some elements in 'obs' are zero !
## Warning: 'rNSE' can not be computed: some elements in 'obs' are zero !
## Warning: 'wNSE' can not be computed: some elements in 'obs' are zero !
## Warning: 'rd' can not be computed: some elements in 'obs' are zero !
## Warning: 'rNSE' can not be computed: some elements in 'obs' are zero !
## Warning: 'wNSE' can not be computed: some elements in 'obs' are zero !
## Warning: 'rd' can not be computed: some elements in 'obs' are zero !
## Warning: 'rNSE' can not be computed: some elements in 'obs' are zero !
## Warning: 'wNSE' can not be computed: some elements in 'obs' are zero !
## Warning: 'rd' can not be computed: some elements in 'obs' are zero !
## Warning: 'rNSE' can not be computed: some elements in 'obs' are zero !
## Warning: 'wNSE' can not be computed: some elements in 'obs' are zero !
## Warning: 'rd' can not be computed: some elements in 'obs' are zero !
## Warning: 'rNSE' can not be computed: some elements in 'obs' are zero !
## Warning: 'wNSE' can not be computed: some elements in 'obs' are zero !
## Warning: 'rd' can not be computed: some elements in 'obs' are zero !
## Warning: 'rNSE' can not be computed: some elements in 'obs' are zero !
## Warning: 'wNSE' can not be computed: some elements in 'obs' are zero !
## Warning: 'rd' can not be computed: some elements in 'obs' are zero !
## Warning: 'rNSE' can not be computed: some elements in 'obs' are zero !
## Warning: 'wNSE' can not be computed: some elements in 'obs' are zero !
## Warning: 'rd' can not be computed: some elements in 'obs' are zero !
## Warning: 'rNSE' can not be computed: some elements in 'obs' are zero !
## Warning: 'wNSE' can not be computed: some elements in 'obs' are zero !
## Warning: 'rd' can not be computed: some elements in 'obs' are zero !
## Warning: 'rNSE' can not be computed: some elements in 'obs' are zero !
## Warning: 'wNSE' can not be computed: some elements in 'obs' are zero !
## Warning: 'rd' can not be computed: some elements in 'obs' are zero !
## Warning: 'rNSE' can not be computed: some elements in 'obs' are zero !
## Warning: 'wNSE' can not be computed: some elements in 'obs' are zero !
## Warning: 'rd' can not be computed: some elements in 'obs' are zero !
## Warning: 'rNSE' can not be computed: some elements in 'obs' are zero !
## Warning: 'wNSE' can not be computed: some elements in 'obs' are zero !
## Warning: 'rd' can not be computed: some elements in 'obs' are zero !
## Warning: 'rNSE' can not be computed: some elements in 'obs' are zero !
## Warning: 'wNSE' can not be computed: some elements in 'obs' are zero !
## Warning: 'rd' can not be computed: some elements in 'obs' are zero !
## Warning: 'rNSE' can not be computed: some elements in 'obs' are zero !
## Warning: 'wNSE' can not be computed: some elements in 'obs' are zero !
## Warning: 'rd' can not be computed: some elements in 'obs' are zero !
## Warning: 'rNSE' can not be computed: some elements in 'obs' are zero !
## Warning: 'wNSE' can not be computed: some elements in 'obs' are zero !
## Warning: 'rd' can not be computed: some elements in 'obs' are zero !
## Warning: 'rNSE' can not be computed: some elements in 'obs' are zero !
## Warning: 'wNSE' can not be computed: some elements in 'obs' are zero !
## Warning: 'rd' can not be computed: some elements in 'obs' are zero !
## Warning: 'rNSE' can not be computed: some elements in 'obs' are zero !
## Warning: 'wNSE' can not be computed: some elements in 'obs' are zero !
## Warning: 'rd' can not be computed: some elements in 'obs' are zero !
## Warning: 'rNSE' can not be computed: some elements in 'obs' are zero !
## Warning: 'wNSE' can not be computed: some elements in 'obs' are zero !
## Warning: 'rd' can not be computed: some elements in 'obs' are zero !
## Warning: 'rNSE' can not be computed: some elements in 'obs' are zero !
## Warning: 'wNSE' can not be computed: some elements in 'obs' are zero !
## Warning: 'rd' can not be computed: some elements in 'obs' are zero !
## Warning: 'rNSE' can not be computed: some elements in 'obs' are zero !
## Warning: 'wNSE' can not be computed: some elements in 'obs' are zero !
## Warning: 'rd' can not be computed: some elements in 'obs' are zero !
## Warning: 'rNSE' can not be computed: some elements in 'obs' are zero !
## Warning: 'wNSE' can not be computed: some elements in 'obs' are zero !
## Warning: 'rd' can not be computed: some elements in 'obs' are zero !
## Warning: 'rNSE' can not be computed: some elements in 'obs' are zero !
## Warning: 'wNSE' can not be computed: some elements in 'obs' are zero !
## Warning: 'rd' can not be computed: some elements in 'obs' are zero !
## Warning: 'rNSE' can not be computed: some elements in 'obs' are zero !
## Warning: 'wNSE' can not be computed: some elements in 'obs' are zero !
## Warning: 'rd' can not be computed: some elements in 'obs' are zero !
## Warning: 'rNSE' can not be computed: some elements in 'obs' are zero !
## Warning: 'wNSE' can not be computed: some elements in 'obs' are zero !
## Warning: 'rd' can not be computed: some elements in 'obs' are zero !
## Warning: 'rNSE' can not be computed: some elements in 'obs' are zero !
## Warning: 'wNSE' can not be computed: some elements in 'obs' are zero !
## Warning: 'rd' can not be computed: some elements in 'obs' are zero !
## Warning: 'rNSE' can not be computed: some elements in 'obs' are zero !
## Warning: 'wNSE' can not be computed: some elements in 'obs' are zero !
## Warning: 'rd' can not be computed: some elements in 'obs' are zero !
## Warning: 'rNSE' can not be computed: some elements in 'obs' are zero !
## Warning: 'wNSE' can not be computed: some elements in 'obs' are zero !
## Warning: 'rd' can not be computed: some elements in 'obs' are zero !
## Warning: 'rNSE' can not be computed: some elements in 'obs' are zero !
## Warning: 'wNSE' can not be computed: some elements in 'obs' are zero !
## Warning: 'rd' can not be computed: some elements in 'obs' are zero !
## Warning: 'rNSE' can not be computed: some elements in 'obs' are zero !
## Warning: 'wNSE' can not be computed: some elements in 'obs' are zero !
## Warning: 'rd' can not be computed: some elements in 'obs' are zero !
## Warning: 'rNSE' can not be computed: some elements in 'obs' are zero !
## Warning: 'wNSE' can not be computed: some elements in 'obs' are zero !
## Warning: 'rd' can not be computed: some elements in 'obs' are zero !
## Warning: 'rNSE' can not be computed: some elements in 'obs' are zero !
## Warning: 'wNSE' can not be computed: some elements in 'obs' are zero !
## Warning: 'rd' can not be computed: some elements in 'obs' are zero !
## Warning: 'rNSE' can not be computed: some elements in 'obs' are zero !
## Warning: 'wNSE' can not be computed: some elements in 'obs' are zero !
## Warning: 'rd' can not be computed: some elements in 'obs' are zero !
## Warning: 'rNSE' can not be computed: some elements in 'obs' are zero !
## Warning: 'wNSE' can not be computed: some elements in 'obs' are zero !
## Warning: 'rd' can not be computed: some elements in 'obs' are zero !
## Warning: 'rNSE' can not be computed: some elements in 'obs' are zero !
## Warning: 'wNSE' can not be computed: some elements in 'obs' are zero !
## Warning: 'rd' can not be computed: some elements in 'obs' are zero !
## Warning: 'rNSE' can not be computed: some elements in 'obs' are zero !
## Warning: 'wNSE' can not be computed: some elements in 'obs' are zero !
## Warning: 'rd' can not be computed: some elements in 'obs' are zero !
## Warning: 'rNSE' can not be computed: some elements in 'obs' are zero !
## Warning: 'wNSE' can not be computed: some elements in 'obs' are zero !
## Warning: 'rd' can not be computed: some elements in 'obs' are zero !
## Warning: 'rNSE' can not be computed: some elements in 'obs' are zero !
## Warning: 'wNSE' can not be computed: some elements in 'obs' are zero !
## Warning: 'rd' can not be computed: some elements in 'obs' are zero !
## Warning: 'rNSE' can not be computed: some elements in 'obs' are zero !
## Warning: 'wNSE' can not be computed: some elements in 'obs' are zero !
## Warning: 'rd' can not be computed: some elements in 'obs' are zero !
## Warning: 'rNSE' can not be computed: some elements in 'obs' are zero !
## Warning: 'wNSE' can not be computed: some elements in 'obs' are zero !
## Warning: 'rd' can not be computed: some elements in 'obs' are zero !
## Warning: 'rNSE' can not be computed: some elements in 'obs' are zero !
## Warning: 'wNSE' can not be computed: some elements in 'obs' are zero !
## Warning: 'rd' can not be computed: some elements in 'obs' are zero !
## Warning: 'rNSE' can not be computed: some elements in 'obs' are zero !
## Warning: 'wNSE' can not be computed: some elements in 'obs' are zero !
## Warning: 'rd' can not be computed: some elements in 'obs' are zero !
## Warning: 'rNSE' can not be computed: some elements in 'obs' are zero !
## Warning: 'wNSE' can not be computed: some elements in 'obs' are zero !
## Warning: 'rd' can not be computed: some elements in 'obs' are zero !
## Warning: 'rNSE' can not be computed: some elements in 'obs' are zero !
## Warning: 'wNSE' can not be computed: some elements in 'obs' are zero !
## Warning: 'rd' can not be computed: some elements in 'obs' are zero !
## Warning: 'rNSE' can not be computed: some elements in 'obs' are zero !
## Warning: 'wNSE' can not be computed: some elements in 'obs' are zero !
## Warning: 'rd' can not be computed: some elements in 'obs' are zero !
## Warning: 'rNSE' can not be computed: some elements in 'obs' are zero !
## Warning: 'wNSE' can not be computed: some elements in 'obs' are zero !
## Warning: 'rd' can not be computed: some elements in 'obs' are zero !
## Warning: 'rNSE' can not be computed: some elements in 'obs' are zero !
## Warning: 'wNSE' can not be computed: some elements in 'obs' are zero !
## Warning: 'rd' can not be computed: some elements in 'obs' are zero !
## Warning: 'rNSE' can not be computed: some elements in 'obs' are zero !
## Warning: 'wNSE' can not be computed: some elements in 'obs' are zero !
## Warning: 'rd' can not be computed: some elements in 'obs' are zero !
## Warning: 'rNSE' can not be computed: some elements in 'obs' are zero !
## Warning: 'wNSE' can not be computed: some elements in 'obs' are zero !
## Warning: 'rd' can not be computed: some elements in 'obs' are zero !
## Warning: 'rNSE' can not be computed: some elements in 'obs' are zero !
## Warning: 'wNSE' can not be computed: some elements in 'obs' are zero !
## Warning: 'rd' can not be computed: some elements in 'obs' are zero !
## Warning: 'rNSE' can not be computed: some elements in 'obs' are zero !
## Warning: 'wNSE' can not be computed: some elements in 'obs' are zero !
## Warning: 'rd' can not be computed: some elements in 'obs' are zero !
## Warning: 'rNSE' can not be computed: some elements in 'obs' are zero !
## Warning: 'wNSE' can not be computed: some elements in 'obs' are zero !
## Warning: 'rd' can not be computed: some elements in 'obs' are zero !
## Warning: 'rNSE' can not be computed: some elements in 'obs' are zero !
## Warning: 'wNSE' can not be computed: some elements in 'obs' are zero !
## Warning: 'rd' can not be computed: some elements in 'obs' are zero !
## Warning: 'rNSE' can not be computed: some elements in 'obs' are zero !
## Warning: 'wNSE' can not be computed: some elements in 'obs' are zero !
## Warning: 'rd' can not be computed: some elements in 'obs' are zero !
## Warning: 'rNSE' can not be computed: some elements in 'obs' are zero !
## Warning: 'wNSE' can not be computed: some elements in 'obs' are zero !
## Warning: 'rd' can not be computed: some elements in 'obs' are zero !
## Warning: 'rNSE' can not be computed: some elements in 'obs' are zero !
## Warning: 'wNSE' can not be computed: some elements in 'obs' are zero !
## Warning: 'rd' can not be computed: some elements in 'obs' are zero !
## Warning: 'rNSE' can not be computed: some elements in 'obs' are zero !
## Warning: 'wNSE' can not be computed: some elements in 'obs' are zero !
## Warning: 'rd' can not be computed: some elements in 'obs' are zero !
## Warning: 'rNSE' can not be computed: some elements in 'obs' are zero !
## Warning: 'wNSE' can not be computed: some elements in 'obs' are zero !
## Warning: 'rd' can not be computed: some elements in 'obs' are zero !
## Warning: 'rNSE' can not be computed: some elements in 'obs' are zero !
## Warning: 'wNSE' can not be computed: some elements in 'obs' are zero !
## Warning: 'rd' can not be computed: some elements in 'obs' are zero !
## Warning: 'rNSE' can not be computed: some elements in 'obs' are zero !
## Warning: 'wNSE' can not be computed: some elements in 'obs' are zero !
## Warning: 'rd' can not be computed: some elements in 'obs' are zero !
## Warning: 'rNSE' can not be computed: some elements in 'obs' are zero !
## Warning: 'wNSE' can not be computed: some elements in 'obs' are zero !
## Warning: 'rd' can not be computed: some elements in 'obs' are zero !
## Warning: 'rNSE' can not be computed: some elements in 'obs' are zero !
## Warning: 'wNSE' can not be computed: some elements in 'obs' are zero !
## Warning: 'rd' can not be computed: some elements in 'obs' are zero !
## Warning: 'rNSE' can not be computed: some elements in 'obs' are zero !
## Warning: 'wNSE' can not be computed: some elements in 'obs' are zero !
## Warning: 'rd' can not be computed: some elements in 'obs' are zero !
## Warning: 'rNSE' can not be computed: some elements in 'obs' are zero !
## Warning: 'wNSE' can not be computed: some elements in 'obs' are zero !
## Warning: 'rd' can not be computed: some elements in 'obs' are zero !
## Warning: 'rNSE' can not be computed: some elements in 'obs' are zero !
## Warning: 'wNSE' can not be computed: some elements in 'obs' are zero !
## Warning: 'rd' can not be computed: some elements in 'obs' are zero !
## Warning: 'rNSE' can not be computed: some elements in 'obs' are zero !
## Warning: 'wNSE' can not be computed: some elements in 'obs' are zero !
## Warning: 'rd' can not be computed: some elements in 'obs' are zero !
## Warning: 'rNSE' can not be computed: some elements in 'obs' are zero !
## Warning: 'wNSE' can not be computed: some elements in 'obs' are zero !
## Warning: 'rd' can not be computed: some elements in 'obs' are zero !
## Warning: 'rNSE' can not be computed: some elements in 'obs' are zero !
## Warning: 'wNSE' can not be computed: some elements in 'obs' are zero !
## Warning: 'rd' can not be computed: some elements in 'obs' are zero !
## Warning: 'rNSE' can not be computed: some elements in 'obs' are zero !
## Warning: 'wNSE' can not be computed: some elements in 'obs' are zero !
## Warning: 'rd' can not be computed: some elements in 'obs' are zero !
## Warning: 'rNSE' can not be computed: some elements in 'obs' are zero !
## Warning: 'wNSE' can not be computed: some elements in 'obs' are zero !
## Warning: 'rd' can not be computed: some elements in 'obs' are zero !
## Warning: 'rNSE' can not be computed: some elements in 'obs' are zero !
## Warning: 'wNSE' can not be computed: some elements in 'obs' are zero !
## Warning: 'rd' can not be computed: some elements in 'obs' are zero !
## Warning: 'rNSE' can not be computed: some elements in 'obs' are zero !
## Warning: 'wNSE' can not be computed: some elements in 'obs' are zero !
## Warning: 'rd' can not be computed: some elements in 'obs' are zero !
## Warning: 'rNSE' can not be computed: some elements in 'obs' are zero !
## Warning: 'wNSE' can not be computed: some elements in 'obs' are zero !
## Warning: 'rd' can not be computed: some elements in 'obs' are zero !
## Warning: 'rNSE' can not be computed: some elements in 'obs' are zero !
## Warning: 'wNSE' can not be computed: some elements in 'obs' are zero !
## Warning: 'rd' can not be computed: some elements in 'obs' are zero !
## Warning: 'rNSE' can not be computed: some elements in 'obs' are zero !
## Warning: 'wNSE' can not be computed: some elements in 'obs' are zero !
## Warning: 'rd' can not be computed: some elements in 'obs' are zero !
## Warning: 'rNSE' can not be computed: some elements in 'obs' are zero !
## Warning: 'wNSE' can not be computed: some elements in 'obs' are zero !
## Warning: 'rd' can not be computed: some elements in 'obs' are zero !
## Warning: 'rNSE' can not be computed: some elements in 'obs' are zero !
## Warning: 'wNSE' can not be computed: some elements in 'obs' are zero !
## Warning: 'rd' can not be computed: some elements in 'obs' are zero !
## Warning: 'rNSE' can not be computed: some elements in 'obs' are zero !
## Warning: 'wNSE' can not be computed: some elements in 'obs' are zero !
## Warning: 'rd' can not be computed: some elements in 'obs' are zero !
## Warning: 'rNSE' can not be computed: some elements in 'obs' are zero !
## Warning: 'wNSE' can not be computed: some elements in 'obs' are zero !
## Warning: 'rd' can not be computed: some elements in 'obs' are zero !
## Warning: 'rNSE' can not be computed: some elements in 'obs' are zero !
## Warning: 'wNSE' can not be computed: some elements in 'obs' are zero !
## Warning: 'rd' can not be computed: some elements in 'obs' are zero !
## Warning: 'rNSE' can not be computed: some elements in 'obs' are zero !
## Warning: 'wNSE' can not be computed: some elements in 'obs' are zero !
## Warning: 'rd' can not be computed: some elements in 'obs' are zero !
## Warning: 'rNSE' can not be computed: some elements in 'obs' are zero !
## Warning: 'wNSE' can not be computed: some elements in 'obs' are zero !
## Warning: 'rd' can not be computed: some elements in 'obs' are zero !
## Warning: 'rNSE' can not be computed: some elements in 'obs' are zero !
## Warning: 'wNSE' can not be computed: some elements in 'obs' are zero !
## Warning: 'rd' can not be computed: some elements in 'obs' are zero !
## Warning: 'rNSE' can not be computed: some elements in 'obs' are zero !
## Warning: 'wNSE' can not be computed: some elements in 'obs' are zero !
## Warning: 'rd' can not be computed: some elements in 'obs' are zero !
## Warning: 'rNSE' can not be computed: some elements in 'obs' are zero !
## Warning: 'wNSE' can not be computed: some elements in 'obs' are zero !
## Warning: 'rd' can not be computed: some elements in 'obs' are zero !
## Warning: 'rNSE' can not be computed: some elements in 'obs' are zero !
## Warning: 'wNSE' can not be computed: some elements in 'obs' are zero !
## Warning: 'rd' can not be computed: some elements in 'obs' are zero !
## Warning: 'rNSE' can not be computed: some elements in 'obs' are zero !
## Warning: 'wNSE' can not be computed: some elements in 'obs' are zero !
## Warning: 'rd' can not be computed: some elements in 'obs' are zero !
## Warning: 'rNSE' can not be computed: some elements in 'obs' are zero !
## Warning: 'wNSE' can not be computed: some elements in 'obs' are zero !
## Warning: 'rd' can not be computed: some elements in 'obs' are zero !
## Warning: 'rNSE' can not be computed: some elements in 'obs' are zero !
## Warning: 'wNSE' can not be computed: some elements in 'obs' are zero !
## Warning: 'rd' can not be computed: some elements in 'obs' are zero !
## Warning: 'rNSE' can not be computed: some elements in 'obs' are zero !
## Warning: 'wNSE' can not be computed: some elements in 'obs' are zero !
## Warning: 'rd' can not be computed: some elements in 'obs' are zero !
## Warning: 'rNSE' can not be computed: some elements in 'obs' are zero !
## Warning: 'wNSE' can not be computed: some elements in 'obs' are zero !
## Warning: 'rd' can not be computed: some elements in 'obs' are zero !
## Warning: 'rNSE' can not be computed: some elements in 'obs' are zero !
## Warning: 'wNSE' can not be computed: some elements in 'obs' are zero !
## Warning: 'rd' can not be computed: some elements in 'obs' are zero !
## Warning: 'rNSE' can not be computed: some elements in 'obs' are zero !
## Warning: 'wNSE' can not be computed: some elements in 'obs' are zero !
## Warning: 'rd' can not be computed: some elements in 'obs' are zero !
## Warning: 'rNSE' can not be computed: some elements in 'obs' are zero !
## Warning: 'wNSE' can not be computed: some elements in 'obs' are zero !
## Warning: 'rd' can not be computed: some elements in 'obs' are zero !
## Warning: 'rNSE' can not be computed: some elements in 'obs' are zero !
## Warning: 'wNSE' can not be computed: some elements in 'obs' are zero !
## Warning: 'rd' can not be computed: some elements in 'obs' are zero !
## Warning: 'rNSE' can not be computed: some elements in 'obs' are zero !
## Warning: 'wNSE' can not be computed: some elements in 'obs' are zero !
## Warning: 'rd' can not be computed: some elements in 'obs' are zero !
## Warning: 'rNSE' can not be computed: some elements in 'obs' are zero !
## Warning: 'wNSE' can not be computed: some elements in 'obs' are zero !
## Warning: 'rd' can not be computed: some elements in 'obs' are zero !
## Warning: 'rNSE' can not be computed: some elements in 'obs' are zero !
## Warning: 'wNSE' can not be computed: some elements in 'obs' are zero !
## Warning: 'rd' can not be computed: some elements in 'obs' are zero !
## Warning: 'rNSE' can not be computed: some elements in 'obs' are zero !
## Warning: 'wNSE' can not be computed: some elements in 'obs' are zero !
## Warning: 'rd' can not be computed: some elements in 'obs' are zero !
## Warning: 'rNSE' can not be computed: some elements in 'obs' are zero !
## Warning: 'wNSE' can not be computed: some elements in 'obs' are zero !
## Warning: 'rd' can not be computed: some elements in 'obs' are zero !
## Warning: 'rNSE' can not be computed: some elements in 'obs' are zero !
## Warning: 'wNSE' can not be computed: some elements in 'obs' are zero !
## Warning: 'rd' can not be computed: some elements in 'obs' are zero !
## Warning: 'rNSE' can not be computed: some elements in 'obs' are zero !
## Warning: 'wNSE' can not be computed: some elements in 'obs' are zero !
## Warning: 'rd' can not be computed: some elements in 'obs' are zero !
## Warning: 'rNSE' can not be computed: some elements in 'obs' are zero !
## Warning: 'wNSE' can not be computed: some elements in 'obs' are zero !
## Warning: 'rd' can not be computed: some elements in 'obs' are zero !
## Warning: 'rNSE' can not be computed: some elements in 'obs' are zero !
## Warning: 'wNSE' can not be computed: some elements in 'obs' are zero !
## Warning: 'rd' can not be computed: some elements in 'obs' are zero !
## Warning: 'rNSE' can not be computed: some elements in 'obs' are zero !
## Warning: 'wNSE' can not be computed: some elements in 'obs' are zero !
## Warning: 'rd' can not be computed: some elements in 'obs' are zero !
## Warning: 'rNSE' can not be computed: some elements in 'obs' are zero !
## Warning: 'wNSE' can not be computed: some elements in 'obs' are zero !
## Warning: 'rd' can not be computed: some elements in 'obs' are zero !
## Warning: 'rNSE' can not be computed: some elements in 'obs' are zero !
## Warning: 'wNSE' can not be computed: some elements in 'obs' are zero !
## Warning: 'rd' can not be computed: some elements in 'obs' are zero !
## Warning: 'rNSE' can not be computed: some elements in 'obs' are zero !
## Warning: 'wNSE' can not be computed: some elements in 'obs' are zero !
## Warning: 'rd' can not be computed: some elements in 'obs' are zero !
## Warning: 'rNSE' can not be computed: some elements in 'obs' are zero !
## Warning: 'wNSE' can not be computed: some elements in 'obs' are zero !
## Warning: 'rd' can not be computed: some elements in 'obs' are zero !
## Warning: 'rNSE' can not be computed: some elements in 'obs' are zero !
## Warning: 'wNSE' can not be computed: some elements in 'obs' are zero !
## Warning: 'rd' can not be computed: some elements in 'obs' are zero !
## Warning: 'rNSE' can not be computed: some elements in 'obs' are zero !
## Warning: 'wNSE' can not be computed: some elements in 'obs' are zero !
## Warning: 'rd' can not be computed: some elements in 'obs' are zero !
## Warning: 'rNSE' can not be computed: some elements in 'obs' are zero !
## Warning: 'wNSE' can not be computed: some elements in 'obs' are zero !
## Warning: 'rd' can not be computed: some elements in 'obs' are zero !
## Warning: 'rNSE' can not be computed: some elements in 'obs' are zero !
## Warning: 'wNSE' can not be computed: some elements in 'obs' are zero !
## Warning: 'rd' can not be computed: some elements in 'obs' are zero !
## Warning: 'rNSE' can not be computed: some elements in 'obs' are zero !
## Warning: 'wNSE' can not be computed: some elements in 'obs' are zero !
## Warning: 'rd' can not be computed: some elements in 'obs' are zero !
## Warning: 'rNSE' can not be computed: some elements in 'obs' are zero !
## Warning: 'wNSE' can not be computed: some elements in 'obs' are zero !
## Warning: 'rd' can not be computed: some elements in 'obs' are zero !
## Warning: 'rNSE' can not be computed: some elements in 'obs' are zero !
## Warning: 'wNSE' can not be computed: some elements in 'obs' are zero !
## Warning: 'rd' can not be computed: some elements in 'obs' are zero !
## Warning: 'rNSE' can not be computed: some elements in 'obs' are zero !
## Warning: 'wNSE' can not be computed: some elements in 'obs' are zero !
## Warning: 'rd' can not be computed: some elements in 'obs' are zero !
## Warning: 'rNSE' can not be computed: some elements in 'obs' are zero !
## Warning: 'wNSE' can not be computed: some elements in 'obs' are zero !
## Warning: 'rd' can not be computed: some elements in 'obs' are zero !
## Warning: 'rNSE' can not be computed: some elements in 'obs' are zero !
## Warning: 'wNSE' can not be computed: some elements in 'obs' are zero !
## Warning: 'rd' can not be computed: some elements in 'obs' are zero !
## Warning: 'rNSE' can not be computed: some elements in 'obs' are zero !
## Warning: 'wNSE' can not be computed: some elements in 'obs' are zero !
## Warning: 'rd' can not be computed: some elements in 'obs' are zero !
## Warning: 'rNSE' can not be computed: some elements in 'obs' are zero !
## Warning: 'wNSE' can not be computed: some elements in 'obs' are zero !
## Warning: 'rd' can not be computed: some elements in 'obs' are zero !
## Warning: 'rNSE' can not be computed: some elements in 'obs' are zero !
## Warning: 'wNSE' can not be computed: some elements in 'obs' are zero !
## Warning: 'rd' can not be computed: some elements in 'obs' are zero !
## Warning: 'rNSE' can not be computed: some elements in 'obs' are zero !
## Warning: 'wNSE' can not be computed: some elements in 'obs' are zero !
## Warning: 'rd' can not be computed: some elements in 'obs' are zero !
## Warning: 'rNSE' can not be computed: some elements in 'obs' are zero !
## Warning: 'wNSE' can not be computed: some elements in 'obs' are zero !
## Warning: 'rd' can not be computed: some elements in 'obs' are zero !
## Warning: 'rNSE' can not be computed: some elements in 'obs' are zero !
## Warning: 'wNSE' can not be computed: some elements in 'obs' are zero !
## Warning: 'rd' can not be computed: some elements in 'obs' are zero !
## Warning: 'rNSE' can not be computed: some elements in 'obs' are zero !
## Warning: 'wNSE' can not be computed: some elements in 'obs' are zero !
## Warning: 'rd' can not be computed: some elements in 'obs' are zero !
## Warning: 'rNSE' can not be computed: some elements in 'obs' are zero !
## Warning: 'wNSE' can not be computed: some elements in 'obs' are zero !
## Warning: 'rd' can not be computed: some elements in 'obs' are zero !
## Warning: 'rNSE' can not be computed: some elements in 'obs' are zero !
## Warning: 'wNSE' can not be computed: some elements in 'obs' are zero !
## Warning: 'rd' can not be computed: some elements in 'obs' are zero !
## Warning: 'rNSE' can not be computed: some elements in 'obs' are zero !
## Warning: 'wNSE' can not be computed: some elements in 'obs' are zero !
## Warning: 'rd' can not be computed: some elements in 'obs' are zero !
## Warning: 'rNSE' can not be computed: some elements in 'obs' are zero !
## Warning: 'wNSE' can not be computed: some elements in 'obs' are zero !
## Warning: 'rd' can not be computed: some elements in 'obs' are zero !
## Warning: 'rNSE' can not be computed: some elements in 'obs' are zero !
## Warning: 'wNSE' can not be computed: some elements in 'obs' are zero !
## Warning: 'rd' can not be computed: some elements in 'obs' are zero !
## Warning: 'rNSE' can not be computed: some elements in 'obs' are zero !
## Warning: 'wNSE' can not be computed: some elements in 'obs' are zero !
## Warning: 'rd' can not be computed: some elements in 'obs' are zero !
## Warning: 'rNSE' can not be computed: some elements in 'obs' are zero !
## Warning: 'wNSE' can not be computed: some elements in 'obs' are zero !
## Warning: 'rd' can not be computed: some elements in 'obs' are zero !
## Warning: 'rNSE' can not be computed: some elements in 'obs' are zero !
## Warning: 'wNSE' can not be computed: some elements in 'obs' are zero !
## Warning: 'rd' can not be computed: some elements in 'obs' are zero !
## Warning: 'rNSE' can not be computed: some elements in 'obs' are zero !
## Warning: 'wNSE' can not be computed: some elements in 'obs' are zero !
## Warning: 'rd' can not be computed: some elements in 'obs' are zero !
## Warning: 'rNSE' can not be computed: some elements in 'obs' are zero !
## Warning: 'wNSE' can not be computed: some elements in 'obs' are zero !
## Warning: 'rd' can not be computed: some elements in 'obs' are zero !
## Warning: 'rNSE' can not be computed: some elements in 'obs' are zero !
## Warning: 'wNSE' can not be computed: some elements in 'obs' are zero !
## Warning: 'rd' can not be computed: some elements in 'obs' are zero !
## Warning: 'rNSE' can not be computed: some elements in 'obs' are zero !
## Warning: 'wNSE' can not be computed: some elements in 'obs' are zero !
## Warning: 'rd' can not be computed: some elements in 'obs' are zero !
## Warning: 'rNSE' can not be computed: some elements in 'obs' are zero !
## Warning: 'wNSE' can not be computed: some elements in 'obs' are zero !
## Warning: 'rd' can not be computed: some elements in 'obs' are zero !
## Warning: 'rNSE' can not be computed: some elements in 'obs' are zero !
## Warning: 'wNSE' can not be computed: some elements in 'obs' are zero !
## Warning: 'rd' can not be computed: some elements in 'obs' are zero !
## Warning: 'rNSE' can not be computed: some elements in 'obs' are zero !
## Warning: 'wNSE' can not be computed: some elements in 'obs' are zero !
## Warning: 'rd' can not be computed: some elements in 'obs' are zero !
## Warning: 'rNSE' can not be computed: some elements in 'obs' are zero !
## Warning: 'wNSE' can not be computed: some elements in 'obs' are zero !
## Warning: 'rd' can not be computed: some elements in 'obs' are zero !
## Warning: 'rNSE' can not be computed: some elements in 'obs' are zero !
## Warning: 'wNSE' can not be computed: some elements in 'obs' are zero !
## Warning: 'rd' can not be computed: some elements in 'obs' are zero !
## Warning: 'rNSE' can not be computed: some elements in 'obs' are zero !
## Warning: 'wNSE' can not be computed: some elements in 'obs' are zero !
## Warning: 'rd' can not be computed: some elements in 'obs' are zero !
## Warning: 'rNSE' can not be computed: some elements in 'obs' are zero !
## Warning: 'wNSE' can not be computed: some elements in 'obs' are zero !
## Warning: 'rd' can not be computed: some elements in 'obs' are zero !
## Warning: 'rNSE' can not be computed: some elements in 'obs' are zero !
## Warning: 'wNSE' can not be computed: some elements in 'obs' are zero !
## Warning: 'rd' can not be computed: some elements in 'obs' are zero !
## Warning: 'rNSE' can not be computed: some elements in 'obs' are zero !
## Warning: 'wNSE' can not be computed: some elements in 'obs' are zero !
## Warning: 'rd' can not be computed: some elements in 'obs' are zero !
## Warning: 'rNSE' can not be computed: some elements in 'obs' are zero !
## Warning: 'wNSE' can not be computed: some elements in 'obs' are zero !
## Warning: 'rd' can not be computed: some elements in 'obs' are zero !
## Warning: 'rNSE' can not be computed: some elements in 'obs' are zero !
## Warning: 'wNSE' can not be computed: some elements in 'obs' are zero !
## Warning: 'rd' can not be computed: some elements in 'obs' are zero !
## Warning: 'rNSE' can not be computed: some elements in 'obs' are zero !
## Warning: 'wNSE' can not be computed: some elements in 'obs' are zero !
## Warning: 'rd' can not be computed: some elements in 'obs' are zero !
## Warning: 'rNSE' can not be computed: some elements in 'obs' are zero !
## Warning: 'wNSE' can not be computed: some elements in 'obs' are zero !
## Warning: 'rd' can not be computed: some elements in 'obs' are zero !
## Warning: 'rNSE' can not be computed: some elements in 'obs' are zero !
## Warning: 'wNSE' can not be computed: some elements in 'obs' are zero !
## Warning: 'rd' can not be computed: some elements in 'obs' are zero !
## Warning: 'rNSE' can not be computed: some elements in 'obs' are zero !
## Warning: 'wNSE' can not be computed: some elements in 'obs' are zero !
## Warning: 'rd' can not be computed: some elements in 'obs' are zero !
## Warning: 'rNSE' can not be computed: some elements in 'obs' are zero !
## Warning: 'wNSE' can not be computed: some elements in 'obs' are zero !
## Warning: 'rd' can not be computed: some elements in 'obs' are zero !
## Warning: 'rNSE' can not be computed: some elements in 'obs' are zero !
## Warning: 'wNSE' can not be computed: some elements in 'obs' are zero !
## Warning: 'rd' can not be computed: some elements in 'obs' are zero !
## Warning: 'rNSE' can not be computed: some elements in 'obs' are zero !
## Warning: 'wNSE' can not be computed: some elements in 'obs' are zero !
## Warning: 'rd' can not be computed: some elements in 'obs' are zero !
## Warning: 'rNSE' can not be computed: some elements in 'obs' are zero !
## Warning: 'wNSE' can not be computed: some elements in 'obs' are zero !
## Warning: 'rd' can not be computed: some elements in 'obs' are zero !
## Warning: 'rNSE' can not be computed: some elements in 'obs' are zero !
## Warning: 'wNSE' can not be computed: some elements in 'obs' are zero !
## Warning: 'rd' can not be computed: some elements in 'obs' are zero !
## Warning: 'rNSE' can not be computed: some elements in 'obs' are zero !
## Warning: 'wNSE' can not be computed: some elements in 'obs' are zero !
## Warning: 'rd' can not be computed: some elements in 'obs' are zero !
## Warning: 'rNSE' can not be computed: some elements in 'obs' are zero !
## Warning: 'wNSE' can not be computed: some elements in 'obs' are zero !
## Warning: 'rd' can not be computed: some elements in 'obs' are zero !
## Warning: 'rNSE' can not be computed: some elements in 'obs' are zero !
## Warning: 'wNSE' can not be computed: some elements in 'obs' are zero !
## Warning: 'rd' can not be computed: some elements in 'obs' are zero !
## Warning: 'rNSE' can not be computed: some elements in 'obs' are zero !
## Warning: 'wNSE' can not be computed: some elements in 'obs' are zero !
## Warning: 'rd' can not be computed: some elements in 'obs' are zero !
## Warning: 'rNSE' can not be computed: some elements in 'obs' are zero !
## Warning: 'wNSE' can not be computed: some elements in 'obs' are zero !
## Warning: 'rd' can not be computed: some elements in 'obs' are zero !
## Warning: 'rNSE' can not be computed: some elements in 'obs' are zero !
## Warning: 'wNSE' can not be computed: some elements in 'obs' are zero !
## Warning: 'rd' can not be computed: some elements in 'obs' are zero !
## Warning: 'rNSE' can not be computed: some elements in 'obs' are zero !
## Warning: 'wNSE' can not be computed: some elements in 'obs' are zero !
## Warning: 'rd' can not be computed: some elements in 'obs' are zero !
## Warning: 'rNSE' can not be computed: some elements in 'obs' are zero !
## Warning: 'wNSE' can not be computed: some elements in 'obs' are zero !
## Warning: 'rd' can not be computed: some elements in 'obs' are zero !
## Warning: 'rNSE' can not be computed: some elements in 'obs' are zero !
## Warning: 'wNSE' can not be computed: some elements in 'obs' are zero !
## Warning: 'rd' can not be computed: some elements in 'obs' are zero !
## Warning: 'rNSE' can not be computed: some elements in 'obs' are zero !
## Warning: 'wNSE' can not be computed: some elements in 'obs' are zero !
## Warning: 'rd' can not be computed: some elements in 'obs' are zero !
## Warning: 'rNSE' can not be computed: some elements in 'obs' are zero !
## Warning: 'wNSE' can not be computed: some elements in 'obs' are zero !
## Warning: 'rd' can not be computed: some elements in 'obs' are zero !
## Warning: 'rNSE' can not be computed: some elements in 'obs' are zero !
## Warning: 'wNSE' can not be computed: some elements in 'obs' are zero !
## Warning: 'rd' can not be computed: some elements in 'obs' are zero !
## Warning: 'rNSE' can not be computed: some elements in 'obs' are zero !
## Warning: 'wNSE' can not be computed: some elements in 'obs' are zero !
## Warning: 'rd' can not be computed: some elements in 'obs' are zero !
## Warning: 'rNSE' can not be computed: some elements in 'obs' are zero !
## Warning: 'wNSE' can not be computed: some elements in 'obs' are zero !
## Warning: 'rd' can not be computed: some elements in 'obs' are zero !
## Warning: 'rNSE' can not be computed: some elements in 'obs' are zero !
## Warning: 'wNSE' can not be computed: some elements in 'obs' are zero !
## Warning: 'rd' can not be computed: some elements in 'obs' are zero !
## Warning: 'rNSE' can not be computed: some elements in 'obs' are zero !
## Warning: 'wNSE' can not be computed: some elements in 'obs' are zero !
## Warning: 'rd' can not be computed: some elements in 'obs' are zero !
## Warning: 'rNSE' can not be computed: some elements in 'obs' are zero !
## Warning: 'wNSE' can not be computed: some elements in 'obs' are zero !
## Warning: 'rd' can not be computed: some elements in 'obs' are zero !
## Warning: 'rNSE' can not be computed: some elements in 'obs' are zero !
## Warning: 'wNSE' can not be computed: some elements in 'obs' are zero !
## Warning: 'rd' can not be computed: some elements in 'obs' are zero !
## Warning: 'rNSE' can not be computed: some elements in 'obs' are zero !
## Warning: 'wNSE' can not be computed: some elements in 'obs' are zero !
## Warning: 'rd' can not be computed: some elements in 'obs' are zero !
## Warning: 'rNSE' can not be computed: some elements in 'obs' are zero !
## Warning: 'wNSE' can not be computed: some elements in 'obs' are zero !
## Warning: 'rd' can not be computed: some elements in 'obs' are zero !
## Warning: 'rNSE' can not be computed: some elements in 'obs' are zero !
## Warning: 'wNSE' can not be computed: some elements in 'obs' are zero !
## Warning: 'rd' can not be computed: some elements in 'obs' are zero !
## Warning: 'rNSE' can not be computed: some elements in 'obs' are zero !
## Warning: 'wNSE' can not be computed: some elements in 'obs' are zero !
## Warning: 'rd' can not be computed: some elements in 'obs' are zero !
## Warning: 'rNSE' can not be computed: some elements in 'obs' are zero !
## Warning: 'wNSE' can not be computed: some elements in 'obs' are zero !
## Warning: 'rd' can not be computed: some elements in 'obs' are zero !
## Warning: 'rNSE' can not be computed: some elements in 'obs' are zero !
## Warning: 'wNSE' can not be computed: some elements in 'obs' are zero !
## Warning: 'rd' can not be computed: some elements in 'obs' are zero !
## Warning: 'rNSE' can not be computed: some elements in 'obs' are zero !
## Warning: 'wNSE' can not be computed: some elements in 'obs' are zero !
## Warning: 'rd' can not be computed: some elements in 'obs' are zero !
## Warning: 'rNSE' can not be computed: some elements in 'obs' are zero !
## Warning: 'wNSE' can not be computed: some elements in 'obs' are zero !
## Warning: 'rd' can not be computed: some elements in 'obs' are zero !
## Warning: 'rNSE' can not be computed: some elements in 'obs' are zero !
## Warning: 'wNSE' can not be computed: some elements in 'obs' are zero !
## Warning: 'rd' can not be computed: some elements in 'obs' are zero !
## Warning: 'rNSE' can not be computed: some elements in 'obs' are zero !
## Warning: 'wNSE' can not be computed: some elements in 'obs' are zero !
## Warning: 'rd' can not be computed: some elements in 'obs' are zero !
## Warning: 'rNSE' can not be computed: some elements in 'obs' are zero !
## Warning: 'wNSE' can not be computed: some elements in 'obs' are zero !
## Warning: 'rd' can not be computed: some elements in 'obs' are zero !
## Warning: 'rNSE' can not be computed: some elements in 'obs' are zero !
## Warning: 'wNSE' can not be computed: some elements in 'obs' are zero !
## Warning: 'rd' can not be computed: some elements in 'obs' are zero !
## Warning: 'rNSE' can not be computed: some elements in 'obs' are zero !
## Warning: 'wNSE' can not be computed: some elements in 'obs' are zero !
## Warning: 'rd' can not be computed: some elements in 'obs' are zero !
## Warning: 'rNSE' can not be computed: some elements in 'obs' are zero !
## Warning: 'wNSE' can not be computed: some elements in 'obs' are zero !
## Warning: 'rd' can not be computed: some elements in 'obs' are zero !
# Printing required data
cat(sprintf("Optimal parameters:\nTmax=%.1f\nTmin=%.1f\nkd=%.2f\nTmelt=%.1f\n",
max(opt_res$par[1],opt_res$par[2]),min(opt_res$par[1],opt_res$par[2]),
opt_res$par[3],opt_res$par[4]))
## Optimal parameters:
## Tmax=1.0
## Tmin=0.5
## kd=1.07
## Tmelt=0.0
snow_estim_opt <- hydromisc::snow.sim(DATA=snow_data_final,
Tmax=max(opt_res$par[1],opt_res$par[2]),
Tmin=min(opt_res$par[1],opt_res$par[2]),
kd=opt_res$par[3],
Tmelt=opt_res$par[4])
obs <- snow_data_final$snow_water_equivalent
simulated <- snow_estim_opt$swe_simulated
hydroGOF::ggof(simulated, obs, na.rm = TRUE, dates=snow_data_final$date,
gofs=c("MAE", "RMSE", "PBIAS"),
xlab = "", ylab="SWE, mm",
tick.tstep="months", cex=c(0,0),lwd=c(2,2))
## Warning: 'rNSE' can not be computed: some elements in 'obs' are zero !
## Warning: 'wNSE' can not be computed: some elements in 'obs' are zero !
## Warning: 'rd' can not be computed: some elements in 'obs' are zero !
# Climate adjustment
dT <- 4
snow_plus3 <- hydromisc::snow.sim(DATA=snow_data_final,
Tmax=max(opt_res$par[1],opt_res$par[2]),
Tmin=min(opt_res$par[1],opt_res$par[2]),
kd=opt_res$par[3],
Tmelt=opt_res$par[4],
deltaT = dT)
simplusdT <- snow_plus3$swe_simulated
# plot the results
dTlegend <- expression("Simulated"*~+4~degree*C)
plot(as.Date(snow_data_final$date),obs,type = "l",xlab = "", ylab = "SWE (mm)")
lines(as.Date(snow_estim$date),simulated,lty=2,col="blue")
lines(as.Date(snow_estim$date),simplusdT,lty=3,col="red")
legend("topleft", legend = c("Observed", "Simulated",dTlegend),
lty = c(1,2,3), col=c("black","blue","red"))
grid()