source: trunk/WRF.COMMON/WRFV3/external/io_grib1/test_write_grib.c @ 2759

Last change on this file since 2759 was 2759, checked in by aslmd, 2 years ago

adding unmodified code from WRFV3.0.1.1, expurged from useless data +1M size

File size: 1.9 KB
Line 
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
10main()
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, &center_lat, &center_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,&center_lat,
78                &center_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
Note: See TracBrowser for help on using the repository browser.