      SUBROUTINE LVDCODE (VC,IBUF4,NLEV)
C 
C     * FEB 28/91 - E.CHAN. 
C     * 
C     * DECODES LEVEL INFORMATION IN CCRN STANDARD LABELS GENERATED 
C     * BY SUBROUTINE LVCODE. 
C     * 
C     * VC = VERTICAL COORDINATE: PRESSURE IN MB OR (ETA*1000)
C     * IBUF4 = CODED LABEL FOR LEVEL IN THE FOLLOWING FORMS: 
C     *   1)  -XAAA = A.AA E-X     IF VC <  1 
C     *   2)   AAAA = AAAA         IF VC >= 1 
C 
      IMPLICIT REAL (A-H,O-Z),
     +INTEGER (I-N)
      DIMENSION IBUF4(NLEV), VC(NLEV) 
      CHARACTER STRING*8
C-----------------------------------------------------------------------
  
C     * RECONSTITUTE THE REAL NUMBER VC FROM THE INTEGER EXPONENT IX AND
C     * MANTISSA IAAA BY FIRST WRITING IX AND IAAA INTO STRING AS CHARACTER 
C     * DATA. THE NUMBER IS THEN READ BACK INTO VC IN E-FORMAT. 
  
      DO 100 L = 1, NLEV
        IF (IBUF4(L) .LT. 0) THEN 
          IX = IBUF4(L) / 1000
          IAAA = 1000*IX - IBUF4(L) 
          WRITE (STRING,1000) IAAA, IX-2
          READ  (STRING,1010) VC(L) 
        ELSE
          VC(L) = FLOAT(IBUF4(L)) 
        ENDIF 
  100 CONTINUE
C
      RETURN
C-----------------------------------------------------------------------
 1000 FORMAT (I3,'.E',I3.2) 
 1010 FORMAT (E8.0) 
      END 
