Learn R Programming

rdwd

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).

- 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:

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 data
  • readr for readDWD.stand(..., fast=TRUE)
  • knitr, rmarkdown, testthat, roxygen2, devtools, remotes, XML, gsheet for local testing, development and documentation
  • leaflet, OSMscale for interactive/static maps, see OSMscale installation tips
  • shiny 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

Copy Link

Version

Install

install.packages('rdwd')

Monthly Downloads

618

Version

1.8.0

License

GPL (>= 2)

Issues

Pull Requests

Stars

Forks

Last Published

June 17th, 2023

Functions in rdwd (1.8.0)

createIndex

Create file and meta index of the DWD CDC FTP Server
dwdparams

DWD parameter explanations
dataDWD

Download data from the DWD CDC FTP Server
indexFTP

Create a recursive index of an FTP Server
nearbyStations

Find DWD stations close to given coordinates
newColumnNames

Enhance readDWD column names
lldist

distance between lat-long coordinates
checkIndex

check indexes
checkSuggestedPackage

check suggested package for availability
projectRasterDWD

project DWD raster data
metaInfo

Information for a station ID on the DWD CDC FTP server
locdir

local data directory
plotDWD

Quickly plot time series
rdwd

Handle Climate Data from DWD (German Weather Service)
readDWD.binary

read dwd gridded radolan binary data
readDWD.deriv

read derived dwd data
readDWD.asc

read dwd gridded radolan asc data
plotRadar

plot radar products on a pretty map
readDWD.nc

read dwd netcdf data
rdwdquiet

global quiet option for rdwd
readDWD.data

read regular dwd data
readDWD.multia

read multi_annual dwd data
readDWD.raster

read dwd gridded raster data
readDWD.rklim

read dwd gridded radklim binary data
findID

find DWD weather station ID from name
index

Indexes of files and metadata on the DWD CDC FTP server
dwdbase

DWD FTP Server base URL
readVars

Process data from the DWD CDC FTP Server
release_questions

Reminders when using devtools::release
fileType

determine DWD file type
readDWD.grib2

read nwp forecast data
updateRdwd

Update rdwd development version
readDWD.meta

read dwd metadata (Beschreibung*.txt files)
readDWD.stand

read subdaily/standard_format dwd data
rowDisplay

Create leaflet map popup from data.frame rows
readDWD.radar

read dwd gridded radolan radar data
readDWD.pdf

open pdf data
readDWD

Process data from the DWD CDC FTP Server
readMeta

Process data from the DWD CDC FTP Server
runLocalTests

run local tests of rdwd
selectDWD

Select data from the DWD CDC FTP Server
validFileTypes

valid fileType values
updateIndexes

update rdwd indexes
dirDWD

directory management for rdwd
addBorders

add country and Bundesland borders to a map
app

Launch interactive weather analysis app