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