cleanup of the templates for satellite in section 4

This commit is contained in:
Sebastien Villaume 2021-02-16 11:57:34 +00:00
parent 831710f30d
commit ed3e7c07ed
9 changed files with 79 additions and 92 deletions

View File

@ -1,28 +1,14 @@
# (C) Copyright 2005- ECMWF.
# For grib2 to grib1 conversion
constant dataRepresentationType = 90;
# TEMPLATE 4.30, Satellite Product
# Note: This template is deprecated. Template 4.31 should be used instead.
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;
include "grib2/template.4.parameter.def"
codetable[1] typeOfGeneratingProcess ('4.3.table',masterDir,localDir) : dump;
# Observation generating process identifier (defined by originating centre)
unsigned[1] observationGeneratingProcessIdentifier : dump;
unsigned[1] NB : dump;
alias numberOfContributingSpectralBands=NB;
alias generatingProcessIdentifier=observationGeneratingProcessIdentifier;
if (new() || section4Length>14) {
listOfContributingSpectralBands list(numberOfContributingSpectralBands){
unsigned[2] satelliteSeries;
unsigned[2] satelliteNumber;
unsigned[1] instrumentType;
unsigned[1] scaleFactorOfCentralWaveNumber = missing() : can_be_missing ;
unsigned[4] scaledValueOfCentralWaveNumber = missing() : can_be_missing ;
}
}
include "grib2/template.4.satellite_30.def"

View File

@ -1,13 +1,8 @@
# (C) Copyright 2005- ECMWF.
# For grib2 to grib1 conversion
constant dataRepresentationType = 90;
# TEMPLATE 4.31, Satellite Product
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;
include "grib2/template.4.parameter.def"
codetable[1] typeOfGeneratingProcess ('4.3.table',masterDir,localDir) : dump;
@ -15,13 +10,4 @@ codetable[1] typeOfGeneratingProcess ('4.3.table',masterDir,localDir) : dump;
unsigned[1] observationGeneratingProcessIdentifier : dump;
alias generatingProcessIdentifier=observationGeneratingProcessIdentifier;
unsigned[1] NB : dump;
alias numberOfContributingSpectralBands=NB;
listOfContributingSpectralBands list(numberOfContributingSpectralBands){
unsigned[2] satelliteSeries : dump;
unsigned[2] satelliteNumber : dump;
unsigned[2] instrumentType : dump;
unsigned[1] scaleFactorOfCentralWaveNumber = missing() : dump,can_be_missing ;
unsigned[4] scaledValueOfCentralWaveNumber = missing() : dump,can_be_missing ;
}
include "grib2/template.4.satellite.def"

View File

@ -1,18 +1,14 @@
# (C) Copyright 2005- ECMWF.
# For grib2 to grib1 conversion
constant dataRepresentationType = 90;
# TEMPLATE 4.311, Satellite Product Auxiliary Information
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;
include "grib2/template.4.parameter.def"
codetable[1] typeOfGeneratingProcess ('4.3.table',masterDir,localDir) : dump;
# Observation generating process identifier (defined by originating centre)
unsigned[1] observationGeneratingProcessIdentifier : dump;
alias generatingProcessIdentifier=observationGeneratingProcessIdentifier;
unsigned[1] NB : dump;
alias numberOfContributingSpectralBands=NB;

View File

@ -1,27 +1,9 @@
# (C) Copyright 2005- ECMWF.
# For grib2 to grib1 conversion
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
constant typeOfLevel="surface";
constant levelType="surface";
constant level=0;
unsigned[1] NB : dump;
alias numberOfContributingSpectralBands=NB;
listOfContributingSpectralBands list(numberOfContributingSpectralBands){
unsigned[2] satelliteSeries : dump;
unsigned[2] satelliteNumber : dump;
unsigned[2] instrumentType : dump;
unsigned[1] scaleFactorOfCentralWaveNumber = missing() : dump,can_be_missing ;
unsigned[4] scaledValueOfCentralWaveNumber = missing() : dump,can_be_missing ;
}
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.satellite.def"

View File

@ -2,9 +2,9 @@
# TEMPLATE 4.33, Individual ensemble forecast, control and perturbed, at a horizontal level or in a horizontal layer at a point in time for simulated (synthetic) satellite data
include "grib2/template.4.32.def"
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.satellite.def"
include "grib2/template.4.eps.def"
alias instrument = instrumentType;
alias ident = satelliteNumber;

View File

@ -2,10 +2,10 @@
# TEMPLATE 4.34, Individual ensemble forecast, control and perturbed, at a horizontal level or in a horizontal layer, in a continuous or non-continuous interval for simulated (synthetic) satellite data
include "grib2/template.4.32.def"
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.satellite.def"
include "grib2/template.4.eps.def"
include "grib2/template.4.statistical.def"
alias instrument = instrumentType;
alias ident = satelliteNumber;

View File

@ -1,14 +1,8 @@
# (C) Copyright 2005- ECMWF.
# For grib2 to grib1 conversion
constant dataRepresentationType = 90;
# TEMPLATE 4.35, satellite product with or without associated quality values
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;
include "grib2/template.4.parameter.def"
codetable[1] typeOfGeneratingProcess ('4.3.table',masterDir,localDir) : dump;
@ -18,13 +12,4 @@ alias generatingProcessIdentifier=observationGeneratingProcessIdentifier;
codetable[1] qualityValueAssociatedWithParameter('4.16.table',masterDir,localDir) : dump;
unsigned[1] NB : dump;
alias numberOfContributingSpectralBands=NB;
listOfContributingSpectralBands list(numberOfContributingSpectralBands){
unsigned[2] satelliteSeries : dump;
unsigned[2] satelliteNumber : dump;
unsigned[2] instrumentType : dump;
unsigned[1] scaleFactorOfCentralWaveNumber = missing() : dump,can_be_missing ;
unsigned[4] scaledValueOfCentralWaveNumber = missing() : dump,can_be_missing ;
}
include "grib2/template.4.satellite.def"

View File

@ -0,0 +1,23 @@
# (C) Copyright 2005- ECMWF.
# For grib2 to grib1 conversion
constant dataRepresentationType = 90;
unsigned[1] NB : dump;
alias numberOfContributingSpectralBands=NB;
listOfContributingSpectralBands list(numberOfContributingSpectralBands){
unsigned[2] satelliteSeries : dump;
unsigned[2] satelliteNumber : dump;
unsigned[2] instrumentType : dump;
unsigned[1] scaleFactorOfCentralWaveNumber = missing() : dump,can_be_missing ;
unsigned[4] scaledValueOfCentralWaveNumber = missing() : dump,can_be_missing ;
}
alias instrument = instrumentType;
alias ident = satelliteNumber;
# Required for interpolation and MARS. The level type is used to decide whether to apply the Land Sea Mask
constant typeOfLevel="surface";
constant levelType="surface";
constant level=0;

View File

@ -0,0 +1,29 @@
# (C) Copyright 2005- ECMWF.
# This is specific to template 4.30 where instrumentType is only coded on 1 octet instead of 2
# /!\ DO NOT INCLUDE this anywhere else
# For grib2 to grib1 conversion
constant dataRepresentationType = 90;
unsigned[1] NB : dump;
alias numberOfContributingSpectralBands=NB;
if (new() || section4Length>14) {
listOfContributingSpectralBands list(numberOfContributingSpectralBands){
unsigned[2] satelliteSeries : dump;
unsigned[2] satelliteNumber : dump;
# this is specific to template 4.30
unsigned[1] instrumentType : dump;
unsigned[1] scaleFactorOfCentralWaveNumber = missing() : dump,can_be_missing ;
unsigned[4] scaledValueOfCentralWaveNumber = missing() : dump,can_be_missing ;
}
}
alias instrument = instrumentType;
alias ident = satelliteNumber;
# Required for interpolation and MARS. The level type is used to decide whether to apply the Land Sea Mask
constant typeOfLevel="surface";
constant levelType="surface";
constant level=0;