pub struct Grib2Template53 {Show 18 fields
pub reference_value: f32,
pub binary_scale_factor: i32,
pub decimal_scale_factor: i32,
pub number_of_bits: u8,
pub original_type: Grib2Table5_1,
pub group_splitting_method: Grib2Table5_4,
pub missing_value_management: Grib2Table5_5,
pub primary_missing_value_substitute: u32,
pub secondary_missing_value_substitute: u32,
pub number_of_groups: u32,
pub reference_for_group_widths: u8,
pub group_widths_bits: u8,
pub reference_for_group_lengths: u32,
pub group_length_factor: u8,
pub true_length_of_last_group: u32,
pub n_bits_group_length: u8,
pub order_of_spatial_difference: Grib2Table5_6,
pub extra_descriptor_octets: u8,
}Expand description
§Data Representation Template 5.3 – Complex packing and spatial differencing.
Reads and parses the metadata fields defined by GRIB2 Template 5.3. For most templates, details of the packing process are described in Regulation 92.9.4.
See also:
- GRIB2 Template 5.3 documentation
- Data template 7.3 and associated notes
- Spatial differencing (Regulation 92.9.4).
Fields§
§reference_value: f32Reference value (R) (IEEE 32-bit floating-point). Octets 12–15 in the GRIB2 documentation.
binary_scale_factor: i32Binary scale factor (E). Octets 16–17.
decimal_scale_factor: i32Decimal scale factor (D). Octets 18–19.
number_of_bits: u8Number of bits per packed value for simple packing, or per group reference for complex packing. Octet 20 in the documentation.
original_type: Grib2Table5_1Type of original field values. See Code Table 5.1. Octet 21.
group_splitting_method: Grib2Table5_4Group splitting method used. See Code Table 5.4. Octet 22.
missing_value_management: Grib2Table5_5Missing value management. See Code Table 5.5. Octet 23.
primary_missing_value_substitute: u32Primary missing value substitute. Octets 24–27.
secondary_missing_value_substitute: u32Secondary missing value substitute. Octets 28–31.
number_of_groups: u32Number of groups of data values (NG). Octets 32–35.
reference_for_group_widths: u8Reference for group widths. Octet 36. The group width is the number of bits used for every value in a group.
group_widths_bits: u8Number of bits used for the group widths (after subtracting the reference value). Octet 37.
reference_for_group_lengths: u32Reference for group lengths. Octets 38–41. The group length (L) is the number of values in a group.
group_length_factor: u8Length increment for group lengths. Octet 42. Used in the formula: Lₙ = ref + Kₙ × len_inc.
true_length_of_last_group: u32True length of the last group. Octets 43–46. A special-case group length if the sequence doesn’t fit the formula.
n_bits_group_length: u8Number of bits used for scaled group lengths (after subtracting ref and dividing by the length increment). Octet 47.
order_of_spatial_difference: Grib2Table5_6Order of spatial difference. See Code Table 5.6. Octet 48.
extra_descriptor_octets: u8Number of extra descriptor octets needed for spatial differencing (octets 6–ww in data template 7.3). Octet 49.
Implementations§
Trait Implementations§
Source§impl Clone for Grib2Template53
impl Clone for Grib2Template53
Source§fn clone(&self) -> Grib2Template53
fn clone(&self) -> Grib2Template53
1.0.0§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for Grib2Template53
impl Debug for Grib2Template53
Source§impl PartialEq for Grib2Template53
impl PartialEq for Grib2Template53
impl StructuralPartialEq for Grib2Template53
Auto Trait Implementations§
impl Freeze for Grib2Template53
impl RefUnwindSafe for Grib2Template53
impl Send for Grib2Template53
impl Sync for Grib2Template53
impl Unpin for Grib2Template53
impl UnwindSafe for Grib2Template53
Blanket Implementations§
§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§unsafe fn clone_to_uninit(&self, dest: *mut u8)
unsafe fn clone_to_uninit(&self, dest: *mut u8)
clone_to_uninit)Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more