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