# the "RADARV" header need occur only once at the start of each volume typedef struct { char desc[4]; unsigned short recordlen; short rev; short year; /* this is also in the dwell as sec from 1970 */ char radar_name[8]; char polarization; /* H or V */ float test_pulse_pwr; /* power of test pulse (refered to antenna flange) */ float test_pulse_frq; /* test pulse frequency */ float frequency; /* transmit frequency */ float peak_power; /* typical xmit power (at antenna flange) read from config.rdr file */ float noise_figure; float noise_power; /* for subtracting from data */ float receiver_gain; /* hor chan gain from antenna flange to VIRAQ input */ float data_sys_sat; /* VIRAQ input power required for full scale */ float antenna_gain; float horz_beam_width; float vert_beam_width; float xmit_pulsewidth; /* transmitted pulse width */ float rconst; /* radar constant */ float phaseoffset; /* offset for phi dp */ float vreceiver_gain; /* ver chan gain from antenna flange to VIRAQ */ float vtest_pulse_pwr; /* ver test pulse power refered to antenna flange */ float vantenna_gain; float vnoise_power; /* for subtracting from data */ float zdr_fudge_factor; /* what else? */ # ifdef obsolete float misc[4]; /* 4 more misc floats */ # else float mismatch_loss; float misc[3]; /* 3 more misc floats */ # endif char text[960]; } RADARV; # "HEADERV" is at the start of each ray of data typedef struct { char desc[4]; unsigned short recordlen; short gates,hits; float rcvr_pulsewidth,prt,delay; /* delay to first gate */ char clutterfilter,timeseries; short tsgate; unsigned int time; /* seconds since 1970 */ short subsec; /* fractional seconds (.1 mS) */ float az,el; float radar_longitude; float radar_lattitude; float radar_altitude; float ew_velocity; float ns_velocity; float vert_velocity; char dataformat; /* 0 = abp, 1 = abpab (poly), 2 = abpab (dual prt) */ float prt2; float fxd_angle; unsigned char scan_type; unsigned char scan_num; unsigned char vol_num; unsigned int ray_count; char transition; float hxmit_power; /* on the fly hor power */ float vxmit_power; /* on the fly ver power */ # ifdef obsolete char spare[100]; # else float yaw; /* platform heading in degrees */ float pitch; /* platform pitch in degrees */ float roll; /* platform roll in degrees */ char spare[88]; # endif } HEADERV;