Hello, I would like to know how to perform a near and far field modeling with OpenFlow Flood of the brine discharge (coming from a desalination plant) in the sea.
A brine discharge can be simulated by OpenFlows FLOOD. To do it you'll need to setup a 3D hydrodynamic simulation by creating a new domain using MOHID Water numerical engine (see more information here). Then create a new simulation.
Being a 3D simulation, the setup of the model will greatly depend on the area you're trying to simulate and the processes governing hydrodynamic circulation in that area. For simulation brine discharges, where buoyancy plays a decisive role, your model should be setup to simulate tide and 3D wind and density driven currents. This is required as the initial dilution and shape of brine plume will depend directly from it.
So you'll require realistic initial and boundary conditions for water level, currents, temperature and salinity. For water elevations at the open boundary you can use a global tide solution as described here. For the currents, temperature and salinity it depends on the area you're simulating, but using a global/regional circulation solution (EU Marine Copernicus, NOAA; etc) is rtypically recommended. The use of nested models methodology may be required when doing this type of applications. For 3D applications the use of an appropriate treatment of vertical turbulence is of extreme importance, so you'll need to activate module GOTM your simulation. Also the vertical resolution of your model must be adequate to be able to represent the vertical density gradients especially near the bottom, as the brine plume will be transported near the bottom.
As this is a complex simulation (not related with tide) FLOOD user interface for configuring each module does not contain all the necessary options, so you'll need to use the text editor to setup each module. To do this follow the instructions here.
Once you have your 3D hydrodynamic simulation implemented and validated, you can then setup the brine discharge. There are several ways of doing it depending on the characteristics of the discharge. Is the brine discharge made via a submarine outfall or a surface discharge? If it's a submarine outfall you will want to activate module Lagrangian which simulates using particle tracking methods the dispersion of the plume (in the near field and far field). In the Lagrangian module input file. you can specify specific commands to compute the near field namely COMPUTE_PLUME : 1 and the path to the submarine outfall configuration file (JET_DATA_FILE : ..\General Data\Outfall\Outfall.dat) where you define parameters such as outfall length, position and orientation, number of ports and orientation, etc. You'll need to specify the characteristics of the discharge (flow, temperature and salinity). Then run the simulation and check the outputs from the near field model (dilution, shape and position of the equilibrium point of the plume in the far field, etc). You can then use the Eulerian transport module (Water Properties and DIscharges module) to configure your discharge in the far field. This is required as it is a negatively buoyant plume
I understand this is a very generic answer to your question. If you provide more details regarding the type of application you're trying to do I'll be glad to help.
I am very grateful for your help, I am working on my undergraduate thesis and I must carry out an applied case of modeling a brine plume in the sea, effectively it is the discharge through an underwater outfall, I am seeing if it is in the north or center of Chile. Soon I will ask questions since all this modeling is new for me, I studied transport phenomena for months to understand.Thank you!
I was reviewing some youtube videos and to create the domain, several photos must be uploaded to the Digital Terrain Model section, these photos correspond to the place where I want to model? should I upload many photos of the same place? Beforehand thank you very much
Could you clarify what you mean about photos?
To create a digital terrain model, for your specific case which is a coastal application, you'll need bathymetry data (xyz, raster, shapefile, etc).
You can find detailed information about constructing a digital terrain model here.
Hi Luis! , Thank you very much for your answers, you have been very helpful.I had a doubt regarding OpenFlows Flood, the software can simulate both the near field and the far field? If yes, should I calibrate and validate each field separately?. Where could I find information on input parameters to calibrate and how to do it? In advance, thank you very much!
Yes, OpenFlows FLOOD can simulate the near field and far field, but for brine discharges you'll probably need to use a different approach. As I mentioned before the methodology depends on the characteristics of the discharge, specially if the outflow is very high.
One of the most common ways to simulate a brine discharge (with negative buoyancy), would be to simulate the near field (using Lagrangian/Jet modules) to calculate the initial dilution and shape/position of the plume and output the results. Then run a 3D high resolution simulation (with thin vertical layers near the bottom) using that information and determine the far field using an Eulerian approach.
Regarding the input parameters, you would need to setup the Jet options (near-field) inside the Lagrangian module setup. Keep in mind that you first need to setup a high resolution model in near the submarine outfall to get the 3D velocity and density fields, as I've mentioned in an earlier answer. Then setup a simulation with the Lagrangian module. when you do this a sample Lagrangian file is added to your simulation, where you can specify the discharge parameters (e.g. position, type of emission, flow, etc). Below an example
ORIGIN_NAME : Brine discharge
EMISSION_SPATIAL : Point
EMISSION_TEMPORAL : Continuous
MOVEMENT : SullivanAllen
VARVELHX : 0.2
VARVELH : 0.05
TURB_V : Constant
VARVELVX : 0.02
VARVELV : 0.005
DT_EMIT : 60 !emission frequency, e.g. every 60 seconds
NBR_PARTIC : 10 !number of particles emitted in each emission
FLOW : 0.5 !flow in m3/s
Still inside the block <BeginOrigin>/<EndOrigin>.you'll need to define the submarine outfall parameters by adding the following keywords that respectively
COMPUTE_PLUME : 1 !run near field model (0/1)
JET_DATA_FILE : ..\General Data\Outfall\Outfall.dat !path to the outfall characteristics
JET_DT : 600. !run near field model every 600 seconds
Then inside the file defined by the JET_DATA_FILE keyword, add the following keywords:
PORT_DIAMETER : 0.1 -> Diameter of each port (m)
PORT_BOTTOM_DISTANCE : 0.5 -> Port distance from the bottom (m)
PORT_ANGLE_XY : 90 -> Port horizontal angle (º)*
PORT_ANGLE_HZ : 0 -> Port vertical angle (º)**
OUTFALL_LENGTH : 100 -> Outfall length (m)
OUTFALL_ANGLE : 180 -> Outfall angle (º)*
PORTS_NUMBER : 50 -> Number of ports
*Angle with XX axis (0º = East, 90º = North)
** Angle with bottom (0º = parallel to bottom, 90º = perpendicular to bottom)
Don't forget that in the Lagrangian origin you must also define the salinity and temperature of the discharge by adding the following blocks inside the <BeginOrigin>/<EndOrigin> block:
NAME : temperature
UNITS : degC
CONCENTRATION : 21
NAME : salinity
UNITS : psu
CONCENTRATION : 72
Then run the simulation and a results file will be written in the "res" folder of your domain. The name of the file is the name of the origin with an extension ".jet". The output file contains the initial dilution, and position of the plume and concentration in the equilibrium with ambient water. You can then use this information to set an eulerian discharge and run a simulation for the far field and analyze the plume dispersion.
I know this is a rather extensive answer and still probably very incomplete, but it contains most of the information necessary to start. Please let me know if you have any additional questions.