A tool is presented that allows efficient and largely automated production of predictive land subsidence maps on a national scale in the Netherlands. The tool, based on Python scripts, is named Atlantis and calculates the subsidence induced by phreatic groundwater level management in Holocene soft-soil areas through peat oxidation and consolidation. Process formulation, input datasets and data handling procedures are elucidated. Maps produced with Atlantis will soon be available online.
A large part of the coastal zone of the Netherlands subsides at rates that
typically range from 0–10 mm yr
Since about 1997 (report Werkgroep klimaatverandering en bodemdaling, 1997) efforts have been undertaken to support and facilitate the policy process by producing nationwide predictive land subsidence maps that indicate how subsidence may progress a few decades into the future or longer. These maps were generally spreadsheet-based, with the applied methods poorly documented, and calculation times were largely prohibitive (months for a single map). A major step was adding the possibility of executing the calculation in a GIS environment. The resulting software, named Phoenix (Van der Schans and Houhuessen, 2011), is for instance used in the national cost-benefit analyses on land subsidence in the Netherlands (Van den Born et al., 2016). However, this model was not open source, and still difficult to update and expand when new knowledge would be available. Therefore, new efforts were therefore recently undertaken to develop a new software environment, dubbed Atlantis, that by using modern techniques overcome these limitations, thereby allowing for efficient and largely automated production of predictive land subsidence maps on a national scale and covering time periods of a few decades to centuries.
Atlantis integrates and generalizes calculation methods that were previously conducted in spreadsheets and GIS applications. Atlantis does not only allow prediction of subsidence under business-as-usual but is specifically meant to allow exploration of the impact of policy options and climate change impacts. Published maps can be efficiently updated when changes occur in underlying datasets, and new subsidence components, datasets or process formulations can be readily accommodated within the modular structure of the code.
Presently, Atlantis focuses on projections of subsidence caused by phreatic groundwater level management (GWLM) (Fig. 1). GWLM-driven subsidence has been initiated in the distant past by construction of canals, ditches and drains to create arable land. This caused shrinkage of the soils, and oxidation of peat above the lower groundwater level and consolidation and compaction of underlying saturated Holocene deposits (e.g. Erkens et al., 2016). The subsidence gradually decreases the thickness of the unsaturated zone. To re-establish the unsaturated zone thickness required for the local land-use, the surface water level and drainage levels are periodically lowered to compensate for the subsidence, which initiates a new cycle of subsidence (Fig. 1). In areas with thick peat layers, this process can continue for many centuries and cause subsidence of several meters (Erkens et al., 2016).
Schematic representation of the groundwater management cycle.
The total model area of the Netherlands is discretized by a grid of
rectangular cells. Cells are grouped into contiguous zones or blocks that
represent water level management areas (WLMA) (Fig. 2a). WMLA's are parts of
a water board district in which a single surface water level is maintained.
The spatial variation of subsidence within these blocks is mainly steered by
the distribution, depth and thickness of oxidation- and consolidation
susceptible layers within the Holocene deposits, and by the groundwater
level. To capture these conditions, Atlantis interfaces with external
national and regional dataset of the present land surface elevation, the
phreatic groundwater level and the geology. Calculations are carried out for
individual columns that consist of a stack of 3-dimensional cells (voxels)
(Fig. 2). The voxels are assigned a lithology and parameter values required
for the oxidation and consolidation calculations. The basic voxel model is
adopted from the national geological model GeoTOP (Stafleu et al., 2012).
GeoTOP presently includes a resolution of 100 m
Different component of discretization.
Following MODFLOW (McDonald and Harbaugh, 1988) terminology, the time dimension is categorized in terms of stress periods and timesteps (Fig. 2c). A stress period is the time during which a constant stress is applied (for example the surface water stage in a management area or a surcharge). Within a stress period, time is discretized into individual timesteps. A stress period therefore generally consists of multiple timesteps, and a simulation may consist of multiple stress periods. These may all vary in duration.
In each time step both a consolidation and oxidation calculation are performed, and associated height loss of each voxel due to either process is stored. The total land surface subsidence that occurred in a stress period is used to quantify the water table lowering that is applied at the start of the next stress period. The lowering can be set equal to the average or median subsidence in the WLMA the model cell of (Fig. 1a), or equal to the subsidence of the individual cell. To accommodate both oxidation and consolidation with a single water table measure, the water table is considered to represent the mean (long-term) low water table (MLWT: Dutch: GLG) that is widely used in water management practice in the Netherlands.
Presently, two compression models have been implemented to quantify consolidation; the Koppejan model and the isotache model. The Koppejan (Terzaghi-Buisman) model (1948) has been the classical Dutch compression model for settlement calculations for many years (CUR, 1996). The advantage of this model is that it is widely known among geotechnical engineers. The main limitation is the lack of a rate-based formulation, which complicates use with multiple loading events (e.g. in Atlantis long-term effects due to prior stress periods are neglected when using the Koppejan method), and which does not allow the initial condition to include a subsidence rate due to creep. Therefore, also a more advanced model can be chosen.
The isotache model (Den Haan, 1996; Kooi et al., 2018) has become the
recommended model for settlement modelling in the Netherlands since about
one decade. It overcomes limitations of the Koppejan model but requires more
sensitive parameter tuning to avoid spurious effects of anomalously high
creep rates and initial subsidence rates. Total strain
The creep strain increment is calculated from the following set of
relationships
The Koppejan and the isotache compression models are combined with a module
that handles effective stress development. Stresses are evaluated for the
centre-depth of voxels. Presently, effective stress calculation uses the
degree-of-consolidation approach of Terzaghi (e.g., Verruijt, 2001). The
equilibrium effective stress for fully drained (end of primary
consolidation) conditions is calculated as the difference of total stress
and equilibrium pore pressure
A water table lowering event at the start of a stress period corresponds to
a “load”
Change of equilibrium (drained) pore pressure due to a drop of the
water table.
Oxidation accounts for volume loss of soil layers by mineralization of soil
organic matter by oxidation. In Atlantis different approaches/models can be
adopted. The most comprehensive model employs an organic-mass based
approach. All voxels are initially assigned an organic mass fraction
Atlantis is built on several open source Python libraries, which enormously simplifies development efforts. Python was chosen as the programming language due to its popularity within the scientific community, a comprehensive standard library and a wealth of open source (scientific) libraries. Python's syntax is easy to understand, enabling contributions from researchers, not just professional programmers.
Atlantis has four essential dependencies:
Numpy (Van der Walt et al., 2011): the basic numerical array package in
Python. Dask (Dask development team, 2016): dask provides tools for out-of-core
(larger than memory) and parallel computation. Xarray (Hoyer and Hamman, 2017): xarray brings labelled dimensions and
coordinates top of numpy arrays and integrates with dask for parallel
computing. Within the context of atlantis, xarray is used primarily for
input and output of the simulation data and handles parallel out-of-core
computation. Numba (Lam et al., 2015): numba translates Python code to optimized machine
code. Python code normally runs much slower than compiled languages
(sometimes by orders of magnitudes!), but Numba compiled numerical code can
approach the speed of C or Fortran.
A simulation can be run by writing a short Python script which initializes
and runs the simulation. In this script, the paths to the input data are
defined, as well as settings such as time discretization, the type of
consolidation method (e.g. Koppejan or isotach), etc.
The input is array based. While two-dimensional data is easily represented by GIS rasters, three-dimensional (voxel) data such as GeoTOP is better represented by a multi-dimensional array data format such as netCDF (Unidata, 2019), HDF5 (The HDF group, 1997–2019), or Zarr (Zarr Development Team, 2019). Xarray is tailored to working with these formats and provides excellent tools to generate input, and to process results; other data formats can easily be converted to generate simulation input using xarray.
Atlantis is organized in three principal data structures. In Python, data
structures are represented using objects (within the object-oriented
programming paradigm). The object can contain data and procedures; the
procedures mutate the data within the object. Different functionalities of
the program can be modularized and assigned to these objects, thereby
creating a division of responsibilities. In Atlantis, the three principal
objects are:
The soil column: the soil column simulates one-dimensional subsidence for a
single location. Its properties vary only with depth. The soil column
contains the numerical methods describing land subsidence. The control unit: the control unit is a collection of soil columns. In
reality, many locations with variable subsoils fall within a single
management area. Within this area, a single surface water stage is
maintained, for example. The control unit is also the building block of
parallel execution; multiple control units can be simulated in parallel. The simulation: the simulation is responsible for reading the input data,
scheduling parallel execution, and writing the output data.
Object-oriented programming provides re-use of code by inheritance. In
Atlantis, we wish to provide multiple consolidation and oxidation methods.
These methods differ, but they share a great deal of functionality: read in
data and initialize columns, iteratively step through time, compute
pressures and stresses, etc. These methods do not have to be duplicated,
they can be shared by providing a base class from which they derive shared
functionality via inheritance. For example, KoppejanConsolidation and IsotacheConsolidation derive their shared functionality from a common base class.
Nearly all number crunching takes place within the soil column object. Consequently, all soil column procedures are compiled using numba. Unfortunately, numba supports only a subset of the Python language (with a heavy focus on numpy), so some compromises are required. In Atlantis, this mostly consists of converting complex data types to simple arrays and scalars, which are properly understood by numba.
Underlying data are available upon request.
GE initiated the project and reviewed and edited the draft manuscript. HB took care of the scripting/programming and testing and wrote the initial draft of the paper. HK developed the model equations and contributed to the writing of the manuscript.
Gilles Erkens is member of the editorial board of the special issue but was not responsible for the acceptance of the manuscript for publication.
This article is part of the special issue “TISOLS: the Tenth International Symposium On Land Subsidence – living with subsidence”. It is a result of the Tenth International Symposium on Land Subsidence, Delft, the Netherlands, 17–21 May 2021.
We thank our colleagues at TNO – Dutch Geological Survey, in particular Jan Stafleu, and at Wageningen Environmental Research, in particular Jan van de Akker, for their cooperation. The Province of South-Holland, Jan Strijker, is thanked for keeping faith in this model and for stimulating the further development.