SUBROUTINE GP_BFIF ( iubfma, iret ) C************************************************************************ C* GP_BFIF * C* * C* This subroutine decodes a report from an GPS PW BUFR message, * C* converts it into interface output, and then writes the interface * C* output into the interface arrays. * C* * C* GP_BFIF ( IUBFMA, IRET ) * C* * C* Input parameters: * C* IUBFMA INTEGER Logical unit number of GPS * C* PW BUFR messages file * C* Output parameters: * C* RIVALS (IRYEAR) REAL Report year * C* RIVALS (IRMNTH) REAL Report month * C* RIVALS (IRDAYS) REAL Report day * C* RIVALS (IRHOUR) REAL Report hour * C* RIVALS (IRMINU) REAL Report minute * C* RIVALS (IRSLAT) REAL Latitude in degrees * C* RIVALS (IRSLON) REAL Longitude in degrees * C* RIVALS (IRSELV) REAL Station elevation (meters) * C* RIVALS (IRPRES) REAL Pressure in millibars * C* RIVALS (IRTMPK) REAL Temperature in Kelvin * C* RIVALS (IRRELH) REAL Relative humidity in % * C* RIVALS (IRTDEL) REAL Total delay in meters * C* RIVALS (IRETDL) REAL Error in total delay (meters) * C* RIVALS (IRHSDL) REAL Hydrostatic delay in meters * C* RIVALS (IREHSD) REAL Error in hydrostatic delay * C* (meters) * C* RIVALS (IRTPWT) REAL Integrated precipitable water * C* (kg/m**2) * C* RIVALS (IRWMTM) REAL Weighted mean temperature * C* (degrees Kelvin) * C* RIVALS (IRWDMF) REAL Wet delay mapping function * C* (dimensionless) * C* CIVALS (ICGPID) CHAR*8 ID number * C* IRET INTEGER Return code: * C* 0 = normal return * C** * C* Log: * C* C. Caruso Magee/NCEP 03/01 Modifying for dcgpsw. * C* J. Ator/NCEP 01/02 TMDB -> TMDBST, use PR_D100 * C************************************************************************ INCLUDE 'GEMPRM.PRM' C* INCLUDE 'gpcmn.cmn' C*----------------------------------------------------------------------- iret = 0 C CALL UT_BFCI ( iubfma, 'GPID', civals ( icgpid ), ierbci ) C CALL UT_BFRI ( iubfma, 'YEAR', rivals ( iryear ), ierbri ) CALL UT_BFRI ( iubfma, 'MNTH', rivals ( irmnth ), ierbri ) CALL UT_BFRI ( iubfma, 'DAYS', rivals ( irdays ), ierbri ) CALL UT_BFRI ( iubfma, 'HOUR', rivals ( irhour ), ierbri ) CALL UT_BFRI ( iubfma, 'MINU', rivals ( irminu ), ierbri ) CALL UT_BFRI ( iubfma, 'CLATH', rivals ( irslat ), ierbri ) CALL UT_BFRI ( iubfma, 'CLONH', rivals ( irslon ), ierbri ) CALL UT_BFRI ( iubfma, 'SELV', rivals ( irselv ), ierbri ) CALL UT_BFRI ( iubfma, 'TMDBST', rivals ( irtmpk ), ierbri ) CALL UT_BFRI ( iubfma, 'REHU', rivals ( irrelh ), ierbri ) CALL UT_BFRI ( iubfma, 'TDEL', rivals ( irtdel ), ierbri ) CALL UT_BFRI ( iubfma, 'ETDL', rivals ( iretdl ), ierbri ) CALL UT_BFRI ( iubfma, 'HSDL', rivals ( irhsdl ), ierbri ) CALL UT_BFRI ( iubfma, 'EHSD', rivals ( irehsd ), ierbri ) CALL UT_BFRI ( iubfma, 'WMTM', rivals ( irwmtm ), ierbri ) CALL UT_BFRI ( iubfma, 'WDMF', rivals ( irwdmf ), ierbri ) CALL UT_BFRI ( iubfma, 'TPWT', rivals ( irtpwt ), ierbri ) C CALL UT_BFRI ( iubfma, 'PRES', pres, ierbri ) rivals ( irpres ) = PR_D100 ( pres ) C* RETURN END