From 8bbd1d29fb1ea343cf99d0ddcd67e21be97fa5a7 Mon Sep 17 00:00:00 2001 From: Shahram Najm Date: Thu, 10 Dec 2015 17:17:39 +0000 Subject: [PATCH] GRIB-853: GRIB2 Tile-templates --- definitions/grib2/template.4.55.def | 12 ++++ definitions/grib2/template.4.56.def | 26 ++++++++ .../grib2/template.4.parameter_tile.def | 59 +++++++++++++++++++ 3 files changed, 97 insertions(+) create mode 100644 definitions/grib2/template.4.55.def create mode 100644 definitions/grib2/template.4.56.def create mode 100644 definitions/grib2/template.4.parameter_tile.def diff --git a/definitions/grib2/template.4.55.def b/definitions/grib2/template.4.55.def new file mode 100644 index 000000000..13266641b --- /dev/null +++ b/definitions/grib2/template.4.55.def @@ -0,0 +1,12 @@ +# Copyright 2005-2015 ECMWF. +# +# This software is licensed under the terms of the Apache Licence Version 2.0 +# which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. +# +# In applying this licence, ECMWF does not waive the privileges and immunities granted to it by +# virtue of its status as an intergovernmental organisation nor does it submit to any jurisdiction. +# +# TEMPLATE 4.55, spatio-temporal changing tiles at a horizontal level or horizontal layer at a point in time + +include "grib2/template.4.parameter_tile.def" +include "grib2/template.4.horizontal.def" diff --git a/definitions/grib2/template.4.56.def b/definitions/grib2/template.4.56.def new file mode 100644 index 000000000..9b8c24243 --- /dev/null +++ b/definitions/grib2/template.4.56.def @@ -0,0 +1,26 @@ +# Copyright 2005-2015 ECMWF. +# +# This software is licensed under the terms of the Apache Licence Version 2.0 +# which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. +# +# In applying this licence, ECMWF does not waive the privileges and immunities granted to it by +# virtue of its status as an intergovernmental organisation nor does it submit to any jurisdiction. +# +# TEMPLATE 4.56, individual ensemble forecast, control and perturbed, at a horizontal level or in a horizontal layer at a point in time for spatio-temporal changing tile parameters + +include "grib2/template.4.parameter_tile.def" +include "grib2/template.4.horizontal.def" + +# Note: This template is missing the entry: +# Type of ensemble forecast +# which is present in all other templates with EPS info! Mistake by WMO? + +# So we cannot include the eps template due to this missing entry! +# include "grib2/template.4.eps.def" +# Have to manually define the keys +unsigned[1] perturbationNumber : dump; +alias number=perturbationNumber; + +unsigned[1] numberOfForecastsInEnsemble : dump; +alias totalNumber=numberOfForecastsInEnsemble; + diff --git a/definitions/grib2/template.4.parameter_tile.def b/definitions/grib2/template.4.parameter_tile.def new file mode 100644 index 000000000..cd9222758 --- /dev/null +++ b/definitions/grib2/template.4.parameter_tile.def @@ -0,0 +1,59 @@ +# Copyright 2005-2015 ECMWF. +# +# This software is licensed under the terms of the Apache Licence Version 2.0 +# which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. +# +# In applying this licence, ECMWF does not waive the privileges and immunities granted to it by +# virtue of its status as an intergovernmental organisation nor does it submit to any jurisdiction. +# + +label "Tile information"; + +# Parameter category +codetable[1] parameterCategory ('4.1.[discipline:l].table',masterDir,localDir) : dump; + +# Parameter number +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; + +# Tile specifications +codetable[1] tileClassification ('4.242.table',masterDir,localDir) : dump; +unsigned[1] totalNumberOfTileAttributePairs=1 : dump; +unsigned[1] numberOfUsedSpatialTiles=1 : dump; +unsigned[1] tileIndex : dump; +unsigned[1] numberOfUsedTileAttributes=1 : dump; +codetable[1] attributeOfTile ('4.241.table',masterDir,localDir) : dump; +alias NT=totalNumberOfTileAttributePairs; +alias NUT=numberOfUsedSpatialTiles; +alias ITN=tileIndex; +alias NAT=numberOfUsedTileAttributes; + +# 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; +codetable[1] stepUnits 'stepUnits.table' = 1 : transient,dump,no_copy; + +# Forecast time in units defined by octet 24 +signed[4] forecastTime : dump; +