NCEPLIBS-bufr  12.0.1
moda_tables Module Reference

This module contains array and variable declarations used to store the internal jump/link table. More...

Variables

integer, dimension(:), allocatable ibt
 Bit widths corresponding to tag and typ: More...
 
integer, dimension(:), allocatable irf
 Reference values corresponding to tag and typ: More...
 
integer, dimension(:), allocatable isc
 Scale factors corresponding to tag and typ: More...
 
integer, dimension(:,:), allocatable iseq
 Temporary storage used in expanding sequences. More...
 
integer, dimension(:), allocatable itp
 Integer type values corresponding to typ: More...
 
integer, dimension(:), allocatable jmpb
 Jump backward indices corresponding to tag and typ: More...
 
integer, dimension(:), allocatable jseq
 Temporary storage used in expanding sequences. More...
 
integer, dimension(:), allocatable jump
 Jump forward indices corresponding to tag and typ: More...
 
integer, dimension(:), allocatable knt
 Temporary storage used in calculating delayed replication counts. More...
 
integer, dimension(:), allocatable knti
 Initialized replication counts corresponding to typ and jump: More...
 
integer, dimension(:), allocatable link
 Link indices corresponding to tag, typ and jmpb: More...
 
integer maxtab
 Maximum number of entries in the jump/link table; equivalent to MAXJL. More...
 
integer ntab
 Number of entries in the jump/link table. More...
 
character *10, dimension(:), allocatable tag
 Mnemonics in the jump/link table. More...
 
character *3, dimension(:), allocatable typ
 Type indicators corresponding to tag: More...
 
real *8, dimension(:), allocatable vali
 Initialized data values corresponding to typ: More...
 

Detailed Description

This module contains array and variable declarations used to store the internal jump/link table.

Data values within this module are stored by subroutines makestab(), tabsub() and tabent().

Author
J. Ator
Date
2014-12-10

Variable Documentation

◆ ibt

integer, dimension(:), allocatable moda_tables::ibt

Bit widths corresponding to tag and typ:

  • Bit width of corresponding tag entry, if corresponding typ entry is "CHR", "NUM", "DRB" or "DRP"
  • 0, otherwise

Definition at line 710 of file modules_arrs.F90.

Referenced by arallocf(), ardllocf(), igetrfel(), iok2cpy(), ipks(), lcmgdf(), makestab(), nemspecs(), rcstpl(), rdcmps(), rdtree(), tabent(), tabsub(), ufbdmp(), ufbget(), ufbtab(), ufbtam(), ufdump(), ups(), usrtpl(), wrcmps(), writlc(), and wrtree().

◆ irf

integer, dimension(:), allocatable moda_tables::irf

Reference values corresponding to tag and typ:

  • Reference value of corresponding tag entry, if corresponding typ entry is "NUM"
  • Number of regular (non-delayed) replications of Table D mnemonic referenced by corresponding jump entry, if corresponding typ entry is "REP"
  • 0, otherwise

Definition at line 716 of file modules_arrs.F90.

Referenced by arallocf(), ardllocf(), bufr_c2f_interface::get_irf_c(), igetrfel(), iok2cpy(), ipks(), makestab(), nemspecs(), tabent(), tabsub(), ufbdmp(), ufdump(), and ups().

◆ isc

integer, dimension(:), allocatable moda_tables::isc

Scale factors corresponding to tag and typ:

  • Scale factor of corresponding tag entry, if corresponding typ entry is "NUM"
  • Jump/link table entry for Table B or Table D mnemonic which is the last sequential child descriptor of the corresponding tag entry, if the corresponding typ entry is "SUB"
  • 0, otherwise

Definition at line 722 of file modules_arrs.F90.

Referenced by arallocf(), ardllocf(), bufr_c2f_interface::get_isc_c(), igetrfel(), iok2cpy(), ipks(), lcmgdf(), lstjpb(), makestab(), nemspecs(), parutg(), strbtm(), tabent(), tabsub(), ufbdmp(), ufbseq(), ufdump(), and ups().

◆ iseq

integer, dimension(:,:), allocatable moda_tables::iseq

Temporary storage used in expanding sequences.

Definition at line 740 of file modules_arrs.F90.

Referenced by arallocf(), ardllocf(), makestab(), rcstpl(), and usrtpl().

◆ itp

integer, dimension(:), allocatable moda_tables::itp

Integer type values corresponding to typ:

  • 1, if corresponding typ entry is "DRS", "DRP" or "DRB"
  • 2, if corresponding typ entry is "NUM"
  • 3, if corresponding typ entry is "CHR"
  • 0, otherwise

Definition at line 728 of file modules_arrs.F90.

Referenced by arallocf(), ardllocf(), drfini(), bufr_c2f_interface::get_itp_c(), igetrfel(), invmrg(), makestab(), rcstpl(), rdcmps(), rdtree(), readlc(), strbtm(), ufbcup(), ufbdmp(), ufbget(), ufbseq(), ufbtab(), ufbtam(), ufdump(), usrtpl(), wrcmps(), writlc(), and wrtree().

◆ jmpb

integer, dimension(:), allocatable moda_tables::jmpb

Jump backward indices corresponding to tag and typ:

  • 0, if corresponding typ entry is "SUB"
  • Jump/link table entry denoting the replication of corresponding tag entry, if corresponding typ entry is "RPC", or if corresponding typ entry is "SEQ" and corresponding tag entry uses either short (1-bit) or regular (non-delayed) replication
  • Jump/link table entry for Table A or D mnemonic of which corresponding tag entry is a child descriptor, otherwise

Definition at line 706 of file modules_arrs.F90.

Referenced by arallocf(), ardllocf(), drstpl(), bufr_c2f_interface::get_jmpb_c(), gettagpr(), lstjpb(), makestab(), tabent(), tabsub(), ufbdmp(), ufbseq(), and usrtpl().

◆ jseq

integer, dimension(:), allocatable moda_tables::jseq

Temporary storage used in expanding sequences.

Definition at line 742 of file modules_arrs.F90.

Referenced by arallocf(), ardllocf(), makestab(), rcstpl(), and usrtpl().

◆ jump

integer, dimension(:), allocatable moda_tables::jump

Jump forward indices corresponding to tag and typ:

  • 0, if corresponding typ entry is "CHR" or "NUM"
  • Jump/link table entry for Table D mnemonic whose replication is denoted by corresponding tag entry, if corresponding typ entry is "DRB", "DRP" or "REP"
  • Jump/link table entry for Table B or D mnemonic which is the first sequential child descriptor of the corresponding tag entry, otherwise

Definition at line 692 of file modules_arrs.F90.

Referenced by arallocf(), ardllocf(), makestab(), tabent(), tabsub(), and ufbdmp().

◆ knt

integer, dimension(:), allocatable moda_tables::knt

Temporary storage used in calculating delayed replication counts.

Definition at line 685 of file modules_arrs.F90.

Referenced by arallocf(), ardllocf(), and makestab().

◆ knti

integer, dimension(:), allocatable moda_tables::knti

Initialized replication counts corresponding to typ and jump:

  • 0, if corresponding typ entry is "RPC", "RPS" or "DRB"
  • Number of regular (non-delayed) replications of Table D mnemonic referenced by corresponding jump entry, if corresponding typ entry is "REP"
  • 1, otherwise

Definition at line 738 of file modules_arrs.F90.

Referenced by arallocf(), ardllocf(), and makestab().

◆ link

integer, dimension(:), allocatable moda_tables::link

Link indices corresponding to tag, typ and jmpb:

  • 0, if corresponding typ entry is "SUB" or "RPC", or if corresponding typ entry is "SEQ" and corresponding tag entry uses either short (1-bit) or regular (non-delayed) replication, or if corresponding tag entry is the last sequential child descriptor of the Table A or D mnemonic referenced by corresponding jmpb entry
  • Jump/link table entry for Table B or D mnemonic which follows the corresponding tag entry as the next sequential child descriptor of the Table A or D mnemonic referenced by corresponding jmpb entry, otherwise

Definition at line 699 of file modules_arrs.F90.

Referenced by arallocf(), ardllocf(), bufr_c2f_interface::get_link_c(), makestab(), tabent(), tabsub(), ufbdmp(), and ufbseq().

◆ maxtab

integer moda_tables::maxtab

Maximum number of entries in the jump/link table; equivalent to MAXJL.

Definition at line 664 of file modules_arrs.F90.

Referenced by bfrini(), and inctab().

◆ ntab

◆ tag

◆ typ

character*3, dimension(:), allocatable moda_tables::typ

Type indicators corresponding to tag:

  • "SUB", if corresponding tag entry is a Table A mnemonic
  • "SEQ", if corresponding tag entry is a Table D mnemonic using either short (1-bit) delayed replication, regular (non-delayed) replication, or no replication at all
  • "RPC", if corresponding tag entry is a Table D mnemonic using either medium (8-bit) or long (16-bit) delayed replication
  • "RPS", if corresponding tag entry is a Table D mnemonic using medium (8-bit) delayed replication in a stack
  • "DRB", if corresponding tag entry denotes the short (1-bit) delayed replication of a Table D mnemonic
  • "DRP", if corresponding tag entry denotes the medium (8-bit) or long (16-bit) delayed replication of a Table D mnemonic
  • "DRS", if corresponding tag entry denotes the medium (8-bit) delayed replication of a Table D mnemonic in a stack
  • "REP", if corresponding tag entry denotes the regular (non-delayed) replication of a Table D mnemonic
  • "CHR", if corresponding tag entry is a Table B mnemonic with units of CCITT IA5
  • "NUM", if corresponding tag entry is a Table B mnemonic with any units other than CCITT IA5

Definition at line 683 of file modules_arrs.F90.

Referenced by arallocf(), ardllocf(), drstpl(), bufr_c2f_interface::get_typ_c(), inctab(), invmrg(), iok2cpy(), lcmgdf(), lstjpb(), makestab(), nemspecs(), parutg(), ufbdmp(), ufbseq(), ufdump(), usrtpl(), writlc(), and wrtree().

◆ vali

real*8, dimension(:), allocatable moda_tables::vali

Initialized data values corresponding to typ:

  • Current placeholder value for "missing" data, if corresponding typ entry is "REP", "NUM" or "CHR"
  • 0, otherwise

Definition at line 732 of file modules_arrs.F90.

Referenced by arallocf(), ardllocf(), makestab(), rcstpl(), and usrtpl().