SFINCS model-builder
The SFINCS model builder was designed to make it easy for analysts to set up a tailored SFINCS model using local data.
This guide is organized in seven sections:
- Getting started
- Defining your domain and model grid
- Mapping topography/bathymetry data to your model grid
- Define active cells
- Define boundary cells
- Build model
- Define boundary points
Figure 1 shows the SFINCS model builder. There are six tabs shown at the top. For generating a SFINCS model for FloodAdapt, you will only need to use the first of these tabs, the “Model Maker” tab. The remaining tabs are for creating a standalone SFINCS model for use outside of FloodAdapt. Within the “Model Maker” tab, there are 5 tabs shown at the bottom. These guide the user through creating a SFINCS model for FloodAdapt.
Getting started
To get started building your SFINCS model:
- Open the Model Builder application; this contains functionality to build a SFINCS and a Delft-FIAT model
- Click “Model” in the top menu bar and choose “SFINCS (HydroMT)”
- Click “File” in the top menu bar and choose “Select Working Directory”
- Select an existing folder or create a new one where your model will be saved
Defining the model domain and grid
The SFINCS domain is the area within which the SFINCS model will simulate hydrodynamics. For a fully functional FloodAdapt system, two SFINCS models are typically needed, a “Surge model”, and an “Overland model”. The surge, a.k.a. offshore, model is needed for simulations of hurricanes, and typically has a much coarser resolution than a detailed overland model. Its purpose is to simulate storm surge over large areas and provide the time series of simulated water levels as input for the overland model. Later in the guide we will define boundary points for our overland model, these are points where time series of simulated water levels can be taken from the offshore model and used as input for the overland model, in a process referred to as “grid nesting”. Details on creating a surge model are coming soon, for now this guide will focus on the creation of an overland model. The overland model is higher resolution and is used for simulating compound flooding over land.
We need to define a spatial coordinate system for our model, this can be accomplished by selecting “Auto-select UTM zone” in the “Domain” section of the GUI.The “Auto-rotate grid” option can be left unchecked. When modeling local precipitation, such as in many FloodAdapt scenarios, it is recommended to ensure that full watershed area(s) are within the modeled domain area. Check “Local precipitation” and then choose “Select Watershed”. A pop-up box will appear in which you may select one or more watersheds to include in your domain area. Once you have selected your desired watersheds, choose “OK”. The GUI will inform you that the coordinate system will be changed to one appropriate for the selected area, when asked to continue, select “yes”. Figure 2 shows the SFINCS model-builder “Domain” tab with the “Select Watershed” pop-up.
A new box will appear in the domain tab for defining model resolution. A grid resolution of 50-100 m is typically appropriate for an overland model. In general, the coarser the resolution the faster the model will run, but this may result in decreased accuracy. The user is recommended to test their model in FloodAdapt for a historical case where there is some knowledge of flooding that actually occurred to ensure that the resolution chosen is appropriate for their location. Select “Generate Grid” and the viewer will show a preview of the model grid. Zooming in in the viewer will allow you to see details of the grid. The bottom right side of the GUI shows a summarry of the model domain and grid.
Mapping topography/bathymetry data to the grid
Next, move to the “TopoBathy” tab along the bottom of the GUI. Here, we will choose which topography/bathymetry dataset(s) to map onto our grid. On the bottom left, there is a list of DEM dataset source(s). The user has the option to add a dataset, which must be in geotif format. All dataset(s) that will be combined for use in the model must be referenced to the same vertical reference (i.e. NAVD88, MSL, etc.). Once the dataset(s) are loaded into the left box, select the one(s) that should be mapped onto the model grid and use the right arrow to move them into the right box called “Selected Datasets”. If you are using multiple datasets, sort them by the order in which they should be used. For example, the main dataset should be at the top, and any areas that aren’t covered by it will be filled by subsequent datasets. Once you are satisfied, select “Generate Bathymetry” in the bottom right of the GUI, the topography and bathymetry data will then be displayed in the viewer within the model grid boundary. Figure 3 shows the SFINCS model-builder “TopoBathy” tab, with the topo-bathymetric dataset mapped to the model grid.
Define active cells
One of the ways that SFINCS simulations finish quickly is by not solving computations in grid cells that are not within the area of interest. Within the “Active Cells” tab along the bottom of the GUI, by default, pressing “Show active cells” will show that cells within the selected watersheds are set to “Active” and cells outside the watersheds are inactive. Left as-is, SFINCS would only compute in the active cells. It is sometimes necessary to manually add or remove active cells depending on the area of interest, this can be done by checking the “Manually add/remove cells to/from your active mask” box(es). There are also options to load a mask or create a mask based on maximum/minimum elevations as well as maximum area of cells surrounded by active cells to include in the domain or maximum area of isolated cells to remove by using the “Modify mask settings” button. In general, extending the active cells offshore to -2m water depth is recommended for an overland model. Figure 4 shows the SFINSC model-builder “Active Cells” tab, with active cells highlighted in yellow.
Define boundary cells
Next, move to the “Boundary Cells” tab along the bottom of the GUI. Boundary cells are the cells that will be forced with water level data from either an offshore model, or for example a synthetic tidal/ surge signal, or historical tide gauge data. The goal here is for the entire offshore edge to be defined as a “Water level” boundary, which in the GUI will appear as dark blue cells. Polygons can be used to restrict the area you are defining, and it is also possible to use a water depth to automatically select cells.
Build model
Finally, move to the “Build Model” tab along the bottom of the GUI. This tab gives a summary of the bathymetric datasets that will be used, and bottom friction datasets (currently can only be the default “Constant values”). In the bottom right of the GUI, select “Build model”.
A pop up will appear that says “Generating subgrid…”; during this time, the model-builder is generating the SFINCS subgrid files and saving them to the working directory chosen earlier. Next, you will be prompted “Do you want to make a FloodAdapt model?”, choose “Yes”. This step configures the SFINCS model in such a way that FloodAdapt will be able to interface with it. Next, you will be asked “Specify maximum zoom level(0-20) for tiles:”, this will enable smooth zooming capabilities within the FloodAdapt GUI viewer. A good default value for zoom tiles is ~13. After selecting “OK”, the model-builder will inform that it is writing the tiles. All data will be saved to the working directory.
Define boundary points
The last prompt when building the SFINCS model for FloodAdapt will be “Do you want to automatically generate water level boundary points?”. You can select “Yes” here. If your overland SFINCS model is intended to be nested within a larger offshore SFINCS model, the two are coupled together via these boundary points. The points will appear in the GUI as dark blue dots. Once the dialog box closes, you may exit the SFINCS model-builder.