Emoslib is now deprecated

November 9, 1999 


  • /home/ma/emos/lib/${ARCH}/000070/libemos.R32.D64.I32.a
  • /home/ma/emos/lib/${ARCH}/000070/libemos.R64.D64.I32.a


  • /home/ma/emos/lib/000070/libemos.R32.D64.I32.a
  • /home/ma/emos/lib/000070/libemos.R64.D64.I32.a

Gribex routines

  • GRIBEX version number changed to 13.030.
  • Check parameter number and local table 2 number against values in WMO standard versions of table 2 (parameters), and local tables from other centres. The directory of tables may be specified through a preprocessing directive or via an environment variable.
  • Changes to the initialisation mechanism for global variables.
  • KSEC4(22:24) used to give access to extra GRIBEX variables (as KSEC4(21) for non-missing points of bit-masked field, namely bit-map pointer to primary bit-map (if any), full length and unused bit count of section 4.
  • Allow values 1 to 255 for identification of centre (code table 0).
  • Allow for degenerate case when 'number of bits per packed value' is zero; use 8 bits per value instead.
  • Modify binary scale factor computation when 'number of bits per packed value' is close to number of bits per computer integer.
  • Decimal scale factor taken into account for 'X' option.
  • Use of pre-computed bit widths for some optimisations.
  • Enable simple packing as a backup method for HOPER='C' when no 2nd-order method may be applied.
  • Reintroduction of run-time switches used to keep a control on extended methods and sub-methods (these switches being now set initially to on for consistency with GRIBEX 13.023) in exhaustive mode (kept to off).

Interpolation software

  • Rotation coefficients for 'standard' rotations go into PPDIR, others into TMPDIR. 
  • Interpolate stretched grids. 
  • Read reduced gaussian definitions of 'known' grids via a path specified by an environment variable or in a standard directory. 
  • Use separate coefficient files for each latitude increment (ie not multiples of 0.5). 
  • Accept the data representation codes for rotated grids when making land-sea masks. 
  • Routines handling interpolation coefficients in shared memory use an index into the PB file handle table (instead of the file handle). 
  • Change order of checks to see if input and output are the same (allows for rotation and change of accuracy). 
  • Fix bug which led to spectral rotation coefficients being continually regenerated. 
  • The generation of interpolation coefficients now controlled by values set in an environment variable (CONFIG_INTERP). 
  • Add C function (emosPrecision) which indicates the precision used for REALs. 

Binary file handling

  • Correct bug in PBREAD2 (to return number of bytes read when EOF hit).
  • Use setvbuf to allocate buffers for C I/O routines.