...
| Warning |
|---|
Please note: According to the WMO, the use of local tables in messages intended for non-local or international exchange is strongly discouraged. |
Step-by-step guide
Local tables for parameters
A common candidate for local adaptation is the handling of local parameters. The standard parameter descriptions are contained in the files name.def, paramId.def, shortName.def and units.def in directories:
| Code Block |
|---|
|
/usr/local/share/eccodes/definitions/grib[edition] |
The parameter descriptions for a given centre are contained in the directories:
| Code Block |
|---|
|
/usr/local/share/eccodes/definitions/grib[edition]/localConcepts/[centre:s]
|
The following are examples of the contents for the above files in order to handle ECMWF parameter Geopotential in GRIB edition 1:
| Code Block |
|---|
| language | bash |
|---|
| title | /usr/local/share/eccodes/definitions/grib1/localConcepts/ecmf/name.def |
|---|
|
#Geopotential
'Geopotential' = {
table2Version = 128 ;
indicatorOfParameter = 129 ;
} |
| Code Block |
|---|
| language | bash |
|---|
| title | /usr/local/share/eccodes/definitions/grib1/localConcepts/ecmf/paramId.def |
|---|
|
#Geopotential
'129' = {
table2Version = 128 ;
indicatorOfParameter = 129 ;
} |
| Code Block |
|---|
| language | bash |
|---|
| title | /usr/local/share/eccodes/definitions/grib1/localConcepts/ecmf/shortName.def |
|---|
|
#Geopotential
'z' = {
table2Version = 128 ;
indicatorOfParameter = 129 ;
} |
| Code Block |
|---|
| language | bash |
|---|
| title | /usr/local/share/eccodes/definitions/grib1/localConcepts/ecmf/units.def |
|---|
|
#Geopotential
'm**2 s**-2' = {
table2Version = 128 ;
indicatorOfParameter = 129 ;
} |
In GRIB edition 2, the contents of the same files for parameter Geopotential are:
| Code Block |
|---|
| language | bash |
|---|
| title | /usr/local/share/eccodes/definitions/grib2/localConcepts/ecmf/name.def |
|---|
|
#Geopotential
'Geopotential' = {
discipline = 0 ;
parameterCategory = 3 ;
parameterNumber = 4 ;
} |
| Code Block |
|---|
| language | bash |
|---|
| title | /usr/local/share/eccodes/definitions/grib2/localConcepts/ecmf/paramId.def |
|---|
|
#Geopotential
'129' = {
discipline = 0 ;
parameterCategory = 3 ;
parameterNumber = 4 ;
} |
| Code Block |
|---|
| language | bash |
|---|
| title | /usr/local/share/eccodes/definitions/grib2/localConcepts/ecmf/shortName.def |
|---|
|
#Geopotential
'z' = {
discipline = 0 ;
parameterCategory = 3 ;
parameterNumber = 4 ;
} |
| Code Block |
|---|
| language | bash |
|---|
| title | /usr/local/share/eccodes/definitions/grib2/localConcepts/ecmf/units.def |
|---|
|
#Geopotential
'm**2 s**-2' = {
discipline = 0 ;
parameterCategory = 3 ;
parameterNumber = 4 ;
} |
Local Definitions (Local Use section)
Local definitions are also required when one needs to store information which is not part of the standard GRIB header. This would typically be a MARS key (like class, stream, type and version number or experiment identifier, expver) or information that the data producer wants to have in each GRIB for convenience.
...
| Code Block |
|---|
| language | bash |
|---|
| title | /usr/site/eccodes/definitions/mars/stream.table |
|---|
|
# GRIBcode Acronym Long name
1001 eebc Ensemble using ECMWF data as Boundary Conditions
1002 eeic Ensemble using ECMWF data as Initial Conditions |
Local tables for parameters
Another candidate for local adaptation is the handling of local parameters. The standard parameter descriptions are contained in the files name.def, paramId.def, shortName.def and units.def in directories:
| Code Block |
|---|
|
/usr/local/share/eccodes/definitions/grib[edition] |
The parameter descriptions for a given centre are contained in the files directories:
| Code Block |
|---|
|
/usr/local/share/eccodes/definitions/grib[edition]/localConcepts/[centre:s]
|
The following are examples of the contents for the above files in order to handle ECMWF parameter Geopotential in GRIB edition 1:
| Code Block |
|---|
| language | bash |
|---|
| title | /usr/local/share/eccodes/definitions/grib1/localConcepts/ecmf/name.def |
|---|
|
#Geopotential
'Geopotential' = {
table2Version = 128 ;
indicatorOfParameter = 129 ;
} |
| Code Block |
|---|
| language | bash |
|---|
| title | /usr/local/share/eccodes/definitions/grib1/localConcepts/ecmf/paramId.def |
|---|
|
#Geopotential
'129' = {
table2Version = 128 ;
indicatorOfParameter = 129 ;
} |
| Code Block |
|---|
| language | bash |
|---|
| title | /usr/local/share/eccodes/definitions/grib1/localConcepts/ecmf/shortName.def |
|---|
|
#Geopotential
'z' = {
table2Version = 128 ;
indicatorOfParameter = 129 ;
} |
| Code Block |
|---|
| language | bash |
|---|
| title | /usr/local/share/eccodes/definitions/grib1/localConcepts/ecmf/units.def |
|---|
|
#Geopotential
'm**2 s**-2' = {
table2Version = 128 ;
indicatorOfParameter = 129 ;
} |
In GRIB edition 2, the contents of the same files for parameter Geopotential are:
| Code Block |
|---|
| language | bash |
|---|
| title | /usr/local/share/eccodes/definitions/grib2/localConcepts/ecmf/name.def |
|---|
|
#Geopotential
'Geopotential' = {
discipline = 0 ;
parameterCategory = 3 ;
parameterNumber = 4 ;
} |
| Code Block |
|---|
| language | bash |
|---|
| title | /usr/local/share/eccodes/definitions/grib2/localConcepts/ecmf/paramId.def |
|---|
|
#Geopotential
'129' = {
discipline = 0 ;
parameterCategory = 3 ;
parameterNumber = 4 ;
} |
| Code Block |
|---|
| language | bash |
|---|
| title | /usr/local/share/eccodes/definitions/grib2/localConcepts/ecmf/shortName.def |
|---|
|
#Geopotential
'z' = {
discipline = 0 ;
parameterCategory = 3 ;
parameterNumber = 4 ;
} |
| Code Block |
|---|
| language | bash |
|---|
| title | /usr/local/share/eccodes/definitions/grib2/localConcepts/ecmf/units.def |
|---|
|
#Geopotential
'm**2 s**-2' = {
discipline = 0 ;
parameterCategory = 3 ;
parameterNumber = 4 ;
} |
Install and test your changes
...