There are several common error messages users encounter when modeling sediment in HEC-RAS. These fall in two basic categories: Pre-Run errors (those that HEC-RAS throws before it starts computations, usually alerting users to incomplete data) and Runtime Errors (those written in the computational window during a run).

Flow or Temp Time Series Date is Not Sufficient to Run Requested Time Window

The most common pre-run error message alerts users that there is not enough flow or temperature data to run the simulation (below).
Insufficient Flow or Temp series not sufficient pre-run error message.
This message indicates that one of the flow, temperature, or sediment time series in the quasi-unsteady or sediment data do not span the computational interval. Check to make sure that all the time series start at or before the simulation start time and end at or after the simulation end time.
However, other data errors, which can be harder to find can generate this error. Here are three common culprits:

  1. No Temperature Data: Temperature data are mandatory, but requires pressing a button on the quasi-unsteady flow editor. Blank temperature data will return this error.

  2. Blank or mistaken Fixed Start Time:  If the fixed start time is either missing or mis-formatted (see below) HEC-RAS does not know when the boundary condition begins.
                                                                                                                                                                                                                                                                                                 

  3. Missing Computation Increments. A quasi-unsteady time series can span the entire simulation time window, but if one or more flows lack computation increments HEC-RAS will return this error. If the Automated Computation Increment tool does not span the range of flows, it will leave Computation Increments blank and return this error. 

Incomplete data: "Zero flow value"

Another common pre-Run error indicates that a flow boundary condition has a zero flow value (below).
Zero Flow Value pre-run error message.
HEC-RAS cannot specify a zero flow external boundary condition. However, more often, this error is the result of:

  1. Mis-formatted Date: If the Fixed Start Time or the simulation time window is defined with a date that does not conform to the HEC-RAS DDMMMYYYY convention the date will not register correctly.  An example of this common error is:
  2. Non-English Settings, Months, or Special Characters: The months also have to be in English. The following table includes the only MMM abbreviations RAS accepts

    JAN

    FEB

    MAR

    APR

    MAY

    JUN

    JUL

    AUG

    SEP

    OCT

    NOV

    DEC

    An example of a common error is: 

    Additionally, in order to accept dates, the Microsoft language settings on your computer must be set to English (US).

  3. End Date earlier than the Start Date: Another common error includes specifying an end date later than the start date (e.g. setting up a water year run but failing to change the second date):

Unrealistic Vertical Adjustment

The Unrealistic Vertical Adjustment error is the most common sediment runtime error. This error indicates that the cross section eroded or deposited too much sediment in a time step, potentially destabilizing the simulation.
The Unrealistic Vertical Adjustment Runtime Error.
This error occurs most often at the upstream cross section. If the transport function, load, bed gradation, and load gradation are not in quasi-equilibrium at the beginning of the simulation, the upstream cross section will often deposit until it is full.
If the model deposits unrealistically at the upstream cross section, one-or-more of three factors are likely:

  1. Load is too large. (Sediment boundary condition)
  2. Capacity is too small. (Transport Function)
  3. Load is too coarse. (Boundary condition gradation) - Sometimes modelers will use their bed gradation for their boundary-condition load gradations.  But transporting gradations are almost always substantially finer than the bed gradation.  Therefore these models often deposit unrealistically at the upstream cross section even if the total load is appropriate.

Other less-common causes include:

  1. Large Computational Increment: Large computation increments (or moderate computation increments during large flows) are the most common source of sediment model instability and, therefore, this error. Users can often resolve this error by reducing the computation increment.

  2. Model Should Deposit Outside the Movable Bed Limits: If the modeled system deposits significant sediment in the floodplain, an HEC-RAS model that forces all bed change in the channel (by confining the movable bed limits to the channel and selecting the default bed change method that only modifies the cross section within the channel) can force too much deposition in the channel, causing unrealistic bed change. In systems (or reaches) with significant floodplain deposition, change the Bed Change Options to allow deposition outside the movable bed limits (or extend the movable bed limits).

  3. Bed Material is Too Fine: If the bed material is too fine for the transport function, or if the transport function over predicts transport in the reach, the mismatch can lead to large, rapid bed changes, destabilizing the mode

  4. Equilibrium Load: If the upstream gradation associated with an equilibrium load boundary condition includes substatnial silt or clay, the equilibrium load condition can compute enormous fine grained sediment loads at the boundary. Small decreases in transport downsteam can cause large bed changes. User defined rating curves are almost always better sediment boundary condition options, even if they are speculative.

No flow in channel at river/station (channel may have overfilled with sediment)

This message is pretty self explanatory.  If the channel fills with sediment - pushing all flow to the overbanks - the model will stop.  If your channel is filling with sediment, this requires the same approaches as Unrealistic Vertical Adjustment (see the troubleshooting approaches above).  There are a few additional issues that can cause this error that you might explore:

  1. If your overbank/floodplain cross section has a depression that is lower than the channel thalweg it can empty the channel at low flows if there is enough low-elevation conveyance in the overbank.  Either include this area in the channel if it conveys flow or make it ineffective up to the elevation of the channel. (these depressions should usually be ineffective in a sediment model anyway).
  2. Bank stations are too narrow or low.  Move banks stations up/out.
  3. Switch to allow deposition outside the channel.  If the model only deposits in the channel (the default) the channel can fill with sediment that should be depositing in the floodplain.  Allowing floodplain deposition can clear this up.
  4. If you are using unsteady flow hydraulics, this can indicate hydraulic model instability.  If the unsteady hydraulics go unstable the channel will often go dry which the sediment model interprets as "overfilled with sediment."  This is an unsteady hydraulic stability issue and requires unsteady troubleshooting.  

Sediment Rating Curve Extrapolation

Users sometimes enter flow-load rating curves that do not cover the entire range of flows. Users often develop a flow-load curves for their measured data - collected over a more narrow range of flows than the simulated flow range, so the model that includes a much wider variety of flows.
HEC-RAS will produce two errors if it encounters flows lower or higher than the maximum and minimum rating curve flows:

If HEC-RAS encounters flows below the lowest flow-load rating curve point it will generate the error:
The sediment boundary condition(s) include(s) a flow that is lower than the maximum flow in the sediment rating curve. HEC-RAS extrapolated between the lowest load and zero.

This error is blue because it is not critical. Because it is reasonable to assume that 0 flow is associated with 0 load, HEC-RAS will extrapolate below the lowest flow in the rating curve by interpolating between that point and 0, 0 (cfs-T/d, cms-T/d, cfs-mg/L, or cms-mg/L).

If the flow series includes flows higher than the highest flow-load point, HEC-RAS will report:
The sediment boundary condition(s) include(s) a flow that is higher than the maximum flow in the sediment rating curve. HEC-RAS used the highest load in the rating curve.

This error is red, because HEC-RAS will not extrapolate beyond the highest flow point on a sediment rating curve. Results will be very sensitive to loads associated with high flows and it is important for the user to make this site-specific decision explicitly. Therefore, HEC-RAS will only use the highest specified load for all flows that are larger than the highest flow point in the flow-load curve, and will produce this error message in the runtime window to ask the user to increase the max flow in the flow-load curve.

Active Layer Exhaustion

If the model erodes all the sediment in the active layer during a bed mixing time step, it can artificially limit erosion. For small active layers or large time steps, eroding the entire active layer during some or most of the high transport time steps can artificially reduce erosion significantly. Therefore, HEC-RAS generates an error if the active layer is completely eroded and indicates which cross sections empty at which times.

Increasing the active layer thickness, using the Minimum Active Layer Thickness feature, or increasing the number of bed mixing time steps for each computation increment are common fixes for this error, particularly for fine sediment beds.

XS Htab Starting Elevations – The Following XS's had HTab starting values below the XS invert.

This error is often the result of using a geometry file created from a sediment result and there is a simple fix. Re-set the starting elevations in the HTab editor to the invert. This work flow is described here (Workflow to fix the HTab starting elevation error.).

Program Exception - Access Violation

There are several versions of this error.  There can be many reasons for this.  But regardless of the cause (including user-error), this should be considered a bug.  Even if this is cause by user-error, we would like RAS to fail more gracefully and provide more useful feedback on what went wrong.  Any indecipherable error like this with a list of indecipherable, red, routine codes should be considered a bug.  Send a bug report to the HEC-RAS inbox.  HEC will need the files to identify the problem/bug.  Follow these instructions to transfer the files. 


Search Keywords: forrtl: severe(157): Program Exception - access violation, Error with program: RasUnsteadySediment.exe Process Count = 6 Exit Code = 157

In the current version, we have seen the following issues cause this error:

  • Attaching sediment data to an internal boundary condition