../lib/numru/gphys/grib.rb

# Status

- only a Lon-Lat coordinate is supported
- only simple pakking is supported
- variable list is not complete for NCEP and ECMWF

# NumRu::Grib -- a class for Grib datasets

## Class Methods

#### `Grib.new(filename, mode="r")`

  make a new Grib object.

  ARGUMENTS

  - filename (String): name of the file to open
  - mode (String): IO mode. "r" (read only) or "w" (write only).

#### `Grib.open(filename)`

  open a Grib file.

#### `Grib.create(filename)`

  create a Grib file.

#### `Grib.is_aGrib?(filename)`

  return true when file is a Grib dataset

## Methods

#### `close`

#### `parse`

#### `path`

#### `var_names`

#### `var( name )`

#### `def_var( name )`

#### `enddef`

#### `write`

# NumRu::GribDim

## Class Methods

#### `new( vat, name, length )`

## Methods

#### `var`

#### `length`

#### `name`

#### `typecode`

#### `get`

#### `[indices]`

#### `put_att(key,val)`

#### `set_att(key,val)`

#### `att(key)`

#### `att_names`

#### `inspect`

# NumRu::GribVar

## Class Methods

#### `new( file, name, obj, dims )`

## Methods

#### `file`

#### `name`

#### `rank`

#### `total`

#### `set_var`

#### `set_miss`

#### `dim_names`

#### `dim( index )`

#### `ndims`

#### `def_dim(name,index)`

#### `put_att( key, value )`

#### `set_att( key, value )`

#### `att( key )`

#### `att_names`

#### `shape`

#### `typecode`

#### `get( indics )`

#### `[ indics ]`

#### `inspect`

    if pds1.time_range!=pds2.time_range
      $stderr.printf("time range is not same: #{pds1.time_range} != #{pds2.time_range}\n")
      return true

    end