<HTML> <BODY BGCOLOR=#ccccdd LINK=#0000aa VLINK=#0000ff ALINK=#ff0000 ><BASE TARGET="bottom_target"><PRE>
<A NAME='GETNTBE'><A href='../../html_code/bufr/getntbe.f.html#GETNTBE' TARGET='top_target'><IMG SRC="../../gif/bar_red.gif" border=0></A>
SUBROUTINE GETNTBE ( LUNT, IFXYN, LINE, IRET ) 13,3
C$$$ SUBPROGRAM DOCUMENTATION BLOCK
C
C SUBPROGRAM: GETNTBE
C PRGMMR: ATOR ORG: NP12 DATE: 2007-01-19
C
C ABSTRACT: THIS SUBROUTINE GETS THE FIRST LINE OF THE NEXT ENTRY IN
C THE SPECIFIED ASCII MASTER TABLE B OR MASTER TABLE D FILE. THIS
C LINE CONTAINS, AMONG OTHER THINGS, THE FXY NUMBER CORRESPONDING TO
C THIS ENTRY.
C
C PROGRAM HISTORY LOG:
C 2007-01-19 J. ATOR -- ORIGINAL AUTHOR
C
C USAGE: CALL GETNTBE
( LUNT, IFXYN, LINE, IRET )
C INPUT ARGUMENT LIST:
C LUNT - INTEGER: FORTRAN LOGICAL UNIT NUMBER OF ASCII FILE
C CONTAINING MASTER TABLE B OR MASTER TABLE D INFORMATION
C
C OUTPUT ARGUMENT LIST:
C IFXYN - INTEGER: BIT-WISE REPRESENTATION OF FXY NUMBER FOR
C NEXT TABLE ENTRY
C LINE - CHARACTER*(*): FIRST LINE OF NEXT TABLE ENTRY
C IRET - INTEGER: RETURN CODE:
C 0 = normal return
C -1 = end-of-file encountered while reading
C from LUNT
C -2 = I/O error encountered while reading
C from LUNT
C
C REMARKS:
C THIS ROUTINE CALLS: BORT2 IGETNTBL IGETFXY IFXY
C PARSTR
C THIS ROUTINE IS CALLED BY: RDMTBB RDMTBD
C Normally not called by any application
C programs.
C
C ATTRIBUTES:
C LANGUAGE: FORTRAN 77
C MACHINE: PORTABLE TO ALL PLATFORMS
C
C$$$
CHARACTER*(*) LINE
CHARACTER*128 BORT_STR1, BORT_STR2
CHARACTER*20 TAGS(4)
CHARACTER*6 ADSC
C-----------------------------------------------------------------------
C-----------------------------------------------------------------------
C Get the first line of the next entry in the file.
IRET = IGETNTBL ( LUNT, LINE )
IF ( IRET .EQ. 0 ) THEN
C The first field within this line should contain the
C FXY number.
CALL PARSTR
( LINE(1:20), TAGS, 4, NTAG, '|', .FALSE. )
IF ( NTAG .LT. 1 ) GOTO 900
IF ( IGETFXY ( TAGS(1), ADSC ) .NE. 0 ) GOTO 900
C Store the bit-wise representation of the FXY number.
IFXYN = IFXY ( ADSC )
ENDIF
RETURN
900 BORT_STR1 = 'BUFRLIB: GETNTBE - CARD BEGINNING WITH: ' //
. LINE(1:20)
BORT_STR2 = ' HAS BAD OR MISSING FXY NUMBER'
CALL BORT2
(BORT_STR1,BORT_STR2)
END