NCEPLIBS-bufr  11.6.0
 All Data Structures Files Functions Variables Pages
readmm.f
Go to the documentation of this file.
1 C> @file
2 C> @brief Read a specified BUFR message from internal arrays.
3 
4 C> This subroutine reads a specified BUFR message from internal
5 C> arrays in memory, so that it is now in scope for processing
6 C> via a subsequent call to subroutine rdmems().
7 C>
8 C> <p>BUFR messages should already be stored within internal
9 C> arrays in memory via one or more previous calls to
10 C> subroutine ufbmem().
11 C>
12 C> <p>This subroutine is similar to subroutine rdmemm(), except that
13 C> it increments the value of IMSG prior to returning to the calling
14 C> program, which in turn allows the subroutine to be easily called
15 C> within an iterative program loop.
16 C>
17 C> @author J. Woollen
18 C> @date 1999-11-18
19 C>
20 C> @param[in,out] IMSG -- integer: Message pointer within internal arrays
21 C> - On input, IMSG is the number of the BUFR
22 C> message to be read into scope for further
23 C> processing, counting from the beginning of
24 C> the internal arrays in memory
25 C> - On output, IMSG is incremented by one from
26 C> its input value
27 C> @param[out] SUBSET -- character*8: Table A mnemonic for type of BUFR
28 C> message that was read into scope
29 C> (see [DX BUFR Tables](@ref dfbftab) for
30 C> further information about Table A mnemonics)
31 C> @param[out] JDATE -- integer: Date-time stored within Section 1 of
32 C> BUFR message that was read into scope,
33 C> in format of either YYMMDDHH or YYYYMMDDHH,
34 C> depending on the most
35 C> recent call to subroutine datelen()
36 C> @param[out] IRET -- integer: return code
37 C> - 0 = requested message was
38 C> successfully read into scope
39 C> - -1 = requested message number could not
40 C> be found in internal arrays
41 C>
42 C> <b>Program history log:</b>
43 C> | Date | Programmer | Comments |
44 C> | -----|------------|----------|
45 C> | 1999-11-18 | J. Woollen | Original author |
46 C> | 2000-09-19 | J. Woollen | Maximum message length increased from 10,000 to 20,000 bytes |
47 C> | 2001-08-15 | D. Keyser | Increased MAXMEM from 8 Mb to 16 Mb |
48 C> | 2003-11-04 | S. Bender | Added remarks and routine interdependencies |
49 C> | 2003-11-04 | D. Keyser | Unified/portable for WRF; added documentation; outputs more complete diagnostic info when routine terminates abnormally |
50 C> | 2004-08-09 | J. Ator | Maximum message length increased from 20,000 to 50,000 bytes |
51 C> | 2004-11-15 | D. Keyser | Increased MAXMEM from 16 Mb to 50 Mb |
52 C> | 2009-03-23 | J. Ator | Rewrote to call rdmemm() |
53 C>
54  SUBROUTINE readmm(IMSG,SUBSET,JDATE,IRET)
55 
56  CHARACTER*8 subset
57 
58 C-----------------------------------------------------------------------
59 C-----------------------------------------------------------------------
60 
61  CALL rdmemm(imsg,subset,jdate,iret)
62 
63  imsg = imsg+1
64 
65  RETURN
66  END
subroutine rdmemm(IMSG, SUBSET, JDATE, IRET)
This subroutine reads a specified BUFR message from internal arrays in memory, so that it is now in s...
Definition: rdmemm.f:49
subroutine readmm(IMSG, SUBSET, JDATE, IRET)
This subroutine reads a specified BUFR message from internal arrays in memory, so that it is now in s...
Definition: readmm.f:54