In-Person EEMS Training Edmonds, WA · Sept 21–23, 2026 Register →

Simulating Desalination Intakes and Brine Discharge in EFDC+

The original withdrawal/return boundary condition in EFDC+ moved water from an intake cell to a return cell faithfully, and it always returned the full withdrawn flow with the same amount of constituent. However, when facing use cases like a desalination plant or powerplant cooling discharge, there was no way to represent the consumptive removal of product water or the rise in temperature while discharge. Modelers were left prescribing a discharge salinity or temperature by a prescribed value, which defeats the purpose when the goal is to evaluate how ambient and discharge conditions feed back into one another.

What’s new

Discharge modifiers

The withdrawal/return boundary condition now accepts a signed discharge modifier that adjusts the flow leaving the return cell.

The dissolved constituent mass taken in at the intake is preserved in full, and EFDC+ recomputes the discharge concentration automatically from that conservation. You do not prescribe the brine concentration; the model derives it.

A negative discharge modifier removes a water-only consumptive flow from the return cell, so the conserved constituent mass leaves in a smaller volume as concentrated brine.
A negative discharge modifier removes a water-only consumptive flow from the return cell, so the conserved constituent mass leaves in a smaller volume as concentrated brine.

Constant constituent modifiers

Separately, you can apply a constant offset that adds to or subtracts from the discharge concentration on a per-constituent basis. The withdrawal concentration always remains the instantaneous ambient concentration at the intake cell, regardless of the modifier. For example, an intake drawing 30 ppt water with a +10 ppt salinity modifier discharges at 40 ppt if no other discharge modifiers were set.

A constant constituent modifier applies to the discharge only. The withdrawal concentration stays at the ambient intake value, while the return concentration is offset by a fixed per-constituent amount.
A constant constituent modifier applies to the discharge only. The withdrawal concentration stays at the ambient intake value, while the return concentration is offset by a fixed per-constituent amount.

Order of operations

When both a constituent modifier and a discharge flow modifier are specified, EFDC+ applies the constituent modifier first, then adjusts the resulting discharge concentration for the change in flow.

Order of operations: the per-constituent modifier is applied first, then the discharge flow modifier adjusts the resulting concentration while conserving mass.
Order of operations: the per-constituent modifier is applied first, then the discharge flow modifier adjusts the resulting concentration while conserving mass.

Demo

To verify the enhancement, we built a test case to show the discharge modifiers in action. The domain is two identical square basins, each 10 × 10 cells of 10 m × 10 m with 11 sigma layers. The two basins are separate except for a single withdrawal/return boundary condition connecting them. The plant intake draws from the left basin; the brine discharges to the right basin.

The initial water column depths are 11 m in the left basin and 1 m in the right basin, and salinity is a uniform 30 ppt everywhere. Intake is set at 1.1574 m³/s, equivalent to 10 m/day over the basin footprint, and the simulation runs for one day at a fixed 5-second time step.

The two-basin desalination test case: depth, water elevation, and salinity for the left and right basins, with the water-surface elevation profile across the domain.
The two-basin desalination test case: depth, water elevation, and salinity for the left and right basins, with the water-surface elevation profile across the domain.

Baseline, consumptive use disabled. The boundary condition acts as a pure transfer. Over one day the withdrawn volume moves from the left basin to the right, the water elevations effectively swap, and salinity stays pinned at 30 ppt in both basins. Water and salt move without artificial gain or loss.

Baseline run with consumptive use disabled: the withdrawn volume transfers from the left basin to the right and salinity holds at 30 ppt in both basins.

With consumptive use set to half the intake. Setting the consumptive flow to 0.5787 m³/s, exactly half of the intake, leaves a brine discharge of 0.5787 m³/s. The analytical expectation is that the right basin receives half the withdrawn volume and the discharge salinity doubles from 30 ppt to 60 ppt. That is precisely what the model produces. The right basin ends the simulation at roughly 55 ppt as the 60 ppt brine mixes with the 30 ppt water already present.

Consumptive use set to half the intake: the right basin receives half the withdrawn volume and the discharge salinity doubles from 30 ppt to 60 ppt.

Where it applies

The enhancement is already supporting active desalination siting and permitting work, where it provides the mechanism for representing plant intake and brine discharge together with any recirculation between them.

The feature applies anywhere a facility takes in water, consumes part of it, and returns the rest at altered quality: power plant cooling with evaporative loss, industrial process water, irrigation diversions with return flow, and municipal supply.

A companion post walking through the boundary condition setup in the EE interface is coming next.

Questions about applying this to your project? Get in touch with us!

www.dsi.llc | www.eemodelingsystem.com

Share this post

Dam with mountains