NCEPLIBS-bufr  12.0.0
stntbi.f
Go to the documentation of this file.
1 C> @file
2 C> @brief Store a new entry within the internal BUFR Table B or D.
3 C> @author Ator @date 2009-03-23
4 
5 C> Store a new entry within the internal BUFR Table B or D.
6 C>
7 C> This subroutine stores a new entry within internal BUFR
8 C> Table B or D, depending on the value of NUMB.
9 C>
10 C> @param[in] N - integer: storage index into internal Table B or D.
11 C> @param[in] LUN - integer: File ID.
12 C> @param[in] NUMB - character*6: FXY number for new Table B or D entry
13 C> (in format FXXYYY).
14 C> @param[in] NEMO - character*8: mnemonic corresponding to NUMB.
15 C> @param[in] CELSQ - character*55: element or sequence description
16 C> corresponding to NUMB.
17 C>
18 C> @author Ator @date 2009-03-23
19  SUBROUTINE stntbi ( N, LUN, NUMB, NEMO, CELSQ )
20 
21  USE moda_tababd
22 
23  CHARACTER*(*) NUMB, NEMO, CELSQ
24 
25 C-----------------------------------------------------------------------
26 C-----------------------------------------------------------------------
27 
28  CALL nenubd ( nemo, numb, lun )
29 
30  IF ( numb(1:1) .EQ. '0') THEN
31  idnb(n,lun) = ifxy(numb)
32  tabb(n,lun)( 1: 6) = numb(1:6)
33  tabb(n,lun)( 7:14) = nemo(1:8)
34  tabb(n,lun)(16:70) = celsq(1:55)
35  ntbb(lun) = n
36  ELSE IF ( numb(1:1) .EQ. '3') THEN
37  idnd(n,lun) = ifxy(numb)
38  tabd(n,lun)( 1: 6) = numb(1:6)
39  tabd(n,lun)( 7:14) = nemo(1:8)
40  tabd(n,lun)(16:70) = celsq(1:55)
41  ntbd(lun) = n
42  ENDIF
43 
44  RETURN
45  END
function ifxy(ADSC)
Convert an FXY value from its 6 character representation to its WMO bit-wise representation.
Definition: ifxy.f:34
This module contains array and variable declarations used to store DX BUFR tables internally for mult...
character *600, dimension(:,:), allocatable tabd
Table D entries for each internal I/O stream.
integer, dimension(:), allocatable ntbd
Number of Table D entries for each internal I/O stream (up to a maximum of MAXTBD,...
integer, dimension(:), allocatable ntbb
Number of Table B entries for each internal I/O stream (up to a maximum of MAXTBB,...
integer, dimension(:,:), allocatable idnd
Bit-wise representations of the FXY values corresponding to tabd.
integer, dimension(:,:), allocatable idnb
Bit-wise representations of the FXY values corresponding to tabb.
character *128, dimension(:,:), allocatable tabb
Table B entries for each internal I/O stream.
subroutine nenubd(NEMO, NUMB, LUN)
Confirm that a mnemonic and FXY value haven't already been defined.
Definition: nenubd.f:22
subroutine stntbi(N, LUN, NUMB, NEMO, CELSQ)
Store a new entry within the internal BUFR Table B or D.
Definition: stntbi.f:20