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:
Sebastien Villaume 2021-02-15 17:04:44 +00:00
parent 2a2f6a6d85
commit 9b0cc3f0c5
31 changed files with 86 additions and 43 deletions

View File

@ -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";

View File

@ -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"

View File

@ -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"

View File

@ -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";

View File

@ -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"

View File

@ -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;

View File

@ -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"

View File

@ -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"

View File

@ -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"

View File

@ -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"

View File

@ -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"

View File

@ -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"

View File

@ -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';

View File

@ -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";

View File

@ -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"

View File

@ -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

View File

@ -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"

View File

@ -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"

View File

@ -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"

View File

@ -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"

View File

@ -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"

View File

@ -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"

View File

@ -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"

View File

@ -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"

View File

@ -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"

View File

@ -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"

View File

@ -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"

View File

@ -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"

View File

@ -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;

View File

@ -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;

View File

@ -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;