Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

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

Open
wants to merge 1 commit into
base: develop
Choose a base branch
from
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
52 changes: 44 additions & 8 deletions definitions/grib2/products_crra.def
Original file line number Diff line number Diff line change
Expand Up @@ -73,9 +73,39 @@ concept marsType(unknown) {
typeOfGeneratingProcess = 0;
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 outerLoopTypeOfStatisticalProcessing element(typeOfStatisticalProcessing, 0);
meta outerLoopTypeOfTimeIncrement element(typeOfTimeIncrement, 0);
Expand All @@ -96,6 +126,9 @@ concept marsStream(unknown) {
enda = {
productDefinitionTemplateNumber = 1;
}
enda = {
productDefinitionTemplateNumber = 2;
}
moda = {
productDefinitionTemplateNumber = 8;
outerLoopTypeOfTimeIncrement = 1;
Expand All @@ -118,24 +151,27 @@ alias mars.stream = marsStream;
alias mars.type = marsType;

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;
alias mars.date = monthlyVerificationDate;
alias mars.date = monthlyVerificationDate;

unalias mars.time;
unalias mars.step;
}

if (marsStream is "dame") {

if (!(outerLoopTypeOfStatisticalProcessing == 3 || outerLoopTypeOfStatisticalProcessing == 2)) {
# not mind or maxd
alias mars.date = validityDate;
# not mind or maxd
alias mars.date = validityDate;
}

if (outerLoopLengthOfTimeRange == 24) {
# accumd
meta verificationDate g1verificationdate(dataDate, dataTime, outerLoopLengthOfTimeRange) : read_only;
alias mars.date = verificationDate;
# accumd
meta verificationDate g1verificationdate(dataDate, dataTime, outerLoopLengthOfTimeRange) : read_only;
alias mars.date = verificationDate;

}

unalias mars.time;
Expand Down
Loading