SUBROUTINE AP_IFPT ( loglev, rimnem, cimnem, iret ) C************************************************************************ C* AP_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* AP_IFPT ( LOGLEV, RIMNEM, CIMNEM, IRET ) * C* * C* Input parameters: * C* LOGLEV INTEGER Verbosity level * C* RIMNEM (*) CHAR* Interface mnemonics for reals * C* CIMNEM (*) CHAR* Interface mnemonics for chars * C* * C* Output parameters: * C* IRET INTEGER Return code * C* 0 = normal return * C* * C** * C* Log: * C* J. Ator/NCEP 10/08 * C* J. Ator/NCEP 11/12 Fix typo in FMT statement * C************************************************************************ INCLUDE 'GEMPRM.PRM' INCLUDE 'apcmn.cmn' C* CHARACTER*(*) rimnem (*), cimnem (*) C* CHARACTER*(*) CMLHDR PARAMETER ( CMLHDR = 'LTYP HGTM ' // + 'UDEV VDEV WCMP WDEV' ) C* INCLUDE 'ERMISS.FNC' C----------------------------------------------------------------------- iret = 0 C C* Print out the single-level character values. C CALL DC_IFPC ( loglev, cimnem, civals, icprvid, ierfpc ) C C* Print out the single-level real values. C CALL DC_IFPR ( loglev, rimnem, rivals, irnlvl, ierfpr ) C C* Print out the multi-level values. C DO jj = 1, INT ( rivals ( irnlvl ) ) C WRITE ( UNIT = logmsg, FMT = '( A, I3.3, A )' ) + '----- level ', jj, ' ----' CALL DC_WLOG ( loglev, 'DC', 2, logmsg, ierwlg ) C CALL DC_WLOG ( loglev, 'DC', 2, CMLHDR, ierwlg ) WRITE ( UNIT = logmsg, + FMT = '( F4.0, 3X, 3(F7.1,2X), F7.2, 2X, F7.1 )' ) + rivals ( irltyp ( jj ) ), rivals ( irhgtm ( jj ) ), + rivals ( irudev ( jj ) ), rivals ( irvdev ( jj ) ), + rivals ( irwcmp ( jj ) ), rivals ( irwdev ( jj ) ) CALL DC_WLOG ( loglev, 'DC', 2, logmsg, ierwlg ) C IF ( .not. ERMISS ( rivals ( irdrct ( jj ) ) ) ) THEN WRITE ( UNIT = logmsg, FMT = '( 5X, 4A10 )' ) + rimnem ( irdrct (1) ), cimnem ( icdrctqd (1) ), + rimnem ( irdrctqa (1) ), rimnem ( irdrctqr (1) ) CALL DC_WLOG ( loglev, 'DC', 2, logmsg, ierwlg ) WRITE ( UNIT = logmsg, + FMT = '( 5X, F10.2, 5X, A5, 2F10.2 )' ) + rivals ( irdrct ( jj ) ), civals ( icdrctqd ( jj )), + rivals ( irdrctqa ( jj ) ), rivals ( irdrctqr ( jj )) CALL DC_WLOG ( loglev, 'DC', 2, logmsg, ierwlg ) END IF C IF ( .not. ERMISS ( rivals ( irsped ( jj ) ) ) ) THEN WRITE ( UNIT = logmsg, FMT = '( 5X, 4A10 )' ) + rimnem ( irsped (1) ), cimnem ( icspedqd (1) ), + rimnem ( irspedqa (1) ), rimnem ( irspedqr (1) ) CALL DC_WLOG ( loglev, 'DC', 2, logmsg, ierwlg ) WRITE ( UNIT = logmsg, + FMT = '( 5X, F10.2, 5X, A5, 2F10.2 )' ) + rivals ( irsped ( jj ) ), civals ( icspedqd ( jj )), + rivals ( irspedqa ( jj ) ), rivals ( irspedqr ( jj )) CALL DC_WLOG ( loglev, 'DC', 2, logmsg, ierwlg ) END IF C IF ( .not. ERMISS ( rivals ( irvtmp ( jj ) ) ) ) THEN WRITE ( UNIT = logmsg, FMT = '( 5X, 4A10 )' ) + rimnem ( irvtmp (1) ), cimnem ( icvtmpqd (1) ), + rimnem ( irvtmpqa (1) ), rimnem ( irvtmpqr (1) ) CALL DC_WLOG ( loglev, 'DC', 2, logmsg, ierwlg ) WRITE ( UNIT = logmsg, + FMT = '( 5X, F10.2, 5X, A5, 2F10.2 )' ) + rivals ( irvtmp ( jj ) ), civals ( icvtmpqd ( jj )), + rivals ( irvtmpqa ( jj ) ), rivals ( irvtmpqr ( jj )) CALL DC_WLOG ( loglev, 'DC', 2, logmsg, ierwlg ) END IF C END DO C* RETURN END