November 9, 1999
Workstation:
- /home/ma/emos/lib/${ARCH}/000070/libemos.R32.D64.I32.a
- /home/ma/emos/lib/${ARCH}/000070/libemos.R64.D64.I32.a
Supercomputer:
- /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.