SUBROUTINE EL_IFPT ( loglev, rimnem, r8mnem, iret ) C************************************************************************ C* EL_IFPT * C* * C* This subroutine prints the interface values arrays to the decoder * C* log if the verbosity level is LOGLEV or higher. * C* * C* EL_IFPT ( LOGLEV, RIMNEM, IRET ) * C* * C* Input parameters: * C* LOGLEV INTEGER Verbosity level * C* RIMNEM (*) CHAR* Real interface mnemonics * C* R8MNEM (*) CHAR* Real*8 interface mnemonics * C* * C* Output parameters: * C* IRET INTEGER Return code * C* 0 = normal return * C* * C** * C* Log: * C* J. Ator/NCEP 11/00 * C* J. Ator/NCEP 05/01 Changed in response to EUMETSAT changes * C* J. Ator/NCEP 10/01 Simplify references to r8vals ( ) * C* J. Ator/NCEP 08/02 Use UT_BFMS for REAL*8 "missing" test * C* J. Ator/NCEP 10/04 Add capability for Japan & EUMS HRV/HWW * C* J. Ator/NCEP 09/06 Adjust for 3rd QC level in EUMG reports * C* J. Ator/NCEP 03/09 Use IBFMS instead of UT_BFMS * C* S. Guan/NCEP 06/14 Add RPSEQ1 and MDPT2 * C************************************************************************ INCLUDE 'GEMPRM.PRM' INCLUDE 'elcmn.cmn' C* CHARACTER*(*) rimnem (*), r8mnem (*) C* C* Format statements. C* 111 FORMAT ( 6 ( 2X, A6 ) ) 222 FORMAT ( 6 ( 2x, F4.0, 2X ) ) 333 FORMAT ( A6, A, G12.4 ) 555 FORMAT ( 5 ( 2X, A6 ) ) 666 FORMAT ( 5 ( 2x, F4.0, 2X ) ) C----------------------------------------------------------------------- iret = 0 C CALL DC_IFPR ( loglev, rimnem, rivals, NRSIMN, ierfpr ) C C* Reports from RJTD and EUMG contain 3 QC levels, whereas reports C* from EUMS contain 2. For purposes of this routine, just always C* print 3 QC levels, and the last level for EUMS reports will just C* contain "missing" values. C nqc = 3 C WRITE ( UNIT = logmsg, FMT = 111 ) + rimnem ( irpccfgc (1) ), rimnem ( irpccfga (1) ), + rimnem ( irpccfpr (1) ), rimnem ( irpccfdr (1) ), + rimnem ( irpccfsp (1) ), rimnem ( irpccfct (1) ) CALL DC_WLOG ( loglev, 'DC', 2, logmsg, ierwlg ) DO ii = 1, nqc WRITE ( UNIT = logmsg, FMT = 222 ) + rivals ( irpccfgc (ii) ), rivals ( irpccfga (ii) ), + rivals ( irpccfpr (ii) ), rivals ( irpccfdr (ii) ), + rivals ( irpccfsp (ii) ), rivals ( irpccfct (ii) ) CALL DC_WLOG ( loglev, 'DC', 2, logmsg, ierwlg ) END DO C WRITE ( UNIT = logmsg, FMT = 111 ) + rimnem ( irmaqcgc (1) ), rimnem ( irmaqcga (1) ), + rimnem ( irmaqcpr (1) ), rimnem ( irmaqcdr (1) ), + rimnem ( irmaqcsp (1) ), rimnem ( irmaqcct (1) ) CALL DC_WLOG ( loglev, 'DC', 2, logmsg, ierwlg ) DO ii = 1, nqc WRITE ( UNIT = logmsg, FMT = 222 ) + rivals ( irmaqcgc (ii) ), rivals ( irmaqcga (ii) ), + rivals ( irmaqcpr (ii) ), rivals ( irmaqcdr (ii) ), + rivals ( irmaqcsp (ii) ), rivals ( irmaqcct (ii) ) CALL DC_WLOG ( loglev, 'DC', 2, logmsg, ierwlg ) END DO C WRITE ( UNIT = logmsg, FMT = 111 ) + rimnem ( irncthgc (1) ), rimnem ( irncthga (1) ), + rimnem ( irncthpr (1) ), rimnem ( irncthdr (1) ), + rimnem ( irncthsp (1) ), rimnem ( irncthct (1) ) CALL DC_WLOG ( loglev, 'DC', 2, logmsg, ierwlg ) DO ii = 1, nqc WRITE ( UNIT = logmsg, FMT = 222 ) + rivals ( irncthgc (ii) ), rivals ( irncthga (ii) ), + rivals ( irncthpr (ii) ), rivals ( irncthdr (ii) ), + rivals ( irncthsp (ii) ), rivals ( irncthct (ii) ) CALL DC_WLOG ( loglev, 'DC', 2, logmsg, ierwlg ) END DO C DO ii = 1, NR8IMN IF ( IBFMS ( r8vals ( ii ) ) .eq. 0 ) THEN WRITE ( UNIT = logmsg, FMT = 333 ) + r8mnem ( ii ), '= ', r8vals ( ii ) CALL DC_WLOG ( loglev, 'DC', 2, logmsg, ierwlg ) END IF END DO C WRITE ( UNIT = logmsg, FMT = 555 ) + rimnem ( irfttsig (1) ), rimnem ( irfthour (1) ), + rimnem ( irftminu (1) ), rimnem ( irftseco (1) ), + rimnem ( irsdwdir (1) ) CALL DC_WLOG ( loglev, 'DC', 2, logmsg, ierwlg ) DO ii = 1, 4 WRITE ( UNIT = logmsg, FMT = 666 ) + rivals ( irfttsig (ii) ), rivals ( irfthour (ii) ), + rivals ( irftminu (ii) ), rivals ( irftseco (ii) ), + rivals ( irsdwdir (ii) ) CALL DC_WLOG ( loglev, 'DC', 2, logmsg, ierwlg ) END DO C WRITE ( UNIT = logmsg, FMT = 555 ) + rimnem ( irsdtsig (1) ), rimnem ( irsdhour (1) ), + rimnem ( irsdminu (1) ), rimnem ( irsdseco (1) ), + rimnem ( irsdwspd (1) ) CALL DC_WLOG ( loglev, 'DC', 2, logmsg, ierwlg ) DO ii = 1, 4 WRITE ( UNIT = logmsg, FMT = 666 ) + rivals ( irsdtsig (ii) ), rivals ( irsdhour (ii) ), + rivals ( irsdminu (ii) ), rivals ( irsdseco (ii) ), + rivals ( irsdwspd (ii) ) CALL DC_WLOG ( loglev, 'DC', 2, logmsg, ierwlg ) END DO C WRITE ( UNIT = logmsg, FMT = 111 ) + rimnem ( irshamd (1) ), rimnem ( irsprlc (1) ), + rimnem ( irstmdbst (1) ), rimnem ( irshamd (1) ), + rimnem ( irsprlc (1) ), rimnem ( irstmdbst (1) ) CALL DC_WLOG ( loglev, 'DC', 2, logmsg, ierwlg ) DO ii = 1, 10, 2 WRITE ( UNIT = logmsg, FMT = 222 ) + rivals ( irshamd (ii) ), rivals ( irsprlc (ii) ), + rivals ( irstmdbst (ii) ), rivals ( irshamd (ii+1) ), + rivals ( irsprlc (ii+1) ), rivals ( irstmdbst (ii+1) ) CALL DC_WLOG ( loglev, 'DC', 2, logmsg, ierwlg ) END DO C* RETURN END