Python package to build, run and visualize MODFLOW 6 groundwater models in the Netherlands.
nlmod
was built to allow users to write scripts to quickly download relevant data
from publicly available sources, and build and post-process groundwater flow and
transport models at different spatial and temporal scales to answer specific
geohydrological questions. Scripting these steps, from downloading data to building
groundwater models, makes models more reproducible and transparent.
The functions in nlmod
have four main objectives:
- Create and adapt the temporal and spatial discretization of a MODFLOW model using an
xarray Dataset (
nlmod.dims
). - Download and read data from external sources, project this data on the modelgrid and
add this data to an xarray Dataset (
nlmod.read
). - Use data in an xarray Dataset to build modflow packages for both groundwater flow
and transport models using FloPy (
nlmod.sim
,nlmod.gwf
andnlmod.gwt
for Modflow 6 andnlmod.modpath
for Modpath). - Visualise modeldata in Python (
nlmod.plot
) or GIS software (nlmod.gis
).
More information can be found on the documentation-website: https://nlmod.readthedocs.io/.
Install the module with pip:
pip install nlmod
nlmod
has the following required dependencies:
flopy
xarray
netcdf4
rasterio
rioxarray
affine
geopandas
owslib
hydropandas
shapely
pyshp
rtree
matplotlib
dask
colorama
joblib
bottleneck
There are some optional dependecies, only needed (and imported) in a single method.
Examples of this are geocube
, rasterstats
(both used in nlmod.util.zonal_statistics),
h5netcdf
(used for hdf5 files backend in xarray), scikit-image
(used in nlmod.read.rws.calculate_sea_coverage).
To install nlmod
with the optional dependencies use:
pip install nlmod[full]
When using pip the dependencies are automatically installed. Some dependencies are
notoriously hard to install on certain platforms. Please see the
dependencies section of the
hydropandas
package for more information on how to install these packages manually.
Start with the Jupyter Notebooks in the examples folder. These notebooks illustrate how to use the nlmod
package.