SUBROUTINE MF_TMPF ( iubfma, iubfmn, got157 )
C************************************************************************
C* MF_TMPF								*
C*									*
C* This routine gets and stores the temperature/salinity profile data	*
C* for NC031006 reports.						*
C*									*
C* MF_TMPF ( IUBFMA, IUBFMN, GOT157 )					*
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*	GOT157		LOGICAL		.TRUE. iff the current input	*
C*					message contains a '315007'	*
C*					sequence descriptor in Section3 *
C* Log:									*
C* J. Ator/NCEP		08/16						*
C************************************************************************
	INCLUDE		'GEMPRM.PRM'
	INCLUDE		'mfcmn.cmn'
C*
	REAL*8		GETVALNB, r8v
C*
	LOGICAL		got157
C*
	CHARACTER	tagpr*10
C*-----------------------------------------------------------------------
C
	CALL GETTAGPR ( iubfma, 'SST1', 1, tagpr, iertg )
	CALL UFBSEQ ( iubfma, r8in, MXMN, MXLV, nlv, tagpr )
	IF ( nlv .gt. 0 ) THEN
	    IF ( got157 ) THEN
		r8v = GETVALNB ( iubfma, 'TMPSLNPF', 1, 'MSDM', -1 )
		CALL SETVALNB ( iubfmn, 'TMPSLNPF', 1, 'MSDM', -1,
     +				r8v, ier)
		r8v = GETVALNB ( iubfma, 'TMPSLNPF', 1, 'IDGT', -1 )
		CALL SETVALNB ( iubfmn, 'TMPSLNPF', 1, 'IDGT', -1,
     +				r8v, ier)
		r8v = GETVALNB ( iubfma, 'TMPSLNPF', 1, 'DIPR', -1 )
		CALL SETVALNB ( iubfmn, 'TMPSLNPF', 1, 'DIPR', -1,
     +				r8v, ier)
		r8v = GETVALNB ( iubfma, 'TMPSLNPF', 1, 'MDCL', -1 )
		CALL SETVALNB ( iubfmn, 'TMPSLNPF', 1, 'MDCL', -1,
     +				r8v, ier)
		DO jj = 1, nlv
		  DO ii = 1, 12
		    r8wk ( ii, jj ) = r8in ( ii, jj )
		  END DO  
		END DO
	    ELSE
		DO jj = 1, nlv
		  r8wk (  1, jj ) = r8in ( 1, jj )
		  r8wk (  2, jj ) = r8in ( 2, jj )
		  r8wk (  3, jj ) = r8in ( 3, jj )
		  r8wk (  4, jj ) = r8bfms
		  r8wk (  5, jj ) = r8bfms
		  r8wk (  6, jj ) = r8bfms
		  r8wk (  7, jj ) = r8in ( 4, jj )
		  r8wk (  8, jj ) = r8in ( 5, jj )
		  r8wk (  9, jj ) = r8in ( 6, jj )
		  r8wk ( 10, jj ) = r8bfms
		  r8wk ( 11, jj ) = r8bfms
		  r8wk ( 12, jj ) = r8bfms
		END DO 
	    END IF 
	    CALL DRFINI ( iubfmn, nlv, 1, '(TMSLPFSQ)' )
	    CALL UFBSEQ ( iubfmn, r8wk, MXMN, nlv, nlv2, 'TMSLPFSQ' )
	END IF
C*
	RETURN
	END