diff --git a/inst/ShinyGR/server.R b/inst/ShinyGR/server.R index 3a2fdbf2363ce40577bd9b0e07d3165f5cf268a5..b7e97226aeffe0ef9457877ebaf6d16dfbcdd23e 100644 --- a/inst/ShinyGR/server.R +++ b/inst/ShinyGR/server.R @@ -71,7 +71,7 @@ shinyServer(function(input, output, session) { } else { HydroModel <- input$HydroModel } - TMGR <- .TypeModelGR(HydroModel) + TMGR <- airGRteaching:::.TypeModelGR(HydroModel) X2 <- ifelse(input$HydroModel == "GR2M", input$X2GR2M, input$X2) PARAM <- c(input$X1, X2, input$X3, input$X4, input$X5, input$X6)[seq_len(TMGR$NbParam)] if (input$SnowModel == "CemaNeige") { @@ -88,11 +88,11 @@ shinyServer(function(input, output, session) { CemaNeige = input$SnowModel == "CemaNeige") ## old value: bad time zone management - #WUPPER <- c(PREP$InputsModel$DatesR[1L], input$Period[1L]-.TypeModelGR(PREP)$TimeLag) + #WUPPER <- c(PREP$InputsModel$DatesR[1L], input$Period[1L]-airGRteaching:::.TypeModelGR(PREP)$TimeLag) ## patch from Juan Camilo Peña <juancamilopec@gmail.com> - #WUPPER <- c(format(PREP$InputsModel$DatesR[1L], format = "%Y-%m-%d", tz = "UTC"), format(input$Period[1L]-.TypeModelGR(PREP)$TimeLag, format = "%Y-%m-%d", tz = "UTC")) + #WUPPER <- c(format(PREP$InputsModel$DatesR[1L], format = "%Y-%m-%d", tz = "UTC"), format(input$Period[1L]-airGRteaching:::.TypeModelGR(PREP)$TimeLag, format = "%Y-%m-%d", tz = "UTC")) ## new value - WUPPER <- as.POSIXlt(c(as.character(PREP$InputsModel$DatesR[1L]), as.character(input$Period[1L]-.TypeModelGR(PREP)$TimeLag)), tz = "UTC") + WUPPER <- as.POSIXlt(c(as.character(PREP$InputsModel$DatesR[1L]), as.character(input$Period[1L]-airGRteaching:::.TypeModelGR(PREP)$TimeLag)), tz = "UTC") if (HydroModel == "GR2M") { WUPPER <- trunc(WUPPER, units = "months") } else { @@ -277,7 +277,7 @@ shinyServer(function(input, output, session) { (isEqualSumQsim & isEqualTypeModel) | isEqualPeriod) { OBSold <- getPrep()$PREP OBSold$TypeModel <- .GlobalEnv$.ShinyGR.hist[[1L]]$TypeModel - if (.TypeModelGR(OBSold)$CemaNeige & !.TypeModelGR(getPrep()$PREP)$CemaNeige | # present: No CemaNeige ; old: CemaNeige + if (airGRteaching:::.TypeModelGR(OBSold)$CemaNeige & !airGRteaching:::.TypeModelGR(getPrep()$PREP)$CemaNeige | # present: No CemaNeige ; old: CemaNeige isEqualSumQsim & isEqualTypeModel) { if (input$Dataset == "Unnamed watershed") { ObsDF <- NULL @@ -431,16 +431,16 @@ shinyServer(function(input, output, session) { # if (dateWindow[1L] == dateWindow[2L]) { # if (dateWindow[1L] == as.POSIXct(.ShinyGR.args$SimPer[2L], tz = "UTC")) { # updateSliderInput(session, inputId = "Period", - # value = dateWindow - c(1, 0) * .TypeModelGR(input$HydroModel)$TimeLag) + # value = dateWindow - c(1, 0) * airGRteaching:::.TypeModelGR(input$HydroModel)$TimeLag) # } else { # updateSliderInput(session, inputId = "Period", - # value = dateWindow + c(0, 1) * .TypeModelGR(input$HydroModel)$TimeLag) + # value = dateWindow + c(0, 1) * airGRteaching:::.TypeModelGR(input$HydroModel)$TimeLag) # } # } else { if (dateWindow[1L] != dateWindow[2L]) { timeFormat <- ifelse(input$HydroModel == "GR2M", "%Y-%m", "%F") updateSliderInput(session, inputId = "Period", - value = dateWindow, ### + .TypeModelGR(input$HydroModel)$TimeLag, + value = dateWindow, ### + airGRteaching:::.TypeModelGR(input$HydroModel)$TimeLag, timeFormat = timeFormat, timezone = "+0000") } # } @@ -453,10 +453,10 @@ shinyServer(function(input, output, session) { # if (input$Period[1L] == input$Period[2L]) { # if (input$Period[1L] == as.POSIXct(.ShinyGR.args$SimPer[2L], tz = "UTC")) { # updateSliderInput(session, inputId = "Period", - # value = input$Period - c(1, 0) * .TypeModelGR(input$HydroModel)$TimeLag) + # value = input$Period - c(1, 0) * airGRteaching:::.TypeModelGR(input$HydroModel)$TimeLag) # } else { # updateSliderInput(session, inputId = "Period", - # value = input$Period + c(0, 1) * .TypeModelGR(input$HydroModel)$TimeLag) + # value = input$Period + c(0, 1) * airGRteaching:::.TypeModelGR(input$HydroModel)$TimeLag) # } # } # } @@ -543,16 +543,16 @@ shinyServer(function(input, output, session) { EventId <- ifelse(input$HydroModel == "GR2M", "EventGR2M", "Event") timeFormat <- ifelse(input$HydroModel == "GR2M", "%Y-%m", "%F") updateSliderInput(session, inputId = EventId, label = "Select the target date:", - min = as.POSIXct(.ShinyGR.args$SimPer[[input$Dataset]][1L], tz = "UTC"),## + .TypeModelGR(input$HydroModel)$TimeLag, + min = as.POSIXct(.ShinyGR.args$SimPer[[input$Dataset]][1L], tz = "UTC"),## + airGRteaching:::.TypeModelGR(input$HydroModel)$TimeLag, max = as.POSIXct(.ShinyGR.args$SimPer[[input$Dataset]][2L], tz = "UTC"), - value = as.POSIXct(.ShinyGR.args$SimPer[[input$Dataset]][1L], tz = "UTC"), + .TypeModelGR(input$HydroModel)$TimeLag, + value = as.POSIXct(.ShinyGR.args$SimPer[[input$Dataset]][1L], tz = "UTC"), + airGRteaching:::.TypeModelGR(input$HydroModel)$TimeLag, timeFormat = timeFormat, timezone = "+0000") }) observe({ EventId <- ifelse(input$HydroModel == "GR2M", "EventGR2M", "Event") timeFormat <- ifelse(input$HydroModel == "GR2M", "%Y-%m", "%F") updateSliderInput(session, inputId = EventId, label = "Select the target date:", - min = input$Period[1L],## + .TypeModelGR(input$HydroModel)$TimeLag, + min = input$Period[1L],## + airGRteaching:::.TypeModelGR(input$HydroModel)$TimeLag, max = input$Period[2L], timeFormat = timeFormat, timezone = "+0000") }, priority = -100) @@ -633,7 +633,7 @@ shinyServer(function(input, output, session) { naCol = NA) data.xts <- xts::xts(data[, -1L, drop = FALSE], order.by = data$DatesR, tz = "UTC") op <- getPlotPar()$par - ylabDgTSe <- sprintf("flow error [mm/%s]", .TypeModelGR(input$HydroModel)$TimeUnit) + ylabDgTSe <- sprintf("flow error [mm/%s]", airGRteaching:::.TypeModelGR(input$HydroModel)$TimeUnit) dgTSe <- dygraphs::dygraph(data.xts, group = "ts", ylab = ylabDgTSe, main = " ") dgTSe <- dygraphs::dySeries(dgTSe, "Error" , axis = "y" , color = "orangered") dgTSe <- dygraphs::dySeries(dgTSe, "ErrorOld", axis = "y" , color = "grey", strokePattern = "dashed") @@ -648,8 +648,8 @@ shinyServer(function(input, output, session) { dgTSe <- dygraphs::dyLegend(dgTSe, show = "onmouseover", width = 225) dgTSe <- dygraphs::dyCrosshair(dgTSe, direction = "vertical") dgTSe <- dygraphs::dyLimit(dgTSe, limit = 0, color = "blue") - idNA <- .StartStop(data$Error, FUN = is.na) - dgTSe <- .DyShadingMulti(dygraph = dgTSe, color = rgb(0.5, 0.5, 0.5, alpha = 0.4), + idNA <- airGRteaching:::.StartStop(data$Error, FUN = is.na) + dgTSe <- airGRteaching:::.DyShadingMulti(dygraph = dgTSe, color = rgb(0.5, 0.5, 0.5, alpha = 0.4), ts = data$DatesR, idStart = idNA$start, IdStop = idNA$stop) }) @@ -737,8 +737,8 @@ shinyServer(function(input, output, session) { } dgSVq <- dygraphs::dyCrosshair(dgSVq, direction = "vertical") dgSVq <- dygraphs::dyLegend(dgSVq, show = "always", width = 325) - idNA <- .StartStop(getData()$Tab$Qobs, FUN = is.na) - dgSVq <- .DyShadingMulti(dygraph = dgSVq, color = rgb(0.5, 0.5, 0.5, alpha = 0.4), + idNA <- airGRteaching:::.StartStop(getData()$Tab$Qobs, FUN = is.na) + dgSVq <- airGRteaching:::.DyShadingMulti(dygraph = dgSVq, color = rgb(0.5, 0.5, 0.5, alpha = 0.4), ts = data$DatesR, idStart = idNA$start, IdStop = idNA$stop) }) @@ -853,8 +853,8 @@ shinyServer(function(input, output, session) { dgMDq <- dygraphs::dySeries(dgMDq, name = "QsimOld", label = "Qold", drawPoints = FALSE, strokePattern = "dashed") dgMDq <- dygraphs::dyLegend(dgMDq, show = "onmouseover", width = 225) dgMDq <- dygraphs::dyCrosshair(dgMDq, direction = "vertical") - idNA <- .StartStop(data$Qobs, FUN = is.na) - dgMDq <- .DyShadingMulti(dygraph = dgMDq, color = rgb(0.5, 0.5, 0.5, alpha = 0.4), + idNA <- airGRteaching:::.StartStop(data$Qobs, FUN = is.na) + dgMDq <- airGRteaching:::.DyShadingMulti(dygraph = dgMDq, color = rgb(0.5, 0.5, 0.5, alpha = 0.4), ts = data$DatesR, idStart = idNA$start, IdStop = idNA$stop) }) @@ -880,7 +880,7 @@ shinyServer(function(input, output, session) { } par(getPlotPar()$par) - try(.DiagramGR(OutputsModel = getData()$OutputsModel, Param = getSim()$PARAM, + try(airGRteaching:::.DiagramGR(OutputsModel = getData()$OutputsModel, Param = getSim()$PARAM, SimPer = SimPer, EventDate = dateEvent, HydroModel = input$HydroModel, CemaNeige = input$SnowModel == "CemaNeige", Theme = .GlobalEnv$.ShinyGR.args$theme), @@ -950,7 +950,7 @@ shinyServer(function(input, output, session) { } colnames(TabSim) <- sprintf("%s [%s]", colnames(TabSim), c("-", rep("mm", 2), "-", "°C", rep("mm", 2))) colnames(TabSim) <- ifelse(grepl("mm", colnames(TabSim)), - gsub("mm", paste0("mm/", .TypeModelGR(getSim()$SIM)$TimeUnit), colnames(TabSim)), + gsub("mm", paste0("mm/", airGRteaching:::.TypeModelGR(getSim()$SIM)$TimeUnit), colnames(TabSim)), colnames(TabSim)) write.table(TabSim, file = file, row.names = FALSE, sep = ";") } @@ -1111,7 +1111,7 @@ shinyServer(function(input, output, session) { } par(oma = c(0, 1, marginTop, 1)) - .DiagramGR(OutputsModel = getData()$OutputsModel, Param = getSim()$PARAM, + airGRteaching:::.DiagramGR(OutputsModel = getData()$OutputsModel, Param = getSim()$PARAM, SimPer = input$Period, EventDate = dateEvent, HydroModel = input$HydroModel, CemaNeige = input$SnowModel == "CemaNeige") mtext(text = PngTitleMD, side = 3, outer = TRUE, cex = 1.2, line = ifelse(isBigTitle, -0.15, 0.6)) @@ -1129,7 +1129,7 @@ shinyServer(function(input, output, session) { codeBH <- gsub(sprintf("(.*)(%s)(.*)", codeRegex), "\\2", input$DatasetSheet) urlRegex <- "https://webgr.inrae.fr/wp-content/uploads/fiches/%s_fiche.png" urlSheet <- sprintf(urlRegex, codeBH) - if (.CheckUrl(urlSheet)) { + if (airGRteaching:::.CheckUrl(urlSheet)) { tags$p(tags$h6("Click on the image to open it in a new window and to enlarge it."), tags$a(href = urlSheet, target = "_blank", rel = "noopener noreferrer", tags$img(src = urlSheet, height = "770px",