This icon can directly visualise ODB data using various plot types. Optionally it can perform an ODB/SQL query on the input ODB and visualises the resulting (intermediate) data. It works for both databases (ODB-1) and files (ODB-2).
From Macro/Python the icon can be called as odb_visualiser().
A tutorial about using ODB in Metview can be found here.
What is ODB?
ODB is a database developed at ECMWF to store and retrieve large volumes of meteorological observational and feedback data efficiently for use within the IFS.
Currently, ODB comes in two flavours:
- ODB-1 (the original hierarchical table format capable of running in a parallel environment within IFS)
- ODB-2 (a new flat format with a modern API used for archiving in MARS).
How does ODB/SQL query work in the ODB Visualiser?
We illustrate it with a simple example. Let us suppose we want to perform this ODB/SQL query on our data then want to plot the results as points on a map:
SELECT lat@hdr, lon@hdr, fg_depar@body WHERE vertco_reference_1@body = 5 ORDERBY obsvalue@body
Then in the icon editor we need to set the following parameters:
ODB Latitude Variable | lat@hdr |
ODB Longitude variable | lon@hdr |
ODB Value Variable | fg_depar@body |
ODB Where | vertco_reference_1@body = 5 |
ODB Orderby | obsvalue@body |
The ODB Visualiser Editor
ODB Plot Type
Specifies the plot type to be generated. The possible values are as follows:
- geo_points (points plotted onto a map)
- geo_vectors (vectors plotted onto a map)
- xy_points (points plotted into a Cartesian View)
- xy_vectors (vectors plotted into a Cartesian View)
- xy_binning (gridded values by binning plotted into a a Cartesian View)
The default value is: geo_points.
ODB Filename
Specifies the path to the input ODB.
ODB Data
Specifies the input ODB as an icon. If both an icon (in ODB Data) and a filename (in ODB Filename) are specified the icon takes precedence.
ODB Latitude Variable
Specifies the ODB column interpreted as latitude when ODB Plot Type is set to geo_points or geo_vectors. The default is lat@hdr.
ODB Longitude Variable
Specifies the ODB column interpreted as longitude when ODB Plot Type is set to geo_points or geo_vectors. The default is lon@hdr.
ODB X Component Variable
Specifies the ODB column interpreted as the x component of the vector when ODB Plot Type is set to geo_vectors or xy_vectors. The default is obsvalue@body.
ODB Y Component Variable
Specifies the ODB column interpreted as the y component of the vector when ODB Plot Type is set to geo_vectors or xy_vectors. The default is obsvalue@body#1.
ODB X Type
Specifies the type of the x coordinate when ODB Plot Type is set to xy_points, xy_vectors or xy_binning. The possible values are: number and date. The default is number.
ODB Y Type
Specifies the type of the y coordinate when ODB Plot Type is set to xy_points, xy_vectors or xy_binning. The possible values are: number and date. The default is number.
ODB X variable
Specifies the ODB column interpreted as the x coordinate when ODB Plot Type is set to geo_vectors, xy_vectors or xy_binning. The default is an empty string.
ODB Y Variable
Specifies the ODB column interpreted as the y coordinate when ODB Plot Type is set to geo_vectors, xy_vectors or xy_binning. The default is an empty string.
ODB Value Variable
Specifies the ODB column interpreted as the value in each plot type. The default is obsvalue@body.
ODB Metadata Variables
Specifies the list of columns extracted and added to the resulting ODB file on top of the columns directly used for visualisation. This parameter accepts wildcards (e.g. *.hdr
), to add all the columns from the source ODB to the result use : *
. The default is an empty string (no extra columns added).
ODB Parameters
The default is an empty string.
ODB From
Defines the FROM statement of the ODB/SQL query.
ODB Where
Defines the WHERE statement of the ODB/SQL query.
ODB Orderby
Defines the ORDERBY statement of the ODB/SQL query.
ODB NB Rows
Specifies the maximum number of rows in the result. If -1 is given here the number of rows is not limited in the output. The default value is -1.
ODB Coordinates Unit
Specifies the units of the geographical co-ordinates in the input ODB. The possible values are: degrees and radians. The default is degrees.
For older ODBs column latlon_rad@desc tells us the geographical co-ordinate units. Its 0 value indicates degrees while 1 means radians. Newer ODBs, especially the ones retrieved from MARS, as a generic rule, always use degrees as geographical co-ordinate units.
ODB Binning
Specifies the Binning to create gridded data out of scattered data when the ODB Plot Type is xy_binning.
Fail On Empty Output
When it is set to Yes the icon will not fail if the resulting ODB is empty (in Macro the return value is nil
while in Python it is None
). Otherwise when it is set to No the icon will fail on empty output. The default value is Yes.