SUBROUTINE MF_CRPF ( iubfma, iubfmn )
C************************************************************************
C* MF_CRPF								*
C*									*
C* This routine gets and stores the current profile data.		*
C*									*
C* MF_CRPF ( IUBFMA, IUBFMN )						*
C*									*
C* Input parameters:							*
C*	IUBFMA		INTEGER		Logical unit number of messages	*
C*					file for BUFR input stream	*
C*	IUBFMN		INTEGER		Logical unit number of messages	*
C*					file for BUFR output stream	*
C* Log:									*
C* J. Ator/NCEP		08/16						*
C************************************************************************
	INCLUDE		'GEMPRM.PRM'
	INCLUDE		'mfcmn.cmn'
C*
	REAL*8		GETVALNB, r8v
C*
	CHARACTER	tagpr*10
C*-----------------------------------------------------------------------
C
C*	First, check whether the report even contains a current profile.
C
	CALL GETTAGPR ( iubfma, 'CURRNTPF', 1, tagpr, iertg )
	IF ( iertg .ne. 0 ) RETURN
	CALL ST_LSTR ( tagpr, ltagpr, ier )
	CALL UFBINT ( iubfma, r8in, MXMN, MXLV, nlv,
     +		      '<' // tagpr(1:ltagpr) // '>' )
	IF ( IDNINT( r8in(1,1) ) .eq. 0 ) RETURN
C
C*	Get and store the current profile data.
C
	CALL DRFINI ( iubfmn, 1, 1, '<CURRPFDT>' )
	r8v = GETVALNB ( iubfma, 'CURRNTPF', 1, 'IDGT', -1 )
	CALL SETVALNB ( iubfmn, 'CURRNTPF', 1, 'IDGT', -1, r8v, ier )
	r8v = GETVALNB ( iubfma, 'CURRNTPF', 1, 'MSCM', -1 )
	CALL SETVALNB ( iubfmn, 'CURRNTPF', 1, 'MSCM', -1, r8v, ier )
	r8v = GETVALNB ( iubfma, 'CURRNTPF', 1, 'DTCC', -1 )
	CALL SETVALNB ( iubfmn, 'CURRNTPF', 1, 'DTCC', -1, r8v, ier )
	r8v = GETVALNB ( iubfma, 'CURRNTPF', 1, 'MRMV', -1 )
	CALL SETVALNB ( iubfmn, 'CURRNTPF', 1, 'MRMV', -1, r8v, ier )
	r8v = GETVALNB ( iubfma, 'CURRNTPF', 1, 'DIPR', -1 )
	CALL SETVALNB ( iubfmn, 'CURRNTPF', 1, 'DIPR', -1, r8v, ier )
	r8v = GETVALNB ( iubfma, 'CURRNTPF', 1, 'MDCL', -1 )
	CALL SETVALNB ( iubfmn, 'CURRNTPF', 1, 'MDCL', -1, r8v, ier )
C
	CALL GETTAGPR ( iubfma, 'SPOC', 1, tagpr, iertg )
	CALL UFBSEQ ( iubfma, r8in, MXMN, MXLV, nlv, tagpr )
	IF ( nlv .gt. 0 ) THEN
	    CALL DRFINI ( iubfmn, nlv, 1, '(CURRPFSQ)' )
	    CALL UFBSEQ ( iubfmn, r8in, MXMN, nlv, nlv2, 'CURRPFSQ' )
	END IF
C*
	RETURN
	END