
STE has its own dedicated 2D flow solver designed specifically for surface water flow modeling. This solver is equipped with various equations to perform different types of simulations. To set up a two-dimensional simulation, you can either use the 2D Simulation Setup Wizard, which guides you step-by-step through the setup process, or, for advanced users, configure the simulation directly using the Simulator tool.
Setting up Simulations Directly using Simulator Tool #
To access this tool, go to the 2D Simulations menu and click on Simulator.

On the right-hand side of the opened window, a chart displays the computational load per time step, along with detailed statistics. This helps you evaluate the computational cost and intensity of the simulation while adjusting different settings.
To load previously executed simulations, modify their inputs, and re-run them, you can use the Load Hydraulic Simulation Run File button. Navigate to the folder of the desired 2D simulation and select the Runfile.hsr file. This will load the simulation into the tool, allowing you to make adjustments and run it again.

To clear all current simulation settings and start a new simulation from scratch, right-click on the tool and select New Simulation.

The main page includes several tabs for entering the information required for the simulation:
Configuration Tab #
In this tab, you must enter the basic simulation parameters:
- Simulation Name: Specifies the name of the simulation.
- Simulation Path: Defines the directory where the simulation will be saved. Note: Even if you define a temporary directory, the simulation can still be permanently saved after completion.
- Equation Set: Choose the governing equation to be used in the simulation. Based on your selection, the required parameters for that equation will appear below and can be customized.
- FDT (Flow Depth Tolerance): Defines the minimum allowable flow depth. Any cell with a flow depth below this value will be considered dry.
- Subgrid Variability: Enabling this option switches your meshing approach from the Classic scheme to Subgrid Variability mode.
- Movable Bed: Activating this option enables mobile bed modeling, allowing for erosion, deposition, and sediment transport processes to be simulated.
- Output Step [min]: Specifies the time interval (in minutes) for storing simulation results.
- From [min] and To [min]: Define the timeframe for which simulation outputs will be saved. This range is visually marked in red on the simulation timeline chart.
- Start Time [min] and End Time [min]: Define the total simulation timeframe.
- Set Simulation TimeFrame According to Flow Data: This option allows you to automatically define the simulation duration based on the inflow and boundary condition tables.
- Reset Output TimeFrame: Automatically sets the output timeframe based on the full simulation timeframe.
At the bottom of the page, a timeline chart shows the simulation timeframe, the output timeframe, and the configured flow inputs and boundary conditions, providing a clear overview of the temporal setup.

Geometry Tab #
In this tab, you define the geometric inputs required for the simulation.

- 2D Area Mesh: Select the raster representing the 2D Area Mesh. You can use the button next to this option to generate the mesh if needed.
- Infiltration Region: Select the raster Data Regions representing spatial variation in infiltration. Note: You may leave this option blank. If no map is selected, the infiltration rate will be considered zero across all cells during the simulation.
- Manning Region: Select the raster Data Regions representing spatial variation in the Manning’s roughness coefficient. Note: If no map is provided, the Manning coefficient will default to the value specified in the Manning Value field and will be applied uniformly across the domain.
- Max Froude Number: Enabling this option allows the software to control the Froude number of the flow, helping to enhance simulation stability. Research shows that assigning an appropriate Froude limit to different regions of the domain can improve both the stability and realism of the results. This value can be specified via the Manning roughness Regions. If no map is provided, the software will apply the single value set in the Max Froude Number field to the entire domain.
- Subgrid Variability Section: This section becomes active only if Subgrid Variability is enabled in the Configuration Tab.
- Terrain: You must select a high-resolution topographic map (DEM) for the region, which must have finer resolution than the 2D Area Mesh.
- Stage-Volume Relation Pace [meter]: Defines the pace used during preprocessing to extract the stage-volume relationship for each cell.
- Momentum: Enable this option to use the Subgrid Variability system for momentum calculations. Otherwise, the model will use the classic method for momentum and apply Subgrid Variability only for water surface spread in wet cells.
- Method: Specifies the method used to compute flow discharge at the cell faces.
- Flow Depth: Defines how flow depth is calculated at the faces.
- Dry Cell Face Gradient: Determines how the flow behaves when encountering a dry cell:
- If set to 0, only the higher bed elevation is used.
- If set to 1, only the lower bed elevation is used.
- Values between 0 and 1 provide a weighted interpolation. (More details will be added.)
- Stage-Area-Depth Relation Pace [meter]: Sets the step size for pre-processing the stage–area–depth relationship for faces.
Important Note: If set to zero, no pre-processing will occur and no relation will be extracted. Instead, the software will use optimized algorithms to compute the necessary values dynamically during the simulation as water levels change.
In this case, if the Terrain DEM has very fine cells in compare to the 2D Area Mesh, memory usage may increase significantly, and the computational weight will increased.
In such cases it is recommended to assign a non-zero value for this parameter to enable pre-processing. But keep in mind:- Larger values reduce computation time and memory usage but increase momentum calculation errors.
- Smaller values improve accuracy but require more memory and total Computation time.
Subgrid Computations #
By enabling the Subgrid Computations option, you can define smaller cells within the computational domain to improve simulation accuracy in specific areas. To configure this feature, first enable Subgrid Computations, then click on the Config button.
⚠️ Important: These settings depend on the resolution of the selected topographic map and the 2D Area Mesh. You must select and finalize these two maps before entering the Subgrid Computations settings.
If either map is changed afterward, the Subgrid settings must be reviewed and reconfigured accordingly.

Subgrid Computations Config #
In the Available Subgrid Computation Profiles table (top table), you can see a list of available cell sizes that can be applied to parts of the 2D computational domain. Each item in this table is called a Subgrid Computation Profile (SC Profile) and can be assigned to specific areas defined in the Subgrid Computation Domains table (bottom table).
In the Subgrid Computation Domains table (bottom), you can define regions within the 2D simulation domain by drawing polylines or polygons, and assign a desired SC Profile to reduce the cell size in those areas. By clicking the Setting button for each region, you can apply configuration settings specific to that domain.

Subgrid Computations Domain Settings #
The configuration options in this section are similar to the main domain simulation settings, with the key difference that each Subgrid Computation Domain can be configured independently.
By enabling the Independent option, you can fully decouple the subgrid domain from the main domain. This allows you to assign a different equation set, different parameters, and a separate time step to the subgrid domain.
⚠️ Note: The Independent form of Subgrid Computations is currently under development and has been included in the software as an experimental module.

Flow Data Tab #
In this tab, the initial, boundary, and internal conditions of the modeling are specified and configured. Therefore, it is composed of three internal sub-tabs as follows:
Internal Conditions #
This sub-tab is designed for specifying inflow conditions into the modeling domain. These conditions can be defined using Polyline, Polygon, or Point to apply to specific cells or areas within the computational domain.

The table provided in this tab allows you to define internal conditions for various types of inflow into the modeling domain, as outlined below:
- Flow Depth (Cell)
In this case, the inflow into the Modeling domain is defined in terms of flow depth within the cells selected using a Polyline. The specified flow depth is assigned directly to each individual cell. - Flow Depth (CS)
Here, the inflow is defined based on the flow depth across a cross-section designated by a Polyline. From the lowest elevation in the cross-section, the flow depth is considered, and the water surface elevation in each cell is calculated accordingly and applied in the model. - Water Surface Elevation
In this method, the inflow is defined based on the water surface elevation in cells identified using a Polyline. For each cell, the water depth is calculated by subtracting the cell’s bottom elevation from the specified water surface elevation, and this depth is then applied to the model. - Flow Discharge (Cell)
Here, the inflow is specified in terms of discharge (flow rate) for the cells selected by a Polyline. The provided discharge (in cubic meters per second) from the Time-Series tool is divided by the length of the drawn Polyline and then distributed evenly across the selected cells as flow rate per square meter per second. This method does not consider lateral discharge distribution across the drawn cross-section; the inflow is applied uniformly across the selected cells. - Flow Discharge (CS)
In this case, the inflow is defined based on the discharge across a cross-section identified by a Polyline. First, the water surface elevation at the selected cross-section is calculated using the specified discharge. Then, based on the resulting depth distribution across the section, the discharge distribution is computed and applied to each cell as flow rate per square meter per second. - Precipitation
This option is used for modeling rainfall with a spatially uniform distribution over computational cells (Rain on Grid). If no Shapefile is selected for this input type, the rainfall will be applied to all computational cells in the modeling domain (2D Area Mesh). - Gridded Precipitation
This method is for modeling rainfall with a spatially variable distribution over the computational domain (Rain on Grid). For more information on how to configure this setting, please refer to the Gridded Precipitation section. - Cascade Flow Depth
This method is designed for simulating cascading inflow into the modeling domain and is implemented similarly to rainfall.
You can use the Data button to enter and register time-series data for each defined internal condition. For more details on data entry, please refer to the Time-Series section.
By right-clicking on the table in this tab and selecting the “Load from file” option, you can choose the Internal Conditions used in previous simulations and import them for use in the current modeling session.
External Conditions #
This tab is designed to define boundary conditions around the modeling domain. They can be set for boundary cells by drawing polylines, polygons, or points.

In STE, to simplify the model setup and to prevent water accumulation in the downstream areas of the study region, as well as to ensure proper water outflow, normal depth boundary conditions are applied by default around the edges of the modeling domain. If water exists in the boundary cells, it will exit the domain assuming normal depth and using the slope specified by the user in the Default Friction Slope option.
When the Try to calculate friction slope using adjacent water surface slope option is enabled, the software attempts to compute the friction slope using the water surface elevation of neighboring cells. In this case, the water outflow velocity will not be uniform and will depend on upstream conditions.
To deactivate the normal depth assumption for the entire model boundary, simply uncheck the Try to calculate friction slope using adjacent water surface slope option and enter 0 as the Default Friction Slope value. Then, to define a normal depth boundary condition only for selected parts of the boundary, select the desired boundary cells using a shapefile and, in the condition type table, choose Friction Slope as the boundary type.
In the table included in this tab, you can define external conditions in various forms to allow inflow or outflow of water to/from the computational domain, including:
- Flow Depth (Cell)
In this mode, the specified flow depth is assigned to each cell. Using the bed elevation in each cell, it is converted into water surface elevation. Then, assuming a water surface elevation exists in the ghost cells (fictitious neighboring cells) at the model boundary, the amount of inflow or outflow from the computational domain is calculated. - Flow Depth (CS)
In this mode, the flow depth is considered based on the lowest elevation in the cross section. For each cell, the water surface elevation is computed based on the water depth in the cross section. Then, assuming a water surface elevation in the ghost cells at the model boundary, the inflow or outflow from the computational domain is calculated. - Water Surface Elevation
In this mode, it is assumed that the water surface elevation exists in the ghost cells at the model boundary. Based on this assumption, the inflow or outflow from the computational domain is calculated. - Flow Discharge (Cell)
Here, the inflow is specified in terms of discharge (flow rate) for the cells selected by a Polyline. The provided discharge (in cubic meters per second) from the Time-Series tool is divided by the length of the drawn Polyline and then distributed evenly across the selected cells as flow rate per square meter per second. This method does not consider lateral discharge distribution across the drawn cross-section; the inflow is applied uniformly across the selected cells. - Flow Discharge (CS)
In this case, the inflow is defined based on the discharge across a cross-section identified by a Polyline. First, the water surface elevation at the selected cross-section is calculated using the specified discharge. Then, based on the resulting depth distribution across the section, the discharge distribution is computed and applied to each cell as flow rate per square meter per second. - Friction Slope
This value is used to compute the outflow from the computational domain under normal depth conditions. For boundary cells where this option is selected, the outflow discharge is calculated by assuming a normal flow depth and applying the specified friction slope.
You can use the Data button to enter and register time-series data for each defined internal condition. For more details on data entry, please refer to the Time-Series section.
By right-clicking on the table in this tab and selecting the “Load from file” option, you can choose the External Conditions used in previous simulations and import them for use in the current modeling session.
Initial Conditions #
Using the Initial Condition [WSE] option provided in this tab, you can select a water surface elevation map as the initial condition representing the existing water status within the computational domain. For example, you can use water surface elevation maps calculated by other STEGIS tools (such as Stage-Area Relation, 1D methods, AI-based methods, etc.) to define the initial water condition in watercourses, rivers, or reservoir areas behind dams.

Time Step Control Tab #
This tab is used to configure the time step settings for the simulation.

Using the Base Time Step [Sec] option, you can define the base time step in seconds. The base time step is automatically adjusted based on the 2D area mesh, subgrid computation settings, and the selected equations.
The STE software uses a reliable algorithm to manage a variable time step throughout the simulation.
If the Fixed Time Step option is enabled, this base time step will be used as a constant time step throughout the simulation.
If the Adaptive Time Step Based on CFL option is enabled, the software will attempt to automatically adjust the time step based on the Courant–Friedrichs–Lewy (CFL) condition and the internally implemented time-stepping algorithm.
To support this, several parameters are provided for configuring the algorithm:
- You first need to specify whether flow velocity should be considered in the time step calculation, or whether it should focus solely on wave celerity.
According to the CFL condition, flow velocity is one of the key factors in determining time step size and simulation stability. Therefore, considering it can help preserve simulation stability. - Alpha (α) coefficient is directly applied to the CFL-computed time step, allowing you to increase or decrease the step size accordingly.
- Beta (β) coefficient is used when the maximum flow depth is less than 1 meter. It is applied as a power to the maximum depth in the domain. When greater than zero, it reduces the time step to prevent instabilities and lost volume issues, especially at the start of Rain on Grid simulations.
- The Max option allows you to define the maximum allowable time step by setting a multiplier on the base time step.
- Similarly, the Min option defines the minimum allowable time step using a multiplier on the base time step.
In the Scheduled Time Step Control section, you can create a time-step schedule for the simulation.
If a fixed time step is enabled, you can schedule the time step to change from time to time gradually. If the adaptive mode is used, you can schedule changes to the α coefficient throughout the simulation.
To manage the table rows, right-click on the table and use the available options to add or remove entries.
STE includes internal algorithms designed to prevent instabilities and lost volume during simulation. In the Lost Volume Control section, you can select different implementation methods and specify how much influence the correction algorithm has on the simulated results.
Two methods are currently available: Explicit and Implicit.
- In the Explicit mode, no additional computational burden is added. The Lost Volume Control Factor defines how strongly this method corrects the results. However, instabilities and lost volume may still occur.
- In the Implicit mode, computational load increases based on the Lost Volume Control Factor, but it is significantly more effective in preventing instabilities and lost volume. However, it is essential to carefully review and validate the final results when using this method.
Sediment Tab #
If the Movable Bed option is enabled in the Configuration Tab to allow modeling of erosion, deposition, and sediment transport in the 2D domain, then the sediment modeling settings will be available under the Sediment Tab.
This section contains two internal tabs for configuring sediment modeling:
Configuration #
- Use the Transport Config File option to load a pre-defined configuration for estimating sediment load. For more details, refer to the Map Layers section.
- The Start Time [Min] option specifies the time at which sediment modeling should begin. This can be used to introduce a warm-up period in the sediment simulation.
- Since sediment transport modeling may stay stable with a larger time step than the flow simulation, you can use the Time Step Multiplier option to define the sediment time step as a multiple of the flow time step.
- The Water Temperature, Kinematic Viscosity, and Relative Density options allow you to set the water temperature, kinematic viscosity, and relative density of the sediment particles, respectively.

Bed Material #
- Use the Bed Material Regions option to select the raster Data Regions that represents the spatial distribution of bed material grain sizes.
- In the Active Layer Options section, you can configure the properties of the active sediment layer used in the simulation. For more information, refer to the Movable Bed section.

Accelerator Tab #
This tab allows you to specify whether the simulation should be performed using the CPU or the GPU, and apply the necessary configurations accordingly.
- When using CPU for simulation, enabling the Multi-core Computing option allows the model to run in parallel across multiple processor cores, significantly increasing simulation speed.
- The Max Degree of Parallelism option lets you define the number of processing threads that will work concurrently.
If the value is set to Auto (Dynamic), the optimal number of parallel threads will be determined automatically based on your system’s hardware and the simulation status.
Using GPU for simulation will be available to users in upcoming versions.

Setting up Simulations using 2D Simulation Setup Wizard #
This tool is designed and developed to simplify the setup and running 2D simulations while minimizing potential user errors. It guides users step by step, providing explanations of the necessary technical concepts and requirements. At each step, the wizard collects the essential input data needed for the simulation, as outlined in this guide. Eventually, it automatically configures and opens the Simulator Tool.

Run Simulation #
Clicking on Run Simulation will initiate the simulation process and open the Hydraulic Simulation Progress Report window.

This window provides a detailed log of the simulation, including all generated files and the operations performed or currently in progress. You can configure these logging options through the Options menu within the Simulator tool.
Real-time updates are displayed during the simulation, including:
- Elapsed time since the start of the simulation
- Estimated remaining time until completion
- Number of active (wet) cells
- Maximum Flow depth in the simulation domain
- Maximum flow velocity
- Current time step size
- Current simulation time
- Total volume lost
- Total sediment lost
You can capture a snapshot of the simulation results at any given moment by clicking the “Wind up a film roll now” button. Additionally, using the PostProcess Results button and the Post-Processor tool, you can visualize and analyze results in real time during the simulation.

After the simulation is complete, a file named Statistic Log.csv is generated in the simulation output folder. This file includes detailed time-step-based statistical data, such as inflow and outflow discharge, infiltration, and more.

Furthermore, a summary report of the completed simulation is provided, which includes:
- Total runtime
- Average time step
- Number of active (wet) cells at the end of the simulation
- Maximum inflow discharge
- Maximum outflow discharge
- Initial and final water volume in the domain
- Total inflow and outflow volume
- Total water volume lost
- Overall mass balance error, calculated based on the entered, exited, and lost volumes

