SUBROUTINE UT_PRVS  ( dcdstr )
C************************************************************************
C* UT_PRVS								*
C*									*
C* Given a string containing a decoder program name and version number,	*
C* this routine writes the string to the decoder log along with the	*
C* version numbers of the underlying GEMLIB, DECOD_UT, BRIDGE and	*
C* BUFRLIB software.							*
C*									*
C* UT_PRVS ( DCDSTR )							*
C*									*
C* Input parameter:							*
C*	DCDSTR		CHAR*		String containing decoder name	*
C*					and version number		*
C**									*
C* Log:									*
C* J. Ator/NCEP		02/11						*
C* J. Ator/NCEP		10/12	Update to v2.0.0 of decod_ut library	*
C* J. Ator/NCEP		11/13	Update to v3.0.0 of decod_ut library	*
C* J. Ator/NCEP		12/18	Update to v3.0.1 of decod_ut library,	*
C*				add printing of BRIDGE library version	*
C* M. Weiss/NCEP        05/2018 Update to v3.1.0 of decod_ut library    *
C*                              Added utrstn.f and utastn.f to read     *
C*                              high precision lat/lon from metar.tbl   *
C* J. Ator/NCEP		12/18	Use ERRWRT to print one long string to	*
C*				the decoder log.  This call to ERRWRT	*
C*				also forces the linker to pull in the	*
C*				local version of this routine prior to	*
C*				seeing the same reference name in the	*
C*				BUFRLIB.				*
C* J. Ator/NCEP         07/21   Remove call to DC_VERS                  *
C************************************************************************
	CHARACTER*(*)	dcdstr
C*
	CHARACTER	logmsg*200, cgvstr*20, cbvstr*8
C*-----------------------------------------------------------------------
	logmsg = '================================================'
	CALL DC_WLOG ( 0, 'DC', 2, logmsg, ierwlg )
C
C*	Get the GEMLIB version.
C
	CALL SS_VERS ( cgvstr, iervrs )
	CALL ST_NULL ( cgvstr, cgvstr, lensg, iernul )
C
C*	Get the BUFRLIB version.
C
	CALL BVERS ( cbvstr )
C
C*	Build and write the decoder log message.
C
	logmsg = 'This is ' // dcdstr // ', built using gemlib_v' //
     +	    cgvstr (9:lensg) // ', decod_ut_v4.0.0' //
     +	    ' and bufr_v' // cbvstr
	CALL ERRWRT ( logmsg )
C
	logmsg = '================================================'
	CALL DC_WLOG ( 0, 'DC', 2, logmsg, ierwlg )
C*
	RETURN
	END