What were the daily weather conditions for Remagen, Germany from April 28, 1945 to May 28, 1945?
3 Answers
Unfortunately there is not much in stations data at this period of time. Below a list of surrounding stations, which data is stored on NOAA server. And despite begin
and end
date given there are missing records for 1944, 1945. If you have access to (digital?) library with local press, it might be worth to check, as usually the weather conditions were printed in daily press.
t <- tidygeocoder::geo("Remagen, Germany", method = "arcgis")
#> Passing 1 address to the ArcGIS single address geocoder
#> Query completed in: 1 seconds
a <- worldmet::getMeta(lon = t$long, lat = t$lat)
a[, c(1, 3, 6, 9:11, 15)]
#> # A tibble: 10 × 7
#> usaf station call `elev(m)` begin end dist
#> <chr> <chr> <chr> <dbl> <date> <date> <dbl>
#> 1 105130 KOLN BONN EDDK 92 1931-01-01 2024-02-18 32.3
#> 2 106130 BUCHEL ETSB 478. 1973-01-01 2024-02-18 46.6
#> 3 105020 NORVENICH ETNN 118. 1973-01-01 2024-02-18 48.7
#> 4 106162 SIEGERLAND EDGS 599. 2004-05-10 2024-02-18 62.2
#> 5 106160 FRANKFURT HAHN EDFH 503. 1953-07-22 2024-02-18 70.2
#> 6 064960 ELSENBORN (MIL) EBLB 570 1984-05-01 2024-02-18 74.7
#> 7 106070 SPANGDAHLEM AB ETAD 365. 1953-05-18 2024-02-18 77.3
#> 8 064940 MONT-RIGI <NA> 673 2008-01-15 2024-02-18 82.1
#> 9 104000 DUSSELDORF EDDL 44.8 1931-01-02 2024-02-18 85.1
#> 10 104374 MONCHENGLADBACH EDLN 38.1 1996-07-15 2024-02-18 88.2
worldmet::importNOAA(code = "105130-99999",
year = 1945,
hourly = TRUE,
n.cores = 4,
path = "data")
#> [1] "site(s) do not exist."
#> NULL
The good news: there is ERA5 gridded data starting in 1940 (around 30 km spatial resolution, and hourly temporal resolution) which may be used to extract the data and calculate daily means. After downloading the data set of interest (in form of nc
file) you can use {terra} package to extract the data.
Created on 2024-02-20 with reprex v2.1.0
Edit: I have played a bit with the data. Temperatures for Remagen in April and May 1945 in the chart below. The whole process/analysis you can find around https://gsapijaszko.github.io/open_data/environments.html#fig-remagen_plot
Just in order to show a different take on this, let's check if the German Weather Service has published something useful:
library(vg250)
#> 0.5.4
# get sf mask for Remscheid
gem <- vg250::get_geometry("Remscheid")
# get station inventory for daily measurements
stations <- timeseriesIO::get_cdc_stations(res = "daily",
par = "kl",
q = "historical")
# two stations located in Remscheid, operational since 2004 resp. 2011 :/
stations[gem, ]
#> Simple feature collection with 2 features and 7 fields
#> Geometry type: POINT
#> Dimension: XY
#> Bounding box: xmin: 7.2 ymin: 51.18 xmax: 7.2505 ymax: 51.2051
#> Geodetic CRS: WGS 84
#> # A tibble: 2 × 8
#> stations_id von_datum bis_datum Stationshoehe Stationsname Bundesland
#> <chr> <date> <date> <dbl> <chr> <chr>
#> 1 04154 2011-02-01 2018-06-30 345 Remscheid-Lennep Nordrhein-We…
#> 2 05719 2004-10-01 2009-12-10 235 Remscheid Nordrhein-We…
#> # ℹ 2 more variables: element <chr>, geometry <POINT [°]>
# increasing search radius using a 5 km buffer around Remscheid
stations[sf::st_buffer(gem, 5000), ]
#> Simple feature collection with 5 features and 7 fields
#> Geometry type: POINT
#> Dimension: XY
#> Bounding box: xmin: 7.093 ymin: 51.14 xmax: 7.2505 ymax: 51.2531
#> Geodetic CRS: WGS 84
#> # A tibble: 5 × 8
#> stations_id von_datum bis_datum Stationshoehe Stationsname Bundesland
#> <chr> <date> <date> <dbl> <chr> <chr>
#> 1 04154 2011-02-01 2018-06-30 345 Remscheid-Lennep Nordrhein…
#> 2 04741 1936-01-01 2002-12-31 152 Solingen-Hohensche… Nordrhein…
#> 3 05717 1937-01-01 2024-03-24 134 Wuppertal-Buchenho… Nordrhein…
#> 4 05719 2004-10-01 2009-12-10 235 Remscheid Nordrhein…
#> 5 15200 2013-06-01 2024-03-24 327 Wuppertal Nordrhein…
#> # ℹ 2 more variables: element <chr>, geometry <POINT [°]>
Solingen-Hohenscheid has daily records since 1936 and Wuppertal-Buchenhofen since 1937. This looks quite promising!
# filter to these two stations
stations_sub <- stations[sf::st_buffer(gem, 5000), ] |>
dplyr::filter(stations_id == "04741" | stations_id == "05717")
# download data for defined stations
# manual download from:
# https://opendata.dwd.de/climate_environment/CDC/observations_germany/climate/daily/kl/historical/
timeseriesIO::dwn_cdc_data(stations_sub, sub = "1945")
# read data
xts_solingen <- timeseriesIO::read_cdc_txt("produkt_klima_tag_19360101_20021231_04741.txt",
stations_sub)
xts_wuppertal <- timeseriesIO::read_cdc_txt("produkt_klima_tag_19370101_20221231_05717.txt",
stations_sub)
# subset to air temperature and check the stats
xts_solingen_ta <- xts_solingen[["TMK"]]
zoo::coredata(xts_solingen_ta["1945-04-28/1945-05-28"]) |> summary()
#> TMK
#> Min. : 1.70
#> 1st Qu.: 8.10
#> Median :13.00
#> Mean :13.25
#> 3rd Qu.:18.10
#> Max. :23.60
# Solingen-Hohenscheid looking good
xts_wuppertal_ta <- xts_wuppertal[["TMK"]]
zoo::coredata(xts_wuppertal_ta["1945-04-28/1945-05-28"]) |> summary()
#> TMK
#> Min. : NA
#> 1st Qu.: NA
#> Median : NA
#> Mean :NaN
#> 3rd Qu.: NA
#> Max. : NA
# Wuppertal-Buchenhofen was not operational between 1943-1947 :/
# inspect time series data
plot(xts_solingen_ta["1945-04-28/1945-05-28"],
main = "Solingen-Hohenscheid",
ylab = "daily mean air temperature [°C]",
col = "red")
Created on 2024-03-25 with reprex v2.1.0
This was just a quick demo using air temperature only. In order to access "weather conditions", you might be interested in some additional parameters - but at least now we know that there actually was a weather station near Remscheid in 1945 with meteorological data publicly available.
Please note the differences to the gridded ERA5 dataset!
-
Nice. Would you mind to share the link to {timeseriesIO} package, please? Commented Mar 26 at 9:14
-
1@GrzegorzSapijaszko: Unfortunately, the package is work in progress and still quite messy. I haven't dared yet to make the repository public but I hope to be able to do so in the upcoming months... :/– dimfalkCommented Mar 26 at 9:43
I think you should expand your map a little and maybe settle for values by the big cities nearby Remagen like Bonn and other and maybe then interpolate the values. It will also help if you search in German too as that will give you access to some German archived websites/ documents. This information won't be simple to find though, as in that period this is probably considered sensitive information as this website suggests:
Original-Wetterkarten aus der Zeit des Zweiten Weltkrieges sind als Sondersammlung in den Bestand der Deutschen Meteorologischen Bibliothek integriert worden. Diese handgezeichneten Karten wurden ab 1939 von der so genannten „Zentralen Wetterdienstgruppe“ (ZWG) angefertigt und unterlagen der Geheimhaltung. Denn die Informationen dienten dem Oberkommando der Wehrmacht und der Luftwaffe für die operationelle Kriegführung. Während des Krieges fertigte im Einflussbereich des Deutschen Reiches nur die ZWG routinemäßig synoptische Karten an und gab die Ergebnisse zur (internen) Veröffentlichung zum Beispiel an die Deutsche Seewarte in Hamburg weiter.
translated to English:
Original weather maps from the time of the Second World War have been integrated into the holdings of the German Meteorological Library as a special collection. These hand-drawn maps were produced by the so-called "Central Weather Service Group" (ZWG) from 1939 and were subject to secrecy. Because the information served the high command of the Wehrmacht and the Luftwaffe for operational warfare. During the war, in the sphere of influence of the German Reich, only the ZWG routinely prepared synoptic maps and passed on the results for (internal) publication, for example to the Deutsche Seewarte in Hamburg.
Luckily this data is probably archived somewhere so you should be able to find something somewhere. During my quick search, I came across these websites that might be useful for you: