SUBROUTINE MN_IFPT  ( loglev, rimnem, cimnem, iret )
C************************************************************************
C* MN_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* MN_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		06/01						*
C* C. Caruso Magee/NCEP 09/06	Add roadway data 			*
C* J. Ator/NCEP		04/12	Add decoding of VIS			*
C************************************************************************
	INCLUDE		'GEMPRM.PRM'
	INCLUDE		'mncmn.cmn'
C*
	CHARACTER*(*)	rimnem (*), cimnem (*)
C-----------------------------------------------------------------------
	iret = 0
C
	ncsl = ( icpresqd - 1 )
	CALL DC_IFPC  ( loglev, cimnem, civals, ncsl, ierfpc )
C
	nrsl = ( irpres - 1 )
	CALL DC_IFPR  ( loglev, rimnem, rivals, nrsl, ierfpr )
C
	CALL MN_IFPQ  ( loglev, rimnem, cimnem,
     +			irpres, icpresqd, irpresqa, irpresqr, ierfpq )
	CALL MN_IFPQ  ( loglev, rimnem, cimnem,
     +			iraltm, icaltmqd, iraltmqa, iraltmqr, ierfpq )
	CALL MN_IFPQ  ( loglev, rimnem, cimnem,
     +			irtmpk, ictmpkqd, irtmpkqa, irtmpkqr, ierfpq )
	CALL MN_IFPQ  ( loglev, rimnem, cimnem,
     +			irdwpk, icdwpkqd, irdwpkqa, irdwpkqr, ierfpq )
	CALL MN_IFPQ  ( loglev, rimnem, cimnem,
     +			irdrct, icdrctqd, irdrctqa, irdrctqr, ierfpq )
	CALL MN_IFPQ  ( loglev, rimnem, cimnem,
     +			irsped, icspedqd, irspedqa, irspedqr, ierfpq )
	CALL MN_IFPQ  ( loglev, rimnem, cimnem,
     +			irrpcp, icrpcpqd, irrpcpqa, irrpcpqr, ierfpq )
	CALL MN_IFPQ  ( loglev, rimnem, cimnem,
     +			irhovi, ichoviqd, irhoviqa, irhoviqr, ierfpq )
C
	IF  ( rivals ( irnpcp ) .gt. 0 )  THEN
	    WRITE ( UNIT = logmsg, FMT = '( 6A10 )' )
     +		rimnem ( irnpcp ),       rimnem ( irtphr (1) ),
     +		rimnem ( irtpcp (1) ),   cimnem ( ictpcpqd (1) ),
     +		rimnem ( irtpcpqa (1) ), rimnem ( irtpcpqr (1) )
	    CALL DC_WLOG  ( loglev, 'DC', 2, logmsg, ierwlg )
	    WRITE ( UNIT = logmsg,
     +		    FMT = '( 3F10.3, 5X, A5, 2F10.3 )' )
     +		rivals ( irnpcp ),       rivals ( irtphr (1) ),
     +		rivals ( irtpcp (1) ),   civals ( ictpcpqd (1) ),
     +		rivals ( irtpcpqa (1) ), rivals ( irtpcpqr (1) )
	    CALL DC_WLOG  ( loglev, 'DC', 2, logmsg, ierwlg )
C
	    IF  ( rivals ( irnpcp ) .gt. 1 )  THEN
		DO jj = 2, rivals ( irnpcp )
		    WRITE ( UNIT = logmsg,
     +			    FMT = '( 10X, 2F10.3, 5X, A5, 2F10.3 )' )
     +		     rivals ( irtphr (jj) ),
     +		     rivals ( irtpcp (jj) ),   civals ( ictpcpqd (jj) ),
     +		     rivals ( irtpcpqa (jj) ), rivals ( irtpcpqr (jj) )
	    	    CALL DC_WLOG  ( loglev, 'DC', 2, logmsg, ierwlg )
		END DO
	    END IF
C
	END IF
C
	IF  ( rivals ( irnsrd ) .gt. 0 )  THEN
	    WRITE ( UNIT = logmsg, FMT = '( 4A10 )' )
     +		rimnem ( irnsrd ),       rimnem ( irtpmi (1) ),
     +		rimnem ( irdfsord (1) ), rimnem ( irdrsord (1) )
	    CALL DC_WLOG  ( loglev, 'DC', 2, logmsg, ierwlg )
	    WRITE ( UNIT = logmsg, FMT = '( 4F10.3 )' )
     +		rivals ( irnsrd ),       rivals ( irtpmi (1) ),
     +		rivals ( irdfsord (1) ), rivals ( irdrsord (1) )
	    CALL DC_WLOG  ( loglev, 'DC', 2, logmsg, ierwlg )
C
	    IF  ( rivals ( irnsrd ) .gt. 1 )  THEN
		DO jj = 2, rivals ( irnsrd )
		    WRITE ( UNIT = logmsg,
     +			    FMT = '( 10X, 3F10.3 )' )
     +		     rivals ( irtpmi (jj) ),
     +		     rivals ( irdfsord (jj) ), rivals ( irdrsord (jj) )
	    	    CALL DC_WLOG  ( loglev, 'DC', 2, logmsg, ierwlg )
		END DO
	    END IF
C
	END IF
C
	IF  ( rivals ( irnrdw ) .gt. 0 )  THEN
	    WRITE ( UNIT = logmsg, FMT = '( 6A10 )' )
     +		rimnem ( irnrdw ),     rimnem ( irrdtm (1) ),
     +		rimnem ( irrlft (1) ), rimnem ( irrlip (1) ),
     +		rimnem ( irrdld (1) ), rimnem ( irrdst (1) ) 
	    CALL DC_WLOG  ( loglev, 'DC', 2, logmsg, ierwlg )
	    WRITE ( UNIT = logmsg, FMT = '( 6F10.3 )' )
     +		rivals ( irnrdw ),     rivals ( irrdtm (1) ),
     +		rivals ( irrlft (1) ), rivals ( irrlip (1) ),
     +		rivals ( irrdld (1) ), rivals ( irrdst (1) )
	    CALL DC_WLOG  ( loglev, 'DC', 2, logmsg, ierwlg )
C
	    IF  ( rivals ( irnrdw ) .gt. 1 )  THEN
		DO jj = 2, rivals ( irnrdw )
		    WRITE ( UNIT = logmsg,
     +			    FMT = '( 10X, 5F10.3 )' )
     +		     rivals ( irrdtm (jj) ),
     +		     rivals ( irrlft (jj) ), rivals ( irrlip (jj) ),
     +		     rivals ( irrdld (jj) ), rivals ( irrdst (jj) ) 
	    	    CALL DC_WLOG  ( loglev, 'DC', 2, logmsg, ierwlg )
		END DO
	    END IF
C
	END IF
C*
	RETURN
	END