mirror of
https://github.com/swift-project/pilotclient.git
synced 2026-04-15 01:05:35 +08:00
Patch from Fedora 23 http://pkgs.fedoraproject.org/cgit/rpms/g2clib.git/tree/g2clib-templates.patch
60 lines
2.6 KiB
C
60 lines
2.6 KiB
C
#ifndef _pdstemplates_H
|
|
#define _pdstemplates_H
|
|
#include "grib2.h"
|
|
|
|
// PRGMMR: Gilbert ORG: W/NP11 DATE: 2002-10-26
|
|
//
|
|
// ABSTRACT: This inculde file contains info on all the available
|
|
// GRIB2 Product Definition Templates used in Section 4 (PDS).
|
|
// The information decribing each template is stored in the
|
|
// pdstemplate structure defined below.
|
|
//
|
|
// Each Template has three parts: The number of entries in the template
|
|
// (mappdslen); A map of the template (mappds), which contains the
|
|
// number of octets in which to pack each of the template values; and
|
|
// a logical value (needext) that indicates whether the Template needs
|
|
// to be extended. In some cases the number of entries in a template
|
|
// can vary depending upon values specified in the "static" part of
|
|
// the template. ( See Template 4.3 as an example )
|
|
//
|
|
// NOTE: Array mappds contains the number of octets in which the
|
|
// corresponding template values will be stored. A negative value in
|
|
// mappds is used to indicate that the corresponding template entry can
|
|
// contain negative values. This information is used later when packing
|
|
// (or unpacking) the template data values. Negative data values in GRIB
|
|
// are stored with the left most bit set to one, and a negative number
|
|
// of octets value in mappds[] indicates that this possibility should
|
|
// be considered. The number of octets used to store the data value
|
|
// in this case would be the absolute value of the negative value in
|
|
// mappds[].
|
|
//
|
|
// 2005-12-08 Gilbert Allow negative scale factors and limits for
|
|
// Templates 4.5 and 4.9
|
|
// 2009-12-15 Vuong Added Product Definition Template 4.31
|
|
// Added Product Definition Template 4.15
|
|
// 2010-08-03 Vuong Added Product Definition Template 4.40,4.41,4.42,4.43
|
|
// 2010-12-08 Vuong Corrected Definition Template 4.42,4.43
|
|
// 2010-12-08 Vuong Corrected Definition Template 4.42,4.43
|
|
// 2012-03-29 Vuong Added Templates 4.44,4.45,4.46,4.47,4.48,4.50,
|
|
// 4.51,4.91,4.32 and 4.52
|
|
// 2013-08-05 Vuong Corrected 4.91 and added Templates 4.33,4.34,4.53,4.54
|
|
//
|
|
//$$$
|
|
|
|
#define MAXPDSTEMP 43 // maximum number of templates
|
|
#define MAXPDSMAPLEN 200 // maximum template map length
|
|
|
|
struct pdstemplate
|
|
{
|
|
g2int template_num;
|
|
g2int mappdslen;
|
|
g2int needext;
|
|
g2int mappds[MAXPDSMAPLEN];
|
|
};
|
|
|
|
extern const struct pdstemplate templatespds[];
|
|
|
|
g2int getpdsindex(g2int number);
|
|
|
|
#endif /* _pdstemplates_H */
|