]> Pileus Git - ~andy/rsl/blob - rainbow.h
Changes from Bart (2011-02-01)
[~andy/rsl] / rainbow.h
1 /* Control characters used in Rainbow data header */
2
3 #define SOH 0x01    /* Start of header: first character in Rainbow file. */
4 #define ETX 0x03    /* End of text:     end of header.                   */
5 #define  CR 0x0d    /* Carriage return: end of line, same as '\r'.       */
6 #define ETB 0x17    /* End of transmission block: marks header sections. */
7
8 /* Other constants */
9
10 #define SCAN_DATA   2
11 #define VOLUME_SCAN 100
12
13 /* Declarations */
14
15 struct elev_params {
16     float elev_angle;
17     float az_rate;
18     int prf_high;
19     int prf_low;
20     float maxrange;
21 };
22
23 typedef struct {
24     int filetype;
25     int product;
26     int datatype;
27     int compressed;
28     char radarname[9];
29     int month;
30     int day;
31     int year;
32     int hour;
33     int minute;
34     int sec;
35     float lat;          /* radar latitude, degrees  */
36     float lon;          /* radar longitude, degrees */
37     int nsweeps;
38     int az_start;       /* degrees */
39     int az_stop;        /* degrees */      
40     float az_step;      /* degrees */
41     float range_start;  /* km */
42     float range_stop;   /* km */
43     float range_step;   /* km */
44     int nbins;
45     float bin_resolution;  /* km */
46     int nvalues;
47     int pulse_width_code;
48     int zdata;
49     int vdata;
50     int wdata;
51     int unfolding;
52     int cdata;
53     int ddata;
54     int uzdata;
55     struct elev_params *elev_params[20];
56 } Rainbow_hdr;
57
58 /* Function prototypes */
59
60 Radar *RSL_rainbow_to_radar(char *infile);
61 int rainbow_data_to_radar(Radar *radar, Rainbow_hdr rainbow_hdr, FILE *fp);