| pdstemplates.h | | pdstemplates.h | |
| | | | |
| skipping to change at line 33 | | skipping to change at line 33 | |
| // contain negative values. This information is used later when packing | | // contain negative values. This information is used later when packing | |
| // (or unpacking) the template data values. Negative data values in GRIB | | // (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 | | // 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 | |
| | | // Added Product Definition Template 4.15 | |
| // | | // | |
| //$$$ | | //$$$ | |
| | | | |
|
| #define MAXPDSTEMP 23 // maximum number of templates | | #define MAXPDSTEMP 25 // 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 93 | | skipping to change at line 95 | |
| {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 | |
| | | // 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} }, | |
| // 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 | |
| | | {31,5,1, {1,1,1,1,1} }, | |
| // 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. |
| 1 lines changed or deleted | | 8 lines changed or added | |
|