Troubleshooting an SRH-2D Model

Do you have an SRH-2D model that is failing to converge or has other errors? It is important to understand that errors in SRH-2D model runs are not uncommon and not necessarily an indication of a major problem. This post will give you some guidance so you can quickly identify and fix errors. This will allow you to produce accurate and useful results.

Common errors often appear around items that were missed during the model development. To avoid errors, it is important to review all data that’s been important into SMS. Also, care should be taken in designing and generating the mesh or grid being used in the simulation. While SRH-2D is rather forgiving, sometimes small issues in the mesh or grid can cause errors. Finally, double-check all boundary conditions that they are in the correct location and that all model parameters have been set.

It's important to note that while the SMS model checker can identify some errors, it does not validate the data and cannot catch all errors. Therefore, it is important to be familiar with the SRH-2D error codes and how to troubleshoot them.

Example of error found in an SRH-2D project

When encountering an error, it is important to remain calm and follow the steps outlined in the blog post, recording the error number and referring to the SRH-2D error page for guidance. Often, solutions involve minor adjustments to data inputs or boundary conditions.

If you were unable to record the error from the model wrapper, don't worry. You can still see this information by reviewing two of the files generated by SRH-2D during every model run. These files will be named [projectname].OUT.dat and [projectname].DIA.dat files.

To use these files:

  1. Locate the files in the model run directory with your project file.
  2. Open the *.OUT.dat or *.DIA.dat files using a text editor such as Notepad.
  3. Look through the text file to locate the error code.
  4. Go to the SRH-2D error page to find the solution.
  5. Make the needed change(s) to your project and run SRH-2D again.

By mastering the process of troubleshooting SRH-2D errors, you can produce accurate and useful results that can inform important decisions related to water resources and hydraulic engineering. The Community Edition of SMS is a great resource for exploring the capabilities of SRH-2D in SMS. Use SRH-2D with SMS today!

A previous version of this article was publish in 2018

Blog tags: 

Fixing Negative Water Depth

If you've worked with an SRH-2D model in the Surface-water Modeling System (SMS), you may have noticed that there will be times that some nodes appear to have a negative water depth. This can be problematic because it often doesn't reflect the true nature of the body of water. SRH-2D simulations default their calculations to be cell-centered, while meshes calculate data from the nodes. Inactive cells are set to have a null value of -999, but if you're working with meshes, the nodes that touch the inactive cells will interpolate with the value of -999, thus causing a negative water depth to generate on that node. If this is something you want to avoid, here are some ways to eliminate a negative water depth.

Example of negative depths in an SRH-2D project

The first way to eliminate these negative water depth values from your SRH model when working with a mesh is to run your simulation as normal, and then use the Data Calculator in the Data Set Toolbox to truncate the data to a more desirable number, often this number will be zero. Follow these steps to truncate the data:

  1. Open the Data Set Toolbox under the Data menu.
  2. Under the Math section, select the Data Calculator.
  3. Find the dataset you are wanting to truncate, which will be labeled with "d#".
  4. Enter the following formula into the Calculator: "trunc(x,a,b)" where x is the dataset to be truncated, and where all the data will be greater than or equal to a, and less than or equal to b.
  5. Change the Output dataset name to one that suits your project.
  6. Click Compute, then close the Data Set Toolbox.

Make the new truncated dataset active in the Project Explorer, and note that the new minimum water depth is zero.

Example of truncated values in an SRH-2D project

Another way to get rid of negative water depths is to use an unstructured grid (UGrid). Ugrids use the same cell centered calculations that SRH-2D does, so you won't run into the same issues with how the data is interpolated. If you have already created your simulation on a mesh, you can follow these steps to convert to a UGrid:

  1. In the Project Explorer, right-click the desired mesh and select Convert | Mesh → Ugrid.
  2. If desired, change the Output grid name to something that suits your project.
  3. Remove the mesh from the simulation by right-clicking on the mesh name under the SRH-2D Simulations folder and selecting Remove.
  4. Drag the newly converted UGrid under Sim in the SRH-2D Simulations folder.
  5. Run the simulation again.

SRH has now recalculated the data with the UGrid with only cell-centered interpolation, which should remove any unintended negative water depth calculations.

Go to SMS and try out these ways to eliminate negative water depth today!

Blog tags: 

Filling Missing Raster Data

Do you have a raster that has holes in it? The Fill Nodata can fix small holes in raster data. Available in GMS, SMS, and WMS. In this article, we will explore the ways that the Fill Nodata tool can be used in WMS.

The Fill Nodata tool fills in small areas or gaps in a raster where no elevation data exists. It is located in the Rasters/Fill Nodata section of the Toolbox. The tool will interpolate an elevation to raster cells that are classified as "NODATA". Then the tool will create a new raster in the project that has the fillable no data areas filled.

Example of the File Nodata tool

These holes in the raster can occur for a number of reasons, one of the most common being that the data is incomplete. WMS is flexible enough that it can use a raster with small amounts of missing data for most simulations. However, it is recommended that you have data that is as complete as possible to ensure the generated model is as accurate. Therefore using the Fill Nodata tool can help ensure the accuracy of your model.

The Fill Nodata tool has a few input parameters to keep in mind. The input raster is the most important parameter. This needs to be a raster that has been imported into the project. The maximum distance to interpolate determines how far out WMS will look to fill data. It will use pixel units to do this. The number of 3x3 average filter smoothing iterations to run determines how many smoothing interactions will be run after the interpolation has been calculated. Additional interactions can help in improving the fill data.

Keep in mind that the tool was not intended to create data for large regions of missing data cells, especially regions on the border of the raster. If you have a large area of missing data, it would be best to use other processes to fill in the missing data, such as downloading the missing data and merging it with your raster.

The Fill Nodata tool is one of thetools provided in WMS to let you modify and edit raster data. Try out the Fill Nodata tool in WMS today!

Blog tags: 

Converting a 2D Mesh to a CAD Surface

Using CAD files can be a useful way to transfer project data between different modeling software that may not support all of the same file types. The Surface-water Modeling System (SMS) supports the conversion of terrain in the form of scatter surfaces and mesh surfaces to and from CAD data for easy transfer between systems that utilize CAD data.

To save a terrain from SMS as a CAD surface file:

  1. Deselect everything in the Project Explorer that doesn't contain the terrain data you want to work with. Depending on the amount of data currently in the Project Explorer, the simplest way to achieve this may be to right-click on an empty section of the Project Explorer and select "Uncheck All".
  2. Reselect the terrain data in the Project Explorer.
  3. Right-click in any empty space in the Project Explorer and select "Save as CAD". A save window will pop up and you'll be able to name the CAD surface file and choose where it will save outside of SMS.

The CAD surface data will then also appear in the Project Explorer. Once you assign a name to the file, you should be able to import it into your CAD software and make modifications. This file set will contain all the necessary surface data, including elevation, node, and element information.

Using CAD Faces to 2D Scatter Triangles

When importing CAD surface data into SMS, you'll need to convert it into a form that SMS can recognize so you can make changes and use the information stored in the file. To convert the data back into a form you can use within SMS, you just need to right-click on the CAD data under the CAD Data file folder in the project explorer. Then, select the "Convert → CAD Faces → 2D Scatter Triangles" command.

Head over to SMS and see how using CAD data can benefit your project today!

Blog tags: