NCEPLIBS-bufr 11.7.1
stntbi.f
Go to the documentation of this file.
1C> @file
2C> @author ATOR @date 2009-03-23
3
4C> THIS SUBROUTINE STORES A NEW ENTRY WITHIN INTERNAL BUFR
5C> TABLE B OR D, DEPENDING ON THE VALUE OF NUMB.
6C>
7C> PROGRAM HISTORY LOG:
8C> 2009-03-23 J. ATOR -- ORIGINAL AUTHOR
9C> 2014-12-10 J. ATOR -- USE MODULES INSTEAD OF COMMON BLOCKS
10C>
11C> USAGE: CALL STNTBI ( N, LUN, NUMB, NEMO, CELSQ )
12C> INPUT ARGUMENT LIST:
13C> N - INTEGER: STORAGE INDEX INTO INTERNAL TABLE B OR D
14C> LUN - INTEGER: I/O STREAM INDEX INTO INTERNAL TABLE B OR D
15C> NUMB - CHARACTER*6: FXY NUMBER FOR NEW TABLE B OR D ENTRY
16C> (IN FORMAT FXXYYY)
17C> NEMO - CHARACTER*8: MNEMONIC CORRESPONDING TO NUMB
18C> CELSQ - CHARACTER*55: ELEMENT OR SEQUENCE DESCRIPTION
19C> CORRESPONDING TO NUMB
20C>
21C> REMARKS:
22C> THIS ROUTINE CALLS: IFXY NENUBD
23C> THIS ROUTINE IS CALLED BY: RDUSDX STSEQ
24C> Not normally called by application
25C> programs.
26C>
27 SUBROUTINE stntbi ( N, LUN, NUMB, NEMO, CELSQ )
28
29 USE moda_tababd
30
31 CHARACTER*(*) NUMB, NEMO, CELSQ
32
33C-----------------------------------------------------------------------
34C-----------------------------------------------------------------------
35
36 CALL nenubd ( nemo, numb, lun )
37
38 IF ( numb(1:1) .EQ. '0') THEN
39 idnb(n,lun) = ifxy(numb)
40 tabb(n,lun)( 1: 6) = numb(1:6)
41 tabb(n,lun)( 7:14) = nemo(1:8)
42 tabb(n,lun)(16:70) = celsq(1:55)
43 ntbb(lun) = n
44 ELSE IF ( numb(1:1) .EQ. '3') THEN
45 idnd(n,lun) = ifxy(numb)
46 tabd(n,lun)( 1: 6) = numb(1:6)
47 tabd(n,lun)( 7:14) = nemo(1:8)
48 tabd(n,lun)(16:70) = celsq(1:55)
49 ntbd(lun) = n
50 ENDIF
51
52 RETURN
53 END
function ifxy(ADSC)
This function converts an FXY value from its 6 character representation to its bit-wise (integer) rep...
Definition: ifxy.f:43
This module contains array and variable declarations used to store DX BUFR tables internally for mult...
Definition: moda_tababd.F:10
integer, dimension(:,:), allocatable idnb
Bit-wise representations of the FXY values corresponding to tabb.
Definition: moda_tababd.F:56
character *128, dimension(:,:), allocatable tabb
Table B entries for each internal I/O stream.
Definition: moda_tababd.F:59
integer, dimension(:), allocatable ntbd
Number of Table D entries for each internal I/O stream (up to a maximum of MAXTBD,...
Definition: moda_tababd.F:53
integer, dimension(:), allocatable ntbb
Number of Table B entries for each internal I/O stream (up to a maximum of MAXTBB,...
Definition: moda_tababd.F:52
integer, dimension(:,:), allocatable idnd
Bit-wise representations of the FXY values corresponding to tabd.
Definition: moda_tababd.F:57
character *600, dimension(:,:), allocatable tabd
Table D entries for each internal I/O stream.
Definition: moda_tababd.F:60
subroutine nenubd(NEMO, NUMB, LUN)
THIS SUBROUTINE CHECKS A MNEMONIC AND FXY VALUE PAIR THAT WERE READ FROM A USER-SUPPLIED BUFR DICTION...
Definition: nenubd.f:49
subroutine stntbi(N, LUN, NUMB, NEMO, CELSQ)
THIS SUBROUTINE STORES A NEW ENTRY WITHIN INTERNAL BUFR TABLE B OR D, DEPENDING ON THE VALUE OF NUMB.
Definition: stntbi.f:28