Overview
Meshing for a compound flood simulation can be very challenging. It is crucial to accurately and economically resolve the small rivers in the watershed to ensure hydraulic connectivity while minimizing the mesh size. Additionally, flood risk reduction structures such as levees and dams also need to be represented in the mesh.
The mesh of STOFS3D has gone through major upgrades from STOFS3D v4 to v6, which serves as a good illustration of different meshing techniques:

In the v4 mesh, small watershed rivers are resolved by a 1D representation, using 1D river segments from the National Water Model as feature arcs to guide the meshing.
In the v5 mesh, characteristic contours of the DEM are extracted and used to represent river banks and thalwegs. However, extensive manual cleaning is required due to the potential messiness of these contours.
In the v6 mesh, river arcs are generated automatically with
pyDEM and
RiverMapper,
both maintained in the RiverMeshTools repository.
Here is another sample v6 mesh that is zoomed in on the complex river network in South Carolina:

The meshing procedure used in v6 is preferred due to its minimal need for manual labor and its ability to produce the best mesh quality out of the three versions. The DEM-based procedure includes three steps:
An existing channel network, such as NHD flowlines, can replace DEM-derived thalwegs. See the NHD workflow for both real-DEM and NHD-area raster inputs.
Publication¶
A parallel Python-based tool for meshing watershed rivers at continental scale