ECC-1168: Add new templates in v26.0.0

This commit is contained in:
Shahram Najm 2020-12-03 21:08:00 +00:00
parent 1d893380f3
commit 8e8012901a
9 changed files with 44 additions and 64 deletions

View File

@ -1,6 +1,7 @@
# (C) Copyright 2005- ECMWF. # (C) Copyright 2005- ECMWF.
# TEMPLATE 4.47, Individual ensemble forecast, control and perturbed, at a horizontal level or in a horizontal layer in a continuous or non-continuous time interval # TEMPLATE 4.47, Individual ensemble forecast, control and perturbed, at a horizontal level or in a horizontal layer in a continuous or non-continuous time interval
# Note: This template is deprecated. Template 4.85 should be used instead.
include "grib2/template.4.parameter_aerosol.def" include "grib2/template.4.parameter_aerosol.def"
include "grib2/template.4.horizontal.def" include "grib2/template.4.horizontal.def"

View File

@ -1,14 +1,6 @@
# (C) Copyright 2005- ECMWF. # (C) Copyright 2005- 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.76, Analysis or forecast at a horizontal level or in a horizontal layer at a point in time for atmospheric chemical constituents with source/sink # TEMPLATE 4.76, Analysis or forecast at a horizontal level or in a horizontal layer at a point in time for atmospheric chemical constituents with source/sink
include "grib2/template.4.parameter_chemical_source.def"; include "grib2/template.4.parameter_chemical_source.def";
include "grib2/template.4.point_in_time.def"; include "grib2/template.4.point_in_time.def";
include "grib2/template.4.horizontal.def"; include "grib2/template.4.horizontal.def";

View File

@ -1,14 +1,6 @@
# (C) Copyright 2005- ECMWF. # (C) Copyright 2005- 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.77, Individual ensemble forecast, control and perturbed, at a horizontal level or in a horizontal layer at a point in time for atmospheric chemical constituents with a source/sink # TEMPLATE 4.77, Individual ensemble forecast, control and perturbed, at a horizontal level or in a horizontal layer at a point in time for atmospheric chemical constituents with a source/sink
include "grib2/template.4.parameter_chemical_source.def" include "grib2/template.4.parameter_chemical_source.def"
include "grib2/template.4.point_in_time.def"; include "grib2/template.4.point_in_time.def";
include "grib2/template.4.horizontal.def" include "grib2/template.4.horizontal.def"

View File

@ -1,14 +1,6 @@
# (C) Copyright 2005- ECMWF. # (C) Copyright 2005- 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.78, 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 for atmospheric chemical constituents with source/sink # TEMPLATE 4.78, 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 for atmospheric chemical constituents with source/sink
include "grib2/template.4.parameter_chemical_source.def" include "grib2/template.4.parameter_chemical_source.def"
include "grib2/template.4.horizontal.def" include "grib2/template.4.horizontal.def"
include "grib2/template.4.statistical.def" include "grib2/template.4.statistical.def"

View File

@ -1,14 +1,6 @@
# (C) Copyright 2005- ECMWF. # (C) Copyright 2005- 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.79, Individual ensemble forecast, control and perturbed, at a horizontal level or in a horizontal layer in a continuous or non-continuous time interval for atmospheric chemical constituents with source/sink # TEMPLATE 4.79, Individual ensemble forecast, control and perturbed, at a horizontal level or in a horizontal layer in a continuous or non-continuous time interval for atmospheric chemical constituents with source/sink
include "grib2/template.4.parameter_chemical_source.def" include "grib2/template.4.parameter_chemical_source.def"
include "grib2/template.4.horizontal.def" include "grib2/template.4.horizontal.def"
include "grib2/template.4.eps.def" include "grib2/template.4.eps.def"

View File

@ -1,13 +1,7 @@
# (C) Copyright 2005- ECMWF. # (C) Copyright 2005- 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.83, Individual ensemble forecast, control and perturbed, at a horizontal level or in a horizontal layer in a continuous or non-continuous time interval with source/sink # TEMPLATE 4.83, Individual ensemble forecast, control and perturbed, at a horizontal level or in a horizontal layer in a continuous or non-continuous time interval with source/sink
# Note: This template is deprecated. Template 4.84 should be used instead.
include "grib2/template.4.parameter_aerosol_source.def" include "grib2/template.4.parameter_aerosol_source.def"
include "grib2/template.4.horizontal.def" include "grib2/template.4.horizontal.def"

View File

@ -0,0 +1,7 @@
# (C) Copyright 2005- ECMWF.
# TEMPLATE 4.84, Individual ensemble forecast, control and perturbed, at a horizontal level or in a horizontal layer in a continuous or non-continuous time interval for aerosol with source or sink
include "grib2/template.4.parameter_aerosol_source.def"
include "grib2/template.4.horizontal.def"
include "grib2/template.4.eps.def"
include "grib2/template.4.statistical.def"

View File

@ -0,0 +1,7 @@
# (C) Copyright 2005- ECMWF.
# TEMPLATE 4.85, individual ensemble forecast, control and perturbed, at a horizontal level or in a horizontal layer in a continuous or non-continuous time interval for aerosol
include "grib2/template.4.parameter_aerosol.def"
include "grib2/template.4.horizontal.def"
include "grib2/template.4.eps.def"
include "grib2/template.4.statistical.def"

View File

@ -1996,58 +1996,61 @@ int parse_keyval_string(const char* grib_tool,
} }
/* Return 1 if the productDefinitionTemplateNumber (GRIB2) is related to EPS */ /* Return 1 if the productDefinitionTemplateNumber (GRIB2) is related to EPS */
int grib2_is_PDTN_EPS(long productDefinitionTemplateNumber) int grib2_is_PDTN_EPS(long pdtn)
{ {
return ( return (
productDefinitionTemplateNumber == 1 || productDefinitionTemplateNumber == 11 || pdtn == 1 || pdtn == 11 ||
productDefinitionTemplateNumber == 33 || productDefinitionTemplateNumber == 34 || /*simulated (synthetic) satellite data*/ pdtn == 33 || pdtn == 34 || /*simulated (synthetic) satellite data*/
productDefinitionTemplateNumber == 41 || productDefinitionTemplateNumber == 43 || /*atmospheric chemical constituents*/ pdtn == 41 || pdtn == 43 || /*atmospheric chemical constituents*/
productDefinitionTemplateNumber == 45 || productDefinitionTemplateNumber == 47 /*aerosols*/ pdtn == 45 || pdtn == 47 || pdtn == 85 /*aerosols*/
); );
} }
/* Return 1 if the productDefinitionTemplateNumber (GRIB2) is for atmospheric chemical constituents */ /* Return 1 if the productDefinitionTemplateNumber (GRIB2) is for atmospheric chemical constituents */
int grib2_is_PDTN_Chemical(long productDefinitionTemplateNumber) int grib2_is_PDTN_Chemical(long pdtn)
{ {
return ( return (
productDefinitionTemplateNumber == 40 || pdtn == 40 ||
productDefinitionTemplateNumber == 41 || pdtn == 41 ||
productDefinitionTemplateNumber == 42 || pdtn == 42 ||
productDefinitionTemplateNumber == 43); pdtn == 43);
} }
/* Return 1 if the productDefinitionTemplateNumber (GRIB2) is for /* Return 1 if the productDefinitionTemplateNumber (GRIB2) is for
* atmospheric chemical constituents based on a distribution function */ * atmospheric chemical constituents based on a distribution function */
int grib2_is_PDTN_ChemicalDistFunc(long productDefinitionTemplateNumber) int grib2_is_PDTN_ChemicalDistFunc(long pdtn)
{ {
return ( return (
productDefinitionTemplateNumber == 57 || pdtn == 57 ||
productDefinitionTemplateNumber == 58 || pdtn == 58 ||
productDefinitionTemplateNumber == 67 || pdtn == 67 ||
productDefinitionTemplateNumber == 68); pdtn == 68);
} }
/* Return 1 if the productDefinitionTemplateNumber (GRIB2) is for aerosols */ /* Return 1 if the productDefinitionTemplateNumber (GRIB2) is for aerosols */
int grib2_is_PDTN_Aerosol(long productDefinitionTemplateNumber) int grib2_is_PDTN_Aerosol(long pdtn)
{ {
/* Notes: PDT 44 is deprecated and replaced by 48 */
/* PDT 47 is deprecated and replaced by 85 */
return ( return (
productDefinitionTemplateNumber == 44 || /* Note: PDT 44 is deprecated. Use 48 instead */ pdtn == 44 ||
productDefinitionTemplateNumber == 48 || pdtn == 48 ||
productDefinitionTemplateNumber == 49 || pdtn == 49 ||
productDefinitionTemplateNumber == 45 || pdtn == 45 ||
productDefinitionTemplateNumber == 46 || pdtn == 46 ||
productDefinitionTemplateNumber == 47); pdtn == 47 ||
pdtn == 85);
} }
/* Return 1 if the productDefinitionTemplateNumber (GRIB2) is for optical properties of aerosol */ /* Return 1 if the productDefinitionTemplateNumber (GRIB2) is for optical properties of aerosol */
int grib2_is_PDTN_AerosolOptical(long productDefinitionTemplateNumber) int grib2_is_PDTN_AerosolOptical(long pdtn)
{ {
/* Note: PDT 48 can be used for both plain aerosols as well as optical properties of aerosol. /* Note: PDT 48 can be used for both plain aerosols as well as optical properties of aerosol.
* For the former user must set the optical wavelength range to missing. * For the former user must set the optical wavelength range to missing.
*/ */
return ( return (
productDefinitionTemplateNumber == 48 || pdtn == 48 ||
productDefinitionTemplateNumber == 49); pdtn == 49);
} }
/* Given some information about the type of grib2 parameter, return the productDefinitionTemplateNumber to use. /* Given some information about the type of grib2 parameter, return the productDefinitionTemplateNumber to use.