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;
|
alias mars.paramtype = paramTypeWave;
|
||||||
}
|
}
|
||||||
|
|
||||||
template timeproc "grib2/timeproc.def";
|
concept timeproc (unknown,"timeprocConcept.def",conceptsDir2,conceptsDir1) : read_only ;
|
||||||
if (defined(timeproc) && !(timeproc is "none")){
|
alias mars.timeproc = timeproc ;
|
||||||
alias mars.timeproc = timeproc ;
|
|
||||||
}
|
|
||||||
|
|
||||||
meta md5Section4 md5(offsetSection4,section4Length);
|
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