Select and Download Climate Data from 'DWD' (German Weather Service)

Handle climate data from the 'DWD' ('Deutscher Wetterdienst', see <> for more information). Choose files with 'selectDWD()', download and process data sets with 'dataDWD()' and 'readDWD()'.

rdwd is an R package to select, download and read climate data from the German Weather Service (Deutscher Wetterdienst, DWD). They provide over 25 thousand datasets with weather observations online at

rdwd is available on CRAN: CRAN_Status_Badge downloads Rdoc

It has been presented at FOSDEM 2017 and UseR!2017 in Brussels, featured in Rstudios data package list and written about in OSOR.

Usage of the package usually looks something like the following:

# download and install the rdwd package (only needed once):
# load the package into library (needed in every R session):
# 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)
# Inspect the data.frame:

You can also select datasets with the interactive map.
Installation instructions and more examples are available in the package vignette.

vignette("mapDWD") # interactive map, likely faster than CRAN link above
vignette("rdwd")   # package instructions and examples

A real-life usage example of the package can be found at


I'm looking for someone to help implement multiple downloads in dataDWD via e.g. curl or wget. The requirements are as follows:

  • works cross-platform
  • is called from R
  • has as few dependencies as possible
  • optimally enables a progress bar


rdwd ToDo-list / wishlist / issues

  • change tests to actually test stuff, maybe add third vignette
  • dataDWD: potentially use curl to download data without sleep need
  • selectDWD: if res/var/per is NA or "", give a selection popup
  • for per="monthly", make readDWD recognize MESS_DATUM_ENDE and _BEGINN, potentially create new column MESS_DATUM yyyy-mm-15
  • readDWD: figure out reason for fread trouble (reported in emails by some users)
  • add list of colum name explanations
  • allow abbreviations of res hourly/daily/monthly

rdwd: DWD Climate Data access package by Berry Boessenkool, [email protected] Any feedback is welcome, per email or on

Version 0.9.0 (2017-11-03)

  • readDWD: and readDWD.meta are now separate (non-exported) functions
  • readDWD: fread default is now FALSE
  • dataDWD: fread and overwrite arguments added
  • references dutch meteo package and useR!2017 rdwd presentation
  • importFrom entries completed
  • DESCRIPTION: BugReports entry added

Version 0.8.0 (2017-06-09) reflects DWD FTP update June 1

  • indexFTP: ftp blockage chance reduced, data loss avoided, progress bar added
  • errors/warnings/messages now often include a traceback
  • metaInfo tells about non-public files
  • createIndex + readDWD read meta files in German locale to handle Umlaute
  • Index documentation and creation unified
  • Vignettes and readme improved
  • various minor improvements and fixes, see renamed: indexDWD -> indexFTP added: lldist, maxlldist, nearbyStations no longer exported in NAMESPACE: rowDisplay, dirDWD removed: fileDWD, geoIndexAll

Version 0.7.0 (2017-02-03)

  • interactive map now colored by availability of recent file
  • stations with slightly varying coordinates (<900 m apart) aggregated in geoIndex
  • documentation corrections, improved messages in fileDWD and dirDWD
  • map vignette expanded, package vignette abbreviated slightly
  • metaInfo printout greatly improved
  • duplicate index entries removed New function: rowDisplay New object: geoIndexAll Removed object: mapDWD (to reduce package size)

Version 0.6.1 (2017-01-24) Initial release of the package, development can be seen at[email protected]{2016-10-19}[email protected]{2017-01-24}

'selectDWD' uses index information to find files matching a path or station criteria. With the returned path/file names, 'dataDWD' and 'readDWD' download and read data. 'dirDWD' and 'fileDWD' control that no file will be overwritten and path messages are useful. 'indexDWD' lists all the files on the FTP server with DWD data. 'createIndex' uses that list to create 'fileIndex', 'metaIndex' and 'geoIndex'. 'mapDWD' is an interactive leaflet map also useful to explore datasets.

Note: 'dataDWD' and 'readDWD' were started in June 2016 within my misc package berryFunctions, from which they will be deleted after rdwd is on CRAN

Reference manual

It appears you don't have a PDF plugin for this browser. You can click here to download the reference manual.


0.9.0 by Berry Boessenkool, 5 months ago

Report a bug at

Browse source code at

Authors: Berry Boessenkool

Documentation:   PDF Manual  

GPL (>= 2) license

Imports berryFunctions, pbapply

Suggests RCurl, leaflet, knitr, rmarkdown, testthat, data.table

See at CRAN