SFINCS model: General

With the hydromt_sfincs plugin, you can easily work with SFINCS model schematizations. This plugin helps you preparing or updating several model components of a SFINCS model such as topography/bathymetry, roughness, infiltration maps and dynamic waterlevel and discharge forcing.

When building or updating a model from command line a model region; a model setup configuration (.ini file) with model components and options and, optionally, a data sources (.yml) file should be prepared.

The SFINCS model components are available from the HydroMT Command Line and Python Interfaces and allow you to configure HydroMT in order to build or update SFINCS model schematizations. See Coastal SFINCS model schematization and Riverine SFINCS model schematization for suggested components and options to use for coastal or riverine applications.

Note that the order in which the components are listed in the ini file is important:

  • setup_topobathy should always be run first to determine the model grid

  • if discharge location are inferred from hydrography, setup_river_inflow should be run before setup_q_forcing or setup_q_forcing_from_grid.

For python users all SFINCS attributes and methods are available, see SFINCS model class

SfincsModel setup components

An overview of the available SfincsModel setup components, workflows and low-level methods is provided in the table below. When using hydromt from the command line only the setup components are exposed. Click on header to get a full overview or directly on a specific method see its documentation.

General setup components

SFINCS file

setup components

workflows

low-level methods

model region

setup_region()

parse_region() get_basin_geometry()

sfincs.inp

setup_config()

parse_region()1 get_basin_geometry()1

read_inp() write_inp() get_spatial_attrs()

depfile

setup_topobathy() setup_merge_topobathy() setup_river_bathymetry()

merge_topobathy()

read_binary_map() write_binary_map()

mskfile

setup_mask() setup_bounds() setup_river_outflow()

mask_topobathy() mask_bounds()

read_binary_map() write_binary_map()

indfile

read_binary_map_index() write_binary_map_index()

manningfile

setup_manning_roughness()

landuse()

read_binary_map() write_binary_map()

scsfile

setup_cn_infiltration()

cn_to_s()

read_binary_map() write_binary_map()

obsfile

setup_gauges()

read_xy() write_xy()

thd- & weirfile

setup_structures()

read_structures() write_structures() gdf2structures() structures2gdf()

Forcing setup components

SFINCS file

setup components

workflows

low-level methods

bnd- & bzsfile

setup_h_forcing()

read_timeseries() write_timeseries() read_xy() write_xy()

src- & disfile

setup_river_inflow() setup_q_forcing() setup_q_forcing_from_grid()

snap_discharge()

read_timeseries() write_timeseries() read_xy() write_xy()

precipfile

setup_p_forcing() setup_p_forcing_from_grid()

resample_time()1

read_timeseries() write_timeseries()

netamprfile

setup_p_forcing_from_grid()

resample_time()1

1) Imported from hydromt core package

SFINCS datamodel

The following table provides an overview of which SfincsModel attribute contains which SFINCS in- and output files. The files are read and written with the associated read- and write- methods, i.e. read_config() and write_config() for the config attribute.

Note that the indfile is not part of the staticmaps dataset but created based on the mskfile upon writing and used for reading staticmaps.

SfincsModel data

SfincsModel attribute

SFINCS files

config

sfincs.inp

staticmaps

depfile, mskfile, manningfile, qinffile, scsfile

staticgeoms

obsfile, thdfile, weirfile

forcing

bndfile, bzsfile, srcfile, disfile, precipfile, netamprfile

states

inifile

results

sfincs_his.nc, sfincs_map.nc