First line is 200 character long: (X) - Width of variable is X number of characters 1 - radar name (4) // 4 letter character string 2 - radar height (5) // MSL (meters) (float) 3 - radar latitude (8) // degrees (float) 4 - radar longitude (8) // degrees (float ) 5 - year (4) // UTC (int) 6 - month (2) // UTC (int) 7 - day (2) // UTC (int) 8 - hour (2) // UTC (int) 9 - minute (2) // UTC (int) 10 - second (2) // UTC (int) 11 - volume scan (4) // volume number (int ) 12 - VCP (2) // volume coverage pattern (int) 13 - tilt number (2) // 0 since this is composite sweep 14 - tilt angle (5) // ditto 15 - number of data columns (5) // (int) 16 - number of data rows (5) // (int) 17 - start azimuth (5) // azimuth of first radial (degrees) (float ) 18 - delta azimuth (5) // d_theta (degrees) (float ) 19 - start gate (5) // distance to first gate (meters) (float) 20 - delta gate (5) // gate resolution (meters) (float) 21 - data scale value (5) // divide data by this to get actual value (float) 22 - missing value (8) // value given to "missing" data (float) 23 - product code (3) // not important (int) 24 - units code (2) // not important (int) The rest of the file is the actual data. Divide by the scale value to get the data value. The delta_theta is fixed at one degree. The delta_r is fixed at 1000 meters. In other words, the first data column is at 0 degrees, the next column is 1 degree, then 2 degrees, etc. The first row starts at 500 meters, the next row is 1500 meters, then 2500 meters, etc. Each data "point" in the file is at azimuth ((column number * 1.0) - 1.0) degrees and at row ((row number * 1000.0) - 500.0) meters.