mirror of https://github.com/ecmwf/eccodes.git
Definitions clean up
This commit is contained in:
parent
4ec43befcb
commit
a4f04e7e60
|
@ -1,20 +1,9 @@
|
||||||
# (C) Copyright 2005- ECMWF.
|
# (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 domain = "g";
|
||||||
constant levtype = "sfc";
|
constant levtype = "sfc";
|
||||||
constant param = "128.128";
|
constant param = "128.128";
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
alias mars.param = param;
|
alias mars.param = param;
|
||||||
alias mars.levtype = levtype;
|
alias mars.levtype = levtype;
|
||||||
#alias mars.domain = domain;
|
#alias mars.domain = domain;
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -1,11 +1,4 @@
|
||||||
# (C) Copyright 2005- ECMWF.
|
# (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 ;
|
section_length[3] section1Length ;
|
||||||
|
|
||||||
|
@ -31,27 +24,18 @@ alias ls.levelType=indicatorOfTypeOfLevel;
|
||||||
# NOTE 6 NOT FOUND
|
# NOTE 6 NOT FOUND
|
||||||
unsigned[1] yearOfCentury ;
|
unsigned[1] yearOfCentury ;
|
||||||
|
|
||||||
# Month
|
|
||||||
unsigned[1] month ;
|
unsigned[1] month ;
|
||||||
|
|
||||||
# Day
|
|
||||||
unsigned[1] day;
|
unsigned[1] day;
|
||||||
|
|
||||||
# Hour
|
|
||||||
unsigned[1] hour ;
|
unsigned[1] hour ;
|
||||||
|
|
||||||
# Minute
|
|
||||||
unsigned[1] minute ;
|
unsigned[1] minute ;
|
||||||
|
|
||||||
|
|
||||||
transient second = 0;
|
transient second = 0;
|
||||||
meta dataDate budgdate(yearOfCentury,month,day);
|
meta dataDate budgdate(yearOfCentury,month,day);
|
||||||
alias ls.date=dataDate;
|
alias ls.date=dataDate;
|
||||||
meta dataTime time(hour,minute,second);
|
meta dataTime time(hour,minute,second);
|
||||||
|
|
||||||
meta julianDay julian_day(dataDate,hour,minute,second) : edition_specific;
|
meta julianDay julian_day(dataDate,hour,minute,second) : edition_specific;
|
||||||
|
|
||||||
|
|
||||||
# Indicator of unit of time range
|
# Indicator of unit of time range
|
||||||
codetable[1] indicatorOfUnitOfTimeRange 'grib1/4.table';
|
codetable[1] indicatorOfUnitOfTimeRange 'grib1/4.table';
|
||||||
|
|
||||||
|
@ -59,13 +43,13 @@ codetable[1] indicatorOfUnitOfTimeRange 'grib1/4.table';
|
||||||
# (number of time units)
|
# (number of time units)
|
||||||
unsigned[1] periodOfTime ;
|
unsigned[1] periodOfTime ;
|
||||||
|
|
||||||
alias P1 = periodOfTime ;
|
alias P1 = periodOfTime ;
|
||||||
|
|
||||||
# P2 - Period of time
|
# P2 - Period of time
|
||||||
# (number of time units)
|
# (number of time units)
|
||||||
unsigned[1] periodOfTimeIntervals ;
|
unsigned[1] periodOfTimeIntervals ;
|
||||||
|
|
||||||
alias P2 = periodOfTimeIntervals ;
|
alias P2 = periodOfTimeIntervals ;
|
||||||
|
|
||||||
codetable[1] timeRangeIndicator 'grib1/5.table';
|
codetable[1] timeRangeIndicator 'grib1/5.table';
|
||||||
|
|
||||||
|
|
|
@ -1,11 +1,4 @@
|
||||||
# (C) Copyright 2005- ECMWF.
|
# (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 ;
|
section_length[3] section4Length ;
|
||||||
|
|
||||||
|
@ -37,73 +30,64 @@ unsigned[1] reserved=0 : hidden;
|
||||||
ibmfloat floatValues[numberOfFloats];
|
ibmfloat floatValues[numberOfFloats];
|
||||||
alias floatVal=floatValues;
|
alias floatVal=floatValues;
|
||||||
|
|
||||||
if(numberOfBytesPerInteger == 1) { signed[1] integerValues[numberOfIntegers]; }
|
if (numberOfBytesPerInteger == 1) { signed[1] integerValues[numberOfIntegers]; }
|
||||||
if(numberOfBytesPerInteger == 2) { signed[2] integerValues[numberOfIntegers]; }
|
if (numberOfBytesPerInteger == 2) { signed[2] integerValues[numberOfIntegers]; }
|
||||||
if(numberOfBytesPerInteger == 3) { signed[3] integerValues[numberOfIntegers]; }
|
if (numberOfBytesPerInteger == 3) { signed[3] integerValues[numberOfIntegers]; }
|
||||||
if(numberOfBytesPerInteger == 4) { signed[4] integerValues[numberOfIntegers]; }
|
if (numberOfBytesPerInteger == 4) { signed[4] integerValues[numberOfIntegers]; }
|
||||||
|
|
||||||
if(numberOfChars >= 12)
|
if (numberOfChars >= 12) {
|
||||||
{
|
ascii[2] marsClass;
|
||||||
ascii[2] marsClass;
|
ascii[2] dummy1;
|
||||||
ascii[2] dummy1;
|
ascii[2] marsType;
|
||||||
ascii[2] marsType;
|
ascii[2] dummy2;
|
||||||
ascii[2] dummy2;
|
ascii[4] experimentVersionNumber;
|
||||||
ascii[4] experimentVersionNumber;
|
|
||||||
|
|
||||||
alias expver=experimentVersionNumber;
|
alias expver=experimentVersionNumber;
|
||||||
alias marsExpver=experimentVersionNumber;
|
alias marsExpver=experimentVersionNumber;
|
||||||
|
|
||||||
constant numberOfRemaininChars = numberOfChars - 12;
|
constant numberOfRemaininChars = numberOfChars - 12;
|
||||||
|
|
||||||
charValues list(numberOfRemaininChars) {
|
charValues list(numberOfRemaininChars) {
|
||||||
ascii[1] char;
|
ascii[1] char;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
constant zero = 0;
|
||||||
|
concept isEps(zero) { 1 = { marsType = "pf"; } }
|
||||||
|
concept isSens(zero) { 1 = { marsType = "sf"; } }
|
||||||
|
|
||||||
constant zero = 0;
|
constant oper = "oper";
|
||||||
concept isEps(zero) { 1 = { marsType = "pf"; } }
|
|
||||||
concept isSens(zero) { 1 = { marsType = "sf"; } }
|
|
||||||
|
|
||||||
constant oper = "oper";
|
concept marsStream(oper) {
|
||||||
|
"enfo" = { marsType = "pf"; }
|
||||||
|
"enfo" = { marsType = "cf"; }
|
||||||
|
"sens" = { marsType = "sf"; }
|
||||||
|
}
|
||||||
|
|
||||||
concept marsStream(oper) {
|
if (isEps) {
|
||||||
"enfo" = { marsType = "pf"; }
|
constant perturbationNumber = 0;
|
||||||
"enfo" = { marsType = "cf"; }
|
alias mars.number = perturbationNumber;
|
||||||
"sens" = { marsType = "sf"; }
|
}
|
||||||
}
|
|
||||||
|
|
||||||
if(isEps)
|
if (isSens) {
|
||||||
{
|
constant iterationNumber = 0;
|
||||||
constant perturbationNumber = 0;
|
constant diagnosticNumber = 0;
|
||||||
alias mars.number = perturbationNumber;
|
alias mars.iteration = iterationNumber;
|
||||||
}
|
alias mars.diagnostic = diagnosticNumber;
|
||||||
|
}
|
||||||
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;
|
|
||||||
|
|
||||||
|
# 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
|
else
|
||||||
{
|
{
|
||||||
|
charValues list(numberOfChars) {
|
||||||
charValues list(numberOfChars) {
|
ascii[1] char;
|
||||||
ascii[1] char;
|
}
|
||||||
}
|
|
||||||
|
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
#TODO: decode properly these old data
|
#TODO: decode properly these old data
|
||||||
section_padding padding;
|
section_padding padding;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,11 +1,4 @@
|
||||||
# (C) Copyright 2005- ECMWF.
|
# (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) ;
|
meta dirty_statistics dirty(computeStatistics) ;
|
||||||
when (changed(values)) { set dirty_statistics=1;}
|
when (changed(values)) { set dirty_statistics=1;}
|
||||||
|
|
|
@ -1,11 +1,4 @@
|
||||||
# (C) Copyright 2005- ECMWF.
|
# (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) ;
|
meta dirty_statistics dirty(computeStatistics) ;
|
||||||
when (changed(values)) { set dirty_statistics=1;}
|
when (changed(values)) { set dirty_statistics=1;}
|
||||||
|
@ -21,4 +14,3 @@ alias statistics.avg = average;
|
||||||
alias statistics.enorm = energyNorm;
|
alias statistics.enorm = energyNorm;
|
||||||
alias statistics.sd = standardDeviation;
|
alias statistics.sd = standardDeviation;
|
||||||
alias statistics.const = isConstant;
|
alias statistics.const = isConstant;
|
||||||
|
|
||||||
|
|
|
@ -1,31 +1,19 @@
|
||||||
# (C) Copyright 2005- ECMWF.
|
# (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;
|
constant grib2divider = 1000000;
|
||||||
transient missingValue = 9999;
|
transient missingValue = 9999;
|
||||||
constant ieeeFloats = 1 : edition_specific;
|
constant ieeeFloats = 1 : edition_specific;
|
||||||
|
|
||||||
|
|
||||||
ascii[4] identifier;
|
ascii[4] identifier;
|
||||||
ascii[2] reserved : hidden;
|
ascii[2] reserved : hidden;
|
||||||
codetable[1] discipline 'grib2/0.0.table';
|
codetable[1] discipline 'grib2/0.0.table';
|
||||||
unsigned[1] editionNumber : edition_specific;
|
unsigned[1] editionNumber : edition_specific;
|
||||||
section_length[8] totalLength;
|
section_length[8] totalLength;
|
||||||
|
|
||||||
|
template core "grib2/sections.def";
|
||||||
template core "grib2/sections.def";
|
|
||||||
|
|
||||||
lookup[4] endOfProduct(0);
|
lookup[4] endOfProduct(0);
|
||||||
|
if(endOfProduct != `7777`){
|
||||||
if(endOfProduct != `7777`){
|
template core "grib2/sections.def";
|
||||||
template core "grib2/sections.def";
|
}
|
||||||
}
|
template section8 "grib2/section.8.def";
|
||||||
|
|
||||||
template section8 "grib2/section.8.def";
|
|
||||||
|
|
||||||
|
|
|
@ -1,11 +1,4 @@
|
||||||
# (C) Copyright 2005- ECMWF.
|
# (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 normal="NORMAL";
|
||||||
constant correction="CORRECTION";
|
constant correction="CORRECTION";
|
||||||
|
|
Loading…
Reference in New Issue