eccodes-data-grib1
Version:
GRIB1 format data for eccodes-lib
103 lines (89 loc) • 2.53 kB
Plain Text
# Copyright 2005-2018 ECMWF.
#
# This software is licensed under the terms of the Apache Licence Version 2.0
# which can be obtained at http://www.apache.org/licenses/LICENSE-2.0.
#
# In applying this licence, ECMWF does not waive the privileges and immunities granted to it by
# virtue of its status as an intergovernmental organisation nor does it submit to any jurisdiction.
#
unsigned [2] N2 : dump;
unsigned [2] codedNumberOfFirstOrderPackedValues : no_copy ;
unsigned [2] numberOfSecondOrderPackedValues : dump;
# used to extend
unsigned [1] extraValues=0 : hidden, edition_specific;
meta numberOfGroups evaluate(codedNumberOfFirstOrderPackedValues + 65536 * extraValues);
unsigned[1] groupWidths[numberOfGroups] :dump;
meta bitsPerValue second_order_bits_per_value(values,binaryScaleFactor,decimalScaleFactor);
position offsetBeforeData;
if(bitmapPresent) {
meta codedValues data_g1second_order_row_by_row_packing(
#simple_packing args
section4Length,
offsetBeforeData,
offsetSection4,
unitsFactor,
unitsBias,
changingPrecision,
numberOfCodedValues,
bitsPerValue,
referenceValue,
binaryScaleFactor,
decimalScaleFactor,
optimizeScaleFactor,
#g1second_order_row_by_row args
halfByte,
packingType,
grid_ieee,
precision,
widthOfFirstOrderValues,
N1,
N2,
numberOfGroups,
numberOfSecondOrderPackedValues,
extraValues,
Ni,
Nj,
pl,
jPointsAreConsecutive,
groupWidths,
bitmap
): read_only;
alias data.packedValues = codedValues;
meta values data_apply_bitmap(codedValues,bitmap,missingValue,binaryScaleFactor) : dump;
} else {
meta values data_g1second_order_row_by_row_packing(
#simple_packing args
section4Length,
offsetBeforeData,
offsetSection4,
unitsFactor,
unitsBias,
changingPrecision,
numberOfCodedValues,
bitsPerValue,
referenceValue,
binaryScaleFactor,
decimalScaleFactor,
optimizeScaleFactor,
#g1second_order_row_by_row args
halfByte,
packingType,
grid_ieee,
precision,
widthOfFirstOrderValues,
N1,
N2,
numberOfGroups,
numberOfSecondOrderPackedValues,
extraValues,
Ni,
Nj,
pl,
jPointsAreConsecutive,
groupWidths
) : dump;
alias data.packedValues = values;
}
transient numberOfCodedValues = numberOfSecondOrderPackedValues;
meta packingError simple_packing_error(bitsPerValue,binaryScaleFactor,decimalScaleFactor,referenceValue,ibm) : no_copy;
template statistics "common/statistics_grid.def";