r paste0(toupper(watershed), " watershed with ", toupper(model), " and version ", medfateland_version)
Daily
ggplot(Q_daily, aes(x=Date))+ geom_line(aes(y = Qobs), col = "black", linewidth = 0.8)+ geom_line(aes(y = Qunc), col = "red")+ geom_line(aes(y = Qcal), col = "blue")+ scale_y_continuous("Q (m3/s)")+ theme_bw()
Monthly
ggplot(Q_monthly, aes(x=Date))+ geom_line(aes(y = Qobs), col = "black", linewidth = 0.8)+ geom_line(aes(y = Qunc), col = "red")+ geom_line(aes(y = Qcal), col = "blue")+ scale_y_continuous("Q (m3/s)")+ theme_bw()
# Daily NSE nse_daily_unc<-hydroGOF::NSE(Q_daily$Qunc,Q_daily$Qobs,na.rm=TRUE) nse_daily_cal<-hydroGOF::NSE(Q_daily$Qcal,Q_daily$Qobs,na.rm=TRUE) # Monthly NSE nse_monthly_unc<-hydroGOF::NSE(Q_monthly$Qunc,Q_monthly$Qobs,na.rm=TRUE) nse_monthly_cal<-hydroGOF::NSE(Q_monthly$Qcal,Q_monthly$Qobs,na.rm=TRUE) # Daily KGE KGE_daily_unc<-hydroGOF::KGE(Q_daily$Qunc,Q_daily$Qobs, s=c(1,1,1), na.rm=TRUE, method=c("2021"), out.type=c("full"), fun=NULL, epsilon.type=c("none"), epsilon.value=NA) KGE_daily_cal<-hydroGOF::KGE(Q_daily$Qcal,Q_daily$Qobs, s=c(1,1,1), na.rm=TRUE, method=c("2021"), out.type=c("full"), fun=NULL, epsilon.type=c("none"), epsilon.value=NA) # Monthly KGE KGE_monthly_unc<-hydroGOF::KGE(Q_monthly$Qunc,Q_monthly$Qobs, s=c(1,1,1), na.rm=TRUE, method=c("2021"), out.type=c("full"), fun=NULL, epsilon.type=c("none"), epsilon.value=NA) KGE_monthly_cal<-hydroGOF::KGE(Q_monthly$Qcal,Q_monthly$Qobs, s=c(1,1,1), na.rm=TRUE, method=c("2021"), out.type=c("full"), fun=NULL, epsilon.type=c("none"), epsilon.value=NA) # Index of agreement d_daily_unc<-hydroGOF::dr(Q_daily$Qunc,Q_daily$Qobs, na.rm = TRUE) d_daily_cal<-hydroGOF::dr(Q_daily$Qcal,Q_daily$Qobs, na.rm = TRUE) d_monthly_unc<-hydroGOF::dr(Q_monthly$Qunc,Q_monthly$Qobs, na.rm = TRUE) d_monthly_cal<-hydroGOF::dr(Q_monthly$Qcal,Q_monthly$Qobs, na.rm = TRUE) # Volumetric efficiency ve_daily_unc<-hydroGOF::VE(Q_daily$Qunc,Q_daily$Qobs, na.rm=TRUE, fun=NULL, epsilon.type=c("none"), epsilon.value=NA) ve_daily_cal<-hydroGOF::VE(Q_daily$Qcal,Q_daily$Qobs, na.rm=TRUE, fun=NULL, epsilon.type=c("none"), epsilon.value=NA) ve_monthly_unc<-hydroGOF::VE(Q_monthly$Qunc,Q_monthly$Qobs, na.rm=TRUE, fun=NULL, epsilon.type=c("none"), epsilon.value=NA) ve_monthly_cal<-hydroGOF::VE(Q_monthly$Qcal,Q_monthly$Qobs, na.rm=TRUE, fun=NULL, epsilon.type=c("none"), epsilon.value=NA) # RMSE rmse_daily_unc<-hydroGOF::rmse(Q_daily$Qunc,Q_daily$Qobs, na.rm=TRUE, fun=NULL, epsilon.type=c("none"), epsilon.value=NA) rmse_daily_cal<-hydroGOF::rmse(Q_daily$Qcal,Q_daily$Qobs, na.rm=TRUE, fun=NULL, epsilon.type=c("none"), epsilon.value=NA) rmse_monthly_unc<-hydroGOF::rmse(Q_monthly$Qunc,Q_monthly$Qobs, na.rm=TRUE, fun=NULL, epsilon.type=c("none"), epsilon.value=NA) rmse_monthly_cal<-hydroGOF::rmse(Q_monthly$Qcal,Q_monthly$Qobs, na.rm=TRUE, fun=NULL, epsilon.type=c("none"), epsilon.value=NA)
validation_coefficients<- data.frame(Scale = c("Daily", "Daily", "Monthly", "Monthly"), Calibration = c("Before","After","Before","After"), NSE = NA, KGE = NA, d = NA, VE = NA, RMSE = NA) validation_coefficients$NSE[1]<-round(nse_daily_unc,3) validation_coefficients$NSE[2]<-round(nse_daily_cal,3) validation_coefficients$NSE[3]<-round(nse_monthly_unc,3) validation_coefficients$NSE[4]<-round(nse_monthly_cal,3) validation_coefficients$KGE[1]<-round(KGE_daily_unc[["KGE.value"]],3) validation_coefficients$KGE[2]<-round(KGE_daily_cal[["KGE.value"]],3) validation_coefficients$KGE[3]<-round(KGE_monthly_unc[["KGE.value"]],3) validation_coefficients$KGE[4]<-round(KGE_monthly_cal[["KGE.value"]],3) validation_coefficients$d[1]<-round(d_daily_unc,3) validation_coefficients$d[2]<-round(d_daily_cal,3) validation_coefficients$d[3]<-round(d_monthly_unc,3) validation_coefficients$d[4]<-round(d_monthly_cal,3) validation_coefficients$VE[1]<-round(ve_daily_unc,3) validation_coefficients$VE[2]<-round(ve_daily_cal,3) validation_coefficients$VE[3]<-round(ve_monthly_unc,3) validation_coefficients$VE[4]<-round(ve_monthly_cal,3) validation_coefficients$RMSE[1]<-round(rmse_daily_unc,3) validation_coefficients$RMSE[2]<-round(rmse_daily_cal,3) validation_coefficients$RMSE[3]<-round(rmse_monthly_unc,3) validation_coefficients$RMSE[4]<-round(rmse_monthly_cal,3) validation_coefficients |> kbl() |> kable_styling()
Density distribution
ggplot(Q_daily) + geom_density(aes(x=Qobs), col="black") + geom_density(aes(x=Qunc), col="red")+ geom_density(aes(x=Qcal), col="blue")+ scale_x_continuous("Daily Q (m3/s)")+ theme_bw()
Percentiles
p = c(0.01,0.05,0.10,0.15,0.25,0.50,0.75,0.85,0.90,0.95, 0.99) perc_df <- data.frame(Observed = quantile(Q_daily$Qobs, probs = p, na.rm=TRUE), Uncalibrated = round(quantile(Q_daily$Qunc, probs = p, na.rm=TRUE),3), Calibrated = round(quantile(Q_daily$Qcal, probs = p, na.rm=TRUE),3)) perc_df |> kbl() |> kable_styling()
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.