include file: TYPGRIB 3
*IF DEF,RECON                                                              TYPGRIB.2      
!--------------------COMDECK TYPGRIB------------------------------------   TYPGRIB.3      
!                                                                          TYPGRIB.4      
! Description:                                                             TYPGRIB.5      
!   Initialises array lengths required for GRIB coding and decoding        TYPGRIB.6      
!                                                                          TYPGRIB.7      
! Current Code Owner:  D.M.Goddard                                         TYPGRIB.8      
!                                                                          TYPGRIB.9      
! History:                                                                 TYPGRIB.10     
! Version  Date     Comment                                                TYPGRIB.11     
! -------  ----     -------                                                TYPGRIB.12     
! 4.0      27/02/95 Original code. D.M. Goddard                            TYPGRIB.13     
! 4.4      05/08/97 Correct value of LEN_BLOCK1 to prevent                 UDG3F404.25     
!                   overwriting on T3E and declare missing argument        UDG3F404.26     
!                   Author D.M. Goddard                                    UDG3F404.27     
!                                                                          TYPGRIB.14     
! Declarations:                                                            TYPGRIB.15     
! Global parameters:                                                       TYPGRIB.16     
      INTEGER      LEN_MAX    !Maximum length of GRIB field                TYPGRIB.17     
      INTEGER      LEN_VERT   !Length of array VERT                        TYPGRIB.18     
      INTEGER      LEN_BITMAP !Length of array BITMAP                      TYPGRIB.19     
      INTEGER      LEN_Q      !Length of array Q                           TYPGRIB.20     
      INTEGER      LEN_BLOCK0 !Length of array BLOCK0                      TYPGRIB.21     
      INTEGER      LEN_BLOCK1 !Length of array BLOCK1                      TYPGRIB.22     
      INTEGER      LEN_BLOCK2 !Length of array BLOCK2                      TYPGRIB.23     
      INTEGER      LEN_BLOCK3 !Length of array BLOCK3                      TYPGRIB.24     
      INTEGER      LEN_BLOCK4 !Length of array BLOCK4                      TYPGRIB.25     
      INTEGER      LEN_BLOCKR !Length of array BLOCKR                      TYPGRIB.26     
      INTEGER      LEN_WORK1  !Length of array WORK1                       TYPGRIB.27     
      INTEGER      LEN_WORK2  !Length of array WORK2                       TYPGRIB.28     
      INTEGER      LEN_WORKR  !Length of array WORKR                       TYPGRIB.29     
      INTEGER      LEN_POSN   !Length of array POSN                        TYPGRIB.30     
      INTEGER      ERROR      !Error code                                  TYPGRIB.31     
      INTEGER      WORD_SIZE  !64-bits for cray 32-bits for others         TYPGRIB.32     
      INTEGER      WIDTH      !Number of bits used to code field           TYPGRIB.33     
      INTEGER      MSGLVL     !The lowest level of messages to be          UDG3F404.28     
                              !produced. 3 = no messages,                  UDG3F404.29     
                              ! 2 = errors, 1 = errors and warnings,       UDG3F404.30     
                              ! 0 = errors, warnings and notes.            UDG3F404.31     
                                                                           TYPGRIB.34     
      PARAMETER(LEN_MAX=140000)                                            UDG3F404.32     
      PARAMETER(LEN_VERT=3000)                                             TYPGRIB.36     
      PARAMETER(LEN_BITMAP=1)                                              TYPGRIB.37     
      PARAMETER(LEN_Q=1)                                                   TYPGRIB.38     
      PARAMETER(LEN_BLOCK0=4)                                              TYPGRIB.39     
      PARAMETER(LEN_BLOCK1=1000)                                           UDG3F404.33     
      PARAMETER(LEN_BLOCK2=20)                                             TYPGRIB.41     
      PARAMETER(LEN_BLOCK3=2)                                              TYPGRIB.42     
      PARAMETER(LEN_BLOCK4=2)                                              TYPGRIB.43     
      PARAMETER(LEN_BLOCKR=20)                                             TYPGRIB.44     
      PARAMETER(LEN_WORK1=288)                                             TYPGRIB.45     
      PARAMETER(LEN_WORK2=500)                                             TYPGRIB.46     
      PARAMETER(LEN_WORKR=288)                                             TYPGRIB.47     
      PARAMETER(LEN_POSN=4)                                                TYPGRIB.48     
      PARAMETER(ERROR=11)                                                  TYPGRIB.49     
      PARAMETER(WORD_SIZE=64)                                              TYPGRIB.50     
      PARAMETER(WIDTH=0)                                                   TYPGRIB.51     
      PARAMETER(MSGLVL=0)                                                  UDG3F404.34     
                                                                           TYPGRIB.52     
! Global scalars:                                                          TYPGRIB.53     
      INTEGER      LEN_FP     !Length of array FP_DATA                     TYPGRIB.54     
      INTEGER      NUM_FP     !Number of encoded values to be decoded      TYPGRIB.55     
      INTEGER      NUM_VERT   !Number of values in array VERT_COORDS       TYPGRIB.56     
      INTEGER      NUM_BITMAP !Number of values in bit map                 TYPGRIB.57     
      INTEGER      NUM_Q      !Number of values in array QUASI             TYPGRIB.58     
      INTEGER      JLEN       !Length of array                             TYPGRIB.59     
      INTEGER      WORD       !Number of words coded or decoded            TYPGRIB.60     
      INTEGER      IERR_UNIT  !Error code level                            TYPGRIB.61     
                                                                           TYPGRIB.62     
      REAL         OFF        !Not used                                    TYPGRIB.63     
                                                                           TYPGRIB.64     
! Global dynamic arrays:                                                   TYPGRIB.65     
      INTEGER      BLOCK0(LEN_BLOCK0)     !!                               TYPGRIB.66     
      INTEGER      BLOCK1(LEN_BLOCK1)     !!                               TYPGRIB.67     
      INTEGER      BLOCK2(LEN_BLOCK2)     !!GRIB message header blocks     TYPGRIB.68     
      INTEGER      BLOCK3(LEN_BLOCK3)     !!                               TYPGRIB.69     
      INTEGER      BLOCK4(LEN_BLOCK4)     !!                               TYPGRIB.70     
      INTEGER      BITMAP(LEN_BITMAP)     !Array containing bit map        TYPGRIB.71     
      INTEGER      QUASI(LEN_Q)           !Array containing description    TYPGRIB.72     
                                          !of quasi-regular grid           TYPGRIB.73     
      INTEGER      WORK_INT1(LEN_WORK1)   !Work array                      TYPGRIB.74     
      INTEGER      WORK_INT2(LEN_WORK2)   !Work array                      TYPGRIB.75     
                                                                           TYPGRIB.76     
      REAL         BLOCKR(LEN_BLOCKR)     !!GRIB message header block      TYPGRIB.77     
      REAL         FPDATA(LEN_MAX)        !Array containing uncoded data   TYPGRIB.78     
      REAL         FPWORK(LEN_MAX)        !Work array                      TYPGRIB.79     
      REAL         VERT_COORDS(LEN_VERT)  !Array containing vertical       TYPGRIB.80     
                                          !coordinate parameters           TYPGRIB.81     
      REAL         WORK_RE1(LEN_WORKR)    !Work array                      TYPGRIB.82     
      REAL         POSN(LEN_POSN)         !Not used                        TYPGRIB.83     
                                                                           TYPGRIB.84     
!- End of COMDECK declaration                                              TYPGRIB.85     
                                                                           TYPGRIB.86     
      PARAMETER(IERR_UNIT=6)                                               UDG3F404.35     
                                                                           UDG3F404.36     
                                                                           TYPGRIB.87     
                                                                           TYPGRIB.88     
*ENDIF                                                                     TYPGRIB.89     
!-----------------------------------------------------------------------   TYPGRIB.90