Package ucar.nc2.grib.grib2.table
Class EccodesLocalTables
- java.lang.Object
-
- ucar.nc2.grib.grib2.table.Grib2Tables
-
- ucar.nc2.grib.grib2.table.EccodesLocalTables
-
- All Implemented Interfaces:
TimeUnitConverter
,GribTables
public class EccodesLocalTables extends Grib2Tables
The results of EcmwfParamTableCompare indicate there are no significant differences of the parameter tables with WMO. The results of EcmwfCodeTableCompare indicate there are some differences of the code tables with WMO. See the comments at in EcmwfCodeTable.java. 1) This change in ECMWF table 1.0 implies that if master table = 255, then all WMO entries may be overridden. Havent seen this in practice; in particular I wonder if any ECMWF GRIB2 files do this. LOOK: This is not implemented. Code table 1.0 - GRIB master tables version number Ecmwf version 21 discipline 1 category 0 (resources/grib2/ecmwf/tables/21/1.0.table) WMO= 255 Missing ECMWF= 255 Master tables not used. Local table entries and local templates may use the entire range of the table, not just those sections marked Reserved for local used. 2) Despite missing code entry 3.1.12, there is a WMO 3.12 template. However none for 3.130. I dont yet see templates defined by ECMWF. So, not implemented. Code table 3.1 - Grid definition template number Ecmwf version 21 discipline 3 category 1 (resources/grib2/ecmwf/tables/21/3.1.table) WMO 3.1 missing EcmwfEntry{codeValue=12, name=Transverse Mercator} WMO 3.1 missing EcmwfEntry{codeValue=130, name=Irregular latitude/longitude grid} 3) LOOK: none of these are implemented. Code table 4.0 - Product definition template number Ecmwf version 21 discipline 4 category 0 (resources/grib2/ecmwf/tables/21/4.0.table) WMO 4.0 missing EcmwfEntry{codeValue=311, name=Satellite product auxiliary information} WMO 4.0 missing EcmwfEntry{codeValue=40033, name=Individual ensemble forecast, control and perturbed, at a horizontal level or in a horizontal layer at a point in time for simulated} WMO 4.0 missing EcmwfEntry{codeValue=40034, name=Individual ensemble forecast, control and perturbed, at a horizontal level or in a horizontal layer, in a continuous or non-continuous interval for simulated} WMO 4.0 missing EcmwfEntry{codeValue=50001, name=Forecasting Systems with Variable Resolution in a point in time} WMO 4.0 missing EcmwfEntry{codeValue=50011, name=Forecasting Systems with Variable Resolution in a continous or non countinous time interval} 4) Implemented below. Code table 4.230 - Atmospheric chemical constituent type Ecmwf version 21 discipline 4 category 230 (resources/grib2/ecmwf/tables/21/4.230.table) WMO 4.230 missing EcmwfEntry{codeValue=0, name=Ozone O3} ... (all of them?) Same with Code table 4.233 - Aerosol type 5) LOOK: not implemented. Code table 5.0 - Data representation template number Ecmwf version 21 discipline 5 category 0 (resources/grib2/ecmwf/tables/21/5.0.table) WMO 5.0 missing EcmwfEntry{codeValue=6, name=Grid point data - simple packing with pre-processing} WMO 5.0 missing EcmwfEntry{codeValue=40000, name=JPEG2000 Packing} WMO 5.0 missing EcmwfEntry{codeValue=40010, name=PNG pacling} WMO 5.0 missing EcmwfEntry{codeValue=50000, name=Sperical harmonics ieee packing} WMO 5.0 missing EcmwfEntry{codeValue=50001, name=Second order packing} WMO 5.0 missing EcmwfEntry{codeValue=50002, name=Second order packing} 6) LOOK not implemented: So where is it specified? Code table 6.0 - Bit map indicator Ecmwf version 21 discipline 6 category 0 (resources/grib2/ecmwf/tables/21/6.0.table) WMO 6.0 missing EcmwfEntry{codeValue=1, name=A bit map pre-determined by the originating/generating centre applies to this product and is not specified in this Section} 7) Implemented below. No WMO table that matches ECMWF table 4.192 No WMO table that matches ECMWF table 5.40000 No WMO table that matches ECMWF table 5.50002
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from interface ucar.nc2.grib.GribTables
GribTables.Parameter
-
-
Field Summary
Fields Modifier and Type Field Description protected Map<Integer,Grib2Parameter>
localParams
-
Fields inherited from class ucar.nc2.grib.grib2.table.Grib2Tables
config
-
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description String
getCodeTableValue(String tableName, int code)
protected com.google.common.collect.ImmutableList<GribTables.Parameter>
getLocalParameters()
GribTables.Parameter
getParameter(int discipline, int category, int number)
GribTables.Parameter
getParameterRaw(int discipline, int category, int number)
Get the unprocessed parameter provided by this Grib2Table.com.google.common.collect.ImmutableList<GribTables.Parameter>
getParameters()
Get the list of parameters provided by this Grib2Table.String
getParamTablePathUsedFor(int discipline, int category, int number)
Get the name of the parameter table that is being used for this parameter.String
getVariableName(int discipline, int category, int number)
Make a IOSP Variable name, using the Parameter name is available, otherwise a synthesized name.void
showDetails(Formatter f)
void
showEntryDetails(Formatter f, List<GribTables.Parameter> params)
-
Methods inherited from class ucar.nc2.grib.grib2.table.Grib2Tables
convertTimeUnit, factory, factory, getAllRegisteredTables, getCategory, getCenterId, getConfigId, getForecastDate, getForecastTimeInterval, getForecastTimeIntervalOffset, getForecastTimeIntervalSizeInHours, getGeneratingProcessName, getGeneratingProcessTypeName, getLevelName, getLevelNameShort, getName, getParameter, getParameter, getParameter, getPath, getProbabilityNameShort, getStatisticName, getStatisticNameShort, getStatType, getSubCenterName, getType, getVariableName, getVertUnit, isLayer, isLevelUsed, isLocal, isLocal, isLocal, lookForProblems, makeParamCode, makeParamCode, makeParamId, setTimeUnitConverter, showSpecialPdsInfo, unmakeParamId
-
-
-
-
Field Detail
-
localParams
protected Map<Integer,Grib2Parameter> localParams
-
-
Method Detail
-
getCodeTableValue
@Nullable public String getCodeTableValue(String tableName, int code)
- Overrides:
getCodeTableValue
in classGrib2Tables
-
getParameters
public com.google.common.collect.ImmutableList<GribTables.Parameter> getParameters()
Description copied from class:Grib2Tables
Get the list of parameters provided by this Grib2Table.
-
showDetails
public void showDetails(Formatter f)
- Overrides:
showDetails
in classGrib2Tables
-
showEntryDetails
public void showEntryDetails(Formatter f, List<GribTables.Parameter> params)
- Overrides:
showEntryDetails
in classGrib2Tables
-
getParamTablePathUsedFor
public String getParamTablePathUsedFor(int discipline, int category, int number)
Description copied from class:Grib2Tables
Get the name of the parameter table that is being used for this parameter.- Overrides:
getParamTablePathUsedFor
in classGrib2Tables
-
getLocalParameters
protected com.google.common.collect.ImmutableList<GribTables.Parameter> getLocalParameters()
-
getVariableName
public String getVariableName(int discipline, int category, int number)
Description copied from class:Grib2Tables
Make a IOSP Variable name, using the Parameter name is available, otherwise a synthesized name.- Overrides:
getVariableName
in classGrib2Tables
-
getParameter
public GribTables.Parameter getParameter(int discipline, int category, int number)
-
getParameterRaw
public GribTables.Parameter getParameterRaw(int discipline, int category, int number)
Description copied from class:Grib2Tables
Get the unprocessed parameter provided by this Grib2Table.- Overrides:
getParameterRaw
in classGrib2Tables
-
-