2 * Test reading and writing of UF files by using the histogram function.
5 * 2. Print histogram of DZ volume.
6 * 3. Output Radar to UF.
7 * 3. Free Radar structure.
8 * 4. Read UF into Radar.
9 * 5. Print histogram of DZ volume.
11 * The two outputted histograms should be identical.
29 fprintf(stderr,"Usage: wsr_hist_uf_test infile\n");
33 process_args(int argc, char **argv, char **in_file)
35 if (argc == 2) *in_file = strdup(argv[1]);
40 main(int argc, char **argv)
45 Histogram *histogram = NULL;
47 process_args(argc, argv, &infile);
48 RSL_radar_verbose_on();
50 if ((radar = RSL_anyformat_to_radar(infile, "KMLB")) == NULL) {
51 /* RSL_wsr88d_to_radar writes an error message to stdout. */
55 /***********************************************************************/
57 /* You now have a pointer to Radar. */
58 /* Now use *radar all you like. */
60 /***********************************************************************/
62 /* Use radar->v[DZ_INDEX] for REFELECTIVITY
63 * radar->v[VR_INDEX] for VELOCITY
64 * radar->v[SW_INDEX] for SPECTRUM_WIDTH
66 printf("Radar date: %2.2d/%2.2d/%2.2d\n", radar->h.month, radar->h.day, radar->h.year);
67 printf("Radar time: %2.2d:%2.2d:%f\n", radar->h.hour, radar->h.minute, radar->h.sec);
70 RSL_radar_to_uf(radar, "uf_file.uf");
71 histogram = RSL_get_histogram_from_volume(radar->v[DZ_INDEX],
72 histogram, -30, 70, 0, 200);
73 RSL_print_histogram(histogram, 0, 200, "hist_wsr88d_to_radar.dat");
74 RSL_free_radar(radar);
76 RSL_radar_verbose_on();
77 printf("RSL_uf_to_radar\n");
78 radar = RSL_uf_to_radar("uf_file.uf");
79 histogram = NULL; /* There should be a free here. */
80 histogram = RSL_get_histogram_from_volume(radar->v[DZ_INDEX],
81 histogram, -30, 70, 0, 200);
82 RSL_print_histogram(histogram, 0, 200, "hist_uf_to_radar.dat");