Awesome
rdwd
<img src="https://github.com/brry/rdwd/raw/master/misc/hex/hex.png" width="104" height="120">rdwd
is an R package to select, download and read climate data from the
German Weather Service (Deutscher Wetterdienst, DWD).
The DWD provides thousands of datasets with weather observations online at
opendata.dwd.de.
Since May 2019, rdwd
also supports reading the Radolan (binary) raster data at
grids_germany.
It has been presented at FOSDEM 2017
and UseR!2017 in Brussels and with a 5 Minute video at e-Rum2020,
featured in Rstudio's data package list,
written about in OSOR and used e.g. for
NDR: Starkregen im Norden.
Development of rdwd
was triggered 2016 by flash flood research in Braunsbach
(1, 2,
3,
4).
- HELP NEEDED
- with the new 5-minute data (April 2022), the fileIndex etc are getting very big.
- ideas on package size reduction are welcome at https://github.com/brry/rdwd/issues/35
Documentation
A website with more information, examples, use cases and an interactive map of the DWD stations can be found at https://bookdown.org/brry/rdwd
Usage
Usage for observational weather data from the measuring stations usually looks something like the following:
# Download and install (once only):
install.packages("rdwd")
# Load the package into library (needed in every R session):
library(rdwd)
# select a dataset (e.g. last year's daily climate data from Potsdam city):
link <- selectDWD("Potsdam", res="daily", var="kl", per="recent")
# Actually download that dataset, returning the local storage file name:
file <- dataDWD(link, read=FALSE)
# Read the file from the zip folder:
clim <- readDWD(file, varnames=TRUE) # can happen directly in dataDWD
# Inspect the data.frame:
str(clim)
# Quick time series graphic:
plotDWD(clim, "FM.Windgeschwindigkeit")
For data interpolated onto a 1 km raster, including radar data up to the last hour, see the corresponding chapter on the website.
App
Since April 2023, there is an interactive app to compare weather periods:
<img src="https://github.com/brry/rdwd/raw/master/misc/app.png" width="577" height="415">With rdwd::app()
, you can run this locally with cached data, i.e. faster responses.
New to R
If you're new to R, these links might help you to get started:
back to rdwd
:
Installation
Normal
install.packages("rdwd")
Latest version
rdwd::updateRdwd()
# checks version and (if needed) calls remotes::install_github("brry/rdwd", build_vignettes=TRUE)
Full
Suggested (not mandatory) dependencies:
install.packages("rdwd", dependencies="Suggests")
RCurl
for indexFTP and selectDWD(..., current=TRUE)data.table
,bit64
for readDWD(..., fread=TRUE)terra
,stars
,R.utils
,ncdf4
,dwdradar
for readDWD with gridded datareadr
for readDWD.stand(..., fast=TRUE)knitr
,rmarkdown
,testthat
,roxygen2
,devtools
,remotes
,XML
,gsheet
for local testing, development and documentationleaflet
,OSMscale
for interactive/static maps, see OSMscale installation tipsshiny
for the interactive weather comparison app
Note: on Linux (Ubuntu), install RCurl
via the terminal (CTRL+ALT+T, note lowercase rcurl):
sudo apt install r-cran-rcurl