Introduction to Gridded Binary (GriB) Files
"Gridded Binary"
is an international format for the exchange of numeric data specified on a grid. It was designed to compactly encode weather
data at regular points on the Earth’s surface, but in principle one can encode
anything in GriB format. The simplest possible GriB file would contain exactly one record (also called
a message). A record gives
the grid values for a single weather parameter (e.g., sea-level
pressure) at a single forecast time (e.g., 72 hours from the computation
time.) The record has a header section
that describes the weather parameter, the grid layout, the reference time of
the record (roughly, when it was created), and a multitude of other stuff.
Please see the WMO
Manual on Codes, or see "A Guide to Grib Version
1" for more info (for example, http://badc.nerc.ac.uk/help/formats/grib/gribdoc.txt). (WMO = World
Meteorological Organization.)
Typically, a weather
file you download from a source such as Saildocs.com will contain multiple
parameter types (perhaps winds, sea level pressure, and 500mb heights.) Furthermore, for each parameter there
will be multiple forecast times. BLUEWATER (like pretty much every
other GriB display program) aggregates all the
records for a single parameter into a "forecast
sequence". You view and
manipulate sequences.
BLUEWATER also produces various special-purpose GriB sequences that are accessed through the Grib Manager. These contain data produced during optimization runs, and can be viewed like any other Grib record. The programs GriB interface is built on top of the freeware MEL library developed by the US Navy
Limitations On Grib Files
BLUEWATER RACING is only intended to handle weather data useful to mariners. The GriB format is very general, and there is no guarantee that BLUEWATER RACING can handle all possible cases, or even a majority of possible cases. BLUEWATER has handled GriB files from SAILDOCS, SAILFLOW, and ZYGRIB. It provides general support for the standard WMO weather parameters on simple latitude/longitude grids, and custom support for weather parameters like surface winds, temperatures, waves, cloud cover, sea-level pressure, and 500mb chart information.
The program supports only GriB Version 1 files. The GriB file must be a simple Lat/Lon grid. It cannot be Gaussian, Lambert Conformal, or any other special projection. A GDS (Grid Descriptor Section) must be present. (The program does not know about the WMO’s standard grids that can be specified without a GDS). The grid cannot be thinned or quasi-regular. Vector data must contain both U and V data. If the data spans the International Date Line, it will be broken into two subsets, one for each hemisphere. Fortunately, it seems that most of the weather data you can download satisfies these restrictions.
Weather Types (Parameters)
The
program will only display parameter types given in WMO Table 2.
The parameters that people use most often, such as wind or pressure,
have been given specific support. (The parameters with specific support can be seen by examining the
file “gribDescription.tcl”.) They include all the parameters
accessible through Saildocs, (10m and surface winds,
500mb heights, sea-level pressure), the Wave Watch 3 parameters (sea-level
winds, significant wave height, wave directions and wave periods), surface
temperatures, and cloud cover.
Beyond that, the program makes a best effort to display the parameter in
a reasonably sensible fashion.
There are no promises, and you may want to check out the feature for
viewing raw data described below.
Various
weather centers employ local extensions to WMO Table 2, using indices higher
than 127 to indicate additional custom parameters. Bluewater
Racing knows nothing about those extensions, and in addition it has
its own custom local parameters.
If you attempt to load a Grib file containing
parameter indices higher than 127, the program behavior is undetermined but
probably bad.
The
program supports “missing values” indicated in the BMS (Bit Map Section). I strongly recommend, however, that you
do not use wind data sets with missing values for performance calculations.
Contour lines for Sea Level pressure are labeled by the last two digits of their value in millibars E.g., 1016 becomes "16" and 986 is shown as "86". Contour lines for 500 mb charts are labeled by meter heights divided by 10. E.g. the 5640 m contour line is labeled 564. (The special 5640 line is also shown bold.) These display choices follow standard NOAA style. Wind barbs follow the convention that feathers are drawn pointing towards low pressure.