شرکت مهندسی و ساختمانی بسپار پی ایرانیان
5 stars based on
BUFR tables Chapter 3. Using data replication Chapter 4. Data compression Chapter 5. Table c - data description operators Chapter 6. Quirks, advanced features, and special uses of BUFR.
Even though BUFR makes efficient use of space by virtue of binary numbers that take only as many bits as are necessary how to deposit with binary compression hold the largest expected value, a further compression may be possible.
Like elements from the full set of observations are collected together, their minimum values subtracted out, and the difference from the minimum are then encoded with a bit length selected to hold the largest difference from the minimum value.
This is repeated for all the elements. For the station number the largest difference is 15 which is equivalent to 2or 4 bits. However this presents a small problem. All four bits set on, as is the case for the number 15, is properly interpreted as "missing", not as a numeric value of What is done is to simply add one bit to the number needed to store the largest difference value; thus 15 gets stored in 5 bits, as It is not necessary to add one bit to the bit lengths for all the elements; it is only necessary when one of the numbers to be encoded "fills" the available space; that is, if the number is 3 to be stored in 2 bits, 7 in 3 bits, 15 in 4 bits, 31 in 5 bits, etc.
A convenient way to do this and assure that there is always room for "missings" if needed is to add 1 to how to deposit with binary compression largest difference value and figure the number of bits based on this larger-by-one value. In the example, the station height would be placed in 6 bits; the pressure in 7 with the "missing" indicated asetc.
In order to determine what the minimum value is that has to be added back to each of the following elements, and how many bits are being used for the storage of these elements, there are two additional items appearing in the compressed form of storage in Section 4 that do not appear in the non-compressed form.
These items of information precede the element values. The Section 4 representation for compressed data for each parameter used in the example above is:. Station number minimum value occupying 10 bits as specified by the Table B data width for entry 0 01 followed by:. The 6 station number differences from the minimum values 0, 2, 5, 11, 13 and 15where each value occupies 5 bits.
After the last station number difference 15the next 15 bits Table B data width for entry 0 07 will be taken by the minimum value for station height followed by the how to deposit with binary compression of bits to represent the differences 6 and then each of the elements occupying 6 bits apiece 5, 0, 19, 4, 59, Continuing the process for all 5 parameters would produce within Section 4 the following bit counts:. Using the same set of values for the 6 subsets in non-compressed form there would be bit counts in Section 4 as follows:.
A total of bits are necessary to represent all 6 subsets in non-compressed form. There are other conditions that can occur when encoding compressed data. If all elements of a set of parameters are missing, the minimum value occupying the specified Table B data width in Section 4 shall be set to all 1's, the 6 bits specifying how many bits are used for each value will be how to deposit with binary compression to 0, and the difference values will be omitted.
If, for example all the dew points were missing from the 6 subsets then the number of bits to represent dew point would be reduced to only include the Table B data width for dew point 12 bits and the 6 bits specifying the bits used for each value.
In the non-compressed form, storage of the missing dew point values would still occupy 12 bits each, with all bits set to 1. The other condition that may occur is if all the difference values are identical, then, the 6 bits specifying the count of bits for each difference value will set to 0, and difference values will be omitted.
This condition would produce the same bit count as if all elements were missing. Data compression is most effective when the range of values for the parameters is small. In the example of the 6 subsets, each parameter has a difference from the minimum value, where the number of bits to represent the difference is half, or less than half, the number of bits required in non-compressed form for storage in Section 4, as indicated by the Table B entry data how to deposit with binary compression.
If the 6 subsets were put into a message where compression was not applied, the length of the message would be octets Figure By applying compression, the length of the message would be reduced to 86 octets Figure Using the range of values for the same 6 subsets, not realistic, but to show the effect of compression for a large data set, a total of subsets could be put into a BUFR message not exceeding octets Figure How to deposit with binary compression non-compressed form there would only be subsets within the octet limit Figure Table C data description operators Table are used when there is a need to redefine Table B attributes temporarily, such as the need how to deposit with binary compression change the data width, scale or reference value of a Table B entry.
How to deposit with binary compression Table B entries for latitude and longitude are high accuracy hundred thousandths of a degree and coarse accuracy hundredths of a degree. One method would be to choose the high accuracy Table B entries for latitude and longitude in hundred thousandths of degrees.
There would be no loss of accuracy, but a lot of unused bits for each observation would be encoded in Section 4. The high accuracy latitude requires 25 bits for representation, high accuracy longitude 26 bits. To represent latitude and longitude to thousandths of degrees would require 18 and 19 bits respectively.
If the extra bits from using high accuracy were not deemed a concern, this would be the easiest method, but if it were desirable to use only the bits required to represent latitude and longitude in thousandths of degrees, there are two ways for this to be accomplished.
First, and the least desirable of any method, would be to create local descriptors for Table B with the appropriate scale and reference values for thousandths of degrees. This is the least desirable method because if the BUFR message were to be transmitted to another center, then the receiving center would have to have available to their BUFR decoder program the correct definition of the local descriptors.
The other method would be to use the Table C data description operators 2 01 Y to change the data width of the Table B descriptor for latitude and longitude, 2 02 Y to change the scale and 2 03 Y to change the reference values. There is now a choice to be made between temporarily changing latitude and longitude from hundredths of degrees to thousandths, or, from changing them from hundred thousandths to thousandths. It doesn't matter which is done, as the only difference between the choices will be the Y operand entries of the data description operators.
If it were decided to change the data width of latitude and longitude from hundredths to thousandths of degrees, what first must be done is to determine how many bits are necessary to represent individually latitude and longitude in thousandths of a degree. The how to deposit with binary compression value for latitude to be represented in the data in Section 4 would be based on taking into consideration the also to be changed reference value of The new reference value will be to accommodate thousandths of degrees.
The maximum value of a reported latitude to be encoded into BUFR bits is This value is arrived at by a reported latitude of The number how to deposit with binary compression bits to accommodate is To change the data width of the Table B entry for latitude coarse accuracy from 15 bits to 18 bits would require the Table C entry 2 01 The Y operand is determined by the Operation Definition of adding Y bits to the data width given for the element 0 05 The how to deposit with binary compression is the midpoint between 1 and which is the range of values for the 8 bits of Y.
Numbers between 1 and will produce a negative value for changing data width, to a positive value. Each new reference value is represented by Y bits in the Data Section. Negative reference values shall be represented by a positive integer with the left-most bit bit 1 set to 1.
This operation associates a data field e. For Table B entry 0 05the scale is 2. In this case it is the resultant value which is to be multiplied by 10 Ynot the scale 2. To complete the necessary changes for Table B, the reference value also needs to be modified from to Here again it must be determined how many bits are necessary how to deposit with binary compression accommodate the new value, as the new reference value itself is encoded into Section 4.
The how to deposit with binary compression of bits to accommodate positive value is It is, however, necessary to indicate this is to be a negative value which will require an additional bit. To indicate a new reference value as negative, the left most bit of the reference value encoded into Section 4 is set to 1.
The sequence of operators needed to refedine or change a reference value is:. There are, of course, as many bit values in the data as there are data descriptors following the 2 03 descriptor. In this particular case it will not be necessary to have separate Data Description operators to modify longitude data width and change of scale. The increase in number of bits for data width to accommodate longitude to thousandths of degrees is also 3. The change of scale also remains the same.
There will, however, be a required change of reference value from to By following the same steps as when changing the latitude Table reference how to deposit with binary compression, the Data Description operator for how to deposit with binary compression the longitude reference value would be 2 03 followed by the data descriptor 0 06followed by the descriptor 2 03 to indicate the end of the list of descriptors for how to deposit with binary compression reference values are being changed.
Once Data Description how to deposit with binary compression 2 01 Y, 2 02 Y and 2 03 Y have been used in Section 3, they remain in effect for the rest of whatever follows in the Section 3 data descriptions. To cancel operator 2 01, and 2 02, the additional entries must 2 01 and 2 02 must be included in Section 3.
To cancel the reference value change indicated by the operator 2 03there must be included in Section 3 an operator 2 03 Which would be the better of the methods? Again, use of local descriptors to define latitude and longitude is not a good idea as their use may cause a BUFR message to be undecodable in some other center. Of the two other methods, using high accuracy latitude and longitude, or using Data Description operators to change latitude and longitude definitions to thousandths of degrees will each produce the same results.
Sections 0 through Section 2 would require bits per observation using high accuracy latitude and longitude. If latitude and longitude were changed by Data Description operators to thousandths of degrees then the observation would require bits per observation, or a savings of 14 bits per observation, hardly worth the effort!
The preceding example does not imply that changing data width, scale and reference values should not be done, but it does point out that to do so to lower the number of bits within the data section for a given parameter is probably not that beneficial. In those instances where the Table B entries do not provide enough significance for new technologies, then the flexibility is provided within BUFR to handle those situations.
If, for example, satellites were to measure latitude and longitude to millionths of degrees, then, to maintain significance of those measurements would require changing data width, scale and reference values, at how to deposit with binary compression until or if there is a new Table B entry. This example also shows that when changing data width, scale and reference values, a single Table D descriptor cannot be how to deposit with binary compression in Section 3.
Since the descriptor to be affected may be deep within the Table D expansion process, there is no way to include the Data Descriptor operators how to deposit with binary compression that expansion.
A change in reference value, however, can be accomplished while still using a single Table D entry. This is possible because how to deposit with binary compression the entry for change reference value, 2 03 YYY, there must also be included the Table B descriptor or multiple descriptors that are to have new reference values.
The Table B entries for geopotential, 0 07 and 0 10 have a reference value oftoo restrictive for very low pressure systems. Placing 2 03followed by 0 10 before the Table D descriptor means that each time data is encountered in Section 4 for 0 10the new reference value indicated by the count of 10 bits specified by YYY applies. Within 10 bits the limit of the new reference value as a negative number is The descriptor to conclude the list of descriptors for which new reference values are supplied follows immediately, followed in turn by the Table D descriptor Figure In Figurethe order of the Section 3 descriptors is:.
The Data Description operator 2 04 Y permits the inclusion of quality control information of Y bits attached to each following data element. The additional YYY bits of the associated field appear in the data section as prefixes to the actual data elements. The Add Associated Field operator, whenever used, must be immediately followed by the Class 31 Data Description Operator Qualifier 0 31 to indicate the meaning of the associated fields. Example of TEMP observations sequence using delayed replication and quality control information.