Handle climate data from the 'DWD' ('Deutscher Wetterdienst', see < https://www.dwd.de/EN/climate_environment/cdc/cdc_node_en.html> for more information). Choose observational time series from meteorological stations with 'selectDWD()'. Find raster data from radar and interpolation according to < https://brry.github.io/rdwd/raster-data.html>. Download (multiple) data sets with progress bars and no re-downloads through 'dataDWD()'. Read both tabular observational data and binary gridded datasets with 'readDWD()'.
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.
rdwd is available on CRAN:
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).
A website with more information, examples, use cases and an interactive map of the DWD stations can be found at https://brry.github.io/rdwd/
Usage for observational weather data from the measuring stations usually looks something like the following:
# Download and install (once only):
install.packages("rdwd")
# update to the most recent fileIndex (ca 3x/year):
rdwd::updateRdwd()
# 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")
# Download (if needed) and read it:
clim <- dataDWD(link, varnames=TRUE)
# 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.
To automatically merge historical and recent data, see this use case.
Since April 2023, there is an interactive app to compare weather periods:
With rdwd::app(), you can run this locally with cached data, i.e. faster responses.
If you're new to R, these links might help you to get started:
back to rdwd:
install.packages("rdwd")
rdwd::updateRdwd()
# checks version and (if needed) calls remotes::install_github("brry/rdwd", build_vignettes=TRUE)
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 rJava installation tipsshiny for the interactive weather comparison appNote: on Linux (Ubuntu), install RCurl via the terminal (CTRL+ALT+T, note lowercase rcurl):
sudo apt install r-cran-rcurl