## Statistical window overall concept based on official low-level GRIB2 keys only
#'none'    = {stepType='instant';}
# all instantaneous templates
 'none' = {productDefinitionTemplateNumber=0;}
 'none' = {productDefinitionTemplateNumber=1;}
 'none' = {productDefinitionTemplateNumber=2;}
 'none' = {productDefinitionTemplateNumber=3;}
 'none' = {productDefinitionTemplateNumber=4;}
 'none' = {productDefinitionTemplateNumber=5;}
 'none' = {productDefinitionTemplateNumber=6;}
 'none' = {productDefinitionTemplateNumber=7;}
 'none' = {productDefinitionTemplateNumber=15;}
 'none' = {productDefinitionTemplateNumber=20;}
 'none' = {productDefinitionTemplateNumber=30;}
 'none' = {productDefinitionTemplateNumber=31;}
 'none' = {productDefinitionTemplateNumber=32;}
 'none' = {productDefinitionTemplateNumber=33;}
 'none' = {productDefinitionTemplateNumber=35;}
 'none' = {productDefinitionTemplateNumber=40;}
 'none' = {productDefinitionTemplateNumber=41;}
 'none' = {productDefinitionTemplateNumber=44;}
 'none' = {productDefinitionTemplateNumber=45;}
 'none' = {productDefinitionTemplateNumber=48;}
 'none' = {productDefinitionTemplateNumber=49;}
 'none' = {productDefinitionTemplateNumber=50;}
 'none' = {productDefinitionTemplateNumber=51;}
 'none' = {productDefinitionTemplateNumber=53;}
 'none' = {productDefinitionTemplateNumber=54;}
 'none' = {productDefinitionTemplateNumber=55;}
 'none' = {productDefinitionTemplateNumber=56;}
 'none' = {productDefinitionTemplateNumber=57;}
 'none' = {productDefinitionTemplateNumber=58;}
 'none' = {productDefinitionTemplateNumber=59;}
 'none' = {productDefinitionTemplateNumber=60;}
 'none' = {productDefinitionTemplateNumber=70;}
 'none' = {productDefinitionTemplateNumber=71;}
 'none' = {productDefinitionTemplateNumber=76;}
 'none' = {productDefinitionTemplateNumber=77;}
 'none' = {productDefinitionTemplateNumber=80;}
 'none' = {productDefinitionTemplateNumber=81;}
 'none' = {productDefinitionTemplateNumber=86;}
 'none' = {productDefinitionTemplateNumber=88;}
 'none' = {productDefinitionTemplateNumber=89;}
 'none' = {productDefinitionTemplateNumber=92;}
 'none' = {productDefinitionTemplateNumber=93;}
 'none' = {productDefinitionTemplateNumber=94;}
 'none' = {productDefinitionTemplateNumber=99;}
 'none' = {productDefinitionTemplateNumber=100;}
 'none' = {productDefinitionTemplateNumber=101;}
 'none' = {productDefinitionTemplateNumber=102;}
 'none' = {productDefinitionTemplateNumber=103;}
 'none' = {productDefinitionTemplateNumber=104;}
 'none' = {productDefinitionTemplateNumber=108;}
 'none' = {productDefinitionTemplateNumber=109;}
 'none' = {productDefinitionTemplateNumber=113;}
 'none' = {productDefinitionTemplateNumber=115;}
 'none' = {productDefinitionTemplateNumber=117;}
 'none' = {productDefinitionTemplateNumber=119;}
 'none' = {productDefinitionTemplateNumber=121;}
 'none' = {productDefinitionTemplateNumber=124;}
 'none' = {productDefinitionTemplateNumber=125;}
 'none' = {productDefinitionTemplateNumber=128;}
 'none' = {productDefinitionTemplateNumber=129;}
 'none' = {productDefinitionTemplateNumber=130;}
 'none' = {productDefinitionTemplateNumber=131;}
 'none' = {productDefinitionTemplateNumber=132;}
 'none' = {productDefinitionTemplateNumber=133;}
 'none' = {productDefinitionTemplateNumber=136;}
 'none' = {productDefinitionTemplateNumber=137;}
 'none' = {productDefinitionTemplateNumber=139;}
 'none' = {productDefinitionTemplateNumber=140;}
 'none' = {productDefinitionTemplateNumber=141;}
 'none' = {productDefinitionTemplateNumber=142;}
 'none' = {productDefinitionTemplateNumber=143;}
 'none' = {productDefinitionTemplateNumber=146;}
 'none' = {productDefinitionTemplateNumber=148;}
 'none' = {productDefinitionTemplateNumber=150;}
 'none' = {productDefinitionTemplateNumber=152;}
 'none'	= {productDefinitionTemplateNumber=154;}
 'none' = {productDefinitionTemplateNumber=254;}
 'none' = {productDefinitionTemplateNumber=1000;}
 'none' = {productDefinitionTemplateNumber=1002;}
 'none' = {productDefinitionTemplateNumber=1100;}
 # some exceptions for non point-in-time templates
 'none'    = {productDefinitionTemplateNumber=8; lengthOfTimeRange=0;}
 'none'    = {productDefinitionTemplateNumber=11; lengthOfTimeRange=0;}
 'none'    = {typeOfStatisticalProcessing=10; lengthOfTimeRange=0;}
 # End instantaneous
 ##
 ### Accumulations ###
 # we need to do this dataset dependent, in some datasets we might have
 # hourly rolling accumulations and we don't want to have the first in a different bucket
 ## since start accumulation must have forecastTime=0
 # specific rules are in the centre's own definitions
 # minutes / hours / day / seconds
 'fromstart'    = {typeOfStatisticalProcessing=1; forecastTime=0; true=is_one_of(indicatorOfUnitForTimeRange,0,1,2,13); numberOfTimeRanges=1;}
 'none' = {typeOfStatisticalProcessing=1; forecastTime=0; stattype="daac"; numberOfTimeRanges=1;}
 '1h' = {typeOfStatisticalProcessing=1; forecastTime=0; stattype="daac"; numberOfTimeRanges=2; indicatorOfUnitForTimeRange=1; lengthOfTimeRange = 1;}
 ### end Accumulations ###
 #
 ### mean/min/max/stdev ###
 '10m'   = {indicatorOfUnitForTimeRange=0; lengthOfTimeRange = 10;}
 '10m'   = {indicatorOfUnitForTimeRange=13; lengthOfTimeRange = 600;}
 '15m'   = {indicatorOfUnitForTimeRange=0; lengthOfTimeRange = 15;}
 '15m'   = {indicatorOfUnitForTimeRange=13; lengthOfTimeRange = 900;}
 '20m'   = {indicatorOfUnitForTimeRange=0; lengthOfTimeRange = 20;}
 '20m'   = {indicatorOfUnitForTimeRange=13; lengthOfTimeRange = 1200;}
 '30m'   = {indicatorOfUnitForTimeRange=0; lengthOfTimeRange = 30;}
 '30m'   = {indicatorOfUnitForTimeRange=13; lengthOfTimeRange = 1800;}
 '1h'   = {indicatorOfUnitForTimeRange=1; lengthOfTimeRange = 1;}
 '1h'   = {indicatorOfUnitForTimeRange=0; lengthOfTimeRange = 60;}
 '1h'   = {indicatorOfUnitForTimeRange=13; lengthOfTimeRange = 3600;}
 '3h'   = {indicatorOfUnitForTimeRange=1; lengthOfTimeRange = 3;}
 '3h'   = {indicatorOfUnitForTimeRange=10; lengthOfTimeRange = 1;}
 '6h'   = {indicatorOfUnitForTimeRange=1; lengthOfTimeRange = 6;}
 '6h'   = {indicatorOfUnitForTimeRange=11; lengthOfTimeRange = 1;}
 '12h'   = {indicatorOfUnitForTimeRange=1; lengthOfTimeRange = 12;}
 '12h'   = {indicatorOfUnitForTimeRange=12; lengthOfTimeRange = 1;}
 '18h'   = {indicatorOfUnitForTimeRange=1; lengthOfTimeRange = 18;}
 '24h'   = {indicatorOfUnitForTimeRange=1; lengthOfTimeRange = 24;}
 '24h'   = {indicatorOfUnitForTimeRange=2; lengthOfTimeRange = 1;}
 '48h'   = {indicatorOfUnitForTimeRange=1; lengthOfTimeRange = 48;}
 '72h'   = {indicatorOfUnitForTimeRange=1; lengthOfTimeRange = 72;}
 '120h'   = {indicatorOfUnitForTimeRange=1; lengthOfTimeRange = 120;}
 '168h'   = {indicatorOfUnitForTimeRange=1; lengthOfTimeRange = 168;}
 '240h'   = {indicatorOfUnitForTimeRange=1; lengthOfTimeRange = 240;}
 '360h'   = {indicatorOfUnitForTimeRange=1; lengthOfTimeRange = 360;}
#'7 days'   = {indicatorOfUnitForTimeRange=1; lengthOfTimeRange = 168;}
# 28/29/30/31 days
 'month'   = {indicatorOfUnitForTimeRange=1; true=is_one_of(lengthOfTimeRange,672,696,720,744);}
# time unit month
 'month'   = {indicatorOfUnitForTimeRange=3; lengthOfTimeRange = 1;}
### end mean/min/max/stdev ###
