ECC-703: document exception for masterTablesVersionNumber 19

This commit is contained in:
Shahram Najm 2018-06-28 11:26:16 +01:00
parent 0bcbef165d
commit ebb539e3b0
1 changed files with 18 additions and 1 deletions

View File

@ -9,7 +9,24 @@
constant defaultSequence=0;
constant tablesMasterDir="bufr/tables/[masterTableNumber]/wmo/[masterTablesVersionNumber]" : hidden;
if (masterTablesVersionNumber==19) {
if (masterTablesVersionNumber == 19) {
# See SUP-2302: We need this exception for EUMETSAT local tables, because there are conflicting elements in their table version 1 when
# used in combination with different WMO tables versions. This is associated with the way BUFRDC manages the tables that
# are files with masterTablesVersionNumber and localTablesVersionNumber in the name.
# ecCodes doesn't associate a local version number with a particular master table version number.
# EUMETSAT use a combination of masterTablesVersionNumber and localTablesVersionNumber
# to version the tables. This is a problem because they reuse codes in the different versions.
# They can have version 19-1 ( masterTablesVersionNumber=19, localTablesVersionNumber=1) and also 25-1 and
# in the two tables they may reuse an element changing width, reference, scale and meaning.
# The correct way of doing this would be to have two different tables localTablesVersionNumber=1 and localTablesVersionNumber=2
# with a different use of their own descriptors. Local tables should be managed by the owner with different version numbers.
# They rely on the fact that the two versions of the tables are used in combination with different master tables.
# This is not always true.
# Hence this 'if' statement to solve the conflict of tables.
constant tablesLocalDir="bufr/tables/[masterTableNumber]/local/[masterTablesVersionNumber]-[localTablesVersionNumber]/[bufrHeaderCentre:l]/[bufrHeaderSubCentre]" : hidden;
} else {
constant tablesLocalDir="bufr/tables/[masterTableNumber]/local/[localTablesVersionNumber]/[bufrHeaderCentre:l]/[bufrHeaderSubCentre]" : hidden;