SUBROUTINE UA_STLV  ( vsig, pres, hgtm, tmpc, dwpc, drct, sped,
     +			      awsb, awsa, iret )
C************************************************************************
C* UA_STLV								*
C*									*
C* This subroutine stores a level of multi-level data into the		*
C* interface arrays.							*
C*									*
C* UA_STLV  ( VSIG, PRES, HGTM, TMPC, DWPC, DRCT, SPED,			*
C*	      AWSB, AWSA, IRET )					*
C*									*
C* Input parameters:							*
C*	VSIG		REAL		Vertical sounding significance	*
C*	PRES		REAL		Pressure			*
C*	HGTM		REAL		Height				*
C*	TMPC		REAL		Temperature			*
C*	DWPC		REAL		Dew point temperature		*
C*	DRCT		REAL		Wind direction			*
C*	SPED		REAL		Wind speed			*
C*	AWSB		REAL		Wind shear below max. wind level*
C*	AWSA		REAL		Wind shear above max. wind level*
C*									*
C* Output parameters:							*
C*	RIVALS (IRNLEV)	REAL		Total number of levels stored	*
C*	RIVALS (IRVSIG)	REAL		Vertical sounding significance	*
C*	RIVALS (IRPRES)	REAL		Pressure in millibars		*
C*	RIVALS (IRHGTM)	REAL		Height in meters		*
C*	RIVALS (IRTMPC)	REAL		Temperature in Celsius		*
C*	RIVALS (IRDWPC)	REAL		Dew point temperature in Celsius*
C*	RIVALS (IRDRCT)	REAL		Wind direction in degrees	*
C*	RIVALS (IRSPED)	REAL		Wind speed in m/s		*
C*	RIVALS (IRAWSB)	REAL		Wind shear, in m/s, at 1km	*
C*					below maximum wind level	*
C*	RIVALS (IRAWSA)	REAL		Wind shear, in m/s, at 1km	*
C*					above maximum wind level	*
C*	IRET		INTEGER		Return code:			*
C*					  0 = normal return		*
C*					 -1 = data not stored because	*
C*					      MXNLEV was exceeded	*
C**									*
C* Log:									*
C* J. Ator/NCEP		12/97						*
C* J. Ator/NCEP		10/99	Clean up function declarations		*
C************************************************************************
	INCLUDE		'GEMPRM.PRM'
	INCLUDE		'uacmn.cmn'
C------------------------------------------------------------------------
	iret = 0
C
	nlevp1 = INT ( rivals ( irnlev ) ) + 1
	IF  ( nlevp1 .le. MXNLEV )  THEN
	    rivals ( irnlev ) = nlevp1
C
C*	    Vertical sounding significance values are stored in the
C*	    interface format as bit flags in accordance with
C*	    WMO BUFR Table 0 08 001.
C
	    rivals ( irvsig ( nlevp1 ) ) = vsig
	    rivals ( irpres ( nlevp1 ) ) = pres
	    rivals ( irhgtm ( nlevp1 ) ) = hgtm
	    rivals ( irtmpc ( nlevp1 ) ) = tmpc
	    rivals ( irdwpc ( nlevp1 ) ) = dwpc
	    rivals ( irdrct ( nlevp1 ) ) = drct
	    rivals ( irsped ( nlevp1 ) ) = sped
	    rivals ( irawsb ( nlevp1 ) ) = awsb
	    rivals ( irawsa ( nlevp1 ) ) = awsa
	ELSE
	    iret = -1
	    WRITE  ( UNIT = logmsg, FMT = '( I4, A )' )
     +		MXNLEV, ' levels of multi-level data'
	    CALL DC_WLOG  ( 2, 'UA', 5, logmsg, ierwlg )
	END IF
C*
	RETURN
	END