# 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. # position offsetSection1; section_length[3] section1Length ; unsigned[1] masterTableNumber : dump ; codetable[2] bufrHeaderCentre 'common/c-11.table' : dump; unsigned[2] bufrHeaderSubCentre : dump; alias ls.centre=bufrHeaderCentre; unsigned[1] updateSequenceNumber : dump; flags[1] section1Flags 'bufr/section1_flags.table' = 128 : hidden ; # = section 2 present unsigned[1] dataCategory : dump; unsigned[1] internationalDataSubCategory = 255 : dump; unsigned[1] dataSubCategory : dump; unsigned[1] masterTablesVersionNumber : dump; unsigned[1] localTablesVersionNumber : dump; unsigned[2] typicalYear : dump; transient typicalYear2 = typicalYear : hidden, no_copy; if (typicalYear<100) { # ECC-556: invalid year corrected. Assume 21st century! transient typicalYear2 = (2000 + typicalYear) : hidden, no_copy; } transient typicalYearOfCentury = typicalYear2 % 100; transient typicalCentury = ( typicalYear2 - typicalYearOfCentury ) / 100 + 1 ; unsigned[1] typicalMonth : dump; unsigned[1] typicalDay : dump; unsigned[1] typicalHour : dump; unsigned[1] typicalMinute : dump; unsigned[1] typicalSecond : dump; meta ls.typicalDate sprintf("%.4d%.2d%.2d",typicalYear2,typicalMonth,typicalDay) : dump,no_copy,read_only; meta ls.typicalTime sprintf("%.2d%.2d%.2d",typicalHour,typicalMinute,typicalSecond) :dump,no_copy,read_only; meta typicalDateTime julian_date(typicalYear2,typicalMonth,typicalDay,typicalHour,typicalMinute,typicalSecond) ; alias ls.masterTablesVersionNumber=masterTablesVersionNumber; alias ls.localTablesVersionNumber=localTablesVersionNumber; section_padding section1Padding;