The Broadview Radar Altimetry Toolbox is a tool designed to use radar altimetry data. It is available in 32-bit and 64-bit versions for Windows, Mac OS X and Linux (Debian 7). The Broadview Radar Altimetry Tutorial and Toolbox is a joint project between ESA and CNES to develop an open source tool (LGPL-3) freely available to all the altimetry community.
The toolbox is able to:
- to read all altimetry data from official data centres, from ERS-1 and 2, Topex/Poseidon, Geosat Follow-on, Jason-1, Envisat, Jason-2, Cryosat and Sentinel-3, from Sensor Geophysical Data Record to gridded merged data
- to do some processing and computations
- to visualise the results
- Download the auto-installer for Linux, MacOS or Windows
- User manual (pdf, 5.9 MB )
- For installing the toolbox please read the quick installation details or read the installation section of the user manual
- Video tutorials are available on our YouTube channel
- To test the toolbox, you can download data samples
- See also the “Data Use Cases” section of this portal, for examples of altimetry uses with BRAT (mostly)
- Practical material can be downloaded from the training section
- For using a raster background map with higher resolution than the default one in BRAT please download here the zip file with a README file explaining how to install the raster file
The current version of the Broadview Radar Altimetry Toolbox is V4.2.0, released in November 2017.
The following improvements have been added to BRAT :
- Upgrade of supported Linux version to Debian 8.x
- Upgrade of supported Python version to 3.4
- Area coordinates can now be manually inserted, besides using the mouse
- View maps base layers can now be changed at runtime
- New application settings: GDAL and WMS raster layer providers
- Support for new variant of Generic Netcdf aliases
- Improved map zoom
- Corrections of bugs
See the complete change log for full details of the changes in the different versions.
To report any bug with the software, please use the toolbox GitHub account bugs form (preferred way) or send us an email via the Helpdesk. If you have any questions or suggestions for improvements please contact us using the Helpdesk, and also check out the Forums in case that someone has already experienced the same problem.
The Broadview Radar Altimetry Toolbox can be divided in four main components:
- Data reading (also called “ingestion”)
- Processing routine functions
- Visualisation functions
- Graphic User Interface (GUI)
The structure is onionskin: each layer using the previous ones, and being available to be used without the ones above (e.g. you use the processing routines, which read data with the data ingestion tools, without using either the visualisation or the GUI). The GUI is using the other layers, and is available for current versions of Windows and Linux operating systems.
The reading (or “ingestion”) tools are a data dictionary, based on handbooks and data structures. They free the users of looking at each and every data format, byte by byte, to be able to read their products. The user can select several data files to work on them at the same time. They can be combined if they are of the same kind (same level, same mission or format). Once a dataset is chosen, the user is able to select a geographical area subset chosen by its minimum and maximum longitude and latitude, and/or a temporal subset by its start and end dates, and this for any type of data.
Processing functions are also available, to combine data fields (e.g. addition/subtraction needed to compute sea surface height from satellite altitude, altimetric range and corrections), select them (e.g. data editing to edit out-of-range values), etc. Such formulas can be saved for future use. The toolbox processed outputs are saved in NetCDF, and can be exported in either NetCDf, Ascii or GeoTiff (with a Google Earth export feature). All processing are made through command files where all the parameters are indicated (even when using the GUI, with which the files are automatically generated).
Once processed, the BRAT outputs can be visualised, whether one parameter against one other or against two others (typically, classical maps, including several cartographic projections, but also dispersion plots, or waveforms). For all modes, title and comments can be written by the user. The user is able to choose a colour scale among a pre-defined set. A “do-your-own colour scale” tool is also provided. Plots can be saved in raster (gif, png, tif, jpg) format.
The graphic user interface is an interactive interface, to provide the user with an easy-to-use tool. It enables to use all the above components without writing a single line of programme or command files. In that frame, users are able to save the data context for future work: they are able to save their set preferences for future uses, under a user-defined name, the area, period, mission, colour scale, type of visualisation and the parameters combinations they might have defined.
Python scripts plug-in
The toolbox now includes the functionality to use your own functions to process the data written as python scripts. The user of the toolbox is able to add its own python scripts to the toolbox without the need for any compilation and using the tool graphical user interface. Only Python 3 compatible scripts are supported (Python 2 scripts are not guaranteed to be executed).
In order to be able to plug-in your own scripts into the tool you will need to write a Python class that extends the class PyBratAlgoBase, defined in BratAlgorithmBase.py file included in the zip files provided below. Also contained in the zip files is an executable that allows to run an example of a Python class implementing the required methods. Currently this executable only works with Python 3.2.3 and is available for 32-bit and 64-bit Windows, Mac OS X and Linux (Debian 7) operating systems. Please see the README file for complete information on its usage.
The methods to be implemented in the Python class are the following :
|Run||Runs the algorithm (main function), which returns one single value||Python List with the required inputs to run the algorithm||Single float value (result of the computation)|
|GetName||Returns the name of the algorithm||None||String|
|GetDescription||Returns the description of the algorithm||None||String|
|GetNumInputParam||Returns the number of input parameters to pass to the 'Run' function||None||Integer with the number of inputs|
|GetInputParamDesc||Returns the description of an input parameter||Integer from 0 to 'number of parameters - 1'||String|
|GetInputParamFormat||Returns the format of an input parameter:|
Py_INT for integer;
Py_LONG for long;
Py_FLOAT for float;
Py_BYTE for byte;
Py_STRING for string;
|Integer from 0 to 'number of parameters - 1'||Integer with the input format|
|GetInputParamUnit||Returns the unit of an input parameter||Integer from 0 to 'number of parameters - 1'||String*|
|GetOutputUnit||Returns the unit of an output value returned by the 'Run' function||None||String*|
* The strings used for the units need to be compliant with the nomenclature used by UDUNITS library.
The following zip files are provided with the base Python class and executable example on how to use it for the different operating systems (please see README file for details on how to use it):