Klimadata er prossesert av Markus F. Isaksen og dokumenteres i på en annen side. Her tar vi bare inn dataene og plotter de.

Disse dataene er klippet slik at det bare kommer fra fjellarealer.

Årsnedbør

err <- read_excel("P:/41201042_okologisk_tilstand_fastlandsnorge_2020_dataanaly/fjell2021/data/Klima/Sum nedbør/sumPrecip_med.xlsx")
head(err)
## # A tibble: 5 x 5
##   area        variable  norm_med         `norm_-2SD`      `norm_+2SD`     
##   <chr>       <chr>     <chr>            <chr>            <chr>           
## 1 norge-norge sumPrecip 337.299987792969 231.449392384015 443.150583201922
## 2 midt-norge  sumPrecip 536.5            341.280301197751 731.719698802249
## 3 østlandet   sumPrecip 389              270.869232292712 507.130767707288
## 4 vestlandet  sumPrecip 830.099975585938 555.063508136966 1105.13644303491
## 5 sørlandet   sumPrecip 651.5            433.86440688434  869.13559311566

Her ser vi medianen og variasjonen til denne variablene under forrige normalperiode 1961-1990. La oss normalisere disse.

names(err) <- c("Region", "variable", "median", "low", "upp")

err$low     <- as.numeric(err$low)
err$upp     <- as.numeric(err$upp)
err$median  <- as.numeric(err$median)

err$low <-   err$low - err$median
err$upp <-   err$upp - err$median
err$Region[err$Region=="norge-norge"] <- "Nord-Norge"
err$Region[err$Region=="midt-norge"] <- "Midt-Norge"
err$Region[err$Region=="østlandet"] <- "Østlandet"
err$Region[err$Region=="vestlandet"] <- "Vestlandet"
err$Region[err$Region=="sørlandet"] <- "Sørlandet"
dat <- read_excel("P:/41201042_okologisk_tilstand_fastlandsnorge_2020_dataanaly/fjell2021/data/Klima/Sum nedbør/sumPrecip_diff.xlsx")

head(dat)
## # A tibble: 6 x 7
##    year `nord-norge` `midt-norge` østlandet vestlandet sørlandet variable 
##   <dbl>        <dbl>        <dbl>     <dbl>      <dbl>     <dbl> <chr>    
## 1  1957        -33.5       -12.4       66.6       47.9     -27.5 sumPrecip
## 2  1958        -29.5       -38.5      -16.3      -76.7     -45.4 sumPrecip
## 3  1959        125         -63.9     -124.      -189.     -228.  sumPrecip
## 4  1960        -28.5       -42.8       38.2     -223.      -80.7 sumPrecip
## 5  1961         31.5         9.30      46.4       65.4      77.5 sumPrecip
## 6  1962        -52          61.6      -15.2      -50.8     -62.2 sumPrecip

Her ser vi gjennomsnittlig årsnedbør siste 5 år minus gjennomsnittet i normalperioden.

setDT(dat)
dat <- melt(dat,
            measure.vars = names(dat)[2:6],
            id.vars = "year",
            variable.name = "Region")
dat$Region <- as.character(dat$Region)
dat$Region[dat$Region=="nord-norge"] <- "Nord-Norge"
dat$Region[dat$Region=="midt-norge"] <- "Midt-Norge"
dat$Region[dat$Region=="østlandet"] <- "Østlandet"
dat$Region[dat$Region=="vestlandet"] <- "Vestlandet"
dat$Region[dat$Region=="sørlandet"] <- "Sørlandet"
regOrder = c(
  "Nord-Norge",
  "Midt-Norge",
  "Østlandet",
  "Vestlandet",
   "Sørlandet"
             )
dat$col <- ifelse(dat$value<0, "one", "two")
fig_nedbør <- ggplot()+
  geom_bar(data = dat,
           aes(x = year, 
               y = value,
               fill = col),
           stat="identity")+
  geom_smooth(data = dat,
                aes(x = year, 
                y = value))+
  ylab("Årsnedbør (mm)\navvik fra 1961-1990")+
  xlab("")+
  geom_hline(yintercept=0)+
  geom_hline(data = err, aes(yintercept=low), linetype=2)+
  geom_hline(data = err, aes(yintercept=upp), linetype=2)+
  theme_bw(base_size = 20)+
   theme(
    axis.text.x = element_text(angle = 90, vjust = 0.5, hjust=1))+
   guides(fill="none")+
    facet_wrap(.~factor(Region, levels = regOrder), scales = "free_y")
png("../output/paavirkningsindikatorer/facet plot/årsnedbør_tidsserie.png", 
    units="in", width=10, height=7, res=300)
fig_nedbør
dev.off()

Tbl <- dat
Tbl$Region <- as.factor(Tbl$Region)
names(Tbl) <- c("year", "reg", "diff", "col")
regOrder = c("Østlandet","Sørlandet","Vestlandet","Midt-Norge","Nord-Norge")
Tbl <- Tbl[order(match(Tbl$reg,regOrder),Tbl$year),]
minyear <- 1958
maxyear <- 2021
upperYlimit <- 420
lowYlimit   <- -400
yStep <- 200
move <- 0.2
legendPosition <- "top"
legendInset = 0
horizontal = TRUE
legendTextSize = 1.25
colours = c("#2DCCD3", "#004F71", "#7A9A01", "#93328E", "#FFB25B")
# Create loop factors
  uniq1 <- unique(unlist(Tbl$year))
  uniq2 <- unique(unlist(Tbl$reg))
  ### PLOT first Norway
  
  # Subset for region 'E'
  Norge <- subset(Tbl, reg=="Østlandet")

png("../output/paavirkningsindikatorer/enkel stil/årsnedbør.png", 
    units="in", width=12, height=7, res=300)  
  par(mar=c(4.5,6.5,2,2))
 # Plot for region = 'Norge'
  plot(
    Norge$diff~Norge$year, 
    ylab="Årsnedbør (mm)\navvik fra normalperioden (1961-1990)",
    xlab="",
    main="",
    xlim=c(minyear, maxyear),
    ylim=c(lowYlimit, upperYlimit),
    cex.main=1,
    cex.lab=1.5,
    cex.axis=1.5,
    type="n", 
    frame.plot=FALSE,
    axes=FALSE
  )
  
  # Axis 1 options
  axis(side=1, at=c(seq(1960, 2020, by=10)), cex.axis=1.5) 
  
  
  # Axis 2 options
  axis(side=2, at=seq(lowYlimit, upperYlimit, yStep), 
       labels=seq(lowYlimit, upperYlimit, yStep), 
       cex.axis=1.5)
  
  
  # Add lines
  lines(Norge$year+(move*(-2.5)), Norge$diff, col=colours[5], lwd=2, lty=1) 
  
  # Save temp points for later addition to plot
  temppoints <- data.frame(year = Norge$year, med = Norge$diff)
  
  
  
  # Empty temporary points data frame
  temppoints3 <- data.frame()
  
  
  
  ### Then plot loop per region
  for(n in 1:(length(uniq2)-1)){
    
    # Subset for region i
    quants <- subset(Tbl, reg==uniq2[n])
    
    # Add lines
    lines(quants$year+move*(n-2.5), quants$diff, col=colours[n], lwd=2, lty=1) 
    
    # Save temp points for later addition to plot
    temppoints2 <- data.frame(year = quants$year, med = quants$diff, reg = uniq2[n])
    temppoints3 <- rbind(temppoints3, temppoints2)
    
  }
  
 # # Add points for regions
 # for(n in 1:(length(uniq2)-1)){
 #   temppoints4 <- temppoints3[temppoints3$reg==uniq2[n],]
 #   points(temppoints4$year+move*(n-2.5),temppoints4$diff, pch=21, bg=colours[n], cex=1.5)
 # }
 # 
 # # Add points for Norge
 # points(temppoints$year+(move*(-2.5)),temppoints$diff, pch=21, bg=colours[5], cex=1.5)
  
  # Add legend to plot
  legend(legendPosition, legendPositionY, legend = regOrder, col = c(colours[5], colours[1:4]), 
         #bg = c(colours), 
         pch=16, lty=2,
         lwd=1.5, bty="n", inset=legendInset, title="", horiz = horizontal,
         cex=legendTextSize)
  
  # add reference line
  abline(h=0, col="black", lwd=2, lty=2)

dev.off()

Dager med nedbør

dager_err <- read_excel("P:/41201042_okologisk_tilstand_fastlandsnorge_2020_dataanaly/fjell2021/data/Klima/Dager med nedbør/daysPrecip_med.xlsx")
names(dager_err) <- c("Region", "variable", "median", "low", "upp")

dager_err$low     <- as.numeric(dager_err$low)
dager_err$upp     <- as.numeric(dager_err$upp)
dager_err$median  <- as.numeric(dager_err$median)

dager_err$low <- 
  dager_err$low - dager_err$median
dager_err$upp <- 
  dager_err$upp - dager_err$median
dager_err$Region[dager_err$Region=="nord-norge"] <- "Nord-Norge"
dager_err$Region[dager_err$Region=="midt-norge"] <- "Midt-Norge"
dager_err$Region[dager_err$Region=="østlandet"] <- "Østlandet"
dager_err$Region[dager_err$Region=="vestlandet"] <- "Vestlandet"
dager_err$Region[dager_err$Region=="sørlandet"] <- "Sørlandet"
dager <- read_excel("P:/41201042_okologisk_tilstand_fastlandsnorge_2020_dataanaly/fjell2021/data/Klima/Dager med nedbør/daysPrecip_diff.xlsx")
setDT(dager)
dager <- melt(dager,
            measure.vars = names(dager)[2:6],
            id.vars = "year",
            variable.name = "Region")
dager$Region <- as.character(dager$Region)
dager$Region[dager$Region=="nord-norge"] <- "Nord-Norge"
dager$Region[dager$Region=="midt-norge"] <- "Midt-Norge"
dager$Region[dager$Region=="østlandet"] <- "Østlandet"
dager$Region[dager$Region=="vestlandet"] <- "Vestlandet"
dager$Region[dager$Region=="sørlandet"] <- "Sørlandet"
regOrder = c(
  "Nord-Norge",
  "Midt-Norge",
  "Østlandet",
  "Vestlandet",
   "Sørlandet"
             )
dager$col <- ifelse(dager$value<0, "one", "two")
fig_dager <- ggplot()+
  geom_bar(data = dager,
          aes(x= year, 
              y= value,
              fill=col),
          stat="identity")+
  scale_fill_hue(l=70, c=60)+
  geom_smooth(data = dager,
          aes(x= year, 
              y= value))+
  ylab("Antall dager med nedbør\navvik fra 1961-1990")+
  xlab("")+
  geom_hline(yintercept=0)+
  geom_hline(data = dager_err, 
             aes(yintercept=low), linetype=2)+
  geom_hline(data = dager_err, 
             aes(yintercept=upp), linetype=2)+
  theme_bw(base_size = 20)+
  theme(axis.text.x = 
          element_text(angle = 90, vjust = 0.5, hjust=1))+
  guides(fill="none")+
  facet_wrap(.~factor(Region, levels = regOrder))
png("../output/paavirkningsindikatorer/facet plot/dagerMedNedbør_tidsserie.png", 
    units="in", width=10, height=7, res=300)
fig_dager
dev.off()

Det er tydelig at antall dager med nedbør har økt, såpass mye at gjennomsnittet de siste fem årene på sør- og østlandet vill blitt kalt ekstremår i forrige normalperiode (over 2 standardavvik fra normalen.)

Tbl <- dager
names(Tbl) <- c("year", "reg", "diff", "col")
regOrder = c("Østlandet","Sørlandet","Vestlandet","Midt-Norge","Nord-Norge")
Tbl <- Tbl[order(match(Tbl$reg,regOrder),Tbl$year),]
minyear <- 1958
maxyear <- 2021
upperYlimit <- 50
lowYlimit   <- -40
yStep <- 20
move <- 0.2
legendPosition <- "top"
legendInset = 0
horizontal = TRUE
legendTextSize = 1.25
colours = c("#2DCCD3", "#004F71", "#7A9A01", "#93328E", "#FFB25B")
# Create loop factors
  uniq1 <- unique(unlist(Tbl$year))
  uniq2 <- unique(unlist(Tbl$reg))
  
  
  ### PLOT first Norway
  
  # Subset for region 'E'
  Norge <- subset(Tbl, reg=="Østlandet")

png("../output/paavirkningsindikatorer/enkel stil/dager med nedbør.png", 
    units="in", width=12, height=7, res=300)  
  par(mar=c(4.5,6.5,2,2))
 # Plot for region = 'Norge'
  plot(
    Norge$diff~Norge$year, 
    ylab="Antall dager med nebør\navvik fra 1961-1990",
    xlab="",
    main="",
    xlim=c(minyear, maxyear),
    ylim=c(lowYlimit, upperYlimit),
    cex.main=1,
    cex.lab=1.5,
    cex.axis=1.5,
    type="n", 
    frame.plot=FALSE,
    axes=FALSE
  )
  
  # Axis 1 options
  axis(side=1, at=c(seq(1960, 2020, by=10)), cex.axis=1.5) 
  
  
  # Axis 2 options
  axis(side=2, at=seq(lowYlimit, upperYlimit, yStep), 
       labels=seq(lowYlimit, upperYlimit, yStep), 
       cex.axis=1.5)
  
  
  # Add lines
  lines(Norge$year+(move*(-2.5)), Norge$diff, col=colours[5], lwd=2, lty=1) 
  
  # Save temp points for later addition to plot
  temppoints <- data.frame(year = Norge$year, med = Norge$diff)
  
  
  
  # Empty temporary points data frame
  temppoints3 <- data.frame()
  
  
  
  ### Then plot loop per region
  for(n in 1:(length(uniq2)-1)){
    
    # Subset for region i
    quants <- subset(Tbl, reg==uniq2[n])
    
    # Add lines
    lines(quants$year+move*(n-2.5), quants$diff, col=colours[n], lwd=2, lty=1) 
    
    # Save temp points for later addition to plot
    temppoints2 <- data.frame(year = quants$year, med = quants$diff, reg = uniq2[n])
    temppoints3 <- rbind(temppoints3, temppoints2)
    
  }
  
#  # Add points for regions
#  for(n in 1:(length(uniq2)-1)){
#    temppoints4 <- temppoints3[temppoints3$reg==uniq2[n],]
#    points(temppoints4$year+move*(n-2.5),temppoints4$diff, pch=21, #bg=colours[n], cex=1.5)
#  }
#  
#  # Add points for Norge
#  points(temppoints$year+(move*(-2.5)),temppoints$diff, pch=21, #bg=colours[5], cex=1.5)
  
  # Add legend to plot
  legend(legendPosition, legendPositionY, legend = regOrder, col = c(colours[5], colours[1:4]), 
         #bg = c(colours), 
         pch=16, lty=2,
         lwd=1.5, bty="n", inset=legendInset, title="", horiz = horizontal,
         cex=legendTextSize)
  
  # add reference line
  abline(h=0, col="black", lwd=2, lty=2)

dev.off()