Definitions clean up

This commit is contained in:
Shahram Najm 2021-07-01 15:13:32 +01:00
parent 4ec43befcb
commit a4f04e7e60
7 changed files with 52 additions and 129 deletions

View File

@ -1,20 +1,9 @@
# (C) Copyright 2005- ECMWF.
#
# This software is licensed under the terms of the Apache Licence Version 2.0
# which can be obtained at http://www.apache.org/licenses/LICENSE-2.0.
#
# In applying this licence, ECMWF does not waive the privileges and immunities granted to it by
# virtue of its status as an intergovernmental organisation nor does it submit to any jurisdiction.
#
constant domain = "g";
constant levtype = "sfc";
constant param = "128.128";
alias mars.param = param;
alias mars.levtype = levtype;
#alias mars.domain = domain;

View File

@ -1,11 +1,4 @@
# (C) Copyright 2005- ECMWF.
#
# This software is licensed under the terms of the Apache Licence Version 2.0
# which can be obtained at http://www.apache.org/licenses/LICENSE-2.0.
#
# In applying this licence, ECMWF does not waive the privileges and immunities granted to it by
# virtue of its status as an intergovernmental organisation nor does it submit to any jurisdiction.
#
section_length[3] section1Length ;
@ -31,27 +24,18 @@ alias ls.levelType=indicatorOfTypeOfLevel;
# NOTE 6 NOT FOUND
unsigned[1] yearOfCentury ;
# Month
unsigned[1] month ;
# Day
unsigned[1] day;
# Hour
unsigned[1] hour ;
# Minute
unsigned[1] minute ;
transient second = 0;
meta dataDate budgdate(yearOfCentury,month,day);
alias ls.date=dataDate;
alias ls.date=dataDate;
meta dataTime time(hour,minute,second);
meta julianDay julian_day(dataDate,hour,minute,second) : edition_specific;
# Indicator of unit of time range
codetable[1] indicatorOfUnitOfTimeRange 'grib1/4.table';
@ -59,13 +43,13 @@ codetable[1] indicatorOfUnitOfTimeRange 'grib1/4.table';
# (number of time units)
unsigned[1] periodOfTime ;
alias P1 = periodOfTime ;
alias P1 = periodOfTime ;
# P2 - Period of time
# (number of time units)
unsigned[1] periodOfTimeIntervals ;
alias P2 = periodOfTimeIntervals ;
alias P2 = periodOfTimeIntervals ;
codetable[1] timeRangeIndicator 'grib1/5.table';

View File

@ -1,11 +1,4 @@
# (C) Copyright 2005- ECMWF.
#
# This software is licensed under the terms of the Apache Licence Version 2.0
# which can be obtained at http://www.apache.org/licenses/LICENSE-2.0.
#
# In applying this licence, ECMWF does not waive the privileges and immunities granted to it by
# virtue of its status as an intergovernmental organisation nor does it submit to any jurisdiction.
#
section_length[3] section4Length ;
@ -37,73 +30,64 @@ unsigned[1] reserved=0 : hidden;
ibmfloat floatValues[numberOfFloats];
alias floatVal=floatValues;
if(numberOfBytesPerInteger == 1) { signed[1] integerValues[numberOfIntegers]; }
if(numberOfBytesPerInteger == 2) { signed[2] integerValues[numberOfIntegers]; }
if(numberOfBytesPerInteger == 3) { signed[3] integerValues[numberOfIntegers]; }
if(numberOfBytesPerInteger == 4) { signed[4] integerValues[numberOfIntegers]; }
if (numberOfBytesPerInteger == 1) { signed[1] integerValues[numberOfIntegers]; }
if (numberOfBytesPerInteger == 2) { signed[2] integerValues[numberOfIntegers]; }
if (numberOfBytesPerInteger == 3) { signed[3] integerValues[numberOfIntegers]; }
if (numberOfBytesPerInteger == 4) { signed[4] integerValues[numberOfIntegers]; }
if(numberOfChars >= 12)
{
ascii[2] marsClass;
ascii[2] dummy1;
ascii[2] marsType;
ascii[2] dummy2;
ascii[4] experimentVersionNumber;
if (numberOfChars >= 12) {
ascii[2] marsClass;
ascii[2] dummy1;
ascii[2] marsType;
ascii[2] dummy2;
ascii[4] experimentVersionNumber;
alias expver=experimentVersionNumber;
alias marsExpver=experimentVersionNumber;
alias expver=experimentVersionNumber;
alias marsExpver=experimentVersionNumber;
constant numberOfRemaininChars = numberOfChars - 12;
constant numberOfRemaininChars = numberOfChars - 12;
charValues list(numberOfRemaininChars) {
ascii[1] char;
}
charValues list(numberOfRemaininChars) {
ascii[1] char;
}
constant zero = 0;
concept isEps(zero) { 1 = { marsType = "pf"; } }
concept isSens(zero) { 1 = { marsType = "sf"; } }
constant zero = 0;
concept isEps(zero) { 1 = { marsType = "pf"; } }
concept isSens(zero) { 1 = { marsType = "sf"; } }
constant oper = "oper";
constant oper = "oper";
concept marsStream(oper) {
"enfo" = { marsType = "pf"; }
"enfo" = { marsType = "cf"; }
"sens" = { marsType = "sf"; }
}
concept marsStream(oper) {
"enfo" = { marsType = "pf"; }
"enfo" = { marsType = "cf"; }
"sens" = { marsType = "sf"; }
}
if (isEps) {
constant perturbationNumber = 0;
alias mars.number = perturbationNumber;
}
if(isEps)
{
constant perturbationNumber = 0;
alias mars.number = perturbationNumber;
}
if(isSens)
{
constant iterationNumber = 0;
constant diagnosticNumber = 0;
alias mars.iteration = iterationNumber;
alias mars.diagnostic = diagnosticNumber;
}
# This is commented out because some of the BUDG have the wrong info there
alias mars.stream = marsStream;
alias mars.class = marsClass;
alias mars.type = marsType;
alias mars.expver = marsExpver;
if (isSens) {
constant iterationNumber = 0;
constant diagnosticNumber = 0;
alias mars.iteration = iterationNumber;
alias mars.diagnostic = diagnosticNumber;
}
# This is commented out because some of the BUDG have the wrong info there
alias mars.stream = marsStream;
alias mars.class = marsClass;
alias mars.type = marsType;
alias mars.expver = marsExpver;
}
else
{
charValues list(numberOfChars) {
ascii[1] char;
}
charValues list(numberOfChars) {
ascii[1] char;
}
}
} else {
#TODO: decode properly these old data
#TODO: decode properly these old data
section_padding padding;
}

View File

@ -1,11 +1,4 @@
# (C) Copyright 2005- ECMWF.
#
# This software is licensed under the terms of the Apache Licence Version 2.0
# which can be obtained at http://www.apache.org/licenses/LICENSE-2.0.
#
# In applying this licence, ECMWF does not waive the privileges and immunities granted to it by
# virtue of its status as an intergovernmental organisation nor does it submit to any jurisdiction.
#
meta dirty_statistics dirty(computeStatistics) ;
when (changed(values)) { set dirty_statistics=1;}

View File

@ -1,11 +1,4 @@
# (C) Copyright 2005- ECMWF.
#
# This software is licensed under the terms of the Apache Licence Version 2.0
# which can be obtained at http://www.apache.org/licenses/LICENSE-2.0.
#
# In applying this licence, ECMWF does not waive the privileges and immunities granted to it by
# virtue of its status as an intergovernmental organisation nor does it submit to any jurisdiction.
#
meta dirty_statistics dirty(computeStatistics) ;
when (changed(values)) { set dirty_statistics=1;}
@ -21,4 +14,3 @@ alias statistics.avg = average;
alias statistics.enorm = energyNorm;
alias statistics.sd = standardDeviation;
alias statistics.const = isConstant;

View File

@ -1,31 +1,19 @@
# (C) Copyright 2005- ECMWF.
#
# This software is licensed under the terms of the Apache Licence Version 2.0
# which can be obtained at http://www.apache.org/licenses/LICENSE-2.0.
#
# In applying this licence, ECMWF does not waive the privileges and immunities granted to it by
# virtue of its status as an intergovernmental organisation nor does it submit to any jurisdiction.
#
constant grib2divider = 1000000;
transient missingValue = 9999;
constant ieeeFloats = 1 : edition_specific;
ascii[4] identifier;
ascii[2] reserved : hidden;
codetable[1] discipline 'grib2/0.0.table';
unsigned[1] editionNumber : edition_specific;
section_length[8] totalLength;
template core "grib2/sections.def";
template core "grib2/sections.def";
lookup[4] endOfProduct(0);
if(endOfProduct != `7777`){
template core "grib2/sections.def";
}
template section8 "grib2/section.8.def";
if(endOfProduct != `7777`){
template core "grib2/sections.def";
}
template section8 "grib2/section.8.def";

View File

@ -1,11 +1,4 @@
# (C) Copyright 2005- ECMWF.
#
# This software is licensed under the terms of the Apache Licence Version 2.0
# which can be obtained at http://www.apache.org/licenses/LICENSE-2.0.
#
# In applying this licence, ECMWF does not waive the privileges and immunities granted to it by
# virtue of its status as an intergovernmental organisation nor does it submit to any jurisdiction.
#
constant normal="NORMAL";
constant correction="CORRECTION";