netcdf twpmplpolavgC3.c1.20110817.000030 { dimensions: time = UNLIMITED ; // (2878 currently) range_bins = 1999 ; variables: int base_time ; base_time:string = "17-Aug-2011,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 2011-08-17 00:00:30 0:00" ; double time(time) ; time:long_name = "Time offset from midnight" ; time:units = "seconds since 2011-08-17 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 bit packed values which should be interpreted as listed. No bits set (zero) represents good data." ; qc_range_offset:bit_1_description = "Not used" ; qc_range_offset:bit_1_assessment = "Bad" ; qc_range_offset:bit_1_comment = "Reserved for missing_value test" ; qc_range_offset:bit_2_description = "Not used" ; qc_range_offset:bit_2_assessment = "Bad" ; qc_range_offset:bit_2_comment = "Reserved for valid_min test" ; qc_range_offset:bit_3_description = "Averaged value is greater than valid_max" ; qc_range_offset:bit_3_assessment = "Bad" ; 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 bit packed values which should be interpreted as listed. No bits set (zero) represents good data." ; qc_energy_monitor:bit_1_description = "Not used" ; qc_energy_monitor:bit_1_assessment = "Bad" ; qc_energy_monitor:bit_1_comment = "Reserved for missing_value test" ; qc_energy_monitor:bit_2_description = "Averaged value is less than valid_min" ; qc_energy_monitor:bit_2_assessment = "Bad" ; 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 bit packed values which should be interpreted as listed. No bits set (zero) represents good data." ; qc_detector_temp:bit_1_description = "Not used" ; qc_detector_temp:bit_1_assessment = "Bad" ; qc_detector_temp:bit_1_comment = "Reserved for missing_value test" ; qc_detector_temp:bit_2_description = "Averaged value is less than valid_min" ; qc_detector_temp:bit_2_assessment = "Bad" ; qc_detector_temp:bit_3_description = "Averaged value is greater than valid_max" ; qc_detector_temp:bit_3_assessment = "Bad" ; 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 bit packed values which should be interpreted as listed. No bits set (zero) represents good data." ; qc_scope_temp:bit_1_description = "Not used" ; qc_scope_temp:bit_1_assessment = "Bad" ; qc_scope_temp:bit_1_comment = "Reserved for missing_value test" ; qc_scope_temp:bit_2_description = "Averaged value is less than valid_min" ; qc_scope_temp:bit_2_assessment = "Bad" ; qc_scope_temp:bit_3_description = "Averaged value is greater than valid_max" ; qc_scope_temp:bit_3_assessment = "Bad" ; 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 bit packed values which should be interpreted as listed. No bits set (zero) represents good data." ; qc_laser_temp:bit_1_description = "Not used" ; qc_laser_temp:bit_1_assessment = "Bad" ; qc_laser_temp:bit_1_comment = "Reserved for missing_value test" ; qc_laser_temp:bit_2_description = "Averaged value is less than valid_min" ; qc_laser_temp:bit_2_assessment = "Bad" ; qc_laser_temp:bit_3_description = "Averaged value is greater than valid_max" ; qc_laser_temp:bit_3_assessment = "Bad" ; 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 bit packed values which should be interpreted as listed. No bits set (zero) represents good data." ; qc_preliminary_cbh_cross_pol:bit_1_description = "Averaged value is less than 0, probably computed from set that contained missing values" ; qc_preliminary_cbh_cross_pol:bit_1_assessment = "Bad" ; qc_preliminary_cbh_cross_pol:bit_2_description = "Averaged value is less than valid_min" ; qc_preliminary_cbh_cross_pol:bit_2_assessment = "Bad" ; qc_preliminary_cbh_cross_pol:bit_3_description = "Averaged value is greater than valid_max" ; qc_preliminary_cbh_cross_pol:bit_3_assessment = "Bad" ; 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 bit packed values which should be interpreted as listed. No bits set (zero) represents good data." ; qc_preliminary_cbh_co_pol:bit_1_description = "Averaged value is less than 0, probably computed from set that contained missing_values" ; qc_preliminary_cbh_co_pol:bit_1_assessment = "Bad" ; qc_preliminary_cbh_co_pol:bit_2_description = "Averaged value is less than valid_min" ; qc_preliminary_cbh_co_pol:bit_2_assessment = "Bad" ; qc_preliminary_cbh_co_pol:bit_3_description = "Averaged value is greater than valid_max" ; qc_preliminary_cbh_co_pol:bit_3_assessment = "Bad" ; 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 qc_signal_return_cross_pol(time, range_bins) ; qc_signal_return_cross_pol:long_name = "Quality check results on field: Attenuated backscatter, cross-pol." ; qc_signal_return_cross_pol:units = "unitless" ; qc_signal_return_cross_pol:description = "This field contains bit packed values which should be interpreted as listed. No bits set (zero) represents good data." ; qc_signal_return_cross_pol:bit_1_description = "Not used" ; qc_signal_return_cross_pol:bit_1_assessment = "Bad" ; qc_signal_return_cross_pol:bit_1_comment = "Reserved for missing_value test" ; qc_signal_return_cross_pol:bit_2_description = "Not used" ; qc_signal_return_cross_pol:bit_2_assessment = "Bad" ; qc_signal_return_cross_pol:bit_2_comment = "Reserved for valid_min test" ; qc_signal_return_cross_pol:bit_3_description = "Not used" ; qc_signal_return_cross_pol:bit_3_assessment = "Bad" ; qc_signal_return_cross_pol:bit_3_comment = "Reserved for value greater than valid_max test" ; qc_signal_return_cross_pol:bit_4_description = "Not used" ; qc_signal_return_cross_pol:bit_4_assessment = "Bad" ; qc_signal_return_cross_pol:bit_4_comment = "Reserved for valid_delta test" ; qc_signal_return_cross_pol:bit_5_description = "At least one input sample was not included in average because non-zero QC was found in the input data" ; qc_signal_return_cross_pol:bit_5_assessment = "Bad" ; qc_signal_return_cross_pol:comment1 = "The MPLPOL instrument software sets a flag byte to 0 if the signal_return is good, 1 if the signal_return is bad." ; qc_signal_return_cross_pol:comment2 = "The flag byte for a signal return profile is set to 1 if the instrument detects an A/D start (timing corruption) error." ; qc_signal_return_cross_pol:comment3 = "Because min/max/delta QC reserves values 0x01 through 0x15, this value is set to 16 by mplpol_ingest if the flag byte is 1." ; qc_signal_return_cross_pol:comment4 = "aqc_polarization_control_voltage_cross_pol value propagated through entire profile, per VAP QC standards" ; 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 qc_signal_return_co_pol(time, range_bins) ; qc_signal_return_co_pol:long_name = "Quality check results on field: Attenuated backscatter, co-pol." ; qc_signal_return_co_pol:units = "unitless" ; qc_signal_return_co_pol:description = "This field contains bit packed values which should be interpreted as listed. No bits set (zero) represents good data." ; qc_signal_return_co_pol:bit_1_description = "Not used" ; qc_signal_return_co_pol:bit_1_assessment = "Bad" ; qc_signal_return_co_pol:bit_1_comment = "Reserved for missing_value test" ; qc_signal_return_co_pol:bit_2_description = "Not used" ; qc_signal_return_co_pol:bit_2_assessment = "Bad" ; qc_signal_return_co_pol:bit_2_comment = "Reserved for value less than valid_min test" ; qc_signal_return_co_pol:bit_3_description = "Not used" ; qc_signal_return_co_pol:bit_3_assessment = "Bad" ; qc_signal_return_co_pol:bit_3_comment = "Reserved for value greater than valid_max test" ; qc_signal_return_co_pol:bit_4_description = "Not used" ; qc_signal_return_co_pol:bit_4_assessment = "Bad" ; qc_signal_return_co_pol:bit_4_comment = "Reserved for valid_delta test" ; qc_signal_return_co_pol:bit_5_description = "At least one input sample was not included in average because it non-zero QC was found in the input data" ; qc_signal_return_co_pol:bit_5_assessment = "Bad" ; qc_signal_return_co_pol:comment1 = "The MPLPOL instrument software sets a flag byte to 0 if the signal_return is good, 1 if the signal_return is bad." ; qc_signal_return_co_pol:comment2 = "The flag byte for a signal return profile is set to 1 if the instrument detects an A/D start (timing corruption) error." ; qc_signal_return_co_pol:comment3 = "Because min/max/delta QC reserves values 0x01 through 0x15, this value is set to 16 by mplpol_ingest if the flag byte is 1." ; qc_signal_return_co_pol:comment4 = "aqc_polarization_control_voltage_co_pol value propagated through entire profile, per VAP QC standards" ; 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 20110817 -f twpC3" ; :site_id = "twp" ; :facility_id = "C3: Darwin, Australia" ; :Comment = "average polarized MPLPOL data to 30 second interval" ; :configuration_file = "/apps/process/conf/mplpolavg_lookup.info" ; :qc_standards_version = "0.1" ; :input_source = "201108170000_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 = "twpmplpolC3.b1 : 1.130000 : 20110817.000001 ;" ; :zeb_platform = "twpmplpolavgC3.c1" ; :history = "created by user dsmgr on machine garnet at 18-Aug-2011,5:34:51, using $State: zebra-zeblib-4.19-1.sol5_10 $" ; }