Skip to contents

Cite as: Frick, Maximilian; Bott, Judith; Scheck-Wenderoth, Magdalena; Cacace, Mauro; Haacke, Nasrin; Schneider, Michael (2020): 3D geological model of Berlin - Germany. GFZ Data Services. https://doi.org/10.5880/GFZ.4.5.2020.005

Define Paths

library(kwb.impetus)

paths_list <- list(
  base_url = "https://datapub.gfz-potsdam.de/download/10.5880.GFZ.4.5.2020.005nuirg",
  dataset = "<base_url>/2020-005_Frick-et-al_Berlin-Model_data.zip", 
  metadata = "<base_url>/2020-005_Frick-et-al_Berlin-Model_data-description.pdf",
  model_data = "model_gfz"
)

paths <- kwb.utils::resolve(paths_list)

Download

Download the GFZ Model Dataset (2020-005_Frick-et-al_Berlin-Model_data.zip).

Metadata is available here: (2020-005_Frick-et-al_Berlin-Model_data-description.pdf)

# archive::archive_extract(archive = paths$dataset, 
#                          dir = paths$model_data)

kwb.impetus::download_gfz_model(target_dir = paths$model_data)
#> ⠙ 1 extracted | 3.5 MB (1.7 MB/s) | 2.1s
#> ⠹ 6 extracted |  53 MB ( 10 MB/s) | 5.2s
#> ⠸ 23 extracted | 214 MB ( 26 MB/s) | 8.2s
#> ⠼ 40 extracted | 382 MB ( 34 MB/s) | 11.3s

Import

elevation <- kwb.impetus::read_gfz_layers(paths$model_data, type = "elevation")
#> Reading (1/24): 'model_gfz/1_Holocene_elevation.dat' ... ok. (0.67 secs) 
#> Reading (2/24): 'model_gfz/10_Lower_Cretaceous_elevation.dat' ... ok. (0.57 secs) 
#> Reading (3/24): 'model_gfz/11_Jurassic_elevation.dat' ... ok. (0.64 secs) 
#> Reading (4/24): 'model_gfz/12_Keuper_elevation.dat' ... ok. (0.44 secs) 
#> Reading (5/24): 'model_gfz/13_Muschelkalk_elevation.dat' ... ok. (0.42 secs) 
#> Reading (6/24): 'model_gfz/14_Upper_Buntsandstein_elevation.dat' ... ok. (0.58 secs) 
#> Reading (7/24): 'model_gfz/15_Middle_Buntsandstein_elevation.dat' ... ok. (0.39 secs) 
#> Reading (8/24): 'model_gfz/16_Lower_Buntsandstein_elevation.dat' ... ok. (0.55 secs) 
#> Reading (9/24): 'model_gfz/17_Zechstein_elevation.dat' ... ok. (0.38 secs) 
#> Reading (10/24): 'model_gfz/18_Rotliegend_elevation.dat' ... ok. (0.43 secs) 
#> Reading (11/24): 'model_gfz/19_Permo-Carboniferous_elevation.dat' ... ok. (0.42 secs) 
#> Reading (12/24): 'model_gfz/2_Saalian_elevation.dat' ... ok. (0.41 secs) 
#> Reading (13/24): 'model_gfz/20_Pre-Permian_elevation.dat' ... ok. (0.61 secs) 
#> Reading (14/24): 'model_gfz/21_Upper_Crust_elevation.dat' ... ok. (0.37 secs) 
#> Reading (15/24): 'model_gfz/22_Lower_Crust_elevation.dat' ... ok. (0.52 secs) 
#> Reading (16/24): 'model_gfz/23_Upper_Mantle_elevation.dat' ... ok. (0.36 secs) 
#> Reading (17/24): 'model_gfz/24_LAB_elevation.dat' ... ok. (0.36 secs) 
#> Reading (18/24): 'model_gfz/3_Holstein_elevation.dat' ... ok. (0.42 secs) 
#> Reading (19/24): 'model_gfz/4_Elsterian_elevation.dat' ... ok. (0.37 secs) 
#> Reading (20/24): 'model_gfz/5_Miocene_elevation.dat' ... ok. (0.43 secs) 
#> Reading (21/24): 'model_gfz/6_Cottbus_elevation.dat' ... ok. (0.45 secs) 
#> Reading (22/24): 'model_gfz/7_Rupelian_elevation.dat' ... ok. (0.42 secs) 
#> Reading (23/24): 'model_gfz/8_Pre-Rupelian_elevation.dat' ... ok. (0.42 secs) 
#> Reading (24/24): 'model_gfz/9_Upper_Cretaceous_elevation.dat' ... ok. (0.68 secs)
thickness <- kwb.impetus::read_gfz_layers(paths$model_data, type = "thickness")
#> Reading (1/23): 'model_gfz/1_Holocene_thickness.dat' ... ok. (0.39 secs) 
#> Reading (2/23): 'model_gfz/10_Lower_Cretaceous_thickness.dat' ... ok. (0.57 secs) 
#> Reading (3/23): 'model_gfz/11_Jurassic_thickness.dat' ... ok. (0.40 secs) 
#> Reading (4/23): 'model_gfz/12_Keuper_thickness.dat' ... ok. (0.43 secs) 
#> Reading (5/23): 'model_gfz/13_Muschelkalk_thickness.dat' ... ok. (0.45 secs) 
#> Reading (6/23): 'model_gfz/14_Upper_Buntsandstein_thickness.dat' ... ok. (0.44 secs) 
#> Reading (7/23): 'model_gfz/15_Middle_Buntsandstein_thickness.dat' ... ok. (0.40 secs) 
#> Reading (8/23): 'model_gfz/16_Lower_Buntsandstein_thickness.dat' ... ok. (0.51 secs) 
#> Reading (9/23): 'model_gfz/17_Zechstein_thickness.dat' ... ok. (0.61 secs) 
#> Reading (10/23): 'model_gfz/18_Rotliegend_thickness.dat' ... ok. (0.42 secs) 
#> Reading (11/23): 'model_gfz/19_Permo-Carboniferous_thickness.dat' ... ok. (0.38 secs) 
#> Reading (12/23): 'model_gfz/2_Saalian_thickness.dat' ... ok. (0.47 secs) 
#> Reading (13/23): 'model_gfz/20_Pre-Permian_thickness.dat' ... ok. (0.54 secs) 
#> Reading (14/23): 'model_gfz/21_Upper_Crust_thickness.dat' ... ok. (0.36 secs) 
#> Reading (15/23): 'model_gfz/22_Lower_Crust_thickness.dat' ... ok. (0.35 secs) 
#> Reading (16/23): 'model_gfz/23_Upper_Mantle_thickness.dat' ... ok. (0.55 secs) 
#> Reading (17/23): 'model_gfz/3_Holstein_thickness.dat' ... ok. (0.36 secs) 
#> Reading (18/23): 'model_gfz/4_Elsterian_thickness.dat' ... ok. (0.38 secs) 
#> Reading (19/23): 'model_gfz/5_Miocene_thickness.dat' ... ok. (0.36 secs) 
#> Reading (20/23): 'model_gfz/6_Cottbus_thickness.dat' ... ok. (0.38 secs) 
#> Reading (21/23): 'model_gfz/7_Rupelian_thickness.dat' ... ok. (0.38 secs) 
#> Reading (22/23): 'model_gfz/8_Pre-Rupelian_thickness.dat' ... ok. (0.46 secs) 
#> Reading (23/23): 'model_gfz/9_Upper_Cretaceous_thickness.dat' ... ok. (0.59 secs)

## Available Layers
names(elevation)
#>  [1] "1_Holocene"              "10_Lower_Cretaceous"    
#>  [3] "11_Jurassic"             "12_Keuper"              
#>  [5] "13_Muschelkalk"          "14_Upper_Buntsandstein" 
#>  [7] "15_Middle_Buntsandstein" "16_Lower_Buntsandstein" 
#>  [9] "17_Zechstein"            "18_Rotliegend"          
#> [11] "19_Permo-Carboniferous"  "2_Saalian"              
#> [13] "20_Pre-Permian"          "21_Upper_Crust"         
#> [15] "22_Lower_Crust"          "23_Upper_Mantle"        
#> [17] "24_LAB"                  "3_Holstein"             
#> [19] "4_Elsterian"             "5_Miocene"              
#> [21] "6_Cottbus"               "7_Rupelian"             
#> [23] "8_Pre-Rupelian"          "9_Upper_Cretaceous"
names(thickness)
#>  [1] "1_Holocene"              "10_Lower_Cretaceous"    
#>  [3] "11_Jurassic"             "12_Keuper"              
#>  [5] "13_Muschelkalk"          "14_Upper_Buntsandstein" 
#>  [7] "15_Middle_Buntsandstein" "16_Lower_Buntsandstein" 
#>  [9] "17_Zechstein"            "18_Rotliegend"          
#> [11] "19_Permo-Carboniferous"  "2_Saalian"              
#> [13] "20_Pre-Permian"          "21_Upper_Crust"         
#> [15] "22_Lower_Crust"          "23_Upper_Mantle"        
#> [17] "3_Holstein"              "4_Elsterian"            
#> [19] "5_Miocene"               "6_Cottbus"              
#> [21] "7_Rupelian"              "8_Pre-Rupelian"         
#> [23] "9_Upper_Cretaceous"

## Dataset Structure 
#str(elevation)
#str(thickness)

Plot

Layer Thickness

t_01 <- kwb.impetus::plot_gfz_layer(thickness$`1_Holocene`)
#> Warning: cannot handle curvilinear or sheared stars images. Rendering regular
#> grid.
htmlwidgets::saveWidget(t_01, file = "thickness_01-holocene.html")

Layer Elevation

e_01 <- kwb.impetus::plot_gfz_layer(elevation$`1_Holocene`)
#> Warning: cannot handle curvilinear or sheared stars images. Rendering regular
#> grid.
htmlwidgets::saveWidget(e_01, 
                        file = "elevation_01-holocene.html")

Leaflet Full Page Plots

Elevation:

Tickness: