NCEPLIBS-bufr
11.5.0
|
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... | |
Definition in file nemtbd.f.
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().