Using Boundary condition in Delft3d model  DFlow Flexible Mesh  Delft3D
intro story DFlow FM
DFlow Flexible MeshDFlow Flexible Mesh (DFlow FM) is the new software engine for hydrodynamical simulations on unstructured grids in 1D2D3D. Together with the familiar curvilinear meshes from Delft3D 4, the unstructured grid can consist of triangles, pentagons (etc.) and 1D channel networks, all in one single mesh. It combines proven technology from the hydrodynamic engines of Delft3D 4 and SOBEK 2 and adds flexible administration, resulting in:
An overview of the current developments can be found here. The DFlow FM  team would be delighted if you would participate in discussions on the generation of meshes, the specification of boundary conditions, the running of computations, and all kinds of other relevant topics. Feel free to share your smart questions and/or brilliant solutions!
=======================================================  Sub groups

Message Boards
Using Boundary condition in Delft3d model
MC
Michael Clarke, modified 9 Years ago.
Using Boundary condition in Delft3d model
Youngling Posts: 5 Join Date: 11/11/11 Recent Posts 00
Hi All,
I am a new user of Delft3D flow. I am using Delft3d model to simulate salinity, temperature and flow in an estuary. I have created a grid for delft3d and assigned bathymetry. However, I have problem with boundary conditions. For the river flows, I have time series of discharge and for the open boundaries i.e where the flow interaction takes place, I have time series of water surface elevation. It seems we can use harmonic and astronomic boundaries. I don't know how to use the harmonic boundary condition. Can anyone give me some directions from where I can start ?
What is the best boundary condition to use as open boundary especially at the locations where there is an interaction with sea/ocean. Right now I am using time series of water level. I don't know whether it is the best boundary to use. I have 3 open boundaries and in all of these boundaries I have used time series of water level. For the river flows, I have used time series of total discharge.
In total discharge, when I look at the boundary file in an editor I see there are three columns in all the boundary series. When I put some value from the GUI then only second column is filled. The third column is empty. How are we supposed to arrange the data ? Another confusion in my mind is how to assign boundary when we have 1 layer or 4 layers. Suppose I have 1 layer at first and then run the model. Then I want my model to have 4 layers. Then how does the boundary data change for 1 layer and 4 layers ? Do I have to divide the flow by 4 if I am using 4 layers ? It is little confusing.
Thank you so much.
Michael
I am a new user of Delft3D flow. I am using Delft3d model to simulate salinity, temperature and flow in an estuary. I have created a grid for delft3d and assigned bathymetry. However, I have problem with boundary conditions. For the river flows, I have time series of discharge and for the open boundaries i.e where the flow interaction takes place, I have time series of water surface elevation. It seems we can use harmonic and astronomic boundaries. I don't know how to use the harmonic boundary condition. Can anyone give me some directions from where I can start ?
What is the best boundary condition to use as open boundary especially at the locations where there is an interaction with sea/ocean. Right now I am using time series of water level. I don't know whether it is the best boundary to use. I have 3 open boundaries and in all of these boundaries I have used time series of water level. For the river flows, I have used time series of total discharge.
In total discharge, when I look at the boundary file in an editor I see there are three columns in all the boundary series. When I put some value from the GUI then only second column is filled. The third column is empty. How are we supposed to arrange the data ? Another confusion in my mind is how to assign boundary when we have 1 layer or 4 layers. Suppose I have 1 layer at first and then run the model. Then I want my model to have 4 layers. Then how does the boundary data change for 1 layer and 4 layers ? Do I have to divide the flow by 4 if I am using 4 layers ? It is little confusing.
Thank you so much.
Michael
Bert Jagers, modified 9 Years ago.
RE: Using Boundary condition in Delft3d model
Jedi Knight Posts: 201 Join Date: 12/22/10 Recent Posts 30
Hi Michael,
The combination of upstream river discharge and downstream water level boundaries is a good combination to start with. You can indeed use harmonic and astronomic forcing at open boundaries, but you can also use timeseries forcing matching the data that you have. The harmonic forcing is easier for schematic models with simple periodic forcing along the open boundaries; you can also obtain the harmonic coefficients for a real life application by doing a Fourier analysis of the measurement data. However, for real world applications it's often better to do a tidal analysis and use astronomic boundaries. When a tidal analysis is performed well using a long enough time series, this will exclude any sea level anomaly caused by regional or remote storms. If you don't have any measurement data, you may also be able to find online resources for astronomical constituents.
I'm somewhat confused by the fact that you state that you have 3 open boundaries (all of which are forced using water level time series) and one total discharge for the river. In general we would say that you have 4 open boundaries of which 1 represents the upstream river inflow (by means of a total discharge boundary) and 3 represent the downstream sea area (which you force now using water levels). I assume that the 3 downstream boundaries are forming one alongshore boundary and two crossshore boundaries as indicated below.
The water level boundary condition is the most practical and is thus used often. However, in general the water level will vary spatially and if you don't include that variability, the prescribed water level boundary conditions may not match the characteristic dynamics of the system (e.g. time delays due to tidal wave propagation missing). Such deviations may result in spurious flows especially in the corners where the open boundaries meet. If you encounter such problems, you can try to solve them by replacing the boundary condition at WL1 and WL3 by Neumann boundaries, i.e. water level slope boundaries rather than absolute water level. You may try setting the water level slopes to 0 if there is not a significant alongshore current.
If you use timeseries forcing for other types of boundary conditions (like the downstream water level boundaries), then you'll see that all three columns are filled representing time (1st column), value at first end of open boundary line (2nd column; referred to as BEGIN or A value) and value at second end of open boundary line (3rd column; referred to as END or B value). For water level, velocity, discharge, etc. boundaries it makes sense to distinguish between values at both ends of the open boundary (intermediate values will be obtained by linear interpolation). For a TOTAL discharge boundary, one cannot distinguish between the total discharge at the left bank and the right bank: there is only one total discharge. To avoid unnecessary code complexity we have kept the three column file format for total discharges as well; the values in the 3rd column are dummy values that will not be used in the simulation.
For water level (and Neumann water level slope) boundaries there is no difference between the 1 and 4 layer case; when changing the number of layers, the FLOWGUI will keep the forcings of the water level boundaries. For the total discharge boundary there is also little difference: for a 3D model you still have to specify only one value, but you have to specify whether a uniform or logarithmic velocity profile should be imposed. For a regular discharge per cell or velocity boundary, you can decide for yourself whether you want to specify one value (at both BEGIN and END of boundary) and assume a uniform or logarithmic profile, or specify a separate value for each layer (at both BEGIN and END of boundary).
I hope this helps,
Bert
For the river flows, I have time series of discharge and for the open boundaries i.e where the flow interaction takes place, I have time series of water surface elevation. It seems we can use harmonic and astronomic boundaries. I don't know how to use the harmonic boundary condition. Can anyone give me some directions from where I can start ?
The combination of upstream river discharge and downstream water level boundaries is a good combination to start with. You can indeed use harmonic and astronomic forcing at open boundaries, but you can also use timeseries forcing matching the data that you have. The harmonic forcing is easier for schematic models with simple periodic forcing along the open boundaries; you can also obtain the harmonic coefficients for a real life application by doing a Fourier analysis of the measurement data. However, for real world applications it's often better to do a tidal analysis and use astronomic boundaries. When a tidal analysis is performed well using a long enough time series, this will exclude any sea level anomaly caused by regional or remote storms. If you don't have any measurement data, you may also be able to find online resources for astronomical constituents.
What is the best boundary condition to use as open boundary especially at the locations where there is an interaction with sea/ocean. Right now I am using time series of water level. I don't know whether it is the best boundary to use. I have 3 open boundaries and in all of these boundaries I have used time series of water level. For the river flows, I have used time series of total discharge.
I'm somewhat confused by the fact that you state that you have 3 open boundaries (all of which are forced using water level time series) and one total discharge for the river. In general we would say that you have 4 open boundaries of which 1 represents the upstream river inflow (by means of a total discharge boundary) and 3 represent the downstream sea area (which you force now using water levels). I assume that the 3 downstream boundaries are forming one alongshore boundary and two crossshore boundaries as indicated below.
WL1  
  
   
   
=============   
Q >   WL2  
=============   
   
   
  
WL3 
The water level boundary condition is the most practical and is thus used often. However, in general the water level will vary spatially and if you don't include that variability, the prescribed water level boundary conditions may not match the characteristic dynamics of the system (e.g. time delays due to tidal wave propagation missing). Such deviations may result in spurious flows especially in the corners where the open boundaries meet. If you encounter such problems, you can try to solve them by replacing the boundary condition at WL1 and WL3 by Neumann boundaries, i.e. water level slope boundaries rather than absolute water level. You may try setting the water level slopes to 0 if there is not a significant alongshore current.
In total discharge, when I look at the boundary file in an editor I see there are three columns in all the boundary series. When I put some value from the GUI then only second column is filled. The third column is empty. How are we supposed to arrange the data ?
If you use timeseries forcing for other types of boundary conditions (like the downstream water level boundaries), then you'll see that all three columns are filled representing time (1st column), value at first end of open boundary line (2nd column; referred to as BEGIN or A value) and value at second end of open boundary line (3rd column; referred to as END or B value). For water level, velocity, discharge, etc. boundaries it makes sense to distinguish between values at both ends of the open boundary (intermediate values will be obtained by linear interpolation). For a TOTAL discharge boundary, one cannot distinguish between the total discharge at the left bank and the right bank: there is only one total discharge. To avoid unnecessary code complexity we have kept the three column file format for total discharges as well; the values in the 3rd column are dummy values that will not be used in the simulation.
Another confusion in my mind is how to assign boundary when we have 1 layer or 4 layers. Suppose I have 1 layer at first and then run the model. Then I want my model to have 4 layers. Then how does the boundary data change for 1 layer and 4 layers ? Do I have to divide the flow by 4 if I am using 4 layers ? It is little confusing.
For water level (and Neumann water level slope) boundaries there is no difference between the 1 and 4 layer case; when changing the number of layers, the FLOWGUI will keep the forcings of the water level boundaries. For the total discharge boundary there is also little difference: for a 3D model you still have to specify only one value, but you have to specify whether a uniform or logarithmic velocity profile should be imposed. For a regular discharge per cell or velocity boundary, you can decide for yourself whether you want to specify one value (at both BEGIN and END of boundary) and assume a uniform or logarithmic profile, or specify a separate value for each layer (at both BEGIN and END of boundary).
I hope this helps,
Bert
MC
Michael Clarke, modified 9 Years ago.
RE: Using Boundary condition in Delft3d model
Youngling Posts: 5 Join Date: 11/11/11 Recent Posts 00
Dear Bert ,
Thank you so much for your detailed explanation.
I have one question about boundaries WL1 and WL3 in the figure you created. I have the water surface elevation data for WL2 so I am planning to use time series of water level for WL2. I am not sure what do I put for WL1 and WL3. If I want to use the time series boundary condition on these also, what type of data do we use ? I have used EFDC before but haven't used this model. SO I am feeling little difficult.
Thanks.
Michael
Thank you so much for your detailed explanation.
I have one question about boundaries WL1 and WL3 in the figure you created. I have the water surface elevation data for WL2 so I am planning to use time series of water level for WL2. I am not sure what do I put for WL1 and WL3. If I want to use the time series boundary condition on these also, what type of data do we use ? I have used EFDC before but haven't used this model. SO I am feeling little difficult.
Thanks.
Michael
NB
Nophi Biton, modified 6 Years ago.
RE: Using Boundary condition in Delft3d model
Padawan Posts: 38 Join Date: 8/1/13 Recent Posts 10
Hi Clarke,
Have you resolved this problem?? I have same problem as you though I am using a nested model thus the value of the time series on the boundary conditions came from the overall model.
Now I am confused what appropriate boundary type to be used if nested model is to be used, is it still Neuman for WL1 and WL3 and WL2 as absolute water level?
my detailed model is something like that drawn by Bert but instead of river its a land area.
I have used a neumann for WL1 and WL3 but the results are bit weird. Please guide me on what appropriate boundary condition I must use.
Have you resolved this problem?? I have same problem as you though I am using a nested model thus the value of the time series on the boundary conditions came from the overall model.
Now I am confused what appropriate boundary type to be used if nested model is to be used, is it still Neuman for WL1 and WL3 and WL2 as absolute water level?
my detailed model is something like that drawn by Bert but instead of river its a land area.
I have used a neumann for WL1 and WL3 but the results are bit weird. Please guide me on what appropriate boundary condition I must use.
VT
VIRGINIA TORDABLE, modified 6 Years ago.
RE: Using Boundary condition in Delft3d model
Youngling Posts: 12 Join Date: 11/26/13 Recent Posts 00
Hi Bert,
Great explanation!
I have a similar case to this.
Well, I have a great area with 2 open boundaries (north and south). My boundary condition are water level in both (east and west are close boundaries).
I run the model and it works perfectly.
Now I change since a 2D model to a 3D model, and it keeps working.
But now I want to introduce salinity and temperature (.bcc). I introduce the condition by a vertical profile per layer specified but when I run this model it doesn't work.
Could your help me??
Thanks in advance.
Great explanation!
I have a similar case to this.
Well, I have a great area with 2 open boundaries (north and south). My boundary condition are water level in both (east and west are close boundaries).
I run the model and it works perfectly.
Now I change since a 2D model to a 3D model, and it keeps working.
But now I want to introduce salinity and temperature (.bcc). I introduce the condition by a vertical profile per layer specified but when I run this model it doesn't work.
Could your help me??
Thanks in advance.
Fernando Barreto, modified 6 Years ago.
RE: Using Boundary condition in Delft3d model
Padawan Posts: 74 Join Date: 6/21/12 Recent Posts 00
Can you attach your model?
VT
VIRGINIA TORDABLE, modified 6 Years ago.
RE: Using Boundary condition in Delft3d model
Youngling Posts: 12 Join Date: 11/26/13 Recent Posts 00
For sure!
Well, today I've tried to run the model again, and even if I don't put any transport, only 3D, the model doesn't work.
I attach the last test (2D and 3D)
Thanks so much!
Any help is good!!
Well, today I've tried to run the model again, and even if I don't put any transport, only 3D, the model doesn't work.
I attach the last test (2D and 3D)
Thanks so much!
Any help is good!!
Fernando Barreto, modified 6 Years ago.
RE: Using Boundary condition in Delft3d model
Padawan Posts: 74 Join Date: 6/21/12 Recent Posts 00
Virginia,
I run your 3d case, and I only found one error, that is, the name of .dep file in mdf and in the exec directory is different. Another thing that you might change are the times in .bct and .bcc, they are different. Put then equal and starting in Tstart = 3.0000000e+001.
Regards,
Fernando Barreto
I run your 3d case, and I only found one error, that is, the name of .dep file in mdf and in the exec directory is different. Another thing that you might change are the times in .bct and .bcc, they are different. Put then equal and starting in Tstart = 3.0000000e+001.
Regards,
Fernando Barreto
VT
VIRGINIA TORDABLE, modified 6 Years ago.
RE: Using Boundary condition in Delft3d model
Youngling Posts: 12 Join Date: 11/26/13 Recent Posts 00
Hi Fernando,
Sorry about that. I've done so many test that maybe I didn't send you the last test. I'm going to check it.
I'm going to try to do it again and if I have the same error I'll send you the last test.
Thanks in advance
Sorry about that. I've done so many test that maybe I didn't send you the last test. I'm going to check it.
I'm going to try to do it again and if I have the same error I'll send you the last test.
Thanks in advance
VT
VIRGINIA TORDABLE, modified 6 Years ago.
RE: Using Boundary condition in Delft3d model
Youngling Posts: 12 Join Date: 11/26/13 Recent Posts 00
ok!
I Know what happenes! I tried to run the model without salinity and temperature, only low condition and 3 layers, it didn't work.
I change the bathymetry and I forgot to send you the last one.
I attach 2 models:
 grosera_3layers (the model has only flow conditions and 3 layer)
 grosera_ST (the model has flow condition and transport condition)
thanks again
I Know what happenes! I tried to run the model without salinity and temperature, only low condition and 3 layers, it didn't work.
I change the bathymetry and I forgot to send you the last one.
I attach 2 models:
 grosera_3layers (the model has only flow conditions and 3 layer)
 grosera_ST (the model has flow condition and transport condition)
thanks again
Attachments:
Adri Mourits, modified 6 Years ago.
RE: Using Boundary condition in Delft3d model
Yoda Posts: 1221 Join Date: 1/3/11 Recent Posts 00
Hi Virginia,
Both models start to calculate without problems. During initialization, step "Part II  Creating intermediate files..." may take a few minutes(!) due to the large bctfile.
Regards,
Adri
Both models start to calculate without problems. During initialization, step "Part II  Creating intermediate files..." may take a few minutes(!) due to the large bctfile.
Regards,
Adri