DIS3.1 from the Deltares OpenDAP server#
DIS (Delfstoffen Informatie Systeem) is a geological voxelmodel created for sand mining within in the 12-mile zone of the Dutch North Sea. See this Deltares webpage for more information on the DIS
ℹ️ This example is work-in-progress. Additional features and examples will follow in future versions of GeoST
In this example we will download a small part of the DIS model using a bounding box in WGS84 UTM 31N coordinates (EPSG:32631) that roughly covers the offshore sand mining areas Q16-6 and Q16-4.
from geost.models import VoxelModel
# Load DIS voxel model from OpenDAP server with bounding box
dis = VoxelModel.from_opendap(
r"https://opendap.deltares.nl/thredds/dodsC/opendap/rijkswaterstaat/DIS/DIS3.1.nc",
bbox=(561_000, 577_000_0, 569_000, 577_550_0),
)
# You will get a VoxelModel object containing an xarray.Dataset
print(dis)
VoxelModel
Data variables:
spatial_ref int32 4B ...
lithoklasse (y, x, z) float32 421kB ...
slibklasse (y, x, z) float32 421kB ...
schelpenklasse (y, x, z) float32 421kB ...
stratunit (y, x, z) float32 421kB ...
kans_lithoklasse_1 (y, x, z) float32 421kB ...
kans_lithoklasse_2 (y, x, z) float32 421kB ...
kans_lithoklasse_3 (y, x, z) float32 421kB ...
kans_lithoklasse_4 (y, x, z) float32 421kB ...
kans_lithoklasse_5 (y, x, z) float32 421kB ...
kans_lithoklasse_6 (y, x, z) float32 421kB ...
kans_lithoklasse_7 (y, x, z) float32 421kB ...
kans_lithoklasse_8 (y, x, z) float32 421kB ...
kans_lithoklasse_9 (y, x, z) float32 421kB ...
litho_realisatie_001 (y, x, z) float32 421kB ...
litho_realisatie_002 (y, x, z) float32 421kB ...
litho_realisatie_003 (y, x, z) float32 421kB ...
litho_realisatie_004 (y, x, z) float32 421kB ...
litho_realisatie_005 (y, x, z) float32 421kB ...
litho_realisatie_006 (y, x, z) float32 421kB ...
litho_realisatie_007 (y, x, z) float32 421kB ...
litho_realisatie_008 (y, x, z) float32 421kB ...
litho_realisatie_009 (y, x, z) float32 421kB ...
litho_realisatie_010 (y, x, z) float32 421kB ...
litho_realisatie_011 (y, x, z) float32 421kB ...
litho_realisatie_012 (y, x, z) float32 421kB ...
litho_realisatie_013 (y, x, z) float32 421kB ...
litho_realisatie_014 (y, x, z) float32 421kB ...
litho_realisatie_015 (y, x, z) float32 421kB ...
litho_realisatie_016 (y, x, z) float32 421kB ...
litho_realisatie_017 (y, x, z) float32 421kB ...
litho_realisatie_018 (y, x, z) float32 421kB ...
litho_realisatie_019 (y, x, z) float32 421kB ...
litho_realisatie_020 (y, x, z) float32 421kB ...
litho_realisatie_021 (y, x, z) float32 421kB ...
litho_realisatie_022 (y, x, z) float32 421kB ...
litho_realisatie_023 (y, x, z) float32 421kB ...
litho_realisatie_024 (y, x, z) float32 421kB ...
litho_realisatie_025 (y, x, z) float32 421kB ...
litho_realisatie_026 (y, x, z) float32 421kB ...
litho_realisatie_027 (y, x, z) float32 421kB ...
litho_realisatie_028 (y, x, z) float32 421kB ...
litho_realisatie_029 (y, x, z) float32 421kB ...
litho_realisatie_030 (y, x, z) float32 421kB ...
litho_realisatie_031 (y, x, z) float32 421kB ...
litho_realisatie_032 (y, x, z) float32 421kB ...
litho_realisatie_033 (y, x, z) float32 421kB ...
litho_realisatie_034 (y, x, z) float32 421kB ...
litho_realisatie_035 (y, x, z) float32 421kB ...
litho_realisatie_036 (y, x, z) float32 421kB ...
litho_realisatie_037 (y, x, z) float32 421kB ...
litho_realisatie_038 (y, x, z) float32 421kB ...
litho_realisatie_039 (y, x, z) float32 421kB ...
litho_realisatie_040 (y, x, z) float32 421kB ...
litho_realisatie_041 (y, x, z) float32 421kB ...
litho_realisatie_042 (y, x, z) float32 421kB ...
litho_realisatie_043 (y, x, z) float32 421kB ...
litho_realisatie_044 (y, x, z) float32 421kB ...
litho_realisatie_045 (y, x, z) float32 421kB ...
litho_realisatie_046 (y, x, z) float32 421kB ...
litho_realisatie_047 (y, x, z) float32 421kB ...
litho_realisatie_048 (y, x, z) float32 421kB ...
litho_realisatie_049 (y, x, z) float32 421kB ...
litho_realisatie_050 (y, x, z) float32 421kB ...
litho_realisatie_051 (y, x, z) float32 421kB ...
litho_realisatie_052 (y, x, z) float32 421kB ...
litho_realisatie_053 (y, x, z) float32 421kB ...
litho_realisatie_054 (y, x, z) float32 421kB ...
litho_realisatie_055 (y, x, z) float32 421kB ...
litho_realisatie_056 (y, x, z) float32 421kB ...
litho_realisatie_057 (y, x, z) float32 421kB ...
litho_realisatie_058 (y, x, z) float32 421kB ...
litho_realisatie_059 (y, x, z) float32 421kB ...
litho_realisatie_060 (y, x, z) float32 421kB ...
litho_realisatie_061 (y, x, z) float32 421kB ...
litho_realisatie_062 (y, x, z) float32 421kB ...
litho_realisatie_063 (y, x, z) float32 421kB ...
litho_realisatie_064 (y, x, z) float32 421kB ...
litho_realisatie_065 (y, x, z) float32 421kB ...
litho_realisatie_066 (y, x, z) float32 421kB ...
litho_realisatie_067 (y, x, z) float32 421kB ...
litho_realisatie_068 (y, x, z) float32 421kB ...
litho_realisatie_069 (y, x, z) float32 421kB ...
litho_realisatie_070 (y, x, z) float32 421kB ...
litho_realisatie_071 (y, x, z) float32 421kB ...
litho_realisatie_072 (y, x, z) float32 421kB ...
litho_realisatie_073 (y, x, z) float32 421kB ...
litho_realisatie_074 (y, x, z) float32 421kB ...
litho_realisatie_075 (y, x, z) float32 421kB ...
litho_realisatie_076 (y, x, z) float32 421kB ...
litho_realisatie_077 (y, x, z) float32 421kB ...
litho_realisatie_078 (y, x, z) float32 421kB ...
litho_realisatie_079 (y, x, z) float32 421kB ...
litho_realisatie_080 (y, x, z) float32 421kB ...
litho_realisatie_081 (y, x, z) float32 421kB ...
litho_realisatie_082 (y, x, z) float32 421kB ...
litho_realisatie_083 (y, x, z) float32 421kB ...
litho_realisatie_084 (y, x, z) float32 421kB ...
litho_realisatie_085 (y, x, z) float32 421kB ...
litho_realisatie_086 (y, x, z) float32 421kB ...
litho_realisatie_087 (y, x, z) float32 421kB ...
litho_realisatie_088 (y, x, z) float32 421kB ...
litho_realisatie_089 (y, x, z) float32 421kB ...
litho_realisatie_090 (y, x, z) float32 421kB ...
litho_realisatie_091 (y, x, z) float32 421kB ...
litho_realisatie_092 (y, x, z) float32 421kB ...
litho_realisatie_093 (y, x, z) float32 421kB ...
litho_realisatie_094 (y, x, z) float32 421kB ...
litho_realisatie_095 (y, x, z) float32 421kB ...
litho_realisatie_096 (y, x, z) float32 421kB ...
litho_realisatie_097 (y, x, z) float32 421kB ...
litho_realisatie_098 (y, x, z) float32 421kB ...
litho_realisatie_099 (y, x, z) float32 421kB ...
litho_realisatie_100 (y, x, z) float32 421kB ...
bathy (y, x) float32 4kB ...
Dimensions: {'y': 28, 'x': 40, 'z': 94}
Resolution (y, x, z): (200.0, 200.0, 0.5)
We can apply methods of VoxelModel to further select and analyse the downloaded DIS model. Let’s e.g. find the total thickness of (very) fine sand between the -20 and -25 m MSL depth interval. For this we will use the ‘lithoklasse’ data variable which classifies lithology as follows:
# Let's inspect the lithology variable attributes to see how lithoclasses are defined in the DIS
print(dis["lithoklasse"].attrs)
{'1': 'Zand uiterst fijn (63-105)', '2': 'Zand matig fijn-zeer fijn (105-210)', '3': 'Zand matig grof (210-300)', '4': 'Zand zeer grof (300-420)', '5': 'Zand uiterst grof (420-2000)', '6': 'Zand (ongedifferentieerd)', '7': 'Klei/Leem', '8': 'Veen', '9': 'Schelpen', '_ChunkSizes': array([30, 60, 12], dtype=int32)}
So we will use lithoclasses 1 and 2 to determine the total thickness of (very) fine sand within our depth interval:
# Compute thickness of sand layer between -20 and -25 m depth
dis_sand = dis.get_thickness((dis["lithoklasse"] <= 2), depth_range=(-20, -25))
dis_sand.plot.imshow(
figsize=(8, 6),
cmap="YlOrBr",
vmin=0,
vmax=4,
cbar_kwargs={"label": "Total thickness of fine sand (m)"},
)
<matplotlib.image.AxesImage at 0x28286c7da90>