Sections of a CREX message Section 0 – Indicator Section CREX Beginning of a CREX message
Section 1 - Data Description Section CREX++ T000104 A000 D01031 R02005 B07061 B12030++ 11 487 1 2000 01 03 06 00 4946694 01384083 00519 00005 -003 00010 -001 00020 002 00050 018 00100 038++ 7777 First group: Ttteevv T: Indicator for CREX Tables tt: CREX Master Table (00 for Standard WMO CREX Tables) ee: CREX Edition Number (currently 01) vv: CREX Table Version Number (currently 04) Second group: Annn A: Indicator for CREX Table A nnn:Data category from CREX Table A Third to n-th groups: A collection of descriptors Bxxyyy, Cxxyyy, Dxxyyy and/or Rxxyyy Group n+1: E: Optional check digit indicator (not used in the above example)
Section 1 for CREX edition 2 Ttteevvbbww T: Indicator for CREX Tables tt: CREX Master Table ( 00 for standard WMO CREX tables) ee: CREX edition number (currently 02) vv: CREX table version number (currently 04) bb: BUFR Master Table version number (currently 12) ww: Version number of local table Annnmmm A: Indicator for CREX Table A nnn: Data category from CREX Table A mmm: International data sub-category Poooooppp P: Indicator for originating centre ooooo: Originating centre ppp: Originating sub-centre Uuu U: Indicator of sequence number of message uu: Update sequence number ( 00 for original message) Ssss S: Indicator of number of subsets sss: Number of subsets Yyyyymmdd Y: Indicator of date yyymmdd: year, month, day Hhhnn H: Indicator of time hhnn: hour, minute A collection of descriptors Bxxyyy, Cxxyyy, Dxxyyy and/or Rxxyyy E: Optional check digit indicator
Section 2 - Data Section Content of Section 2 - Data Section: Data values corresponding to the descriptors in Section 1. CREX++ T000104 A000 D01031 R02005 B07061 B12030++ 11 487 1 2000 01 03 06 00 4946694 01384083 00519 00005 -003 00010 -001 00020 002 00050 /// 00100 038++ 7777 Negative values: Only negative values are signed. The negative sign is not included into the number of characters allowed for the relevant group. Missing values: A missing value in Section 2 is represented by a string of solidi / characters corresponding in number to the number of characters allowed for the relevant group.
CREX (and BUFR) Tables Table A - Data Category Table B - Classification of Elements Table C - Data Description Operators Table D - List of Common Sequences
CREX Table A - Data Category Table A refers to the group Annn in Data Description Section and provides general classification of the data available. BUFR and CREX use the same Table A. Table A: nnn 000 - Surface data - land 001 - Surface data - sea 002 - Vertical soundings (other than satellite) 003 - Vertical soundings (satellite) 004 - Single level upper-air data (other than satellite) 005 - Single level upper-air data (satellite) 006 - Radar data... 255 - Indicator for local use, with sub-category
CREX Table B - Classification of Elements CREX Table B defines element descriptors Bxxyyy: xx – Class of Data Elements yyy – Identification of the Element within the Class CREX element descriptors have three characteristics: - Unit - Scale - Data Width Reference value is not necessary (is always equal to 0), as CREX can depict negative values.
Unit Standard International (SI) units e.g. Pa, m s -1, kg m -2, J m -2 Standard common usage units e.g. °C, nbar, year Numeric e.g. for WMO station number, Number of flashes Character e.g. for Station or site name, Storm identifier Code Table e.g. for Present weather, Cloud type Flag Table e.g. for Vertical sounding significance
Scale Scale S measured value * 10 S = encoded value Positive Scale - B12001 (Temperature) has a scale of +1, thus temperature 33.7°C is encoded as 33.7 * 10 +1 = 337 - B12101 (Temperature) has a scale of +2, thus temperature 33. 74°C is encoded as 33. 74 * 10 +2 = 3374 Negative Scale - B20001 (Horizontal visibility) has a scale of -1, thus visibility 25 000 m is encoded as 25 000 / 10 = 2500
Data Width Data width is a count of how many characters is required to express the largest possible value of the element (after scaling). Numeric values: Leading zeroes are included, if the value requires smaller number of digits than is defined by the data width: - B12001 (Temperature) has a data width of 3 (and scale 1), thus temperature 1.4°C is encoded as 014. Negative values: Only negative values are signed. The data width does not include the negative sign : - B12001 (Temperature) has a data width of 3 (and scale 1), thus temperature - 1.4°C is encoded as -014. Character values: Trailing blanks are included, if the value requires smaller number of digits than is defined by the data width.
Flag Tables Flag Table: Combination of attributes may be chosen. A bit set to 1 indicates that the item is true, a bit set to 0 the item being false. B02002 Type for instrumentation for wind measurement E.g. Wind is measured by certified instruments and in knots: bit 1 Certified instruments true - bit 1 set to 1 bit 2 Originally measured in knots true - bit 2 set to 1 bit 3 Originally measured in km/h false - bit 3 set to 0 All 4 Missing value false - bit 4 set to 0 Octal representation requires the number of bits to be a multiple of 3: Bit chain: 0 0 1 1 0 0 Bit chain divided into two groups: 0 0 1 1 0 0 Octal representation: 1 4 Encoded value in a CREX message: 14 Note: A missing value is represented by a string of solidi / characters.
Another example - flag table 0 04 059 B04059 Times of observation used to compute the reported mean values E.g. The mean values are computed using data from 00, 06, 12, 18 UTC: bit 1 0000 UTC true - bit 1 set to 1 bit 2 0600 UTC true - bit 2 set to 1 bit 3 1200 UTC true - bit 3 set to 1 bit 4 1800 UTC true - bit 4 set to 1 bit 5 Other hours false - bit 5 set to 0 All 6 Missing value false - bit 6 set to 0 Bit chain: 1 1 1 1 0 0 Bit chain divided into two groups: 1 1 1 1 0 0 Octal representation: 7 4 Encoded value in a CREX message: 74
CREX Table C - Data Description Operators CREX Table C defines operator descriptors Cxxyyy: xx – Operator yyy – Operand C01yyy - Data Width Replacement C02yyy - Scale Factor Replacement C05yyy - Character Insertion C07yyy - Units replacement Example: C07201 changes the unit (e.g. of wind speed) to knot, C07741 changes the unit (e.g. of wind speed) to km h -1. Note: CREX operator descriptor applies only to the data value of the following element descriptor.
CREX Table D - List of Common Sequences CREX Table D defines sequence descriptors Dxxyyy: xx – Category of Sequences yyy – Identification of the descriptor within the Category Table D (sequence descriptors) is a device to reduce the length of the Data Description Section. One sequence descriptor may replace a defined collection of descriptors that may consist of element descriptors, replication descriptors, operator descriptors and also lower sequence descriptors: D07061 = D01031 R01005 D07060 = D01001 B02001 D01011 D01012 D01022 R01005 D07060 = B01001 B01002 B02001 B04001 B04002 B04003 B04004 B04005 B05001 B06001 B07001 B07061 B12030 B07061 B12030 B07061 B12030 B07061 B12030 B07061 B12030
Local Tables The following portion of the Table B and Table D is reserved for local use: xx – Class or Category from the range and / or yyy – Entries from the range. Local part of the Tables may be used, updated, changed, etc. No international notice is required or expected.