SD-80276 adding type=em/es for class=rr

This commit is contained in:
Richard Mladek 2024-09-02 15:30:09 +00:00
parent 9179608c88
commit 42a36090c2
1 changed files with 44 additions and 8 deletions

View File

@ -73,9 +73,39 @@ concept marsType(unknown) {
typeOfGeneratingProcess = 0; typeOfGeneratingProcess = 0;
generatingProcessIdentifier = 50; generatingProcessIdentifier = 50;
} }
# SD-80276
em = {
centre = 82;
typeOfGeneratingProcess = 4;
generatingProcessIdentifier = 40;
derivedForecast = 0;
}
"18" = {
centre = 82;
typeOfGeneratingProcess = 4;
generatingProcessIdentifier = 40;
derivedForecast = 0;
}
es = {
centre = 82;
typeOfGeneratingProcess = 4;
generatingProcessIdentifier = 40;
derivedForecast = 4;
}
"17" = {
centre = 82;
typeOfGeneratingProcess = 4;
generatingProcessIdentifier = 40;
derivedForecast = 4;
}
} }
# get the values from the 1st most outer loop which matter unalias mars.number;
# get the values from the 1st most outer loop which matter!
# aarays should be implemented in ecCodes as for bufr i.e. outerLoopLengthOfTimeRange[0] => #0#lengthOfTimeRange
meta outerLoopLengthOfTimeRange element(lengthOfTimeRange, 0); meta outerLoopLengthOfTimeRange element(lengthOfTimeRange, 0);
meta outerLoopTypeOfStatisticalProcessing element(typeOfStatisticalProcessing, 0); meta outerLoopTypeOfStatisticalProcessing element(typeOfStatisticalProcessing, 0);
meta outerLoopTypeOfTimeIncrement element(typeOfTimeIncrement, 0); meta outerLoopTypeOfTimeIncrement element(typeOfTimeIncrement, 0);
@ -96,6 +126,9 @@ concept marsStream(unknown) {
enda = { enda = {
productDefinitionTemplateNumber = 1; productDefinitionTemplateNumber = 1;
} }
enda = {
productDefinitionTemplateNumber = 2;
}
moda = { moda = {
productDefinitionTemplateNumber = 8; productDefinitionTemplateNumber = 8;
outerLoopTypeOfTimeIncrement = 1; outerLoopTypeOfTimeIncrement = 1;
@ -118,6 +151,7 @@ alias mars.stream = marsStream;
alias mars.type = marsType; alias mars.type = marsType;
if (marsStream is "moda") { if (marsStream is "moda") {
meta verificationDate g1verificationdate(dataDate, dataTime, outerLoopLengthOfTimeRange) : read_only; meta verificationDate g1verificationdate(dataDate, dataTime, outerLoopLengthOfTimeRange) : read_only;
meta monthlyVerificationDate g1monthlydate(verificationDate) : no_copy; meta monthlyVerificationDate g1monthlydate(verificationDate) : no_copy;
alias mars.date = monthlyVerificationDate; alias mars.date = monthlyVerificationDate;
@ -127,6 +161,7 @@ if (marsStream is "moda") {
} }
if (marsStream is "dame") { if (marsStream is "dame") {
if (!(outerLoopTypeOfStatisticalProcessing == 3 || outerLoopTypeOfStatisticalProcessing == 2)) { if (!(outerLoopTypeOfStatisticalProcessing == 3 || outerLoopTypeOfStatisticalProcessing == 2)) {
# not mind or maxd # not mind or maxd
alias mars.date = validityDate; alias mars.date = validityDate;
@ -136,6 +171,7 @@ if (marsStream is "dame") {
# accumd # accumd
meta verificationDate g1verificationdate(dataDate, dataTime, outerLoopLengthOfTimeRange) : read_only; meta verificationDate g1verificationdate(dataDate, dataTime, outerLoopLengthOfTimeRange) : read_only;
alias mars.date = verificationDate; alias mars.date = verificationDate;
} }
unalias mars.time; unalias mars.time;