mirror of https://github.com/ecmwf/eccodes.git
extract generating process and forecast time from template.4.parameter.def to 2 new components and update of the relevant template 4
This commit is contained in:
parent
2a2f6a6d85
commit
9b0cc3f0c5
|
@ -3,5 +3,7 @@
|
|||
# TEMPLATE 4.0, Analysis or forecast at a horizontal level or in a horizontal layer at a point in time
|
||||
|
||||
include "grib2/template.4.parameter.def";
|
||||
include "grib2/template.4.generating_process.def";
|
||||
include "grib2/template.4.forecast_time.def";
|
||||
include "grib2/template.4.point_in_time.def";
|
||||
include "grib2/template.4.horizontal.def";
|
||||
|
|
|
@ -3,6 +3,8 @@
|
|||
# TEMPLATE 4.1, Individual ensemble forecast, control and perturbed, at a horizontal level or in a horizontal layer at a point in time
|
||||
|
||||
include "grib2/template.4.parameter.def"
|
||||
include "grib2/template.4.generating_process.def";
|
||||
include "grib2/template.4.forecast_time.def";
|
||||
include "grib2/template.4.point_in_time.def";
|
||||
include "grib2/template.4.horizontal.def"
|
||||
include "grib2/template.4.eps.def"
|
||||
|
|
|
@ -3,6 +3,8 @@
|
|||
# TEMPLATE 4.10, Percentile forecasts at a horizontal level or in a horizontal layer in a continuous or non-continuous time interval
|
||||
|
||||
include "grib2/template.4.parameter.def"
|
||||
include "grib2/template.4.generating_process.def";
|
||||
include "grib2/template.4.forecast_time.def";
|
||||
include "grib2/template.4.horizontal.def"
|
||||
include "grib2/template.4.percentile.def"
|
||||
include "grib2/template.4.statistical.def"
|
||||
|
|
|
@ -3,4 +3,6 @@
|
|||
# TEMPLATE 4.1000, Cross section of analysis and forecast at a point in time
|
||||
|
||||
include "grib2/template.4.parameter.def"
|
||||
include "grib2/template.4.generating_process.def";
|
||||
include "grib2/template.4.forecast_time.def";
|
||||
include "grib2/template.4.point_in_time.def";
|
||||
|
|
|
@ -3,4 +3,6 @@
|
|||
# TEMPLATE 4.1001, Cross section of averaged or otherwise statistically processed analysis or forecast over a range of time
|
||||
|
||||
include "grib2/template.4.parameter.def"
|
||||
include "grib2/template.4.generating_process.def";
|
||||
include "grib2/template.4.forecast_time.def";
|
||||
include "grib2/template.4.statistical.def"
|
||||
|
|
|
@ -3,6 +3,8 @@
|
|||
# TEMPLATE 4.1002, Cross-section of analysis and forecast, averaged or otherwise statistically processed over latitude or longitude
|
||||
|
||||
include "grib2/template.4.parameter.def"
|
||||
include "grib2/template.4.generating_process.def";
|
||||
include "grib2/template.4.forecast_time.def";
|
||||
|
||||
# Horizontal dimension processed
|
||||
codetable[1] horizontalDimensionProcessed ('4.220.table',masterDir,localDir) : dump;
|
||||
|
|
|
@ -3,6 +3,8 @@
|
|||
# TEMPLATE 4.11, Individual ensemble forecast, control and perturbed, at a horizontal level or in a horizontal layer in a continuous or non-continuous time interval
|
||||
|
||||
include "grib2/template.4.parameter.def"
|
||||
include "grib2/template.4.generating_process.def";
|
||||
include "grib2/template.4.forecast_time.def";
|
||||
include "grib2/template.4.horizontal.def"
|
||||
include "grib2/template.4.eps.def"
|
||||
include "grib2/template.4.statistical.def"
|
||||
|
|
|
@ -3,4 +3,6 @@
|
|||
# TEMPLATE 4.1100, Hovmöller-type grid with no averaging or other statistical processing
|
||||
|
||||
include "grib2/template.4.parameter.def"
|
||||
include "grib2/template.4.generating_process.def";
|
||||
include "grib2/template.4.forecast_time.def";
|
||||
include "grib2/template.4.horizontal.def"
|
||||
|
|
|
@ -3,5 +3,7 @@
|
|||
# TEMPLATE 4.1101, Hovmöller-type grid with averaging or other statistical processing
|
||||
|
||||
include "grib2/template.4.parameter.def"
|
||||
include "grib2/template.4.generating_process.def";
|
||||
include "grib2/template.4.forecast_time.def";
|
||||
include "grib2/template.4.horizontal.def"
|
||||
include "grib2/template.4.statistical.def"
|
||||
|
|
|
@ -3,6 +3,8 @@
|
|||
# TEMPLATE 4.12, Derived forecasts based on all ensemble members at a horizontal level or in a horizontal layer in a continuous or non-continuous time interval
|
||||
|
||||
include "grib2/template.4.parameter.def"
|
||||
include "grib2/template.4.generating_process.def";
|
||||
include "grib2/template.4.forecast_time.def";
|
||||
include "grib2/template.4.horizontal.def"
|
||||
include "grib2/template.4.derived.def"
|
||||
include "grib2/template.4.statistical.def"
|
||||
|
|
|
@ -3,6 +3,8 @@
|
|||
# TEMPLATE 4.13, Derived forecasts based on a cluster of ensemble members over a rectangular area at a horizontal level or in a horizontal layer in a continuous or non-continuous time interval
|
||||
|
||||
include "grib2/template.4.parameter.def"
|
||||
include "grib2/template.4.generating_process.def";
|
||||
include "grib2/template.4.forecast_time.def";
|
||||
include "grib2/template.4.horizontal.def"
|
||||
include "grib2/template.4.derived.def"
|
||||
include "grib2/template.4.rectangular_cluster.def"
|
||||
|
|
|
@ -3,6 +3,8 @@
|
|||
# TEMPLATE 4.14, Derived forecasts based on a cluster of ensemble members over a circular area at a horizontal level or in a horizontal layer in a continuous or non-continuous time interval
|
||||
|
||||
include "grib2/template.4.parameter.def"
|
||||
include "grib2/template.4.generating_process.def";
|
||||
include "grib2/template.4.forecast_time.def";
|
||||
include "grib2/template.4.horizontal.def"
|
||||
include "grib2/template.4.derived.def"
|
||||
include "grib2/template.4.circular_cluster.def"
|
||||
|
|
|
@ -3,6 +3,8 @@
|
|||
# TEMPLATE 4.15, Average, accumulation, extreme values, or other statistically-processed values over a spatial area at a horizontal level or in a horizontal layer at a point in time
|
||||
|
||||
include "grib2/template.4.parameter.def";
|
||||
include "grib2/template.4.generating_process.def";
|
||||
include "grib2/template.4.forecast_time.def";
|
||||
include "grib2/template.4.point_in_time.def";
|
||||
include "grib2/template.4.horizontal.def";
|
||||
codetable[1] statisticalProcess 'grib2/tables/[tablesVersion]/4.10.table';
|
||||
|
|
|
@ -3,6 +3,8 @@
|
|||
# TEMPLATE 4.2, Derived forecast based on all ensemble members at a horizontal level or in a horizontal layer at a point in time
|
||||
|
||||
include "grib2/template.4.parameter.def";
|
||||
include "grib2/template.4.generating_process.def";
|
||||
include "grib2/template.4.forecast_time.def";
|
||||
include "grib2/template.4.point_in_time.def";
|
||||
include "grib2/template.4.horizontal.def";
|
||||
include "grib2/template.4.derived.def";
|
||||
|
|
|
@ -3,6 +3,8 @@
|
|||
# TEMPLATE 4.3, Derived forecasts based on a cluster of ensemble members over a rectangular area at a horizontal level or in a horizontal layer at a point in time
|
||||
|
||||
include "grib2/template.4.parameter.def"
|
||||
include "grib2/template.4.generating_process.def";
|
||||
include "grib2/template.4.forecast_time.def";
|
||||
include "grib2/template.4.point_in_time.def";
|
||||
include "grib2/template.4.horizontal.def"
|
||||
include "grib2/template.4.derived.def"
|
||||
|
|
|
@ -6,6 +6,8 @@ constant dataRepresentationType = 90;
|
|||
# TEMPLATE 4.32, Analysis or forecast at a horizontal level or in a horizontal layer at a point in time for simulated (synthetic) satellite data
|
||||
|
||||
include "grib2/template.4.parameter.def"
|
||||
include "grib2/template.4.generating_process.def";
|
||||
include "grib2/template.4.forecast_time.def";
|
||||
include "grib2/template.4.point_in_time.def";
|
||||
|
||||
# Required for interpolation and MARS. The level type is used to decide whether to apply the Land Sea Mask
|
||||
|
|
|
@ -3,6 +3,8 @@
|
|||
# TEMPLATE 4.4, Derived forecasts based on a cluster of ensemble members over a circular area at a horizontal level or in a horizontal layer at a point in time
|
||||
|
||||
include "grib2/template.4.parameter.def"
|
||||
include "grib2/template.4.generating_process.def";
|
||||
include "grib2/template.4.forecast_time.def";
|
||||
include "grib2/template.4.point_in_time.def"
|
||||
include "grib2/template.4.horizontal.def"
|
||||
include "grib2/template.4.derived.def"
|
||||
|
|
|
@ -3,6 +3,8 @@
|
|||
# TEMPLATE 4.5, Probability forecasts at a horizontal level or in a horizontal layer at a point in time
|
||||
|
||||
include "grib2/template.4.parameter.def"
|
||||
include "grib2/template.4.generating_process.def";
|
||||
include "grib2/template.4.forecast_time.def";
|
||||
include "grib2/template.4.point_in_time.def";
|
||||
include "grib2/template.4.horizontal.def"
|
||||
include "grib2/template.4.probability.def"
|
||||
|
|
|
@ -3,6 +3,8 @@
|
|||
# TEMPLATE 4.51, Categorical forecasts at a horizontal level or in a horizontal layer at a point in time
|
||||
|
||||
include "grib2/template.4.parameter.def"
|
||||
include "grib2/template.4.generating_process.def";
|
||||
include "grib2/template.4.forecast_time.def";
|
||||
include "grib2/template.4.point_in_time.def";
|
||||
include "grib2/template.4.horizontal.def"
|
||||
include "grib2/template.4.categorical.def"
|
||||
|
|
|
@ -3,6 +3,8 @@
|
|||
# TEMPLATE 4.6, Percentile forecasts at a horizontal level or in a horizontal layer at a point in time
|
||||
|
||||
include "grib2/template.4.parameter.def"
|
||||
include "grib2/template.4.generating_process.def";
|
||||
include "grib2/template.4.forecast_time.def";
|
||||
include "grib2/template.4.point_in_time.def";
|
||||
include "grib2/template.4.horizontal.def"
|
||||
include "grib2/template.4.percentile.def"
|
||||
|
|
|
@ -3,6 +3,8 @@
|
|||
# TEMPLATE 4.60, Individual ensemble re-forecast, control and perturbed, at a horizontal level or in a horizontal layer at a point in time
|
||||
|
||||
include "grib2/template.4.parameter.def"
|
||||
include "grib2/template.4.generating_process.def";
|
||||
include "grib2/template.4.forecast_time.def";
|
||||
include "grib2/template.4.point_in_time.def";
|
||||
include "grib2/template.4.horizontal.def"
|
||||
include "grib2/template.4.eps.def"
|
||||
|
|
|
@ -3,6 +3,8 @@
|
|||
# TEMPLATE 4.61, Individual ensemble re-forecast, control and perturbed, at a horizontal level or in a horizontal layer in a continuous or non-continuous time interval
|
||||
|
||||
include "grib2/template.4.parameter.def"
|
||||
include "grib2/template.4.generating_process.def";
|
||||
include "grib2/template.4.forecast_time.def";
|
||||
include "grib2/template.4.horizontal.def"
|
||||
include "grib2/template.4.eps.def"
|
||||
include "grib2/template.4.reforecast.def"
|
||||
|
|
|
@ -3,5 +3,7 @@
|
|||
# TEMPLATE 4.8, Average, accumulation, and/or extreme values or other statistically processed values at a horizontal level or in a horizontal layer in a continuous or non-continuous time interval
|
||||
|
||||
include "grib2/template.4.parameter.def"
|
||||
include "grib2/template.4.generating_process.def";
|
||||
include "grib2/template.4.forecast_time.def";
|
||||
include "grib2/template.4.horizontal.def"
|
||||
include "grib2/template.4.statistical.def"
|
||||
|
|
|
@ -3,6 +3,8 @@
|
|||
# TEMPLATE 4.86, Quantile forecasts at a horizontal level or in a horizontal layer at a point in time
|
||||
|
||||
include "grib2/template.4.parameter.def"
|
||||
include "grib2/template.4.generating_process.def";
|
||||
include "grib2/template.4.forecast_time.def";
|
||||
include "grib2/template.4.point_in_time.def";
|
||||
include "grib2/template.4.horizontal.def"
|
||||
include "grib2/template.4.quantile.def"
|
||||
|
|
|
@ -3,6 +3,8 @@
|
|||
# TEMPLATE 4.87, Quantile forecasts at a horizontal level or in a horizontal layer in a continuous or non-continuous time interval
|
||||
|
||||
include "grib2/template.4.parameter.def"
|
||||
include "grib2/template.4.generating_process.def";
|
||||
include "grib2/template.4.forecast_time.def";
|
||||
include "grib2/template.4.horizontal.def"
|
||||
include "grib2/template.4.quantile.def"
|
||||
include "grib2/template.4.statistical.def"
|
||||
|
|
|
@ -2,21 +2,8 @@
|
|||
|
||||
# TEMPLATE 4.88, Analysis or Forecast at a horizontal level or in a horizontal layer at a local time
|
||||
|
||||
codetable[1] parameterCategory ('4.1.[discipline:l].table',masterDir,localDir) : dump;
|
||||
codetable[1] parameterNumber ('4.2.[discipline:l].[parameterCategory:l].table',masterDir,localDir) : dump;
|
||||
meta parameterUnits codetable_units(parameterNumber) : dump;
|
||||
meta parameterName codetable_title(parameterNumber) : dump;
|
||||
|
||||
codetable[1] typeOfGeneratingProcess ('4.3.table',masterDir,localDir) : dump;
|
||||
|
||||
unsigned[1] backgroundProcess = 255 : edition_specific;
|
||||
alias backgroundGeneratingProcessIdentifier=backgroundProcess;
|
||||
|
||||
unsigned[1] generatingProcessIdentifier : dump;
|
||||
|
||||
#Cannot include this as it has keys we do not need e.g. minutesAfterDataCutoff
|
||||
#Also forecastTime will be used in the localtime template
|
||||
#include "grib2/template.4.parameter.def"
|
||||
|
||||
include "grib2/template.4.parameter.def"
|
||||
include "grib2/template.4.generating_process.def";
|
||||
# no template.4.forecast_time.def component in this tempalte.
|
||||
include "grib2/template.4.horizontal.def"
|
||||
include "grib2/template.4.localtime.def"
|
||||
|
|
|
@ -3,6 +3,8 @@
|
|||
# TEMPLATE 4.9, Probability forecasts at a horizontal level or in a horizontal layer in a continuous or non-continuous time interval
|
||||
|
||||
include "grib2/template.4.parameter.def"
|
||||
include "grib2/template.4.generating_process.def";
|
||||
include "grib2/template.4.forecast_time.def";
|
||||
include "grib2/template.4.horizontal.def"
|
||||
include "grib2/template.4.probability.def"
|
||||
include "grib2/template.4.statistical.def"
|
||||
|
|
|
@ -3,6 +3,8 @@
|
|||
# TEMPLATE 4.91, Categorical forecasts at a horizontal level or in a horizontal layer in a continuous or non-continuous time interval
|
||||
|
||||
include "grib2/template.4.parameter.def"
|
||||
include "grib2/template.4.generating_process.def";
|
||||
include "grib2/template.4.forecast_time.def";
|
||||
include "grib2/template.4.horizontal.def"
|
||||
include "grib2/template.4.categorical.def"
|
||||
include "grib2/template.4.statistical.def"
|
||||
|
|
|
@ -0,0 +1,18 @@
|
|||
# (C) Copyright 2005- ECMWF.
|
||||
|
||||
# Hours of observational data cut-off after reference time
|
||||
unsigned[2] hoursAfterDataCutoff = missing() : edition_specific,can_be_missing;
|
||||
alias hoursAfterReferenceTimeOfDataCutoff=hoursAfterDataCutoff;
|
||||
|
||||
# Minutes of observational data cut-off after reference time
|
||||
unsigned[1] minutesAfterDataCutoff = missing() : edition_specific,can_be_missing;
|
||||
alias minutesAfterReferenceTimeOfDataCutoff=minutesAfterDataCutoff;
|
||||
|
||||
# Indicator of unit of time range
|
||||
codetable[1] indicatorOfUnitOfTimeRange ('4.4.table',masterDir,localDir) : dump;
|
||||
alias defaultStepUnits = one; # 1 means Hour. See code table 4.4
|
||||
template_nofail default_step_units "grib2/localConcepts/[centre:s]/default_step_units.def";
|
||||
codetable[1] stepUnits 'stepUnits.table' = defaultStepUnits : transient,dump,no_copy;
|
||||
|
||||
# Forecast time in units defined by previous octet (GRIB-29: supports negative forecast time)
|
||||
signed[4] forecastTime : dump;
|
|
@ -0,0 +1,11 @@
|
|||
# (C) Copyright 2005- ECMWF.
|
||||
|
||||
# Type of generating process
|
||||
codetable[1] typeOfGeneratingProcess ('4.3.table',masterDir,localDir) : dump;
|
||||
|
||||
# Background generating process identifier (defined by originating centre)
|
||||
unsigned[1] backgroundProcess = 255 : edition_specific;
|
||||
alias backgroundGeneratingProcessIdentifier=backgroundProcess;
|
||||
|
||||
# Analysis or forecast generating processes identifier (defined by originating centre)
|
||||
unsigned[1] generatingProcessIdentifier : dump;
|
|
@ -7,30 +7,3 @@ codetable[1] parameterCategory ('4.1.[discipline:l].table',masterDir,localDir) :
|
|||
codetable[1] parameterNumber ('4.2.[discipline:l].[parameterCategory:l].table',masterDir,localDir) : dump;
|
||||
meta parameterUnits codetable_units(parameterNumber) : dump;
|
||||
meta parameterName codetable_title(parameterNumber) : dump;
|
||||
|
||||
# Type of generating process
|
||||
codetable[1] typeOfGeneratingProcess ('4.3.table',masterDir,localDir) : dump;
|
||||
|
||||
# Background generating process identifier (defined by originating centre)
|
||||
unsigned[1] backgroundProcess = 255 : edition_specific;
|
||||
alias backgroundGeneratingProcessIdentifier=backgroundProcess;
|
||||
|
||||
# Analysis or forecast generating processes identifier (defined by originating centre)
|
||||
unsigned[1] generatingProcessIdentifier : dump;
|
||||
|
||||
# Hours of observational data cut-off after reference time
|
||||
unsigned[2] hoursAfterDataCutoff = missing() : edition_specific,can_be_missing;
|
||||
alias hoursAfterReferenceTimeOfDataCutoff=hoursAfterDataCutoff;
|
||||
|
||||
# Minutes of observational data cut-off after reference time
|
||||
unsigned[1] minutesAfterDataCutoff = missing() : edition_specific,can_be_missing;
|
||||
alias minutesAfterReferenceTimeOfDataCutoff=minutesAfterDataCutoff;
|
||||
|
||||
# Indicator of unit of time range
|
||||
codetable[1] indicatorOfUnitOfTimeRange ('4.4.table',masterDir,localDir) : dump;
|
||||
alias defaultStepUnits = one; # 1 means Hour. See code table 4.4
|
||||
template_nofail default_step_units "grib2/localConcepts/[centre:s]/default_step_units.def";
|
||||
codetable[1] stepUnits 'stepUnits.table' = defaultStepUnits : transient,dump,no_copy;
|
||||
|
||||
# Forecast time in units defined by previous octet (GRIB-29: supports negative forecast time)
|
||||
signed[4] forecastTime : dump;
|
||||
|
|
Loading…
Reference in New Issue