Emoslib is now deprecated

Workstation:

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

where: ARCH = sgimips_n32, rs6000, alpha, solaris, hppa, linux

Supercomputers:

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

Note that the rs6000 libraries contain both underscored and non-underscored versions of modules.

Linux routines now compiled using the -byteswapio option with compiler pgf90.

BUFR routines

Gribex routines

    • Modified the behaviour for the accessing the local definition files
    • it was : "if -file doesn't exist- go to defaultDir if you have not found the file within $LOCAL_DEFINITION_TEMPLATES"

 

       It is now : "if file doesn't exist try to reconstruct the file name with center = 098 (ECMWF) and subcenter = 0" (findLocalDefinitionFile.c)

 

  • Changed EMOSLIB version number to 000281
  • Fix to check that the real GRIB length is consistent with the length value in the header file for very large grib products (ie >8Mb)
    This might not be the case because for very large grib products, the value in section 0 is multiplied by 120. If this is not consistent, KSEC0(1) is updated with the real value (gribex.F).
  • fix in dsect4a.F (2nd order pack of spectral coefficients) to leave the file pointer at the end of the data when very large product is found. The former procedure used the value in the gribfile, section 4 to position the pointer at the end when the function returns. However, because it is not possible to code a value bigger than 8388607, therefore the restored position was restored from bad value. The function now restore the position from the point reached after the last coefficient is read (only if big product is found).
  • Added : STREAM - 1024 daily archive hindcast , 1034 ensemble forecast overlap, 1039 ensemble forecast hindcasts (changed name), 1084 ensemble wave hindcast (changed name), 1085 wave hindcast, 1086 wave ensemble forecast overlap, 1087. TYPE - 29 Probability Boundaries, 36 Probability Distribution, 37 Cluster information. CLASS - 10 cosmo leps, CLASS 11 Ensemles, TYPE of LEVEL - 211 Ocean wave data, 212 - Wave spectra (grchk1.F)
  • Fix in handleLocalDefinitions.c to add support for arrays of signed integers.

Interpolation software

  • Changed the buffer sizes : JPGRIB_ISEC2 = 5000 (was 2048),  JPGRIB_ISEC4 = 2512 (was 2048) (parim.h).
  • Changet contants JPGTRUNC , JPSTRUNC in order to allow big resolutions T2047, N1048 (parim.h)
  • Changed PARAMETER ( JPMAXN =2048 )  (was 640), added code in order to recognise N1024 (jgetgg.F)
  • Added checking for a matching automatic trancation and corresponding gaussian grid for T255, T399, T799 and T2047 (hsp2gg.F)
  • Added definition for N1024  ( rgauss_1024.h )
  • Bug fixes for initialisation of several variables (hirlsm.F, hirlamw.F, intin.F, intfb.F, hirlam.F)
  • Added Frame and Bitmap support for wave data (intwave.F)
  • Bug fix - 10u and 10v values on first and last latitude(poles) (intfb.F)

PBIO routines

  • Fix in the function gribsize() for PBGRIB() to return the right value with very large grib products (>8Mb )This might not be the case because for very large grib products, the value in section 0 is multiplied by 120 - If a large product is found, the real data value is returned and the file pointer is left just at the finishing 7777 in the stream (before was after 7777+datalength%120)(readprod.c).