#########################################################
#########################################################
# Wether station metadata and surroundings with DEM1000
#########################################################
library(sp)
library(rgeos)
## rgeos version: 0.3-5, (SVN revision 447)
## GEOS runtime version: 3.4.2-CAPI-1.8.2 r3921
## Polygon checking: TRUE
library(rgdal)
## rgdal: version: 0.8-16, (SVN revision 498)
## Geospatial Data Abstraction Library extensions to R successfully loaded
## Loaded GDAL runtime: GDAL 1.11.0, released 2014/04/16
## Path to GDAL shared files: C:/Users/Matthias/R/rgdal/gdal
## GDAL does not use iconv for recoding strings.
## Loaded PROJ.4 runtime: Rel. 4.8.0, 6 March 2012, [PJ_VERSION: 480]
## Path to PROJ.4 shared files: C:/Users/Matthias/R/rgdal/proj
library(raster)
library(maptools)
## Checking rgeos availability: TRUE
library(gstat)
library(gridExtra)
## Loading required package: grid
sp.theme(TRUE)
####
# Import data
#####
# import station metadata:
setwd("C:/Users/Matthias/Documents/000 - uni/spatio-temporal data analysis/miniproject/Wetter_Klima")
mo=read.csv2("C:/Users/Matthias/Documents/000 - uni/spatio-temporal data analysis/miniproject/Wetter_Klima/Münster_Osnabrück/kl_10315_akt_txt/Stationsmetadaten_klima_stationen_01766_20121215_20140314.txt",dec=".")
ew=read.csv2("C:/Users/Matthias/Documents/000 - uni/spatio-temporal data analysis/miniproject/Wetter_Klima/Erfurt_Weimar/kl_10554_akt_txt/Stationsmetadaten_klima_stationen_01270_20121215_20140314.txt",dec=".")
stations=rbind(mo[3,], ew[6,])
stations$x=stations$Geogr.Laenge
stations$y=stations$Geogr.Breite
coordinates(stations) <- ~x+y
proj4string(stations) <- CRS("+proj=longlat +datum=WGS84")
# transform metadata to gauss-krüger
stations = spTransform(stations,CRSobj=CRS("+init=epsg:31467")) #31467 - DHDN / 3-degree Gauss-Kruger zone 3
# export station metadata to shapefile
# writeOGR(stations,dsn="stations.shp",layer="stations",driver="ESRI Shapefile")
gDistance(stations[1,], stations[2,]) #distance betwenn stations: 260100.8 m
## [1] 260101
# import DGM1000
dgm=read.asciigrid("C:/Users/Matthias/Documents/000 - uni/spatio-temporal data analysis/miniproject/dgm1000.gk3.gridascii/dgm1000/dgm1000_gk3.asc", proj4string=CRS("+init=epsg:31467"))
names(dgm)<- "dgm1000_gk3"
#spplot(dgm)
#####
# create buffers and make overlays with dgm
#####
buffer.mo=gBuffer(stations[1, ],width=50000)
sel=over(dgm,buffer.mo)
dgm.mo = dgm[!is.na(sel),]
names(dgm.mo)<-"DEM1000_MS_OS"
buffer.ew=gBuffer(stations[2, ],width=50000)
sel=over(dgm,buffer.ew)
dgm.ew = dgm[!is.na(sel),]
names(dgm.ew)<-"DEM1000_EF_WE"
# trim data / remove columns and rows with missing values
dgm.mo.r = trim(raster(dgm.mo))
dgm.mo=as(dgm.mo.r, "SpatialGridDataFrame")
dgm.ew.r = trim(raster(dgm.ew))
dgm.ew=as(dgm.ew.r, "SpatialGridDataFrame")
#plot(dgm.mo.r)
#plot(dgm.ew.r)
###########
# Results:
###########
# plot elevation
a=spplot(dgm.ew, main="Erfurt-Weimar elevation (meter)",col.regions=bpy.colors(100))
b=spplot(dgm.mo, main="Münster-Osnabrück elevation (meter)",col.regions=bpy.colors(100))
grid.arrange(a,b, ncol=2)

# print summary statistics
s=cbind(summary(dgm.ew.r), summary(dgm.mo.r));s
## DEM1000_EF_WE DEM1000_MS_OS
## Min. 113.5 20.79
## 1st Qu. 222.7 47.49
## Median 302.1 60.55
## 3rd Qu. 404.7 78.81
## Max. 951.7 310.57
## NA's 2277.0 2295.00
# print standard deviation
sd(dgm.ew$DEM1000_EF_WE,na.rm=TRUE)
## [1] 150.8
sd(dgm.mo$DEM1000_MS_OS,na.rm=TRUE)
## [1] 30.61
#save.image("dgm1000_station_metadata.RData")
#############################
#############################
#Time Series Analysis
#############################
library(xts)
## Loading required package: zoo
##
## Attaching package: 'zoo'
##
## Die folgenden Objekte sind maskiert from 'package:base':
##
## as.Date, as.Date.numeric
#
# Data Import
#
setwd("C:/Users/Matthias/Documents/000 - uni/spatio-temporal data analysis/miniproject/Wetter_Klima/")
mo_akt=read.csv("Münster_Osnabrück/kl_10315_akt_txt/produkt_klima_Tageswerte_20121215_20140314_01766.txt")
mo_hist=read.csv("Münster_Osnabrück/kl_10315_hist_txt/produkt_klima_Tageswerte_19891001_20121231_01766.txt")
ew_akt=read.csv("Erfurt_Weimar/kl_10554_akt_txt/produkt_klima_Tageswerte_20121215_20140314_01270.txt")
ew_hist=read.csv("Erfurt_Weimar/kl_10554_hist_txt/produkt_klima_Tageswerte_19510101_20121231_01270.txt")
#merge datasets
sel=which(mo_hist$Mess_Datum==mo_akt$Mess_Datum[1]);sel
## [1] 8477
mo.merged = rbind(mo_hist[1:sel-1,], mo_akt)
# clean up data / NA values
mo.merged=data.frame(lapply(mo.merged, function(x){
replace(x, x==-999, NA)
}))
mo.merged$Date=as.Date(as.character(mo.merged$Mess_Datum), "%Y%m%d")
summary(mo.merged)
## Stations_ID Mess_Datum Qualitaets_Niveau BEDECKUNGSGRAD
## Min. :1766 Min. :19891001 Min. : 1.00 Min. :0.00
## 1st Qu.:1766 1st Qu.:19951111 1st Qu.:10.00 1st Qu.:4.20
## Median :1766 Median :20011222 Median :10.00 Median :5.80
## Mean :1766 Mean :20015392 Mean : 8.83 Mean :5.35
## 3rd Qu.:1766 3rd Qu.:20080184 3rd Qu.:10.00 3rd Qu.:7.00
## Max. :1766 Max. :20140313 Max. :10.00 Max. :8.00
##
## REL_FEUCHTE DAMPFDRUCK LUFTTEMPERATUR LUFTDRUCK_STATIONSHOEHE
## Min. : 32.0 Min. : 1.5 Min. :-15.8 Min. : 969
## 1st Qu.: 71.0 1st Qu.: 7.1 1st Qu.: 5.1 1st Qu.:1004
## Median : 80.0 Median : 9.6 Median : 10.1 Median :1010
## Mean : 78.3 Mean :10.1 Mean : 10.0 Mean :1009
## 3rd Qu.: 87.0 3rd Qu.:12.9 3rd Qu.: 15.2 3rd Qu.:1015
## Max. :100.0 Max. :23.6 Max. : 28.4 Max. :1039
##
## WINDGESCHWINDIGKEIT LUFTTEMP_AM_ERDB_MINIMUM LUFTTEMPERATUR_MINIMUM
## Min. : 0.40 Min. :-24.90 Min. :-21.50
## 1st Qu.: 2.10 1st Qu.: -0.20 1st Qu.: 1.60
## Median : 3.00 Median : 4.40 Median : 6.20
## Mean : 3.32 Mean : 4.05 Mean : 5.97
## 3rd Qu.: 4.20 3rd Qu.: 8.90 3rd Qu.: 10.70
## Max. :14.40 Max. : 21.60 Max. : 23.00
## NA's :18
## LUFTTEMPERATUR_MAXIMUM WINDSPITZE_MAXIMUM NIEDERSCHLAGSHOEHE_IND
## Min. :-13.0 Min. : 1.4 Min. :0.00
## 1st Qu.: 8.2 1st Qu.: 7.1 1st Qu.:0.00
## Median : 14.1 Median : 9.5 Median :6.00
## Mean : 14.2 Mean :10.1 Mean :4.27
## 3rd Qu.: 20.2 3rd Qu.:12.3 3rd Qu.:6.00
## Max. : 37.5 Max. :34.8 Max. :8.00
## NA's :16
## NIEDERSCHLAGSHOEHE SONNENSCHEINDAUER SCHNEEHOEHE eor
## Min. : 0.00 Min. : 0.00 Min. : 0.000 eor:8930
## 1st Qu.: 0.00 1st Qu.: 0.30 1st Qu.: 0.000
## Median : 0.10 Median : 3.25 Median : 0.000
## Mean : 2.05 Mean : 4.32 Mean : 0.176
## 3rd Qu.: 2.20 3rd Qu.: 7.20 3rd Qu.: 0.000
## Max. :140.10 Max. :16.20 Max. :25.000
## NA's :1
## Date
## Min. :1989-10-01
## 1st Qu.:1995-11-11
## Median :2001-12-21
## Mean :2001-12-21
## 3rd Qu.:2008-01-31
## Max. :2014-03-13
##
mo.ts=xts(mo.merged,order.by=mo.merged$Date)
sel=which(ew_hist$Mess_Datum==ew_akt$Mess_Datum[1]);sel
## [1] 22630
ew.merged = rbind(ew_hist[1:sel-1,], ew_akt)
# clean up data / NA values
ew.merged=data.frame(lapply(ew.merged, function(x){
replace(x, x==-999, NA)
}))
summary(ew.merged)
## Stations_ID Mess_Datum Qualitaets_Niveau BEDECKUNGSGRAD
## Min. :1270 Min. :19510101 Min. : 1.00 Min. :0.00
## 1st Qu.:1270 1st Qu.:19661020 1st Qu.: 5.00 1st Qu.:4.00
## Median :1270 Median :19820807 Median : 5.00 Median :5.80
## Mean :1270 Mean :19821665 Mean : 7.17 Mean :5.34
## 3rd Qu.:1270 3rd Qu.:19980526 3rd Qu.:10.00 3rd Qu.:7.10
## Max. :1270 Max. :20140313 Max. :10.00 Max. :8.00
## NA's :30
## REL_FEUCHTE DAMPFDRUCK LUFTTEMPERATUR LUFTDRUCK_STATIONSHOEHE
## Min. : 29.0 Min. : 0.90 Min. :-21.70 Min. : 930
## 1st Qu.: 71.0 1st Qu.: 6.10 1st Qu.: 2.60 1st Qu.: 973
## Median : 80.0 Median : 8.60 Median : 8.60 Median : 979
## Mean : 78.5 Mean : 9.16 Mean : 8.31 Mean : 978
## 3rd Qu.: 87.0 3rd Qu.:12.00 3rd Qu.: 14.40 3rd Qu.: 984
## Max. :100.0 Max. :23.70 Max. : 29.10 Max. :1006
## NA's :549
## WINDGESCHWINDIGKEIT LUFTTEMP_AM_ERDB_MINIMUM LUFTTEMPERATUR_MINIMUM
## Min. : 0 Min. :-29.5 Min. :-25.00
## 1st Qu.: 2 1st Qu.: -1.5 1st Qu.: -0.20
## Median : 3 Median : 3.1 Median : 4.70
## Mean : 4 Mean : 2.8 Mean : 4.33
## 3rd Qu.: 5 3rd Qu.: 8.2 3rd Qu.: 9.80
## Max. :14 Max. : 21.5 Max. : 23.00
## NA's :8289 NA's :371
## LUFTTEMPERATUR_MAXIMUM WINDSPITZE_MAXIMUM NIEDERSCHLAGSHOEHE_IND
## Min. :-19.2 Min. : 0 Min. :0.00
## 1st Qu.: 5.6 1st Qu.: 7 1st Qu.:0.00
## Median : 12.8 Median :10 Median :1.00
## Mean : 12.5 Mean :11 Mean :3.02
## 3rd Qu.: 19.4 3rd Qu.:13 3rd Qu.:6.00
## Max. : 36.5 Max. :43 Max. :8.00
## NA's :8562 NA's :4
## NIEDERSCHLAGSHOEHE SONNENSCHEINDAUER SCHNEEHOEHE eor
## Min. : 0.00 Min. : 0.00 Min. : 0 eor:23083
## 1st Qu.: 0.00 1st Qu.: 0.40 1st Qu.: 0
## Median : 0.00 Median : 3.50 Median : 0
## Mean : 1.46 Mean : 4.46 Mean : 1
## 3rd Qu.: 1.20 3rd Qu.: 7.50 3rd Qu.: 0
## Max. :75.00 Max. :16.00 Max. :45
## NA's :3 NA's :9131
ew.merged$Date=as.Date(as.character(ew.merged$Mess_Datum), "%Y%m%d")
ew.ts=xts(ew.merged,order.by=ew.merged$Date)
####
# select largest common time period in years
# 21.12 - approx. winter solstice
####
mo.per = mo.ts["1989-12-21::2013-12-21"]
ew.per = ew.ts["1989-12-21::2013-12-21"]
summary(sapply(mo.per, as.numeric))
## Stations_ID Mess_Datum Qualitaets_Niveau BEDECKUNGSGRAD
## Min. :1766 Min. :19891221 Min. : 3.00 Min. :0.00
## 1st Qu.:1766 1st Qu.:19951222 1st Qu.:10.00 1st Qu.:4.20
## Median :1766 Median :20011221 Median :10.00 Median :5.80
## Mean :1766 Mean :20015383 Mean : 8.88 Mean :5.36
## 3rd Qu.:1766 3rd Qu.:20071222 3rd Qu.:10.00 3rd Qu.:7.00
## Max. :1766 Max. :20131221 Max. :10.00 Max. :8.00
##
## REL_FEUCHTE DAMPFDRUCK LUFTTEMPERATUR LUFTDRUCK_STATIONSHOEHE
## Min. : 32.0 Min. : 1.5 Min. :-15.8 Min. : 969
## 1st Qu.: 71.0 1st Qu.: 7.2 1st Qu.: 5.2 1st Qu.:1004
## Median : 80.0 Median : 9.7 Median : 10.2 Median :1010
## Mean : 78.3 Mean :10.2 Mean : 10.1 Mean :1009
## 3rd Qu.: 87.0 3rd Qu.:12.9 3rd Qu.: 15.3 3rd Qu.:1015
## Max. :100.0 Max. :23.6 Max. : 28.4 Max. :1039
##
## WINDGESCHWINDIGKEIT LUFTTEMP_AM_ERDB_MINIMUM LUFTTEMPERATUR_MINIMUM
## Min. : 0.40 Min. :-24.9 Min. :-21.50
## 1st Qu.: 2.10 1st Qu.: -0.2 1st Qu.: 1.60
## Median : 3.00 Median : 4.4 Median : 6.30
## Mean : 3.32 Mean : 4.1 Mean : 6.03
## 3rd Qu.: 4.20 3rd Qu.: 8.9 3rd Qu.: 10.80
## Max. :14.40 Max. : 21.6 Max. : 23.00
## NA's :18
## LUFTTEMPERATUR_MAXIMUM WINDSPITZE_MAXIMUM NIEDERSCHLAGSHOEHE_IND
## Min. :-13.0 Min. : 1.4 Min. :0.00
## 1st Qu.: 8.2 1st Qu.: 7.1 1st Qu.:0.00
## Median : 14.2 Median : 9.5 Median :6.00
## Mean : 14.2 Mean :10.1 Mean :4.28
## 3rd Qu.: 20.3 3rd Qu.:12.3 3rd Qu.:6.00
## Max. : 37.5 Max. :34.8 Max. :8.00
## NA's :16
## NIEDERSCHLAGSHOEHE SONNENSCHEINDAUER SCHNEEHOEHE eor
## Min. : 0.00 Min. : 0.00 Min. : 0.000 Min. : NA
## 1st Qu.: 0.00 1st Qu.: 0.30 1st Qu.: 0.000 1st Qu.: NA
## Median : 0.10 Median : 3.30 Median : 0.000 Median : NA
## Mean : 2.06 Mean : 4.34 Mean : 0.179 Mean :NaN
## 3rd Qu.: 2.20 3rd Qu.: 7.28 3rd Qu.: 0.000 3rd Qu.: NA
## Max. :140.10 Max. :16.20 Max. :25.000 Max. : NA
## NA's :1 NA's :8767
## Date
## Min. : NA
## 1st Qu.: NA
## Median : NA
## Mean :NaN
## 3rd Qu.: NA
## Max. : NA
## NA's :8767
summary(sapply(ew.per, as.numeric))
## Stations_ID Mess_Datum Qualitaets_Niveau BEDECKUNGSGRAD
## Min. :1270 Min. :19891221 Min. : 3.00 Min. :0.00
## 1st Qu.:1270 1st Qu.:19951222 1st Qu.:10.00 1st Qu.:4.20
## Median :1270 Median :20011221 Median :10.00 Median :5.90
## Mean :1270 Mean :20015383 Mean : 8.88 Mean :5.41
## 3rd Qu.:1270 3rd Qu.:20071222 3rd Qu.:10.00 3rd Qu.:7.00
## Max. :1270 Max. :20131221 Max. :10.00 Max. :8.00
##
## REL_FEUCHTE DAMPFDRUCK LUFTTEMPERATUR LUFTDRUCK_STATIONSHOEHE
## Min. : 32.0 Min. : 1.4 Min. :-18.2 Min. : 942
## 1st Qu.: 70.0 1st Qu.: 6.2 1st Qu.: 3.1 1st Qu.: 973
## Median : 79.0 Median : 8.9 Median : 9.1 Median : 978
## Mean : 78.1 Mean : 9.4 Mean : 8.8 Mean : 978
## 3rd Qu.: 87.0 3rd Qu.:12.2 3rd Qu.: 14.9 3rd Qu.: 983
## Max. :100.0 Max. :23.7 Max. : 29.1 Max. :1004
##
## WINDGESCHWINDIGKEIT LUFTTEMP_AM_ERDB_MINIMUM LUFTTEMPERATUR_MINIMUM
## Min. : 0.00 Min. :-28.00 Min. :-23.50
## 1st Qu.: 2.50 1st Qu.: -1.30 1st Qu.: 0.00
## Median : 3.60 Median : 3.20 Median : 5.00
## Mean : 4.06 Mean : 2.91 Mean : 4.64
## 3rd Qu.: 5.10 3rd Qu.: 8.20 3rd Qu.: 10.00
## Max. :14.20 Max. : 21.50 Max. : 23.00
## NA's :253 NA's :6
## LUFTTEMPERATUR_MAXIMUM WINDSPITZE_MAXIMUM NIEDERSCHLAGSHOEHE_IND
## Min. :-15.2 Min. : 0.4 Min. :0.00
## 1st Qu.: 6.2 1st Qu.: 7.3 1st Qu.:0.00
## Median : 13.1 Median : 9.8 Median :6.00
## Mean : 12.9 Mean :10.6 Mean :4.23
## 3rd Qu.: 19.8 3rd Qu.:13.0 3rd Qu.:6.00
## Max. : 36.0 Max. :35.0 Max. :8.00
## NA's :191 NA's :2
## NIEDERSCHLAGSHOEHE SONNENSCHEINDAUER SCHNEEHOEHE eor
## Min. : 0.0 Min. : 0.00 Min. : 0.0 Min. : NA
## 1st Qu.: 0.0 1st Qu.: 0.50 1st Qu.: 0.0 1st Qu.: NA
## Median : 0.0 Median : 3.67 Median : 0.0 Median : NA
## Mean : 1.5 Mean : 4.62 Mean : 0.7 Mean :NaN
## 3rd Qu.: 1.1 3rd Qu.: 7.80 3rd Qu.: 0.0 3rd Qu.: NA
## Max. :75.0 Max. :15.80 Max. :45.0 Max. : NA
## NA's :2 NA's :376 NA's :8767
## Date
## Min. : NA
## 1st Qu.: NA
## Median : NA
## Mean :NaN
## 3rd Qu.: NA
## Max. : NA
## NA's :8767
####
## Temperature
#####
mo.per.temp=as.numeric(mo.per$LUFTTEMPERATUR)
ew.per.temp=as.numeric(ew.per$LUFTTEMPERATUR)
MO=summary(mo.per.temp)
EW=summary(ew.per.temp)
s=cbind(MO,EW);s
## MO EW
## Min. -15.8 -18.2
## 1st Qu. 5.2 3.1
## Median 10.2 9.1
## Mean 10.1 8.8
## 3rd Qu. 15.3 14.9
## Max. 28.4 29.1
sd(mo.per.temp)
## [1] 6.898
sd(ew.per.temp,na.rm=TRUE)
## [1] 7.707
par(mfrow=c(2,1))
#plot min, max, average temperatures
plot(mo.ts["2008-12-21::2013-12-21"]$LUFTTEMPERATUR, main="Temperature MS/OS (°C)")
lines(mo.ts["2008-12-21::2013-12-21"]$LUFTTEMPERATUR_MAXIMUM, col="red")
lines(mo.ts["2008-12-21::2013-12-21"]$LUFTTEMPERATUR_MINIMUM, col="blue")
plot(ew.ts["2008-12-21::2013-12-21"]$LUFTTEMPERATUR,main="Temperature EF/WE (°C)")
lines(ew.ts["2008-12-21::2013-12-21"]$LUFTTEMPERATUR_MAXIMUM, col="red")
lines(ew.ts["2008-12-21::2013-12-21"]$LUFTTEMPERATUR_MINIMUM, col="blue")

par(mfrow=c(1,1))
#seasonal decompostion of temperatures
mots2=ts(as.numeric(mo.per$LUFTTEMPERATUR),frequency=365)
ewts2=ts(as.numeric(ew.per$LUFTTEMPERATUR),frequency=365)
mo.stl=stl(mots2,s.window=10)
ew.stl=stl(ewts2,s.window=10)
plot(mo.stl)

plot(ew.stl)

par(mfrow=c(3,1))
plot(mo.stl$time.series[, "trend"], ylab="trend")
lines(ew.stl$time.series[, "trend"], col="red")
plot(mo.stl$time.series[, "seasonal"], ylab="seasonal")
lines(ew.stl$time.series[, "seasonal"], col="red")
plot(mo.stl$time.series[, "remainder"], ylab="remainder")
lines(ew.stl$time.series[, "remainder"], col="red")

par(mfrow=c(1,1))
plot(ew.stl$time.series[, "trend"] - mo.stl$time.series[, "trend"], main="Trend Difference")

summary(ew.stl$time.series[, "trend"] - mo.stl$time.series[, "trend"])
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## -1.770 -1.490 -1.340 -1.320 -1.160 -0.769
plot(ew.stl$time.series[, "seasonal"] - mo.stl$time.series[, "seasonal"], main="Seasonal Difference")

summary(ew.stl$time.series[, "seasonal"] - mo.stl$time.series[, "seasonal"])
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## -2.8900 -0.7360 0.0557 0.0004 0.7620 2.7200
sd(ew.stl$time.series[, "seasonal"])
## [1] 6.736
sd(mo.stl$time.series[, "seasonal"])
## [1] 5.987
########################
# percipitation
#######################
par(mfrow=c(2,1))
plot(mo.per$NIEDERSCHLAGSHOEHE, main="Precipitation MS/OS (mm)")
plot(ew.per$NIEDERSCHLAGSHOEHE, main="Precipitation EF-WE (mm)")

mo.per.ns=as.numeric(mo.per$NIEDERSCHLAGSHOEHE)
ew.per.ns=as.numeric(ew.per$NIEDERSCHLAGSHOEHE)
MO=summary(mo.per.ns)
EW=summary(ew.per.ns)
s=cbind(MO,EW);s
## Warning: number of rows of result is not a multiple of vector length (arg
## 1)
## MO EW
## Min. 0.00 0.0
## 1st Qu. 0.00 0.0
## Median 0.10 0.0
## Mean 2.06 1.5
## 3rd Qu. 2.20 1.1
## Max. 140.00 75.0
## NA's 0.00 2.0
sd(mo.per.ns)
## [1] 4.47
sd(ew.per.ns,na.rm=TRUE)
## [1] 3.991
par(mfrow=c(1,1))
plot(mo.per$NIEDERSCHLAGSHOEHE, main="Precipitation MS/OS (black), EF/WE (red) (mm)")
lines(ew.per$NIEDERSCHLAGSHOEHE, col="red")

MO=sum(mo.per.ns);MO
## [1] 18037
EW=sum(ew.per.ns, na.rm=TRUE);EW
## [1] 13166
MO*100/EW
## [1] 137
####
# Sunshine duration
#
#####
mo.per.sun=as.numeric(mo.per$SONNENSCHEINDAUER)
ew.per.sun=as.numeric(ew.per$SONNENSCHEINDAUER)
plot(mo.per$SONNENSCHEINDAUER, main="MS/OS sunshine duration (hours)")

plot(ew.per$SONNENSCHEINDAUER, main="EF-WE sunshine duration (hours)")

MO=summary(mo.per.sun)
EW=summary(ew.per.sun)
s=cbind(MO,EW);s
## Warning: number of rows of result is not a multiple of vector length (arg
## 2)
## MO EW
## Min. 0.00 0.00
## 1st Qu. 0.30 0.50
## Median 3.30 3.67
## Mean 4.34 4.62
## 3rd Qu. 7.28 7.80
## Max. 16.20 15.80
## NA's 1.00 0.00
sd(mo.per.sun)
## [1] NA
sd(ew.per.sun,na.rm=TRUE)
## [1] 4.293
par(mfrow=c(1,1))
sun_dur=ts(as.numeric(mo.per$SONNENSCHEINDAUER)-as.numeric(ew.per$SONNENSCHEINDAUER))
plot(sun_dur,main="Sunshine duration difference (hours) between MS/OS and EF-WE")

summary(sun_dur)
## Min. 1st Qu. Median Mean 3rd Qu. Max. NA's
## -13.800 -2.000 -0.100 -0.279 1.200 15.500 1
sd(sun_dur,na.rm=TRUE)
## [1] 3.297
summary(sun_dur)
## Min. 1st Qu. Median Mean 3rd Qu. Max. NA's
## -13.800 -2.000 -0.100 -0.279 1.200 15.500 1
sum(sun_dur, na.rm=TRUE)
## [1] -2442
save.image("regional_climate.RData")