File: deserialize.c

package info (click to toggle)
eccodes 2.44.2-4
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 150,256 kB
  • sloc: cpp: 163,056; ansic: 26,308; sh: 21,602; f90: 6,854; perl: 6,363; python: 5,087; java: 2,226; javascript: 1,427; yacc: 854; fortran: 543; lex: 359; makefile: 274; xml: 183; awk: 66
file content (52 lines) | stat: -rw-r--r-- 945 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
#include <stdio.h>

#include "grib_api_internal.h"

int main(int argc, char *argv[])
{
#if 1
	FILE *f;
	int ret=0;
	int i;
	grib_associative_array* ar;
	grib_context* gc;
	grib_handle* gh;
	

	
	gc = grib_context_get_default();
	ar=grib_associative_array_new(gc);
	if (argc > 1) {
		for (i=1;i<argc;i++) {
			f = fopen(argv[i],"r");
  		if(!f) {
    		perror(argv[i]);
    		exit(1);
  		}
			grib_file_to_array(f,ar);
		}
	} else {
		grib_file_to_array(f,ar);
	}
	
	gh=grib_handle_new_from_array(ar);
	
	grib_associative_array_destroy(ar);
	
  if (gh) { 

  	grib_dump_content(gh,stdout,NULL,0,NULL);
		grib_set_long(gh,"editionNumber",2,NULL); 
		grib_dump_content(gh,stdout,NULL,0,NULL);
	} else  {
		printf("Error: unable to create grib_handle\n");
	}
  return ret;
	
#else
	grib_handle* gh = grib_handle_new_from_samples(NULL,"latlon");
	grib_set_long(gh,"editionNumber",2);
	grib_dump_content(gh,stdout,NULL,0,NULL);
	  return 0;
#endif
}