← EFDC Insider Blog
New Features 2026

Letting Gates Decide: Dynamic Lock Exchange in EEMS

New FeaturesHydrodynamics
New FeaturesHydrodynamics

A navigation lock is a valve between two water bodies that should never mix. Every time it cycles, a chamber of one is handed to the other. At the Hiram M. Chittenden (Ballard) Locks, that means seawater from Puget Sound moving into the Lake Washington Ship Canal, the migration corridor for Chinook and steelhead fish.

How you represent that handoff in a model decides two things: what the model can show, and how much work it takes to get there.

Two ways to model a lockage

Specified flow treats the fill and drain as bookkeeping. You prescribe a volume and a schedule, and a withdrawal/return pair moves that water from point A to B. It is exact and stable, but if a lift estimate is off, the chamber opens with a head across the gate.

Dynamic exchange keeps the same gates but computes the fill and drain. Each time step, a level-balancing controller sets the withdrawal/return flow so the chamber matches the next pool by the time the gate is scheduled to open. The volume of each fill or drain is a result, set by the chamber area and the actual pool levels; you supply only the gate schedule and a fill time.

In both modes, once a gate opens, the exchange through it is computed by the hydrodynamics: dense water slides in along the bed while fresher water leaves at the surface. In the following figure a saline bay is shown on the left and a freshwater lake on the right, and the chamber cycles between the two levels.

Three stages of one downbound lockage: gates closed with the chamber at lake level, the chamber drained to bay level, and the lower gate open with fresh water leaving at the surface while salt enters along the bed.

Figure 1. One downbound lockage. Only the drain in step 2 differs between the two modes.

Three stages of one downbound lockage: gates closed with the chamber at lake level, the chamber drained to bay level, and the lower gate open with fresh water leaving at the surface while salt enters along the bed.

What each setup asks of you

In EE, both approaches start with the same lock. Each gate is represented as a Navigation Lock hydraulic structure on the cell faces where it is located and is opened and closed according to a gate time series derived from the lockage log. The difference lies in how the chamber is filled or drained while the gates are closed.

AspectSpecified flowDynamic exchange
Lockage logBuild a gate time series, then calculate the transfer volume and flow rate for each lockage.Build the gate time series only; the model determines the resulting water exchange.
Chamber water levelsComputed by the model from the prescribed flows, but the lift behind each volume is estimated by the user from tide and lake-level data.Brought to the level of the next pool before each opening.
Volume and duration per lockageCalculated and entered for each lockage.Volume emerges from chamber geometry and computed head; fill/drain time is set once per gate.
What you define in EENavigation Lock gates with their time series, plus a W/R group and flow time series for each water transfer.Navigation Lock gates with Use Dynamic Flows enabled, a fill/drain time, and a linked filling/emptying W/R group with no prescribed flow series.
Multiple chambersEach transfer is a separate W/R group and flow series, kept consistent manually.Each gate is linked to its filling/emptying W/R group, so chamber transfers follow gate operations automatically. For chambers in series, each gate’s time-control reference cell is linked to the gate immediately upstream.

Specified flow: build the flows yourself.

The gate series says when water moved, not how much. So, before anything goes into EE:

  • Estimate the lift for every lockage from the tide and lake level at that moment.
  • Turn the lift into a volume using the chamber area, then into a flow rate over an assumed fill or drain duration.
  • Build a flow time series for each fill and drain, in every chamber, set to zero whenever a gate on that side is open.
  • Set up a W/R group for each series, with its withdrawal and return cells.

Dynamic exchange: tick a box, pick a group.

Same gate dialog, same gate series. Switching it on changes three fields:

  • Use Dynamic Flows: checked
  • Time to Fill/Drain the Lock: how long filling or emptying takes
  • Withdrawal/Return Group for Filling/Emptying: the group that moves water into or out of the chamber. Its time control follows the lock’s opening and closing, so it needs no flow series.

No volumes or flow rates are entered anywhere.

The Hydraulic Structure Boundary Conditions dialog shown twice: with Use Dynamic Flows unchecked for specified flow, and checked with a fill time and withdrawal/return group set for dynamic exchange.

Figure 2. The same gate configuration tab under each approach.

The Hydraulic Structure Boundary Conditions dialog shown twice: with Use Dynamic Flows unchecked for specified flow, and checked with a fill time and withdrawal/return group set for dynamic exchange. The Withdrawal/Return Boundary Conditions dialog shown twice: controlled using time-series with its own flow series for specified flow, and controlled based on navigation lock opening and closing with no series for dynamic exchange.

Figure 3. The same W/R configuration tab under each approach.

The Withdrawal/Return Boundary Conditions dialog shown twice: controlled using time-series with its own flow series for specified flow, and controlled based on navigation lock opening and closing with no series for dynamic exchange.

Example Model: Ballard Locks

Model grid and bottom elevation from the open boundary in Shilshole Bay, through the lower, middle and upper gates, to the lake side of the Ship Canal.

Figure 4. Model grid and bottom elevation, from the open boundary in Shilshole Bay, through the locks, to the lake side of the Ship Canal.

Model grid and bottom elevation from the open boundary in Shilshole Bay, through the lower, middle and upper gates, to the lake side of the Ship Canal.

A multi-layer grid resolving the full Ship Canal from Shilshole Bay to Lake Washington. The large lock is represented as two chambers in series, with the small lock alongside, plus the spillway and fish ladder.

Over a run of several months, the lockage record holds hundreds of events for each chamber. Under specified flow, every one of them becomes a row in a flow series that someone has to derive before the model can start. Under dynamic exchange, the gate time series already in the model was enough.

The snapshots below come from the dynamic run. Saltier water from the bay fills the downstream canal and reaches into the lower chamber, while the lake side of the upper gate stays fresh. Temperature follows the same boundary. None of this exchange was prescribed: it comes from the gates opening and closing on their time series, with the model working out the flows.

Depth-averaged salinity around the locks, with saline water from the bay reaching the lower chamber and fresh water on the lake side of the upper gate.

Figure 5. Depth-averaged salinity around the locks under dynamic exchange.

Depth-averaged salinity around the locks, with saline water from the bay reaching the lower chamber and fresh water on the lake side of the upper gate. Depth-averaged temperature around the locks at the same time step, following the same boundary as the salinity field.

Figure 6. Depth-averaged temperature at the same time step.

Depth-averaged temperature around the locks at the same time step, following the same boundary as the salinity field.

A vertical slice along the locks is shown in the following animation, the exchange plays out the way Figure 1 sketches it. Each time a gate opens, salty water slides into the chamber along the bed while fresher water spreads out over the top. Some of that salt carries on past the lake-side gate and settles into the deeper channel beyond it.

Animation 1. Salinity along a vertical slice through the locks as the gates cycle.

Conclusion

Specified-flow option can be applied for short runs with a known, measured lockage volume record; reproducing an existing study. Dynamic-flow option is appropriate for long runs, scenarios (sea-level rise, changed schedules), and multi-chamber locks.

The simpler setup also allows the lock to behave as a lock should, with chamber levels following the actual pool levels instead of hand-estimated lifts. By minimizing manually prescribed inputs, it also reduces the potential for user-induced errors.

Talk To The Experts

Mehrzad Shahidzadehasadi

Water Resources Engineer

Share this post

Dam with mountains