mirror of https://github.com/ecmwf/eccodes.git
ECC-320: Preparation. Rename dumper classes
This commit is contained in:
parent
0052b7b682
commit
05e352c534
|
@ -274,10 +274,10 @@ list( APPEND grib_api_srcs
|
||||||
grib_dumper_class_debug.c
|
grib_dumper_class_debug.c
|
||||||
grib_dumper_class_default.c
|
grib_dumper_class_default.c
|
||||||
grib_dumper_class_keys.c
|
grib_dumper_class_keys.c
|
||||||
grib_dumper_class_C.c
|
grib_dumper_class_bufr_encode_C.c
|
||||||
grib_dumper_class_filter.c
|
grib_dumper_class_bufr_encode_filter.c
|
||||||
grib_dumper_class_fortran.c
|
grib_dumper_class_bufr_encode_fortran.c
|
||||||
grib_dumper_class_python.c
|
grib_dumper_class_bufr_encode_python.c
|
||||||
grib_dumper_class_json.c
|
grib_dumper_class_json.c
|
||||||
grib_dumper_class_xml.c
|
grib_dumper_class_xml.c
|
||||||
grib_dumper_class_c_code.c
|
grib_dumper_class_c_code.c
|
||||||
|
|
|
@ -33,7 +33,7 @@ libeccodes_la_prototypes= \
|
||||||
action_class_trigger.c \
|
action_class_trigger.c \
|
||||||
action_class_when.c \
|
action_class_when.c \
|
||||||
action_class_concept.c \
|
action_class_concept.c \
|
||||||
action_class_hash_array.c \
|
action_class_hash_array.c \
|
||||||
action_class_set.c \
|
action_class_set.c \
|
||||||
action_class_set_darray.c \
|
action_class_set_darray.c \
|
||||||
action_class_set_iarray.c \
|
action_class_set_iarray.c \
|
||||||
|
@ -289,10 +289,10 @@ libeccodes_la_prototypes= \
|
||||||
grib_dumper_class_debug.c \
|
grib_dumper_class_debug.c \
|
||||||
grib_dumper_class_default.c \
|
grib_dumper_class_default.c \
|
||||||
grib_dumper_class_keys.c \
|
grib_dumper_class_keys.c \
|
||||||
grib_dumper_class_C.c \
|
grib_dumper_class_bufr_encode_C.c \
|
||||||
grib_dumper_class_filter.c \
|
grib_dumper_class_bufr_encode_filter.c \
|
||||||
grib_dumper_class_fortran.c \
|
grib_dumper_class_bufr_encode_fortran.c \
|
||||||
grib_dumper_class_python.c \
|
grib_dumper_class_bufr_encode_python.c \
|
||||||
grib_dumper_class_json.c \
|
grib_dumper_class_json.c \
|
||||||
grib_dumper_class_xml.c \
|
grib_dumper_class_xml.c \
|
||||||
grib_dumper_class_c_code.c \
|
grib_dumper_class_c_code.c \
|
||||||
|
|
|
@ -1,15 +1,15 @@
|
||||||
/* This file is automatically generated by ./make_class.pl, do not edit */
|
/* This file is automatically generated by ./make_class.pl, do not edit */
|
||||||
extern grib_dumper_class* grib_dumper_class_C;
|
extern grib_dumper_class* grib_dumper_class_bufr_encode_C;
|
||||||
extern grib_dumper_class* grib_dumper_class_c_code;
|
extern grib_dumper_class* grib_dumper_class_c_code;
|
||||||
extern grib_dumper_class* grib_dumper_class_compare;
|
extern grib_dumper_class* grib_dumper_class_compare;
|
||||||
extern grib_dumper_class* grib_dumper_class_debug;
|
extern grib_dumper_class* grib_dumper_class_debug;
|
||||||
extern grib_dumper_class* grib_dumper_class_default;
|
extern grib_dumper_class* grib_dumper_class_default;
|
||||||
extern grib_dumper_class* grib_dumper_class_file;
|
extern grib_dumper_class* grib_dumper_class_file;
|
||||||
extern grib_dumper_class* grib_dumper_class_filter;
|
extern grib_dumper_class* grib_dumper_class_bufr_encode_filter;
|
||||||
extern grib_dumper_class* grib_dumper_class_fortran;
|
extern grib_dumper_class* grib_dumper_class_bufr_encode_fortran;
|
||||||
extern grib_dumper_class* grib_dumper_class_json;
|
extern grib_dumper_class* grib_dumper_class_json;
|
||||||
extern grib_dumper_class* grib_dumper_class_keys;
|
extern grib_dumper_class* grib_dumper_class_keys;
|
||||||
extern grib_dumper_class* grib_dumper_class_python;
|
extern grib_dumper_class* grib_dumper_class_bufr_encode_python;
|
||||||
extern grib_dumper_class* grib_dumper_class_serialize;
|
extern grib_dumper_class* grib_dumper_class_serialize;
|
||||||
extern grib_dumper_class* grib_dumper_class_string;
|
extern grib_dumper_class* grib_dumper_class_string;
|
||||||
extern grib_dumper_class* grib_dumper_class_wmo;
|
extern grib_dumper_class* grib_dumper_class_wmo;
|
||||||
|
|
|
@ -57,7 +57,7 @@ static void dump_section (grib_dumper* d, grib_accessor* a,grib_block_of_acce
|
||||||
static void header (grib_dumper*,grib_handle*);
|
static void header (grib_dumper*,grib_handle*);
|
||||||
static void footer (grib_dumper*,grib_handle*);
|
static void footer (grib_dumper*,grib_handle*);
|
||||||
|
|
||||||
typedef struct grib_dumper_C {
|
typedef struct grib_dumper_bufr_encode_C {
|
||||||
grib_dumper dumper;
|
grib_dumper dumper;
|
||||||
/* Members defined in C */
|
/* Members defined in C */
|
||||||
long section_offset;
|
long section_offset;
|
||||||
|
@ -66,13 +66,13 @@ typedef struct grib_dumper_C {
|
||||||
long isLeaf;
|
long isLeaf;
|
||||||
long isAttribute;
|
long isAttribute;
|
||||||
grib_string_list* keys;
|
grib_string_list* keys;
|
||||||
} grib_dumper_C;
|
} grib_dumper_bufr_encode_C;
|
||||||
|
|
||||||
|
|
||||||
static grib_dumper_class _grib_dumper_class_C = {
|
static grib_dumper_class _grib_dumper_class_bufr_encode_C = {
|
||||||
0, /* super */
|
0, /* super */
|
||||||
"C", /* name */
|
"bufr_encode_C", /* name */
|
||||||
sizeof(grib_dumper_C), /* size */
|
sizeof(grib_dumper_bufr_encode_C), /* size */
|
||||||
0, /* inited */
|
0, /* inited */
|
||||||
&init_class, /* init_class */
|
&init_class, /* init_class */
|
||||||
&init, /* init */
|
&init, /* init */
|
||||||
|
@ -90,7 +90,7 @@ static grib_dumper_class _grib_dumper_class_C = {
|
||||||
&footer, /* footer */
|
&footer, /* footer */
|
||||||
};
|
};
|
||||||
|
|
||||||
grib_dumper_class* grib_dumper_class_C = &_grib_dumper_class_C;
|
grib_dumper_class* grib_dumper_class_bufr_encode_C = &_grib_dumper_class_bufr_encode_C;
|
||||||
|
|
||||||
/* END_CLASS_IMP */
|
/* END_CLASS_IMP */
|
||||||
static void dump_attributes(grib_dumper* d, grib_accessor* a, const char* prefix);
|
static void dump_attributes(grib_dumper* d, grib_accessor* a, const char* prefix);
|
||||||
|
@ -115,7 +115,7 @@ static void init_class (grib_dumper_class* c){}
|
||||||
|
|
||||||
static int init(grib_dumper* d)
|
static int init(grib_dumper* d)
|
||||||
{
|
{
|
||||||
grib_dumper_C *self = (grib_dumper_C*)d;
|
grib_dumper_bufr_encode_C *self = (grib_dumper_bufr_encode_C*)d;
|
||||||
grib_context* c=d->handle->context;
|
grib_context* c=d->handle->context;
|
||||||
self->section_offset=0;
|
self->section_offset=0;
|
||||||
self->empty=1;
|
self->empty=1;
|
||||||
|
@ -129,7 +129,7 @@ static int init(grib_dumper* d)
|
||||||
|
|
||||||
static int destroy(grib_dumper* d)
|
static int destroy(grib_dumper* d)
|
||||||
{
|
{
|
||||||
grib_dumper_C *self = (grib_dumper_C*)d;
|
grib_dumper_bufr_encode_C *self = (grib_dumper_bufr_encode_C*)d;
|
||||||
grib_string_list* next=self->keys;
|
grib_string_list* next=self->keys;
|
||||||
grib_string_list* cur=self->keys;
|
grib_string_list* cur=self->keys;
|
||||||
grib_context* c=d->handle->context;
|
grib_context* c=d->handle->context;
|
||||||
|
@ -151,7 +151,7 @@ static char* dval_to_string(grib_context* c, double v)
|
||||||
|
|
||||||
static void dump_values(grib_dumper* d, grib_accessor* a)
|
static void dump_values(grib_dumper* d, grib_accessor* a)
|
||||||
{
|
{
|
||||||
grib_dumper_C *self = (grib_dumper_C*)d;
|
grib_dumper_bufr_encode_C *self = (grib_dumper_bufr_encode_C*)d;
|
||||||
double value; size_t size = 0;
|
double value; size_t size = 0;
|
||||||
double *values=NULL;
|
double *values=NULL;
|
||||||
int err = 0;
|
int err = 0;
|
||||||
|
@ -238,7 +238,7 @@ static void dump_values(grib_dumper* d, grib_accessor* a)
|
||||||
|
|
||||||
static void dump_values_attribute(grib_dumper* d, grib_accessor* a, const char* prefix)
|
static void dump_values_attribute(grib_dumper* d, grib_accessor* a, const char* prefix)
|
||||||
{
|
{
|
||||||
grib_dumper_C *self = (grib_dumper_C*)d;
|
grib_dumper_bufr_encode_C *self = (grib_dumper_bufr_encode_C*)d;
|
||||||
double value; size_t size = 0;
|
double value; size_t size = 0;
|
||||||
double *values=NULL;
|
double *values=NULL;
|
||||||
int err = 0;
|
int err = 0;
|
||||||
|
@ -316,7 +316,7 @@ static void dump_values_attribute(grib_dumper* d, grib_accessor* a, const char*
|
||||||
|
|
||||||
static void dump_long(grib_dumper* d,grib_accessor* a, const char* comment)
|
static void dump_long(grib_dumper* d,grib_accessor* a, const char* comment)
|
||||||
{
|
{
|
||||||
grib_dumper_C *self = (grib_dumper_C*)d;
|
grib_dumper_bufr_encode_C *self = (grib_dumper_bufr_encode_C*)d;
|
||||||
long value; size_t size = 0;
|
long value; size_t size = 0;
|
||||||
long *values=NULL;
|
long *values=NULL;
|
||||||
int err = 0;
|
int err = 0;
|
||||||
|
@ -414,7 +414,7 @@ static void dump_long(grib_dumper* d,grib_accessor* a, const char* comment)
|
||||||
|
|
||||||
static void dump_long_attribute(grib_dumper* d, grib_accessor* a, const char* prefix)
|
static void dump_long_attribute(grib_dumper* d, grib_accessor* a, const char* prefix)
|
||||||
{
|
{
|
||||||
grib_dumper_C *self = (grib_dumper_C*)d;
|
grib_dumper_bufr_encode_C *self = (grib_dumper_bufr_encode_C*)d;
|
||||||
long value; size_t size = 0;
|
long value; size_t size = 0;
|
||||||
long *values=NULL;
|
long *values=NULL;
|
||||||
int err = 0;
|
int err = 0;
|
||||||
|
@ -487,7 +487,7 @@ static void dump_bits(grib_dumper* d, grib_accessor* a, const char* comment)
|
||||||
|
|
||||||
static void dump_double(grib_dumper* d, grib_accessor* a, const char* comment)
|
static void dump_double(grib_dumper* d, grib_accessor* a, const char* comment)
|
||||||
{
|
{
|
||||||
grib_dumper_C *self = (grib_dumper_C*)d;
|
grib_dumper_bufr_encode_C *self = (grib_dumper_bufr_encode_C*)d;
|
||||||
double value; size_t size = 1;
|
double value; size_t size = 1;
|
||||||
int r;
|
int r;
|
||||||
char* sval;
|
char* sval;
|
||||||
|
@ -529,7 +529,7 @@ static void dump_double(grib_dumper* d, grib_accessor* a, const char* comment)
|
||||||
|
|
||||||
static void dump_string_array(grib_dumper* d, grib_accessor* a, const char* comment)
|
static void dump_string_array(grib_dumper* d, grib_accessor* a, const char* comment)
|
||||||
{
|
{
|
||||||
grib_dumper_C *self = (grib_dumper_C*)d;
|
grib_dumper_bufr_encode_C *self = (grib_dumper_bufr_encode_C*)d;
|
||||||
char **values;
|
char **values;
|
||||||
size_t size = 0,i=0;
|
size_t size = 0,i=0;
|
||||||
grib_context* c=NULL;
|
grib_context* c=NULL;
|
||||||
|
@ -596,7 +596,7 @@ static void dump_string_array(grib_dumper* d, grib_accessor* a, const char* comm
|
||||||
|
|
||||||
static void dump_string(grib_dumper* d, grib_accessor* a, const char* comment)
|
static void dump_string(grib_dumper* d, grib_accessor* a, const char* comment)
|
||||||
{
|
{
|
||||||
grib_dumper_C *self = (grib_dumper_C*)d;
|
grib_dumper_bufr_encode_C *self = (grib_dumper_bufr_encode_C*)d;
|
||||||
char *value=NULL;
|
char *value=NULL;
|
||||||
char *p = NULL;
|
char *p = NULL;
|
||||||
size_t size = 0;
|
size_t size = 0;
|
||||||
|
@ -692,7 +692,7 @@ static void _dump_long_array(grib_handle* h, FILE* f, const char* key, const cha
|
||||||
|
|
||||||
static void dump_section(grib_dumper* d, grib_accessor* a, grib_block_of_accessors* block)
|
static void dump_section(grib_dumper* d, grib_accessor* a, grib_block_of_accessors* block)
|
||||||
{
|
{
|
||||||
grib_dumper_C *self = (grib_dumper_C*)d;
|
grib_dumper_bufr_encode_C *self = (grib_dumper_bufr_encode_C*)d;
|
||||||
if (!grib_inline_strcmp(a->name,"BUFR") ||
|
if (!grib_inline_strcmp(a->name,"BUFR") ||
|
||||||
!grib_inline_strcmp(a->name,"GRIB") ||
|
!grib_inline_strcmp(a->name,"GRIB") ||
|
||||||
!grib_inline_strcmp(a->name,"META")
|
!grib_inline_strcmp(a->name,"META")
|
||||||
|
@ -722,7 +722,7 @@ static void dump_section(grib_dumper* d, grib_accessor* a, grib_block_of_accesso
|
||||||
static void dump_attributes(grib_dumper* d,grib_accessor* a, const char* prefix)
|
static void dump_attributes(grib_dumper* d,grib_accessor* a, const char* prefix)
|
||||||
{
|
{
|
||||||
int i=0;
|
int i=0;
|
||||||
grib_dumper_C *self = (grib_dumper_C*)d;
|
grib_dumper_bufr_encode_C *self = (grib_dumper_bufr_encode_C*)d;
|
||||||
unsigned long flags;
|
unsigned long flags;
|
||||||
while (i < MAX_ACCESSOR_ATTRIBUTES && a->attributes[i]) {
|
while (i < MAX_ACCESSOR_ATTRIBUTES && a->attributes[i]) {
|
||||||
self->isAttribute=1;
|
self->isAttribute=1;
|
||||||
|
@ -754,7 +754,7 @@ static void dump_attributes(grib_dumper* d,grib_accessor* a, const char* prefix)
|
||||||
|
|
||||||
static void header(grib_dumper* d, grib_handle* h)
|
static void header(grib_dumper* d, grib_handle* h)
|
||||||
{
|
{
|
||||||
grib_dumper_C *self = (grib_dumper_C*)d;
|
grib_dumper_bufr_encode_C *self = (grib_dumper_bufr_encode_C*)d;
|
||||||
char sampleName[200]={0};
|
char sampleName[200]={0};
|
||||||
long localSectionPresent,edition,bufrHeaderCentre,isSatellite;
|
long localSectionPresent,edition,bufrHeaderCentre,isSatellite;
|
||||||
|
|
||||||
|
@ -801,7 +801,7 @@ static void header(grib_dumper* d, grib_handle* h)
|
||||||
|
|
||||||
static void footer(grib_dumper* d, grib_handle* h)
|
static void footer(grib_dumper* d, grib_handle* h)
|
||||||
{
|
{
|
||||||
grib_dumper_C *self = (grib_dumper_C*)d;
|
grib_dumper_bufr_encode_C *self = (grib_dumper_bufr_encode_C*)d;
|
||||||
fprintf(self->dumper.out,"\n codes_set_long(h, \"pack\", 1);\n");
|
fprintf(self->dumper.out,"\n codes_set_long(h, \"pack\", 1);\n");
|
||||||
if (d->count==1)
|
if (d->count==1)
|
||||||
fprintf(self->dumper.out," fout = fopen(\"outfile.bufr\", \"w\");\n");
|
fprintf(self->dumper.out," fout = fopen(\"outfile.bufr\", \"w\");\n");
|
|
@ -55,7 +55,7 @@ static void dump_values (grib_dumper* d, grib_accessor* a);
|
||||||
static void dump_label (grib_dumper* d, grib_accessor* a,const char* comment);
|
static void dump_label (grib_dumper* d, grib_accessor* a,const char* comment);
|
||||||
static void dump_section (grib_dumper* d, grib_accessor* a,grib_block_of_accessors* block);
|
static void dump_section (grib_dumper* d, grib_accessor* a,grib_block_of_accessors* block);
|
||||||
|
|
||||||
typedef struct grib_dumper_filter {
|
typedef struct grib_dumper_bufr_encode_filter {
|
||||||
grib_dumper dumper;
|
grib_dumper dumper;
|
||||||
/* Members defined in filter */
|
/* Members defined in filter */
|
||||||
long section_offset;
|
long section_offset;
|
||||||
|
@ -65,13 +65,13 @@ typedef struct grib_dumper_filter {
|
||||||
long isLeaf;
|
long isLeaf;
|
||||||
long isAttribute;
|
long isAttribute;
|
||||||
grib_string_list* keys;
|
grib_string_list* keys;
|
||||||
} grib_dumper_filter;
|
} grib_dumper_bufr_encode_filter;
|
||||||
|
|
||||||
|
|
||||||
static grib_dumper_class _grib_dumper_class_filter = {
|
static grib_dumper_class _grib_dumper_class_bufr_encode_filter = {
|
||||||
0, /* super */
|
0, /* super */
|
||||||
"filter", /* name */
|
"bufr_encode_filter", /* name */
|
||||||
sizeof(grib_dumper_filter), /* size */
|
sizeof(grib_dumper_bufr_encode_filter), /* size */
|
||||||
0, /* inited */
|
0, /* inited */
|
||||||
&init_class, /* init_class */
|
&init_class, /* init_class */
|
||||||
&init, /* init */
|
&init, /* init */
|
||||||
|
@ -89,7 +89,7 @@ static grib_dumper_class _grib_dumper_class_filter = {
|
||||||
0, /* footer */
|
0, /* footer */
|
||||||
};
|
};
|
||||||
|
|
||||||
grib_dumper_class* grib_dumper_class_filter = &_grib_dumper_class_filter;
|
grib_dumper_class* grib_dumper_class_bufr_encode_filter = &_grib_dumper_class_bufr_encode_filter;
|
||||||
|
|
||||||
/* END_CLASS_IMP */
|
/* END_CLASS_IMP */
|
||||||
static void dump_attributes(grib_dumper* d,grib_accessor* a, const char* prefix);
|
static void dump_attributes(grib_dumper* d,grib_accessor* a, const char* prefix);
|
||||||
|
@ -114,7 +114,7 @@ static void init_class (grib_dumper_class* c){}
|
||||||
|
|
||||||
static int init(grib_dumper* d)
|
static int init(grib_dumper* d)
|
||||||
{
|
{
|
||||||
grib_dumper_filter *self = (grib_dumper_filter*)d;
|
grib_dumper_bufr_encode_filter *self = (grib_dumper_bufr_encode_filter*)d;
|
||||||
grib_context* c=d->handle->context;
|
grib_context* c=d->handle->context;
|
||||||
self->section_offset=0;
|
self->section_offset=0;
|
||||||
self->empty=1;
|
self->empty=1;
|
||||||
|
@ -127,7 +127,7 @@ static int init(grib_dumper* d)
|
||||||
|
|
||||||
static int destroy(grib_dumper* d)
|
static int destroy(grib_dumper* d)
|
||||||
{
|
{
|
||||||
grib_dumper_filter *self = (grib_dumper_filter*)d;
|
grib_dumper_bufr_encode_filter *self = (grib_dumper_bufr_encode_filter*)d;
|
||||||
grib_string_list* next=self->keys;
|
grib_string_list* next=self->keys;
|
||||||
grib_string_list* cur=self->keys;
|
grib_string_list* cur=self->keys;
|
||||||
grib_context* c=d->handle->context;
|
grib_context* c=d->handle->context;
|
||||||
|
@ -142,7 +142,7 @@ static int destroy(grib_dumper* d)
|
||||||
|
|
||||||
static void dump_values(grib_dumper* d, grib_accessor* a)
|
static void dump_values(grib_dumper* d, grib_accessor* a)
|
||||||
{
|
{
|
||||||
grib_dumper_filter *self = (grib_dumper_filter*)d;
|
grib_dumper_bufr_encode_filter *self = (grib_dumper_bufr_encode_filter*)d;
|
||||||
double value; size_t size = 0;
|
double value; size_t size = 0;
|
||||||
double *values=NULL;
|
double *values=NULL;
|
||||||
int err = 0;
|
int err = 0;
|
||||||
|
@ -222,7 +222,7 @@ static void dump_values(grib_dumper* d, grib_accessor* a)
|
||||||
|
|
||||||
static void dump_values_attribute(grib_dumper* d,grib_accessor* a, const char* prefix)
|
static void dump_values_attribute(grib_dumper* d,grib_accessor* a, const char* prefix)
|
||||||
{
|
{
|
||||||
grib_dumper_filter *self = (grib_dumper_filter*)d;
|
grib_dumper_bufr_encode_filter *self = (grib_dumper_bufr_encode_filter*)d;
|
||||||
double value; size_t size = 0;
|
double value; size_t size = 0;
|
||||||
double *values=NULL;
|
double *values=NULL;
|
||||||
int err = 0;
|
int err = 0;
|
||||||
|
@ -284,7 +284,7 @@ static void dump_values_attribute(grib_dumper* d,grib_accessor* a, const char* p
|
||||||
|
|
||||||
static void dump_long(grib_dumper* d, grib_accessor* a, const char* comment)
|
static void dump_long(grib_dumper* d, grib_accessor* a, const char* comment)
|
||||||
{
|
{
|
||||||
grib_dumper_filter *self = (grib_dumper_filter*)d;
|
grib_dumper_bufr_encode_filter *self = (grib_dumper_bufr_encode_filter*)d;
|
||||||
long value; size_t size = 0;
|
long value; size_t size = 0;
|
||||||
long *values=NULL;
|
long *values=NULL;
|
||||||
int err = 0;
|
int err = 0;
|
||||||
|
@ -379,7 +379,7 @@ static void dump_long(grib_dumper* d, grib_accessor* a, const char* comment)
|
||||||
|
|
||||||
static void dump_long_attribute(grib_dumper* d, grib_accessor* a, const char* prefix)
|
static void dump_long_attribute(grib_dumper* d, grib_accessor* a, const char* prefix)
|
||||||
{
|
{
|
||||||
grib_dumper_filter *self = (grib_dumper_filter*)d;
|
grib_dumper_bufr_encode_filter *self = (grib_dumper_bufr_encode_filter*)d;
|
||||||
long value; size_t size = 0;
|
long value; size_t size = 0;
|
||||||
long *values=NULL;
|
long *values=NULL;
|
||||||
int err = 0;
|
int err = 0;
|
||||||
|
@ -445,7 +445,7 @@ static void dump_bits(grib_dumper* d, grib_accessor* a, const char* comment)
|
||||||
|
|
||||||
static void dump_double(grib_dumper* d, grib_accessor* a, const char* comment)
|
static void dump_double(grib_dumper* d, grib_accessor* a, const char* comment)
|
||||||
{
|
{
|
||||||
grib_dumper_filter *self = (grib_dumper_filter*)d;
|
grib_dumper_bufr_encode_filter *self = (grib_dumper_bufr_encode_filter*)d;
|
||||||
double value; size_t size = 1;
|
double value; size_t size = 1;
|
||||||
int r;
|
int r;
|
||||||
grib_handle* h=grib_handle_of_accessor(a);
|
grib_handle* h=grib_handle_of_accessor(a);
|
||||||
|
@ -486,7 +486,7 @@ static void dump_double(grib_dumper* d, grib_accessor* a, const char* comment)
|
||||||
|
|
||||||
static void dump_string_array(grib_dumper* d, grib_accessor* a, const char* comment)
|
static void dump_string_array(grib_dumper* d, grib_accessor* a, const char* comment)
|
||||||
{
|
{
|
||||||
grib_dumper_filter *self = (grib_dumper_filter*)d;
|
grib_dumper_bufr_encode_filter *self = (grib_dumper_bufr_encode_filter*)d;
|
||||||
char **values;
|
char **values;
|
||||||
size_t size = 0,i=0;
|
size_t size = 0,i=0;
|
||||||
grib_context* c=NULL;
|
grib_context* c=NULL;
|
||||||
|
@ -559,7 +559,7 @@ static void dump_string_array(grib_dumper* d, grib_accessor* a, const char* comm
|
||||||
|
|
||||||
static void dump_string(grib_dumper* d, grib_accessor* a, const char* comment)
|
static void dump_string(grib_dumper* d, grib_accessor* a, const char* comment)
|
||||||
{
|
{
|
||||||
grib_dumper_filter *self = (grib_dumper_filter*)d;
|
grib_dumper_bufr_encode_filter *self = (grib_dumper_bufr_encode_filter*)d;
|
||||||
char *value=NULL;
|
char *value=NULL;
|
||||||
char *p = NULL;
|
char *p = NULL;
|
||||||
size_t size = 0;
|
size_t size = 0;
|
||||||
|
@ -653,7 +653,7 @@ static void _dump_long_array(grib_handle* h, FILE* f, const char* key, const cha
|
||||||
|
|
||||||
static void dump_section(grib_dumper* d, grib_accessor* a, grib_block_of_accessors* block)
|
static void dump_section(grib_dumper* d, grib_accessor* a, grib_block_of_accessors* block)
|
||||||
{
|
{
|
||||||
grib_dumper_filter *self = (grib_dumper_filter*)d;
|
grib_dumper_bufr_encode_filter *self = (grib_dumper_bufr_encode_filter*)d;
|
||||||
if (!grib_inline_strcmp(a->name,"BUFR") ||
|
if (!grib_inline_strcmp(a->name,"BUFR") ||
|
||||||
!grib_inline_strcmp(a->name,"GRIB") ||
|
!grib_inline_strcmp(a->name,"GRIB") ||
|
||||||
!grib_inline_strcmp(a->name,"META")
|
!grib_inline_strcmp(a->name,"META")
|
||||||
|
@ -685,7 +685,7 @@ static void dump_section(grib_dumper* d, grib_accessor* a, grib_block_of_accesso
|
||||||
static void dump_attributes(grib_dumper* d,grib_accessor* a, const char* prefix)
|
static void dump_attributes(grib_dumper* d,grib_accessor* a, const char* prefix)
|
||||||
{
|
{
|
||||||
int i=0;
|
int i=0;
|
||||||
grib_dumper_filter *self = (grib_dumper_filter*)d;
|
grib_dumper_bufr_encode_filter *self = (grib_dumper_bufr_encode_filter*)d;
|
||||||
unsigned long flags;
|
unsigned long flags;
|
||||||
while (i < MAX_ACCESSOR_ATTRIBUTES && a->attributes[i]) {
|
while (i < MAX_ACCESSOR_ATTRIBUTES && a->attributes[i]) {
|
||||||
self->isAttribute=1;
|
self->isAttribute=1;
|
|
@ -57,7 +57,7 @@ static void dump_section (grib_dumper* d, grib_accessor* a,grib_block_of_acce
|
||||||
static void header (grib_dumper*,grib_handle*);
|
static void header (grib_dumper*,grib_handle*);
|
||||||
static void footer (grib_dumper*,grib_handle*);
|
static void footer (grib_dumper*,grib_handle*);
|
||||||
|
|
||||||
typedef struct grib_dumper_fortran {
|
typedef struct grib_dumper_bufr_encode_fortran {
|
||||||
grib_dumper dumper;
|
grib_dumper dumper;
|
||||||
/* Members defined in fortran */
|
/* Members defined in fortran */
|
||||||
long section_offset;
|
long section_offset;
|
||||||
|
@ -66,13 +66,13 @@ typedef struct grib_dumper_fortran {
|
||||||
long isLeaf;
|
long isLeaf;
|
||||||
long isAttribute;
|
long isAttribute;
|
||||||
grib_string_list* keys;
|
grib_string_list* keys;
|
||||||
} grib_dumper_fortran;
|
} grib_dumper_bufr_encode_fortran;
|
||||||
|
|
||||||
|
|
||||||
static grib_dumper_class _grib_dumper_class_fortran = {
|
static grib_dumper_class _grib_dumper_class_bufr_encode_fortran = {
|
||||||
0, /* super */
|
0, /* super */
|
||||||
"fortran", /* name */
|
"bufr_encode_fortran", /* name */
|
||||||
sizeof(grib_dumper_fortran), /* size */
|
sizeof(grib_dumper_bufr_encode_fortran), /* size */
|
||||||
0, /* inited */
|
0, /* inited */
|
||||||
&init_class, /* init_class */
|
&init_class, /* init_class */
|
||||||
&init, /* init */
|
&init, /* init */
|
||||||
|
@ -90,7 +90,7 @@ static grib_dumper_class _grib_dumper_class_fortran = {
|
||||||
&footer, /* footer */
|
&footer, /* footer */
|
||||||
};
|
};
|
||||||
|
|
||||||
grib_dumper_class* grib_dumper_class_fortran = &_grib_dumper_class_fortran;
|
grib_dumper_class* grib_dumper_class_bufr_encode_fortran = &_grib_dumper_class_bufr_encode_fortran;
|
||||||
|
|
||||||
/* END_CLASS_IMP */
|
/* END_CLASS_IMP */
|
||||||
static void dump_attributes(grib_dumper* d, grib_accessor* a, const char* prefix);
|
static void dump_attributes(grib_dumper* d, grib_accessor* a, const char* prefix);
|
||||||
|
@ -115,7 +115,7 @@ static void init_class (grib_dumper_class* c){}
|
||||||
|
|
||||||
static int init(grib_dumper* d)
|
static int init(grib_dumper* d)
|
||||||
{
|
{
|
||||||
grib_dumper_fortran *self = (grib_dumper_fortran*)d;
|
grib_dumper_bufr_encode_fortran *self = (grib_dumper_bufr_encode_fortran*)d;
|
||||||
grib_context* c=d->handle->context;
|
grib_context* c=d->handle->context;
|
||||||
self->section_offset=0;
|
self->section_offset=0;
|
||||||
self->empty=1;
|
self->empty=1;
|
||||||
|
@ -129,7 +129,7 @@ static int init(grib_dumper* d)
|
||||||
|
|
||||||
static int destroy(grib_dumper* d)
|
static int destroy(grib_dumper* d)
|
||||||
{
|
{
|
||||||
grib_dumper_fortran *self = (grib_dumper_fortran*)d;
|
grib_dumper_bufr_encode_fortran *self = (grib_dumper_bufr_encode_fortran*)d;
|
||||||
grib_string_list* next=self->keys;
|
grib_string_list* next=self->keys;
|
||||||
grib_string_list* cur=self->keys;
|
grib_string_list* cur=self->keys;
|
||||||
grib_context* c=d->handle->context;
|
grib_context* c=d->handle->context;
|
||||||
|
@ -157,7 +157,7 @@ static char* dval_to_string(grib_context* c, double v)
|
||||||
|
|
||||||
static void dump_values(grib_dumper* d, grib_accessor* a)
|
static void dump_values(grib_dumper* d, grib_accessor* a)
|
||||||
{
|
{
|
||||||
grib_dumper_fortran *self = (grib_dumper_fortran*)d;
|
grib_dumper_bufr_encode_fortran *self = (grib_dumper_bufr_encode_fortran*)d;
|
||||||
double value; size_t size = 0;
|
double value; size_t size = 0;
|
||||||
double *values=NULL;
|
double *values=NULL;
|
||||||
int err = 0;
|
int err = 0;
|
||||||
|
@ -246,7 +246,7 @@ static void dump_values(grib_dumper* d, grib_accessor* a)
|
||||||
|
|
||||||
static void dump_values_attribute(grib_dumper* d, grib_accessor* a, const char* prefix)
|
static void dump_values_attribute(grib_dumper* d, grib_accessor* a, const char* prefix)
|
||||||
{
|
{
|
||||||
grib_dumper_fortran *self = (grib_dumper_fortran*)d;
|
grib_dumper_bufr_encode_fortran *self = (grib_dumper_bufr_encode_fortran*)d;
|
||||||
double value; size_t size = 0;
|
double value; size_t size = 0;
|
||||||
double *values=NULL;
|
double *values=NULL;
|
||||||
int err = 0;
|
int err = 0;
|
||||||
|
@ -325,7 +325,7 @@ static void dump_values_attribute(grib_dumper* d, grib_accessor* a, const char*
|
||||||
|
|
||||||
static void dump_long(grib_dumper* d,grib_accessor* a, const char* comment)
|
static void dump_long(grib_dumper* d,grib_accessor* a, const char* comment)
|
||||||
{
|
{
|
||||||
grib_dumper_fortran *self = (grib_dumper_fortran*)d;
|
grib_dumper_bufr_encode_fortran *self = (grib_dumper_bufr_encode_fortran*)d;
|
||||||
long value; size_t size = 0;
|
long value; size_t size = 0;
|
||||||
long *values=NULL;
|
long *values=NULL;
|
||||||
int err = 0;
|
int err = 0;
|
||||||
|
@ -422,7 +422,7 @@ static void dump_long(grib_dumper* d,grib_accessor* a, const char* comment)
|
||||||
|
|
||||||
static void dump_long_attribute(grib_dumper* d, grib_accessor* a, const char* prefix)
|
static void dump_long_attribute(grib_dumper* d, grib_accessor* a, const char* prefix)
|
||||||
{
|
{
|
||||||
grib_dumper_fortran *self = (grib_dumper_fortran*)d;
|
grib_dumper_bufr_encode_fortran *self = (grib_dumper_bufr_encode_fortran*)d;
|
||||||
long value; size_t size = 0;
|
long value; size_t size = 0;
|
||||||
long *values=NULL;
|
long *values=NULL;
|
||||||
int err = 0;
|
int err = 0;
|
||||||
|
@ -494,7 +494,7 @@ static void dump_bits(grib_dumper* d, grib_accessor* a, const char* comment)
|
||||||
|
|
||||||
static void dump_double(grib_dumper* d, grib_accessor* a, const char* comment)
|
static void dump_double(grib_dumper* d, grib_accessor* a, const char* comment)
|
||||||
{
|
{
|
||||||
grib_dumper_fortran *self = (grib_dumper_fortran*)d;
|
grib_dumper_bufr_encode_fortran *self = (grib_dumper_bufr_encode_fortran*)d;
|
||||||
double value; size_t size = 1;
|
double value; size_t size = 1;
|
||||||
int r;
|
int r;
|
||||||
char* sval;
|
char* sval;
|
||||||
|
@ -536,7 +536,7 @@ static void dump_double(grib_dumper* d, grib_accessor* a, const char* comment)
|
||||||
|
|
||||||
static void dump_string_array(grib_dumper* d, grib_accessor* a, const char* comment)
|
static void dump_string_array(grib_dumper* d, grib_accessor* a, const char* comment)
|
||||||
{
|
{
|
||||||
grib_dumper_fortran *self = (grib_dumper_fortran*)d;
|
grib_dumper_bufr_encode_fortran *self = (grib_dumper_bufr_encode_fortran*)d;
|
||||||
char **values;
|
char **values;
|
||||||
size_t size = 0,i=0;
|
size_t size = 0,i=0;
|
||||||
grib_context* c=NULL;
|
grib_context* c=NULL;
|
||||||
|
@ -605,7 +605,7 @@ static void dump_string_array(grib_dumper* d, grib_accessor* a, const char* comm
|
||||||
|
|
||||||
static void dump_string(grib_dumper* d, grib_accessor* a, const char* comment)
|
static void dump_string(grib_dumper* d, grib_accessor* a, const char* comment)
|
||||||
{
|
{
|
||||||
grib_dumper_fortran *self = (grib_dumper_fortran*)d;
|
grib_dumper_bufr_encode_fortran *self = (grib_dumper_bufr_encode_fortran*)d;
|
||||||
char *value=NULL;
|
char *value=NULL;
|
||||||
char *p = NULL;
|
char *p = NULL;
|
||||||
size_t size = 0;
|
size_t size = 0;
|
||||||
|
@ -702,7 +702,7 @@ static void _dump_long_array(grib_handle* h, FILE* f, const char* key, const cha
|
||||||
|
|
||||||
static void dump_section(grib_dumper* d, grib_accessor* a, grib_block_of_accessors* block)
|
static void dump_section(grib_dumper* d, grib_accessor* a, grib_block_of_accessors* block)
|
||||||
{
|
{
|
||||||
grib_dumper_fortran *self = (grib_dumper_fortran*)d;
|
grib_dumper_bufr_encode_fortran *self = (grib_dumper_bufr_encode_fortran*)d;
|
||||||
if (!grib_inline_strcmp(a->name,"BUFR") ||
|
if (!grib_inline_strcmp(a->name,"BUFR") ||
|
||||||
!grib_inline_strcmp(a->name,"GRIB") ||
|
!grib_inline_strcmp(a->name,"GRIB") ||
|
||||||
!grib_inline_strcmp(a->name,"META")
|
!grib_inline_strcmp(a->name,"META")
|
||||||
|
@ -732,7 +732,7 @@ static void dump_section(grib_dumper* d, grib_accessor* a, grib_block_of_accesso
|
||||||
static void dump_attributes(grib_dumper* d,grib_accessor* a, const char* prefix)
|
static void dump_attributes(grib_dumper* d,grib_accessor* a, const char* prefix)
|
||||||
{
|
{
|
||||||
int i=0;
|
int i=0;
|
||||||
grib_dumper_fortran *self = (grib_dumper_fortran*)d;
|
grib_dumper_bufr_encode_fortran *self = (grib_dumper_bufr_encode_fortran*)d;
|
||||||
unsigned long flags;
|
unsigned long flags;
|
||||||
while (i < MAX_ACCESSOR_ATTRIBUTES && a->attributes[i]) {
|
while (i < MAX_ACCESSOR_ATTRIBUTES && a->attributes[i]) {
|
||||||
self->isAttribute=1;
|
self->isAttribute=1;
|
||||||
|
@ -764,7 +764,7 @@ static void dump_attributes(grib_dumper* d,grib_accessor* a, const char* prefix)
|
||||||
|
|
||||||
static void header(grib_dumper* d, grib_handle* h)
|
static void header(grib_dumper* d, grib_handle* h)
|
||||||
{
|
{
|
||||||
grib_dumper_fortran *self = (grib_dumper_fortran*)d;
|
grib_dumper_bufr_encode_fortran *self = (grib_dumper_bufr_encode_fortran*)d;
|
||||||
char sampleName[200]={0};
|
char sampleName[200]={0};
|
||||||
long localSectionPresent,edition,bufrHeaderCentre,isSatellite;
|
long localSectionPresent,edition,bufrHeaderCentre,isSatellite;
|
||||||
|
|
||||||
|
@ -807,7 +807,7 @@ static void header(grib_dumper* d, grib_handle* h)
|
||||||
|
|
||||||
static void footer(grib_dumper* d, grib_handle* h)
|
static void footer(grib_dumper* d, grib_handle* h)
|
||||||
{
|
{
|
||||||
grib_dumper_fortran *self = (grib_dumper_fortran*)d;
|
grib_dumper_bufr_encode_fortran *self = (grib_dumper_bufr_encode_fortran*)d;
|
||||||
fprintf(self->dumper.out," call codes_set(ibufr,'pack',1)\n");
|
fprintf(self->dumper.out," call codes_set(ibufr,'pack',1)\n");
|
||||||
if (d->count==1)
|
if (d->count==1)
|
||||||
fprintf(self->dumper.out," call codes_open_file(outfile,'outfile.bufr','w')\n");
|
fprintf(self->dumper.out," call codes_open_file(outfile,'outfile.bufr','w')\n");
|
|
@ -57,7 +57,7 @@ static void dump_section (grib_dumper* d, grib_accessor* a,grib_block_of_acce
|
||||||
static void header (grib_dumper*,grib_handle*);
|
static void header (grib_dumper*,grib_handle*);
|
||||||
static void footer (grib_dumper*,grib_handle*);
|
static void footer (grib_dumper*,grib_handle*);
|
||||||
|
|
||||||
typedef struct grib_dumper_python {
|
typedef struct grib_dumper_bufr_encode_python {
|
||||||
grib_dumper dumper;
|
grib_dumper dumper;
|
||||||
/* Members defined in python */
|
/* Members defined in python */
|
||||||
long section_offset;
|
long section_offset;
|
||||||
|
@ -66,13 +66,13 @@ typedef struct grib_dumper_python {
|
||||||
long isLeaf;
|
long isLeaf;
|
||||||
long isAttribute;
|
long isAttribute;
|
||||||
grib_string_list* keys;
|
grib_string_list* keys;
|
||||||
} grib_dumper_python;
|
} grib_dumper_bufr_encode_python;
|
||||||
|
|
||||||
|
|
||||||
static grib_dumper_class _grib_dumper_class_python = {
|
static grib_dumper_class _grib_dumper_class_bufr_encode_python = {
|
||||||
0, /* super */
|
0, /* super */
|
||||||
"python", /* name */
|
"bufr_encode_python", /* name */
|
||||||
sizeof(grib_dumper_python), /* size */
|
sizeof(grib_dumper_bufr_encode_python), /* size */
|
||||||
0, /* inited */
|
0, /* inited */
|
||||||
&init_class, /* init_class */
|
&init_class, /* init_class */
|
||||||
&init, /* init */
|
&init, /* init */
|
||||||
|
@ -90,7 +90,7 @@ static grib_dumper_class _grib_dumper_class_python = {
|
||||||
&footer, /* footer */
|
&footer, /* footer */
|
||||||
};
|
};
|
||||||
|
|
||||||
grib_dumper_class* grib_dumper_class_python = &_grib_dumper_class_python;
|
grib_dumper_class* grib_dumper_class_bufr_encode_python = &_grib_dumper_class_bufr_encode_python;
|
||||||
|
|
||||||
/* END_CLASS_IMP */
|
/* END_CLASS_IMP */
|
||||||
static void dump_attributes(grib_dumper* d,grib_accessor* a, const char* prefix);
|
static void dump_attributes(grib_dumper* d,grib_accessor* a, const char* prefix);
|
||||||
|
@ -115,7 +115,7 @@ static void init_class (grib_dumper_class* c){}
|
||||||
|
|
||||||
static int init(grib_dumper* d)
|
static int init(grib_dumper* d)
|
||||||
{
|
{
|
||||||
grib_dumper_python *self = (grib_dumper_python*)d;
|
grib_dumper_bufr_encode_python *self = (grib_dumper_bufr_encode_python*)d;
|
||||||
grib_context* c=d->handle->context;
|
grib_context* c=d->handle->context;
|
||||||
self->section_offset=0;
|
self->section_offset=0;
|
||||||
self->empty=1;
|
self->empty=1;
|
||||||
|
@ -129,7 +129,7 @@ static int init(grib_dumper* d)
|
||||||
|
|
||||||
static int destroy(grib_dumper* d)
|
static int destroy(grib_dumper* d)
|
||||||
{
|
{
|
||||||
grib_dumper_python *self = (grib_dumper_python*)d;
|
grib_dumper_bufr_encode_python *self = (grib_dumper_bufr_encode_python*)d;
|
||||||
grib_string_list* next=self->keys;
|
grib_string_list* next=self->keys;
|
||||||
grib_string_list* cur=self->keys;
|
grib_string_list* cur=self->keys;
|
||||||
grib_context* c=d->handle->context;
|
grib_context* c=d->handle->context;
|
||||||
|
@ -151,7 +151,7 @@ static char* dval_to_string(const grib_context* c,double v)
|
||||||
|
|
||||||
static void dump_values(grib_dumper* d,grib_accessor* a)
|
static void dump_values(grib_dumper* d,grib_accessor* a)
|
||||||
{
|
{
|
||||||
grib_dumper_python *self = (grib_dumper_python*)d;
|
grib_dumper_bufr_encode_python *self = (grib_dumper_bufr_encode_python*)d;
|
||||||
double value; size_t size = 0;
|
double value; size_t size = 0;
|
||||||
double *values=NULL;
|
double *values=NULL;
|
||||||
int err = 0;
|
int err = 0;
|
||||||
|
@ -236,7 +236,7 @@ static void dump_values(grib_dumper* d,grib_accessor* a)
|
||||||
|
|
||||||
static void dump_values_attribute(grib_dumper* d,grib_accessor* a, const char* prefix)
|
static void dump_values_attribute(grib_dumper* d,grib_accessor* a, const char* prefix)
|
||||||
{
|
{
|
||||||
grib_dumper_python *self = (grib_dumper_python*)d;
|
grib_dumper_bufr_encode_python *self = (grib_dumper_bufr_encode_python*)d;
|
||||||
double value; size_t size = 0;
|
double value; size_t size = 0;
|
||||||
double *values=NULL;
|
double *values=NULL;
|
||||||
int err = 0;
|
int err = 0;
|
||||||
|
@ -312,7 +312,7 @@ static void dump_values_attribute(grib_dumper* d,grib_accessor* a, const char* p
|
||||||
|
|
||||||
static void dump_long(grib_dumper* d, grib_accessor* a, const char* comment)
|
static void dump_long(grib_dumper* d, grib_accessor* a, const char* comment)
|
||||||
{
|
{
|
||||||
grib_dumper_python *self = (grib_dumper_python*)d;
|
grib_dumper_bufr_encode_python *self = (grib_dumper_bufr_encode_python*)d;
|
||||||
long value; size_t size = 0;
|
long value; size_t size = 0;
|
||||||
long *values=NULL;
|
long *values=NULL;
|
||||||
int err = 0;
|
int err = 0;
|
||||||
|
@ -407,7 +407,7 @@ static void dump_long(grib_dumper* d, grib_accessor* a, const char* comment)
|
||||||
|
|
||||||
static void dump_long_attribute(grib_dumper* d, grib_accessor* a, const char* prefix)
|
static void dump_long_attribute(grib_dumper* d, grib_accessor* a, const char* prefix)
|
||||||
{
|
{
|
||||||
grib_dumper_python *self = (grib_dumper_python*)d;
|
grib_dumper_bufr_encode_python *self = (grib_dumper_bufr_encode_python*)d;
|
||||||
long value; size_t size = 0;
|
long value; size_t size = 0;
|
||||||
long *values=NULL;
|
long *values=NULL;
|
||||||
int err = 0;
|
int err = 0;
|
||||||
|
@ -477,7 +477,7 @@ static void dump_bits(grib_dumper* d,grib_accessor* a,const char* comment)
|
||||||
|
|
||||||
static void dump_double(grib_dumper* d,grib_accessor* a,const char* comment)
|
static void dump_double(grib_dumper* d,grib_accessor* a,const char* comment)
|
||||||
{
|
{
|
||||||
grib_dumper_python *self = (grib_dumper_python*)d;
|
grib_dumper_bufr_encode_python *self = (grib_dumper_bufr_encode_python*)d;
|
||||||
double value; size_t size = 1;
|
double value; size_t size = 1;
|
||||||
int r;
|
int r;
|
||||||
char* sval;
|
char* sval;
|
||||||
|
@ -519,7 +519,7 @@ static void dump_double(grib_dumper* d,grib_accessor* a,const char* comment)
|
||||||
|
|
||||||
static void dump_string_array(grib_dumper* d,grib_accessor* a,const char* comment)
|
static void dump_string_array(grib_dumper* d,grib_accessor* a,const char* comment)
|
||||||
{
|
{
|
||||||
grib_dumper_python *self = (grib_dumper_python*)d;
|
grib_dumper_bufr_encode_python *self = (grib_dumper_bufr_encode_python*)d;
|
||||||
char **values;
|
char **values;
|
||||||
size_t size = 0,i=0;
|
size_t size = 0,i=0;
|
||||||
grib_context* c=NULL;
|
grib_context* c=NULL;
|
||||||
|
@ -585,7 +585,7 @@ static void dump_string_array(grib_dumper* d,grib_accessor* a,const char* commen
|
||||||
|
|
||||||
static void dump_string(grib_dumper* d,grib_accessor* a,const char* comment)
|
static void dump_string(grib_dumper* d,grib_accessor* a,const char* comment)
|
||||||
{
|
{
|
||||||
grib_dumper_python *self = (grib_dumper_python*)d;
|
grib_dumper_bufr_encode_python *self = (grib_dumper_bufr_encode_python*)d;
|
||||||
char *value=NULL;
|
char *value=NULL;
|
||||||
char *p = NULL;
|
char *p = NULL;
|
||||||
size_t size = 0;
|
size_t size = 0;
|
||||||
|
@ -680,7 +680,7 @@ static void _dump_long_array(grib_handle* h, FILE* f, const char* key, const cha
|
||||||
|
|
||||||
static void dump_section(grib_dumper* d, grib_accessor* a, grib_block_of_accessors* block)
|
static void dump_section(grib_dumper* d, grib_accessor* a, grib_block_of_accessors* block)
|
||||||
{
|
{
|
||||||
grib_dumper_python *self = (grib_dumper_python*)d;
|
grib_dumper_bufr_encode_python *self = (grib_dumper_bufr_encode_python*)d;
|
||||||
if (!grib_inline_strcmp(a->name,"BUFR") ||
|
if (!grib_inline_strcmp(a->name,"BUFR") ||
|
||||||
!grib_inline_strcmp(a->name,"GRIB") ||
|
!grib_inline_strcmp(a->name,"GRIB") ||
|
||||||
!grib_inline_strcmp(a->name,"META")
|
!grib_inline_strcmp(a->name,"META")
|
||||||
|
@ -710,7 +710,7 @@ static void dump_section(grib_dumper* d, grib_accessor* a, grib_block_of_accesso
|
||||||
static void dump_attributes(grib_dumper* d,grib_accessor* a, const char* prefix)
|
static void dump_attributes(grib_dumper* d,grib_accessor* a, const char* prefix)
|
||||||
{
|
{
|
||||||
int i=0;
|
int i=0;
|
||||||
grib_dumper_python *self = (grib_dumper_python*)d;
|
grib_dumper_bufr_encode_python *self = (grib_dumper_bufr_encode_python*)d;
|
||||||
unsigned long flags;
|
unsigned long flags;
|
||||||
while (i < MAX_ACCESSOR_ATTRIBUTES && a->attributes[i]) {
|
while (i < MAX_ACCESSOR_ATTRIBUTES && a->attributes[i]) {
|
||||||
self->isAttribute=1;
|
self->isAttribute=1;
|
||||||
|
@ -742,7 +742,7 @@ static void dump_attributes(grib_dumper* d,grib_accessor* a, const char* prefix)
|
||||||
|
|
||||||
static void header(grib_dumper* d, grib_handle* h)
|
static void header(grib_dumper* d, grib_handle* h)
|
||||||
{
|
{
|
||||||
grib_dumper_python *self = (grib_dumper_python*)d;
|
grib_dumper_bufr_encode_python *self = (grib_dumper_bufr_encode_python*)d;
|
||||||
char sampleName[200]={0};
|
char sampleName[200]={0};
|
||||||
long localSectionPresent,edition,bufrHeaderCentre,isSatellite;
|
long localSectionPresent,edition,bufrHeaderCentre,isSatellite;
|
||||||
|
|
||||||
|
@ -776,7 +776,7 @@ static void header(grib_dumper* d, grib_handle* h)
|
||||||
|
|
||||||
static void footer(grib_dumper* d, grib_handle* h)
|
static void footer(grib_dumper* d, grib_handle* h)
|
||||||
{
|
{
|
||||||
grib_dumper_python *self = (grib_dumper_python*)d;
|
grib_dumper_bufr_encode_python *self = (grib_dumper_bufr_encode_python*)d;
|
||||||
fprintf(self->dumper.out," codes_set(ibufr, 'pack', 1)\n");
|
fprintf(self->dumper.out," codes_set(ibufr, 'pack', 1)\n");
|
||||||
if (d->count==1)
|
if (d->count==1)
|
||||||
fprintf(self->dumper.out," outfile = open('outfile.bufr', 'w')\n");
|
fprintf(self->dumper.out," outfile = open('outfile.bufr', 'w')\n");
|
|
@ -1,13 +1,13 @@
|
||||||
/* This file is automatically generated by ./make_class.pl, do not edit */
|
/* This file is automatically generated by ./make_class.pl, do not edit */
|
||||||
{ "C", &grib_dumper_class_C, },
|
{ "bufr_encode_C", &grib_dumper_class_bufr_encode_C, },
|
||||||
{ "c_code", &grib_dumper_class_c_code, },
|
{ "c_code", &grib_dumper_class_c_code, },
|
||||||
{ "debug", &grib_dumper_class_debug, },
|
{ "debug", &grib_dumper_class_debug, },
|
||||||
{ "default", &grib_dumper_class_default, },
|
{ "default", &grib_dumper_class_default, },
|
||||||
{ "filter", &grib_dumper_class_filter, },
|
{ "bufr_encode_filter", &grib_dumper_class_bufr_encode_filter, },
|
||||||
{ "fortran", &grib_dumper_class_fortran, },
|
{ "bufr_encode_fortran", &grib_dumper_class_bufr_encode_fortran, },
|
||||||
{ "json", &grib_dumper_class_json, },
|
{ "json", &grib_dumper_class_json, },
|
||||||
{ "keys", &grib_dumper_class_keys, },
|
{ "keys", &grib_dumper_class_keys, },
|
||||||
{ "python", &grib_dumper_class_python, },
|
{ "bufr_encode_python", &grib_dumper_class_bufr_encode_python, },
|
||||||
{ "serialize", &grib_dumper_class_serialize, },
|
{ "serialize", &grib_dumper_class_serialize, },
|
||||||
{ "wmo", &grib_dumper_class_wmo, },
|
{ "wmo", &grib_dumper_class_wmo, },
|
||||||
{ "xml", &grib_dumper_class_xml, },
|
{ "xml", &grib_dumper_class_xml, },
|
||||||
|
|
|
@ -167,6 +167,41 @@ int grib_tool_new_file_action(grib_runtime_options* options,grib_tools_file* fil
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static char* get_dumper_name(grib_runtime_options* options)
|
||||||
|
{
|
||||||
|
if (grib_options_on("E:")) {
|
||||||
|
/* Dumper for ENCODING */
|
||||||
|
if (strcmp(options->dump_mode,"filter")==0) {
|
||||||
|
return "bufr_encode_filter";
|
||||||
|
}
|
||||||
|
if (strcmp(options->dump_mode,"fortran")==0) {
|
||||||
|
return "bufr_encode_fortran";
|
||||||
|
}
|
||||||
|
if (strcmp(options->dump_mode,"C")==0) {
|
||||||
|
return "bufr_encode_C";
|
||||||
|
}
|
||||||
|
if (strcmp(options->dump_mode,"python")==0) {
|
||||||
|
return "bufr_encode_python";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else if (grib_options_on("D:")) {
|
||||||
|
/* Dumper for DECODING */
|
||||||
|
if (strcmp(options->dump_mode,"filter")==0) {
|
||||||
|
return "bufr_decode_filter";
|
||||||
|
}
|
||||||
|
if (strcmp(options->dump_mode,"fortran")==0) {
|
||||||
|
return "bufr_decode_fortran";
|
||||||
|
}
|
||||||
|
if (strcmp(options->dump_mode,"C")==0) {
|
||||||
|
return "bufr_decode_C";
|
||||||
|
}
|
||||||
|
if (strcmp(options->dump_mode,"python")==0) {
|
||||||
|
return "bufr_decode_python";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return options->dump_mode;
|
||||||
|
}
|
||||||
|
|
||||||
int grib_tool_new_handle_action(grib_runtime_options* options, grib_handle* h)
|
int grib_tool_new_handle_action(grib_runtime_options* options, grib_handle* h)
|
||||||
{
|
{
|
||||||
long length=0;
|
long length=0;
|
||||||
|
@ -269,6 +304,7 @@ int grib_tool_new_handle_action(grib_runtime_options* options, grib_handle* h)
|
||||||
}
|
}
|
||||||
grib_dump_content(h,stdout,options->dump_mode,options->dump_flags,0);
|
grib_dump_content(h,stdout,options->dump_mode,options->dump_flags,0);
|
||||||
} else {
|
} else {
|
||||||
|
const char* dumper_name = get_dumper_name(options);
|
||||||
err=grib_set_long(h,"unpack",1);
|
err=grib_set_long(h,"unpack",1);
|
||||||
if (err) {
|
if (err) {
|
||||||
if (options->fail) {
|
if (options->fail) {
|
||||||
|
@ -280,7 +316,7 @@ int grib_tool_new_handle_action(grib_runtime_options* options, grib_handle* h)
|
||||||
return err;
|
return err;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
dumper=grib_dump_content_with_dumper(h,dumper,stdout,options->dump_mode,options->dump_flags,0);
|
dumper=grib_dump_content_with_dumper(h,dumper,stdout,dumper_name,options->dump_flags,0);
|
||||||
if (!dumper) exit(1);
|
if (!dumper) exit(1);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -301,30 +337,57 @@ void grib_tool_print_key_values(grib_runtime_options* options,grib_handle* h)
|
||||||
int grib_tool_finalise_action(grib_runtime_options* options)
|
int grib_tool_finalise_action(grib_runtime_options* options)
|
||||||
{
|
{
|
||||||
if (json) fprintf(stdout,"\n]}\n");
|
if (json) fprintf(stdout,"\n]}\n");
|
||||||
if (!strcmp(options->dump_mode,"filter")) {
|
|
||||||
fprintf(stdout,"set pack=1;\nwrite;\n");
|
|
||||||
}
|
|
||||||
if (!strcmp(options->dump_mode,"fortran")) {
|
|
||||||
fprintf(stdout,"end program bufr_create_message\n");
|
|
||||||
}
|
|
||||||
if (!strcmp(options->dump_mode,"C")) {
|
|
||||||
fprintf(stdout," return 0;\n");
|
|
||||||
fprintf(stdout,"}\n");
|
|
||||||
}
|
|
||||||
|
|
||||||
if (!strcmp(options->dump_mode,"python")) {
|
if (grib_options_on("E:")) {
|
||||||
fprintf(stdout,"\n\n");
|
/* Code for ENCODING */
|
||||||
fprintf(stdout,"def main():\n");
|
if (!strcmp(options->dump_mode,"filter")) {
|
||||||
fprintf(stdout," try:\n");
|
fprintf(stdout,"set pack=1;\nwrite;\n");
|
||||||
fprintf(stdout," bufr_create_message()\n");
|
}
|
||||||
fprintf(stdout," except CodesInternalError as err:\n");
|
if (!strcmp(options->dump_mode,"fortran")) {
|
||||||
fprintf(stdout," traceback.print_exc(file=sys.stderr)\n");
|
fprintf(stdout,"end program bufr_create_message\n");
|
||||||
fprintf(stdout," return 1\n");
|
}
|
||||||
fprintf(stdout,"\n\n");
|
if (!strcmp(options->dump_mode,"C")) {
|
||||||
fprintf(stdout,"if __name__ == \"__main__\":\n");
|
fprintf(stdout," return 0;\n");
|
||||||
fprintf(stdout," sys.exit(main())\n");
|
fprintf(stdout,"}\n");
|
||||||
|
}
|
||||||
|
if (!strcmp(options->dump_mode,"python")) {
|
||||||
|
fprintf(stdout,"\n\n");
|
||||||
|
fprintf(stdout,"def main():\n");
|
||||||
|
fprintf(stdout," try:\n");
|
||||||
|
fprintf(stdout," bufr_create_message()\n");
|
||||||
|
fprintf(stdout," except CodesInternalError as err:\n");
|
||||||
|
fprintf(stdout," traceback.print_exc(file=sys.stderr)\n");
|
||||||
|
fprintf(stdout," return 1\n");
|
||||||
|
fprintf(stdout,"\n\n");
|
||||||
|
fprintf(stdout,"if __name__ == \"__main__\":\n");
|
||||||
|
fprintf(stdout," sys.exit(main())\n");
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
else if (grib_options_on("D:")) {
|
||||||
|
/* Code for DECODING */
|
||||||
|
if (!strcmp(options->dump_mode,"filter")) {
|
||||||
|
|
||||||
|
}
|
||||||
|
if (!strcmp(options->dump_mode,"fortran")) {
|
||||||
|
|
||||||
|
}
|
||||||
|
if (!strcmp(options->dump_mode,"C")) {
|
||||||
|
fprintf(stdout," return 0;\n");
|
||||||
|
fprintf(stdout,"}\n");
|
||||||
|
}
|
||||||
|
if (!strcmp(options->dump_mode,"python")) {
|
||||||
|
fprintf(stdout,"\n\n");
|
||||||
|
fprintf(stdout,"def main():\n");
|
||||||
|
fprintf(stdout," try:\n");
|
||||||
|
fprintf(stdout," bufr_decode_message()\n");
|
||||||
|
fprintf(stdout," except CodesInternalError as err:\n");
|
||||||
|
fprintf(stdout," traceback.print_exc(file=sys.stderr)\n");
|
||||||
|
fprintf(stdout," return 1\n");
|
||||||
|
fprintf(stdout,"\n\n");
|
||||||
|
fprintf(stdout,"if __name__ == \"__main__\":\n");
|
||||||
|
fprintf(stdout," sys.exit(main())\n");
|
||||||
|
}
|
||||||
|
}
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1397,11 +1397,11 @@
|
||||||
>
|
>
|
||||||
</File>
|
</File>
|
||||||
<File
|
<File
|
||||||
RelativePath="..\..\..\src\grib_dumper_class_filter.c"
|
RelativePath="..\..\..\src\grib_dumper_class_bufr_encode_filter.c"
|
||||||
>
|
>
|
||||||
</File>
|
</File>
|
||||||
<File
|
<File
|
||||||
RelativePath="..\..\..\src\grib_dumper_class_fortran.c"
|
RelativePath="..\..\..\src\grib_dumper_class_bufr_encode_fortran.c"
|
||||||
>
|
>
|
||||||
</File>
|
</File>
|
||||||
<File
|
<File
|
||||||
|
@ -1413,7 +1413,7 @@
|
||||||
>
|
>
|
||||||
</File>
|
</File>
|
||||||
<File
|
<File
|
||||||
RelativePath="..\..\..\src\grib_dumper_class_python.c"
|
RelativePath="..\..\..\src\grib_dumper_class_bufr_encode_python.c"
|
||||||
>
|
>
|
||||||
</File>
|
</File>
|
||||||
<File
|
<File
|
||||||
|
|
Loading…
Reference in New Issue