COST 717 information model

advertisement
HDF5 information model and implementation specification for
weather radar data
Version 1.2
Daniel B. Michelson1 , Iwan Holleman2 , Harri Hohti3 , and Morten Salomonsen4
1
Swedish Meteorological and Hydrological Institute
2
Royal Netherlands Meteorological Institute
3
Finnish Meteorological Institute
4
Norwegian Meteorological Institute
COST 717 Working Document WDF_02_200204_1
February 13, 2003
Abstract
This document proposes an information model with which the encoding, decoding and management of data and products from weather radar systems may be facilitated. This information
model is based on the use of ordinary words to store data and header information; this strategy is
demonstrated as being more intuitive than the use of numerical descriptors, which leads to easier
data management. An implementation of this information model is also specified which makes
use of the HDF5 file format developed and maintained by the HDF Group at the National Centre
for Supercomputing Applications, University of Illinois at Urbana-Champaign. The result manifests itself in the form of truly self-describing weather radar data files highly suitable for environments where data exchange between radars from different manufacturers, different organizations,
and/or different countries is conducted. Reference to Nordic conditions is made throughout this
document, yet the implications for use are global.
HDF5 for weather radar data
i
Contents
1
Introduction and motivation
1.1 And why use HDF5? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1
2
2
Definitions
2.1 Scalars . . . . . . . . . . .
2.1.1 Sequences . . . . .
2.2 Attributes . . . . . . . . .
2.3 Datasets . . . . . . . . . .
2.4 Groups . . . . . . . . . . .
2.5 Information model concept
.
.
.
.
.
.
2
3
3
3
3
4
4
3
4
5
6
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
Header attribute specification
3.1 Top-level what Group . . . . . . . . . . . . . . . . . . . .
3.2 where Group . . . . . . . . . . . . . . . . . . . . . . . .
3.2.1 where for polar data Groups . . . . . . . . . . . .
3.2.2 where for geographically referenced image Groups
3.2.3 where for cross-section data Group . . . . . . . .
3.2.4 where for vertical profiles . . . . . . . . . . . . .
3.2.5 where for vertical profile time series data Group .
3.3 how Group . . . . . . . . . . . . . . . . . . . . . . . . . .
3.4 what Group for Dataset objects . . . . . . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
5
5
6
7
7
8
9
9
10
13
Data specification
4.1 Polar Data . . . . . . . . . . . . . .
4.2 Image Data . . . . . . . . . . . . .
4.3 RHIs, cross sections and side panels
4.4 Profiles . . . . . . . . . . . . . . .
4.5 Time series of vertical profiles . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
15
15
15
15
16
17
Example file structures
5.1 Polar volume . . . . . . . . . .
5.2 Geographically referenced image
5.3 Cross-section . . . . . . . . . .
5.4 Vertical profile . . . . . . . . .
5.5 Profile-time data . . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
17
17
19
20
21
23
File naming conventions
.
.
.
.
.
.
.
.
.
.
24
COST 717 WDF_02_200204_1
HDF5 for weather radar data
ii
List of Tables
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
Mandatory top-level what header Attributes for all weather radar files.
File object strings and their meanings . . . . . . . . . . . . . . . . . . . .
where Attributes for scan objects. . . . . . . . . . . . . . . . . . . .
where Attributes for geographical image data Groups . . . . . . . .
where Attributes for cross-section data. . . . . . . . . . . . . . . . .
where Attributes for vertical profiles. . . . . . . . . . . . . . . . . . .
where Attributes for THVP data. . . . . . . . . . . . . . . . . . . . .
how Attributes for all objects. . . . . . . . . . . . . . . . . . . . . . .
NORDRAD, DMI, and KNMI radar “places” and their node designations. .
Radar System abbreviations and their meanings . . . . . . . . . . . . . . .
Processing Software abbreviations and their meanings . . . . . . . . . . . .
Method abbreviations and their meanings . . . . . . . . . . . . . . . . . .
Dataset-specific what header Attributes. . . . . . . . . . . . . . . .
Product abbreviations and their meanings . . . . . . . . . . . . . . . . . .
Quantity (variable) identifiers. . . . . . . . . . . . . . . . . . . . . . . . .
Datasets for vertical profile files. . . . . . . . . . . . . . . . . . . . . . . .
Example polar volume file structure . . . . . . . . . . . . . . . . . . . . .
Example image product file structure . . . . . . . . . . . . . . . . . . . . .
Example cross-section file structure . . . . . . . . . . . . . . . . . . . . .
Example profile file structure . . . . . . . . . . . . . . . . . . . . . . . . .
Example profiles-time product file structure . . . . . . . . . . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
5
6
7
8
8
9
9
10
11
12
12
13
13
14
14
16
17
19
20
21
23
COST 717 WDF_02_200204_1
HDF5 for weather radar data
1
1
Introduction and motivation
This document presents an information model developed for use with weather radar data and products.
Its implementation is also presented, which makes use of the Hierarchical Data Format version 5,
(HDF5). HDF5 is developed and maintained by the National Centre for Supercomputing Applications
(NCSA) at the University of Illinois at Urbana-Champaign1 . All references to attributes, data, types,
and so on, are in relation to those defined and used in the HDF5 documentation. The official HDF5
format documentation may be consulted for detail on the use of this format. Additionally, the HL-HDF
package, developed by SMHI, may be used along with its documentation 2 .
The information model given here is designed from the point of view of trying to keep all relevant
information from the three different radar manufacturers’ raw data, or polar volume data, presently in
use at the three institutes FMI, SMHI, and met.no. The exchange of polar volume data is aimed for
in such a way that each institute can use the exchanged data for generating products with the product
generation software supplied by their radar manufacturers. Use of a common data format throughout
the production chain simplifies management of both domestic and international networking.
At KNMI the operational infrastructure for the production and archiving of image data from satellites,
weather radars, and lightning detection systems will be replaced. A flexible and extendible file format
is needed to store the variety of data from these systems. Data from these systems will also be provided
to customers of KNMI in this (internal) file format. For both customers and users at KNMI, it is of
advantage when the number of different formats is limited and a variety of tools for data access and
viewing is freely available.
In both the Swedish network SWERAD and the Nordic network NORDRAD it is increasingly important to exchange data with higher quality and more quality-related information. Also, the operational
exchange of polar volumes internationally is expected with the introduction of a new software system for NORDRAD. This puts demands on the file format to be easy enough to extend and maintain
without the extensive effort of programmers to redesign the file format and its low level API. Use
of a proprietary format, such as one of those used by radar industry, is an unattractive solution since
each partner might have to pay license fees yet be unable to maintain the format themselves. Wellestablished non-proprietary formats such as HDF4 and netCDF are not as well designed as HDF5 for
our use, either due to their architectures or to lack of built-in compression.
Use of so-called “standard” meteorological formats (GRIB and BUFR) suffer from being subject to
tedious political and functional compromising, where the time from specification to official format
often takes several years. This procedure makes it slow and difficult to incorporate new technological
advances such as improved compression and storage of new types of data and quality-related information. While it is necessary to include the ability to import and export data in such formats, it would
be unwise to use one of them as the native format for use by modern systems.
Using a general-purpose, non-proprietary, Open Source, file format for our purposes offers several
major conceptual advantages over conventional industrial, proprietary, and even “standard” formats.
Open Source formats are most often developed by non-commercially oriented experts in the field with
the specific goal of creating a format which is general enough for most (e.g. scientific) purposes, high
1
2
Available at http://hdf.ncsa.uiuc.edu/HDF5/
Available at http://hdf.ncsa.uiuc.edu/tools5.html
COST 717 WDF_02_200204_1
HDF5 for weather radar data
2
performance, robust, and platform independent.
The organization also maintains and supports their format, in addition to their making all source
code, binaries, and documentation available for free. This makes such a format the most appropriate
conceptual solution, both within systems like SWERAD and outside it, since it offers the easiest
access of data to the users while the competency of the format developer insures that the format works
efficiently and securely in the real-time system environment.
1.1
And why use HDF5?
The basis of a file format is an information model and from the information model the file format’s API
is constructed. With HDF5 we already have an API interfacing with the HDF5 file format. So given
the information model, the need for a file API is reduced to creating a class, subroutine or function
interfacing with the HDF5 API, in effect a meta API, which is then used by the application implementing the information model. This is faster than using a conventional file format and will require
less effort and resources than the process of designing both the file format API and the application
using the API.
Compared to other formats, HDF5’s compression algorithm (ZLIB) is more efficient than NORDRAD’s and much more efficient than BUFR’s Run Length Encoding (RLE) algorithms. RLE is
reasonably efficient when the data set is mostly homogeneous, but less efficient with heterogeneous
data sets. Initial performance test results show that HDF5 is slower than the NORDRAD format, yet
faster than the BUFR-94 implementation using OPERA descriptors. HDF5 is faster than GRIB and
it has more efficient compression. Considering that we aim at exchanging polar volume data with
NORDRAD, a file format with efficient compression and platform independence is essential.
HDF5 is supported on a large number of Unix and Windows based platforms, and byte-order issues are
taken care of automatically. HDF5 files can easily be exchanged between different platforms. It can
also store data with most word types and depths. The format thus supports virtually any scientific data
with maximum flexibility, so operational exchange of, for example, 8-bit reflectivity, 16-bit spectral
width and/or 32-bit accumulated precipitation may be easily accommodated. Defining headers is
easily accomplished as well, which facilitates the definition of those attributes which are required
both now and in the future.
HDF5 is free, mature software from an organization with a proven track record. This means that
anyone has complete access to the source code and may develop/implement/maintain their applications themselves, easily following future modifications to the information model. This saves time and
money and gives the owner and user complete control over their own data.
2
Definitions
HDF5 allows data to be stored as Attributes, Datasets, Groups, and user-defined Compound
types. For use here, all types except user-defined Compound are permitted for use. In practice, all
of these types are manipulated through the use of general-purpose Node objects, i.e., a Node may be
any of the above mentioned types.
COST 717 WDF_02_200204_1
HDF5 for weather radar data
2.1
3
Scalars
Scalar values are stored in Attribute objects and may be any of the following, as defined in the
HDF5 documentation:
H5T_STD_I8BE, H5T_STD_I8LE, H5T_STD_I16BE, H5T_STD_I16LE,
H5T_STD_I32BE, H5T_STD_I32LE, H5T_STD_I64BE, H5T_STD_I64LE,
H5T_STD_U8BE, H5T_STD_U8LE, H5T_STD_U16BE, H5T_STD_U16LE,
H5T_STD_U32BE, H5T_STD_U32LE, H5T_STD_U64BE, H5T_STD_U64LE,
H5T_NATIVE_SCHAR, H5T_NATIVE_UCHAR, H5T_NATIVE_SHORT,
H5T_NATIVE_USHORT, H5T_NATIVE_INT, H5T_NATIVE_UINT,
H5T_NATIVE_LONG, H5T_NATIVE_ULONG, H5T_NATIVE_LLONG,
H5T_NATIVE_ULLONG, H5T_IEEE_F32BE, H5T_IEEE_F32LE,
H5T_IEEE_F64BE, H5T_IEEE_F64LE, H5T_NATIVE_FLOAT,
H5T_NATIVE_DOUBLE, H5T_NATIVE_LDOUBLE, H5T_STRING
In practice, this means that the native type on a given platform may be any of (pseudo-C syntax):
char, schar, uchar, short, ushort, int, uint, long, ulong, llong,
ullong, float, double, hsize, hssize, herr, hbool, string
It also means that a native type written on one platform will be read and automatically returned as the
corresponding native type on another platform.
Preferably, strings should be created using characters in the ISO-8859-1 character set, although support for UNICODE might be preferable in some circumstances.
2.1.1
Sequences
A special kind of string may be used to store sequences. A sequence contains comma-separated scalar
values in string notation. For example, a sequence is useful for storing the radar stations contributing
to a composite image, and in storing the elevation angles used in a polar volume of data.
2.2
Attributes
An Attribute is an HDF5 object used to store a header attribute or data. For our purposes, it is only
used to store header attributes. Note that the specification of strings is intended to be case sensitive.
2.3
Datasets
An HDF5 Dataset is a self-describing data object containing an n-dimensional array and attributes
describing it. The array type may be any of char, schar, uchar, short, ushort, int, uint,
long, ulong, llong, ullong, float, double on a given platform. The HL-HDF package
supports Datasets with up to four dimensions.
COST 717 WDF_02_200204_1
HDF5 for weather radar data
2.4
4
Groups
A Group is a top level object which is used to organize other objects. For example, a Group may
contain a collection of header Attributes, a collection of Datasets, or be the root object for the
complete contents of an HDF5 file.
2.5
Information model concept
The information model attempts to achieve a general-purpose model for storing both individual scans,
images and products, while also allowing series (time and/or space) of these types of information to
be stored using the same building-blocks. For example, an individual image product would have the
following structure:
/
/what
/where
/how
/image1
/image1/what
/image1/where
/image1/how
/image1/data
In this example, /image1/data is the actual Dataset object containing the product’s data.
A time series, for example, of such images would simply involve adding image1-imagen new
Groups.
Polar data works in the same way, with the exception that each scan is stored in a scan Group. Polar
volumes may be stored by collecting such scan Groups in the same way as images.
An important issue is understanding the relation between top level what, where and how and lower
level scan and image what, where and how. Attributes may be stored in one or both. Not all
Attributes need be stored in one or the other, so Attributes which do not change between data
objects may be stored at the top level, and Attributes that do change between data objects may be
stored at the lower levels. If a given Attribute appears both at the top and lower levels, then the
local level is the one that assumes precedence.
This concept allows for quite a bit of freedom and flexibility, so it is important that users exercise
good practice when making use of this information model.
COST 717 WDF_02_200204_1
HDF5 for weather radar data
3
5
Header attribute specification
Header attributes are collected in three Group objects, all of which may be used recursively.
Attributes which describe a given file’s contents and the time and place for which it represents are
collected in a Group called what. Attributes which describe a given file’s geographical characteristics (projection, corner coordinates, dimensions, scales) are collected in a Group called where.
The what and where Groups both contain mandatory Attributes only. Those Attributes
which collectively describe additional data/product characteristics, such as radar system, chosen algorithm, and quality-related information, are stored in a Group called how. All Attributes found
in how may be considered optional, although the use of those given in this document is highly recommended. Additional Attributes not specified in this document may only be stored in the how
Group.
Top-level header attributes are collected in what, where and how Group objects located directly
under the root Group ’/’. Each attribute is stored as an Attribute object containing a scalar value.
Some data/products may have Dataset-specific header attributes, in which case a the Dataset
and its header Attributes are collected in lower-level what, where and how Groups which are
associated with that Dataset.
The concept used here is that each Attribute is identified with a string, the idea being that this
is a more intuitive means of organizing data compared with numeric descriptors such as those used
by BUFR and GRIB. It also means that a file may be queried using the h5dump or hllist utilities
(equivalent of NORDRAD’s rr_head) to easily see and understand the contents of a file.
Mandatory header attributes for all files are given in Table 1. Note that all date and time information
is for the start of the volume scan according to OPERA3 recommendations.
Note that all geographical longitude/latitude coordinates are specified with positive easting values east
of the Greenwich meridian and positive northing values north of the equator.
3.1
Top-level what Group
In this section the content of the top-level what is described.
This Group contains mandatory Attributes only which collectively describe a given file’s contents and time of acquisition. These Attributes are given in Tables 1-14.
Table 1: Mandatory top-level what header Attributes for all
weather radar files.
Name
object
sets
Type
string
int
Format
-
Description
According to Table 2
The number of Datasets in the file. For vertical profiles, it’s the number of profiles in the file.
continued on next page
3
Operational Programme for the Exchange of Weather Radar Information. http://www.chmi.cz/OPERA/
COST 717 WDF_02_200204_1
HDF5 for weather radar data
6
continued from previous page
Name
version
Type
string
Format
H5rad M.m
date
time
string
string
YYYYMMDD
HHmmss
Description
Format or information model version. “M” is the major
version. “m” is the minor version. Software is encouraged to warn if it receives a file stored in a version which
is different from the one it expects. The software should,
however, proceed to read the file, ignoring Attributes
it does not understand.
Nominal Year, Month, and Day of the data/product
Nominal Hour, Minute, and Second, in UTC of the
data/product
Object strings may be any of those given in Table 2. For each Dataset, there may be an accompanying what Group with information specific to that Dataset, according to Table 13.
Table 2: File object strings and their meanings
String
PVOL
CVOL
SCAN
IMAGE
COMP
XSEC
VP
THVP
other
3.2
Description
Polar volume
Cartesian volume
Polar scan
2-D cartesian image
2-D cartesian composite image
2-D vertical cross section
1-D vertical profile
Time series of 1-D vertical profiles
User-defined
where Group
In this section the Attributes for the where Group are described. These are different for polar
or cartesian Datasets, i.e. containing scan and image Groups respectively.
Note that the use of the where Group is mandatory but that its placement may be either at the top
level of a given file, or at a lower level associated with a given Dataset. If where is found at the
top level, then it is assumed that its contents apply to all Datasets in the file. If where is found
at a lower level, then it must be located in a scan or image Group to which its contents apply.
If where exists at both the top and lower levels, then the contents of the local where override the
contents of the top level where.
Note as well that there can often be cases where some Attributes apply for all Datasets in a
file and others may be different for each Dataset. In such cases, the Attributes which apply to
all Datasets may be held in a top level where Group and those that change may be held in local
where Groups.
COST 717 WDF_02_200204_1
HDF5 for weather radar data
3.2.1
7
where for polar data Groups
This where Group contains mandatory Attributes only which collectively describe geographical
and geometrical characteristics of a given scan Dataset. Note that the Dataset itself is the object
containing the binary data and that where in this context describes that Dataset but is not actually
part of that Dataset. Section 2.5 illustrates how these two objects are related to each other.
Polar data, i.e. raw radar data as a function of azimuth and range, are stored in a scan Group,
and polar volume data are stored as a stack of these scan Groups. Each scan Group contains
azimuthal data from a single elevation and a single quantity.
Table 3: where Attributes for scan objects.
3.2.2
Name
lon
Type
float
lat
float
height
angle
xsize
ysize
xscale
float
float
int
int
float
Description
Longitude position of the radar antenna (degrees). Fractions of a degree are given in decimal notation.
Latitude position of the radar antenna (degrees). Fractions of a degree
are given in decimal notation.
Height of the centre of the antenna in meters above sea level.
Antenna elevation angle (degrees) above the horizon.
Number of range bins in each ray
Number of azimuth gates (rays) per scan
The distance in meters between two successive range bins
where for geographically referenced image Groups
This where Group contains mandatory Attributes only which collectively describe a given
image’s geographical and geometrical characteristics. Note that the Dataset itself is the object
containing the binary data and that where in this context describes that Dataset but is not actually
part of that Dataset. Section 2.5 illustrates how these two objects are related to each other.
The PROJ4 cartographic projections library from the United States Geological Survey 4 is an easy
and comprehensive means of managing geographically referenced information. PROJ4 is being used
increasingly in Sweden, the Nordic countries, and Europe. As a result, the most straight-forward
way of representing projection information in radar files is by means of the projection definition
string which is used with the library itself. For example, in a Swedish composite product, the Polar
Stereographic projection may be used with a spherical earth model (radius 6376177 m) and an origin
at 60◦ N and 14◦ E. The arguments used with PROJ4 to define this projection are +proj=stere
+a=6376177 +lat_0=90 +lon_0=14 +lat_ts=60 so this is what should be found as an
Attribute in the where Group associated with the Dataset used to store the composite data.
Note that USGS PROJ4 contains a complete set of arguments for specifying a given projection, including false easting/northing, rescaling of coordinates, choice of ellipsoid (or defining your own),
and defining oblique (rotated) projections.
4
ftp://kai.er.usgs.gov/pub/Proj.4/
COST 717 WDF_02_200204_1
HDF5 for weather radar data
8
Table 4: where Attributes for geographical image data
Groups
3.2.3
Name
projdef
Type
string
xsize
ysize
xscale
int
int
float
yscale
float
LL_lon
LL_lat
UR_lon
UR_lat
float
float
float
float
Description
The projection definition arguments, described on page 7, which can
be used with USGS PROJ4. See the PROJ4 documentation for usage
Number of pixels in the X dimension
Number of pixels in the Y dimension
Pizel size in the X dimension, in projection-specific coordinates (often
meters)
Pixel size in the Y dimension, in projection-specific coordinates (often
meters)
Longitude of the lower left pixel corner (OPERA recommendation)
Latitude of the lower left pixel corner (OPERA recommendation)
Longitude of the upper right pixel corner (OPERA recommendation)
Latitude of the upper right pixel corner (OPERA recommendation)
where for cross-section data Group
RHI and cross-sections are treated as a special form of cartesian images. The x-dimension of the
image represents the coordinate in the x/y-plane, while the y-dimension describes the vertical coordinate of the RHI or cross-section. To describe the geographical orientation and extend of a RHI or
cross-section a dedicated set of Attributes in the where Group has been defined. The geographical location of cross-sections is just given by longitudes and latitudes of start and stop positions.
The cross-sections are thus assumed to be taken along great-circles. In case they are taken along a
line in a plane of a geographical projection the deviation from the great-circle will be negligible for
visualization purposes.
Table 5: where Attributes for cross-section data.
Name
Type Description
Common attributes
xsize
int
Number of pixels in the horizontal dimension
ysize
int
Number of pixels in the vertical dimension
xscale
float Horizontal resolution in m
yscale
float Vertical resolution in m
RHI specific
lon
float Longitude position of the radar antenna (degrees). Fractions of a degree are given in decimal notation.
lat
float Latitude position of the radar antenna (degrees). Fractions of a degree
are given in decimal notation.
az_angle float Azimuth angle
range
float Maximum range in km
Cross section and side panel specific
continued on next page
COST 717 WDF_02_200204_1
HDF5 for weather radar data
9
continued from previous = page
Name
start_lon
start_lat
stop_lon
stop_lat
3.2.4
Type
float
float
float
float
Description
Start position’s longitude
Start position’s latitude
Stop position’s longitude
Stop position’s latitude
where for vertical profiles
This where Group contains mandatory Attributes only which collectively describe the geographical and geometrical characteristics of vertical profiles of horizontal winds and/or radar reflectivity.
Table 6: where Attributes for vertical profiles.
3.2.5
Name
lon
Type
float
lat
float
height
levels
interval
float
int
float
Description
Longitude position of the radar antenna (degrees). Fractions of a degree are given in decimal notation.
Latitude position of the radar antenna (degrees). Fractions of a degree
are given in decimal notation.
Height of the centre of the antenna in meters above sea level.
Number of points in the profile
Vertical distance (m) between height intervals, or 0.0 if variable
where for vertical profile time series data Group
Time series of vertical profiles are treated as a special kind of cartesian image. The x-dimension of
the image represents the time coordinate, while the y-dimension describes the vertical coordinate of
the profiles. The vertical profiles should be available with equidistant vertical levels and constant time
intervals. In absence of data at a certain level or for a certain time, the corresponding areas should
be filled with the “nodata” value. To describe the geographical location, the height levels, and the
time axis of the profile’s time series, a dedicated set of Attributes in the where Group has been
defined. Each THVP Dataset contains a single quantity. For wind profiles the THVP file will
contain at least two Datasets: one for the u-component and one for the v-component of the wind
field.
Table 7: where Attributes for THVP data.
Name Type Description
Common attributes
lon
float Longitude position of the radar antenna (degrees). Fractions of a degree are given in decimal notation.
continued on next page
COST 717 WDF_02_200204_1
HDF5 for weather radar data
10
continued from previous = page
3.3
Name
lat
Type
float
height
xsize
ysize
xscale
yscale
xoffset
float
int
int
float
float
float
yoffset
float
Description
Latitude position of the radar antenna (degrees). Fractions of a degree
are given in decimal notation.
Height of the centre of the antenna in meters above sea level.
Number of pixels on the time axis
Number of pixels in the vertical dimension
Time resolution in seconds
Vertical resolution in m
Time (UTC) of first profile/column in seconds after 00:00 UTC on the
day defined by the “date” Attribute in the what Group
Height of first level of profile in m
how Group
This Group contains recommended and other Attributes which provide additional and complimentary information which can be used to describe a given scan or image object, for example
information related to an object’s quality.
Note that the use of the how Group is optional and that its placement may be either at the top level
of a given file, or at a lower level associated with a given Dataset. If how is found at the top level,
then it is assumed that its contents apply to all Datasets in the file. If how is found at a lower level,
then it must be located in a scan or image Group to which its contents apply. If how exists at both
the top and lower levels, then the contents of the local how override the contents of the top level how.
Note as well that there can often be cases where some Attributes apply for all Datasets in a file
and others may be different for each Dataset. In such cases, the Attrs which apply to all Datasets
may be held in a top level where Group and those that change may be held in local where Groups.
For clarity, Table 8 containing recommended how Attributes is partitioned such that different
partitions contain different product-specific Attributes.
Table 8: how Attributes for all objects.
Name
Type
Description
General
WMO
place
int
string
Combined WMO block and station number or 0 if none assigned
Area identifier, e.g. according to table 9 or sswe for a regional
Swedish composite
Seconds after a standard 1970 epoch for which the starting time of the
data/product is valid. A compliment to “date” and “time” in Table 1.
Seconds after a standard 1970 epoch for which the ending time of the
data/product is valid. A compliment to “date” and “time” in Table 1.
According to Table 10
According to Table 11
startepochs
int
endepochs
int
system
software
string
string
continued on next page
COST 717 WDF_02_200204_1
HDF5 for weather radar data
11
continued from previous page
Name
zr_a
Type
float
Description
Z-R constant A in Z = A Rb , applicable to any product containing
reflectivity or precipitation intensity
zr_b
float
Z-R exponent b in Z = A Rb , applicable to any product containing
reflectivity or precipitation intensity
Data from individual radars
beamwidth
float
The radar’s half-power beamwidth (degrees)
wavelength
float
Wavelength in cm
rpm
float
The antenna speed in revolutions per minute
pulsewidth
float
Pulse width in µs
lowprf
int
Low pulse repetition frequency in Hz
highprf
int
High pulse repetition frequency in Hz
angles
sequence Elevation angles used when creating product
Polar data
azmethod
string
How raw data in azimuth are processed to arrive at the given value,
according to Table 12
binmethod
string
How raw data in range are processed to arrive at the given value, according to Table 12
Cartesian images including composites
angles
sequence Elevation angles in ascending order (OPERA recommendation), used
to generate the product
camethod
string
How cartesian data are processed, according to Table 12
nodes
sequence Radar nodes (Table 9) which have contributed data to the composite,
e.g. “’gbg’, ’osl’, ’cph’, ’kor”’
Vertical profile specific
minrange
float
Minimum range at which data is used when generating profile (km)
maxrange
float
Maximum range at which data is used when generating profile (km)
NI
float
Unambiguous velocity (Nyquist) interval (±m/s)
dealiased
int
1 if data has been dealiased, 0 if not
Table 9: NORDRAD, DMI, and KNMI radar “places” and their
node designations. The use of three-letter nodes makes it possible
to represent up to 17 576 radars if non-accented lettering is used.
The “place” name may use UNICODE characters
Place
Hægebostad
Oslo
Kiruna
Luleå
Örnsköldsvik
Östersund
Hudiksvall
Leksand
Node
hgb
osl
kir
lul
ovi
osu
hud
lek
continued on next page
COST 717 WDF_02_200204_1
HDF5 for weather radar data
12
continued from previous page
Place
Arlanda
Norrköping
Vara
Hemse
Karlskrona
Ängelholm
Korpo
Vantaa
Anjalankoski
Ikaalinen
Kuopio
Utajärvi
Luosto
Stevns
Sindal
Rømø
De Bilt
Den Helder
Node
arl
nkp
var
hem
kkr
ang
kor
van
anj
ika
kuo
uta
luo
ste
sin
rom
blt
dhl
Table 10: Radar System abbreviations and their meanings
String
GEMAxxx
EECxxx
ERICxxx
other
Meaning
Gematronik Meteor ACxxx Radar
EEC xxx Radar
Ericsson xxx Radar
other
Table 11: Processing Software abbreviations and their meanings
String
IRIS
EDGE
EWIS
RAINBOW
FROG
SWERAD
NORDRAD
RMV
other
Meaning
Sigmet IRIS
EEC Edge
Ericsson EWIS
Gematronik Rainbow
Gamic FROG, MURAN . . .
SWERAD
NORDRAD
DWD RMV
other
COST 717 WDF_02_200204_1
HDF5 for weather radar data
13
Table 12: Method abbreviations and their meanings
String
NEAREST
INTERPOL
AVERAGE
RANDOM
MDE
LATEST
MAXIMUM
DOMAIN
VAD
VVP
RGA
other
3.4
Meaning
Nearest neighbour or closest radar
Interpolation
Average of all values
Random
Minimum distance to earth
Most recent radar
Maximum value
User-defined compositing
Velocity azimuth display
Volume velocity processing
Gauge-adjustment
Experimental
what Group for Dataset objects
In this section the content of the what Group to be used with each Dataset is described. Note that
the linear transformation coefficients “gain” and “offset” should be set to 1 and 0 respectively if they
are not intended for use with a given Dataset.
Table 13: Dataset-specific what header Attributes.
Name
product
prodpar
Type
string
float
Format
-
quantity
string
-
startdate
starttime
enddate
endtime
string
string
string
string
Starting YYYYMMDD
Starting HHmmss
Ending YYYYMMDD
Ending HHmmss
gain
offset
nodata
float
float
float
-
Description
According to Table 14
Product parameter, i.e., height for CAPPI-based products (meters above the radar), elevation (degrees) for PPI, reflectivity level
(dBZ) for echo tops, integration period (hours) for precipitation
accumulation, azimuth (degrees) for RHI. For VIL, two values
are stored in a SIMPLE array: the bottom and top heights (m) of
the integration layer.
According to Table 15
Year, Month, and Day for the product
Hour, Minute, and Second for the product
Year, Month, and Day for the product
Hour, Minute, and Second for the product
Coefficient ’a’ in y=ax+b used to convert int to float
Coefficient ’b’ in y=ax+b used to convert int to float
Raw value used to denote areas void of data (never radiated).
Note that this Attribute is always a float even if the data in
question is in another format.
continued on next page
COST 717 WDF_02_200204_1
HDF5 for weather radar data
14
continued from previous page
Name
undetect
Type
float
Format
-
Description
Raw value used to denote areas below the measurement detection threshold (radiated but nothing detected). Note that this
Attribute is always a float even if the data in question is in
another format.
Table 14: Product abbreviations and their meanings
String
SCAN
PPI
CAPPI
PCAPPI
ETOP
ZMAX
RR
VIL
COMP
WRWP
RHI
XSEC
VSP
HSP
other
Meaning
A scan of polar data
Plan position indicator
Constant altitude PPI
Pseudo-CAPPI
Echo top
Maximum reflectivity
Accumulation
Vertically integrated liquid water
Composite
Wind profile
Range height indicator
Arbitrary vertical slice
Vertical side panel
Horizontal side panel
Experimental
Table 15: Quantity (variable) identifiers.
String
DBZ
LZDR
RATE
ACRR
HGHT
VIL
VRAD
WRAD
UWND
VWND
BRDR
Quantity [Unit]
Z [dBZ]
ZDR [dBZ]
RR [mm/h]
RRaccum. [mm]
H [km]
VIL [kg/m2 ]
Vrad [m/s]
Wrad [m/s]
U [m/s]
V [m/s]
0 or 1
QIDX
Quality [0-1]
Description
Logged reflectivity factor
Logged differential reflectivity factor
Rain rate
Accumulated precipitation
Height (of echotops)
Vertical Integrated Liquid water
Radial velocity
Spectral width of radial velocity
Component of wind in x-direction
Component of wind in y-direction
1 denotes a border where data from two or more radars meet in
composites, otherwise 0
A spatially analyzed quality weight index ranging from 0 (poorest) to 1 (best).
COST 717 WDF_02_200204_1
HDF5 for weather radar data
4
15
Data specification
All data arrays, both for polar and cartesian data, are stored as Dataset objects. Any of compression levels 1 to 6 are recommended. (HDF5’s built-in compression levels range from 0 (none) to 9
(maximum); levels above 6 tend to result in the algorithm using disproportionate resources relative to
gains in file size, which is why their use is not encouraged.) Examples of how Datasets and header
attributes are managed in HDF5 files are provided in Section 5.
4.1
Polar Data
Each scan in a polar volume file is contained in a Group denoted scann, where n is the scan index
in ascending order starting at 1. One variable only is represented in each scan Dataset. The
Attributes used to describe the characteristics of the data are contained in the Group’s what,
where and how Groups. The data itself is stored in a self-contained HDF5 Dataset.
The start of the first azimuth gate (the first pulse) always points due north and the first range bin is
that starting at the radar. This implies that the first azimuth gate covers the interval 0-1 ◦ assuming 360
azimuth gates per scan. Azimuth gates are ordered clockwise. In other words, range bins are stored
in the array’s equivalent X-dimension and azimuth gates in the Y-dimension. There is no mechanism
for specifying missing azimuth gates or range bins. This means that partial scans/rays must be filledin in order to complete them. Filled-in areas are identified by the “nodata” value specified in the
corresponding what Group.
4.2
Image Data
An image product in this context refers to 2-D cartesian quantitative data and not a visual graphic product. Each image is contained in a Group denoted imagen, where n is the layer index, in ascending
order where applicable, starting at 1. One variable only is represented in each image Dataset. The
Attributes used to describe the characteristics of the data are contained in the Group’s what,
where and how Groups. The data itself is stored in a self-contained HDF5 Dataset.
Binary arrays are ordered stored as one long unpadded binary string starting in the upper-left corner
and proceeding row by row (north to south), from left (west) to right (east). Areas void of the specified
variable are flagged using the “nodata” value specified in the corresponding what Group.
4.3
RHIs, cross sections and side panels
RHI, cross sections and side panels are a special form of image. RHIs taken with the antenna pointing
east start on the left and end on the right. If the antenna points west, then the RHI starts on the right
and ends on the left. RHIs pointing exactly south or north always start on the left and end on the right.
For cross sections, the left side of the image is the starting point and the right side is the finishing
point, regardless of the antenna’s azimuth angle. For side panels, the starting point is north for vertical
COST 717 WDF_02_200204_1
HDF5 for weather radar data
16
panels and west for horizontal panels. As with other image files, the first pixel is the upper-left one
and image content is ordered row-wise from top to bottom and left to right.
4.4
Profiles
In contrast to polar or cartesian data which use Datasets to store 2-D arrays, profiles use several
Datasets to store 1-D arrays representing different variables along a given profile. One variable is
stored in each Dataset. Levels in the profile are ordered sequentially in ascending order. A profile
is a Group called profilen containing several Datasets, each of which stores a variable for that
level.
At each profile, mandatory Datasets are specified in Table 16.
Table 16: Datasets for vertical profile files.
Name
Type Description
Mandatory
height
float Mean height of the level (m a s l)
Optional (recommended)
ff
float Mean horizontal wind velocity (m/s)
dd
float Mean horizontal wind direction (degrees)
ff_dev
float Velocity variability (m/s)
dd_dev
float Direction variability (m/s)
n
int
Sample size
dbz
float Logged radar reflectivity factor (dBZ)
dbz_dev float Variability of logged radar reflectivity factor (dBZ)
z
float Linear radar reflectivity factor (Z)
z_dev
float Variability of linear radar reflectivity factor (Z)
w
float Vertical velocity (m/s, positive upwards)
w_dev
float Vertical velocity variability (m/s)
div
float Divergence (s−1 )
div_dev float Divergence variation (s−1 )
def
float Deformation (s−1 )
def_dev float Deformation variation (s−1 )
ad
float Axis of dialation (0-360◦ )
ad_dev
float Variability of axis of dialation (0-360◦ )
chi2
float Chi-square value of wind profile fit
Note that all Datasets must be of equal length, in order to match the heights given in height.
Also, care should be taken in defining “nodata” and “undetect” Attributes, since these will be
applicable to all Dataset in the profile. It might therefore be advisable to use “conventional” meteorological flags such as -9999, for these purposes.
This way of storing vertical profiles can be used with time series of such profiles as well, but there is
a more efficient way of doing this which is specified in the next section.
COST 717 WDF_02_200204_1
HDF5 for weather radar data
4.5
17
Time series of vertical profiles
Time series of vertical profiles are treated as a special kind of cartesian images. The x-dimension of
the image represents the time coordinate, while the y-dimension describes the vertical coordinate of
the profiles. The vertical profiles should be available with equidistant vertical levels and constant time
intervals. In absence of data at a certain level or for a certain time, the corresponding areas should
be filled with the “nodata” value. As with other image files, the first pixel is the upper-left one, i.e.
the maximum height level of the first profile, and the image content is ordered row-wise from top to
bottom and left to right, i.e. from first profile to last profile in time series. This implies that the height
increment (“yscale”) will be negative! Each profile-time image Dataset contains a single quantity.
For wind profiles the profile-time file will contains at least two Datasets: one for the u-component
and one for the v-component of the wind field.
5
Example file structures
The following examples show how attributes and data are structured in different types of files. The
structure is very similar to that of a computer file system, which is why the “H” in HDF stands for
“hierarchy”.
Note that these examples do not show all the possibilities of storing weather radar data using this
information model, but only selected cases of good practice.
The identifier column shows the identifier strings exactly as they would be used in real applications.
In other words, when reading a given Attribute or Dataset, the user would provide the identifier
string as an argument and the Attribute or Dataset would be returned. Keep in mind that the
contents of a Group must be written to file together and that the Group itself must be defined before
its contents; otherwise the HDF5 software will crash. However, objects can be read in any arbitrary
order.
5.1
Polar volume
Table 17: Example polar volume file structure
Identifier
/
/what
/what/object
/what/sets
/what/version
/what/date
/what/time
/where
/where/lon
Value
PVOL
2
H5rad 1.2
20020318
064500
16.152
Description
Root Group
Top level what Group
A polar volume
Two Datasets in this file
This information model version
Date
Time
Top level where Group
Radar’s longitude position
continued on next page
COST 717 WDF_02_200204_1
HDF5 for weather radar data
18
continued from previous page
Identifier
/where/lat
/where/height
/where/xsize
/where/ysize
/how
/how/WMO
/how/place
/how/system
/how/software
/how/beamwidth
/how/wavelength
/scan1
/scan1/what
/scan1/what/product
/scan1/what/prodpar
/scan1/what/quantity
/scan1/what/startdate
/scan1/what/enddate
/scan1/what/starttime
/scan1/what/endtime
/scan1/what/gain
/scan1/what/offset
/scan1/what/nodata
/scan1/what/undetect
/scan1/where
/scan1/where/angle
/scan1/where/xscale
/scan1/how
/scan1/how/rpm
/scan1/how/startepochs
/scan1/how/endepochs
/scan1/how/pulsewidth
/scan1/how/lowprf
/scan1/how/highprf
/scan1/how/azmethod
Value
58.583
57.0
120
420
2570
Norrköping
ERIC
SWERAD
0.9
5.35
SCAN
0.5
DBZ
20020318
20020318
064500
064510
0.4
-30.0
255.0
0.0
0.5
2.0
6.0
1016430300.0
1016430310.0
2.0
250
250
RANDOM
/scan1/how/binmethod
/scan1/data
AVERAGE
Dataset
/scan2
/scan2/what
/scan2/what/product
/scan2/what/prodpar
/scan2/what/quantity
SCAN
1.2
VRAD
Description
Radar’s latitude position
Radar’s height above sea level
Range bins per azimuth gate
Azimuth gates per scan
Top level how Group
WMO block and station number
Radar’s location
Ericsson radar
SWERAD-specific software
Beamwidth
Wavelength in cm
Group containing a scan object
what for this scan
A scan of polar data
The scan’s elevation angle
Z (dBZ) data
Start date
End date
Start time
End time
’a’ in dbz = a×raw+b
’b’ in dbz = a×raw+b
Areas never radiated
Areas below detection threshold
where for this scan
Elevation angle for this scan
2 km range bins
how for this scan
Antenna speed in rpm
Start time in epoch seconds
End time in epoch seconds
µs
Low PRF in Hz
No dual PRF
Ericsson uses only one pulse in non-Doppler
mode
Range bins are averaged
Binary Dataset containing radar reflectivity
factor data
Group containing the next scan object
what for this scan
Another scan of polar data
The scan’s elevation angle
Radial velocity this time
continued on next page
COST 717 WDF_02_200204_1
HDF5 for weather radar data
19
continued from previous page
Identifier
/scan2/what/startdate
/scan2/what/enddate
/scan2/what/starttime
/scan2/what/endtime
/scan2/what/gain
/scan2/what/offset
/scan2/what/nodata
/scan2/what/undetect
/scan2/where
/scan2/where/angle
/scan2/where/xscale
/scan2/how
/scan2/how/rpm
/scan2/how/startepochs
/scan2/how/endepochs
/scan2/how/pulsewidth
/scan2/how/lowprf
/scan2/how/highprf
/scan2/how/azmethod
/scan2/how/binmethod
/scan2/data
5.2
Value
20020318
20020318
064515
064545
0.375
-48.0
255.0
0.0
1.2
1.0
2.0
1016430315.0
1016430345.0
0.5
900
1200
AVERAGE
AVERAGE
Dataset
Description
Start date
End date
Start time
End time
’a’ in vrad = a×raw+b
’b’ in vrad = a×raw+b
Areas never radiated
Areas below detection threshold
where for this scan
Elevation angle for this scan
1 km range bins
how for this scan
Antenna speed in rpm
Start time in epoch seconds
End time in epoch seconds
µs
Low PRF in Hz
High PRF in Hz
Ericsson averages pulses in Doppler
Range bins are averaged
Binary Dataset
Geographically referenced image
Table 18: Example image product file structure
Identifier
/
/what
/what/object
/what/sets
/what/version
/what/date
/what/time
/where
/where/projdef
/where/xsize
/where/ysize
Type
COMP
2
H5rad 1.2
20020318
064500
+proj=stere
+a=6376177
+lat_0=90
+lon_0=14
+lat_ts=60
512
512
Description
Root Group
Top level what Group
A cartesian composite image
Two Datasets in this file
This information model version
Date
Time
Top level where Group
USGS PROJ4 string used to define the used
projection
Columns
Rows
continued on next page
COST 717 WDF_02_200204_1
HDF5 for weather radar data
20
continued from previous page
Name
/where/xscale
/where/yscale
/where/LL_lon
/where/LL_lat
/where/UR_lon
/where/UR_lat
/how
/how/place
/how/software
/how/camethod
/how/nodes
/image1
/image1/what
/image1/what/product
/image1/what/prodpar
/image1/what/quantity
/image1/what/gain
/image1/what/offset
/image1/what/nodata
/image1/what/undetect
/image1/data
/image2
/image2/what
/image2/what/product
/image2/what/prodpar
/image2/what/quantity
/image2/what/gain
/image2/what/offset
/image2/what/nodata
Type
2.0
2.0
8.212
53.184
26.065
61.853
sswe
NORDRAD
MDE
’ang’,
’kkr’,
’hem’, ’gbg’,
’nkp’, ’arl’
PCAPPI
500
DBZ
0.4
-30.0
255.0
0.0
Dataset
COMP
500
BRDR
1.0
0.0
255.0
/image2/what/undetect
/image2/data
0.0
Dataset
5.3
Description
2 km east-west resolution
2 km north-south resolution
South-west corner longitude
South-west corner latitude
North-east corner longitude
North-east corner latitude
Top-level how Group
Regional Swedish composite
NORDRAD system generated this composite
NORDRAD’s compositing algorithm
Radars available for this composite
Group containing an image object
what for this image
A composite image
Based on 500 m Pseudo-CAPPI products
Z (dBZ) data
’a’ in dbz = a×raw+b
’b’ in dbz = a×raw+b
Uncovered areas
Areas void of detectable DBZ data
Binary Dataset
Group containing an image object
what for this image, in this case a bitmap
A composite image, sort-of
Based on 500 m Pseudo-CAPPI products
Border bitmap
no need to re-scale
no need to re-scale
Areas void of BRDR data (not actually
needed)
(not actually needed either)
Binary Dataset
Cross-section
Table 19: Example cross-section file structure
Identifier
/
/what
/what/object
Value
XSEC
Description
Root Group
Top level what Group
A cross section
continued on next page
COST 717 WDF_02_200204_1
HDF5 for weather radar data
21
continued from previous page
Identifier
/what/sets
/what/version
/what/date
/what/time
/where
/where/xsize
/where/ysize
/where/xscale
/where/yscale
/where/start_lon
/where/start_lat
/where/stop_lon
/where/stop_lat
/how
/how/WMO
/how/place
/how/system
/how/software
/how/beamwidth
/how/wavelength
/image1
/image1/what
/image1/what/product
/image1/what/prodpar
/image1/what/quantity
/image1/what/gain
/image1/what/offset
/image1/what/nodata
/image1/what/undetect
/image1/data
5.4
Value
1
H5rad 1.2
20020318
064500
222
41
500.0
200.0
16.0
58.0
16.0
59.0
2570
Norrköping
ERIC
SWERAD
0.9
5.35
XSEC
DBZ
0.4
-30.0
255.0
0.0
Dataset
Description
One Dataset in this file
This information model version
Date
Time
Top level where Group
Number of pixels in horizontal direction
Number of pixels in vertical direction
Horizontal resolution in m
Vertical resolution in m
Start position’s longitude
Start position’s latitude
Stop position’s longitude
Stop position’s latitude
Top level how Group
WMO block and station number
Radar’s location
Ericsson radar
SWERAD-specific software
Beamwidth
Wavelength in cm
Group containing a scan object
what for this scan
A cross-section through a volume file
No specific product parameter
Z (dBZ) data
’a’ in dbz = a×raw+b
’b’ in dbz = a×raw+b
Unradiated areas
Areas with no detectable data
Binary array containing radar reflectivity factor
data
Vertical profile
Table 20: Example profile file structure
Identifier
/
/what
/what/object
/what/sets
/what/version
Value
VP
2
H5rad 1.2
Description
Root Group
Top level what Group
A vertical profile
Two profiles in this file
This information model version
continued on next page
COST 717 WDF_02_200204_1
HDF5 for weather radar data
22
continued from previous page
Identifier
/what/date
/what/time
/what/nodata
/what/undetect
/where
/where/lon
/where/lat
/where/height
/where/levels
/where/interval
/how
/how/WMO
/how/place
/how/system
/how/software
/how/beamwidth
/how/wavelength
/how/rpm
/how/pulsewidth
/how/lowprf
/how/highprf
/how/azmethod
/how/binmethod
/how/angles
/how/maxrange
/how/NI
/how/dealiased
/profile1
/profile1/what
/profile2/what/time
/profile1/height
/profile1/ff
/profile1/dd
/profile1/dbz
/profile1/n
/profile2
/profile2/what
/profile2/what/time
/profile2/height
/profile2/ff
/profile2/dd
/profile2/dbz
/profile2/n
Value
20020318
064500
-9999.0
-9998.0
16.152
58.583
57.0
3
0.0
2570
Norrköping
ERIC
SWERAD
0.9
5.35
2.0
0.5
900
1200
AVERAGE
AVERAGE
0.5,0.9,1.3
25.0
48.0
0
064500
Dataset
Dataset
Dataset
Dataset
Dataset
070000
Dataset
Dataset
Dataset
Dataset
Dataset
Description
Date
Time
Unradiated areas
Radiated areas below detection threshold
Top level where Group
Radar’s longitude position
Radar’s latitude position
Radar’s height above sea level
Number of points along the profile
Variable vertical distance along the profile
Top-level how Group
WMO block and station number
Radar’s location
Ericsson radar
SWERAD-specific software
Beamwidth
Wavelength in cm
Antenna speed in rpm
µs
Low PRF in Hz
High PRF in Hz
Ericsson averages pulses in Doppler
Range bins are averaged
Elevation angles used
Data used out to 25 km
Pretty big unambiguous velocity interval
Data outside NI are wrapped
Group holding the first profile in the file
what for this profile
The nominal time for this profile
Height array
Velocity array
Direction array
Reflectivity factor array
Sample size array
Group holding the second profile in the file
what for this profile
The nominal time for this profile
Height array
Velocity array
Direction array
Reflectivity factor array
Sample size array
COST 717 WDF_02_200204_1
HDF5 for weather radar data
5.5
23
Profile-time data
Table 21: Example profiles-time product file structure
Identifier
/
/what
/what/object
/what/sets
/what/version
/what/date
/what/time
/what/startdate
/what/starttime
/what/enddate
/what/endtime
/where
/where/lon
/where/lat
/where/height
/where/xsize
/where/ysize
/where/xscale
/where/yscale
Type
THVP
3
H5rad 1.2
20020318
064500
20020317
180000
20020318
060000
5.179
52.102
45.0
96
41
900.0
-200.0
/where/xoffset
/where/yoffset
/how
/how/place
/how/software
/image1
/image1/what
/image1/what/product
/image1/what/prodpar
/image1/what/quantity
/image1/what/gain
/image1/what/offset
/image1/what/nodata
/image1/what/undetect
/image1/data
/image2
/image2/what
/image2/what/product
/image2/what/prodpar
/image2/what/quantity
/image2/what/gain
0.0
8000.0
blt
RAINBOW
WRWP
UWND
0.3
-38.0
255.0
-9999.0
Dataset
WRWP
VWND
0.3
Description
Root Group
Top level what Group
A time series of 1-D vertical profiles
Three Datasets in this file
This information model version
Nominal date of the product
Nominal time of the product
First profile’s date
First profile’s time
Last profile’s date
Last profile’s time
Top level where Group
Radar’s longitude position
Radar’s latitude position
Radar’s height above sea level
Columns / time points
Rows / height levels
A vertical profile every 15 minutes
Height difference between successive levels
in m
First profile at midnight, 0 seconds offset
Maximum height of profile, 8 km
Top-level how Group
KNMI radar in De Bilt
Rainbow software generated the profiles
Group containing an image object
what for this image
Wind profiles
No specific product parameter
U-wind component data
’a’ in u-wind = a×raw+b
’b’ in u-wind = a×raw+b
Unradiated areas
Areas void of u-wind data
Binary array
Group containing an image object
what for this image
Wind profiles
No specific product parameter
V-wind component data
’a’ in v-wind = a×raw+b
continued on next page
COST 717 WDF_02_200204_1
HDF5 for weather radar data
24
continued from previous page
Name
/image2/what/offset
/image2/what/nodata
/image2/what/undetect
/image2/data
/image3
/image3/what
/image3/what/product
/image3/what/prodpar
/image3/what/quantity
/image3/what/gain
/image3/what/offset
/image3/what/nodata
/image3/what/undetect
/image3/data
6
Type
-38.0
255.0
-9999.0
Dataset
WRWP
DBZ
0.5
-31.5
255.0
0.0
Dataset
Description
’b’ in v-wind = a×raw+b
Unradiated areas
Areas void of v-wind data
Binary array
Group containing an image object
what for this image
Wind profiles
No specific product parameter
Z (dBZ) data
’a’ in dbz = a×raw+b
’b’ in dbz = a×raw+b
Unradiated areas
Areas void of DBZ data
Binary array
File naming conventions
File strings describe (in as much detail as possible without being difficult to manage) the file’s contents, reflecting what kind of data or product, from which radar (if not a composite), and from which
date and time the information stored in it originates.
File strings must be designed such that they are supported by most commonly used operating systems
like various dialects of Unix, Windows, MacOS, and possibly VMS/OpenVMS. MS DOS 8.3 file
naming constraints, like DOS itself, should be avoided . . .
COST 717 WDF_02_200204_1
Download