SUBROUTINE READFT(LUNIT,SUBSET,JDATE,IRET) C$$$ SUBPROGRAM DOCUMENTATION BLOCK C C SUBPROGRAM: READFT C PRGMMR: WOOLLEN ORG: NP20 DATE: 1996-10-09 C C ABSTRACT: THIS SUBROUTINE CALLS BUFR ARCHIVE LIBRARY SUBROUTINE C READMG IN FAULT-TOLERANT MODE. IT IS CONSIDERED OBSOLETE AND MAY C BE REMOVED FROM THE BUFR ARCHIVE LIBRARY IN A FUTURE VERSION. C USERS SHOULD MIGRATE TO THE DIRECT USE OF READMG (AS SHOWN BELOW). C C PROGRAM HISTORY LOG: C 1996-10-09 J. WOOLLEN -- ORIGINAL AUTHOR C 1998-07-08 J. WOOLLEN -- REPLACED CALL TO CRAY LIBRARY ROUTINE C "ABORT" WITH CALL TO NEW INTERNAL BUFRLIB C ROUTINE "BORT"; MODIFIED TO MAKE Y2K C COMPLIANT C 1999-11-18 J. WOOLLEN -- THE NUMBER OF BUFR FILES WHICH CAN BE C OPENED AT ONE TIME INCREASED FROM 10 TO 32 C (NECESSARY IN ORDER TO PROCESS MULTIPLE C BUFR FILES UNDER THE MPI); MODIFIED WITH C SEMANTIC ADJUSTMENTS TO AMELIORATE COMPILER C COMPLAINTS FROM LINUX BOXES (INCREASES C PORTABILITY) C 2000-09-19 J. WOOLLEN -- REMOVED MESSAGE DECODING LOGIC THAT HAD C BEEN REPLICATED IN THIS AND OTHER READ C ROUTINES AND CONSOLIDATED IT INTO A NEW C ROUTINE CKTABA, CALLED HERE, WHICH IS C ENHANCED TO ALLOW COMPRESSED AND STANDARD C BUFR MESSAGES TO BE READ; MAXIMUM MESSAGE C LENGTH INCREASED FROM 10,000 TO 20,000 C BYTES C 2003-11-04 S. BENDER -- ADDED REMARKS/BUFRLIB ROUTINE C INTERDEPENDENCIES C 2003-11-04 D. KEYSER -- UNIFIED/PORTABLE FOR WRF; ADDED C DOCUMENTATION (INCLUDING HISTORY); OUTPUTS C MORE COMPLETE DIAGNOSTIC INFO WHEN ROUTINE C TERMINATES ABNORMALLY C 2004-08-09 J. ATOR -- MAXIMUM MESSAGE LENGTH INCREASED FROM C 20,000 TO 50,000 BYTES C 2005-11-29 J. ATOR -- MARKED AS OBSOLETE AND ADDED PRINT C NOTIFICATION C C USAGE: CALL READFT (LUNIT, SUBSET, JDATE, IRET) C INPUT ARGUMENT LIST: C LUNIT - INTEGER: FORTRAN LOGICAL UNIT NUMBER FOR BUFR FILE C C OUTPUT ARGUMENT LIST: C SUBSET - CHARACTER*8: TABLE A MNEMONIC FOR TYPE OF BUFR MESSAGE C BEING READ C JDATE - INTEGER: DATE-TIME STORED WITHIN SECTION 1 OF BUFR C MESSAGE BEING READ, IN FORMAT OF EITHER YYMMDDHH OR C YYYYMMDDHH, DEPENDING ON DATELEN() VALUE C IRET - INTEGER: RETURN CODE: C 0 = normal return C -1 = there are no more BUFR messages in LUNIT or C I/O error reading BUFR message C C INPUT FILES: C UNIT "LUNIT" - BUFR FILE C C REMARKS: C THIS ROUTINE CALLS: READMG C THIS ROUTINE IS CALLED BY: IREADFT C Also called by application programs. C C ATTRIBUTES: C LANGUAGE: FORTRAN 77 C MACHINE: PORTABLE TO ALL PLATFORMS C C$$$ COMMON /QUIET / IPRT CHARACTER*8 SUBSET DATA IFIRST/0/ SAVE IFIRST C----------------------------------------------------------------------- C----------------------------------------------------------------------- IF(IFIRST.EQ.0) THEN IF(IPRT.GE.0) THEN PRINT* PRINT*,'+++++++++++++++++BUFR ARCHIVE LIBRARY++++++++++++++++++++' PRINT 101 101 FORMAT(' BUFRLIB: READFT - THIS SUBROUTINE IS NOW OBSOLETE; ', . 'USE SUBROUTINE READMG INSTEAD') PRINT*,'+++++++++++++++++BUFR ARCHIVE LIBRARY++++++++++++++++++++' PRINT* ENDIF IFIRST = 1 ENDIF CALL READMG(LUNIT*(-1),SUBSET,JDATE,IRET) RETURN END