Merge branch 'feature/timeproc' into feature/mtg2-timeproc

This commit is contained in:
Sebastien Villaume 2024-10-16 14:33:50 +01:00
commit d963ce00c1
2 changed files with 54 additions and 0 deletions

View File

@ -51,6 +51,7 @@ concept datasetForLocal(unknown) {
"unknown" = { dummy=1; }
}
<<<<<<< HEAD
# If the keys marsClass or productionStatusOfProcessedData change in memory,
# need to trigger the change of conceptsDirs
transient redo_concept_dirs = 0;
@ -59,6 +60,9 @@ when( changed(marsClass) || changed(productionStatusOfProcessedData) ) {
}
if (datasetForLocal isnot "unknown") {
=======
if (!(datasetForLocal is "unknown")) {
>>>>>>> feature/timeproc
constant conceptsDir2 = "grib2/localConcepts/[datasetForLocal]": hidden;
constant conceptsDir1 = "grib2": hidden;
}
@ -129,6 +133,7 @@ else {
}
}
## discipline = 10, parameterCategory = 0 are WMO wave parameters !
#if (discipline == 10 && parameterCategory == 0) {
## paramIds 140xxx are for wave parameters, exception for wave spectra templates
@ -140,4 +145,7 @@ if (paramId >= 140000 && paramId < 141000 &&
alias mars.paramtype = paramTypeWave;
}
template timeproc "grib2/timeproc.def";
alias mars.timeproc = timeproc ;
meta md5Section4 md5(offsetSection4,section4Length);

View File

@ -0,0 +1,46 @@
concept timeproc {
# either instantaneous data or processing is specified by mars stream
"point-in-time" = {stepType="instant";}
"point-in-time" = {stream="mnth"; numberOfTimeRange=1;}
"point-in-time" = {stream="mmsa"; numberOfTimeRange=1;}
"point-in-time" = {stream="msmm"; 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; indicatorOfUnitOfTimeRange=1;}
# 24 hourly time unit
"since-start" = {typeOfStatisticalProcessing=1; forecastTime=0; indicatorOfUnitOfTimeRange=2;}
## 1h rolling accumulation
"1h" = {typeOfStatisticalProcessing=1; indicatorOfUnitOfTimeRange=1; lengthOfTimeRange = 1; class=d1;}
## 24h rolling accumulation
"24h" = {typeOfStatisticalProcessing=1; indicatorOfUnitOfTimeRange=1; lengthOfTimeRange = 24; class=d1;}
"24h" = {typeOfStatisticalProcessing=1; indicatorOfUnitOfTimeRange=2; lengthOfTimeRange = 1; class=d1;}
### end Accumulations ###
#
### mean/min/max/stdev ###
"1h" = {indicatorOfUnitOfTimeRange=1; lengthOfTimeRange = 1;}
"3h" = {indicatorOfUnitOfTimeRange=1; lengthOfTimeRange = 3;}
"3h" = {indicatorOfUnitOfTimeRange=10; lengthOfTimeRange = 1;}
"6h" = {indicatorOfUnitOfTimeRange=1; lengthOfTimeRange = 6;}
"6h" = {indicatorOfUnitOfTimeRange=11; lengthOfTimeRange = 1;}
"12h" = {indicatorOfUnitOfTimeRange=1; lengthOfTimeRange = 12;}
"12h" = {indicatorOfUnitOfTimeRange=12; lengthOfTimeRange = 1;}
"18h" = {indicatorOfUnitOfTimeRange=1; lengthOfTimeRange = 18;}
"24h" = {indicatorOfUnitOfTimeRange=1; lengthOfTimeRange = 24;}
"24h" = {indicatorOfUnitOfTimeRange=2; lengthOfTimeRange = 1;}
"7 days" = {indicatorOfUnitOfTimeRange=1; lengthOfTimeRange = 168;}
# 28 days
"month" = {indicatorOfUnitOfTimeRange=1; lengthOfTimeRange = 672;}
# 29 days
"month" = {indicatorOfUnitOfTimeRange=1; lengthOfTimeRange = 696;}
# 30 days
"month" = {indicatorOfUnitOfTimeRange=1; lengthOfTimeRange = 720;}
# 31 days
"month" = {indicatorOfUnitOfTimeRange=1; lengthOfTimeRange = 744;}
# time unit month
"month" = {indicatorOfUnitOfTimeRange=3; lengthOfTimeRange = 1;}
### end mean/min/max/stdev ###
}