加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
g2clib-templates.patch 31.83 KB
一键复制 编辑 原始数据 按行查看 历史
yangshaoxing 提交于 2021-02-03 14:34 . Log:g2clib init
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592
diff -up g2clib-1.6.0.p1/drstemplates.c g2clib-1.6.0.p12/drstemplates.c
--- g2clib-1.6.0.p1/drstemplates.c 2017-08-13 10:17:37.479288682 +0200
+++ g2clib-1.6.0.p12/drstemplates.c 2017-08-13 10:26:59.958196881 +0200
@@ -2,6 +2,29 @@
#include "grib2.h"
#include "drstemplates.h"
+const struct drstemplate templatesdrs[MAXDRSTEMP] = {
+ // 5.0: Grid point data - Simple Packing
+ { 0, 5, 0, {4,-2,-2,1,1} },
+ // 5.2: Grid point data - Complex Packing
+ { 2, 16, 0, {4,-2,-2,1,1,1,1,4,4,4,1,1,4,1,4,1} },
+ // 5.3: Grid point data - Complex Packing and spatial differencing
+ { 3, 18, 0, {4,-2,-2,1,1,1,1,4,4,4,1,1,4,1,4,1,1,1} },
+ // 5.50: Spectral Data - Simple Packing
+ { 50, 5, 0, {4,-2,-2,1,4} },
+ // 5.51: Spherical Harmonics data - Complex packing
+ { 51, 10, 0, {4,-2,-2,1,-4,2,2,2,4,1} },
+// // 5.1: Matrix values at gridpoint - Simple packing
+// { 1, 15, 1, {4,-2,-2,1,1,1,4,2,2,1,1,1,1,1,1} },
+ // 5.40: Grid point data - JPEG2000 encoding
+ { 40, 7, 0, {4,-2,-2,1,1,1,1} },
+ // 5.41: Grid point data - PNG encoding
+ { 41, 5, 0, {4,-2,-2,1,1} },
+ // 5.40000: Grid point data - JPEG2000 encoding
+ { 40000, 7, 0, {4,-2,-2,1,1,1,1} },
+ // 5.40010: Grid point data - PNG encoding
+ { 40010, 5, 0, {4,-2,-2,1,1} }
+} ;
+
g2int getdrsindex(g2int number)
/*!$$$ SUBPROGRAM DOCUMENTATION BLOCK
! . . . .
diff -up g2clib-1.6.0.p1/drstemplates.h g2clib-1.6.0.p12/drstemplates.h
--- g2clib-1.6.0.p1/drstemplates.h 2017-08-13 10:17:37.479288682 +0200
+++ g2clib-1.6.0.p12/drstemplates.h 2017-08-13 10:26:38.492728755 +0200
@@ -42,28 +42,8 @@
g2int mapdrs[MAXDRSMAPLEN];
};
- const struct drstemplate templatesdrs[MAXDRSTEMP] = {
- // 5.0: Grid point data - Simple Packing
- { 0, 5, 0, {4,-2,-2,1,1} },
- // 5.2: Grid point data - Complex Packing
- { 2, 16, 0, {4,-2,-2,1,1,1,1,4,4,4,1,1,4,1,4,1} },
- // 5.3: Grid point data - Complex Packing and spatial differencing
- { 3, 18, 0, {4,-2,-2,1,1,1,1,4,4,4,1,1,4,1,4,1,1,1} },
- // 5.50: Spectral Data - Simple Packing
- { 50, 5, 0, {4,-2,-2,1,4} },
- // 5.51: Spherical Harmonics data - Complex packing
- { 51, 10, 0, {4,-2,-2,1,-4,2,2,2,4,1} },
-// // 5.1: Matrix values at gridpoint - Simple packing
-// { 1, 15, 1, {4,-2,-2,1,1,1,4,2,2,1,1,1,1,1,1} },
- // 5.40: Grid point data - JPEG2000 encoding
- { 40, 7, 0, {4,-2,-2,1,1,1,1} },
- // 5.41: Grid point data - PNG encoding
- { 41, 5, 0, {4,-2,-2,1,1} },
- // 5.40000: Grid point data - JPEG2000 encoding
- { 40000, 7, 0, {4,-2,-2,1,1,1,1} },
- // 5.40010: Grid point data - PNG encoding
- { 40010, 5, 0, {4,-2,-2,1,1} }
- } ;
+ extern const struct drstemplate templatesdrs[];
+ g2int getdrsindex(g2int number);
#endif /* _drstemplates_H */
Binary files g2clib-1.6.0.p1/grib2c.doc.gz and g2clib-1.6.0.p12/grib2c.doc.gz differ
diff -up g2clib-1.6.0.p1/gridtemplates.c g2clib-1.6.0.p12/gridtemplates.c
--- g2clib-1.6.0.p1/gridtemplates.c 2017-08-13 10:17:37.481288632 +0200
+++ g2clib-1.6.0.p12/gridtemplates.c 2017-08-13 10:41:53.079066944 +0200
@@ -2,6 +2,75 @@
#include "grib2.h"
#include "gridtemplates.h"
+const struct gridtemplate templatesgrid[MAXGRIDTEMP] = {
+ // 3.0: Lat/Lon grid
+ { 0, 19, 0, {1,1,4,1,4,1,4,4,4,4,4,-4,4,1,-4,4,4,4,1} },
+ // 3.1: Rotated Lat/Lon grid
+ { 1, 22, 0, {1,1,4,1,4,1,4,4,4,4,4,-4,4,1,-4,4,4,4,1,-4,4,4} },
+ // 3.2: Stretched Lat/Lon grid
+ { 2, 22, 0, {1,1,4,1,4,1,4,4,4,4,4,-4,4,1,-4,4,4,4,1,-4,4,-4} },
+ // 3.3: Stretched & Rotated Lat/Lon grid
+ { 3, 25, 0, {1,1,4,1,4,1,4,4,4,4,4,-4,4,1,-4,4,4,4,1,-4,4,4,-4,4,-4} },
+// Added GDT 3.4,3.5 (08/05/2013)
+ // 3.4: Variable resolution Latitude/Longitude
+ { 4, 13, 1, {1,1,4,1,4,1,4,4,4,4,4,1,1} },
+ // 3.5: Variable resolution rotate Latitude/Longitude
+ { 5, 16, 1, {1,1,4,1,4,1,4,4,4,4,4,1,1,-4,4,4} },
+ // 3.12: Transverse Mercator
+ {12, 22, 0, {1,1,4,1,4,1,4,4,4,-4,4,1,-4,4,4,1,4,4,-4,-4,-4,-4} },
+ // 3.101: General unstructured grid
+ {101, 4, 0, {1,4,1,-4} },
+ // 3.140: Lambert Azimuthal Equal Area Projection
+ {140, 17, 0, {1,1,4,1,4,1,4,4,4,-4,4,4,4,1,4,4,1} },
+//
+ // 3.10: Mercator
+ {10, 19, 0, {1,1,4,1,4,1,4,4,4,-4,4,1,-4,-4,4,1,4,4,4} },
+ // 3.20: Polar Stereographic Projection
+ {20, 18, 0, {1,1,4,1,4,1,4,4,4,-4,4,1,-4,4,4,4,1,1} },
+ // 3.30: Lambert Conformal
+ {30, 22, 0, {1,1,4,1,4,1,4,4,4,-4,4,1,-4,4,4,4,1,1,-4,-4,-4,4} },
+ // 3.31: Albers equal area
+ {31, 22, 0, {1,1,4,1,4,1,4,4,4,-4,4,1,-4,4,4,4,1,1,-4,-4,-4,4} },
+ // 3.40: Guassian Lat/Lon
+ {40, 19, 0, {1,1,4,1,4,1,4,4,4,4,4,-4,4,1,-4,4,4,4,1} },
+ // 3.41: Rotated Gaussian Lat/Lon
+ {41, 22, 0, {1,1,4,1,4,1,4,4,4,4,4,-4,4,1,-4,4,4,4,1,-4,4,4} },
+ // 3.42: Stretched Gaussian Lat/Lon
+ {42, 22, 0, {1,1,4,1,4,1,4,4,4,4,4,-4,4,1,-4,4,4,4,1,-4,4,-4} },
+ // 3.43: Stretched and Rotated Gaussian Lat/Lon
+ {43, 25, 0, {1,1,4,1,4,1,4,4,4,4,4,-4,4,1,-4,4,4,4,1,-4,4,4,-4,4,-4} },
+ // 3.50: Spherical Harmonic Coefficients
+ {50, 5, 0, {4,4,4,1,1} },
+ // 3.51: Rotated Spherical Harmonic Coefficients
+ {51, 8, 0, {4,4,4,1,1,-4,4,4} },
+ // 3.52: Stretched Spherical Harmonic Coefficients
+ {52, 8, 0, {4,4,4,1,1,-4,4,-4} },
+ // 3.53: Stretched and Rotated Spherical Harmonic Coefficients
+ {53, 11, 0, {4,4,4,1,1,-4,4,4,-4,4,-4} },
+ // 3.90: Space View Perspective or orthographic
+ {90, 21, 0, {1,1,4,1,4,1,4,4,4,-4,4,1,4,4,4,4,1,4,4,4,4} },
+ // 3.100: Triangular grid based on an icosahedron
+ {100, 11, 0, {1,1,2,1,-4,4,4,1,1,1,4} },
+ // 3.110: Equatorial Azimuthal equidistant
+ {110, 16, 0, {1,1,4,1,4,1,4,4,4,-4,4,1,4,4,1,1} },
+ // 3.120: Azimuth-range projection
+ {120, 7, 1, {4,4,-4,4,4,4,1} },
+ // 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} },
+ // 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} },
+ // 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
+ {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
+ {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
+ {1200, 16, 1, {4,1,-4,1,1,-4,2,1,1,1,1,1,2,1,1,2} }
+
+} ;
+
+
g2int getgridindex(g2int number)
/*!$$$ SUBPROGRAM DOCUMENTATION BLOCK
! . . . .
diff -up g2clib-1.6.0.p1/gridtemplates.h g2clib-1.6.0.p12/gridtemplates.h
--- g2clib-1.6.0.p1/gridtemplates.h 2017-08-13 10:17:37.481288632 +0200
+++ g2clib-1.6.0.p12/gridtemplates.h 2017-08-13 10:30:23.584151390 +0200
@@ -49,73 +49,8 @@
g2int mapgrid[MAXGRIDMAPLEN];
};
- const struct gridtemplate templatesgrid[MAXGRIDTEMP] = {
- // 3.0: Lat/Lon grid
- { 0, 19, 0, {1,1,4,1,4,1,4,4,4,4,4,-4,4,1,-4,4,4,4,1} },
- // 3.1: Rotated Lat/Lon grid
- { 1, 22, 0, {1,1,4,1,4,1,4,4,4,4,4,-4,4,1,-4,4,4,4,1,-4,4,4} },
- // 3.2: Stretched Lat/Lon grid
- { 2, 22, 0, {1,1,4,1,4,1,4,4,4,4,4,-4,4,1,-4,4,4,4,1,-4,4,-4} },
- // 3.3: Stretched & Rotated Lat/Lon grid
- { 3, 25, 0, {1,1,4,1,4,1,4,4,4,4,4,-4,4,1,-4,4,4,4,1,-4,4,4,-4,4,-4} },
-// Added GDT 3.4,3.5 (08/05/2013)
- // 3.4: Variable resolution Latitude/Longitude
- { 4, 13, 1, {1,1,4,1,4,1,4,4,4,4,4,1,1} },
- // 3.5: Variable resolution rotate Latitude/Longitude
- { 5, 16, 1, {1,1,4,1,4,1,4,4,4,4,4,1,1,-4,4,4} },
- // 3.12: Transverse Mercator
- {12, 22, 0, {1,1,4,1,4,1,4,4,4,-4,4,1,-4,4,4,1,4,4,-4,-4,-4,-4} },
- // 3.101: General unstructured grid
- {101, 4, 0, {1,4,1,-4} },
- // 3.140: Lambert Azimuthal Equal Area Projection
- {140, 17, 0, {1,1,4,1,4,1,4,4,4,-4,4,4,4,1,4,4,1} },
-//
- // 3.10: Mercator
- {10, 19, 0, {1,1,4,1,4,1,4,4,4,-4,4,1,-4,-4,4,1,4,4,4} },
- // 3.20: Polar Stereographic Projection
- {20, 18, 0, {1,1,4,1,4,1,4,4,4,-4,4,1,-4,4,4,4,1,1} },
- // 3.30: Lambert Conformal
- {30, 22, 0, {1,1,4,1,4,1,4,4,4,-4,4,1,-4,4,4,4,1,1,-4,-4,-4,4} },
- // 3.31: Albers equal area
- {31, 22, 0, {1,1,4,1,4,1,4,4,4,-4,4,1,-4,4,4,4,1,1,-4,-4,-4,4} },
- // 3.40: Guassian Lat/Lon
- {40, 19, 0, {1,1,4,1,4,1,4,4,4,4,4,-4,4,1,-4,4,4,4,1} },
- // 3.41: Rotated Gaussian Lat/Lon
- {41, 22, 0, {1,1,4,1,4,1,4,4,4,4,4,-4,4,1,-4,4,4,4,1,-4,4,4} },
- // 3.42: Stretched Gaussian Lat/Lon
- {42, 22, 0, {1,1,4,1,4,1,4,4,4,4,4,-4,4,1,-4,4,4,4,1,-4,4,-4} },
- // 3.43: Stretched and Rotated Gaussian Lat/Lon
- {43, 25, 0, {1,1,4,1,4,1,4,4,4,4,4,-4,4,1,-4,4,4,4,1,-4,4,4,-4,4,-4} },
- // 3.50: Spherical Harmonic Coefficients
- {50, 5, 0, {4,4,4,1,1} },
- // 3.51: Rotated Spherical Harmonic Coefficients
- {51, 8, 0, {4,4,4,1,1,-4,4,4} },
- // 3.52: Stretched Spherical Harmonic Coefficients
- {52, 8, 0, {4,4,4,1,1,-4,4,-4} },
- // 3.53: Stretched and Rotated Spherical Harmonic Coefficients
- {53, 11, 0, {4,4,4,1,1,-4,4,4,-4,4,-4} },
- // 3.90: Space View Perspective or orthographic
- {90, 21, 0, {1,1,4,1,4,1,4,4,4,-4,4,1,4,4,4,4,1,4,4,4,4} },
- // 3.100: Triangular grid based on an icosahedron
- {100, 11, 0, {1,1,2,1,-4,4,4,1,1,1,4} },
- // 3.110: Equatorial Azimuthal equidistant
- {110, 16, 0, {1,1,4,1,4,1,4,4,4,-4,4,1,4,4,1,1} },
- // 3.120: Azimuth-range projection
- {120, 7, 1, {4,4,-4,4,4,4,1} },
- // 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} },
- // 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} },
- // 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
- {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
- {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
- {1200, 16, 1, {4,1,-4,1,1,-4,2,1,1,1,1,1,2,1,1,2} }
-
- } ;
+ extern const struct gridtemplate templatesgrid[];
+ g2int getgridindex(g2int number);
#endif /* _gridtemplates_H */
diff -up g2clib-1.6.0.p1/pdstemplates.c g2clib-1.6.0.p12/pdstemplates.c
--- g2clib-1.6.0.p1/pdstemplates.c 2017-08-13 10:17:37.482288608 +0200
+++ g2clib-1.6.0.p12/pdstemplates.c 2017-08-13 10:47:53.643134973 +0200
@@ -2,6 +2,179 @@
#include "grib2.h"
#include "pdstemplates.h"
+const struct pdstemplate templatespds[MAXPDSTEMP] = {
+ // 4.0: Analysis or Forecast at Horizontal Level/Layer
+ // at a point in time
+ {0,15,0, {1,1,1,1,1,2,1,1,-4,1,-1,-4,1,-1,-4} },
+ // 4.1: Individual Ensemble Forecast at Horizontal Level/Layer
+ // at a point in time
+ {1,18,0, {1,1,1,1,1,2,1,1,-4,1,-1,-4,1,-1,-4,1,1,1} },
+ // 4.2: Derived Fcst based on whole Ensemble at Horiz Level/Layer
+ // at a point in time
+ {2,17,0, {1,1,1,1,1,2,1,1,-4,1,-1,-4,1,-1,-4,1,1} },
+ // 4.3: Derived Fcst based on Ensemble cluster over rectangular
+ // area at Horiz Level/Layer at a point in time
+ {3,31,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} },
+ // 4.4: Derived Fcst based on Ensemble cluster over circular
+ // area at Horiz Level/Layer at a point in time
+ {4,30,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} },
+ // 4.5: Probablility Forecast at Horiz Level/Layer
+ // at a point in time
+ {5,22,0, {1,1,1,1,1,2,1,1,-4,1,-1,-4,1,-1,-4,1,1,1,-1,-4,-1,-4} },
+ // 4.6: Percentile Forecast at Horiz Level/Layer
+ // at a point in time
+ {6,16,0, {1,1,1,1,1,2,1,1,-4,1,-1,-4,1,-1,-4,1} },
+ // 4.7: Analysis or Forecast Error at Horizontal Level/Layer
+ // at a point in time
+ {7,15,0, {1,1,1,1,1,2,1,1,-4,1,-1,-4,1,-1,-4} },
+ // 4.8: Ave/Accum/etc... at Horiz Level/Layer
+ // in a time interval
+ {8,29,1, {1,1,1,1,1,2,1,1,-4,1,-1,-4,1,-1,-4,2,1,1,1,1,1,1,4,1,1,1,4,1,4} },
+ // 4.9: Probablility Forecast at Horiz Level/Layer
+ // in a time interval
+ {9,36,1, {1,1,1,1,1,2,1,1,-4,1,-1,-4,1,-1,-4,1,1,1,-1,-4,-1,-4,2,1,1,1,1,1,1,4,1,1,1,4,1,4} },
+ // 4.10: Percentile Forecast at Horiz Level/Layer
+ // in a time interval
+ {10,30,1, {1,1,1,1,1,2,1,1,-4,1,-1,-4,1,-1,-4,1,2,1,1,1,1,1,1,4,1,1,1,4,1,4} },
+ // 4.11: Individual Ensemble Forecast at Horizontal Level/Layer
+ // in a time interval
+ {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/Layer
+ // 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} },
+ // 4.13: Derived Fcst based on Ensemble cluster over rectangular
+ // 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} },
+ // 4.14: Derived Fcst based on Ensemble cluster over circular
+ // 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} },
+ // 4.15: Average, accumulation, extreme values or other statistically-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} },
+ // 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} },
+ // 4.30: Satellite Product
+ {30,5,1, {1,1,1,1,1} },
+ // 4.31: Satellite Product
+ {31,5,1, {1,1,1,1,1} },
+ // 4.40: Analysis or forecast at a horizontal level or in a horizontal 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 chemical 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 continuous or non-continuous
+ // time interval for atmospheric chemical constituents
+ {42,30,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,1,1,1,4,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,33,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,1,1,1,4,1,4} },
+ // 4.254: CCITT IA5 Character String
+ {254,3,0, {1,1,4} },
+ // 4.1000: Cross section of analysis or forecast
+ // at a point in time
+ {1000,9,0, {1,1,1,1,1,2,1,1,-4} },
+ // 4.1001: Cross section of Ave/Accum/etc... analysis or forecast
+ // in a time interval
+ {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 forecast
+ // over latitude or longitude
+ {1002,15,0, {1,1,1,1,1,2,1,1,-4,1,1,1,4,4,2} },
+ // 4.1100: Hovmoller-type grid w/ no averaging or other
+ // statistical processing
+ {1100,15,0, {1,1,1,1,1,2,1,1,-4,1,-1,-4,1,-1,-4} },
+ // 4.1100: Hovmoller-type grid with averaging or other
+ // statistical processing
+ {1101,22,0, {1,1,1,1,1,2,1,1,-4,1,-1,-4,1,-1,-4,4,1,1,1,4,1,4} },
+ // 4.32:Simulate (synthetic) Satellite Product
+ {32,10,1, {1,1,1,1,1,2,1,1,-2,1} },
+ // 4.44: Analysis or forecast at a horizontal level or in a horizontal layer
+ // at a point in time for Aerosol
+ {44,21,0, {1,1,2,1,-1,-4,-1,-4,1,1,1,2,1,1,-2,1,-1,-4,1,-1,-4} },
+ // 4.45: Individual ensemble forecast, control and
+ // perturbed, at a horizontal level or in a horizontal layer
+ // at a point in time for Aerosol
+ {45,24,0, {1,1,2,1,-1,-4,-1,-4,1,1,1,2,1,1,-4,1,-1,-4,1,-1,-4,1,1,1} },
+ // 4.46: Ave or Accum or Extreme value at level/layer
+ // at horizontal level or in a horizontal in a continuous or
+ // non-continuous time interval for Aerosol
+ {46,35,1, {1,1,2,1,-1,-4,-1,-4,1,1,1,2,1,1,-4,1,-1,-4,1,-1,-4,2,1,1,1,1,1,1,4,1,1,1,4,1,4} },
+ // 4.47: Individual ensemble forecast, control and
+ // perturbed, at horizontal level or in a horizontal
+ // in a continuous or non-continuous time interval for Aerosol
+ {47,38,1, {1,1,1,2,1,-1,-4,-1,-4,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} },
+
+ // PDT 4.48
+ // 4.48: Analysis or forecast at a horizontal level or in a horizontal layer
+ // at a point in time for Optical Properties of Aerosol
+ {48,26,0, {1,1,2,1,-1,-4,-1,-4,1,-1,-4,-1,-4,1,1,1,2,1,1,-4,1,-1,-4,1,-1,-4} },
+
+ // VALIDATION --- PDT 4.50
+ // 4.50: Analysis or forecast of multi component parameter or
+ // matrix element at a point in time
+ {50,21,0, {1,1,1,1,1,2,1,1,-4,1,-1,-4,1,-1,-4,1,1,4,4,4,4} },
+
+ // VALIDATION --- PDT 4.52
+ // 4.52: Analysis or forecast of Wave parameters
+ // at the Sea surface at a point in time
+ {52,15,0, {1,1,1,1,1,1,1,1,2,1,1,-4,1,-1,-4} },
+
+ // 4.51: Categorical forecasts at a horizontal level or
+ // in a horizontal layer at a point in time
+ {51,16,1, {1,1,1,1,1,2,1,1,-4,1,-1,-4,1,-1,-4,1} },
+
+ // 4.91: Categorical forecasts at a horizontal level or
+ // in a horizontal layer at a point in time
+ // in a continuous or non-continuous time interval
+ {91,36,1, {1,1,1,1,1,2,1,1,-4,1,-1,-4,1,-1,-4,1,1,1,-1,-4,-1,-4,2,1,1,1,1,1,1,4,1,1,1,4,1,4} },
+// PDT 4.33 (07/29/2013)
+ // 4.33: Individual ensemble forecast, control, perturbed,
+ // at a horizontal level or in a horizontal layer
+ // at a point in time for simulated (synthetic) Satellite data
+ {33,18,1, {1,1,1,1,1,2,1,1,-4,1,2,2,2,-1,-4,1,1,1} },
+// PDT 4.34 (07/29/2013)
+ // 4.34: Individual ensemble forecast, control, perturbed,
+ // at a horizontal level or in a horizontal layer,in a continuous or
+ // non-continuous interval for simulated (synthetic) Satellite data
+ {34,32,1, {1,1,1,1,1,2,1,1,-4,1,2,2,2,-1,-4,1,1,1,2,1,1,1,1,1,1,4,1,1,1,4,1,4} },
+// PDT 4.53 (07/29/2013)
+ // 4.53: Partitioned parameters at
+ // horizontal level or horizontal layer
+ // at a point in time
+ {53,19,1, {1,1,1,1,4,2,1,1,1,2,1,1,-4,1,-1,-4,1,-1,-4} },
+// PDT 4.54 (07/29/2013)
+ // 4.54: Individual ensemble forecast, control, perturbed,
+ // at a horizontal level or in a horizontal layer
+ // at a point in time for partitioned parameters
+ {54,22,1, {1,1,1,1,4,2,1,1,1,2,1,1,-4,1,-1,-4,1,-1,-4,1,1,1} },
+// PDT 4.57 (10/07/2015)
+ // 4.57: Analysis or Forecast at a horizontal or in a
+ // horizontal layer at a point in time for
+ // atmospheric chemical constituents based on
+ // a distribution function
+ {57,7,1, {1,1,2,2,2,2,1} },
+// PDT 4.60 (10/07/2015)
+ // 4.60: Individual ensemble reforecast, control and perturbed,
+ // at a horizontal level or in a horizontal layer
+ // at a point in time
+ {60,24,0, {1,1,1,1,1,2,1,1,-4,1,-1,-4,1,-1,-4,1,1,1,2,1,1,1,1,1} },
+// PDT 4.61 (10/07/2015)
+ // 4.61: Individual ensemble reforecast, control and perturbed,
+ // at a horizontal level or in a horizontal layer
+ // in a continuous or non-continuous time interval
+ {61,38,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,2,1,1,1,1,1,1,4,1,1,1,4,1,4} },
+// VALIDATION --- PDT 4.35
+// PDT 4.35 (10/07/2015)
+ // 4.35: Individual ensemble reforecast, control and perturbed,
+ // at a horizontal level or in a horizontal layer
+ // in a continuous or non-continuous time interval
+ {35,6,1, {1,1,1,1,1,1} }
+
+} ;
+
+
g2int getpdsindex(g2int number)
///$$$ SUBPROGRAM DOCUMENTATION BLOCK
// . . . .
diff -up g2clib-1.6.0.p1/pdstemplates.h g2clib-1.6.0.p12/pdstemplates.h
--- g2clib-1.6.0.p1/pdstemplates.h 2017-08-13 10:17:37.483288583 +0200
+++ g2clib-1.6.0.p12/pdstemplates.h 2017-08-13 10:36:42.046773771 +0200
@@ -54,176 +54,8 @@
g2int mappds[MAXPDSMAPLEN];
};
- const struct pdstemplate templatespds[MAXPDSTEMP] = {
- // 4.0: Analysis or Forecast at Horizontal Level/Layer
- // at a point in time
- {0,15,0, {1,1,1,1,1,2,1,1,-4,1,-1,-4,1,-1,-4} },
- // 4.1: Individual Ensemble Forecast at Horizontal Level/Layer
- // at a point in time
- {1,18,0, {1,1,1,1,1,2,1,1,-4,1,-1,-4,1,-1,-4,1,1,1} },
- // 4.2: Derived Fcst based on whole Ensemble at Horiz Level/Layer
- // at a point in time
- {2,17,0, {1,1,1,1,1,2,1,1,-4,1,-1,-4,1,-1,-4,1,1} },
- // 4.3: Derived Fcst based on Ensemble cluster over rectangular
- // area at Horiz Level/Layer at a point in time
- {3,31,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} },
- // 4.4: Derived Fcst based on Ensemble cluster over circular
- // area at Horiz Level/Layer at a point in time
- {4,30,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} },
- // 4.5: Probablility Forecast at Horiz Level/Layer
- // at a point in time
- {5,22,0, {1,1,1,1,1,2,1,1,-4,1,-1,-4,1,-1,-4,1,1,1,-1,-4,-1,-4} },
- // 4.6: Percentile Forecast at Horiz Level/Layer
- // at a point in time
- {6,16,0, {1,1,1,1,1,2,1,1,-4,1,-1,-4,1,-1,-4,1} },
- // 4.7: Analysis or Forecast Error at Horizontal Level/Layer
- // at a point in time
- {7,15,0, {1,1,1,1,1,2,1,1,-4,1,-1,-4,1,-1,-4} },
- // 4.8: Ave/Accum/etc... at Horiz Level/Layer
- // in a time interval
- {8,29,1, {1,1,1,1,1,2,1,1,-4,1,-1,-4,1,-1,-4,2,1,1,1,1,1,1,4,1,1,1,4,1,4} },
- // 4.9: Probablility Forecast at Horiz Level/Layer
- // in a time interval
- {9,36,1, {1,1,1,1,1,2,1,1,-4,1,-1,-4,1,-1,-4,1,1,1,-1,-4,-1,-4,2,1,1,1,1,1,1,4,1,1,1,4,1,4} },
- // 4.10: Percentile Forecast at Horiz Level/Layer
- // in a time interval
- {10,30,1, {1,1,1,1,1,2,1,1,-4,1,-1,-4,1,-1,-4,1,2,1,1,1,1,1,1,4,1,1,1,4,1,4} },
- // 4.11: Individual Ensemble Forecast at Horizontal Level/Layer
- // in a time interval
- {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/Layer
- // 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} },
- // 4.13: Derived Fcst based on Ensemble cluster over rectangular
- // 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} },
- // 4.14: Derived Fcst based on Ensemble cluster over circular
- // 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} },
- // 4.15: Average, accumulation, extreme values or other statistically-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} },
- // 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} },
- // 4.30: Satellite Product
- {30,5,1, {1,1,1,1,1} },
- // 4.31: Satellite Product
- {31,5,1, {1,1,1,1,1} },
- // 4.40: Analysis or forecast at a horizontal level or in a horizontal 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 chemical 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 continuous or non-continuous
- // time interval for atmospheric chemical constituents
- {42,30,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,1,1,1,4,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,33,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,1,1,1,4,1,4} },
- // 4.254: CCITT IA5 Character String
- {254,3,0, {1,1,4} },
- // 4.1000: Cross section of analysis or forecast
- // at a point in time
- {1000,9,0, {1,1,1,1,1,2,1,1,-4} },
- // 4.1001: Cross section of Ave/Accum/etc... analysis or forecast
- // in a time interval
- {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 forecast
- // over latitude or longitude
- {1002,15,0, {1,1,1,1,1,2,1,1,-4,1,1,1,4,4,2} },
- // 4.1100: Hovmoller-type grid w/ no averaging or other
- // statistical processing
- {1100,15,0, {1,1,1,1,1,2,1,1,-4,1,-1,-4,1,-1,-4} },
- // 4.1100: Hovmoller-type grid with averaging or other
- // statistical processing
- {1101,22,0, {1,1,1,1,1,2,1,1,-4,1,-1,-4,1,-1,-4,4,1,1,1,4,1,4} },
- // 4.32:Simulate (synthetic) Satellite Product
- {32,10,1, {1,1,1,1,1,2,1,1,-2,1} },
- // 4.44: Analysis or forecast at a horizontal level or in a horizontal layer
- // at a point in time for Aerosol
- {44,21,0, {1,1,2,1,-1,-4,-1,-4,1,1,1,2,1,1,-2,1,-1,-4,1,-1,-4} },
- // 4.45: Individual ensemble forecast, control and
- // perturbed, at a horizontal level or in a horizontal layer
- // at a point in time for Aerosol
- {45,24,0, {1,1,2,1,-1,-4,-1,-4,1,1,1,2,1,1,-4,1,-1,-4,1,-1,-4,1,1,1} },
- // 4.46: Ave or Accum or Extreme value at level/layer
- // at horizontal level or in a horizontal in a continuous or
- // non-continuous time interval for Aerosol
- {46,35,1, {1,1,2,1,-1,-4,-1,-4,1,1,1,2,1,1,-4,1,-1,-4,1,-1,-4,2,1,1,1,1,1,1,4,1,1,1,4,1,4} },
- // 4.47: Individual ensemble forecast, control and
- // perturbed, at horizontal level or in a horizontal
- // in a continuous or non-continuous time interval for Aerosol
- {47,38,1, {1,1,1,2,1,-1,-4,-1,-4,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} },
-
- // PDT 4.48
- // 4.48: Analysis or forecast at a horizontal level or in a horizontal layer
- // at a point in time for Optical Properties of Aerosol
- {48,26,0, {1,1,2,1,-1,-4,-1,-4,1,-1,-4,-1,-4,1,1,1,2,1,1,-4,1,-1,-4,1,-1,-4} },
-
- // VALIDATION --- PDT 4.50
- // 4.50: Analysis or forecast of multi component parameter or
- // matrix element at a point in time
- {50,21,0, {1,1,1,1,1,2,1,1,-4,1,-1,-4,1,-1,-4,1,1,4,4,4,4} },
-
- // VALIDATION --- PDT 4.52
- // 4.52: Analysis or forecast of Wave parameters
- // at the Sea surface at a point in time
- {52,15,0, {1,1,1,1,1,1,1,1,2,1,1,-4,1,-1,-4} },
-
- // 4.51: Categorical forecasts at a horizontal level or
- // in a horizontal layer at a point in time
- {51,16,1, {1,1,1,1,1,2,1,1,-4,1,-1,-4,1,-1,-4,1} },
-
- // 4.91: Categorical forecasts at a horizontal level or
- // in a horizontal layer at a point in time
- // in a continuous or non-continuous time interval
- {91,36,1, {1,1,1,1,1,2,1,1,-4,1,-1,-4,1,-1,-4,1,1,1,-1,-4,-1,-4,2,1,1,1,1,1,1,4,1,1,1,4,1,4} },
-// PDT 4.33 (07/29/2013)
- // 4.33: Individual ensemble forecast, control, perturbed,
- // at a horizontal level or in a horizontal layer
- // at a point in time for simulated (synthetic) Satellite data
- {33,18,1, {1,1,1,1,1,2,1,1,-4,1,2,2,2,-1,-4,1,1,1} },
-// PDT 4.34 (07/29/2013)
- // 4.34: Individual ensemble forecast, control, perturbed,
- // at a horizontal level or in a horizontal layer,in a continuous or
- // non-continuous interval for simulated (synthetic) Satellite data
- {34,32,1, {1,1,1,1,1,2,1,1,-4,1,2,2,2,-1,-4,1,1,1,2,1,1,1,1,1,1,4,1,1,1,4,1,4} },
-// PDT 4.53 (07/29/2013)
- // 4.53: Partitioned parameters at
- // horizontal level or horizontal layer
- // at a point in time
- {53,19,1, {1,1,1,1,4,2,1,1,1,2,1,1,-4,1,-1,-4,1,-1,-4} },
-// PDT 4.54 (07/29/2013)
- // 4.54: Individual ensemble forecast, control, perturbed,
- // at a horizontal level or in a horizontal layer
- // at a point in time for partitioned parameters
- {54,22,1, {1,1,1,1,4,2,1,1,1,2,1,1,-4,1,-1,-4,1,-1,-4,1,1,1} },
-// PDT 4.57 (10/07/2015)
- // 4.57: Analysis or Forecast at a horizontal or in a
- // horizontal layer at a point in time for
- // atmospheric chemical constituents based on
- // a distribution function
- {57,7,1, {1,1,2,2,2,2,1} },
-// PDT 4.60 (10/07/2015)
- // 4.60: Individual ensemble reforecast, control and perturbed,
- // at a horizontal level or in a horizontal layer
- // at a point in time
- {60,24,0, {1,1,1,1,1,2,1,1,-4,1,-1,-4,1,-1,-4,1,1,1,2,1,1,1,1,1} },
-// PDT 4.61 (10/07/2015)
- // 4.61: Individual ensemble reforecast, control and perturbed,
- // at a horizontal level or in a horizontal layer
- // in a continuous or non-continuous time interval
- {61,38,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,2,1,1,1,1,1,1,4,1,1,1,4,1,4} },
-// VALIDATION --- PDT 4.35
-// PDT 4.35 (10/07/2015)
- // 4.35: Individual ensemble reforecast, control and perturbed,
- // at a horizontal level or in a horizontal layer
- // in a continuous or non-continuous time interval
- {35,6,1, {1,1,1,1,1,1} }
-
- } ;
+ extern const struct pdstemplate templatespds[];
+
+ g2int getpdsindex(g2int number);
#endif /* _pdstemplates_H */
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化