Build a 2D Lake Model (Level 1 Step-by-Step Guidance)

1. Introduction

This tutorial  will guide the user in how to setup a 2D lake hydrodynamic model and run a solution for EFDC. It will cover preparation of the necessary input files for the EFDC model and visualization of the output by using the EFDC_Explorer (EE) Software.

The data used for this tutorial are from Hillsborough Water Atlas, Lake Thonotasassa, Florida, USA. All files for this tutorial are contained in the Demonstration Models of the Resources page folder file (DM-14 Lake T Hydrodynamic and WQ Model).  

Before beginning the first session, let us first introduce the main form of the EE GUI in order to better understand our explanations in this document. Figure 1 is the main form of EFDC_Explorer or EE User Interface.

Figure 1  EFDC_Explorer main form.

2. Create a New Grid

This session will guide you to create a new simple grid with EFDC_Explorer. If the user requires a more complicated grid it is recommended to use other grid generation software such as CVLGrid.

Lake Thonotosassa is located in Hillsborough County, Florida, USA and has been chosen as an the example for where to build a 2D model in EE

The gird generation process includes following steps:

1. Open EE

2. Click Generate New Model icon:  on the main menu of the EE interface. The Generate EFDC Model frame appears shown in Figure 2.

3. In Grid Type of Generate EFDC Model, the user should select Cartesian; in Grid/Element Generation Options, select Uniform Grid. The user must fill the coordinates of Lower Left, Upper Right and Delta (dimension of grid cells) as outlined below.

4. In order to obtain the coordinates of the two points Lower Left and Upper Right, the user can use Google Earth or some other GIS software. The requirement for this task is that the rectangular area defined by the two points on the map should cover the outline of the Lake Thonotosassa (see Figure 3).

Figure 2  Generate EFDC Model form.

Figure 3  Identifying Lower Left and Upper Right coordinates.

5. Table 1 the shows coordinates of Lower Left and Upper Right obtained from Google Earth.

Table 1 Lower Left and Upper Right Coordinates

Lower LeftUpper Right
Easting: 373186.00 m EEasting: 375628.00 m E
Northing: 3103086.00 m NNorthing: 3106109.00 m N

6. After entering coordinates of the two points in the Generate EFDC Model form, the user must define Delta index. (Delta is an integer number which indicates the dimension of each grid cell, Delta for Easting and Northing could be same or different. These indexes will result in number of grid cells nX and nY). nX and nY will be computed when we click on Update button.

7. In the Active Cell Polygon, browse to the outline of the model from Lake2D/Data folder. The land-boundary of the lake will be loaded here.

Figure 4  Grid generation form with input data.

8. Click the Generate button, and a dialog will pop up to display information of the grid generated. Then click OK button (see Figure 5).

Figure 5  New created grid information.

9. Save the model by selecting this button   and create a new directory (see Figure 6)

10. In case the user wants to use outline of the lake to identify coordinates of Lower Left and Upper Right, the Set to Data button should be used. When the button is clicked, the Bounding polygon will appear (see Figure 7), select the outline of the lake (data/outline.p2d) and click the Open button. The coordinates of Lower Left and Upper Right will be created automatically (see Figure 8). The next steps of grid generation process should be carried out as described from step 7.

Figure 6  Saving the model.

Figure 7  Bounding polygon form.

Figure 8  Lower Left and Upper Right coordinates created by Set to Data button.

3. Assigning the Initial Conditions

This section will guide you how to assign the initial conditions such as the bathymetry, water level and bottom roughness.

Figure 9  Assigning initial conditions.

3.1 Assigning the Initial Bathymetry

  1. Select the Domain tab | Initial Conditions & Bottom Roughness and click the Assign button. (See Figure 9).
  2. The area the user wants to assign the bathymetry data to is set by a Poly File. In this case, we browse to the model “outline.p2d”. Browse to the bathymetry data file in Data File, “bath (meters).dat”. This bathymetry file is simply an xyz format.
  3. Select the distance for Maximum distance between points
  4. After finishing option for bathymetry data import click to the Import button
  5. There are many options available to modify the data. In this case, choose Average Data | Interpolate Empty Cells. This will average any data points that lie in one particular cell and and interpolate all the cells where there is no data coverage
  6. Click to the Apply button to make your changes take effect before selecting the Done button. (See Figure 10)

Figure 10  Assigning bathymetry.

3.2 Assigning the Depth/Water Surface Elevations

This step assigns the initial depth or water surface elevations. There are two options for setting the surface water elevation, namely, Use Constant and Use Point Measurements/Gridded Data.

1. Click Assign button, select Use Constant: to assign a constant water surface elevation of 11.5 m in the Operator or Constant box. (Figure 11). (Note that if the user selected Use Point Measurements/Gridded Data then the water surface will be assigned as equal to bottom elevation plus 11.5 m at every point. A further option is for the user to assign the water depth by check box of Assign Depths Instead of Water Surface Elevations).

Figure 11  Assigning water surface elevation (use constant option).

2. After selecting this option for assigning water surface elevation, click Apply button then click Done button to finish.

4. Boundary Conditions

This section will teach you how to prepare the boundary conditions and assign them to the model cell configuration. In this Lake 2D case there are two flow boundaries; one is runoff inflow to the lake and the other is outflow through a gate. Thus, we should prepare two time series of inflow and outflow boundaries. In other cases, the number of time series for boundary conditions might be many more such as those for hydraulic structures, pressure boundaries, or include time series for temperature, salinity and water quality boundaries also.

4.1 Set Time Series

To set the boundary time series take the following steps:

1. Select the Domain | Boundary Conditions. (Figure 12)

2. Click the Edit (E) button  for Flow to edit the flow boundary. (Figure 12)

Figure 12  Assigning boundary conditions.

3. Enter the Number of Series into the box. There are two flow boundaries as mentioned so it should be “2”.

4. Give a Title for associated time series. In this case, title “outflow” for Current Series 1, and “inflow” for Current Series 2.

5. Copy and Paste time series data, “Lake2D Inflows.dat,” into the workspace corresponding to the inflow series. Figure 13 shows time series of inflow.

Figure 13  Data series: inflow.

6. Click to the Current button to view the current time series (for a case where there are multiple layers check Sum Layers to show total flow).

Figure 14  Time series plot of inflow.

7. Select the up/down arrow buttons to edit the other time series.

8. In this model we will keep inflow and outflow identical. We copy and paste the same time series data, “Lake2D Inflows.dat,” into the workspace corresponding to "Outflow". We then apply an operator to the outflow by entering “* -1” in the the operator box. This will make the values negative as shown in Figure 15.

Figure 15  Data series: outflow.

9. Click OK to finish editing the boundary time series.

After completing the above steps, the user has prepared all the required boundary time series. Now we will assign these boundary time series to the model cells. Figure 16 shows the location of inflow and outflow for this lake case. Thus, we have to assign these cells with associated time series for in/outflow prepared in previous session.


Figure 16  Locations of Inflow and Outflow for the Lake.

4.2 Assigning a Boundary Condition

In order to assign the boundary, the following steps should be taken;

1. Click the ViewPlan icon  on the main form of EE (Figure 1).

2. Choose Boundary C’s in the Viewing Opt’s .

3. Enable Edit grid by checking to  (see Figure 17)

4. Right mouse-click on the inflow location cell and select New (Figure 18)


Figure 17  Assigning boundary condition cells.

Figure 18  Right mouse-click on the inflow cell.

5. Enter the Boundary Group ID by typing “Inflow” (Figure 19)

6. Select boundary types. This depends on your current boundary type as to what selection is made. In this case, we have flow boundary so we choose number 1 (Figure 20).

7. Select the flow series associated with this inflow boundary time series from the dropdown list. Make sure that the Factor is set to “1”. Then click OK to complete.

8. Apply same process for assigning the outflow boundary cell. Figure 22 shows the boundary conditions after assigning the inflow and outflow boundaries.

Figure 19  Enter Boundary Group ID.

Figure 20  Select the Boundary Types.

Figure 21  Assign the corresponding time series.

Figure 22  Inflow and Outflow boundaries assigned.

5. Model Timing

After completing the previous sections, the user has almost completed the hydrodynamic model of a lake. This section will guide the user how to setup the model simulation time and model time steps.

1. Select Timing/ Linkage tab and Model Run Timing (Figure 23)

2. Enter duration of start/ end of the simulation. Note that the boundaries time series should always cover this simulation duration period, otherwise the model will not run.

Figure 23  Model Run Time.

Table 2 Model Run Timing.

Time of Start (Days)Number of Julian days after base date at which to start simulation.

# Reference Periods

Total simulation time as a multiple of reference periods.
Duration of Reference Period (hours)Reference period is usually 24 hours however can be set to another value if the requires.
Time Step (second)Also called Delta T, the EFDC model simulation time step.
Safety Factor0 is fixed time step, set 0< safety factor <1 to activate the dynamic time step feature.
# Ramp-Up LoopsNumber of initial iteration to hold the time step to a constant during ramp-up.
Maximum dH/dTIf >0 then it is additional criteria to determine the dynamic time step.
Beginning Date/TimeThe base date of all data and the simulation period.

3. Select the EFDC_Explorer Linkage tab and set Link EFDC Results to EFDC_Explorer and set Linkage Output Frequency to 60 minutes. This means that EFDC will record the output every 60 minutes for display of the model results in the EE. (Figure 24). Note that a smaller output frequency will create a larger output file.

Figure 24  Setting linkage output frequency.

6. Setting Wetting and Drying

In order to optimize simulation time it is recommended to apply the EFDC model’s wet and dry condition function. This means that dry cells are ignored in each hydrodyanmic calculation, though volume of water is kept to maintain mass balance. For this condition we should make the following settings:

1. Select Hydrodynamics / Wetting & Drying box

2. Set Flag equal to -99 to allow cell skipping.

3. Enter the Dry Depth and the Wet Depth. Note that the wet depth should always greater than the dry depth. (Figure 25). The hydrodynamic model is ready for running now. If the model simulation results are not satisfied then we may have to select Turbulence Options | Modify button to adjust the hydraulic parameters.

Figure 25  Hydrodynamic model setup.

4. Return to select Domain | Grid tab and enter the number of vertical layers required into the box. In this case we will set the vertical layers equal to 5 (Figure 26).

5. Save the project.

Figure 26  Setting the vertical layers.

7. Running EFDC

This section runs the EFDC model and includes following steps:

1 Select the Setting icon  on the main EE form to browse to the EFDC Executable file. (Figure 27). By default this file is in the installation folder C:\Program Files (x86)\DSI\EFDC_ExplorerXX

Figure 27  Browse to the EFDC executable file

Select the Run EFDC icon  on the main form and click the Run EFDC_DSI button to run the model (Figure 28).

Figure 28  Run EFDC Options.

If all settings are correct, the model will start running and you will see the MS-DOS Window appear showing the model results as shown in Figure 29

Note that you can press any characters on the keyboard to pause the simulation and check the model results. If you want to exit the simulation press the same key again, if you want to continue the run then press any other key.

Figure 29  EFDC run window.

8. Visualizing the EFDC Model Output

This session will teach you how to view the model simulation results. In general, selecting these three icons  on EE’s main form (Figure 1) to view the model simulation results in ViewPlan, ViewProfile or View3D, respectively.

1. Select the ViewPlan icon as .

2. Scroll drown the Viewing Opt’s to choose the parameters for which you want to view the model results. Figure 30 is an example of showing the vector and magnitude velocity field results. Similarly, you can select other parameters to show the results.

3. Right mouse-click to the legend scale to open the ViewPlan Display Options (Figure 31)

Figure 30  Visualizing the EFDC solutions.

Figure 31  ViewPlan Display Options.

There are a few main features in this form that are frequently used when analyzing model results. The detailed explanations for each icon are described in the Table 3.

Table 3  Description of Main Features in the Toolbar.

Button SymbolExplanation

To plot a time series

To plot vertical profiles

To view general statistics

To plot the longitudinal profiles

To plot the water and mass flux

To make an animation

To plot and edit a polyline

To extract X,Y or Im J points

Apply polygon selection for cell modification (Enable Edit check box need checked)

Copy cell property (Enable Edit check box need checked)

Please refer to the EE Knowledge Base for more information on EE capabilities.