eccodes/definitions/bufr/section.4.def

40 lines
1.4 KiB
Modula-2
Raw Normal View History

2015-01-05 15:45:46 +00:00
# Copyright 2005-2015 ECMWF.
2013-03-25 12:04:10 +00:00
#
# 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.
#
2013-03-25 12:04:10 +00:00
# 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.
#
position offsetSection4;
section_length[3] section4Length ;
2013-03-25 12:04:10 +00:00
unsigned[1] reserved = 0;
position offsetBeforeData;
#meta subsetNumber bufr_subset_number();
transient subsetNumber=0;
if (compressedData) {
2014-08-10 19:20:57 +00:00
meta numericValues bufr_data_array(offsetSection4,offsetBeforeData,offsetEndSection4,section4Length,
2014-11-17 14:53:05 +00:00
numberOfSubsets,subsetNumber,expandedCodes,expandedFlags,
stringValues,elementsDescriptorsIndex,compressedData) : dump;
} else {
2014-08-10 19:20:57 +00:00
meta numericValues bufr_data_array(offsetSection4,offsetBeforeData,offsetEndSection4,section4Length,
2014-11-17 14:53:05 +00:00
numberOfSubsets,subsetNumber,expandedCodes,expandedFlags,
stringValues,elementsDescriptorsIndex,compressedData) : dump;
}
2014-11-17 14:53:05 +00:00
meta unpack unpack_bufr_values(numericValues) ;
2015-06-03 13:52:29 +00:00
when (changed(unexpandedDescriptors)) {
# resize data section and unpack
set unpack=3;
}
2013-03-25 12:04:10 +00:00
section_padding section4Padding;
position offsetEndSection4;
meta md5Data md5(offsetSection4,section4Length);
2015-03-02 17:00:24 +00:00
alias dataAccessors=numericValues;