NEP 2.7.0
NetCDF Extension Pack
Loading...
Searching...
No Matches
grib2dispatch.h
Go to the documentation of this file.
1
9#ifndef _GRIB2DISPATCH_H
10#define _GRIB2DISPATCH_H
11
12#include "config.h"
13#include "ncdispatch.h"
14#include "nep.h"
15
17#ifdef NC_FORMATX_UDF2
18#define NC_FORMATX_NC_GRIB2 NC_FORMATX_UDF2
19#else
20#define NC_FORMATX_NC_GRIB2 NC_FORMATX_UDF0
21#endif
22
24#define NC_MAX_GRIB2_MESSAGES 4096
25
27#define GRIB2_MAGIC_LEN 4
28
30#define NC_GRIB2_ABBREV_LEN 64
31
46
58
70
71#if defined(__cplusplus)
72extern "C" {
73#endif
74
75 extern int
76 NC_GRIB2_open(const char *path, int mode, int basepe, size_t *chunksizehintp,
77 void *parameters, const NC_Dispatch *, int);
78
79 extern int
80 NC_GRIB2_abort(int ncid);
81
82 extern int
83 NC_GRIB2_close(int ncid, void *ignore);
84
85 extern int
86 NC_GRIB2_inq_format(int ncid, int *formatp);
87
88 extern int
89 NC_GRIB2_inq_format_extended(int ncid, int *formatp, int *modep);
90
91 extern int
92 NC_GRIB2_get_vara(int ncid, int varid, const size_t *start, const size_t *count,
93 void *value, nc_type);
94
95 extern NC_Dispatch*
97
98 extern int
100
101#define GRIB2_INIT_OK() (NC_GRIB2_initialize() != NULL)
102#define GRIB2_INIT_AND_ASSIGN(ret) do { \
103 NC_Dispatch *_d = NC_GRIB2_initialize(); \
104 (ret) = (_d != NULL) ? NC_NOERR : NC_ENOTNC; \
105 } while(0)
106
107 extern const NC_Dispatch *GRIB2_dispatch_table;
108
109#if defined(__cplusplus)
110}
111#endif
112
113#endif /* _GRIB2DISPATCH_H */
int NC_GRIB2_get_vara(int ncid, int varid, const size_t *start, const size_t *count, void *value, nc_type)
Definition grib2file.c:620
int NC_GRIB2_inq_format_extended(int ncid, int *formatp, int *modep)
Definition grib2file.c:593
int NC_GRIB2_close(int ncid, void *ignore)
Definition grib2file.c:534
int NC_GRIB2_open(const char *path, int mode, int basepe, size_t *chunksizehintp, void *parameters, const NC_Dispatch *, int)
Definition grib2file.c:208
int NC_GRIB2_abort(int ncid)
Definition grib2file.c:518
struct NC_VAR_GRIB2_INFO NC_VAR_GRIB2_INFO_T
NC_Dispatch * NC_GRIB2_initialize(void)
Definition grib2dispatch.c:125
struct NC_GRIB2_PROD_INFO NC_GRIB2_PROD_INFO_T
int NC_GRIB2_finalize(void)
Definition grib2dispatch.c:138
#define NC_GRIB2_ABBREV_LEN
Definition grib2dispatch.h:30
const NC_Dispatch * GRIB2_dispatch_table
Definition grib2dispatch.c:116
struct NC_GRIB2_FILE_INFO NC_GRIB2_FILE_INFO_T
int NC_GRIB2_inq_format(int ncid, int *formatp)
Definition grib2file.c:574
NetCDF Extension Pack (NEP) - Public API.
Definition grib2dispatch.h:61
NC_GRIB2_PROD_INFO_T * products
Definition grib2dispatch.h:68
int num_products
Definition grib2dispatch.h:64
size_t num_x
Definition grib2dispatch.h:66
int num_messages
Definition grib2dispatch.h:63
size_t num_y
Definition grib2dispatch.h:65
char * path
Definition grib2dispatch.h:67
int g2cid
Definition grib2dispatch.h:62
Definition grib2dispatch.h:34
int category
Definition grib2dispatch.h:38
int prod_index
Definition grib2dispatch.h:36
unsigned char discipline
Definition grib2dispatch.h:37
size_t nx
Definition grib2dispatch.h:40
size_t bytes_to_msg
Definition grib2dispatch.h:42
size_t ny
Definition grib2dispatch.h:41
char abbrev[NC_GRIB2_ABBREV_LEN]
Definition grib2dispatch.h:44
size_t bytes_in_msg
Definition grib2dispatch.h:43
int param_number
Definition grib2dispatch.h:39
int msg_index
Definition grib2dispatch.h:35
Definition grib2dispatch.h:49
int discipline
Definition grib2dispatch.h:52
int msg_index
Definition grib2dispatch.h:50
size_t bytes_in_msg
Definition grib2dispatch.h:56
int param_number
Definition grib2dispatch.h:54
int prod_index
Definition grib2dispatch.h:51
int category
Definition grib2dispatch.h:53
size_t bytes_to_msg
Definition grib2dispatch.h:55