netcdf sgpvceil25kC1.b1.20100106.000003 { dimensions: time = UNLIMITED ; // (5762 currently) range = 252 ; string_len = 8 ; variables: int base_time ; base_time:string = "6-Jan-2010,0:00:03 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 2010-01-06 00:00:03 0:00" ; double time(time) ; time:long_name = "Time offset from midnight" ; time:units = "seconds since 2010-01-06 00:00:00 0:00" ; int qc_time(time) ; qc_time:long_name = "Quality check results on field: Time offset from midnight" ; qc_time:units = "unitless" ; qc_time:description = "This field contains bit packed values which should be interpreted as listed. No bits set (zero) represents good data." ; qc_time:bit_1_description = "Delta time between current and previous samples is zero." ; qc_time:bit_1_assessment = "Indeterminate" ; qc_time:bit_2_description = "Delta time between current and previous samples is less than the delta_t_lower_limit field attribute." ; qc_time:bit_2_assessment = "Indeterminate" ; qc_time:bit_3_description = "Delta time between current and previous samples is greater than the delta_t_upper_limit field attribute." ; qc_time:bit_3_assessment = "Indeterminate" ; qc_time:delta_t_lower_limit = 12. ; qc_time:delta_t_upper_limit = 18. ; qc_time:prior_sample_flag = 1 ; qc_time:comment = "If the \'prior_sample_flag\' is set the first sample time from a new raw file will be compared against the time just previous to it in the stored data. If it is not set the qc_time value for the first sample will be set to 0." ; float range(range) ; range:long_name = "Distance to the center of the corresponding range bin" ; range:units = "m" ; range:accuracy = "30 m" ; int detection_status(time) ; detection_status:long_name = "Detection status" ; detection_status:units = "unitless" ; detection_status:values = "0 = No significant backscatter\n", "1 = One cloud base detected\n", "2 = Two cloud bases detected\n", "3 = Three cloud bases detected\n", "4 = Full obscuration determined but no cloud base detected\n", "5 = Some obscuration detected but determined to be transparent" ; char status_flag(time) ; status_flag:long_name = "Ceilometer status indicator" ; status_flag:units = "unitless" ; status_flag:values = "Warning and alarm information as follows:\n", "0 = Self-check OK\n", "W = At least one Warning active, no Alarms\n", "A = 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 = 7620.f ; first_cbh:missing_value = -9999.f ; first_cbh:values = "If detection_status is 1, 2 or 3, a lowest cloud base height was detected. If detection_status is 4 this value will be stored as -9999 and a value for vertical_visibility will be stored. If detection_status is 0 or 5, -9999 will be stored for this value and vertical_visibility." ; int qc_first_cbh(time) ; qc_first_cbh:long_name = "Quality check results on field: Lowest cloud base height detected" ; qc_first_cbh:units = "unitless" ; qc_first_cbh:description = "See global attributes for individual bit descriptions." ; float vertical_visibility(time) ; vertical_visibility:long_name = "Vertical visibility" ; vertical_visibility:units = "m" ; vertical_visibility:valid_min = 0.f ; vertical_visibility:valid_max = 7620.f ; vertical_visibility:missing_value = -9999.f ; vertical_visibility:values = "This field will only be stored if detection_status is 4. In all other cases, a value of -9999 will be stored." ; vertical_visibility:comment = "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." ; int qc_vertical_visibility(time) ; qc_vertical_visibility:long_name = "Quality check results on field: Vertical visibility" ; qc_vertical_visibility:units = "unitless" ; qc_vertical_visibility:description = "See global attributes for individual bit descriptions." ; 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 = 7620.f ; second_cbh:missing_value = -9999.f ; second_cbh:values = "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 stored as -9999 and a value for alt_highest_signal will be stored. If detection_status is 5, -9999 will be stored for this value and alt_highest_signal." ; int qc_second_cbh(time) ; qc_second_cbh:long_name = "Quality check results on field: Second lowest cloud base height" ; qc_second_cbh:units = "unitless" ; qc_second_cbh:description = "See global attributes for individual bit descriptions." ; 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 = 7620.f ; alt_highest_signal:missing_value = -9999.f ; alt_highest_signal:values = "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, 3 or 5, -9999 will be stored for this value." ; int qc_alt_highest_signal(time) ; qc_alt_highest_signal:long_name = "Quality check results on field: Altitude of highest signal" ; qc_alt_highest_signal:units = "unitless" ; qc_alt_highest_signal:description = "See global attributes for individual bit descriptions." ; 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 = 7620.f ; third_cbh:missing_value = -9999.f ; third_cbh:values = "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, 4 or 5, -9999 will be stored for this value." ; int qc_third_cbh(time) ; qc_third_cbh:long_name = "Quality check results on field: Third cloud base height" ; qc_third_cbh:units = "unitless" ; qc_third_cbh:description = "See global attributes for individual bit descriptions." ; 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:valid_delta = 100.f ; laser_pulse_energy:missing_value = -9999.f ; laser_pulse_energy:values = "0 to 999 %" ; laser_pulse_energy:comment = "Percentage of nominal factory setting." ; int qc_laser_pulse_energy(time) ; qc_laser_pulse_energy:long_name = "Quality check results on field: Laser pulse energy" ; qc_laser_pulse_energy:units = "unitless" ; qc_laser_pulse_energy:description = "See global attributes for individual bit descriptions." ; 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:valid_delta = 5.f ; laser_temperature:missing_value = -9999.f ; laser_temperature:values = "-50 to +99" ; int qc_laser_temperature(time) ; qc_laser_temperature:long_name = "Quality check results on field: Laser temperature" ; qc_laser_temperature:units = "unitless" ; qc_laser_temperature:description = "See global attributes for individual bit descriptions." ; float receiver_sensitivity(time) ; receiver_sensitivity:long_name = "Receiver sensitivity" ; receiver_sensitivity:units = "%" ; receiver_sensitivity:values = "0 to 999 %" ; receiver_sensitivity:comment = "Percentage of nominal factory setting." ; float window_contamination(time) ; window_contamination:long_name = "Window contamination" ; window_contamination:units = "mV" ; window_contamination:values = "0 to 2500 mV" ; window_contamination:comment = "Millivolts measured at the internal ADC input." ; float tilt_angle(time) ; tilt_angle:long_name = "Tilt angle" ; tilt_angle:units = "degree" ; tilt_angle:valid_min = -2.f ; tilt_angle:valid_max = 2.f ; tilt_angle:valid_delta = 1.f ; tilt_angle:missing_value = -9999.f ; tilt_angle:values = "-15 to +90 degrees from vertical" ; tilt_angle:comment = "If Angle Correction is OFF detection values are distances not altitudes." ; int qc_tilt_angle(time) ; qc_tilt_angle:long_name = "Quality check results on field: Tilt angle" ; qc_tilt_angle:units = "unitless" ; qc_tilt_angle:description = "See global attributes for individual bit descriptions." ; float background_light(time) ; background_light:long_name = "Background light" ; background_light:units = "mV" ; background_light:missing_value = -9999.f ; background_light:values = "0 to 2500 mV" ; background_light:comment = "Millivolts measured at the internal ADC input." ; int qc_background_light(time) ; qc_background_light:long_name = "Quality check results on field: Background light" ; qc_background_light:units = "unitless" ; qc_background_light:description = "See global attributes for individual bit descriptions." ; float sum_backscatter(time) ; sum_backscatter:long_name = "SUM of detected and normalized backscatter" ; sum_backscatter:units = "1/srad" ; sum_backscatter:missing_value = -9999.f ; sum_backscatter:values = "Multiplied by scaling factor times 10^4. At scaling factor 100 the sum range, which is 0 to 999, corresponds to integrated backscatter, which ranges from 0 to 0.0999 srad^-1." ; int qc_sum_backscatter(time) ; qc_sum_backscatter:long_name = "Quality check results on field: SUM of detected and normalized backscatter" ; qc_sum_backscatter:units = "unitless" ; qc_sum_backscatter:description = "See global attributes for individual bit descriptions." ; float backscatter(time, range) ; backscatter:long_name = "Backscatter" ; backscatter:units = "1/(srad*km*10000)" ; backscatter:comment = "Data is range and sensitivity normalized backscatter." ; char measurement_parameters(time, string_len) ; measurement_parameters:long_name = "Instrument measurement parameters" ; measurement_parameters:units = "unitless" ; measurement_parameters:values = "This is a 6 character string describing the measurement parameters:\n", " - (L)ong/(S)hort\n", " - (F)req\n", " - pulse qty r ^(7) + 1\n", " - gain (H)igh/(L)ow\n", " - bandwidth (N)arrow/(W)ide\n", " - sampling (5) / (1)0 / (2)0 Mhz" ; char status_string(time, string_len) ; status_string:long_name = "Warning and alarm status bits" ; status_string:units = "unitless" ; status_string:comment1 = "Has Form FEDCBA98. Each character is a hexadecimal representation of four bits, altogether 32 bits. See additional comments for interpretation." ; status_string:commentF = "(8000 0000) = Laser temperature shut-off(A)\n", "(4000 0000) = Laser failure(A)\n", "(2000 0000) = Receiver failure(A)\n", "(1000 0000) = Voltage failure(A)" ; status_string:commentE = "(0800 0000) = Profile error(A)" ; status_string:commentD = "(0080 0000) = Window contaminated(W)\n", "(0040 0000) = Battery low(W)\n", "(0020 0000) = Laser power low(W)\n", "(0010 0000) = Laser temperature high or low(W)" ; status_string:commentC = "(0008 0000) = Internal temperature high or low(W)\n", "(0004 0000) = Voltage high or low(W)\n", "(0002 0000) = Relative humidity is > 85 % (W)\n", "(0001 0000) = Receiver optical cross-talk compensation poor(W)" ; status_string:commentB = "(0000 8000) = Fan suspect(W)\n", "(0000 4000) = Profile warning(W)" ; status_string:commentA = "(0000 0800) = Blower is ON\n", "(0000 0400) = Blower heater is ON\n", "(0000 0200) = Internal heater is ON\n", "(0000 0100) = Units are METERS if ON, else FEET" ; status_string:comment9 = "(0000 0080) = Polling mode is ON\n", "(0000 0040) = Working from battery\n", "(0000 0020) = Single sequence mode is ON\n", "(0000 0010) = Manual Settings are effective" ; status_string:comment8 = "(0000 0008) = Tilt angle is > 45 degrees" ; 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: :command_line = "vceil_ingest -s sgp -f C1" ; :process_version = "Exp" ; :ingest_software = "Exp" ; :dod_version = "vceil25k-b1-2.1" ; :site_id = "sgp" ; :facility_id = "C1: Lamont, Oklahoma" ; :data_level = "b1" ; :input_source = "/data/home/dev/ingest/vceil/DATA/data/collection/sgp/sgpvceil25kC1.00/10010600.DAT" ; :serial_number = "R0850002" ; :sampling_interval = "15 seconds" ; :averaging_interval = "11.5 seconds" ; :averaging_interval_comment = "The time assigned to each data point indicates the end of the averaging interval." ; :unit_num = "d" ; :software_level = "10" ; :qc_standards_version = "1.0" ; :qc_method = "Standard Mentor QC" ; :qc_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.\n", "\n", "The QC field values make use of the internal binary format to store the results of the individual QC tests. This allows the representation of multiple QC states in a single value. If the test associated with a particular bit fails the bit is turned on. Turning on the bit equates to adding the integer value of the failed test to the current value of the field. The QC field\'s value can be interpreted by applying bit logic using bitwise operators, or by examining the QC value\'s integer representation. A QC field\'s integer representation is the sum of the individual integer values of the failed tests. The bit and integer equivalents for the first 5 bits are listed below:\n", "\n", "bit_1 = 00000001 = 0x01 = 2^0 = 1\n", "bit_2 = 00000010 = 0x02 = 2^1 = 2\n", "bit_3 = 00000100 = 0x04 = 2^2 = 4\n", "bit_4 = 00001000 = 0x08 = 2^3 = 8\n", "bit_5 = 00010000 = 0x10 = 2^4 = 16" ; :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" ; :zeb_platform = "sgpvceil25kC1.b1" ; :history = "created by user ermold on machine topaz at 13-Jan-2010,19:48:57, using $State: zebra-zeblib-4.19-1.sol5_10 $" ; }