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.
# 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.horizontal.def"

View File

@ -1,14 +1,6 @@
# (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
include "grib2/template.4.parameter_chemical_source.def";
include "grib2/template.4.point_in_time.def";
include "grib2/template.4.horizontal.def";

View File

@ -1,14 +1,6 @@
# (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
include "grib2/template.4.parameter_chemical_source.def"
include "grib2/template.4.point_in_time.def";
include "grib2/template.4.horizontal.def"

View File

@ -1,14 +1,6 @@
# (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
include "grib2/template.4.parameter_chemical_source.def"
include "grib2/template.4.horizontal.def"
include "grib2/template.4.statistical.def"

View File

@ -1,14 +1,6 @@
# (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
include "grib2/template.4.parameter_chemical_source.def"
include "grib2/template.4.horizontal.def"
include "grib2/template.4.eps.def"

View File

@ -1,13 +1,7 @@
# (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
# Note: This template is deprecated. Template 4.84 should be used instead.
include "grib2/template.4.parameter_aerosol_source.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 */
int grib2_is_PDTN_EPS(long productDefinitionTemplateNumber)
int grib2_is_PDTN_EPS(long pdtn)
{
return (
productDefinitionTemplateNumber == 1 || productDefinitionTemplateNumber == 11 ||
productDefinitionTemplateNumber == 33 || productDefinitionTemplateNumber == 34 || /*simulated (synthetic) satellite data*/
productDefinitionTemplateNumber == 41 || productDefinitionTemplateNumber == 43 || /*atmospheric chemical constituents*/
productDefinitionTemplateNumber == 45 || productDefinitionTemplateNumber == 47 /*aerosols*/
pdtn == 1 || pdtn == 11 ||
pdtn == 33 || pdtn == 34 || /*simulated (synthetic) satellite data*/
pdtn == 41 || pdtn == 43 || /*atmospheric chemical constituents*/
pdtn == 45 || pdtn == 47 || pdtn == 85 /*aerosols*/
);
}
/* 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 (
productDefinitionTemplateNumber == 40 ||
productDefinitionTemplateNumber == 41 ||
productDefinitionTemplateNumber == 42 ||
productDefinitionTemplateNumber == 43);
pdtn == 40 ||
pdtn == 41 ||
pdtn == 42 ||
pdtn == 43);
}
/* Return 1 if the productDefinitionTemplateNumber (GRIB2) is for
* atmospheric chemical constituents based on a distribution function */
int grib2_is_PDTN_ChemicalDistFunc(long productDefinitionTemplateNumber)
int grib2_is_PDTN_ChemicalDistFunc(long pdtn)
{
return (
productDefinitionTemplateNumber == 57 ||
productDefinitionTemplateNumber == 58 ||
productDefinitionTemplateNumber == 67 ||
productDefinitionTemplateNumber == 68);
pdtn == 57 ||
pdtn == 58 ||
pdtn == 67 ||
pdtn == 68);
}
/* 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 (
productDefinitionTemplateNumber == 44 || /* Note: PDT 44 is deprecated. Use 48 instead */
productDefinitionTemplateNumber == 48 ||
productDefinitionTemplateNumber == 49 ||
productDefinitionTemplateNumber == 45 ||
productDefinitionTemplateNumber == 46 ||
productDefinitionTemplateNumber == 47);
pdtn == 44 ||
pdtn == 48 ||
pdtn == 49 ||
pdtn == 45 ||
pdtn == 46 ||
pdtn == 47 ||
pdtn == 85);
}
/* 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.
* For the former user must set the optical wavelength range to missing.
*/
return (
productDefinitionTemplateNumber == 48 ||
productDefinitionTemplateNumber == 49);
pdtn == 48 ||
pdtn == 49);
}
/* Given some information about the type of grib2 parameter, return the productDefinitionTemplateNumber to use.