Tutorial M03 Archive
USEFUL LINKS | ||
Wiki Links | Help | Downloads |
TUFLOW FV Wiki Main Page | Products Support/Contact | TUFLOW FV Downloads |
TUFLOW FV Tutorials | Requesting a Licence | Tutorial Module Data |
TUFLOW Classic/HPC Wiki | TUFLOW FV Glossary | Manuals |
Tutorial Description
The following example demonstrates the development of a floodplain model with a tidal outlet. The example includes the following features, progressively increasing the complexity of the floodplain model:
- Basic Hydrodynamic Model (Standard, Isodate)
- Hydraulic Structure Modelling (Weir, Bridge, Culvert)
- Advection Dispersion Modelling (Salinity, Temperature, Heat, Tracer)
Please note: This tutorial has been created using SMS version 13.2.0. If using a different version of SMS some of the dialogue boxes and screen shots may change slightly however the overall workflow should be similar. If you run into any problems or need help please contact support@tuflow.com
Tutorial Data
Download the Tutorial Module 3 Data Package.
The following datasets will be used during this tutorial:
- Aerial photography (orthophoto.jpg)
- SMS 2dm geometry data (FMA2_FV01.2dm)
- Boundary condition data, in comma separated variable format (.csv)
- GIS data representing various breaklines and fill polygons within the model domain
These datasets are contained within the folder titled Module_Data. Complete versions of the model have also been provided within the folder Complete_Model.
Basic Model Setup
Initialise Projection
In the data package we have provided a TUFLOW FV folder structure. Please use it as a starting point for this tutorial.
Open SMS and initialise the project projection.
Select the following:
- Horizontal- No Projection and units = Meters,
- Vertical- units = Meters
Aerial Imagery
Aerial imagery has been pre-registered to the project projection for this tutorial, open Module_Data\APH\orthophoto.jpg in SMS.
Note: For more information on georeferences images in SMS please refer to this SMS Help Page.
Module Data
Copy across the following files from the Module_Data directory:
- All the files from the Module_Data\Boundary_Conditions directory to the .\TUFLOWFV\bc_dbase\ folder,
- All the files from the Module_Data\Geometry\MESH directory to the .\TUFLOWFV\model\geo\ folder,
- All the files that start with 2d*, from the Module_Data\Geometry\GIS directory to the .\TUFLOWFV\model\gis\ folder.
Then proceed to complete the following steps:
- Create the folder .\TUFLOWFV\model\struct\ and copy across all the files from the Module_Data\Geometry\STRUCT directory,
- Create the folder .\TUFLOWFV\model\csv\ and copy across all the files from the Module_Data\Geometry\CSV directory,
- Create the folder .\TUFLOWFV\model\grid\ and copy across all the files from the Module_Data\Geometry\GRID directory.
Model Mesh
Open FMA2_FV01.2dm from the TUFLOWFV\model\geo folder in project directory using SMS.
This geometry file is a pre-processed mesh, containing element definitions, elevation data, landuse data and external boundary condition location information. The map, landuse and DEM datasets that were used to create this mesh are provided within the tutorial module dataset folder (FMA2_FV01.map, FMA2_FV01.materials and DEM_5m.asc).
FVC Updates
Using a text editor, create an fvc file called FMA2_Mesh_001.fvc within the TUFLOWFV\runs folder. The control file should include the syntax commands listed on the lefthand side of the following table. This model simulation will be used to test the quality of the model mesh. The results will inform if mesh optimisation is required, and if so, where.
! TUFLOW FV TUTORIAL | The first 2 lines are a description of the model simulation. You may also wish to include the initials of the modeller, etc. |
! Floodplain Model – Mesh Optimisation | |
Tutorial Model == ON | Enables licence free modelling. |
! GENERAL PARAMETERS | The default friction approach, Manning’s number will be used as the bottom drag model |
Bottom Drag Model == Manning
| |
! TIME COMMANDS | The time commands include the time format (Hours). Start and end times. The CFL limit is 1.0 (default value – TUFLOW FV then assigns a timestep at each computational step according to the CFL limit and also between the ranges specified in the timestep limits. |
Time Format == Hours | |
Start Time == 0.0 | |
End Time == 12.0 | |
CFL == 1.0 | |
Timestep Limits == 0.01, 5.
| |
! MODEL PARAMETERS | The model parameters are those that control various physical and numerical processes.
A Smagorinsky eddy viscosity approach has been specified, with a Smagorinsky factor of 0.5. |
momentum mixing model == Smagorinsky | |
global horizontal eddy viscosity == 0.5 | |
global horizontal eddy viscosity limits == 0.05, 99999. | |
! GEOMETRY | The model geometry is the 2dm created for this tutorial module. This 2dm file example defines the mesh/element configuration, topography/bathymetry data, material/landuse definition and external boundary condition locations. |
Geometry 2D == ..\model\geo\FMA2_FV01.2dm
| |
! MATERIAL PROPERTIES | Nine material types have been specified, each corresponding to a unique manning n value. These include
1 = River 2 = Creek 3 = Vegetated Dunes 4 = Pasture 5 = Medium Vegetation 6 = Rural 7 = Crops 8 = Dense Vegetation 9 = Dense Urban |
material == 1 | |
bottom roughness == 0.02 | |
end material | |
material == 2 | |
bottom roughness == 0.04 | |
end material | |
material == 3,4 | |
bottom roughness == 0.05 | |
end material | |
material == 5,6,7 | |
bottom roughness == 0.07 | |
end material | |
material == 8 | |
bottom roughness == 0.1 | |
end material | |
material == 9 | |
bottom roughness == 0.2 | |
end material
| |
! INITIAL CONDITIONS | The initial internal model boundary conditions |
Initial Water Level == 1.93
| |
! BOUNDARY CONDITIONS | The boundary conditions link the csv files containing the water level information along the external boundaries to the model. Two flow (Q) and water level (WL) boundaries are specified. |
bc == Q, 1, ..\bc_dbase\inflows.csv | |
bc header == Time,Main_Inflow | |
end bc | |
bc == WL, 2, ..\bc_dbase\tide.csv | |
bc header == Time,level | |
end bc | |
bc == Q, 3, ..\bc_dbase\inflows.csv | |
bc header == Time,Tributary_Inflow | |
end bc | |
bc == WL, 4, ..\bc_dbase\tide.csv | |
bc header == Time,level | |
end bc
| |
! OUTPUT COMMANDS | In this instance, a datv format file is specified. This format is easily read into SMS for viewing. The h, d and v mean that outputs files containing water level, depth and velocity will be created. |
output dir == ..\results\ | |
output == datv | |
output parameters == h,v,d | |
output interval == 900 | |
end output
| |
! USER SPECIFIED COMMANDS | This command means internal and external timesteps are similarly restrictive. This is recommended for floodplain modelling. |
modesplit == 0 |
Mesh Review Simulation
Run the recently created FMA2_Mesh_001.fvc model. Please refer to Running TUFLOW FV for a detailed description of the various methods for running a TUFLOW simulation.
Reviewing Mesh Performance
Before making further updates to the model we will review the quality of our mesh based on the results of FMA2_Mesh_001.fvc
TUFLOW FV is an adaptive timestepping model. The program will automatically calculate an appropriate timestep to achieve a stable solution based on Courant-Friedrichs-Lewy criteria (CFL parameter). This makes TUFLOW FV extremely stable, there is however the risk that a poorly configured mesh will result in small timesteps and longer than necessary simulations times. This typically occurs where unplanned small cells have been created in deep water locations.
We will review the FMA2_Mesh_001.fvc simulation timestep results in SMS to identify the cells which are driving the timestep selection. Open TUFLOWFV\runs\log\FMA2_Mesh_001_ext_cfl_dt.csv in Excel.
- Select the result data cells within Excel
- Sort the data (Data >> Sort). Select cfl_dt_min and Smallest to Largest
The sorted data shows four cell faces with a value less than 0.3 seconds. These cell faces will be setting the timestep for the entire model. Modifying the mesh in these locations will mean the simulation can run at a 0.6 second timestep, in effect making the model run twice as fast. We can review the location of these timestep limiting cell faces using SMS.
Open TUFLOWFV\runs\log\FMA2_Mesh_001_ext_cfl_dt.csv in SMS. When prompted for a format to open the file, select “Use Import Wizard”.
This wizard can be used to import a large variety of data into SMS. In this case the file is in a comma separated value (.csv) format. In the file import options select “Delimited” and select comma as the delimiter.
Turn off "triangulate data" and using the dropboxes set:
- ctrd_x = X
- ctrd_Y = Y
- dt_min (minimum timestep) = Z
Select “Finish” to open the data. There will be a new scatter dataset created.
In the display options set the points to be visible, and select “Use contour colour scheme”.
In the contour options, set the contour range to highlight the cells with a small timestep:
The timesteps should now appear as a series of points, as per the image below. These results can be used to identify the cells that are limiting the model timestep. In this case a thin unintended sliver of a cell in the deep water area offshore from the river entrance is limiting the timestep for the entire model.
Merging this cell with it's neighbouring cell will fix the mesh and double the simulation speed of this model.
To merge the cell, firstly ensure the FMA2_mesh01 layer is selected. Using the Select Element tool (), hold down the "shift" button and click on each of the three elements. All three elements should now be highlighted.
These elements can now be deleted by right-clicking and selecting the "remove" option. When prompted, confirm to delete the selected elements.
To repair the hole that is now in the mesh, select the Create Linear Quad tool (). Click on a corner node to begin creating the quadrilateral. Click on an adjacent node to begin constructing the quadrilateral. The side created will appear in red, as shown below. Continue to click adjacent nodes until the constructed quadrilateral has filled the hole in the mesh.
To verify that the topography of the created quadrilateral aligns with the rest of the mesh, open Display Options under the "Display" tab. For the 2D Mesh, click on the "Contours" tab, and check the box to "Specify a range". Set the minimum value to -12.0 and the maximum values to 0.0. This will facilitate easy identification of anomalies in the topography.
If the mesh appears as above, save the project and the updated mesh as FMA2_FV02.2dm.
Update Mesh and Run Model
We have merged the cells that were limiting the model timestep with the neighbouring cell. We are now ready to update the fvc, please undertake the following steps:
- Update the 2dm file reference in the FVC file, FMA2_Mesh_001.fvc. Update the command to: Geometry 2D == ..\geo\FMA2_FV02.2dm
- Saves the FVC file as FMA2_Mesh_002.fvc.
- Run FMA2_Mesh_002.fvc using your preferred method.
Review the final elapsed time reported within the log files from the two model simulations:
- log\FMA2_Mesh_001.log
- log\FMA2_Mesh_002.log
The cell merger has meant model FMA2_Mesh_002 ran at a much higher timestep than FMA2_Mesh_001. The model runs over three times faster!
Hydrodynamic Modelling
The optimised mesh model FMA2_Mesh_002.fvc will be further developed in this example. Updates to the model will include various geometry changes, structure definitions and adoption of an isodate time format (date, hours, minutes, seconds). These are features which are commonly used during floodplain modelling.
FVC Hydrodynamic Updates
Syntax additions to FMA2_Mesh_002.fvc are highlighted below. After making the syntax updates, save the TUFLOW FV control file with the name, FMA2_Hydro_002.fvc. The control file should be saved to the TUFLOWFV\runs folder within the model directory.
Further discussion of the various model updates are outlined in the following sections.
! TUFLOW FV TUTORIAL | Model description change |
! Floodplain Model – Hydro | |
Tutorial Model == ON | Enables license free modelling. |
! GENERAL PARAMETERS | No syntax changes |
Bottom Drag Model == Manning
| |
! TIME COMMANDS | The time commands have been updated to use isodate format. This is useful when calibrating a model to historic recorded datasets.
Time Format == Isodate Start Time == 01/01/2010 00:00 End Time == 02/01/2010 00:00 CFL == 0.9 |
Time Format == Isodate | |
Start Time == 01/01/2010 00:00 | |
End Time == 02/01/2010 00:00 | |
CFL == 0.9 | |
Timestep Limits == 0.01, 5. | |
! MODEL PARAMETERS | No syntax changes |
momentum mixing model == Smagorinsky | |
global horizontal eddy viscosity == 0.5 | |
global horizontal eddy viscosity limits == 0.05, 99999. | |
! GEOMETRY | Additional geometry update commands:
Cell elevation polyline == ..\model\csv\Gully_Breakline_002_ptp.csv Cell elevation polyline == ..\model\csv\Road_Breakline_002_ptp.csv Cell elevation polygon == ..\model\csv\Fill_Pad_002_ptp.csv, 6.0 Cell elevation file == ..\model\csv\Sand_Extraction.csv,coordinate,overwrite Echo geometry == 1
|
Geometry 2D == ..\model\geo\FMA2_FV02.2dm | |
Cell elevation polyline == ..\model\csv\Gully_Breakline_002_ptp.csv | |
Cell elevation polyline == ..\model\csv\Road_Breakline_002_ptp.csv | |
Cell elevation polygon == ..\model\csv\Fill_Pad_002_ptp.csv, 6.0 | |
Cell elevation file == ..\model\csv\Sand_Extraction.csv,coordinate,overwrite | |
Echo geometry == 1 | |
! STRUCTURE DEFINITIONS | This is a new block entry within the control file. New syntax includes:
nodestring polyline == ..\model\struct\FMA2_Struct_Nodestring_002.csv, 5 nodestring polyline == ..\model\struct\FMA2_Struct_Nodestring_002.csv, 6 nodestring polyline == ..\model\struct\FMA2_Struct_Nodestring_002.csv, 7 nodestring polyline == ..\model\struct\FMA2_Struct_Nodestring_002.csv, 8 structure == Nodestring, 5 Flux function == weir Properties == 9.5,1.6 end structure structure == Nodestring, 6 form loss coefficient == 0.5 end structure structure == Linked nodestrings, 7,8 flux function == culvert Culvert File == ..\model\struct\Culvert_database.csv, 1 end structure
|
nodestring polyline == ..\model\struct\FMA2_Struct_Nodestring_002.csv, 5 | |
nodestring polyline == ..\model\struct\FMA2_Struct_Nodestring_002.csv, 6 | |
nodestring polyline == ..\model\struct\FMA2_Struct_Nodestring_002.csv, 7 | |
nodestring polyline == ..\model\struct\FMA2_Struct_Nodestring_002.csv, 8 | |
structure == Nodestring, 5 | |
Flux function == weir | |
Properties == 9.5,1.6 | |
end structure | |
structure == Nodestring, 6 | |
form loss coefficient == 0.5 | |
end structure | |
structure == Linked nodestrings, 7,8 | |
flux function == culvert | |
Culvert File == ..\model\struct\Culvert_database.csv, 1 | |
end structure | |
! MATERIAL PROPERTIES | No syntax changes |
material == 1 | |
bottom roughness == 0.02 | |
end material | |
material == 2 | |
bottom roughness == 0.04 | |
end material | |
material == 3,4 | |
bottom roughness == 0.05 | |
end material | |
material == 5,6,7 | |
bottom roughness == 0.07 | |
end material | |
material == 8 | |
bottom roughness == 0.1 | |
end material | |
material == 9 | |
bottom roughness == 0.2 | |
end material
| |
! INITIAL CONDITIONS | No syntax changes |
Initial Water Level == 1.93
| |
! BOUNDARY CONDITIONS | Update of the boundary condition header reference for compatibility with isodate format
bc header == Date,Main_Inflow bc header == Date,level bc header == Date,Tributary_Inflow bc header == Date,level |
bc == Q, 1, ..\bc_dbase\inflows.csv | |
bc header == Date,Main_Inflow | |
end bc | |
bc == WL, 2, ..\bc_dbase\tide.csv | |
bc header == Date,level | |
end bc | |
bc == Q, 3, ..\bc_dbase\inflows.csv | |
bc header == Date,Tributary_Inflow | |
end bc | |
bc == WL, 4, ..\bc_dbase\tide.csv | |
bc header == Date,level | |
end bc
| |
! OUTPUT COMMANDS | Additional datv output, 'zb'. This will output the model bed elevations (including the topography updates defined via the various geometry inputs)
output parameters == h,v,d,zb
output == flux output interval == 900. end output Specification of output points locations. Time series results for the coordinate locations defined in “’’ Output_Points.csv’’” will be output. These results are often useful for model calibration against gauged water level data. output == points output points file == ..\model\csv\Output_Points.csv output parameters == h output interval == 900. end output |
output dir == ..\results\ | |
output == datv | |
output parameters == h,v,d,zb | |
output interval == 900 | |
end output | |
output == flux | |
output interval == 900. | |
end output | |
output == points | |
output points file == ..\model\csv\Output_Points.csv | |
output parameters == h | |
output interval == 900. | |
end output
| |
! USER SPECIFIED COMMANDS | No syntax changes |
modesplit == 0 |
Geometry Updates
Geometry commands are used to modify the base topography and bathymetry in the 2dm geometry file. The files are read by TUFLOW FV sequentially. As such, in the case where multiple files include details redefining the elevation for a particular cell, the last file read by TUFLOW FV will overwrite the preceding commands for the unique location.
Five separate geometry inputs have been specified:
Cell elevation polyline == ..\model\csv\Gully_Breakline_002_ptp.csv Cell elevation polyline == ..\model\csv\Road_Breakline_002_ptp.csv Cell elevation polygon == ..\model\csv\Fill_Pad_002_ptp.csv, 6.0 Cell elevation file == ..\model\csv\Sand_Extraction.csv,coordinate,overwrite
- A breakline, updating the bathymetry in major tributary creek line.
- A breakline, updating the crest level for a major road which traverses the upper floodplain.
- A region of ‘fill’ associated with an industrial development site.
- A region of ‘cut’, representing a gravel extraction pit.
A new output type has been specified: output parameters == zb
‘zb’ will output the model topography in dat format. This a convenient way to view the final model topography, including the changes made via the various geometry inputs.
Structure Modelling
Structure commands are used to define hard engineering features such as weirs, bridges and culverts. Examples of these are provided below.
Structure Location/Nodestrings
The location of structures within a model are defined by nodestring locations. Nodestrings can be manually defined during the mesh generation process, alternatively a "nodestring polyline" command can be used. In this example:
- Weir = Nodetring 5
- Bridge = Nodestring 6
- Culvert = Inlet: Nodestring 7, Outlet: Nodestring 8
nodestring polyline == ..\model\struct\FMA2_Struct_Nodestring_002.csv, 5 nodestring polyline == ..\model\struct\FMA2_Struct_Nodestring_002.csv, 6 nodestring polyline == ..\model\struct\FMA2_Struct_Nodestring_002.csv, 7 nodestring polyline == ..\model\struct\FMA2_Struct_Nodestring_002.csv, 8
Weir
A weir will be defined in the upstream reach of the main river channel. The weir has a crest elevation of 9.5mAHD.
structure == Nodestring, 5 Flux function == weir Properties == 9.5,1.6 end structure
Bridge
A bridge will be defined approximately 400m downstream of the weir. A form loss coefficient of 0.2 will be applied. This coefficient accounts for the flow disturbance losses due to piers. This value has been calculated based on information reported within, "Hydraulic of Bridged Waterways". Note: Losses associated with flow contraction and expansion due to abutments is not included within this value. These expansion and contraction losses are already accounted for by the 2D topography in the model.
The bridge has a deck level above the peak flood level, as such no obvert elevation is defined. This can however be done using a width file.
structure == Nodestring, 6 form loss coefficient == 0.2 end structure
Culvert
A bank of culverts is located under the approach road to the bridge. The inlet to the culverts is defined by nodestring 7. Nodestring 6 represents the culvert outlet. A culvert file has been used to define the design features of the culvert (eg. size and invert).
Note the culvert file can contain information for all culverts within the model (i.e. multiple culverts can be defined within the one file). The ID at the end of the Culvert File command in the fvc file links the nodestring location (7,8) to the specific entry in the culvert file (ID).
The following information is included within the culvert file.
- ID = Culvert ID (integer only)
- Type = Box or circular
- Ignore = NA
- UCS = Automatic calculation of nodal storage
- Len_or_ANA = Structure length
- n_or_n_F = Barrel manning n value
- US_Invert = Upstream invert
- DS_Invert = Downstream invert
- Form_Loss = NA
- pBlockage = NA
- Inlet_Type = NA
- Conn_2D = NA
- Conn_No = NA
- Width_or_Dia = Width (box) or diameter (circular)
- Height_or_WF = Height (box)
- Number_of = Number of barrels
- Height_Cont = Height contraction coefficient
- Width_Cont = Width contraction coefficient
- Entry_Loss = Entry loss coefficient
- Exit_Loss = Exit loss coefficient
structure == Linked nodestrings, 7,8 flux function == culvert Culvert File == ..\model\struct\Culvert_database.csv, 1 end structure
Isodate Time Format [Historic Event]
Model calibration typically requires modelling of historic events. Input and output to TUFLOW FV can be configured to use date/times values.
- Refer to the following link for advice how to format input boundary condition data: Boundary Condition Input Format
- Refer to the following link for advice how to configure SMS to read isodate format results: Changing SMS Time Settings
Time Format == Isodate Start Time == 01/01/2010 00:00 End Time == 02/01/2010 00:00
Run TUFLOW FV
Once you’re happy with the FVC file contents, run TUFLOW FV.
Useful links:
Hydrodynamic Simulation Results
Open the model geometry file (FMA2_FV02.2dm) and background imagery in SMS:
- Update the time settings in SMS to display the results using isodate format, refer to Changing SMS Time Settings (Hours to Isodate).
Open the FMA2_Mesh_002_geo_nodestring.csv file (located in the log folder) and bed elevation result file FMA2_Hydro_002_ZB.dat (located in the results folder):
- Are the additional nodestrings (defined via the nodestring polyline command) being read correctly? This data is reported in the FMA2_Mesh_002_geo_nodestring.csv file.
- Are the geometry changes correctly being applied to the model?
Note: TUFLOW FV is a cell centered scheme. As such, geometry updates have been applied at the cell center. The exact cell center elevation values are reported in the _geo.csv file. SMS uses cell corner information to display elevations/results. Due to this, TUFLOW FV results are interpolated to cell corners for display in SMS. Due to this interpolation, the values in SMS will not match the modelled cell centered values exactly. In the majority of cases this does not adversely impact the model results significantly.
Note: Prior to the 2019 TUFLOW FV Release the word ‘spatial’ is included in the output file names, i.e FMA_Hydro_002_geo.csv was output as FMA_Hydro_002_spatial_geo.csv.
Open the simulation water level, depth and velocity results (FMA2_Hydro_002_H.dat, FMA2_Hydro_002_D.dat, FMA2_Hydro_002_V.dat):
- How do the various control structures alter the flood behavior? Try removing some structures, rerunning the model then comparing results (remember to rename the simulation file before running the model so past results are not overwritten).
- Results can be compared on a timestep basis using SMS, refer to SMS Data Calculations; or
- Create a maximum water surface dat file from the model results using RES_to_RES.exe and compare the maximum water surface results for the various test scenarios, refer to RES to RES Max Result Processing.
res_to_res.exe -2dm FMA2_FV02.2dm -max FMA2_Hydro_002_H.dat
The figure below shows the impact of the weir structure on the flood level:
- At time = 01/01/2012 12.30pm; and
- For the maximum water surface results.
Open the point water level (FMA2_Hydro_002_POINTS.csv) and flux results (FMA2_Hydro_002_FLUX.csv):
- Plot both datasets in Excel.
- Try adding an additional point location and flux output nodestring to the model, then using the results from both datasets to derive a rating curve.
Integrating Advanced GIS features with Tutorial Model 03
As of the 2019-01 Release of TUFLOW FV you can now process GIS files to be used as inputs to your model using the TUFLOW Viewer Plugin.
Over time we will develop parallel workflows for Mapinfo and ArcGIS.
This section is optional, but it will show you how to process and update GIS files to be used as geometry inputs for TUFLOW FV.
The GIS component of this tutorial assumes you have completed the GIS introduction provided in Tutorial Model 01.
To complete the GIS section of Tutorial Model 03, please refer to Advanced GIS updates.
Advection Dispersion Modelling
The hydrodynamic model FMA2_Hydro_002.fvc will be further developed to include various advection dispersion features. The example will demonstrate simple modelling of salinity, temperature, heat and a tracer.
FVC Updates (Salinity and Temperature)
This example demonstrates how to model salinity and temperature. Syntax additions to FMA2_Hydro_002.fvc are highlighted below. After making the syntax updates, save the TUFLOW FV control file with the name, FMA2_AD01_002.fvc. The control file should be saved to the TUFLOWFV\runs folder.
! TUFLOW FV TUTORIAL | Model description change |
! Floodplain Model – AD (Salinity, Temp) | |
Tutorial Model == ON | Enables licence free modelling. |
! GENERAL PARAMETERS | Additional commands, enabling salinity and temperature modelling (neither will be coupled with density).
Include Salinity == 1,0 Include Temperature == 1,0 |
Bottom Drag Model == Manning | |
Include Salinity == 1,0 | |
Include Temperature == 1,0
| |
! TIME COMMANDS | No syntax changes |
Time Format == Isodate | |
Start Time == 01/01/2010 00:00 | |
End Time == 02/01/2010 00:00 | |
CFL == 0.9 | |
Timestep Limits == 0.01, 5.
| |
! MODEL PARAMETERS | The scalar mixing model and diffusivity are specified as model parameters. |
momentum mixing model == Smagorinsky | |
global horizontal eddy viscosity == 0.5 | |
global horizontal eddy viscosity limits == 0.05, 99999. | |
scalar mixing model == Smagorinsky | |
global horizontal scalar diffusivity == 0.5 | |
global horizontal scalar diffusivity limits == 0.05, 99999. | |
! GEOMETRY | No syntax changes |
Geometry 2D == ..\model\geo\FMA2_FV02.2dm | |
Cell elevation polyline == ..\model\csv\Gully_Breakline_002_ptp.csv | |
Cell elevation polyline == ..\model\csv\Road_Breakline_002_ptp.csv | |
Cell elevation polygon == ..\model\csv\Fill_Pad_002_ptp.csv, 6.0 | |
Cell elevation file == ..\model\csv\Sand_Extraction.csv,coordinate,overwrite | |
Echo geometry == 1 | |
! STRUCTURE DEFINITIONS | No syntax changes |
nodestring polyline == ..\model\struct\FMA2_Struct_Nodestring_002.csv, 5 | |
nodestring polyline == ..\model\struct\FMA2_Struct_Nodestring_002.csv, 6 | |
nodestring polyline == ..\model\struct\FMA2_Struct_Nodestring_002.csv, 7 | |
nodestring polyline == ..\model\struct\FMA2_Struct_Nodestring_002.csv, 8 | |
structure == Nodestring, 5 | |
Flux function == weir | |
Properties == 9.5,1.6 | |
end structure | |
structure == Nodestring, 6 | |
form loss coefficient == 0.5 | |
end structure | |
structure == Linked nodestrings, 7,8 | |
flux function == culvert | |
Culvert File == ..\model\struct\Culvert_database.csv, 1 | |
end structure | |
! MATERIAL PROPERTIES | No syntax changes |
material == 1 | |
bottom roughness == 0.02 | |
end material | |
material == 2 | |
bottom roughness == 0.04 | |
end material | |
material == 3,4 | |
bottom roughness == 0.05 | |
end material | |
material == 5,6,7 | |
bottom roughness == 0.07 | |
end material | |
material == 8 | |
bottom roughness == 0.1 | |
end material | |
material == 9 | |
bottom roughness == 0.2 | |
end material
| |
! INITIAL CONDITIONS | Update of the initial conditions for salinity and temperature modelling.
Initial Salinity == 35. Initial Temperature == 18. |
Initial Water Level == 1.93 | |
Initial Salinity == 35. | |
Initial Temperature == 18.
| |
! BOUNDARY CONDITIONS | Update of the boundary condition header for salinity and temperature modelling
bc header == Date,Main_Inflow,Salinity,temperature bc header == Date,level,Salinity,temperature bc header == Date,Tributary_Inflow,Salinity,temperature bc header == Date,level,Salinity,temperature Note: Salinity and temperature data already exists within the provided boundary condition datasets. |
bc == Q, 1, ..\bc_dbase\inflows.csv | |
bc header == Date,Main_Inflow,Salinity,temperature | |
end bc | |
bc == WL, 2, ..\bc_dbase\tide.csv | |
bc header == Date,level,Salinity,temperature | |
end bc | |
bc == Q, 3, ..\bc_dbase\inflows.csv | |
bc header == Date,Tributary_Inflow,Salinity,temperature | |
end bc | |
bc == WL, 4, ..\bc_dbase\tide.csv | |
bc header == Date,level,Salinity,temperature | |
end bc
| |
! OUTPUT COMMANDS | Additional datv output, 'sal' and 'temp'. This will output the model salinity and temperature results.
output parameters == h,v,d,zb,sal,temp |
output dir == ..\results\ | |
output == datv | |
output parameters == h,v,d,zb,sal,temp | |
output interval == 900 | |
end output | |
output == flux | |
output interval == 900. | |
end output | |
output == points | |
output points file == ..\model\csv\Output_Points.csv | |
output parameters == h | |
output interval == 900. | |
end output
| |
! USER SPECIFIED COMMANDS | No syntax changes |
modesplit == 0 |
Run TUFLOW FV
Once you’re happy with the FVC file contents, run TUFLOW FV.
Useful links:
Salinity and Temperature Simulation Results
Open the model geometry file (FMA2_FV02.2dm) and background imagery in SMS. Update the time settings in SMS to display the results using "isodate format", refer to Changing SMS Time Settings (Hours to Isodate).
Open the simulation water level, salinity and temperature results (FMA2_AD01_002_H.dat, FMA2_FV01_002_Sal.dat, FMA2_FV01_002_Temp.dat).
- View the spatial results in SMS
Note: The SMS Community Edition does not allow for completion of the following step. If you are using SMS Community Edition, please proceed to the next section FVC Updates (Heat and Tracer)
- Extract point data from a location within the coastal ICOL lake in the southern half of the model, refer to Extracting Point Output Using SMS for directions how to extract and export point results from "dat" results. How does the water temperature and salinity change in the lake when breakout from the river to the north enters the waterbody?
FVC Updates (Heat and Tracer)
This example demonstrates how to model heat (atmospheric) and a dispersive tracer. Syntax additions to FMA2_AD01_002.fvc are highlighted below. After making the syntax updates, save the TUFLOW FV control file with the name, FMA2_AD02_002.fvc. The control file should be saved to the TUFLOWFV\runs folder.
! TUFLOW FV TUTORIAL | Model description change |
! Floodplain Model – AD (Heat, Tracer) | |
Tutorial Model == ON | Enables licence free modelling. |
! GENERAL PARAMETERS | Additional commands, enabling heat and tracer modelling.
Include Heat == 1 Ntracer == 1 Note: To model mutiple tracers, update 'Ntracer' to reflect number to be modelled |
Bottom Drag Model == Manning | |
Include Salinity == 1,0 | |
Include Temperature == 1,0 | |
Include Heat == 1 | |
Ntracer == 1
| |
! TIME COMMANDS | No syntax changes |
Time Format == Isodate | |
Start Time == 01/01/2010 00:00 | |
End Time == 02/01/2010 00:00 | |
CFL == 0.9 | |
Timestep Limits == 0.01, 5.
| |
! MODEL PARAMETERS | No syntax changes |
momentum mixing model == Smagorinsky | |
global horizontal eddy viscosity == 0.5 | |
global horizontal eddy viscosity limits == 0.05, 99999. | |
scalar mixing model == Smagorinsky | |
global horizontal scalar diffusivity == 0.5 | |
global horizontal scalar diffusivity limits == 0.05, 99999. | |
! GEOMETRY | No syntax changes |
Geometry 2D == ..\model\geo\FMA2_FV02.2dm | |
Cell elevation polyline == ..\model\csv\Gully_Breakline_002_ptp.csv | |
Cell elevation polyline == ..\model\csv\Road_Breakline_002_ptp.csv | |
Cell elevation polygon == ..\model\csv\Fill_Pad_002_ptp.csv, 6.0 | |
Cell elevation file == ..\model\csv\Sand_Extraction.csv,coordinate,overwrite | |
Echo geometry == 1
| |
! STRUCTURE DEFINITIONS | No syntax changes |
nodestring polyline == ..\model\struct\FMA2_Struct_Nodestring_002.csv, 5 | |
nodestring polyline == ..\model\struct\FMA2_Struct_Nodestring_002.csv, 6 | |
nodestring polyline == ..\model\struct\FMA2_Struct_Nodestring_002.csv, 7 | |
nodestring polyline == ..\model\struct\FMA2_Struct_Nodestring_002.csv, 8 | |
structure == Nodestring, 5 | |
Flux function == weir | |
Properties == 9.5,1.6 | |
end structure | |
structure == Nodestring, 6 | |
form loss coefficient == 0.5 | |
end structure | |
structure == Linked nodestrings, 7,8 | |
flux function == culvert | |
Culvert File == ..\model\struct\Culvert_database.csv, 1 | |
end structure | |
! MATERIAL PROPERTIES | No syntax changes |
material == 1 | |
bottom roughness == 0.02 | |
end material | |
material == 2 | |
bottom roughness == 0.04 | |
end material | |
material == 3,4 | |
bottom roughness == 0.05 | |
end material | |
material == 5,6,7 | |
bottom roughness == 0.07 | |
end material | |
material == 8 | |
bottom roughness == 0.1 | |
end material | |
material == 9 | |
bottom roughness == 0.2 | |
end material
| |
! INITIAL CONDITIONS | Update of the initial conditions for the tracer.
Initial Tracer Concentration == 0 |
Initial Water Level == 1.93 | |
Initial Salinity == 35. | |
Initial Temperature == 18. | |
Initial Tracer Concentration == 0
| |
! BOUNDARY CONDITIONS |
bc header == Date,Tributary_Inflow,Salinity,temperature,TRACE_1 bc header == Date,Tributary_Inflow,Salinity,temperature,TRACE_1
The actual tracer to be modelled is defined as a point inflow at the co-ordinate: 6837,15228 bc == QC, 6837,15228, ..\bc_dbase\STP_tracer.csv bc header == Date,STP_Outflow,TRACE_1 end bc Update with additional boundary condition inputs. Heat boundaries (wind, shortwave radiation, longwave radiation, precipitation, air temperature and relative humidity) are applied as global boundaries. bc == W10, ..\bc_dbase\Atmospheric_BCs.csv bc header == Date,WINDU,WINDV end bc bc == SW_RAD, ..\bc_dbase\Atmospheric_BCs.csv bc header == Date,SWRAD end bc bc == LW_RAD, ..\bc_dbase\Atmospheric_BCs.csv bc header == Date,LWRAD end bc bc == PRECIP, ..\bc_dbase\Atmospheric_BCs.csv bc header == Date,RAIN end bc bc == AIR_TEMP, ..\bc_dbase\Atmospheric_BCs.csv bc header == Date,TEMP end bc bc == REL_HUM, ..\bc_dbase\Atmospheric_BCs.csv bc header == Date,RHUM end bc |
bc == Q, 1, ..\bc_dbase\inflows.csv | |
bc header == Date,Main_Inflow,Salinity,temperature,TRACE_1 | |
end bc | |
bc == WL, 2, ..\bc_dbase\tide.csv | |
bc header == Date,level,Salinity,temperature | |
end bc | |
bc == Q, 3, ..\bc_dbase\inflows.csv | |
bc header == Date,Tributary_Inflow,Salinity,temperature,TRACE_1 | |
end bc | |
bc == WL, 4, ..\bc_dbase\tide.csv | |
bc header == Date,level,Salinity,temperature | |
end bc | |
bc == QC, 6837,15228, ..\bc_dbase\STP_tracer.csv | |
bc header == Date,STP_Outflow,TRACE_1 | |
end bc | |
bc == W10, ..\bc_dbase\Atmospheric_BCs.csv | |
bc header == Date,WINDU,WINDV | |
end bc | |
bc == SW_RAD, ..\bc_dbase\Atmospheric_BCs.csv | |
bc header == Date,SWRAD | |
end bc | |
bc == LW_RAD, ..\bc_dbase\Atmospheric_BCs.csv | |
bc header == Date,LWRAD | |
end bc | |
bc == PRECIP, ..\bc_dbase\Atmospheric_BCs.csv | |
bc header == Date,RAIN | |
end bc | |
bc == AIR_TEMP, ..\bc_dbase\Atmospheric_BCs.csv | |
bc header == Date,TEMP | |
end bc | |
bc == REL_HUM, ..\bc_dbase\Atmospheric_BCs.csv | |
bc header == Date,RHUM | |
end bc
| |
! OUTPUT COMMANDS | Additional datv output, 'TRACE_1'. This will output the tracer results.
output parameters == h,v,d,zb,sal,temp,TRACE_1 Note: Additional outputs could also be specified for the various global input boundary conditions (e.g. "W10"). this is good modelling practice to check that the boundary condition is specified and being applied correctly |
output dir == ..\results\ | |
output == datv | |
output parameters == h,v,d,zb,sal,temp,TRACE_1 | |
output interval == 900 | |
end output | |
output == flux | |
output interval == 900. | |
end output | |
output == points | |
output points file == ..\model\csv\Output_Points.csv | |
output parameters == h | |
output interval == 900. | |
end output
| |
! USER SPECIFIED COMMANDS | No syntax changes |
modesplit == 0 |
Run TUFLOW FV
Once you’re happy with the FVC file contents, run TUFLOW FV.
Useful links:
Heat and Tracer Simulation Results
Open the model geometry file (FMA2_FV02.2dm) and background imagery in SMS. Update the time settings in SMS to display the results using isodate format, refer to Changing SMS Time Settings (Hours to Isodate).
Open the AD02 simulation water level, tracer and temperature results (FMA2_AD02_002_H.dat, FMA2_AD02_002_Trace_1.dat, FMA2_AD02_002_Temp.dat).
- View the results in SMS
Open the AD01 simulation temperature results (FMA2_AD01_002_Temp.dat).
- How do the water temperature results vary between AD01 and AD02? Refer to SMS Data Calculations for directions how to compute difference results between both datasets.
Are these difference expected? Yes, AD02 included addition heat boundary condition inputs compared to AD01. These atmospheric inputs allow for slow moving and shallow water to increase in temperature due to solar radiation and the surrounding air temperature. This is particularly evident in the coastal ICOL lake in the southern half of the model.
Troubleshooting
This section contains a link to some common issues that may occur when progressing through the TUFLOW FV tutorial models:
For further support please email support@tuflow.com.
Conclusion
Congratulations on completing Tutorial 3. We've covered a lot in this tutorial including Basic Hydrodynamic Modelling, Hydraulic Structure Modelling and Advection Dispersion Modelling.
To complete more tutorials or learn more tips and tricks please return to the TUFLOW FV Wiki Mainpage
We will continue to add more functionality over time so please periodically review. If you wish to keep up to date with all things TUFLOW and TUFLOW FV then please join our LinkedIn group here: https://www.linkedin.com/groups/1908583 If you have any further queries, feedback or requests for new functionality please feel free to get in contact with support@tuflow.com.