1 | #include <stdio.h> |
---|
2 | #include <stdlib.h> |
---|
3 | #include "grib1_routines.h" |
---|
4 | |
---|
5 | #define LATLON 0 |
---|
6 | #define LAMBERT 1 |
---|
7 | #define POLAR_STEREO 2 |
---|
8 | #define MERCATOR 3 |
---|
9 | |
---|
10 | main() |
---|
11 | { |
---|
12 | int level; |
---|
13 | int projection; |
---|
14 | int xdim; |
---|
15 | int ydim; |
---|
16 | int grid_id; |
---|
17 | float center_lat, center_lon; |
---|
18 | float proj_central_lon; |
---|
19 | float dx, dy; |
---|
20 | int south; |
---|
21 | float latin1, latin2; |
---|
22 | float *data; |
---|
23 | int filefd; |
---|
24 | int error; |
---|
25 | char datestr[200]; |
---|
26 | int i,j; |
---|
27 | float fcst_secs; |
---|
28 | int accum_period; |
---|
29 | int leveltype; |
---|
30 | int level2; |
---|
31 | Grib1_Tables grib1_tables; |
---|
32 | int ret; |
---|
33 | int status; |
---|
34 | Grid_Info gridinfo; |
---|
35 | |
---|
36 | level = 9950; |
---|
37 | projection = LAMBERT; |
---|
38 | xdim = 422; |
---|
39 | ydim = 271; |
---|
40 | center_lat = 0.0; |
---|
41 | center_lon = 0.0; |
---|
42 | proj_central_lon = -100.0; |
---|
43 | dx = 12.0; |
---|
44 | dy = 12.0; |
---|
45 | south = 0; |
---|
46 | latin1 = 30.0; |
---|
47 | latin2 = 60.0; |
---|
48 | data = (float *)calloc(xdim*ydim,sizeof(float)); |
---|
49 | fcst_secs = 360; |
---|
50 | accum_period = 0; |
---|
51 | leveltype = 119; |
---|
52 | level2 = 0; |
---|
53 | grid_id = 255; |
---|
54 | |
---|
55 | read_gribmap_("gribmap.txt",&grib1_tables,&ret); |
---|
56 | |
---|
57 | open_file_("test2.grb","w",&filefd,&error,9,1); |
---|
58 | strcpy(datestr,"2005-01-01_00:00:00"); |
---|
59 | for (i=0; i< 1; i++) { |
---|
60 | for (j=0; j<xdim*ydim; j++) { |
---|
61 | /* |
---|
62 | data[j] = rand()/RAND_MAX; |
---|
63 | */ |
---|
64 | data[j] = j/(float)ydim; |
---|
65 | } |
---|
66 | fprintf(stderr,"Writing grib record %d\n",i); |
---|
67 | status = LOAD_GRID_INFO("TSK", datestr, &leveltype, &level, |
---|
68 | &level2, &fcst_secs, &accum_period, &grid_id, &projection, |
---|
69 | &xdim, &ydim, ¢er_lat, ¢er_lon, &dx, &dy, |
---|
70 | &proj_central_lon, &south, &latin1, &latin2, |
---|
71 | &grib1_tables, &gridinfo, strlen("TSK"), strlen(datestr)); |
---|
72 | |
---|
73 | WRITE_GRIB(&gridinfo, &filefd, data); |
---|
74 | /* |
---|
75 | status = WRITE_GRIB("ABC",&level,&level2,&leveltype, |
---|
76 | datestr,&fcst_secs,&accum_period, |
---|
77 | &projection,&grid_id,&xdim,&ydim,¢er_lat, |
---|
78 | ¢er_lon,&proj_central_lon,&dx,&dy,&south,&latin1, |
---|
79 | &latin2,data,&grib_table_info,&filefd,8); |
---|
80 | */ |
---|
81 | fprintf(stderr,"status: %d\n",status); |
---|
82 | |
---|
83 | } |
---|
84 | |
---|
85 | FREE_GRIBMAP(&grib1_tables); |
---|
86 | } |
---|
87 | |
---|