netcdf houceil10mM1.b1.20221001.000012 { dimensions: time = UNLIMITED ; // (3309 currently) range = 770 ; string_length = 12 ; bound = 2 ; variables: int base_time ; base_time:string = "2022-10-01 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 2022-10-01 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 2022-10-01 00:00:00 0:00" ; time:bounds = "time_bounds" ; time:standard_name = "time" ; double time_bounds(time, bound) ; time_bounds:long_name = "Time cell bounds" ; time_bounds:bound_offsets = -16., 0. ; float range(range) ; range:long_name = "Distance to the center of the corresponding range bin" ; range:units = "m" ; range:bounds = "range_bounds" ; float range_bounds(range, bound) ; range_bounds:long_name = "Range cell bounds" ; range_bounds:bound_offsets = -5.f, 5.f ; short detection_status(time) ; detection_status:long_name = "Detection status" ; detection_status:units = "1" ; detection_status:missing_value = -9999s ; detection_status:flag_values = 0s, 1s, 2s, 3s, 4s ; detection_status:flag_meanings = "no_significant_backscatter one_cloud_base_detected two_cloud_bases_detected three_cloud_bases_detected full_obscuration_determined_but_no_cloud_base_detected" ; detection_status:flag_0_description = "No significant backscatter" ; detection_status:flag_1_description = "One cloud base detected" ; detection_status:flag_2_description = "Two cloud bases detected" ; detection_status:flag_3_description = "Three cloud bases detected" ; detection_status:flag_4_description = "Full obscuration determined but no cloud base detected" ; short status_flag(time) ; status_flag:long_name = "Ceilometer status indicator" ; status_flag:units = "1" ; status_flag:missing_value = -9999s ; status_flag:flag_values = 0s, 1s, 2s ; status_flag:flag_meanings = "self-check_ok at_least_one_warning_active_no_alarms at_least_one_alarm_active" ; status_flag:flag_0_description = "Self-check OK" ; status_flag:flag_1_description = "At least one Warning active, no Alarms" ; status_flag:flag_2_description = "At least one Alarm active" ; float first_cbh(time) ; first_cbh:long_name = "Lowest cloud base height detected" ; first_cbh:units = "m" ; first_cbh:valid_min = 0.f ; first_cbh:valid_max = 7700.f ; first_cbh:missing_value = -9999.f ; first_cbh:ancillary_variables = "qc_first_cbh detection_status" ; first_cbh:comment = "If detection_status is 1, 2 or 3, a lowest cloud base height was detected. This value is the distance from the ground to the first cloud base. If detection_status is 4 this value will be set to the missing_value and a value for vertical_visibility will be stored. If detection_status is 0, this value and vertical_visibility will be set to the missing_value." ; int qc_first_cbh(time) ; qc_first_cbh:long_name = "Quality check results on variable: Lowest cloud base height detected" ; qc_first_cbh:units = "1" ; qc_first_cbh:standard_name = "quality_flag" ; qc_first_cbh:description = "This variable 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_first_cbh:flag_method = "bit" ; qc_first_cbh:bit_1_description = "Value is equal to missing_value." ; qc_first_cbh:bit_1_assessment = "Bad" ; qc_first_cbh:bit_2_description = "Value is less than the valid_min." ; qc_first_cbh:bit_2_assessment = "Bad" ; qc_first_cbh:bit_3_description = "Value is greater than the valid_max." ; qc_first_cbh:bit_3_assessment = "Bad" ; float vertical_visibility(time) ; vertical_visibility:long_name = "Vertical visibility" ; vertical_visibility:units = "m" ; vertical_visibility:valid_min = 0.f ; vertical_visibility:valid_max = 7700.f ; vertical_visibility:missing_value = -9999.f ; vertical_visibility:ancillary_variables = "qc_vertical_visibility detection_status" ; vertical_visibility:comment = "If detection_status is 4, this value is the vertical visibility measured from the ground. This is calculated using a proprietary contrast threshold which has been found to give vertical visibilities in closer agreement to those reported by ground-based human observers than the 5 % MOR contrast threshold used for horizontal visibility. If detection_status is 0, 1, 2, or 3, this value will be set to the missing_value." ; int qc_vertical_visibility(time) ; qc_vertical_visibility:long_name = "Quality check results on variable: Vertical visibility" ; qc_vertical_visibility:units = "1" ; qc_vertical_visibility:standard_name = "quality_flag" ; qc_vertical_visibility:description = "This variable 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_vertical_visibility:flag_method = "bit" ; qc_vertical_visibility:bit_1_description = "Value is equal to missing_value." ; qc_vertical_visibility:bit_1_assessment = "Bad" ; qc_vertical_visibility:bit_2_description = "Value is less than the valid_min." ; qc_vertical_visibility:bit_2_assessment = "Bad" ; qc_vertical_visibility:bit_3_description = "Value is greater than the valid_max." ; qc_vertical_visibility:bit_3_assessment = "Bad" ; float second_cbh(time) ; second_cbh:long_name = "Second lowest cloud base height" ; second_cbh:units = "m" ; second_cbh:valid_min = 0.f ; second_cbh:valid_max = 7700.f ; second_cbh:missing_value = -9999.f ; second_cbh:ancillary_variables = "qc_second_cbh detection_status" ; second_cbh:comment = "If detection_status is 2 or 3, a second cloud base was detected. This value is the distance from the ground to the second cloud base. If detection_status is 4 this value will be set to the missing_value and a value for alt_highest_signal will be stored." ; int qc_second_cbh(time) ; qc_second_cbh:long_name = "Quality check results on variable: Second lowest cloud base height" ; qc_second_cbh:units = "1" ; qc_second_cbh:standard_name = "quality_flag" ; qc_second_cbh:description = "This variable 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_second_cbh:flag_method = "bit" ; qc_second_cbh:bit_1_description = "Value is equal to missing_value." ; qc_second_cbh:bit_1_assessment = "Bad" ; qc_second_cbh:bit_2_description = "Value is less than the valid_min." ; qc_second_cbh:bit_2_assessment = "Bad" ; qc_second_cbh:bit_3_description = "Value is greater than the valid_max." ; qc_second_cbh:bit_3_assessment = "Bad" ; float alt_highest_signal(time) ; alt_highest_signal:long_name = "Altitude of highest signal" ; alt_highest_signal:units = "m" ; alt_highest_signal:valid_min = 0.f ; alt_highest_signal:valid_max = 7700.f ; alt_highest_signal:missing_value = -9999.f ; alt_highest_signal:ancillary_variables = "qc_alt_highest_signal detection_status" ; alt_highest_signal:comment = "If detection_status is 4, this value is the distance from the ground to the highest signal detected. If detection_status is 0, 1, 2, or 3, this value will be set to the missing_value." ; int qc_alt_highest_signal(time) ; qc_alt_highest_signal:long_name = "Quality check results on variable: Altitude of highest signal" ; qc_alt_highest_signal:units = "1" ; qc_alt_highest_signal:standard_name = "quality_flag" ; qc_alt_highest_signal:description = "This variable 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_alt_highest_signal:flag_method = "bit" ; qc_alt_highest_signal:bit_1_description = "Value is equal to missing_value." ; qc_alt_highest_signal:bit_1_assessment = "Bad" ; qc_alt_highest_signal:bit_2_description = "Value is less than the valid_min." ; qc_alt_highest_signal:bit_2_assessment = "Bad" ; qc_alt_highest_signal:bit_3_description = "Value is greater than the valid_max." ; qc_alt_highest_signal:bit_3_assessment = "Bad" ; float third_cbh(time) ; third_cbh:long_name = "Third cloud base height" ; third_cbh:units = "m" ; third_cbh:valid_min = 0.f ; third_cbh:valid_max = 7700.f ; third_cbh:missing_value = -9999.f ; third_cbh:ancillary_variables = "qc_third_cbh detection_status" ; third_cbh:comment = "If detection_status is 3, a third cloud base was detected. This value is the distance from the ground to the third cloud base. If detection_status is 0, 1, 2, or 4, this value will be set to the missing_value." ; int qc_third_cbh(time) ; qc_third_cbh:long_name = "Quality check results on variable: Third cloud base height" ; qc_third_cbh:units = "1" ; qc_third_cbh:standard_name = "quality_flag" ; qc_third_cbh:description = "This variable 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_third_cbh:flag_method = "bit" ; qc_third_cbh:bit_1_description = "Value is equal to missing_value." ; qc_third_cbh:bit_1_assessment = "Bad" ; qc_third_cbh:bit_2_description = "Value is less than the valid_min." ; qc_third_cbh:bit_2_assessment = "Bad" ; qc_third_cbh:bit_3_description = "Value is greater than the valid_max." ; qc_third_cbh:bit_3_assessment = "Bad" ; float laser_pulse_energy(time) ; laser_pulse_energy:long_name = "Laser pulse energy" ; laser_pulse_energy:units = "%" ; laser_pulse_energy:valid_min = 10.f ; laser_pulse_energy:valid_max = 110.f ; laser_pulse_energy:missing_value = -9999.f ; laser_pulse_energy:ancillary_variables = "qc_laser_pulse_energy" ; laser_pulse_energy:comment = "The possible values capable of being reported by the instrument are: 0 to 999 % of nominal factory setting." ; int qc_laser_pulse_energy(time) ; qc_laser_pulse_energy:long_name = "Quality check results on variable: Laser pulse energy" ; qc_laser_pulse_energy:units = "1" ; qc_laser_pulse_energy:standard_name = "quality_flag" ; qc_laser_pulse_energy:description = "This variable 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_laser_pulse_energy:flag_method = "bit" ; qc_laser_pulse_energy:bit_1_description = "Value is equal to missing_value." ; qc_laser_pulse_energy:bit_1_assessment = "Bad" ; qc_laser_pulse_energy:bit_2_description = "Value is less than the valid_min." ; qc_laser_pulse_energy:bit_2_assessment = "Bad" ; qc_laser_pulse_energy:bit_3_description = "Value is greater than the valid_max." ; qc_laser_pulse_energy:bit_3_assessment = "Bad" ; float laser_temperature(time) ; laser_temperature:long_name = "Laser temperature" ; laser_temperature:units = "degC" ; laser_temperature:valid_min = -10.f ; laser_temperature:valid_max = 60.f ; laser_temperature:missing_value = -9999.f ; laser_temperature:ancillary_variables = "qc_laser_temperature" ; laser_temperature:comment = "The possible values capable of being reported by the instrument are: -50 to +99 degrees C." ; int qc_laser_temperature(time) ; qc_laser_temperature:long_name = "Quality check results on variable: Laser temperature" ; qc_laser_temperature:units = "1" ; qc_laser_temperature:standard_name = "quality_flag" ; qc_laser_temperature:description = "This variable 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_laser_temperature:flag_method = "bit" ; qc_laser_temperature:bit_1_description = "Value is equal to missing_value." ; qc_laser_temperature:bit_1_assessment = "Bad" ; qc_laser_temperature:bit_2_description = "Value is less than the valid_min." ; qc_laser_temperature:bit_2_assessment = "Bad" ; qc_laser_temperature:bit_3_description = "Value is greater than the valid_max." ; qc_laser_temperature:bit_3_assessment = "Bad" ; float window_transmission(time) ; window_transmission:long_name = "Window transmission estimate" ; window_transmission:units = "%" ; window_transmission:valid_min = 0.f ; window_transmission:valid_max = 100.f ; window_transmission:missing_value = -9999.f ; window_transmission:ancillary_variables = "qc_window_transmission" ; window_transmission:comment = "The possible values capable of being reported by the instrument are: 0 to 100 %." ; int qc_window_transmission(time) ; qc_window_transmission:long_name = "Quality check results on variable: Window transmission estimate" ; qc_window_transmission:units = "1" ; qc_window_transmission:standard_name = "quality_flag" ; qc_window_transmission:description = "This variable 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_window_transmission:flag_method = "bit" ; qc_window_transmission:bit_1_description = "Value is equal to missing_value." ; qc_window_transmission:bit_1_assessment = "Bad" ; qc_window_transmission:bit_2_description = "Value is less than the valid_min." ; qc_window_transmission:bit_2_assessment = "Bad" ; qc_window_transmission:bit_3_description = "Value is greater than the valid_max." ; qc_window_transmission:bit_3_assessment = "Bad" ; float tilt_angle(time) ; tilt_angle:long_name = "Tilt angle" ; tilt_angle:units = "degree" ; tilt_angle:valid_min = 0.f ; tilt_angle:valid_max = 4.f ; tilt_angle:missing_value = -9999.f ; tilt_angle:ancillary_variables = "qc_tilt_angle" ; tilt_angle:comment = "The possible values capable of being reported by the instrument are: 0 to 90 degrees from vertical." ; int qc_tilt_angle(time) ; qc_tilt_angle:long_name = "Quality check results on variable: Tilt angle" ; qc_tilt_angle:units = "1" ; qc_tilt_angle:standard_name = "quality_flag" ; qc_tilt_angle:description = "This variable 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_tilt_angle:flag_method = "bit" ; qc_tilt_angle:bit_1_description = "Value is equal to missing_value." ; qc_tilt_angle:bit_1_assessment = "Bad" ; qc_tilt_angle:bit_2_description = "Value is less than the valid_min." ; qc_tilt_angle:bit_2_assessment = "Bad" ; qc_tilt_angle:bit_3_description = "Value is greater than the valid_max." ; qc_tilt_angle:bit_3_assessment = "Bad" ; float background_light(time) ; background_light:long_name = "Background light" ; background_light:units = "mV" ; background_light:valid_min = 0.f ; background_light:valid_max = 2500.f ; background_light:missing_value = -9999.f ; background_light:ancillary_variables = "qc_background_light" ; background_light:comment = "The possible values capable of being reported by the instrument are: 0 to 2500 mV measured at the internal ADC input." ; int qc_background_light(time) ; qc_background_light:long_name = "Quality check results on variable: Background light" ; qc_background_light:units = "1" ; qc_background_light:standard_name = "quality_flag" ; qc_background_light:description = "This variable 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_background_light:flag_method = "bit" ; qc_background_light:bit_1_description = "Value is equal to missing_value." ; qc_background_light:bit_1_assessment = "Bad" ; qc_background_light:bit_2_description = "Value is less than the valid_min." ; qc_background_light:bit_2_assessment = "Bad" ; qc_background_light:bit_3_description = "Value is greater than the valid_max." ; qc_background_light:bit_3_assessment = "Bad" ; float sum_backscatter(time) ; sum_backscatter:long_name = "Sum of detected and normalized backscatter" ; sum_backscatter:units = "1/(sr*10000)" ; sum_backscatter:valid_min = 0.f ; sum_backscatter:valid_max = 999.f ; sum_backscatter:missing_value = -9999.f ; sum_backscatter:ancillary_variables = "qc_sum_backscatter" ; sum_backscatter:comment = "The values reported have been multiplied by 10^4. The range of values 0 to 999 corresponds to integrated backscatter from 0 to 0.0999 srad^-1." ; int qc_sum_backscatter(time) ; qc_sum_backscatter:long_name = "Quality check results on variable: Sum of detected and normalized backscatter" ; qc_sum_backscatter:units = "1" ; qc_sum_backscatter:standard_name = "quality_flag" ; qc_sum_backscatter:description = "This variable 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_sum_backscatter:flag_method = "bit" ; qc_sum_backscatter:bit_1_description = "Value is equal to missing_value." ; qc_sum_backscatter:bit_1_assessment = "Bad" ; qc_sum_backscatter:bit_2_description = "Value is less than the valid_min." ; qc_sum_backscatter:bit_2_assessment = "Bad" ; qc_sum_backscatter:bit_3_description = "Value is greater than the valid_max." ; qc_sum_backscatter:bit_3_assessment = "Bad" ; float backscatter(time, range) ; backscatter:long_name = "Backscatter" ; backscatter:units = "1/(sr*km*10000)" ; backscatter:comment = "The values reported by the instrument are range and sensitivity normalized backscatter." ; char measurement_parameters(time, string_length) ; measurement_parameters:long_name = "Instrument measurement parameters" ; measurement_parameters:units = "1" ; measurement_parameters:comment = "The values reported by the instrument are 9 character strings describing the measurement parameters:\n", "\n", " - pulse (L)ong/(S)hort\n", " - pulse qty 0112x1024\n", " - gain (H)igh/(L)ow\n", " - bandwidth (N)arrow/(W)ide\n", " - sampling 15/30 MHz" ; char status_string(time, string_length) ; status_string:long_name = "Warning, alarm, and internal status information" ; status_string:units = "1" ; status_string:comment = "The values reported by the instrument have the form FEDCBA987654 and contains Alarm (A), Warning (W), and internal status (S) information. Each character is a hexadecimal representation of four bits, i.e. values between 0 and 9 are presented with respective numbers and values 10, 11, 12, 13, 14, and 15 are presented with letters A, B, C, D, E, and F, respectively. As each of the 12 characters represent the sum of four individual bits, the total number of bits is 48 (b00-b47), with the following breakdown and interpretation:\n", "\n", "F: b47 (8000 0000 0000) Transmitter shut-off (A)\n", " b46 (4000 0000 0000) Transmitter failure (A)\n", " b45 (2000 0000 0000) Receiver failure (A)\n", " b44 (1000 0000 0000) Voltage failure (A)\n", "E: b43 (0800 0000 0000) Alignment failure (A)\n", " b42 (0400 0000 0000) Memory error (A)\n", " b41 (0200 0000 0000) Light path obstruction (A)\n", " b40 (0100 0000 0000) Receiver saturation (A)\n", "D: b39 (0080 0000 0000) (spare) (A)\n", " b38 (0040 0000 0000) (spare) (A)\n", " b37 (0020 0000 0000) (spare) (A)\n", " b36 (0010 0000 0000) (spare) (A)\n", "C: b35 (0008 0000 0000) (spare) (A)\n", " b34 (0004 0000 0000) (spare) (A)\n", " b33 (0002 0000 0000) Coaxial cable failure (A)\n", " b32 (0001 0000 0000) Ceilometer engine board failure (A)\n", "B: b31 (0000 8000 0000) Window contamination (W)\n", " b30 (0000 4000 0000) Battery voltage low (W)\n", " b29 (0000 2000 0000) Transmitter expires (W)\n", " b28 (0000 1000 0000) High humidity (W)\n", "A: b27 (0000 0800 0000) (spare) (W)\n", " b26 (0000 0400 0000) Blower failure (W)\n", " b25 (0000 0200 0000) (spare) (W)\n", " b24 (0000 0100 0000) Humidity sensor failure (W)\n", "9: b23 (0000 0080 0000) Heater fault (W)\n", " b22 (0000 0040 0000) High background radiance (W)\n", " b21 (0000 0020 0000) Ceilometer engine board failure (W)\n", " b20 (0000 0010 0000) Battery failure (W)\n", "8: b19 (0000 0008 0000) Laser monitor failure (W)\n", " b18 (0000 0004 0000) Receiver warning (W)\n", " b17 (0000 0002 0000) Tilt angle > 45 degrees warning (W)\n", " b16 (0000 0001 0000) (spare) (W)\n", "7: b15 (0000 0000 8000) Blower is on (S)\n", " b14 (0000 0000 4000) Blower heater is on (S)\n", " b13 (0000 0000 2000) Internal heater is on (S)\n", " b12 (0000 0000 1000) Working from battery (S)\n", "6: b11 (0000 0000 0800) Standby mode is on (S)\n", " b10 (0000 0000 0400) Self test in progress (S)\n", " b09 (0000 0000 0200) Manual data acquisition settings are effective (S)\n", " b08 (0000 0000 0100) (spare) (S)\n", "5: b07 (0000 0000 0080) Units are meters if on, else feet (S)\n", " b06 (0000 0000 0040) Manual blower control (S)\n", " b05 (0000 0000 0020) Polling mode is on (S)\n", " b04 (0000 0000 0010) (spare) (S)\n", "4: b03 (0000 0000 0008) (spare) (S)\n", " b02 (0000 0000 0004) (spare) (S)\n", " b01 (0000 0000 0002) (spare) (S)\n", " b00 (0000 0000 0001) (spare) (S)" ; 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 = "ceil_ingest -s hou -f M1" ; :Conventions = "ARM-1.3" ; :process_version = "ingest-ceil-1.9-0.el7" ; :dod_version = "ceil10m-b1-2.0" ; :input_source = "/data/collection/hou/houceilM1.00/L1__202210010000.nc" ; :site_id = "hou" ; :platform_id = "ceil10m" ; :facility_id = "M1" ; :data_level = "b1" ; :location_description = "Tracking Aerosol Convection Interactions Experiment (TRACER), La Porte, Texas" ; :datastream = "houceil10mM1.b1" ; :sampling_interval = "1/(10 kHz)" ; :averaging_interval = "16 seconds" ; :averaging_interval_comment = "The time assigned to each data point indicates the end of the averaging interval." ; :spatial_averaging = "10 meter resolution provided by the instrument; no averaging is done by the ingest" ; :ceilometer_model = "Vaisala Ceilometer CL31" ; :software_level = "201" ; :doi = "10.5439/1497398" ; :history = "created by user dsmgr on machine prod-proc4.adc.arm.gov at 2022-10-02 03:17:01, using ingest-ceil-1.9-0.el7" ; }