eccodes/definitions/grib2/template.4.referenceperiod.def

50 lines
2.3 KiB
Modula-2

# Type of reference dataset
codetable[1] typeOfReferenceDataset ('4.100.table',masterDir,localDir) = 255 : dump,edition_specific;
# Type of relation to reference dataset
codetable[1] typeOfRelationToReferenceDataset ('4.101.table',masterDir,localDir) = 255 : dump,edition_specific;
# number of additional parameters
unsigned[1] numberOfAdditionalParametersForReferencePeriod=0 ;
additionalParameter list(numberOfAdditionalParametersForReferencePeriod)
{
signed[1] scaleFactorOfAdditionalParameterForReferencePeriod;
signed[4] scaledValueOfAdditionalParameterForReferencePeriod;
}
## Start of reference period
unsigned[2] yearOfStartOfReferencePeriod = missing() : edition_specific,can_be_missing;
unsigned[1] monthOfStartOfReferencePeriod = missing() : edition_specific,can_be_missing;
unsigned[1] dayOfStartOfReferencePeriod = missing() : edition_specific,can_be_missing;
unsigned[1] hourOfStartOfReferencePeriod = missing() : edition_specific,can_be_missing;
unsigned[1] minuteOfStartOfReferencePeriod = missing() : edition_specific,can_be_missing;
unsigned[1] secondOfStartOfReferencePeriod = missing() : edition_specific,can_be_missing;
meta startDateOfReferencePeriod g2date(yearOfStartOfReferencePeriod,monthOfStartOfReferencePeriod,dayOfStartOfReferencePeriod);
## End of reference period (defined as startDateOfReferencePeriod + referencePeriodTimeIncrement * referencePeriodIndicatorOfUnitForTimeIncrement)
unsigned[4] sampleSizeOfReferencePeriod = 0;
# n - number of time range specifications describing the time intervals used to calculate the statistically-processed field
unsigned[1] numberOfReferencePeriodTimeRanges = 1 : edition_specific;
alias nref = numberOfReferencePeriodTimeRanges;
referencePeriodList list(numberOfReferencePeriodTimeRanges)
{
# Type of statistical processing of reference period
codetable[1] typeOfStatisticalProcessingForTimeRangeForReferencePeriod ('4.102.table',masterDir,localDir) = 255 : dump,edition_specific;
# Indicator of unit of time for the increment between the successive fields used
codetable[1] indicatorOfUnitForTimeRangeForReferencePeriod ('4.4.table',masterDir,localDir)=255 ;
# Length of reference period, in units defined by the previous octet [referencePeriodIndicatorOfUnitForTimeIncrement]
unsigned[4] lengthOfTimeRangeForReferencePeriod=0 ;
}