mirror of https://github.com/ecmwf/eccodes.git
fix for timeproc key
This commit is contained in:
parent
61f0ff099a
commit
8c2e68c891
|
@ -127,9 +127,7 @@ if (paramId >= 140000 && paramId < 141000 &&
|
|||
alias mars.paramtype = paramTypeWave;
|
||||
}
|
||||
|
||||
template timeproc "grib2/timeproc.def";
|
||||
if (defined(timeproc) && !(timeproc is "none")){
|
||||
alias mars.timeproc = timeproc ;
|
||||
}
|
||||
concept timeproc (unknown,"timeprocConcept.def",conceptsDir2,conceptsDir1) : read_only ;
|
||||
alias mars.timeproc = timeproc ;
|
||||
|
||||
meta md5Section4 md5(offsetSection4,section4Length);
|
||||
|
|
|
@ -1,91 +0,0 @@
|
|||
concept timeproc {
|
||||
# either instantaneous data or processing is specified by mars stream
|
||||
# "point-in-time" = {stepType="instant";}
|
||||
"none" = {stepType="instant";}
|
||||
"none" = {stream="swmm"; numberOfTimeRange=1;}
|
||||
"none" = {stream="mnth"; numberOfTimeRange=1;}
|
||||
"none" = {stream="mmsa"; numberOfTimeRange=1;}
|
||||
"none" = {stream="msmm"; numberOfTimeRange=1;}
|
||||
# "point-in-time" = {productDefinitionTemplateNumber=8; lengthOfTimeRange=0;}
|
||||
# "point-in-time" = {productDefinitionTemplateNumber=11; lengthOfTimeRange=0;}
|
||||
# "point-in-time" = {typeOfStatisticalProcessing=10; lengthOfTimeRange=0;}
|
||||
"none" = {productDefinitionTemplateNumber=8; lengthOfTimeRange=0;}
|
||||
"none" = {productDefinitionTemplateNumber=11; lengthOfTimeRange=0;}
|
||||
"none" = {typeOfStatisticalProcessing=10; lengthOfTimeRange=0;}
|
||||
# special rules for weekly extended-range (sub-seasonal) products
|
||||
"none" = {marsStream="eefo"; type="fcmax"; numberOfTimeRange=1;}
|
||||
"none" = {marsStream="eefo"; type="fcmin"; numberOfTimeRange=1;}
|
||||
"none" = {marsStream="eefo"; type="fcmean"; numberOfTimeRange=1;}
|
||||
"none" = {marsStream="eefo"; type="fcstdev"; numberOfTimeRange=1;}
|
||||
"none" = {marsStream="eefo"; type="taem"; numberOfTimeRange=1;}
|
||||
"none" = {marsStream="eefo"; type="taes"; numberOfTimeRange=1;}
|
||||
"none" = {marsStream="eehs"; type="fcmax"; numberOfTimeRange=1;}
|
||||
"none" = {marsStream="eehs"; type="fcmin"; numberOfTimeRange=1;}
|
||||
"none" = {marsStream="eehs"; type="fcmean"; numberOfTimeRange=1;}
|
||||
"none" = {marsStream="eehs"; type="fcstdev"; numberOfTimeRange=1;}
|
||||
"none" = {marsStream="eehs"; type="taem"; numberOfTimeRange=1;}
|
||||
"none" = {marsStream="eehs"; type="taes"; numberOfTimeRange=1;}
|
||||
"none" = {marsStream="efhs"; type="fcmax"; numberOfTimeRange=1;}
|
||||
"none" = {marsStream="efhs"; type="fcmin"; numberOfTimeRange=1;}
|
||||
"none" = {marsStream="efhs"; type="fcmean"; numberOfTimeRange=1;}
|
||||
"none" = {marsStream="efhs"; type="fcstdev"; numberOfTimeRange=1;}
|
||||
"none" = {marsStream="efhs"; type="taem"; numberOfTimeRange=1;}
|
||||
"none" = {marsStream="efhs"; type="taes"; numberOfTimeRange=1;}
|
||||
#
|
||||
### 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
|
||||
# hourly
|
||||
"since-start" = {typeOfStatisticalProcessing=1; forecastTime=0; indicatorOfUnitForTimeRange=1;}
|
||||
# type an accumulation can have lengthOfTimeRange=0, they should be none
|
||||
"none" = {typeOfStatisticalProcessing=1; forecastTime=0; marsType="an"; lengthOfTimeRange=0;}
|
||||
# 24 hourly time unit
|
||||
"since-start" = {typeOfStatisticalProcessing=1; forecastTime=0; indicatorOfUnitForTimeRange=2;}
|
||||
# 24 hourly time unit
|
||||
"24h" = {typeOfStatisticalProcessing=1; indicatorOfUnitForTimeRange=1; lengthOfTimeRange = 24; class="od"; stream="enfo"; type="ep";}
|
||||
# special rule for accumulations in stream efhs, type cd
|
||||
"24h" = {typeOfStatisticalProcessing=1; indicatorOfUnitForTimeRange=1; lengthOfTimeRange = 24; class="od"; stream="efhs"; type="cd";}
|
||||
"72h" = {typeOfStatisticalProcessing=1; indicatorOfUnitForTimeRange=1; lengthOfTimeRange = 72; class="od"; stream="efhs"; type="cd";}
|
||||
"120h" = {typeOfStatisticalProcessing=1; indicatorOfUnitForTimeRange=1; lengthOfTimeRange = 120; class="od"; stream="efhs"; type="cd";}
|
||||
"168h" = {typeOfStatisticalProcessing=1; indicatorOfUnitForTimeRange=1; lengthOfTimeRange = 168; class="od"; stream="efhs"; type="cd";}
|
||||
"240h" = {typeOfStatisticalProcessing=1; indicatorOfUnitForTimeRange=1; lengthOfTimeRange = 240; class="od"; stream="efhs"; type="cd";}
|
||||
"360h" = {typeOfStatisticalProcessing=1; indicatorOfUnitForTimeRange=1; lengthOfTimeRange = 360; class="od"; stream="efhs"; type="cd";}
|
||||
## 1h rolling accumulation
|
||||
"1h" = {typeOfStatisticalProcessing=1; indicatorOfUnitForTimeRange=1; lengthOfTimeRange = 1; class="d1";}
|
||||
## 24h rolling accumulation
|
||||
"24h" = {typeOfStatisticalProcessing=1; indicatorOfUnitForTimeRange=1; lengthOfTimeRange = 24; class="d1";}
|
||||
"24h" = {typeOfStatisticalProcessing=1; indicatorOfUnitForTimeRange=2; lengthOfTimeRange = 1; class="d1";}
|
||||
### end Accumulations ###
|
||||
#
|
||||
### mean/min/max/stdev ###
|
||||
"1h" = {indicatorOfUnitForTimeRange=1; lengthOfTimeRange = 1;}
|
||||
"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;}
|
||||
"240h" = {indicatorOfUnitForTimeRange=1; lengthOfTimeRange = 240;}
|
||||
"360h" = {indicatorOfUnitForTimeRange=1; lengthOfTimeRange = 360;}
|
||||
"7 days" = {indicatorOfUnitForTimeRange=1; lengthOfTimeRange = 168;}
|
||||
## 7 days rolling accumulation
|
||||
"7 days" = {typeOfStatisticalProcessing=1; indicatorOfUnitForTimeRange=1; lengthOfTimeRange = 168; type="cd";}
|
||||
# 28 days
|
||||
"month" = {indicatorOfUnitForTimeRange=1; lengthOfTimeRange = 672;}
|
||||
# 29 days
|
||||
"month" = {indicatorOfUnitForTimeRange=1; lengthOfTimeRange = 696;}
|
||||
# 30 days
|
||||
"month" = {indicatorOfUnitForTimeRange=1; lengthOfTimeRange = 720;}
|
||||
# 31 days
|
||||
"month" = {indicatorOfUnitForTimeRange=1; lengthOfTimeRange = 744;}
|
||||
# time unit month
|
||||
"month" = {indicatorOfUnitForTimeRange=3; lengthOfTimeRange = 1;}
|
||||
### end mean/min/max/stdev ###
|
||||
}
|
|
@ -0,0 +1,77 @@
|
|||
# concept timeproc {
|
||||
# either instantaneous data or processing is specified by mars stream
|
||||
'unknown' = {dummy=0;}
|
||||
'point-in-time' = {stepType='instant';}
|
||||
'point-in-time' = {stream='swmm'; numberOfTimeRange=1;}
|
||||
'point-in-time' = {stream='mnth'; numberOfTimeRange=1;}
|
||||
'point-in-time' = {stream='mmsa'; numberOfTimeRange=1;}
|
||||
'point-in-time' = {stream='msmm'; numberOfTimeRange=1;}
|
||||
'point-in-time' = {productDefinitionTemplateNumber=8; lengthOfTimeRange=0;}
|
||||
'point-in-time' = {productDefinitionTemplateNumber=11; lengthOfTimeRange=0;}
|
||||
'point-in-time' = {typeOfStatisticalProcessing=10; lengthOfTimeRange=0;}
|
||||
# special rules for weekly extended-range (sub-seasonal) products
|
||||
'point-in-time' = {marsStream='eefo'; type='fcmax'; numberOfTimeRange=1;}
|
||||
'point-in-time' = {marsStream='eefo'; type='fcmin'; numberOfTimeRange=1;}
|
||||
'point-in-time' = {marsStream='eefo'; type='fcmean'; numberOfTimeRange=1;}
|
||||
'point-in-time' = {marsStream='eefo'; type='fcstdev'; numberOfTimeRange=1;}
|
||||
'point-in-time' = {marsStream='eefo'; type='taem'; numberOfTimeRange=1;}
|
||||
'point-in-time' = {marsStream='eefo'; type='taes'; numberOfTimeRange=1;}
|
||||
#
|
||||
### 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
|
||||
# hourly
|
||||
'since-start' = {typeOfStatisticalProcessing=1; forecastTime=0; indicatorOfUnitForTimeRange=1;}
|
||||
# minutes
|
||||
'since-start' = {typeOfStatisticalProcessing=1; forecastTime=0; indicatorOfUnitForTimeRange=0;}
|
||||
# 24 hourly time unit
|
||||
'since-start' = {typeOfStatisticalProcessing=1; forecastTime=0; indicatorOfUnitForTimeRange=2;}
|
||||
# 24 hourly time unit
|
||||
'24h' = {typeOfStatisticalProcessing=1; indicatorOfUnitForTimeRange=1; lengthOfTimeRange = 24; class='od'; stream='enfo'; type='ep';}
|
||||
# special rule for accumulations in stream efhs, type cd
|
||||
'24h' = {typeOfStatisticalProcessing=1; indicatorOfUnitForTimeRange=1; lengthOfTimeRange = 24; class='od'; stream='efhs'; type='cd';}
|
||||
'72h' = {typeOfStatisticalProcessing=1; indicatorOfUnitForTimeRange=1; lengthOfTimeRange = 72; class='od'; stream='efhs'; type='cd';}
|
||||
'120h' = {typeOfStatisticalProcessing=1; indicatorOfUnitForTimeRange=1; lengthOfTimeRange = 120; class='od'; stream='efhs'; type='cd';}
|
||||
'168h' = {typeOfStatisticalProcessing=1; indicatorOfUnitForTimeRange=1; lengthOfTimeRange = 168; class='od'; stream='efhs'; type='cd';}
|
||||
'240h' = {typeOfStatisticalProcessing=1; indicatorOfUnitForTimeRange=1; lengthOfTimeRange = 240; class='od'; stream='efhs'; type='cd';}
|
||||
'360h' = {typeOfStatisticalProcessing=1; indicatorOfUnitForTimeRange=1; lengthOfTimeRange = 360; class='od'; stream='efhs'; type='cd';}
|
||||
## 1h rolling accumulation
|
||||
'1h' = {typeOfStatisticalProcessing=1; indicatorOfUnitForTimeRange=1; lengthOfTimeRange = 1; class='d1';}
|
||||
## 24h rolling accumulation
|
||||
'24h' = {typeOfStatisticalProcessing=1; indicatorOfUnitForTimeRange=1; lengthOfTimeRange = 24; class='d1';}
|
||||
'24h' = {typeOfStatisticalProcessing=1; indicatorOfUnitForTimeRange=2; lengthOfTimeRange = 1; class='d1';}
|
||||
### end Accumulations ###
|
||||
#
|
||||
### mean/min/max/stdev ###
|
||||
'30m' = {indicatorOfUnitForTimeRange=0; lengthOfTimeRange = 30;}
|
||||
'1h' = {indicatorOfUnitForTimeRange=1; lengthOfTimeRange = 1;}
|
||||
'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;}
|
||||
'240h' = {indicatorOfUnitForTimeRange=1; lengthOfTimeRange = 240;}
|
||||
'360h' = {indicatorOfUnitForTimeRange=1; lengthOfTimeRange = 360;}
|
||||
'7 days' = {indicatorOfUnitForTimeRange=1; lengthOfTimeRange = 168;}
|
||||
## 7 days rolling accumulation
|
||||
'7 days' = {typeOfStatisticalProcessing=1; indicatorOfUnitForTimeRange=1; lengthOfTimeRange = 168; type='cd';}
|
||||
# 28 days
|
||||
'month' = {indicatorOfUnitForTimeRange=1; lengthOfTimeRange = 672;}
|
||||
# 29 days
|
||||
'month' = {indicatorOfUnitForTimeRange=1; lengthOfTimeRange = 696;}
|
||||
# 30 days
|
||||
'month' = {indicatorOfUnitForTimeRange=1; lengthOfTimeRange = 720;}
|
||||
# 31 days
|
||||
'month' = {indicatorOfUnitForTimeRange=1; lengthOfTimeRange = 744;}
|
||||
# time unit month
|
||||
'month' = {indicatorOfUnitForTimeRange=3; lengthOfTimeRange = 1;}
|
||||
### end mean/min/max/stdev ###
|
||||
#}
|
Loading…
Reference in New Issue