This icon performs an ODB/SQL query on an ODB database (ODB-1) or file (ODB-2). The result is always an ODB file (in ODB-2 format).
From Macro/Python the icon can be called as odb_filter().
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).
The ODB Filter Editor
It performs the query, defines which ODB columns should be interpreted as latitude, longitude and value(s) and specifies the plot type (symbol or wind plotting), as well.
Create a new ODB Visualiser icon (right-click in the desktop when no icons are selected and use the New icon ... menu) and rename it 'tb_plot'.
First, open its editor and set Odb Plot Type to 'Geo Points' to indicate that we want to plot the values on a map.
Second, drop your 'AMSUA.odb' database icon into the Odb Data field. This specifies the database for which the query will be performed.
Third, specify the ODB/SQL query and the way the columns are interpreted to generate the plot. We want to perform the following query:
|
In the ODB Visualiser interface this query cannot be typed in directly but has to be split into the following individual items:
Odb Latitude Variable: | specifies the name of the column holding the latitude data in the SELECT statement (here lat@hdr). |
Odb Longitude Variable: | specifies the name of the column holding the longitude data in the SELECT statement (here lon@hdr) |
Odb Value Variable | specifies the name of the column holding the value data in the SELECT statement (here obsvalue@body) |
Odb Where | specifies the WHERE statement. In our example it is as follows:
|
Last, we have to specify the units of the geographical co-ordinates (here lat@hdr and lon@hdr) in the Odb Coordinates Unit field. It is necessary since Metview requires geographical co-ordinates in degrees, but there is no general way to find out their units in an ODB database. Instead an explicit declaration is needed from the users. Our database stores co-ordinates in degrees. So, to correctly interpret our co-ordinate values Odb Coordinates Unit should be set to 'Degrees' (which is the default value so we do not need to change it).
Having finished the modifications your icon editor should look like this:
Remarks
- The ODB database for which the query is performed can be alternatively specified by the database path via the Odb Filename input field. Please note that the typed-in database path is only used by Metview if no database icon is present.
- The maximum number of rows accepted in the ODB retrieval is specified in the Odb Nb Rows input field. By default (-1) there is no upper limit for the number of rows.
- If column latlon_rad@desc is available in an ODB (it is defined for our 'AMSUA.odb' database) it tells us the geographical co-ordinate units. Its 0 value indicates degrees while 1 means radians (you can use the ODB Examiner to check this value for our database). Besides, it is worth mentioning that all ODBs retrieved from MARS, as a generic rule, use degrees as geographical co-ordinate units.
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
ODB Y Component Variable
ODB X Type
ODB Y Type
ODB X variable
ODB Y Variable
ODB Value Variable
ODB Metadata Variables
ODB Parameters
ODB From
ODB Where
ODB Orderby
ODB Query
Specifies the ODB/SQL query to run.
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 Coordinate Units
ODB Binning
Fail On Empty Output