]> Pileus Git - ~andy/rsl/blobdiff - nsig_to_radar.c
RSL v1.43
[~andy/rsl] / nsig_to_radar.c
index 03d739f75fe5b339ae31f5945bfde81e7e422d52..d134b55a7461f12111c0ec18c791a3d7c408ab3d 100644 (file)
@@ -193,6 +193,7 @@ RSL_nsig_to_radar
   float azm, elev, pitch, roll, heading, azm_rate, elev_rate,
     pitch_rate, roll_rate, heading_rate,
     lat, lon;
+  float fix_angle;
   int alt;  /* Altitude */
   float rvc;  /* Radial correction velocity m/s */
   float vel_east, vel_north, vel_up; /* Platform velocity vectors m/sec */
@@ -476,6 +477,9 @@ RSL_nsig_to_radar
    radar->h.height = (int)sea_lvl_hgt;
    radar->h.spulse = (int)(pw*1000);
    radar->h.lpulse = (int)(pw*1000);
+   ant_scan_mode = NSIG_I2(prod_file->rec2.task_config.scan_info.ant_scan_mode);
+   if(ant_scan_mode == 2 || ant_scan_mode == 7) radar->h.scan_mode = RHI;
+   else radar->h.scan_mode = PPI;
 
    if (radar_verbose_flag) {
 #ifdef NSIG_VER2
@@ -665,8 +669,9 @@ RSL_nsig_to_radar
       sweep->h.beam_width = beam_width;
       sweep->h.vert_half_bw = vert_half_bw;
       sweep->h.horz_half_bw = horz_half_bw;
-      elev = nsig_from_bang(nsig_sweep[itype]->idh.fix_ang);
-      sweep->h.elev = elev;
+      fix_angle = nsig_from_bang(nsig_sweep[itype]->idh.fix_ang);
+      if (radar->h.scan_mode == PPI) sweep->h.elev = fix_angle;
+      else sweep->h.azimuth = fix_angle;
       
       for(j = 0; j < num_rays; j++)
         {
@@ -722,7 +727,7 @@ RSL_nsig_to_radar
             else
               ray->h.unam_rng = 0.0;
           ray->h.prf2 = (int) prf2;
-          ray->h.fix_angle = (float)sweep->h.elev;
+          ray->h.fix_angle = fix_angle;
           ray->h.azim_rate  = azim_rate;
           ray->h.pulse_count = num_samples;
           ray->h.pulse_width = pw;