diff --git a/DESCRIPTION b/DESCRIPTION
index 3545e7855fecb98287bc8be9ad5ffef3797508e1..87a8a82da58d9f239c799318b1f66cbf7d718a37 100644
--- a/DESCRIPTION
+++ b/DESCRIPTION
@@ -1,7 +1,7 @@
 Package: airGRteaching
 Type: Package
 Title: Teaching Hydrological Modelling with the GR Rainfall-Runoff Models ('Shiny' Interface Included)
-Version: 0.2.10.26
+Version: 0.2.10.27
 Date: 2020-04-29
 Authors@R: c(
   person("Olivier", "Delaigue", role = c("aut", "cre"), comment = c(ORCID = "0000-0002-7668-8468"), email = "airGR@inrae.fr"),
diff --git a/NEWS.md b/NEWS.md
index 60e3f2d844e3c98d0f072498e64477f6dd02945e..539d10203c6a19a6c3ef7965ea6f7e9485e11962 100644
--- a/NEWS.md
+++ b/NEWS.md
@@ -4,7 +4,7 @@
 
 
 
-### 0.2.10.26 Release Notes (2020-04-29)
+### 0.2.10.27 Release Notes (2020-04-29)
 
 
 #### New features
diff --git a/inst/ShinyGR/server.R b/inst/ShinyGR/server.R
index 1c00aed762d7588267f90d3a17de33222389c577..f9accaa1ee00274a0d363153e6e31ae3447d9948 100644
--- a/inst/ShinyGR/server.R
+++ b/inst/ShinyGR/server.R
@@ -538,15 +538,18 @@ shinyServer(function(input, output, session) {
   
   ## Target date slider
   eventReactive({input$Dataset}, {
-    updateSliderInput(session, inputId = "Event", label = "Select the target date:",
+    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,
                       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,
                       timeFormat = timeFormat, timezone = "+0000")
   })
   observe({
+    EventId <- ifelse(input$HydroModel == "GR2M", "EventGR2M", "Event")
     timeFormat <- ifelse(input$HydroModel == "GR2M", "%Y-%m", "%F")
-    updateSliderInput(session, inputId = "Event", label = "Select the target date:",
+    updateSliderInput(session, inputId = EventId, label = "Select the target date:",
                       min = input$Period[1L],## + .TypeModelGR(input$HydroModel)$TimeLag,
                       max = input$Period[2L],
                       timeFormat = timeFormat, timezone = "+0000")
@@ -755,7 +758,12 @@ shinyServer(function(input, output, session) {
       col.Precip <- c("#428BCA")
     }
     data.xts <- xts::xts(data[, -1L, drop = FALSE], order.by = data$DatesR, tzone = "UTC")
-    dateEvent <- trunc(input$Event, units = ifelse(input$HydroModel == "GR2M", "months", "days"))
+    # dateEvent <- trunc(input$Event, units = ifelse(input$HydroModel == "GR2M", "months", "days"))
+    if (input$HydroModel == "GR2M") {
+      dateEvent <- trunc(input$EventGR2M, units = "months")
+    } else {
+      dateEvent <- trunc(input$Event, units = "days")
+    }
     
     dgMDp <- dygraphs::dygraph(data.xts, group = "mod_diag", ylab = paste0("precip. [mm/", getPrep()$TMGR$TimeUnit, "]"))
     dgMDp <- dygraphs::dyOptions(dgMDp, colors = col.Precip, drawXAxis = FALSE,
@@ -778,7 +786,12 @@ shinyServer(function(input, output, session) {
     #                    PET    = getSim()$SIM$OutputsModel$PotEvap)
     data <- getData()$Tab[, c("DatesR", "PET")]
     data.xts <- xts::xts(data[, -1L, drop = FALSE], order.by = data$DatesR, tzone = "UTC")
-    dateEvent <- trunc(input$Event, units = ifelse(input$HydroModel == "GR2M", "months", "days"))
+    # dateEvent <- trunc(input$Event, units = ifelse(input$HydroModel == "GR2M", "months", "days"))
+    if (input$HydroModel == "GR2M") {
+      dateEvent <- trunc(input$EventGR2M, units = "months")
+    } else {
+      dateEvent <- trunc(input$Event, units = "days")
+    }
     
     op <- getPlotPar()$par
     dgMDe <- dygraphs::dygraph(data.xts, group = "mod_diag", ylab = paste0("PET [mm/", getPrep()$TMGR$TimeUnit, "]"), main = " ")
@@ -813,11 +826,17 @@ shinyServer(function(input, output, session) {
     #                    Qobs    = OutputsModel2$Qobs,
     #                    Qsim    = OutputsModel2$Qsim,
     #                    QsimOld = OutputsModel2$Qold)
+
+    # dateEvent <- trunc(input$Event, units = ifelse(input$HydroModel == "GR2M", "months", "days"))
+    if (input$HydroModel == "GR2M") {
+      dateEvent <- trunc(input$EventGR2M, units = "months")
+    } else {
+      dateEvent <- trunc(input$Event, units = "days")
+    }
     data <- getData()$Tab[, c("DatesR", "Qobs", "Qsim", "QsimOld")]
-    data$Qsim    <- ifelse(format(data$DatesR, "%Y%m%d") > format(input$Event, "%Y%m%d"), NA, data$Qsim)
-    data$QsimOld <- ifelse(format(data$DatesR, "%Y%m%d") > format(input$Event, "%Y%m%d"), NA, data$QsimOld)
+    data$Qsim    <- ifelse(format(data$DatesR, "%Y%m%d") > format(dateEvent, "%Y%m%d"), NA, data$Qsim)
+    data$QsimOld <- ifelse(format(data$DatesR, "%Y%m%d") > format(dateEvent, "%Y%m%d"), NA, data$QsimOld)
     data.xts <- xts::xts(data[, -1L, drop = FALSE], order.by = data$DatesR, tzone = "UTC")
-    dateEvent <- trunc(input$Event, units = ifelse(input$HydroModel == "GR2M", "months", "days"))
     
     op <- getPlotPar()$par
     dgMDq <- dygraphs::dygraph(data.xts, group = "mod_diag", ylab = paste0("flow [mm/", getPrep()$TMGR$TimeUnit, "]"), main = " ")
@@ -846,12 +865,13 @@ shinyServer(function(input, output, session) {
     # OutputsModel2 <- c(OutputsModel2, Qobs = list(getSim()$SIM$Qobs[IndPlot]))
     
     # OutputsModel2 <- getData()$OutputsModel
+    # dateEvent <- trunc(input$Event, units = ifelse(input$HydroModel == "GR2M", "months", "days"))
     if (input$HydroModel == "GR2M") {
       dd <- trunc(input$Period, units = "months")
-      dateEvent <- trunc(input$Event, units = "months")
+      dateEvent <- trunc(input$EventGR2M, units = "months")
     } else {
       dd <- trunc(input$Period, units = "days")
-      dateEvent <- trunc(input$Event, units = "months")
+      dateEvent <- trunc(input$Event, units = "days")
     }
 
     par(getPlotPar()$par)
@@ -944,7 +964,11 @@ shinyServer(function(input, output, session) {
     content = function(file) {
       k <- 1.75
       ParamTitle <- c("X1", "X2"   , "X3", "X4", "X5", "X6")[seq_len(getPrep()$TMGR$NbParam)]
-      ParamUnits <- c("mm", "mm/%s", "mm", "%s",   "", "mm")[seq_len(getPrep()$TMGR$NbParam)]
+      ParamUnits <- c("mm", "mm/%s", "mm", "%s",   "", "mm")
+      if (input$HydroModel == "GR2M") {
+        ParamUnits[2] <- "-%s"
+      }
+      ParamUnits <- ParamUnits[seq_len(getPrep()$TMGR$NbParam)]
       if (input$SnowModel == "CemaNeige") {
         ParamTitle <- c(ParamTitle, "C1", "C2")
         ParamUnits <- c(ParamUnits,  "", "mm/°C/%s")
@@ -1056,11 +1080,16 @@ shinyServer(function(input, output, session) {
         dev.off()
       }
       if (getPlotType() == 4) {
+        if (input$HydroModel == "GR2M") {
+          dateEvent <- trunc(input$EventGR2M, units = "months")
+        } else {
+          dateEvent <- input$Event
+        }
         isCN <- input$SnowModel == "CemaNeige"
         png(filename = file, width = 550*k, height = ifelse(isCN, 1000, 900)*k, pointsize = 12, res = 150)
         PngTitleMD <- sprintf("%s - %s/%s\n%s\n%s", input$Dataset,
                             input$HydroModel, ifelse(input$SnowModel == "CemaNeige", "CemaNeige", "No snow model"),
-                            input$Event,
+                            dateEvent,
                             ParamTitle)
         if (grepl("X5", PngTitleMD)) {
           PngTitleMD <- gsub(", X5", "\nX5", PngTitleMD)
@@ -1070,7 +1099,7 @@ shinyServer(function(input, output, session) {
 
         par(oma = c(0, 0, ifelse(isCN, 7, 6), 0))
         .DiagramGR(OutputsModel = getData()$OutputsModel, Param = getSim()$PARAM,
-                   SimPer = input$Period, EventDate = input$Event,
+                   SimPer = input$Period, EventDate = dateEvent,
                    HydroModel = input$HydroModel, CemaNeige = input$SnowModel == "CemaNeige")
         mtext(text = PngTitleMD, side = 3, outer = TRUE, cex = 1.2, line = ifelse(isCN, -0.15, 0.6))
         dev.off()