SFINCS has continuely being developed since 2017, and many great features have been added over the years. Hereby some examples regarding subgrid features and GPU computing.
Official open source version: v2.0.0 Alpe d’Huez release¶
On the 16th of November 2022, we have made SFINCS open source available as the SFINCS v2.0.0 Alpe d’Huez release, ‘Moving Dutch Mountains’ in compound flood modelling. This contains open access to the source code and executables from Github: https://github.com/Deltares/SFINCS. The code consists of all functionality of v1, with the large addition of the subgrid mode and first GPU functionality using openacc. For more details, see below.
Pre-release version(s): v1 revision XXX¶
Before making SFINCS open source, version history was controlled using subversion numbering. Therefore papers using pre-release versions of SFINCS for instance refer to ‘trunk revision 141’, as in Leijnse et al. 2021. These version 1 revisions contained all standard SFINCS functionality for the regular mode.
Recent advancements in accuracy: subgrid mode¶
What are subgrid features?¶
Subgrid features are a method in which flux computations are performed on a coarser grid than the update of the water levels which is done on a much finer resolution. In this way computations can be sped up, while still using high resolution information of topography and bathymetry.
Why subgrid features?¶
Often model runtimes are too large to go to very fine resolution modelling because refining a grid size with a factor 2, leads to a 2^3 longer model runtime due to the time step limitation in the CFL-criteria. This can be overcome by using a subgrid approach for the continuity update. This has the benefit that larger grid domains can be used while keeping accurate results.
How does it work?¶
The subgrid method implemented so that subgrid tables are derived in pre-processing that contain relations between the water level and volume for every grid cell. These tables are derived using high resolution topography and bathymetry data. In the SFINCS model itself, these subgrid tables are used to determine an accurate estimation of the water level after calculating fluxes on a coarser grid resolution. Additionally, for calculating the fluxes between cells, a representative water depth is determined. The makes is possible to compute on a coarser grid resolution (improvement of efficiency) while still detailed information about the local elevation is incorporated when determining corresponding water levels leading to accurate results.
Increase in computational efficiency?¶
Due to this time step limitation, if one can calculate fluxes on a 200 m grid instead of a 100m grid, the computational speedup is a factor 8. Our case study in Houston shows that even larger increases in speed are possible! See: https://agu2020fallmeeting-agu.ipostersessions.com/Default.aspx?s=9C-05-18-CF-F1-2B-17-F0-7A-21-93-E6-13-AE-F3-24
Recent advancements in speed: GPU enabled¶
The SFINCS source code has now been GPU enabled to make optimal use of fast Graphics Processing Unit computers. For more information get in touch with us!