gribapi.h 2.45 KB
Newer Older
Uwe Schulzweida's avatar
Uwe Schulzweida committed
1
2
3
#ifndef _GRIBAPI_H
#define _GRIBAPI_H

Uwe Schulzweida's avatar
Uwe Schulzweida committed
4
5
#define  GRIBAPI_MISSVAL  -9.E33

Uwe Schulzweida's avatar
Uwe Schulzweida committed
6
7
/* GRIB2 Level Types */
#define  GRIB2_LTYPE_SURFACE               1
8
9
10
#define  GRIB2_LTYPE_CLOUDBASE             2
#define  GRIB2_LTYPE_CLOUDTOP              3
#define  GRIB2_LTYPE_ISOTHERM0             4
11
#define  GRIB2_LTYPE_TOA                   8
12
13
#define  GRIB2_LTYPE_SEA_BOTTOM            9
#define  GRIB2_LTYPE_ATMOSPHERE           10
Uwe Schulzweida's avatar
Uwe Schulzweida committed
14
15
16
17
18
19
20
21
#define  GRIB2_LTYPE_ISOBARIC            100
#define  GRIB2_LTYPE_MEANSEA             101
#define  GRIB2_LTYPE_ALTITUDE            102
#define  GRIB2_LTYPE_HEIGHT              103
#define  GRIB2_LTYPE_SIGMA               104
#define  GRIB2_LTYPE_HYBRID              105
#define  GRIB2_LTYPE_LANDDEPTH           106
#define  GRIB2_LTYPE_ISENTROPIC          107
Uwe Schulzweida's avatar
Uwe Schulzweida committed
22
#define  GRIB2_LTYPE_REFERENCE           150
Uwe Schulzweida's avatar
Uwe Schulzweida committed
23
#define  GRIB2_LTYPE_SEADEPTH            160
Uwe Schulzweida's avatar
Uwe Schulzweida committed
24

Uwe Schulzweida's avatar
Uwe Schulzweida committed
25
26
27
28
29
30
31
32
33
34
35
36
37
/* GRIB2 Data representation type (Grid Type) */
#define  GRIB2_GTYPE_LATLON                0  /*  latitude/longitude                       */
#define  GRIB2_GTYPE_LATLON_ROT            1  /*  rotated latitude/longitude               */
#define  GRIB2_GTYPE_LATLON_STR            2  /*  stretched latitude/longitude             */
#define  GRIB2_GTYPE_LATLON_ROTSTR         3  /*  rotated and stretched latitude/longitude */
#define  GRIB2_GTYPE_GAUSSIAN             40  /*  gaussian grid                            */
#define  GRIB2_GTYPE_GAUSSIAN_ROT         41  /*  rotated gaussian grid                    */
#define  GRIB2_GTYPE_GAUSSIAN_STR         42  /*  stretched gaussian grid                  */
#define  GRIB2_GTYPE_GAUSSIAN_ROTSTR      43  /*  rotated and stretched gaussian grid      */
#define  GRIB2_GTYPE_LCC                  30  /*  Lambert conformal                        */
#define  GRIB2_GTYPE_SPECTRAL             50  /*  spherical harmonics                      */
#define  GRIB2_GTYPE_GME                 100  /*  hexagonal GME grid                       */
#define  GRIB2_GTYPE_NUMBER              101  /*  General Unstructured Grid                */
Uwe Schulzweida's avatar
Uwe Schulzweida committed
38

Uwe Schulzweida's avatar
Uwe Schulzweida committed
39
const char *gribapiLibraryVersion(void);
40
41
void gribContainersNew(stream_t * streamptr);
void gribContainersDelete(stream_t * streamptr);
42
void *gribHandleNew(int editionNumber);
43
void gribHandleDelete(void *gh);
Uwe Schulzweida's avatar
Uwe Schulzweida committed
44

Uwe Schulzweida's avatar
Uwe Schulzweida committed
45
46
47
48
49
50
typedef struct {
  int init;
  void *gribHandle;
}
gribContainer_t;

Uwe Schulzweida's avatar
Uwe Schulzweida committed
51
#endif  /* _GRIBAPI_H */
52
53
54
55
56
57
58
59
60
/*
 * Local Variables:
 * c-file-style: "Java"
 * c-basic-offset: 2
 * indent-tabs-mode: nil
 * show-trailing-whitespace: t
 * require-trailing-newline: t
 * End:
 */