What it TPU?
The Total Propagated Uncertainty (TPU) of a sounding is a measure of the accuracy to be expected for such a sounding, when all relevant error / uncertainty sources are taken into account. Instead of “TPU”, the term “error budget” is also used. TPU is the parent term for Total Horizontal Uncertainty (THU) and Total Vertical Uncertainty (TVU).
Uncertainty sources do not only come from the echo sounder. They come from all the various sensors, vessel and environment which together we often call a Hydrogrpahic Survey System. The most likely sources that to be considered are:
GPS position
Draft
Squat
Tide (including spatial/temporal prediction to the depth measurement position)
Geoid model / Tide zoning
Vessel offsets
Timing offsets
SOG (Speed Over Ground)
Gyro heading
Attitude (pitch, roll)
Heave
Mounting offsets
Sounder Depth
Sounder Beam range, beam angle, beam width, beam steering,
Sound velocity at transducer head, sound velocity profile.
If we are using an AUV, ROV or SROV, we also need to account for:
USBL position
USBL Update Intervel
Vehicle Depth Sensor
Inertial Sensor
Almost EVERY multibeam survey contains these errors to a varying degree. Hence the indication “Total”.
All measurements are considered to be uncorrelated random variables with normally distributed uncertainties, all uncertainty sources acting independently, so all covariance terms can be disregarded, and the TPU can be computed statistically using the well-known Law of Uncertainty Propagation. Hence the indication “Propagated”.
The TPU value is the result of the root mean square of all contributing uncertainties. Hence the indication “Uncertainty”.
Who can use GGTPU...
Clients wishing to undertake a multibeam survey who do not have quality assured tools to evaluate tender responses
Clients wishing to create RFQ documentation
Commercial Organisations wishing to respond to an RFQ who are planning a survey
Academic Organisations wishing to improve the rigor of their multibeam operations
Government Research Organisations wishing to better understand how accurate their survey data is going to be
As part of Reach Subsea commitment to industry and and quality, GGTPU is free for anyone to use.
The purpose of this Web App is to provide a useful resource on HOW we as an industry compute apriori estimations of:
Total Horizontal Uncertainty
Total Vertical Uncertainty
Coverage Rate Estimator
Data Density
Required Linespacing
Feature Detection
These sounds trivial, but we imagine you have seen a multitude of answers to these questions and we don’t know which one is correct.
We figured its time to make an online resource. If it gains some positive reviews, we will opensource. This means academics can tweak and validate and hopefully we have a canonical calculation, which would be a great outcome for our industry.
How to Use GGTPU...
We aim to make the user interface very simple and intuitive. The following steps should be followed:
Select the Standard required to be delivered as a project outcome. The computed TVU and THU will be compared to the standard and clearly presented to you if you will meet specification.
Select the Sensors allocated to the project. The sensors ini files contain manufaturers specifications, so this makes it really easy to get the configuration correct.
Define the Sector Angle you intend to operate with. Remember this is BOTH sides, so 150 degrees means 7.5 * Water Depth.
Select the range of water depth you intend to work. This is used by THU, TVU and Density calculations.
Select anticipated maximum weather conditions you intend to work. The maximum anticipated attitude values are used by both THU and TVU calculations.
Select Approximate lever arm distances from Antenna to IMU and IMU to MBES. These are used in both THU and TVU calculations.
Define anticipated accuracy of your Draft, Squat and Settlement. These are used in the TVU calculations.
Define Vessel speed. This is used in the latency error and data density calculations.
Once you have configured the engine, hit the "Compute" button. The engine will take your configuration, run the computations and present the results below. The graphs and tables will represent your configuration. When you are happy with the result use the browsers built-in print to pdf or screen shot into your reports. Thats it!
How do add new sensors or standards to GGTPU?
The user interface contains a series of lists for all engine inputs. This is done for a very specific reason. For the sensors, we will validate the sensor against manufacturer specification before it becomes supported. We do this to ensure the
the engine calculation is trustworthy. For the environmental offets, speeds, etc we control the inputs to ensure the user does not make a typo error. The back end engine (python) uses unit tests and regression to ensure all combinations work with all combinations. Thats a lot of tests and ensures the engine works..
If you need to ad a new sensor or configuration option, please email paul.kennedy@reachsubsea.com and we will address your request.
Why GGTPU?
GGTPUis a native python tool developed by Reach Subsea to compute the Total Horizontal Uncertainty (THU) and Total Vertical Uncertainty (TVU) of a multibeam survey of the seabed. Together, THU and TVU produce a model of Total Propoageted Uncertainty (TPU).
The traditional mechanism for computation of apriori has been an excel spreadsheet, often based on the TPU sheet from Hare et al. circa 1990. Excel is excellent at blending data and graphical results so has been the goto tool. Unfortunately Excel is also cursed with formulas, or rather the errors, bugs, typos of formulas within a cell. They can be very hard to debug, and easy to mistakenly fail to make a reference to the wrong cell in another sheet. Simple formulas are not a problem. When we are trying to compute an accurate TVU we need complex formulas. As an example, our existing THU exel sheet contains a cell with the following formula for the heading uncertainty...
=SQRT((((Input_Variables!D49*COS(RADIANS(Input_Variables!D39)))^2)+(((COS(RADIANS(Input_Variables!C39)))^2+((SIN(RADIANS(Input_Variables!C39)))*(SIN(RADIANS(Input_Variables!D39))))^2)*-Input_Variables!C49^2)+(((SIN(RADIANS(Input_Variables!C39)))^2+((COS(RADIANS(Input_Variables!C39)))*(SIN(RADIANS(Input_Variables!D39))))^2)*Input_Variables!E49^2)-(Input_Variables!D49*-Input_Variables!C49*(COS(RADIANS(Input_Variables!D39)))*(SIN(RADIANS(Input_Variables!D39)))*(SIN(RADIANS(Input_Variables!C39))))-(Input_Variables!D49*Input_Variables!E49*(COS(RADIANS(Input_Variables!D39)))*(SIN(RADIANS(Input_Variables!D39)))*(COS(RADIANS(Input_Variables!C39))))-(-Input_Variables!C49*Input_Variables!E49*((COS(RADIANS(Input_Variables!D39)))^2)*(SIN(RADIANS(Input_Variables!C39)))*(COS(RADIANS(Input_Variables!C39)))))*((RADIANS(THU!C16)^2)))
There are hundreds of cell formula within a TPU sheet. As you can see, this is a complex formulae for a single cell, so not easy to debug and maintain.
GGApriori takes a new path for uncertainty computations. We have coded the entire calculation process in native python. This makes it much easier to debug, share and manage. As new requirements arise, such as USBL, AUV, ROV, SROV they can be added with ease. The code is correctly managed and version controlled on github.
The user interface is also modernised. instead of an excel sheet with Excel graphics, we now have a web based user interface which anyone can easily access. The underlying code is hidden away from the casual user to prevent errors being introduced.
Data Inputs
Simple .ini files to configure parameters
A critically important aspect of undertaking an aprior or posteirori uncertinaty computation is to compare the calculated TPU with the project specification. All projects will have an expectation of deliverable quality as this defines acceptance and rejection of the survey products. There are many standards in use for survey operations as well as custom requirements for specific projects. Fortunately these custom requirements are slowly disappearing in favour of well recognised, well thought out standards.
We maintain an ini file of the relevent standards. An order is selected by the user and the uncertainty computation compared to the required standard. This provides a rapid indication if the proposed survey spread of equipment will meet the required specification.
An example of the standards.ini file is presented below.
[IHOExclusiveOrder]
vstaticerror=0.15
vvariableerror=0.0075
vpercentwaterdepth=0.75
hsigma=2.45
vsigma=1.96
[IHOSpecialOrder]
vstaticerror=0.25
vvariableerror=0.0075
vpercentwaterdepth=0.75
hsigma=2.45
vsigma=1.96
[IHOOrder1a]
vstaticerror=0.5
vvariableerror=0.013
vpercentwaterdepth=1.3
hsigma=2.45
vsigma=1.96
Equipment specification ini files
To calculate uncertainty, the hydrographic survey system for a project needs to be defined. Projects should and will know the equipment they are proposing or using. It is either already installed on a vessel, AUV, ROV, SROV or is will be installed at project mobilisation.
Equipment is broken down into the following categories, each with a simple .ini file to contain the equipment specifications.
mbessensors.ini
positionsensors.ini
attitudesensors.ini
draftsensors.ini
tidesensors.ini
Some sensors provide combined attitude and position information. An inertial sensor such as a ROVINS is a good example. In this situation the ROVINS equipment specification will appear in both attitudesensor.ini AND positionsensor.ini. This keeps the system clean and simple. Below is an example of the attitude.ini file.
[PosMVWavemaster5]
rollaccuracy=0.02
pitchaccuracy=0.02
heaveaccuracy=0.05
headingaccuracy=0.03
[Seapath320-5+]
rollaccuracy=0.08
pitchaccuracy=0.08
heaveaccuracy=0.05
headingaccuracy=0.04
[PosMVWavemaster5EllipsoidalReduction]
rollaccuracy=0.02
pitchaccuracy=0.02
heaveaccuracy=0
headingaccuracy=0.03
Copyright Reach Subsea, 2022
paul.kennedy@reachsubsea.com