chil2nc

This program converts Chilbolton-format radar data to netCDF, a widely used format in meteorology and oceanography. The processing options are shared with chilplot, chil2a and loadchil, and are described here. The netCDF files are written in the current directory. In the case of scanning data, separate files are written for each scan, and the filenames have the form FFFFrRRRsSS{ID}.nc, where FFFF is the file or tape number, RRR is the raster number and SS is the scan number. {ID} is an extra string that can be used to (for instance) distinguish new and dop files, by specifying the option `-id new' or `-id dopYYYYMMDD_FF{ID}.nc, where YYYY is the year, MM is the month, DD is the day and FF is the radar frequency in GHz.

The easiest way to check the contents of a netCDF file is using the ncdump utility. Here is an example:
corona$ chil2nc /data/0090c94d.dat 2 -averays 10 -correctrange -oscillator -Zcal 25 -minelev 85
Writing 20000330_94.nc
corona$ ncdump 20000330_94.nc | less
netcdf 20000330_94 {
dimensions:
        time = UNLIMITED ; // (360 currently)
        range = 242 ;
variables:
        float frequency ;
                frequency:units = "GHz" ;
                frequency:long_name = "Radar frequency" ;
        float latitude ;
                latitude:units = "degrees_north" ;
        float longitude ;
                longitude:units = "degrees_east" ;
        float altitude ;
                altitude:units = "m" ;
                altitude:long_name = "Altitude of antenna above mean sea level" ;
        float time(time) ;
                time:units = "hours UTC" ;
                time:long_name = "Decimal hours since midnight" ;
        float range(range) ;
                range:units = "km" ;
                range:long_name = "Range from antenna" ;
        float Zh(time, range) ;
                Zh:units = "dBZ" ;
                Zh:long_name = "Radar reflectivity factor" ;
                Zh:missing_value = -999.f ;
        float v(time, range) ;
                v:units = "m/s" ;
                v:long_name = "Doppler velocity" ;
                v:missing_value = -999.f ;
        float sigma_v(time, range) ;
                sigma_v:units = "m/s" ;
                sigma_v:long_name = "Doppler velocity standard deviation" ;
                sigma_v:missing_value = -999.f ;

// global attributes:
                :system = "Galileo" ;
                :scantype = "Fixed" ;
                :day = 30s ;
                :month = 3s ;
                :year = 2000s ;
                :file = 90s ;
                :raster = 2s ;
                :options = "-averays 10 -correctrange -oscillator -Zcal 25 -minelev 85" ;
data:

 frequency = 94 ;
...