Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Feature/mars timetag #159

Open
wants to merge 13 commits into
base: feature/mars-timetag
Choose a base branch
from
37 changes: 37 additions & 0 deletions definitions/grib2/localConcepts/uerra/timeprop.def
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
concept timeprop {
# tloop = typeOfStatisticalProcessing
# iloop = indicatorOfUnitForTimeRange
# lloop = lengthOfTimeRange
# iloopti = indicatorOfUnitForTimeIncrement
# tloopti = typeOfTimeIncrement
# lloopti = timeIncrement
"avgd" = {tloop = 0; iloop=1; lloop = 21; numberOfTimeRange = 1; indicatorOfUnitForTimeIncrement = 1; typeOfTimeIncrement = 1; timeIncrement = 3;}
"avgm" = {tloop = 0; iloop=1; lloop = 741; numberOfTimeRange = 2; iloopti = 1; tloopti= 1; lloopti = 3;}
"minm" = {tloop = 3; iloop=1; lloop = 741; numberOfTimeRange = 2; iloopti = 1; tloopti= 1; lloopti = 3;}
"maxm" = {tloop = 2; iloop=1; lloop = 741; numberOfTimeRange = 2; iloopti = 1; tloopti = 1; lloopti = 3;}
"avgm" = {tloop = 0; iloop=1; lloop = 648; numberOfTimeRange = 3; iloopti = 1; tloopti = 1; lloopti = 24;}
"minm" = {tloop = 3; iloop=1; lloop = 648; numberOfTimeRange = 3; iloopti = 1; tloopti = 1; lloopti = 24;}
"maxm" = {tloop = 2; iloop=1; lloop = 648; numberOfTimeRange = 3; iloopti = 1; tloopti = 1; lloopti = 24;}
"avgm" = {tloop = 0; iloop=1; lloop = 720; numberOfTimeRange = 3; iloopti = 1; tloopti = 1; lloopti = 24;}
"minm" = {tloop = 3; iloop=1; lloop = 720; numberOfTimeRange = 3; iloopti = 1; tloopti = 1; lloopti = 24;}
"maxm" = {tloop = 2; iloop=1; lloop = 720; numberOfTimeRange = 3; iloopti = 1; tloopti = 1; lloopti = 24;}
"avgm3h" = {tloop = 0; iloop=1; lloop = 741; numberOfTimeRange = 1; indicatorOfUnitForTimeIncrement = 1; typeOfTimeIncrement = 1; timeIncrement = 3;}
"accumd" = {tloop = 1; iloop=1; lloop = 24; numberOfTimeRange = 2;}
"accumd" = {tloop = 1; iloop=1; lloop = 24; numberOfTimeRange = 3;}
"accum12h" = {tloop = 1; iloop=1; lloop = 12; numberOfTimeRange = 2;}
"accum12h" = {tloop = 1; iloop=1; lloop = 12; numberOfTimeRange = 3;}
"mind" = {tloop = 3; iloop=1; lloop = 21; iloopti = 1; tloopti = 1; lloopti = 3;}
"maxd" = {tloop = 2; iloop=1; lloop = 21; iloopti = 1; tloopti = 1; lloopti = 3;}
"avg3h" = {tloop = 0; iloop=1; lloop = 3; numberOfTimeRange = 2;}
"accum3h" = {tloop = 1; iloop=1; lloop = 3; numberOfTimeRange = 2;}
"max3h" = {tloop = 2; iloop=1; lloop = 3; numberOfTimeRange = 2;}
"min3h" = {tloop = 3; iloop=1; lloop = 3; numberOfTimeRange = 2;}
"avg3h" = {tloop = 0; iloop=1; lloop = 3; numberOfTimeRange = 3;}
"accum3h" = {tloop = 1; iloop=1; lloop = 3; numberOfTimeRange = 3;}
"max3h" = {tloop = 2; iloop=1; lloop = 3; numberOfTimeRange = 3;}
"min3h" = {tloop = 3; iloop=1; lloop = 3; numberOfTimeRange = 3;}
"avg" = {tloop = 0;}
"accum" = {tloop = 1;}
"max" = {tloop = 2;}
"min" = {tloop = 3;}
}
8 changes: 8 additions & 0 deletions definitions/grib2/section.4.def
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@

# (C) Copyright 2005- ECMWF.

transient timeRangeIndicator=0 : no_copy,hidden;
Expand Down Expand Up @@ -39,6 +40,13 @@ concept datasetForLocal(unknown) {
"unknown" = { dummy=1; }
}

# timeprop key
if (productionStatusOfProcessedData== 10 || productionStatusOfProcessedData == 11){
template timeprop "grib2/localConcepts/uerra/timeprop.def";
} else {
template timeprop "grib2/timeprop.def";
}

if (!(datasetForLocal is "unknown")) {
constant conceptsDir2 = "grib2/localConcepts/[datasetForLocal]": hidden;
constant conceptsDir1 = "grib2": hidden;
Expand Down
2 changes: 2 additions & 0 deletions definitions/grib2/template.4.point_in_time.def
Original file line number Diff line number Diff line change
Expand Up @@ -30,3 +30,5 @@ meta time.validityDate validity_date(dataDate,dataTime,step,stepUnits) : no_copy
meta time.validityTime validity_time(dataDate,dataTime,step,stepUnits) : no_copy;
meta validityDateTime julian_date(validityDate, validityTime) : no_copy;

constant timepropstring = "inst" : no_copy ;
alias mars.timeprop = timepropstring ;
4 changes: 4 additions & 0 deletions definitions/grib2/template.4.referenceperiod.def
Original file line number Diff line number Diff line change
Expand Up @@ -47,3 +47,7 @@ referencePeriodList list(numberOfReferencePeriodTimeRanges)
# Length of reference period, in units defined by the previous octet [referencePeriodIndicatorOfUnitForTimeIncrement]
unsigned[4] lengthOfTimeRangeForReferencePeriod=0 ;
}

constant timepropstring = timeprop ;

alias mars.timeprop = timepropstring ;
98 changes: 98 additions & 0 deletions definitions/grib2/template.4.statistical.def
Original file line number Diff line number Diff line change
Expand Up @@ -125,3 +125,101 @@ meta time.validityDate validity_date(date,dataTime,step,stepUnits,yearOfEndOfOve
meta time.validityTime validity_time(date,dataTime,step,stepUnits,hourOfEndOfOverallTimeInterval,
minuteOfEndOfOverallTimeInterval) : no_copy;
meta validityDateTime julian_date(validityDate, validityTime) : no_copy;

if(numberOfTimeRange == 1 and productDefinitionTemplateNumber != 105 and productDefinitionTemplateNumber != 106 and productDefinitionTemplateNumber != 107 and productDefinitionTemplateNumber != 112){
constant tloop = typeOfStatisticalProcessing : no_copy ;
constant iloop = indicatorOfUnitForTimeRange : no_copy ;
constant lloop = lengthOfTimeRange : no_copy ;

constant iloopti = indicatorOfUnitForTimeIncrement;
constant tloopti = typeOfTimeIncrement;
constant lloopti = timeIncrement;

constant timepropstring = timeprop : no_copy;
}

if(numberOfTimeRange == 2 and productDefinitionTemplateNumber != 105 and productDefinitionTemplateNumber != 106 and productDefinitionTemplateNumber != 107 and productDefinitionTemplateNumber != 112){
meta tloop element(typeOfStatisticalProcessing, 0);
meta iloop element(indicatorOfUnitForTimeRange, 0);
meta lloop element(lengthOfTimeRange, 0);
meta iloopti element(indicatorOfUnitForTimeIncrement, 0);
meta tloopti element(typeOfTimeIncrement, 0);
meta lloopti element(timeIncrement, 0);
constant timeprop0 = timeprop : no_copy;
#
meta tloop element(typeOfStatisticalProcessing, 1);
meta iloop element(indicatorOfUnitForTimeRange, 1);
meta lloop element(lengthOfTimeRange, 1);
meta iloopti element(indicatorOfUnitForTimeIncrement, 1);
meta tloopti element(typeOfTimeIncrement, 1);
meta lloopti element(timeIncrement, 1);
constant timeprop1 = timeprop : no_copy;

meta timepropstring sprintf("%s_%s",timeprop0,timeprop1);
}

if(numberOfTimeRange == 3 and productDefinitionTemplateNumber != 105 and productDefinitionTemplateNumber != 106 and productDefinitionTemplateNumber != 107 and productDefinitionTemplateNumber != 112){
meta tloop element(typeOfStatisticalProcessing, 0);
meta iloop element(indicatorOfUnitForTimeRange, 0);
meta lloop element(lengthOfTimeRange, 0);
meta iloopti element(indicatorOfUnitForTimeIncrement, 0);
meta tloopti element(typeOfTimeIncrement, 0);
meta lloopti element(timeIncrement, 0);
constant timeprop0 = timeprop : no_copy;
#
meta tloop element(typeOfStatisticalProcessing, 1);
meta iloop element(indicatorOfUnitForTimeRange, 1);
meta lloop element(lengthOfTimeRange, 1);
meta iloopti element(indicatorOfUnitForTimeIncrement, 1);
meta tloopti element(typeOfTimeIncrement, 1);
meta lloopti element(timeIncrement, 1);
constant timeprop1 = timeprop : no_copy;
#
meta tloop element(typeOfStatisticalProcessing, 2);
meta iloop element(indicatorOfUnitForTimeRange, 2);
meta lloop element(lengthOfTimeRange, 2);
meta iloopti element(indicatorOfUnitForTimeIncrement, 2);
meta tloopti element(typeOfTimeIncrement, 2);
meta lloopti element(timeIncrement, 2);
constant timeprop2 = timeprop : no_copy;

meta timepropstring sprintf("%s_%s_%s",timeprop0,timeprop1,timeprop2);
}

if(numberOfTimeRange == 4 and productDefinitionTemplateNumber != 105 and productDefinitionTemplateNumber != 106 and productDefinitionTemplateNumber != 107 and productDefinitionTemplateNumber != 112){
meta tloop element(typeOfStatisticalProcessing, 0);
meta iloop element(indicatorOfUnitForTimeRange, 0);
meta lloop element(lengthOfTimeRange, 0);
meta iloopti element(indicatorOfUnitForTimeIncrement, 0);
meta tloopti element(typeOfTimeIncrement, 0);
meta lloopti element(timeIncrement, 0);
constant timeprop0 = timeprop : no_copy;
#
meta tloop element(typeOfStatisticalProcessing, 1);
meta iloop element(indicatorOfUnitForTimeRange, 1);
meta lloop element(lengthOfTimeRange, 1);
meta iloopti element(indicatorOfUnitForTimeIncrement, 1);
meta tloopti element(typeOfTimeIncrement, 1);
meta lloopti element(timeIncrement, 1);
constant timeprop1 = timeprop : no_copy;
#
meta tloop element(typeOfStatisticalProcessing, 2);
meta iloop element(indicatorOfUnitForTimeRange, 2);
meta lloop element(lengthOfTimeRange, 2);
meta iloopti element(indicatorOfUnitForTimeIncrement, 2);
meta tloopti element(typeOfTimeIncrement, 2);
meta lloopti element(timeIncrement, 2);
constant timeprop2 = timeprop : no_copy;

meta tloop element(typeOfStatisticalProcessing, 3);
meta iloop element(indicatorOfUnitForTimeRange, 3);
meta lloop element(lengthOfTimeRange, 3);
meta iloopti element(indicatorOfUnitForTimeIncrement, 3);
meta tloopti element(typeOfTimeIncrement, 3);
meta lloopti element(timeIncrement, 3);
constant timeprop3 = timeprop : no_copy;

meta timepropstring sprintf("%s_%s_%s_%s",timeprop0,timeprop1,timeprop2,timeprop3);
}

alias mars.timeprop = timepropstring ;
185 changes: 185 additions & 0 deletions definitions/grib2/timeprop.def
Original file line number Diff line number Diff line change
@@ -0,0 +1,185 @@
concept timeprop {
# tloop = typeOfStatisticalProcessing
# iloop = indicatorOfUnitForTimeRange
# lloop = lengthOfTimeRange
"inst" = {stepType="instant";}
"avg" = {tloop = 0; iloop=1; numberOfTimeRange = 1;}
"avg" = {tloop = 0; iloop=2; numberOfTimeRange = 1;}
"avg" = {tloop = 0; iloop=3; numberOfTimeRange = 1;}
"avgd" = {tloop = 0; iloop=1; lloop = 24;}
"avgd" = {tloop = 0; iloop=2; lloop = 1;}
"avgw" = {tloop = 0; iloop=1; lloop = 168;}
"avgm" = {tloop = 0; iloop=1; lloop = 672;}
"avgm" = {tloop = 0; iloop=1; lloop = 696;}
"avgm" = {tloop = 0; iloop=1; lloop = 720;}
"avgm" = {tloop = 0; iloop=1; lloop = 744;}
"avgm" = {tloop = 0; iloop=3; lloop = 1;}
# synoptic means
# we can use indicatorOfUnitForTimeIncrement and timeIncrement directly as it is a simple integer, not a list
# numberOfTimeRange = 1
"avgs" = {tloop = 0; iloop=1; lloop = 672; indicatorOfUnitForTimeIncrement = 1; timeIncrement = 24; numberOfTimeRange = 1;}
"avgs" = {tloop = 0; iloop=1; lloop = 696; indicatorOfUnitForTimeIncrement = 1; timeIncrement = 24; numberOfTimeRange = 1;}
"avgs" = {tloop = 0; iloop=1; lloop = 720; indicatorOfUnitForTimeIncrement = 1; timeIncrement = 24; numberOfTimeRange = 1;}
"avgs" = {tloop = 0; iloop=1; lloop = 744; indicatorOfUnitForTimeIncrement = 1; timeIncrement = 24; numberOfTimeRange = 1;}
"avgs" = {tloop = 0; iloop=1; lloop = 672; indicatorOfUnitForTimeIncrement = 2; timeIncrement = 1; numberOfTimeRange = 1;}
"avgs" = {tloop = 0; iloop=1; lloop = 696; indicatorOfUnitForTimeIncrement = 2; timeIncrement = 1; numberOfTimeRange = 1;}
"avgs" = {tloop = 0; iloop=1; lloop = 720; indicatorOfUnitForTimeIncrement = 2; timeIncrement = 1; numberOfTimeRange = 1;}
"avgs" = {tloop = 0; iloop=1; lloop = 744; indicatorOfUnitForTimeIncrement = 2; timeIncrement = 1; numberOfTimeRange = 1;}
#
"max" = {tloop = 2; iloop=1; numberOfTimeRange = 1;}
"max" = {tloop = 2; iloop=2; numberOfTimeRange = 1;}
"max" = {tloop = 2; iloop=3; numberOfTimeRange = 1;}
"maxd" = {tloop = 2; iloop=1; lloop = 24;}
"maxd" = {tloop = 2; iloop=2; lloop = 1;}
"maxw" = {tloop = 2; iloop=1; lloop = 168;}
"maxm" = {tloop = 2; iloop=1; lloop = 672;}
"maxm" = {tloop = 2; iloop=1; lloop = 696;}
"maxm" = {tloop = 2; iloop=1; lloop = 720;}
"maxm" = {tloop = 2; iloop=1; lloop = 744;}
"maxm" = {tloop = 2; iloop=3; lloop = 1;}
"min" = {tloop = 3; iloop=1; numberOfTimeRange = 1;}
"min" = {tloop = 3; iloop=2; numberOfTimeRange = 1;}
"min" = {tloop = 3; iloop=3; numberOfTimeRange = 1;}
"mind" = {tloop = 3; iloop=1; lloop = 24;}
"mind" = {tloop = 3; iloop=2; lloop = 1;}
"minw" = {tloop = 3; iloop=1; lloop = 168;}
"minm" = {tloop = 3; iloop=1; lloop = 672;}
"minm" = {tloop = 3; iloop=1; lloop = 696;}
"minm" = {tloop = 3; iloop=1; lloop = 720;}
"minm" = {tloop = 3; iloop=1; lloop = 744;}
"minm" = {tloop = 3; iloop=3; lloop = 1;}
"avg" = {tloop = 0;}
"accum" = {tloop = 1;}
"accum" = {tloop = 1; numberOfTimeRange = 1;}
"accum" = {tloop = 1; iloop=1; numberOfTimeRange = 1;}
"accum" = {tloop = 1; iloop=2; numberOfTimeRange = 1;}
"accum" = {tloop = 1; iloop=3; numberOfTimeRange = 1;}
"accum" = {tloop = 1; iloop=1; lloop = 24; numberOfTimeRange = 1;}
"accum" = {tloop = 1; iloop=2; lloop = 1; numberOfTimeRange = 1;}
"accumd" = {tloop = 1; iloop=1; lloop = 24; numberOfTimeRange = 2;}
"accumd" = {tloop = 1; iloop=2; lloop = 1; numberOfTimeRange = 2;}
"accumd" = {tloop = 1; iloop=1; lloop = 24; numberOfTimeRange = 3;}
"accumd" = {tloop = 1; iloop=2; lloop = 1; numberOfTimeRange = 3;}
"accumd" = {tloop = 1; iloop=1; lloop = 24; numberOfTimeRange = 4;}
"accumd" = {tloop = 1; iloop=2; lloop = 1; numberOfTimeRange = 4;}
"accumw" = {tloop = 1; iloop=1; lloop = 168; numberOfTimeRange = 2;}
"accumw" = {tloop = 1; iloop=1; lloop = 168; numberOfTimeRange = 3;}
"accumw" = {tloop = 1; iloop=1; lloop = 168; numberOfTimeRange = 4;}
"accumm" = {tloop = 1; iloop=3; lloop = 1; numberOfTimeRange = 2;}
"accumm" = {tloop = 1; iloop=1; lloop = 672; numberOfTimeRange = 2;}
"accumm" = {tloop = 1; iloop=1; lloop = 696; numberOfTimeRange = 2;}
"accumm" = {tloop = 1; iloop=1; lloop = 720; numberOfTimeRange = 2;}
"accumm" = {tloop = 1; iloop=1; lloop = 744; numberOfTimeRange = 2;}
"accumm" = {tloop = 1; iloop=3; lloop = 1; numberOfTimeRange = 3;}
"accumm" = {tloop = 1; iloop=1; lloop = 672; numberOfTimeRange = 3;}
"accumm" = {tloop = 1; iloop=1; lloop = 696; numberOfTimeRange = 3;}
"accumm" = {tloop = 1; iloop=1; lloop = 720; numberOfTimeRange = 3;}
"accumm" = {tloop = 1; iloop=1; lloop = 744; numberOfTimeRange = 3;}
"accumm" = {tloop = 1; iloop=3; lloop = 1; numberOfTimeRange = 4;}
"accumm" = {tloop = 1; iloop=1; lloop = 672; numberOfTimeRange = 4;}
"accumm" = {tloop = 1; iloop=1; lloop = 696; numberOfTimeRange = 4;}
"accumm" = {tloop = 1; iloop=1; lloop = 720; numberOfTimeRange = 4;}
"accumm" = {tloop = 1; iloop=1; lloop = 744; numberOfTimeRange = 4;}
"max" = {tloop = 2;}
"min" = {tloop = 3;}
"stdanom" = {tloop = 10;}
"sev" = {tloop = 100;}
"mode" = {tloop = 101;}
"sev" = {tloop = 100; iloop=1;}
"mode" = {tloop = 101; iloop=1;}
"avg1h" = {tloop = 0; iloop=1; lloop = 1; numberOfTimeRange = 2;}
"accum1h" = {tloop = 1; iloop=1; lloop = 1; numberOfTimeRange = 2;}
"max1h" = {tloop = 2; iloop=1; lloop = 1; numberOfTimeRange = 2;}
"min1h" = {tloop = 3; iloop=1; lloop = 1; numberOfTimeRange = 2;}
"avg1h" = {tloop = 0; iloop=1; lloop = 1; numberOfTimeRange = 3;}
"accum1h" = {tloop = 1; iloop=1; lloop = 1; numberOfTimeRange = 3;}
"max1h" = {tloop = 2; iloop=1; lloop = 1; numberOfTimeRange = 3;}
"min1h" = {tloop = 3; iloop=1; lloop = 1; numberOfTimeRange = 3;}
"avg1h" = {tloop = 0; iloop=1; lloop = 1; numberOfTimeRange = 4;}
"accum1h" = {tloop = 1; iloop=1; lloop = 1; numberOfTimeRange = 4;}
"max1h" = {tloop = 2; iloop=1; lloop = 1; numberOfTimeRange = 4;}
"min1h" = {tloop = 3; iloop=1; lloop = 1; numberOfTimeRange = 4;}
"1h" = {iloop=1; lloop = 1;}
"avg3h" = {tloop = 0; iloop=1; lloop = 3; numberOfTimeRange = 2;}
"accum3h" = {tloop = 1; iloop=1; lloop = 3; numberOfTimeRange = 2;}
"max3h" = {tloop = 2; iloop=1; lloop = 3; numberOfTimeRange = 2;}
"min3h" = {tloop = 3; iloop=1; lloop = 3; numberOfTimeRange = 2;}
"avg3h" = {tloop = 0; iloop=1; lloop = 3; numberOfTimeRange = 3;}
"accum3h" = {tloop = 1; iloop=1; lloop = 3; numberOfTimeRange = 3;}
"max3h" = {tloop = 2; iloop=1; lloop = 3; numberOfTimeRange = 3;}
"min3h" = {tloop = 3; iloop=1; lloop = 3; numberOfTimeRange = 3;}
"avg3h" = {tloop = 0; iloop=1; lloop = 3; numberOfTimeRange = 4;}
"accum3h" = {tloop = 1; iloop=1; lloop = 3; numberOfTimeRange = 4;}
"max3h" = {tloop = 2; iloop=1; lloop = 3; numberOfTimeRange = 4;}
"min3h" = {tloop = 3; iloop=1; lloop = 3; numberOfTimeRange = 4;}
"avg3h" = {tloop = 0; iloop=10; lloop = 1; numberOfTimeRange = 2;}
"accum3h" = {tloop = 1; iloop=10; lloop = 1; numberOfTimeRange = 2;}
"max3h" = {tloop = 2; iloop=10; lloop = 1; numberOfTimeRange = 2;}
"min3h" = {tloop = 3; iloop=10; lloop = 1; numberOfTimeRange = 2;}
"avg3h" = {tloop = 0; iloop=10; lloop = 1; numberOfTimeRange = 3;}
"accum3h" = {tloop = 1; iloop=10; lloop = 1; numberOfTimeRange = 3;}
"max3h" = {tloop = 2; iloop=10; lloop = 1; numberOfTimeRange = 3;}
"min3h" = {tloop = 3; iloop=10; lloop = 1; numberOfTimeRange = 3;}
"avg3h" = {tloop = 0; iloop=10; lloop = 1; numberOfTimeRange = 4;}
"accum3h" = {tloop = 1; iloop=10; lloop = 1; numberOfTimeRange = 4;}
"max3h" = {tloop = 2; iloop=10; lloop = 1; numberOfTimeRange = 4;}
"min3h" = {tloop = 3; iloop=10; lloop = 1; numberOfTimeRange = 4;}
"3h" = {iloop=1; lloop = 3;}
"3h" = {iloop=10; lloop = 1;}
"avg6h" = {tloop = 0; iloop=1; lloop = 6; numberOfTimeRange = 2;}
"accum6h" = {tloop = 1; iloop=1; lloop = 6; numberOfTimeRange = 2;}
"max6h" = {tloop = 2; iloop=1; lloop = 6; numberOfTimeRange = 2;}
"min6h" = {tloop = 3; iloop=1; lloop = 6; numberOfTimeRange = 2;}
"avg6h" = {tloop = 0; iloop=1; lloop = 6; numberOfTimeRange = 3;}
"accum6h" = {tloop = 1; iloop=1; lloop = 6; numberOfTimeRange = 3;}
"max6h" = {tloop = 2; iloop=1; lloop = 6; numberOfTimeRange = 3;}
"min6h" = {tloop = 3; iloop=1; lloop = 6; numberOfTimeRange = 3;}
"avg6h" = {tloop = 0; iloop=1; lloop = 6; numberOfTimeRange = 4;}
"accum6h" = {tloop = 1; iloop=1; lloop = 6; numberOfTimeRange = 4;}
"max6h" = {tloop = 2; iloop=1; lloop = 6; numberOfTimeRange = 4;}
"min6h" = {tloop = 3; iloop=1; lloop = 6; numberOfTimeRange = 4;}
"avg6h" = {tloop = 0; iloop=11; lloop = 1; numberOfTimeRange = 2;}
"accum6h" = {tloop = 1; iloop=11; lloop = 1; numberOfTimeRange = 2;}
"max6h" = {tloop = 2; iloop=11; lloop = 1; numberOfTimeRange = 2;}
"min6h" = {tloop = 3; iloop=11; lloop = 1; numberOfTimeRange = 2;}
"avg6h" = {tloop = 0; iloop=11; lloop = 1; numberOfTimeRange = 3;}
"accum6h" = {tloop = 1; iloop=11; lloop = 1; numberOfTimeRange = 3;}
"max6h" = {tloop = 2; iloop=11; lloop = 1; numberOfTimeRange = 3;}
"min6h" = {tloop = 3; iloop=11; lloop = 1; numberOfTimeRange = 3;}
"avg6h" = {tloop = 0; iloop=11; lloop = 1; numberOfTimeRange = 4;}
"accum6h" = {tloop = 1; iloop=11; lloop = 1; numberOfTimeRange = 4;}
"max6h" = {tloop = 2; iloop=11; lloop = 1; numberOfTimeRange = 4;}
"min6h" = {tloop = 3; iloop=11; lloop = 1; numberOfTimeRange = 4;}
"6h" = {iloop=1; lloop = 6;}
"6h" = {iloop=11; lloop = 1;}
"avg12h" = {tloop = 0; iloop=1; lloop = 12; numberOfTimeRange = 2;}
"accum12h" = {tloop = 1; iloop=1; lloop = 12; numberOfTimeRange = 2;}
"max12h" = {tloop = 2; iloop=1; lloop = 12; numberOfTimeRange = 2;}
"min12h" = {tloop = 3; iloop=1; lloop = 12; numberOfTimeRange = 2;}
"avg12h" = {tloop = 0; iloop=1; lloop = 12; numberOfTimeRange = 3;}
"accum12h" = {tloop = 1; iloop=1; lloop = 12; numberOfTimeRange = 3;}
"max12h" = {tloop = 2; iloop=1; lloop = 12; numberOfTimeRange = 3;}
"min12h" = {tloop = 3; iloop=1; lloop = 12; numberOfTimeRange = 3;}
"avg12h" = {tloop = 0; iloop=1; lloop = 12; numberOfTimeRange = 4;}
"accum12h" = {tloop = 1; iloop=1; lloop = 12; numberOfTimeRange = 4;}
"max12h" = {tloop = 2; iloop=1; lloop = 12; numberOfTimeRange = 4;}
"min12h" = {tloop = 3; iloop=1; lloop = 12; numberOfTimeRange = 4;}
"avg12h" = {tloop = 0; iloop=12; lloop = 1; numberOfTimeRange = 2;}
"accum12h" = {tloop = 1; iloop=12; lloop = 1; numberOfTimeRange = 2;}
"max12h" = {tloop = 2; iloop=12; lloop = 1; numberOfTimeRange = 2;}
"min12h" = {tloop = 3; iloop=12; lloop = 1; numberOfTimeRange = 2;}
"avg12h" = {tloop = 0; iloop=12; lloop = 1; numberOfTimeRange = 3;}
"accum12h" = {tloop = 1; iloop=12; lloop = 1; numberOfTimeRange = 3;}
"max12h" = {tloop = 2; iloop=12; lloop = 1; numberOfTimeRange = 3;}
"min12h" = {tloop = 3; iloop=12; lloop = 1; numberOfTimeRange = 3;}
"avg12h" = {tloop = 0; iloop=12; lloop = 1; numberOfTimeRange = 4;}
"accum12h" = {tloop = 1; iloop=12; lloop = 1; numberOfTimeRange = 4;}
"max12h" = {tloop = 2; iloop=12; lloop = 1; numberOfTimeRange = 4;}
"min12h" = {tloop = 3; iloop=12; lloop = 1; numberOfTimeRange = 4;}
"12h" = {iloop=1; lloop = 12;}
"12h" = {iloop=12; lloop = 1;}
"anom" = {typeOfRelationToReferenceDataset = 0;}
"sign" = {typeOfRelationToReferenceDataset = 2;}
"efi_sot" = {typeOfRelationToReferenceDataset = 20;}
"efi_sot" = {typeOfRelationToReferenceDataset = 21;}
}