NCEPLIBS-bufr  11.5.0
 All Data Structures Files Functions Variables Pages
nemtbd.f File Reference

Go to the source code of this file.

Functions/Subroutines

subroutine nemtbd (LUN, ITAB, NSEQ, NEMS, IRPS, KNTS)
 THIS SUBROUTINE RETURNS A LIST OF THE MNEMONICS (I.E., "CHILD" MNEMONICS) CONTAINED WITHIN A TABLE D SEQUENCE MNEMONIC (I.E., A "PARENT MNEMONIC"). More...
 

Detailed Description

Author
WOOLLEN
Date
1994-01-06

Definition in file nemtbd.f.

Function/Subroutine Documentation

subroutine nemtbd (   LUN,
  ITAB,
  NSEQ,
character*8, dimension(*)  NEMS,
dimension(*)  IRPS,
dimension(*)  KNTS 
)

THIS SUBROUTINE RETURNS A LIST OF THE MNEMONICS (I.E., "CHILD" MNEMONICS) CONTAINED WITHIN A TABLE D SEQUENCE MNEMONIC (I.E., A "PARENT MNEMONIC").

THIS INFORMATION SHOULD HAVE BEEN PACKED INTO THE INTERNAL BUFR TABLE D ENTRY FOR THE PARENT MNEMONIC (IN MODULE TABABD) VIA PREVIOUS CALLS TO BUFR ARCHIVE LIBRARY SUBROUTINE PKTDD. NOTE THAT NEMTBD DOES NOT RECURSIVELY RESOLVE CHILD MNEMONICS WHICH ARE THEMSELVES TABLE D SEQUENCE MNEMONICS; RATHER, SUCH RESOLUTION MUST BE DONE VIA SEPARATE SUBSEQUENT CALLS TO THIS SUBROUTINE.

PROGRAM HISTORY LOG: 1994-01-06 J. WOOLLEN – ORIGINAL AUTHOR 1995-06-28 J. WOOLLEN – INCREASED THE SIZE OF INTERNAL BUFR TABLE ARRAYS IN ORDER TO HANDLE BIGGER FILES 1998-07-08 J. WOOLLEN – REPLACED CALL TO CRAY LIBRARY ROUTINE "ABORT" WITH CALL TO NEW INTERNAL BUFRLIB ROUTINE "BORT" 1999-11-18 J. WOOLLEN – THE NUMBER OF BUFR FILES WHICH CAN BE OPENED AT ONE TIME INCREASED FROM 10 TO 32 (NECESSARY IN ORDER TO PROCESS MULTIPLE BUFR FILES UNDER THE MPI) 2000-09-19 J. WOOLLEN – MUST NOW CHECK FOR TABLE C (OPERATOR DESCRIPTOR) MNEMONICS SINCE THE CAPABILITY HAS NOW BEEN ADDED TO ENCODE AND DECODE THESE 2003-11-04 J. ATOR – ADDED DOCUMENTATION 2003-11-04 S. BENDER – ADDED REMARKS/BUFRLIB ROUTINE INTERDEPENDENCIES 2003-11-04 D. KEYSER – UNIFIED/PORTABLE FOR WRF; ADDED HISTORY DOCUMENTATION; OUTPUTS MORE COMPLETE DIAGNOSTIC INFO WHEN ROUTINE TERMINATES ABNORMALLY 2014-12-10 J. ATOR – USE MODULES INSTEAD OF COMMON BLOCKS

USAGE: CALL NEMTBD (LUN, ITAB, NSEQ, NEMS, IRPS, KNTS) INPUT ARGUMENT LIST: LUN - INTEGER: I/O STREAM INDEX INTO INTERNAL MEMORY ARRAYS ITAB - INTEGER: POSITIONAL INDEX OF PARENT MNEMONIC WITHIN INTERNAL BUFR TABLE D ARRAY TABD(*,*)

OUTPUT ARGUMENT LIST: NSEQ - INTEGER: TOTAL NUMBER OF CHILD MNEMONICS FOR THE PARENT MNEMONIC GIVEN BY TABD(ITAB,LUN) NEMS - CHARACTER*8: (NSEQ)-WORD ARRAY OF CHILD MNEMONICS IRPS - INTEGER: (NSEQ)-WORD RETURN VALUE ARRAY (SEE REMARKS) KNTS - INTEGER: (NSEQ)-WORD RETURN VALUE ARRAY (SEE REMARKS)

REMARKS: VALUE FOR OUTPUT ARGUMENT IRPS: The interpretation of the return value IRPS(I) depends upon the type of descriptor corresponding to NEMS(I), as follows:

IF ( NEMS(I) corresponds to an F=1 regular (i.e. non-delayed) replication descriptor ) THEN IRPS(I) = 1 ELSE IF ( NEMS(I) corresponds to a delayed replicator or replication factor descriptor ) THEN IRPS(I) = positional index of corresponding descriptor within internal replication array IDNR(*,*) ELSE IRPS(I) = 0 END IF

VALUE FOR OUTPUT ARGUMENT KNTS:
   The interpretation of the return value KNTS(I) depends upon the
   type of descriptor corresponding to NEMS(I), as follows:

   IF ( NEMS(I) corresponds to an F=1 regular (i.e. non-delayed)
        replication descriptor ) THEN
      KNTS(I) = number of replications
   ELSE
      KNTS(I) = 0
   END IF


THIS ROUTINE CALLS:        ADN30    BORT     IFXY     NUMTAB
                           RSVFVM   UPTDD
THIS ROUTINE IS CALLED BY: CHEKSTAB DXDUMP   GETABDB  TABSUB
                           Normally not called by any application
                           programs.

Definition at line 86 of file nemtbd.f.

References adn30(), bort(), ifxy(), numtab(), rsvfvm(), and uptdd().

Referenced by chekstab(), dxdump(), getabdb(), and tabsub().