netcdf acxmplpolfsM1.b1.20150214.000000 { dimensions: time = UNLIMITED ; // (64794 currently) range_bins = 1999 ; num_deadtime_corr = 21 ; num_overlap_corr = 333 ; variables: int base_time ; base_time:string = "2015-02-14 00:00:00 0:00" ; base_time:long_name = "Base time in Epoch" ; base_time:units = "seconds since 1970-1-1 0:00:00 0:00" ; base_time:ancillary_variables = "time_offset" ; double time_offset(time) ; time_offset:long_name = "Time offset from base_time" ; time_offset:units = "seconds since 2015-02-14 00:00:00 0:00" ; time_offset:ancillary_variables = "base_time" ; double time(time) ; time:long_name = "Time offset from midnight" ; time:units = "seconds since 2015-02-14 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" ; range:comment1 = "Derived from range_bins by subtracting range_offset." ; range:comment2 = "Negative values correspond to bins preceding laser flash." ; float height(range_bins) ; height:long_name = "Height above ground of the center of corresponding range_bin" ; height:units = "km" ; height: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." ; float deadtime_correction_counts(num_deadtime_corr) ; deadtime_correction_counts:long_name = "Laboratory measured counts used to calculate the deadtime correction samples" ; deadtime_correction_counts:units = "count/us" ; float deadtime_correction(num_deadtime_corr) ; deadtime_correction:long_name = "Deadtime correction factor" ; deadtime_correction:units = "unitless" ; float overlap_correction_heights(num_overlap_corr) ; overlap_correction_heights:long_name = "Heights for overlap correction" ; overlap_correction_heights:units = "km" ; float overlap_correction(num_overlap_corr) ; overlap_correction:long_name = "Overlap correction factor" ; overlap_correction:units = "unitless" ; float shots_per_avg ; shots_per_avg:long_name = "Number of laser pulses summed during averaging interval" ; shots_per_avg:units = "count" ; shots_per_avg:missing_value = -9999.f ; float pulse_rep ; pulse_rep:long_name = "Repetition rate, or Trigger Frequency of the laser" ; pulse_rep:units = "Hz" ; pulse_rep:missing_value = -9999.f ; 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:missing_value = -9999.f ; 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:missing_value = -9999.f ; range_offset:valid_max = 10.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." ; range_offset:ancillary_variables = "qc_range_offset" ; 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 = "See global attributes for individual QC bit descriptions." ; 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:missing_value = -9999.f ; energy_monitor:valid_min = 1.f ; energy_monitor:precision = "5%" ; energy_monitor:comment1 = "For signal normalization only, as the monitor is not absolutely calibrated" ; energy_monitor:ancillary_variables = "qc_energy_monitor" ; 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 = "See global attributes for individual QC bit descriptions." ; float detector_temp(time) ; detector_temp:long_name = "Detector temperature" ; detector_temp:units = "degC" ; detector_temp:missing_value = -9999.f ; 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" ; detector_temp:ancillary_variables = "qc_detector_temp" ; 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 = "See global attributes for individual QC bit descriptions." ; float scope_temp(time) ; scope_temp:long_name = "Telescope temperature" ; scope_temp:units = "degC" ; scope_temp:missing_value = -9999.f ; scope_temp:valid_min = 10.f ; scope_temp:valid_max = 40.f ; scope_temp:ancillary_variables = "qc_scope_temp" ; 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 = "See global attributes for individual QC bit descriptions." ; float laser_temp(time) ; laser_temp:long_name = "Laser temperature" ; laser_temp:units = "degC" ; laser_temp:missing_value = -9999.f ; 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 degC" ; laser_temp:digital_sampling = "8-bit" ; laser_temp:ancillary_variables = "qc_laser_temp" ; 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 = "See global attributes for individual QC bit descriptions." ; float background_signal_cross_pol(time) ; background_signal_cross_pol:long_name = "Background signal, cross pol data" ; background_signal_cross_pol:units = "count/us" ; background_signal_cross_pol:missing_value = -9999.f ; background_signal_cross_pol:resolution = 1.f ; float background_signal_std_cross_pol(time) ; background_signal_std_cross_pol:long_name = "Background signal standard deviation, cross pol data" ; background_signal_std_cross_pol:units = "count/us" ; background_signal_std_cross_pol:missing_value = -9999.f ; background_signal_std_cross_pol:resolution = 1.f ; float background_signal_co_pol(time) ; background_signal_co_pol:long_name = "Background signal, copol data" ; background_signal_co_pol:units = "count/us" ; background_signal_co_pol:missing_value = -9999.f ; background_signal_co_pol:resolution = 1.f ; float background_signal_std_co_pol(time) ; background_signal_std_co_pol:long_name = "Background signal standard deviation, copol data" ; background_signal_std_co_pol:units = "count/us" ; background_signal_std_co_pol:missing_value = -9999.f ; background_signal_std_co_pol:resolution = 1.f ; float range_bin_time(time) ; range_bin_time:long_name = "Time in seconds for each range bin of multichannel scalar card." ; range_bin_time:units = "second" ; range_bin_time:missing_value = -9999.f ; range_bin_time:precision = "1 nanosecond" ; range_bin_time:accuracy = "2%" ; range_bin_time:comment = "User selected (through range_bin) as 100, 200, or 500ns" ; 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:missing_value = -9999.f ; range_bin_width:precision = "< 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:flag_values = 0, 1 ; dead_time_corrected:flag_meanings = "default corrected" ; int polarization_control(time) ; polarization_control:long_name = "Polarization control enabled flag" ; polarization_control:units = "unitless" ; polarization_control:flag_values = 0, 1 ; polarization_control:flag_meanings = "disabled enabled" ; float polarization_control_voltage(time) ; polarization_control_voltage:long_name = "Polarization control voltage setting" ; polarization_control_voltage:units = "volt" ; polarization_control_voltage:missing_value = -9999.f ; int mcs_mode ; mcs_mode:long_name = "MCS mode register, value is either 167 or 199." ; mcs_mode:units = "unitless" ; float signal_return_cross_pol(time, range_bins) ; signal_return_cross_pol:long_name = "Attenuated backscatter, cross pol" ; signal_return_cross_pol:units = "count/us" ; 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." ; signal_return_cross_pol:ancillary_variables = "qc_signal_return_cross_pol" ; int qc_signal_return_cross_pol(time) ; 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 integer values, where each bit represents a QC test on the data. Non-zero bits indicate the QC condition given in the description for those bits; a value of 0 (no bits set) indicates the data has not failed any QC tests." ; qc_signal_return_cross_pol:flag_method = "bit" ; 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_2_description = "Not used" ; qc_signal_return_cross_pol:bit_2_assessment = "Bad" ; 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_4_description = "Not used" ; qc_signal_return_cross_pol:bit_4_assessment = "Bad" ; qc_signal_return_cross_pol:bit_5_description = "The instrument detects an A/D start (timing corruption) error" ; qc_signal_return_cross_pol:bit_5_assessment = "Bad" ; float signal_return_co_pol(time, range_bins) ; signal_return_co_pol:long_name = "Attenuated backscatter, copol" ; signal_return_co_pol:units = "count/us" ; 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." ; signal_return_co_pol:ancillary_variables = "qc_signal_return_co_pol" ; int qc_signal_return_co_pol(time) ; qc_signal_return_co_pol:long_name = "Quality check results on field: Attenuated backscatter, copol" ; qc_signal_return_co_pol:units = "unitless" ; qc_signal_return_co_pol:description = "This field contains bit packed integer values, where each bit represents a QC test on the data. Non-zero bits indicate the QC condition given in the description for those bits; a value of 0 (no bits set) indicates the data has not failed any QC tests." ; qc_signal_return_co_pol:flag_method = "bit" ; 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_2_description = "Not used" ; qc_signal_return_co_pol:bit_2_assessment = "Bad" ; 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_4_description = "Not used" ; qc_signal_return_co_pol:bit_4_assessment = "Bad" ; qc_signal_return_co_pol:bit_5_description = "The instrument detects an A/D start (timing corruption) error" ; qc_signal_return_co_pol:bit_5_assessment = "Bad" ; int first_data_bin(time) ; first_data_bin:long_name = "Bin number of first data. Tells where pretrigger timing ends and end of region for background data sampling" ; first_data_bin:units = "unitless" ; int laser_fire_bin(time) ; laser_fire_bin:long_name = "Bin number associated with zero height and time where laser transmit occurs" ; laser_fire_bin:units = "unitless" ; float lat ; lat:long_name = "North latitude" ; lat:units = "degree_N" ; lat:valid_min = -90.f ; lat:valid_max = 90.f ; lat:standard_name = "latitude" ; float lon ; lon:long_name = "East longitude" ; lon:units = "degree_E" ; lon:valid_min = -180.f ; lon:valid_max = 180.f ; lon:standard_name = "longitude" ; float alt ; alt:long_name = "Altitude above mean sea level" ; alt:units = "m" ; alt:standard_name = "altitude" ; // global attributes: :command_line = "mplpolfs_ingest -s acx -f M1 -R" ; :Conventions = "ARM-1.1" ; :process_version = "ingest-mplpolfs-1.13-0.el6" ; :ingest_software = "ingest-mplpolfs-1.13-0.el6" ; :dod_version = "mplpolfs-b1-1.4" ; :site_id = "acx" ; :facility_id = "M1: Research Vessel Ron Brown" ; :data_level = "b1" ; :input_source = "/data/home/dyapa/prod/jobs/1310/collection/acx/acxmplpolfsM1.00/acxmplpolfsM1.00.20150214.010501.raw.201502140000.mpl" ; :resolution_description = "The resolution field attributes refer to the number of significant digits relative to the decimal point that should be used in calculations. Using fewer digits might result in greater uncertainty. Using a larger number of digits should have no effect and thus is unnecessary. However, analyses based on differences in values with a larger number of significant digits than indicated could lead to erroneous results or misleading scientific conclusions.\n", "\n", "resolution for lat = 0.001\n", "resolution for lon = 0.001\n", "resolution for alt = 1" ; :serial_number = "4103" ; :averaging_interval = "1.000000" ; :sampling_interval = "0.000400" ; :deadtime_correction_file = "acxmplpolfsM1_20140101.deadtime" ; :overlap_correction_file = "acxmplpolfsM1_20140101.overlap" ; :qc_bit_comment = "The QC field values are a bit packed representation of true/false values for the tests that may have been performed. A QC value of zero means that none of the tests performed on the value failed." ; :qc_bit_1_description = "Value is equal to missing_value." ; :qc_bit_1_assessment = "Bad" ; :qc_bit_2_description = "Value is less than the valid_min." ; :qc_bit_2_assessment = "Bad" ; :qc_bit_3_description = "Value is greater than the valid_max." ; :qc_bit_3_assessment = "Bad" ; :qc_bit_4_description = "Difference between current and previous values exceeds valid_delta." ; :qc_bit_4_assessment = "Indeterminate" ; :datastream = "acxmplpolfsM1.b1" ; :history = "created by user dyapa on machine amber at 2015-09-16 19:36:53, using ingest-mplpolfs-1.13-0.el6" ; }