ODB object

class Odb

What is ODB?

ODB (Observation DataBase) is a file-based database-like system developed at ECMWF to store and retrieve large volumes of meteorological observational and feedback data efficiently for use within the IFS.

Currently, ODB files come in two flavours:

  • ODB-1 (the original hierarchical table format capable of running in a parallel environment within IFS)

  • ODB-2 (a flat format with a modern API used for archiving in MARS).

Data from ODB can be extracted using the ODB/SQL query language, which is generally a small subset of SQL with some useful extensions.

Metview uses ECMWF’s ODC library for handling ODB-2 data. The documentation for how to construct queries with it can be found in the documentation of its predecessor, ODB API.

Construction

A ODB can be read from disk using read():

import metview as mv

d = mv.read("mydata.odb")

Examining ODB contents

If Metview has been built with its graphical user interface, the contents of an ODB can be inspected with the ODB Examiner, which can be started up from the user interface (right-click examine on the icon).

Filtering ODB

Filtering ODB data is performed with odb_filter(), which can perform an ODB/SQL query resulting in a new ODB:

Visualising ODB

The odb_visualiser() is used to visualise (and optionally filter) ODB data using various techniques and plot types.

List of methods

columns()

Returns column names from a Geopoints or Odb

to_dataframe()

Converts a Geopoints or Odb to a Pandas dataframe

values()

Returns the values from a data object

ODB functions

This is the list of all the functions related to Odb data.

append()

Appends the given data to file

file()

Returns a file handler for the specified filename

odb_filter()

Filters Odb data

odb_visualiser()

Defines visualisation for Odb data

read()

Reads the given file and returns a variable of the appropriate type

retrieve()

Retrieves data from MARS

write()

Writes/appends the given data to file