SUBROUTINE EP_AFQM ( afsi, af, qm, corr ) C************************************************************************ C* EP_AFQM * C* * C* This subroutine sets the quality mark and correction flag based upon * C* the associated field significance and associated field value. * C* * C* EP_AFQM ( IUBFMA, CORR, IRET ) * C* * C* Input parameters: * C* AFSI REAL Associated field significance * C* AF REAL Associated field value * C* * C* Output parameters: * C* QM REAL Quality mark * C* (WMO BUFR Table 0 33 002) * C* CORR LOGICAL Corrected report indicator * C** * C* Log: * C* J. Ator/NCEP 03/06 * C************************************************************************ INCLUDE 'GEMPRM.PRM' INCLUDE 'epcmn.cmn' C* LOGICAL corr C* INCLUDE 'ERMISS.FNC' C*----------------------------------------------------------------------- iafsi = INT ( afsi ) IF ( iafsi .eq. 1 ) THEN C C* 1-bit indicator of quality (0 = good, 1 = suspect or bad ) C IF ( ERMISS ( af ) ) THEN qm = 1. ELSE qm = 0. END IF ELSE qm = RMISSD C C* An AFSI value of 21 denotes a 1-bit indicator of correction C* (0 = original value, 1 = corrected value). In either case, C* allow QM to retain its default value of "missing". C IF ( ( iafsi .eq. 21 ) .and. ( ERMISS ( af ) ) ) THEN corr = .true. ELSE IF ( iafsi .ne. 21 ) THEN WRITE ( UNIT = logmsg, FMT = '( A, I2 )' ) + 'Found AFSI value of ', iafsi CALL DC_WLOG ( 2, 'DC', 2, logmsg, ierwlg ) END IF END IF C* RETURN END