eccodes/definitions/bufr/section.1.4.def

47 lines
1.6 KiB
Modula-2
Raw Normal View History

2019-04-15 13:44:45 +00:00
# Copyright 2005-2019 ECMWF.
2013-03-25 12:04:10 +00:00
position offsetSection1;
section_length[3] section1Length ;
2013-03-25 12:04:10 +00:00
2016-07-19 12:58:33 +00:00
unsigned[1] masterTableNumber : dump ;
2013-03-25 12:04:10 +00:00
codetable[2] bufrHeaderCentre 'common/c-11.table' : dump;
unsigned[2] bufrHeaderSubCentre : dump;
alias ls.centre=bufrHeaderCentre;
2013-03-25 12:04:10 +00:00
2016-07-19 12:58:33 +00:00
unsigned[1] updateSequenceNumber : dump;
2013-03-25 12:04:10 +00:00
2019-04-25 15:51:02 +00:00
flags[1] section1Flags 'bufr/section1_flags.table' = 128 : hidden ; # = section 2 present
2013-03-25 12:04:10 +00:00
unsigned[1] dataCategory : dump;
2016-02-17 08:45:48 +00:00
unsigned[1] internationalDataSubCategory = 255 : dump;
2013-03-25 12:04:10 +00:00
unsigned[1] dataSubCategory : dump;
unsigned[1] masterTablesVersionNumber : dump;
unsigned[1] localTablesVersionNumber : dump;
2013-03-25 12:04:10 +00:00
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 ;
2016-02-04 17:43:27 +00:00
2013-03-25 12:04:10 +00:00
unsigned[1] typicalMonth : dump;
unsigned[1] typicalDay : dump;
unsigned[1] typicalHour : dump;
unsigned[1] typicalMinute : dump;
unsigned[1] typicalSecond : dump;
2013-03-25 12:04:10 +00:00
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;
2013-03-25 12:04:10 +00:00
section_padding section1Padding;