Time Axis

The portal may have to deal with several different types of time axis:

  • Discrete times: the simplest case
  • Time blocks: for averaged data, e.g. monthly means.
  • Complex blocks: e.g. climatological means, such as data averaged within each month and then over years.

The NetCDF CF convention provides for a full description of the type of time axis using the cell_methods attribute and ancillary arrays for bounds. This information is, however, hard to decode.

There are two options:

The clean route

  • Modify CSML to include the information
  • Modify the WMS to pass a representation of this information
  • Adapt the User Interface to present a range of different types of time axis

A first step along this route is being taken within IS-ENES: constructing a python module to interpret the cell-methods, time and climatological bounds information in netcdf CF files.

The practical route

  • Categorise the type of time axis and place the information in a configuration file
  • Create an interface which allows the User Interafce to query the configuration file
  • Adapt the User Interface to present a range of different types of time axis

The second of these options avoids two potential problems:

  • long development times on CSML
  • Information in cell_methods and associated ancillary arrays may not be coded correctly.

In both cases we need to decide how best to display the different categories of time axis.

Update: 15 Oct

As a first step, we will attempt to implement a system in which the capabilities statement served by the WMS includes an additional metadata URL pointing at an XML document which can be used by the WmsUserInterface? to create a custom time selection menu.

The XML document will contain "selection lists" and a time value list. The time value corresponding to a particular user selection from the selection lists will be determined by the following rule:

  • one list: use same index
  • two lists: index_1*lenght_2 + index_2, where subscripts refer to the value of the order tag of the selection list
  • three lists: (index_1*lenght_2 + index_2)*length_3 + index_3,
  • etc

The XML document will be generated either by scanning the netcdf files with a python package which can interpret the bounds and cell_methods or by hand editting.

The plan is that csmlscan should have an option which allows a URL pointing to the XML document to be included in the CSML. The WMS will then pick up this URL and pass in on in the capabilities statement.

How the WmsUserInterface? recognises this has not yet been decided -- need to check what can be passed in the capabilities statement by way of categorising additional metadata.

Associated with: Ticket 42