netcdf twpmplpolavgC2.s1.20090213.000030 { dimensions: time = UNLIMITED ; // (2503 currently) range_bins = 1999 ; variables: int base_time ; base_time:string = "13-Feb-2009,0:00:30 GMT" ; base_time:long_name = "Base time in Epoch" ; base_time:units = "seconds since 1970-1-1 0:00:00 0:00" ; double time_offset(time) ; time_offset:long_name = "Time offset from base_time" ; time_offset:units = "seconds since 2009-02-13 00:00:30 0:00" ; double time(time) ; time:long_name = "Time offset from midnight" ; time:units = "seconds since 2009-02-13 00:00:00 0:00" ; int num_channels ; num_channels:long_name = "Number of detector channels" ; num_channels:units = "count" ; int num_bins ; num_bins:long_name = "Number of bins stored in data block" ; num_bins:units = "count" ; float range_bins(range_bins) ; range_bins:long_name = "Distance from leading edge of first range bin to the center of each bin." ; range_bins:units = "km" ; range_bins:comment1 = "This value does not account for the range offset due to mistiming of the laser firing and the multichannel scalar trigger" ; range_bins:resolution = 0.001f ; range_bins:accuracy = "2% scale factor +/- 90 meters scale offset" ; float range(range_bins) ; range:long_name = "Distance from transceiver to center of corresponding range_bin" ; range:units = "km" ; float height(range_bins) ; height:long_name = "Height above ground of the center of corresponding range_bin" ; height:units = "km" ; float shots_per_sample ; shots_per_sample:long_name = "Number of laser pulses summed during averaging interval" ; shots_per_sample:units = "count" ; shots_per_sample:accuracy = "exact" ; shots_per_sample:precision = "exact" ; float pulse_rep ; pulse_rep:long_name = "Repetition rate, or Trigger Frequency of the laser" ; pulse_rep:units = "Hz" ; pulse_rep:precision = "0.2%" ; pulse_rep:accuracy = "2%" ; pulse_rep:comment1 = "Manually entered input after selection with laser control handset." ; float max_altitude ; max_altitude:long_name = "Maximum altitude retrieved from multichannel scalar card." ; max_altitude:units = "km" ; max_altitude:comment1 = "generally 60 km." ; float range_offset(time) ; range_offset:long_name = "Distance between initial range_bin and the laser flash" ; range_offset:units = "km" ; range_offset:valid_max = 1.f ; range_offset:comment = "This value is determined by subtracting the background from each profile and defining the first range bin where there is substantial signal as being the first range gate, that is, zero range." ; int qc_range_offset(time) ; qc_range_offset:long_name = "Quality check results on field: Distance between initial range_bin and the laser flash." ; qc_range_offset:units = "unitless" ; qc_range_offset:description = "This field contains qc values which should be interpreted as listed:\n", "0 = Good: Data exists and passed all qc tests.\n", "1 = Indeterminate: Data may be bad, further analysis recommended.\n", "2 = Bad: Data has a bad value.\n", "3 = Missing: Data is missing." ; float energy_monitor(time) ; energy_monitor:long_name = "Energy output per pulse of transmitted laser beam at 532 nm (Doubled Nd-YLF)" ; energy_monitor:units = "uJ" ; energy_monitor:valid_min = 1.f ; energy_monitor:precision = "5%" ; energy_monitor:comment1 = "For signal normalization only, as the monitor is not absolutely calibrated" ; int qc_energy_monitor(time) ; qc_energy_monitor:long_name = "Quality check results on field: Energy output per pulse of transmitted laser beam at 532 nm (Doubled Nd-YLF)." ; qc_energy_monitor:units = "unitless" ; qc_energy_monitor:description = "This field contains qc values which should be interpreted as listed:\n", "0 = Good: Data exists and passed all qc tests.\n", "1 = Indeterminate: Data may be bad, further analysis recommended.\n", "2 = Bad: Data has a bad value.\n", "3 = Missing: Data is missing." ; float detector_temp(time) ; detector_temp:long_name = "Detector temperature" ; detector_temp:units = "C" ; detector_temp:valid_min = 10.f ; detector_temp:valid_max = 40.f ; detector_temp:comment1 = "Determined from thermistor mounted against detector module within transceiver chassis" ; detector_temp:precision = "1%" ; detector_temp:accuracy = "2 degrees C" ; detector_temp:digital_sampling = "8-bit" ; int qc_detector_temp(time) ; qc_detector_temp:long_name = "Quality check results on field: Detector temperature." ; qc_detector_temp:units = "unitless" ; qc_detector_temp:description = "This field contains qc values which should be interpreted as listed:\n", "0 = Good: Data exists and passed all qc tests.\n", "1 = Indeterminate: Data may be bad, further analysis recommended.\n", "2 = Bad: Data has a bad value.\n", "3 = Missing: Data is missing." ; float scope_temp(time) ; scope_temp:long_name = "Telescope temperature" ; scope_temp:units = "C" ; scope_temp:valid_min = 10.f ; scope_temp:valid_max = 40.f ; int qc_scope_temp(time) ; qc_scope_temp:long_name = "Quality check results on field: Telescope temperature." ; qc_scope_temp:units = "unitless" ; qc_scope_temp:description = "This field contains qc values which should be interpreted as listed:\n", "0 = Good: Data exists and passed all qc tests.\n", "1 = Indeterminate: Data may be bad, further analysis recommended.\n", "2 = Bad: Data has a bad value.\n", "3 = Missing: Data is missing." ; float laser_temp(time) ; laser_temp:long_name = "Laser temperature" ; laser_temp:units = "C" ; laser_temp:valid_min = 10.f ; laser_temp:valid_max = 40.f ; laser_temp:comment1 = "Determined from thermistor mounted against Nd-YLF laser head within transceiver chassis." ; laser_temp:precision = "3%" ; laser_temp:accuracy = "2 degrees C" ; laser_temp:digital_sampling = "8-bit" ; int qc_laser_temp(time) ; qc_laser_temp:long_name = "Quality check results on field: Laser temperature." ; qc_laser_temp:units = "unitless" ; qc_laser_temp:description = "This field contains qc values which should be interpreted as listed:\n", "0 = Good: Data exists and passed all qc tests.\n", "1 = Indeterminate: Data may be bad, further analysis recommended.\n", "2 = Bad: Data has a bad value.\n", "3 = Missing: Data is missing." ; float preliminary_cbh_cross_pol(time) ; preliminary_cbh_cross_pol:long_name = "Preliminary cloud base height above ground level, cross-pol" ; preliminary_cbh_cross_pol:units = "km" ; preliminary_cbh_cross_pol:valid_min = 0.2f ; preliminary_cbh_cross_pol:valid_max = 20.f ; preliminary_cbh_cross_pol:missing_value = -9999.f ; preliminary_cbh_cross_pol:comment1 = "Lacks sensitivity for very near (less than 1 km) and very high (greater than 10 km) thin clouds" ; preliminary_cbh_cross_pol:precision = "Cloud base is within +/- 1/2 range_bin" ; preliminary_cbh_cross_pol:accuracy = "2%" ; int qc_preliminary_cbh_cross_pol(time) ; qc_preliminary_cbh_cross_pol:long_name = "Quality check results on field: Preliminary cloud base height above ground level, cross-pol." ; qc_preliminary_cbh_cross_pol:units = "unitless" ; qc_preliminary_cbh_cross_pol:description = "This field contains qc values which should be interpreted as listed:\n", "0 = Good: Data exists and passed all qc tests.\n", "1 = Indeterminate: Data may be bad, further analysis recommended.\n", "2 = Bad: Data has a bad value.\n", "3 = Missing: Data is missing." ; float preliminary_cbh_co_pol(time) ; preliminary_cbh_co_pol:long_name = "Preliminary cloud base height above ground level, co-pol" ; preliminary_cbh_co_pol:units = "km" ; preliminary_cbh_co_pol:valid_min = 0.2f ; preliminary_cbh_co_pol:valid_max = 20.f ; preliminary_cbh_co_pol:missing_value = -9999.f ; preliminary_cbh_co_pol:comment1 = "Lacks sensitivity for very near (less than 1 km) and very high (greater than 10 km) thin clouds" ; preliminary_cbh_co_pol:precision = "Cloud base is within +/- 1/2 range_bin" ; preliminary_cbh_co_pol:accuracy = "2%" ; int qc_preliminary_cbh_co_pol(time) ; qc_preliminary_cbh_co_pol:long_name = "Quality check results on field: Preliminary cloud base height above ground level, co-pol." ; qc_preliminary_cbh_co_pol:units = "unitless" ; qc_preliminary_cbh_co_pol:description = "This field contains qc values which should be interpreted as listed:\n", "0 = Good: Data exists and passed all qc tests.\n", "1 = Indeterminate: Data may be bad, further analysis recommended.\n", "2 = Bad: Data has a bad value.\n", "3 = Missing: Data is missing." ; float background_signal_cross_pol(time) ; background_signal_cross_pol:long_name = "Background signal, cross-pol" ; background_signal_cross_pol:units = "Counts/microsecond" ; background_signal_cross_pol:resolution = 1.f ; float background_signal_co_pol(time) ; background_signal_co_pol:long_name = "Background signal, co-pol" ; background_signal_co_pol:units = "Counts/microsecond" ; background_signal_co_pol:resolution = 1.f ; float background_signal_std_cross_pol(time) ; background_signal_std_cross_pol:long_name = "Background signal standard deviation, cross-pol" ; background_signal_std_cross_pol:units = "Counts/microsecond" ; background_signal_std_cross_pol:resolution = "1." ; float background_signal_std_co_pol(time) ; background_signal_std_co_pol:long_name = "Background signal standard deviation, co-pol" ; background_signal_std_co_pol:units = "Counts/microsecond" ; background_signal_std_co_pol:resolution = "1." ; float range_bin_width(time) ; range_bin_width:long_name = "Width of range-bins calculated from range_bin_time" ; range_bin_width:units = "km" ; range_bin_width:precision = "less than 1 meter" ; range_bin_width:accuracy = "2%" ; range_bin_width:comment = "User selected as 15, 30, or 75 meters" ; int dead_time_corrected(time) ; dead_time_corrected:long_name = "Dead time correction flag" ; dead_time_corrected:units = "unitless" ; dead_time_corrected:value0 = "0 is default" ; dead_time_corrected:value1 = "1 equals corrected" ; dead_time_corrected:missing_value = -9999 ; float polarization_control_voltage_cross_pol(time) ; polarization_control_voltage_cross_pol:long_name = "Polarization control voltage, cross-pol" ; polarization_control_voltage_cross_pol:units = "volts" ; float polarization_control_voltage_co_pol(time) ; polarization_control_voltage_co_pol:long_name = "Polarization control voltage, co-pol" ; polarization_control_voltage_co_pol:units = "volts" ; float signal_return_cross_pol(time, range_bins) ; signal_return_cross_pol:long_name = "Attenuated backscatter, cross-pol" ; signal_return_cross_pol:units = "Counts/microsecond" ; signal_return_cross_pol:description = "This field literally contains the counts detected by the detector for each range bin. No corrections of any kind have been applied to this field. In order to make proper use of this data, one should correct for detector non-linearity, subtract background counts, apply a range-squared multiplication, and optimally correct for optical overlap and collimation artifacts." ; int aqc_signal_return_cross_pol(time) ; aqc_signal_return_cross_pol:long_name = "*" ; aqc_signal_return_cross_pol:units = "unitless" ; aqc_signal_return_cross_pol:description = "This value is set to 16 by mplpol_ingest if the signal_return data is bad." ; float signal_return_co_pol(time, range_bins) ; signal_return_co_pol:long_name = "Attenuated backscatter, co-pol" ; signal_return_co_pol:units = "Counts/microsecond" ; signal_return_co_pol:description = "This field literally contains the counts detected by the detector for each range bin. No corrections of any kind have been applied to this field. In order to make proper use of this data, one should correct for detector non-linearity, subtract background counts, apply a range-squared multiplication, and optimally correct for optical overlap and collimation artifacts." ; int aqc_signal_return_co_pol(time) ; aqc_signal_return_co_pol:long_name = "*" ; aqc_signal_return_co_pol:units = "unitless" ; aqc_signal_return_co_pol:description = "This value is set to 16 by the mplpol_ingest if the signal_return data is bad." ; int nsamples_cross_pol_average(time) ; nsamples_cross_pol_average:long_name = "Number of samples used for cross-pol averages" ; nsamples_cross_pol_average:units = "unitless" ; int nsamples_co_pol_average(time) ; nsamples_co_pol_average:long_name = "Number of samples used for co-pol averages" ; nsamples_co_pol_average:units = "unitless" ; float lat ; lat:long_name = "North latitude" ; lat:units = "degree_N" ; lat:valid_min = -90.f ; lat:valid_max = 90.f ; float lon ; lon:long_name = "East longitude" ; lon:units = "degree_E" ; lon:valid_min = -180.f ; lon:valid_max = 180.f ; float alt ; alt:long_name = "Altitude above mean sea level" ; alt:units = "m" ; // global attributes: :process_version = "$State: vap-mplpolavg-1.14-0.sol5_10 $" ; :command_line = "mplpolavg -d 20090213 -f twpC2" ; :site_id = "twp" ; :facility_id = "C2: Denigomodu, Nauru Island" ; :Comment = "average polarized MPLPOL data to 30 second interval" ; :configuration_file = "/apps/process/conf/mplpolavg_lookup.info" ; :qc_standards_version = "0.1" ; :input_source = "200902130000_0.mpl" ; :ingest_software = " mplpol_ingest.c,v 1.13 2007/12/19 17:19:12 koontz ingest-mplpol-9.3-1 $" ; :Additional_processing = "data was averaged via mplpol_avg" ; :proc_level = "c1" ; :sample_int = "400.000000 microseconds" ; :resolution_description = "The resolution field attributes refer to the number of significant\n", "digits relative to the decimal point that should be used in\n", "calculations. Using fewer digits might result in greater uncertainty;\n", "using a larger number of digits should have no effect and thus is\n", "unnecessary. However, analyses based on differences in values with\n", "a larger number of significant digits than indicated could lead to\n", "erroneous results or misleading scientific conclusions.\n", "\n", "resolution for lat= 0.001\n", "resolution for lon = 0.001\n", "resolution for alt = 1" ; :instrument_operator = "Autonomous operation" ; :input_file_format = "MPL-4B Series File Format" ; :mplpol_averaging_int = "3.000000 seconds" ; :averaging_int = "30.000000" ; :accuracy_description = "The accuracy field attribute refers to the relative or absolute systemic error which may contribute to inaccuracies of the mean value." ; :precision_description = "The precision field attribute refers to the relative or absolute error of a statistical origin which reduces the certainty to which a value is known but does not contribute to inaccuracies of the mean value." ; :Instrument_Mentor = "Rich Coulter, rlcoulter@anl.gov, 630-252-5833" ; :time_offset_description = "The time_offset is reference to the beginning of the averaging interval." ; :serial_number = "108" ; :input_datastreams_description = "A string consisting of the datastream(s), datastream version(s), and datastream date (range)." ; :input_datastreams_num = "1" ; :input_datastreams = "twpmplpolC2.b1 : 1.130000 : 20090213.000002 ;" ; :zeb_platform = "twpmplpolavgC2.c1" ; :history = "created by user dsmgr on machine reproc1 at 14-Mar-2010,14:58:09, using $State: zebra-zeblib-4.19-1.sol5_10 $" ; }