The Swift toolkit
Swift is a toolkit for the end-to-end processing, simulation and analysis of floods. Users can design custom workflows by building on Swift’s computational shallow water solver and incorporating various input, processing and visualisation components, each tailored for flood modelling. The Swift toolkit provides hydrodynamic and coupled hydraulic modelling capability with analysis tools for mitigation options. Swift can be used for both catchment and coastal flood modelling, including sea level rise, for present and future flooding. The capabilities of Swift have been used in a number of flood mitigation projects for cities across Australia.
Easily source input data
Many types of input and output data formats can be used including text files, comma separated variable (CSV) files, most raster image types, ESRI raster and vector formats (vector formats are converted to raster in the toolkit) and GDAL raster data types. Once the data layers are imported, the first (optional) step of the processing stage runs a user defined initialisation model over the data layers. Possible uses of this stage could include defining adaptation options, pipe networks or asset layers, ready to use in the propagation solver.
On-the-fly visualisation and analysis
Swift can periodically suspend the simulation to allow analysis, visualisation or output of the simulation results. There are a number of built-in modules for data analysis ranging from inspection of point values, data plotting and statistical calculations over the domain to image analysis using OpenCV. This analysis can be performed on individual simulations or over ensemble sets of simulations. Both the propagation and the resulting analysis can be interactively visualised in a graphical user interface (GUI) using OpenLayers or a range of two and three dimensional display types.
The Swift toolkit is based on the CSIRO Workspace platform. Workspace is a cross-platform application development framework, built on the Qt toolkit, that allows individual operations to be connected and managed in a workflow environment. Each modular component within Swift is implemented as a Workspace operation, allowing solver workflows to be rapidly constructed in a GUI environment. A range of open-source modules are included in Workspace, such as OpenCV, NetCDF, GDAL and Python which are fully compatible with the Swift toolkit. Complex user interfaces can also easily be build in Qt designer and used with Workspace workflows, such as the swift-gui demo application.
The Swift flooding solver is implemented as an individual operation, shown in the figure above at the centre of the workflow. The solver runs within a loop, returning control to the external workflow environment after a given period of simulation time, allowing the results to be analysed or visualised. Configuration operations, on the left hand side of the workflow, control the input conditions for the solver. An additional feature of the toolkit are processor operations, which are computational sub-solvers that run independently of the solver. Processor operations can be developed independently from the toolkit and used directly with the solver.