grib2.h   grib2.h 
#ifndef _grib2_H #ifndef _grib2_H
#define _grib2_H #define _grib2_H
#include<stdio.h> #include<stdio.h>
#define G2_VERSION "g2clib-1.2.0" #define G2_VERSION "g2clib-1.2.1"
/* . . . . /* . . . .
// PRGMMR: Gilbert ORG: W/NP11 DATE: 2002-10-25 // PRGMMR: Gilbert ORG: W/NP11 DATE: 2002-10-25
// //
// PROGRAM HISTORY LOG: // PROGRAM HISTORY LOG:
// 2002-10-25 Gilbert // 2002-10-25 Gilbert
// 2009-01-14 Vuong Changed struct template to gtemplate // 2009-01-14 Vuong Changed struct template to gtemplate
// //
// Each element of structure gribfield is defined as: // Each element of structure gribfield is defined as:
// //
// gribfield gfld; // gribfield gfld;
 End of changes. 1 change blocks. 
1 lines changed or deleted 1 lines changed or added


 gridtemplates.h   gridtemplates.h 
skipping to change at line 36 skipping to change at line 36
// of octets value in mapgrid[] indicates that this possibility should // of octets value in mapgrid[] indicates that this possibility should
// be considered. The number of octets used to store the data value // 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 // in this case would be the absolute value of the negative value in
// mapgrid[]. // mapgrid[].
// //
// PROGRAM HISTORY LOG: // PROGRAM HISTORY LOG:
// //
// 2001-10-26 Gilbert // 2001-10-26 Gilbert
// 2007-08-16 Vuong - Added GDT 3.204 Curvilinear Orthogonal Grid // 2007-08-16 Vuong - Added GDT 3.204 Curvilinear Orthogonal Grid
// 2008-07-08 Vuong - Added GDT 3.32768 Rot Lat/Lon E-grid (Arakawa) // 2008-07-08 Vuong - Added GDT 3.32768 Rot Lat/Lon E-grid (Arakawa)
// 2010-05-11 Vuong - Added GDT 3.32769 Rotate Lat/Lon Non-E Staggere d grid (Arakawa)
// //
//////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////
#define MAXGRIDTEMP 25 // maximum number of templates #define MAXGRIDTEMP 26 // maximum number of templates
#define MAXGRIDMAPLEN 200 // maximum template map length #define MAXGRIDMAPLEN 200 // maximum template map length
struct gridtemplate struct gridtemplate
{ {
g2int template_num; g2int template_num;
g2int mapgridlen; g2int mapgridlen;
g2int needext; g2int needext;
g2int mapgrid[MAXGRIDMAPLEN]; g2int mapgrid[MAXGRIDMAPLEN];
}; };
skipping to change at line 95 skipping to change at line 96
// 3.100: Triangular grid based on an icosahedron // 3.100: Triangular grid based on an icosahedron
{100, 11, 0, {1,1,2,1,-4,4,4,1,1,1,4} }, {100, 11, 0, {1,1,2,1,-4,4,4,1,1,1,4} },
// 3.110: Equatorial Azimuthal equidistant // 3.110: Equatorial Azimuthal equidistant
{110, 16, 0, {1,1,4,1,4,1,4,4,4,-4,4,1,4,4,1,1} }, {110, 16, 0, {1,1,4,1,4,1,4,4,4,-4,4,1,4,4,1,1} },
// 3.120: Azimuth-range projection // 3.120: Azimuth-range projection
{120, 7, 1, {4,4,-4,4,4,4,1} }, {120, 7, 1, {4,4,-4,4,4,4,1} },
// 3.204: Curvilinear Orthogonal Grid // 3.204: Curvilinear Orthogonal Grid
{204, 19, 0, {1,1,4,1,4,1,4,4,4,4,4,-4,4,1,-4,4,4,4,1} }, {204, 19, 0, {1,1,4,1,4,1,4,4,4,4,4,-4,4,1,-4,4,4,4,1} },
// 3.32768: Rot Lat/Lon E-grid (Arakawa) // 3.32768: Rot Lat/Lon E-grid (Arakawa)
{32768, 19, 0, {1,1,4,1,4,1,4,4,4,4,4,-4,4,1,-4,4,4,4,1} }, {32768, 19, 0, {1,1,4,1,4,1,4,4,4,4,4,-4,4,1,-4,4,4,4,1} },
// 3.32769: Rot Lat/Lon Non-E Staggered grid (Arakawa)
{32769, 21, 0, {1,1,4,1,4,1,4,4,4,4,4,-4,4,1,-4,4,4,4,1,4,4} },
// 3.1000: Cross Section Grid // 3.1000: Cross Section Grid
{1000, 20, 1, {1,1,4,1,4,1,4,4,4,4,-4,4,1,4,4,1,2,1,1,2} }, {1000, 20, 1, {1,1,4,1,4,1,4,4,4,4,-4,4,1,4,4,1,2,1,1,2} },
// 3.1100: Hovmoller Diagram Grid // 3.1100: Hovmoller Diagram Grid
{1100, 28, 0, {1,1,4,1,4,1,4,4,4,4,-4,4,1,-4,4,1,4,1,-4,1,1,-4,2,1 ,1,1,1,1} }, {1100, 28, 0, {1,1,4,1,4,1,4,4,4,4,-4,4,1,-4,4,1,4,1,-4,1,1,-4,2,1 ,1,1,1,1} },
// 3.1200: Time Section Grid // 3.1200: Time Section Grid
{1200, 16, 1, {4,1,-4,1,1,-4,2,1,1,1,1,1,2,1,1,2} } {1200, 16, 1, {4,1,-4,1,1,-4,2,1,1,1,1,1,2,1,1,2} }
} ; } ;
#endif /* _gridtemplates_H */ #endif /* _gridtemplates_H */
 End of changes. 3 change blocks. 
1 lines changed or deleted 4 lines changed or added


 pdstemplates.h   pdstemplates.h 
skipping to change at line 35 skipping to change at line 35
// are stored with the left most bit set to one, and a negative number // are stored with the left most bit set to one, and a negative number
// of octets value in mappds[] indicates that this possibility should // of octets value in mappds[] indicates that this possibility should
// be considered. The number of octets used to store the data value // 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 // in this case would be the absolute value of the negative value in
// mappds[]. // mappds[].
// //
// 2005-12-08 Gilbert - Allow negative scale factors and limits for // 2005-12-08 Gilbert - Allow negative scale factors and limits for
// Templates 4.5 and 4.9 // Templates 4.5 and 4.9
// 2009-12-15 Vuong Added Product Definition Template 4.31 // 2009-12-15 Vuong Added Product Definition Template 4.31
// Added Product Definition Template 4.15 // Added Product Definition Template 4.15
// 2010-08-03 Vuong Added Product Definition Template 4.40,4.41,4.42,4 .43
// //
//$$$ //$$$
#define MAXPDSTEMP 25 // maximum number of templates #define MAXPDSTEMP 29 // maximum number of templates
#define MAXPDSMAPLEN 200 // maximum template map length #define MAXPDSMAPLEN 200 // maximum template map length
struct pdstemplate struct pdstemplate
{ {
g2int template_num; g2int template_num;
g2int mappdslen; g2int mappdslen;
g2int needext; g2int needext;
g2int mappds[MAXPDSMAPLEN]; g2int mappds[MAXPDSMAPLEN];
}; };
skipping to change at line 95 skipping to change at line 96
{11,32,1, {1,1,1,1,1,2,1,1,4,1,-1,-4,1,-1,-4,1,1,1,2,1,1,1,1,1,1,4 ,1,1,1,4,1,4} }, {11,32,1, {1,1,1,1,1,2,1,1,4,1,-1,-4,1,-1,-4,1,1,1,2,1,1,1,1,1,1,4 ,1,1,1,4,1,4} },
// 4.12: Derived Fcst based on whole Ensemble at Horiz Level/L ayer // 4.12: Derived Fcst based on whole Ensemble at Horiz Level/L ayer
// in a time interval // in a time interval
{12,31,1, {1,1,1,1,1,2,1,1,4,1,-1,-4,1,-1,-4,1,1,2,1,1,1,1,1,1,4,1 ,1,1,4,1,4} }, {12,31,1, {1,1,1,1,1,2,1,1,4,1,-1,-4,1,-1,-4,1,1,2,1,1,1,1,1,1,4,1 ,1,1,4,1,4} },
// 4.13: Derived Fcst based on Ensemble cluster over rectangul ar // 4.13: Derived Fcst based on Ensemble cluster over rectangul ar
// area at Horiz Level/Layer in a time interval // area at Horiz Level/Layer in a time interval
{13,45,1, {1,1,1,1,1,2,1,1,4,1,-1,-4,1,-1,-4,1,1,1,1,1,1,1,-4,-4,4 ,4,1,-1,4,-1,4,2,1,1,1,1,1,1,4,1,1,1,4,1,4} }, {13,45,1, {1,1,1,1,1,2,1,1,4,1,-1,-4,1,-1,-4,1,1,1,1,1,1,1,-4,-4,4 ,4,1,-1,4,-1,4,2,1,1,1,1,1,1,4,1,1,1,4,1,4} },
// 4.14: Derived Fcst based on Ensemble cluster over circular // 4.14: Derived Fcst based on Ensemble cluster over circular
// area at Horiz Level/Layer in a time interval // area at Horiz Level/Layer in a time interval
{14,44,1, {1,1,1,1,1,2,1,1,4,1,-1,-4,1,-1,-4,1,1,1,1,1,1,1,-4,4,4, 1,-1,4,-1,4,2,1,1,1,1,1,1,4,1,1,1,4,1,4} }, {14,44,1, {1,1,1,1,1,2,1,1,4,1,-1,-4,1,-1,-4,1,1,1,1,1,1,1,-4,4,4, 1,-1,4,-1,4,2,1,1,1,1,1,1,4,1,1,1,4,1,4} },
// 4.15: Ave/Accum/Extreme... at Horiz Level/Layer // 4.15: Average, accumulation, extreme values or other statis
// at a point in time tically-processed values over a
// spatial area at a horizontal level or in a horizontal layer
at a point in time
{15,18,0, {1,1,1,1,1,2,1,1,4,1,-1,-4,1,-1,-4,1,1,1} }, {15,18,0, {1,1,1,1,1,2,1,1,4,1,-1,-4,1,-1,-4,1,1,1} },
// 4.20: Radar Product // 4.20: Radar Product
{20,19,0, {1,1,1,1,1,-4,4,2,4,2,1,1,1,1,1,2,1,3,2} }, {20,19,0, {1,1,1,1,1,-4,4,2,4,2,1,1,1,1,1,2,1,3,2} },
// 4.30: Satellite Product // 4.30: Satellite Product
{30,5,1, {1,1,1,1,1} }, {30,5,1, {1,1,1,1,1} },
// 4.31: Satellite Product // 4.31: Satellite Product
{31,5,1, {1,1,1,1,1} }, {31,5,1, {1,1,1,1,1} },
// 4.40: Analysis or forecast at a horizontal level or in a ho
rizontal layer
// at a point in time for atmospheric chemical constituents
{40,16,0, {1,1,2,1,1,1,2,1,1,4,1,-1,-4,1,-1,-4} },
// 4.41: Individual ensemble forecast, control and perturbed,
at a horizontal level or
// in a horizontal layer at a point in time for atmospheric ch
emical constituents
{41,19,0, {1,1,2,1,1,1,2,1,1,4,1,-1,-4,1,-1,-4,1,1,1} },
// 4.42: Average, accumulation, and/or extreme values or other
statistically-processed values
// at a horizontal level or in a horizontal layer in a continu
ous or non-continuous
// time interval for atmospheric chemical constituents
{42,24,1, {1,1,2,1,1,1,2,1,1,4,1,-1,-4,1,-1,-4,2,1,1,1,1,1,1,4} },
// 4.43: 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
{43,27,1, {1,1,2,1,1,1,2,1,1,4,1,-1,-4,1,-1,-4,1,1,1,2,1,1,1,1,1,1
,4} },
// 4.254: CCITT IA5 Character String // 4.254: CCITT IA5 Character String
{254,3,0, {1,1,4} }, {254,3,0, {1,1,4} },
// 4.1000: Cross section of analysis or forecast // 4.1000: Cross section of analysis or forecast
// at a point in time // at a point in time
{1000,9,0, {1,1,1,1,1,2,1,1,4} }, {1000,9,0, {1,1,1,1,1,2,1,1,4} },
// 4.1001: Cross section of Ave/Accum/etc... analysis or forec ast // 4.1001: Cross section of Ave/Accum/etc... analysis or forec ast
// in a time interval // in a time interval
{1001,16,0, {1,1,1,1,1,2,1,1,4,4,1,1,1,4,1,4} }, {1001,16,0, {1,1,1,1,1,2,1,1,4,4,1,1,1,4,1,4} },
// 4.1001: Cross section of Ave/Accum/etc... analysis or forec ast // 4.1001: Cross section of Ave/Accum/etc... analysis or forec ast
// over latitude or longitude // over latitude or longitude
 End of changes. 4 change blocks. 
3 lines changed or deleted 27 lines changed or added

This html diff was produced by rfcdiff 1.41. The latest version is available from http://tools.ietf.org/tools/rfcdiff/