netcdf nsavceil25kC1.b1.20081231.000011 { dimensions: time = UNLIMITED ; // (5767 currently) range = 252 ; string_len = 8 ; variables: int base_time ; base_time:string = "31-Dec-2008,0:00:11 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 2008-12-31 00:00:11 0:00" ; double time(time) ; time:long_name = "Time offset from midnight" ; time:units = "seconds since 2008-12-31 00:00:00 0:00" ; int qc_time(time) ; qc_time:long_name = "Results of quality checks on sample time" ; qc_time:units = "unitless" ; qc_time:description = "The qc_time values are calculated by comparing each sample\n", "time with the previous time (i.e. delta_t = t[n] - t[n-1]).\n", "If the \'qc_check_prior\' flag is set the first sample time\n", "from a new raw file will be compared against the time just\n", "previous to it in the stored data. If the \'qc_check_prior\'\n", "flag is not set the qc_time value for the first sample time\n", "will be set to 0\n", "\n", "The qc_time bit values are as follows:\n", "=========================================================\n", "0x0 = delta time is within the specified range\n", "0x1 = delta time is equal to 0, duplicate sample times\n", "0x2 = delta time is less than the \'delta_t_lower_limit\'\n", "0x4 = delta time is greater than the \'delta_t_upper_limit\'\n", "\n", "" ; qc_time:delta_t_lower_limit = 12 ; qc_time:delta_t_upper_limit = 18 ; qc_time:prior_sample_flag = 1 ; float range(range) ; range:long_name = "Distance to the center of the corresponding range bin." ; range:units = "m" ; range:missing_value = -9999.f ; range:accuracy = "30 m" ; int detection_status(time) ; detection_status:long_name = "Detection status." ; detection_status:units = "unitless" ; detection_status:missing_value = -9999 ; 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\n", " base detected.\n", " 5=Some obscuration detected but determined\n", " to be transparent." ; char status_flag(time) ; status_flag:long_name = "Ceilometer status indicator." ; status_flag:units = "unitless" ; status_flag:missing_value = "-9999" ; 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 = 1, 2 or 3,\n", " lowest cloud base height measured.\n", " If detection_status = 4 this value\n", " will be stored as -9999 and a value\n", " for vertical_visibility will be stored.\n", " If detection_status = 0 or 5, -9999 will \n", " be stored for this value and vertical_visibility.\n", " (5 slashes were read from field)." ; 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" ; 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\n", " is = 4. In all other cases, a value of -9999 will\n", " be recorded." ; vertical_visibility:comment = " This is calculated using a proprietary contrast threshold\n", " which has been found to give vertical visibilities in \n", " closer agreement to those reported by ground-based human\n", " observers than the 5 % MOR contrast threshold used for \n", " horizontal visibility." ; int qc_vertical_visibility(time) ; qc_vertical_visibility:long_name = "Quality check results on field: Vertical visibility" ; qc_vertical_visibility:units = "unitless" ; 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 = 2 or 3, a second\n", " cloud base was detected. This value is\n", " the distance from the ground to the second\n", " cloud base.\n", " If detection_status = 4, -9999 will be recorded\n", " here and a value for alt_highest_signal\n", " will be recorded.\n", " If detection_status = 5, -9999 will be recorded\n", " for this value and for 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" ; 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 = 4, this value is the \n", " distance from the ground to the highest signal\n", " detected.\n", " If detection_status = 0, 1, 2, 3 or 5, -9999\n", " will be recorded." ; 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" ; 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 = 3, this is the distance\n", " from the ground to the base of the highest\n", " cloud.\n", " If detection = 0, 1, 2, 4 or 5, -9999 will be\n", " stored here. In this case, ///// was read from field." ; int qc_third_cbh(time) ; qc_third_cbh:long_name = "Quality check results on field: Third cloud base height" ; qc_third_cbh:units = "unitless" ; 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" ; float laser_temperature(time) ; laser_temperature:long_name = "Laser temperature" ; laser_temperature:units = "C" ; 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" ; float receiver_sensitivity(time) ; receiver_sensitivity:long_name = "Receiver sensitivity" ; receiver_sensitivity:units = "%" ; receiver_sensitivity:missing_value = -9999.f ; 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:missing_value = -9999.f ; 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 = "deg" ; 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 = "CT25k=-15 to +90 degrees from vertical\n", "CT75k=0 to 105 degrees from horizontal" ; tilt_angle:comment = "If Angle Correction is Off detection values are\n", "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" ; 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" ; 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 \n", "times 10^4. At scaling factor 100 the sum range, \n", "which is 0 to 999, this corresponds to integrated \n", "backscatter, which ranges from 0 to 0.0999 srad^-1" ; float backscatter(time, range) ; backscatter:long_name = "Backscatter" ; backscatter:units = "1/(srad*km*10000.0)" ; backscatter:missing_value = -9999.f ; backscatter:comment1 = "Data is range and sensitivity normalized backscatter,\n", "units, (10000 - srad - km)^-1 unless otherwise scaled by\n", "scaling parameter." ; backscatter:comment2 = "The length of each range bin corresponds to\n", " (c/2)*(200ns +/14 ns) = (approximately 30 m)." ; char measurement_parameters(time, string_len) ; measurement_parameters:long_name = "6 character string describing instrument measurement parameters" ; measurement_parameters:units = "unitless" ; measurement_parameters:missing_value = "-9999" ; measurement_parameters:values = "(L)ong/(S)hort - (F)req - pulse qty r ^(7) + 1\n", " - gain (H)igh/(L)ow - 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:missing_value = "-9999" ; status_string:comment1 = "Has Form FEDCBA98. Each character is a hexadecimal representation of\n", "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 = "degrees" ; lat:valid_min = -90.f ; lat:valid_max = 90.f ; float lon ; lon:long_name = "east longitude" ; lon:units = "degrees" ; lon:valid_min = -180.f ; lon:valid_max = 180.f ; float alt ; alt:long_name = "altitude" ; alt:units = "meters above Mean Sea Level" ; // global attributes: :ingest_version = "process-ingest-vceil_ingest-8.1-0" ; :libingest_version = "ds-dsutil-ingest_lib-1.7-0" ; :libdslibc_version = "ds-dslib-c_lib-1.2-0" ; :libdsdb_version = "database-dsdb-c_lib-1.2-0" ; :ingest_software = " vceil_ingest.c,v 8.2 2006/09/08 22:53:57 ermold process-ingest-vceil_ingest-8.1-0 $" ; :proc_level = "b1" ; :input_source = "/data/collection/nsa/nsavceil25kC1.00/08123100.DAT" ; :site_id = "nsa" ; :facility_id = "C1: Barrow, Alaska" ; :sample_int = "15 seconds" ; :averaging_int = "11.5 seconds" ; :serial_number = "S17102" ; :comment = "None" ; :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" ; :get_algorithm = "Instrument response to GET ALGORITHM query.\n", "noise_scale = 1.7\n", "minimum_scale = 30\n", "minimum_extinction_coef = 6" ; :get_factory = "Instrument response to GET FACTORY query.\n", "in_power = 200\n", "out_power = 1500 \n", "coarse_compensation = 20 \n", "fine_compensation = 255 \n", "receiver_test_value = 100 \n", "clean_window = 100 mV" ; :get_message = "Instrument response to GET MESSAGE query\n", "angle_correction = OFF\n", "height_offset = 0\n", "noise_h2_compensation = ON\n", "profile_scale = 100%" ; :unit_num = "0" ; :software_level = "20" ; :qc_method = "Standard Mentor QC" ; :Mentor_QC_Field_Information = "For each qc_ interpret the values as follows:\n", "\n", "Basic mentor QC checks (bit values):\n", "==========================================\n", "0x0 = value is within the specified range\n", "0x1 = value is equal to \'missing_value\'\n", "0x2 = value is less than the \'valid_min\'\n", "0x4 = value is greater than the \'valid_max\'\n", "0x8 = value failed the \'valid_delta\' check\n", "\n", "If the value is a \'missing_value\' no min, max, or delta checks are performed.\n", "\n", "The delta checks are done by comparing each data value to the one just\n", "prior to it in time. If a previous data value does not exist or is a\n", "\'missing_value\' the delta check will not be performed.\n", "\n", "Note that the delta computation for multi-dimensioned data compares the\n", "absolute value between points in the same spatial location to the previous\n", "point in time.\n", "\n", "If the associated non-QC field does not contain any mentor-specified minimum,\n", "maximum, or delta information a qc_field is not generated.\n", "" ; :zeb_platform = "nsavceil25kC1.b1" ; :history = "created by user dsmgr on machine ruby at 31-Dec-2008,1:50:03, using $State: ds-zebra-zeblib-4.16-0 $" ; }