NCEPLIBS-bufr  11.7.0
 All Data Structures Files Functions Variables Pages
moda_msgmem.F
Go to the documentation of this file.
1 C> @file
2 C> @brief Declare arrays for internal storage of BUFR files.
3 
4 C> This module contains array and variable declarations used to
5 C> store the contents of one or more BUFR files within internal
6 C> memory.
7 C>
8 C> <p>Data values within this module are stored by subroutines
9 C> ufbmem() and cpdxmm().
10 C>
11 C> @author J. Ator
12 C> @date 2014-12-10
13 
14  MODULE moda_msgmem
15 
16 #ifndef MAXMSG_H
17 #define MAXMSG_H
18  USE modv_maxmsg
19 #endif
20 
21 #ifndef MAXMEM_H
22 #define MAXMEM_H
23  USE modv_maxmem
24 #endif
25 
26 #ifndef MXDXTS_H
27 #define MXDXTS_H
28  USE modv_mxdxts
29 #endif
30 
31 #ifndef MXMSGL_H
32 #define MXMSGL_H
33  USE modv_mxmsgl
34 #endif
35 
36 C> @var munit
37 C> Fortran logical unit number for use in accessing
38 C> contents of BUFR files within internal memory.
39 C>
40 C> @var msgs
41 C> BUFR messages read from one or more BUFR files.
42 C>
43 C> @var msgp
44 C> Pointers to the beginning of each message within
45 C> msgs (up to a maximum of MAXMSG, and where array
46 C> element 0 contains the actual number of messages
47 C> stored within msgs).
48 C>
49 C> @var mlast
50 C> Number of array elements filled within msgs (up
51 C> to a maximum of MAXMEM).
52 C>
53 C> @var mdx
54 C> DX BUFR table messages read from one or more BUFR
55 C> files, for use in decoding the messages in msgs.
56 C>
57 C> @var ndxm
58 C> Number of DX BUFR table messages stored within mdx
59 C> (up to a maximum of MXDXM).
60 C>
61 C> @var ipdxm
62 C> Pointers to the beginning of each message within mdx.
63 C>
64 C> @var ndxts
65 C> Number of DX BUFR tables represented by the
66 C> messages within mdx (up to a maximum of MXDXTS).
67 C>
68 C> @var ifdxts
69 C> Pointers to the beginning of each DX BUFR table
70 C> within mdx.
71 C>
72 C> @var icdxts
73 C> Number of consecutive messages within mdx which
74 C> constitute each DX BUFR table, beginning with the
75 C> corresponding ifdxts.
76 C>
77 C> @var ipmsgs
78 C> Pointers to first message within msgs for which each
79 C> DX BUFR table applies.
80 C>
81 C> @var ldxts
82 C> Number of DX BUFR table that is currently in scope,
83 C> depending on which BUFR message within msgs is
84 C> currently in scope from the most recent call to
85 C> subroutine rdmemm() or readmm().
86 C>
87 C> @var ldxm
88 C> Number of array elements filled within mdx (up
89 C> to a maximum of MXDXW).
90 
91  INTEGER :: MUNIT
92  INTEGER :: MLAST
93  INTEGER :: LDXM
94  INTEGER :: NDXM
95  INTEGER :: LDXTS
96  INTEGER :: NDXTS
97  INTEGER :: MXDXM
98  INTEGER :: MXDXW
99  INTEGER, ALLOCATABLE :: MSGP(:)
100  INTEGER, ALLOCATABLE :: MSGS(:)
101  INTEGER, ALLOCATABLE :: MDX(:)
102  INTEGER, ALLOCATABLE :: IPDXM(:)
103  INTEGER, ALLOCATABLE :: IFDXTS(:)
104  INTEGER, ALLOCATABLE :: ICDXTS(:)
105  INTEGER, ALLOCATABLE :: IPMSGS(:)
106 
107  END MODULE
This module declares and initializes the MAXMEM variable.
Definition: modv_MAXMEM.f:13
This module declares and initializes the MXMSGL variable.
Definition: modv_MXMSGL.f:13
This module contains array and variable declarations used to store the contents of one or more BUFR f...
Definition: moda_msgmem.F:14
This module declares and initializes the MXDXTS variable.
Definition: modv_MXDXTS.f:13
This module declares and initializes the MAXMSG variable.
Definition: modv_MAXMSG.f:13