[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: decoders] Grib File Data Extraction




I'm having problems spotting the necessary information in the indexer output.

I ran the indexer and got the output attached at the end.

Presumably this contains the necessary data for input to Grib1GetData,
namely the byte offset,

Grib1GetData [gribFile] [byte offset] [scale] [BMSExists]

But I can't spot the offset for the data section in the output of the indexer.
Where is it?


Indexer output:

index_version = 6.0
grid_edition = 1
location = data/seaTemp1
length = 390002
created = 2008-08-04T17:16:15Z
center = 58
sub_center = 0
table_version = 3
tiles = 1
thin = false
ensemble = false
--------------------------------------------------------------------
0 0 -1 80 78 1 0.0 255 0.0 2008-07-30T12:00:00Z 0 24011925 54 390002 2 false 58 0 3
--------------------------------------------------------------------
GDSkey = 24011925
grid_type = 0
grid_name = Latitude/Longitude Grid
grid_shape_code = 0
grid_shape = spherical
grid_radius_spherical_earth = 6367.47
Nx = 720
Ny = 361
La1 = -90.0
Lo1 = 0.0
ResCompFlag = 128
Winds = Relative
La2 = 90.0
Lo2 = -0.5
Dx = 0.5
Dy = 0.5
ScanningMode = 64


I want to extract data from the data record. Presmumably the Grib1GetData
class does this.


On Aug 2, 2008, at 8:57 AM, Robb Kambic wrote:

On Fri, 1 Aug 2008, Don McGregor wrote:

I'm looking for some examples of extracting data from grib files using
the Java decoders.
The Grib1Dump utility shows the output at the bottom of this message.
However, when I
load the file using the code below, I get zero records. I'm new to
grib files, and my understanding
is that there should be a record for each parameter.


Hiya,

GribDump is just to dump the headers of the Grib files, most Grib data is large so we use the index approach and a utility GribGetData ie

Grib(1|2)Indexer to index the records in the Grib file


# Grib(1|2)GetData to extract the data on a parameter basis.
# Parameter and level lookup routines. See Parameters

on the page:

http://www.unidata.ucar.edu/software/decoders/

there are Java docs that explain the routines in detail and what parameters to use.

Robb...



             ucar.unidata.io.RandomAccessFile raf = new
ucar.unidata.io.RandomAccessFile("data/seaTemp1","r");
             Grib1Input gribInput = new Grib1Input(raf);
             System.out.println("GRIB version is " +
gribInput.getEdition());

             List records = gribInput.getRecords();
             System.out.println("Number of records is " +
records.size());

Dump of the GRIB file:

                       Header : GRIB1
                   Discipline : 0 Meteorological Products
                 GRIB Edition : 1
                  GRIB length : 390002
           Originating Center : 58 U.S. Navy Fleet Numerical
Meteorology and Oceanography Center
       Originating Sub-Center : 0 WMO Secretariat
           Product Definition : 0 Forecast/Uninitialized Analysis/
Image Product
           Parameter Category : -1 Meteorological Parameters
               Parameter Name : 80 var80 temperature of sea  water
              Parameter Units : deg_K
               Reference Time : 2008-07-30T12:00:00Z
                   Time Units : hour
         Time Range Indicator : product valid at RT + P1
                  Time 1 (P1) : 0
                  Time 2 (P2) : 0
      Generating Process Type : 78 126 wave triangular, 28 layer
Spectral model from Medium Range Forecast run
                   Level Type : 1 surface
                Level Value 1 : 0.0
                Level Value 2 : 0.0
                   GDS Exists : true
                   BMS Exists : false
        Number of data points : 259920
                    Grid Name : Latitude/Longitude Grid
                    Grid Shape: 0 spherical
        Spherical earth radius: 6367.47
                           Nx : 720
                           Ny : 361
                          La1 : -90.0
                          Lo1 : 0.0
 Resolution & Component flags : 128
                        Winds : Relative
                          La2 : 90.0
                          Lo2 : -0.5
                           Dx : 0.5
                           Dy : 0.5
                Scanning mode : 64


_______________________________________________
decoders mailing list
address@hidden
For list information or to unsubscribe,  visit: 
http://www.unidata.ucar.edu/mailing_lists/


= = = = = = = = = ======================================================================
Robb Kambic                                Unidata Program Center
Software Engineer III                      Univ. Corp for Atmospheric Research
address@hidden             WWW: http://www.unidata.ucar.edu/
= = = = = = = = = ======================================================================