eccodes/definitions/grib3/section.03.def

39 lines
1.4 KiB
Modula-2
Raw Normal View History

2020-01-28 14:32:34 +00:00
# (C) Copyright 2005- ECMWF.
2016-08-16 16:53:11 +00:00
2016-08-18 12:29:59 +00:00
# Section 3 - Time Domain Section
2016-08-16 16:53:11 +00:00
position offsetSection3;
section_length[4] section3Length ;
meta section3Pointer section_pointer(offsetSection3,section3Length,3);
unsigned[1] numberOfSection = 3 :read_only;
2016-08-18 12:29:59 +00:00
unsigned[2] section3UniqueIdentifier; # SUI
2016-08-16 16:53:11 +00:00
codetable[1] significanceOfReferenceDateAndTime ('3.0.table',masterDir,localDir) = 1 : dump;
2016-08-16 16:53:11 +00:00
2016-08-18 12:29:59 +00:00
# The type of calendar used applies to the entire section including the Time Domain Template
codetable[1] typeOfCalendar ('3.1.table',masterDir,localDir) = 255 : dump,no_copy,edition_specific;
2016-08-16 16:53:11 +00:00
2016-08-18 12:29:59 +00:00
# Year, month, day etc form the Reference date and time
# Note: year is SIGNED integer (according to Reg. 92.1.5) to represent large negative dates (BC).
# This was a requirement for the climate.
signed[4] year ;
2016-08-18 12:29:59 +00:00
unsigned[1] month ;
unsigned[1] day ;
unsigned[1] hour ;
unsigned[1] minute ;
unsigned[1] second ;
2016-08-16 16:53:11 +00:00
2016-08-18 12:29:59 +00:00
meta dataDate g2date(year,month,day) : dump;
alias mars.date = dataDate;
2016-08-18 12:29:59 +00:00
alias ls.date = dataDate;
meta julianDay julian_day(dataDate,hour,minute,second) : edition_specific;
meta dataTime time(hour,minute,second) : dump;
alias mars.time = dataTime;
2016-08-16 16:53:11 +00:00
2016-08-18 12:29:59 +00:00
codetable[2] timeDomainTemplateNumber ('3.2.table',masterDir,localDir) =0 : dump,edition_specific;
template timeDomainTemplate "grib3/template.3.[timeDomainTemplateNumber:l].def";
2016-08-16 16:53:11 +00:00
meta md5Section3 md5(offsetSection3,section3Length);
2016-08-18 12:29:59 +00:00
alias md5TimeDomainSection = md5Section3;