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