Skip Navigation Links weather.gov 
NOAA logo - Click to go to the NOAA homepage National Weather Service   NWS logo - Click to go to the NWS homepage
National Centers for Environmental Prediction
Navigation Bar Left Cap
Navigation Bar End Cap
 

NCEP Home > NCO Home > Systems Integration Branch > Decoders > CREXLIB Table of Contents > Sample Decoded Tide Gauge CREX Message

Example of Decoded Tide Gauge CREX Message

CREX++
T000101 A001 D06024++
AK010 2003 02 01 23 00 2801 00 00 30 -30
04928 -0063 05166 -0062 ///// //// ///// //// ///// //// ///// ////++
7777

Section 1 Descriptor Set is saved in the array datadesc. The marker
'ENDDSC' is inserted after the last descriptor in datadesc.

datadesc( 1) = D06024
datadesc( 2) = ENDDSC
  
The array expdesc holds the list of the expanded Section 1 descriptors,
in this example D06024. The marker 'ENDDSC' is inserted after the last
descriptor in expdesc.

expdesc( 1) = B01075
expdesc( 2) = B04001
expdesc( 3) = B04002
expdesc( 4) = B04003
expdesc( 5) = B04004
expdesc( 6) = B04005
expdesc( 7) = B22042
expdesc( 8) = B22120
expdesc( 9) = B22121
expdesc(10) = B04075
expdesc(11) = B04065
expdesc(12) = B22038
expdesc(13) = B22039
expdesc(14) = B22038
expdesc(15) = B22039
expdesc(16) = B22038
expdesc(17) = B22039
expdesc(18) = B22038
expdesc(19) = B22039
expdesc(20) = B22038
expdesc(21) = B22039
expdesc(22) = B22038
expdesc(23) = B22039
expdesc(24) = ENDDSC
The array dataval holds the Section 2 decoded values. It is a 2-dimensional
array because the CREX message may contain several reports. If there was a
second report in the message, then the decoded values for the second report
would be stored in dataval locations (2,?).
The layout of the data in dataval is in a 1-to-1 correspondence (or close to
it) with the layout of the descriptors in the array expdesc. For example, 
expdesc(1) = B01075, the descriptor for the tide station identification,
corresponds to the decoded value in dataval(1,1), which is the station ID AK010.
If there was a second report in the message, then the layout of the decoded
values in dataval(2,?) would be the same as the layout in dataval(1,?).
dataval( 1,  1) = AK010   
dataval( 1,  2) = 2003.000
dataval( 1,  3) = 2.000
dataval( 1,  4) = 1.000
dataval( 1,  5) = 23.000
dataval( 1,  6) = .000
dataval( 1,  7) = 280.100
dataval( 1,  8) = .000   
dataval( 1,  9) = .000   
dataval( 1, 10) = 30.000
dataval( 1, 11) = -30.000
dataval( 1, 12) = 4.928
dataval( 1, 13) = -.063
dataval( 1, 14) = 5.166
dataval( 1, 15) = -.062
dataval( 1, 16) = ////////
dataval( 1, 17) = ////////
dataval( 1, 18) = ////////
dataval( 1, 19) = ////////
dataval( 1, 20) = ////////
dataval( 1, 21) = ////////
dataval( 1, 22) = ////////
dataval( 1, 23) = ////////
The dataval is a real*8 array. The array consists of both real and character
data. Each location in dataval can hold 8 bytes of character data. Some descriptors
with the unit defined as character can correspond to a data value which is more
than 8 bytes in width. For example, suppose we have the following situation:

expdesc( 1) = B01015   where B01015 is the Station name and has a width of
of 20 characters.

Here expdesc(1) corresponds to the data in the first three locations of dataval.
That's why above it is mentioned that the layout of the list of descriptors in
expdesc is in a 1-to-1, or close to it, correspondence with the layout of the data
in dataval.
dataval(1,1) = KWAA1wab       (This is a fictitious station name.)
dataval(1,2) = 22mmxyk1
dataval(1,3) = 1234    

Each raw report in the CREX message is saved in the array rawrpt. The string
'endofrpt' marks the end of the above report. Since a message may contain several
reports, the array rawrpt is a 2-dimensional array. If there was a second report
in this message, it would be saved in the locations rawrpt( 2, ? ). The length
in bytes of each report in rawrpt is stored in array lenrpts and does not include
the byte count of the report string separator 'endofrpt'. Here lenrpts(1) = 108.
  
 rawrpt( 1, 1 ) = AK010 20
 rawrpt( 1, 2 ) = 03 02 01
 rawrpt( 1, 3 ) =  23 00 2
 rawrpt( 1, 4 ) = 801 00 0
 rawrpt( 1, 5 ) = 0 30 -30
 rawrpt( 1, 6 ) =  04928 -
 rawrpt( 1, 7 ) = 0063 051
 rawrpt( 1, 8 ) = 66 -0062
 rawrpt( 1, 9 ) =  ///// /
 rawrpt( 1, 10 ) = /// ////
 rawrpt( 1, 11 ) = / //// /
 rawrpt( 1, 12 ) = //// ///
 rawrpt( 1, 13 ) = / ///// 
 rawrpt( 1, 14 ) = ////    
 rawrpt( 1, 15 ) = endofrpt


NOAA/ National Weather Service
National Centers for Environmental Prediction
5830 University Research Court
College Park, MD 20740
NCEP Internet Services Team
Disclaimer
Credits
Glossary
Privacy Policy
About Us
Career Opportunities
Page last modified: Wednesday, 10-May-2006 22:00:18 UTC