-
- if (ray_hdr.dbptr_radial_const != 0) {
- begin_data_block = ray_hdr.dbptr_radial_const - ray_hdr_len;
- memcpy(&wsr88d_ray->unamb_rng, &radial[begin_data_block+6], 2);
- memcpy(&wsr88d_ray->nyq_vel, &radial[begin_data_block+16], 2);
- if (little_endian()) {
- swap_2_bytes(&wsr88d_ray->unamb_rng);
- swap_2_bytes(&wsr88d_ray->nyq_vel);
- }
- }
- else {
- wsr88d_ray->unamb_rng = 0;
- wsr88d_ray->nyq_vel = 0;
- }
-
- if (ray_hdr.dbptr_ref != 0) {
- begin_data_block = ray_hdr.dbptr_ref - ray_hdr_len;
- wsr88d_ray->ref = read_data_moment(radial, begin_data_block);
- }
- if (ray_hdr.dbptr_vel != 0) {
- begin_data_block = ray_hdr.dbptr_vel - ray_hdr_len;
- wsr88d_ray->vel = read_data_moment(radial, begin_data_block);
- }
- if (ray_hdr.dbptr_sw != 0) {
- begin_data_block = ray_hdr.dbptr_sw - ray_hdr_len;
- wsr88d_ray->sw = read_data_moment(radial, begin_data_block);
- }
-
-
- /* For testing: print reflectivity data. */
- int prtdata = 0;
- { int i;
- if (prtdata) {
- for (i=0; i < wsr88d_ray->ref->data_hdr.ngates; i++) {
- if (i % 10 == 0) printf("\n");
- printf(" %d", wsr88d_ray->ref->data[i]);
- }
- printf("\n");
- }
- }
-
- free(radial);
- return 1;
-}
-
-
-void wsr88d_load_ray_data(Data_moment *data_block, Ray *ray)
-{
- Data_moment_hdr data_hdr;
- int ngates;
- int i;
- float value, scale, offset;
- unsigned char *data;
- Range (*invf)(float x);
- float (*f)(Range x);
-
- data_hdr = data_block->data_hdr;
- data = data_block->data;
-
- /*
- printf("wsr88d_load_ray_data: ");
- printf(" DataName: %s\n", data_hdr.dataname);
- */
-
- ngates = data_hdr.ngates;
- /*
- printf(" ngates = %d\n", ngates);
- printf(" scale = %f\n", data_hdr.scale);
- printf(" offset = %f\n", data_hdr.offset);
- */
- offset = data_hdr.offset;
- scale = data_hdr.scale;
-
- /* Note: data range is 2-255. 0 means signal is below threshold, and 1
- * means range folded.