TUFLOW FV Get Tide
Introduction
This tutorial demonstrates how to run the Get Tide python command line tool using conda. The Get Tide tool can be used to extract FES2014 astronomical tide boundary conditions ready to use in TUFLOW FV.
Example – Creating Tidal Boundaries For The Gulf Of Carpentaria
To use Get Tide, follow the steps outlined below:
Download Global Tide Data
Download the FES2014 tidal constituent files from the Aviso+ website using the following steps:
1. To access the FES2014 data, you will need to have an Aviso+ account. To create an account, register via completing this registration form. When you complete this form, please ensure you have ticked the box labelled FES2014 / FES2012 (Oceanic Tides Heights).
2. Once your account has successfully been created, log in and navigate to
MY AVISO+ -> My products. Please note that it may take overnight for your account to be setup.
3. Verify that FES2014 / FES2012 (Oceanic Tides Heights) is listed under your current subscriptions. If it is not listed, select it from the product list below, submit your access request, ensuring you have read and accept the terms of the licence agreement.
4. To download the data, copy the following ftp link into your Windows Explorer (not an internet browser such as Edge, Chrome etc): ftp://ftp-access.aviso.altimetry.fr/
5. Enter your Aviso+ credentials into the pop-up window.
6. Navigate to auxiliary -> tide_model -> fes2014_elevations_and_load -> fes2014b_elevations_extrapolated.
7. Download the file ocean_tide_extrapolated.tar.xz by copying it your desired location. Once successfully copied, right click on the file and select Extract files….
8. Right click on the file ocean_tide_extrapolated.tar and select Extract files…. You should now see the folder ocean_tide_extracted. This folder contains the NetCDF files of each tidal constituent within FES2014 dataset that will be used by Get Tide. Save this database somewhere central on your computer as you are likely to use it for multiple different projects and purposes.
Define Boundary Locations
For the purposes of this demonstration we've prepared a TUFLOW FV nodestring shapefile containing polyline features where tidal water-levels are required for the Gulf of Carpentaria.
Please download and save the shape file 2d_ns_Open_Boundary_001_L.shp which can be obtained via the following download link: https://downloads.tuflow.com/TUFLOWFV/Example_Models/TUFLOWFV_GetTide_Example_Nodestrings.zip
The nodestrings within 2d_ns_Open_Boundary_001_L.shp are shown below:
Building Nodestrings For Your Own Project
For your own project you will need to generate your own TUFLOW FV external GIS nodestring files using the procedure outlined within our Introduction To GIS Integration Tutorial and Set Nodestrings In QGIS section.
TIP: The program will extract tidal boundaries for EVERY line feature in the shapefile. Only supply a shape file with open ocean boundary locations. Don't provide a shapefile with inland nodestrings (e.g., inflow boundary nodestrings). The program will try (and fail) to extract tidal water-levels for these features.
Using Get Tide
1. Setup a Python Environment that includes the Get Tide tools by following the instructions within TUFLOW FV Python Environment - TUFLOW FV Wiki.
2. Open Anaconda prompt, and activate your TUFLOW FV Python environment with the command:
conda activate tfv-workspace
3. In this example, we have chosen to work in the “C:\Users\georgia.stones\my_tide” directory, however you can select any location you like. Navigate to the directory you wish to work in through the command:
<drive> cd <directory>
4. To see the optional and required arguments for Get Tide, enter the command:
GetTide
5. To run the program, call Get Tide with the required arguments. These are:
- “out”: Output name (and location). e.g., GoC_Tide.nc
- “tstart”: The start time for the tide extraction, yyyy-mm-dd. e.g., 2010-03-01
- “tend”: The end time for the tide extraction, yyyy-mm-dd. e.g., 2010-05-01
- “nodestring”: The path to the nodestring shapefile. e.g., “.\nodestrings\2d_ns_Open_Boundary_001_L.shp”
- “fes2014_dir”: The path where you saved the pre-downloaded FES2014 Tidal Constituent files, e.g., “FES2014\ocean_tide_extrapolated\ocean_tide_extrapolated” . This folder should contain a set of *.nc files for the FES2014 tidal constituent grids. Please note in this example a relative path from the my_tide directory is used, however absolute file paths are also accepted.
The command entered in this example is:
GetTide GoC_Tide.nc 2010-03-26 2010-04-02 .\nodestrings\2d_ns_Open_Boundary_001_L.shp FES2014\ocean_tide_extrapolated\ocean_tide_extrapolated
To add on a timezone offset, and timezone name tag metadata attribute, the optional extra commands “tzoffs” and “tzname” can be added. If the tzoffs command is entered an additional time variable local_time will be added to out the output NetCDF. The variable time will still be included in UTC. If using a time offset it’s good practice to include the tzname to avoid later confusion.
GetTide --tzoffs 10H --tzname AEST GoC_Tide_20100301_20100501_AEST.nc 2010-03-01 2010-05-01 .\nodestrings\2d_ns_Open_Boundary_001_L.shp FES2014\ocean_tide_extrapolated\ocean_tide_extrapolated
Review Get Tide Outputs
Get Tide produces a single NetCDF file which contains the merged downloaded data. Using xarray to inspect this NetCDF, we see it has the structure and properties shown below.
Utilising Python’s xarray module enables visualisation of the data this NetCDF contains. This helps us better understand our data, and ensure it is behaving as we would expect.
The figure below depicts the water level timeseries at a specified location (7503.209 m) along the western boundary (Western_Boundary). We can see water level fluctuations across the time period that are consistent with the influence of tidal constituents.
We can also take a look at the water level along our western boundary at a particular time point. Below is a figure that displays the water level along the full eastern boundary (Western_Boundary) chainage at midnight on the 1st of April 2010 (2010-04-01 00:00).
When Get Tide merges the downloaded data into a single NetCDF file, it also creates an fvc file in the same location.
Within this fvc file, you will find that Get Tide has written your tidal boundary conditions for you.
These tidal boundary conditions can then be incorporated into your TUFLOW FV model through an include statement, as shown below. This include statement will reference GoC_Tide_20100301_20100501_AEST.fvc, so that the commands it contains will be read by TUFLOW FV.
Conclusion
For further information on Get Tide, please visit our GitLab page.
To learn how to use our other Python utilities, please visit our TUFLOW FV Python Toolbox, TUFLOW FV Get Atmos and TUFLOW FV Get Ocean pages.
To see how to implement the most common TUFLOW FV model design features, please access our TUFLOW FV Example Models page.
To complete tutorials or learn more tips and tricks, please return to the TUFLOW FV Wiki Mainpage.
If you have any further queries, feedback or requests for new functionality, please feel free to get in contact with support@tuflow.com