netcdf acxhsrlM1.01.20150225.205810.raw.mf2hsrl_20150129T0000_20150130T0000_30s_30m { dimensions: time = UNLIMITED ; // (2838 currently) altitude = 667 ; time_vector = 8 ; calibration = 2 ; sondenamelength = 6 ; i2header = 900 ; geoheader = 200 ; apheader = 300 ; variables: int base_time ; base_time:string = "2015-01-29 00:00:01 UTC" ; base_time:long_name = "Base seconds since Unix Epoch" ; base_time:units = "seconds since 1970-01-01 00:00:00 UTC" ; short first_time(time_vector) ; first_time:long_name = "First Time in file" ; short last_time(time_vector) ; last_time:long_name = "Last Time in file" ; double time(time) ; time:long_name = "Time" ; time:units = "seconds since 2015-01-29 00:00:01 UTC" ; double time_offset(time) ; time_offset:long_name = "Time offset from base_time" ; time_offset:description = "same times as \"First time in record\" " ; time_offset:units = "seconds since 2015-01-29 00:00:01 UTC" ; short start_time(time, time_vector) ; start_time:long_name = "First Time in record" ; start_time:description = "time of first laser shot in averaging interval" ; float latitude ; latitude:long_name = "latitude of lidar" ; latitude:units = "degree_N" ; float longitude ; longitude:long_name = "longitude of lidar" ; longitude:units = "degree_W" ; float range_resolution ; range_resolution:long_name = "Range resolution" ; range_resolution:description = "vertical distance between data points after averaging" ; range_resolution:units = "meters" ; float time_average ; time_average:long_name = "Time Averaging Width" ; time_average:description = "Time between data points after averaging" ; time_average:units = "seconds" ; short new_cal_times(calibration, time_vector) ; new_cal_times:long_name = "Time of Calibration Change" ; new_cal_times:description = "New raob or system calibration data triggered recalibration" ; float altitude(altitude) ; altitude:long_name = "Height above lidar" ; altitude:units = "meters" ; byte new_cal_trigger(calibration) ; new_cal_trigger:long_name = "Trigger of Calibration Change" ; new_cal_trigger:description = "reason for recalibration" ; new_cal_trigger:bit_0 = "radiosonde profile" ; new_cal_trigger:bit_1 = "i2 scan" ; new_cal_trigger:bit_2 = "geometry" ; short new_cal_offset(calibration) ; new_cal_offset:long_name = "Record Dimension equivalent Offset" ; new_cal_offset:min_value = 0 ; float top_alt_sounding(calibration) ; top_alt_sounding:long_name = "Sounding Maximum Altitude" ; top_alt_sounding:units = "meters" ; float temperature_profile(calibration, altitude) ; temperature_profile:long_name = "Raob Temperature Profile" ; temperature_profile:description = "Temperature interpolated to requested altitude resolution" ; temperature_profile:units = "degrees Kelvin" ; float pressure_profile(calibration, altitude) ; pressure_profile:long_name = "Raob pressure Profile" ; pressure_profile:description = "Pressure interpolated to requested altitude resolution" ; pressure_profile:units = "hectopascals" ; float dewpoint_profile(calibration, altitude) ; dewpoint_profile:long_name = "Raob Dewpoint Temperature Profile" ; dewpoint_profile:description = "Dewpoint interpolated to requested altitude resolution" ; dewpoint_profile:units = "degrees Kelvin" ; dewpoint_profile:missing_value = NaN ; float windspeed_profile(calibration, altitude) ; windspeed_profile:long_name = "Raob Wind Speed Profile" ; windspeed_profile:description = "Speeds interpolated to requested altitude resolution" ; windspeed_profile:units = "m/s" ; windspeed_profile:missing_value = NaN ; float winddir_profile(calibration, altitude) ; winddir_profile:long_name = "Raob Wind Direction Profile" ; winddir_profile:description = "Directions interpolated to requested altitude resolution" ; winddir_profile:units = "degrees" ; winddir_profile:missing_value = NaN ; char raob_station(calibration, sondenamelength) ; raob_station:long_name = "Radiosonde Station ID" ; char i2_txt_header(calibration, i2header) ; i2_txt_header:long_name = "i2_scan_file_text_info" ; i2_txt_header:description = "Contains name of file used to compute calibration" ; char geo_txt_header(calibration, geoheader) ; geo_txt_header:long_name = "geometric_correction_file_txt_header." ; char ap_txt_header(calibration, apheader) ; ap_txt_header:long_name = "afterpulse_correction_file_txt_header." ; double raob_time_offset(calibration) ; raob_time_offset:units = "seconds" ; raob_time_offset:long_name = "Radiosonde Launch time offset" ; raob_time_offset:description = "Time after base time in seconds" ; short raob_time_vector(calibration, time_vector) ; raob_time_vector:long_name = "Radiosonde Launch time vector" ; raob_time_vector:description = "Time in [year month day hour min sec ms us] format" ; float Cmc(calibration, altitude) ; Cmc:long_name = "Molecular in Combined Calibration" ; float Cmm(calibration, altitude) ; Cmm:long_name = "Molecular in Molecular Calibration" ; float Cam(calibration, altitude) ; Cam:long_name = "Aerosol in Molecular Calibration" ; float beta_m(calibration, altitude) ; beta_m:long_name = "Raob molecular scattering cross section per unit volume" ; beta_m:units = "1/meter" ; beta_m:plot_scale = "logarithmic" ; float transmitted_energy(time) ; transmitted_energy:long_name = "Transmitted Energy" ; transmitted_energy:units = "Joules" ; transmitted_energy:missing_value = NaN ; float piezovoltage(time) ; piezovoltage:long_name = "piezovoltage" ; piezovoltage:units = "Volts" ; piezovoltage:missing_value = NaN ; int num_seeded_shots(time) ; num_seeded_shots:long_name = "Number of Seeded Shots" ; num_seeded_shots:missing_value = -1 ; float seed_quality(time) ; seed_quality:long_name = "Laser Seeding Quality" ; seed_quality:description = "The ratio of seeded shots to total shots. Only seeded shot data is stored and processed. A low seed ratio can result in low noise resistance." ; seed_quality:missing_value = NaN ; seed_quality:range = 0., 1. ; float frequency_quality(time) ; frequency_quality:long_name = "Laser Frequency Quality" ; frequency_quality:description = "An ratio average of how good the frequency lock is per raw interval. A low value can result in poor separation of molecular and aerosol counts." ; frequency_quality:missing_value = NaN ; frequency_quality:range = 0., 1. ; float lock_quality(time) ; lock_quality:long_name = "Laser Lock Quality" ; lock_quality:description = "A ratio of likely locked intervals (frequency_quality>=.5) to seeded intervals. A low value can result in poor separation of molecular and aerosol counts." ; lock_quality:missing_value = NaN ; lock_quality:range = 0., 1. ; float mol_cal_pulse(time) ; mol_cal_pulse:long_name = "Molecular calibration pulse" ; mol_cal_pulse:description = "Sum of photon counts in the molecular channel due to light scattered with the telescope." ; mol_cal_pulse:units = "counts" ; mol_cal_pulse:missing_value = NaN ; float c_pol_dark_count(time, altitude) ; c_pol_dark_count:long_name = "Cross Polarization Dark Count" ; c_pol_dark_count:description = "total counts per averaging interval(eg. one altitude, one time)" ; c_pol_dark_count:units = "counts" ; c_pol_dark_count:missing_value = NaN ; float mol_dark_count(time, altitude) ; mol_dark_count:long_name = "Molecular Dark Count" ; mol_dark_count:description = "total counts per averaging interval(eg. one altitude, one time)" ; mol_dark_count:units = "counts" ; mol_dark_count:missing_value = NaN ; float combined_dark_count_lo(time, altitude) ; combined_dark_count_lo:long_name = "Low Gain Combined Dark Count" ; combined_dark_count_lo:description = "total counts per averaging interval(eg. one altitude, one time)" ; combined_dark_count_lo:units = "counts" ; combined_dark_count_lo:missing_value = NaN ; float combined_dark_count_hi(time, altitude) ; combined_dark_count_hi:long_name = "High Gain Combined Dark Count" ; combined_dark_count_hi:description = "total counts per averaging interval(eg. one altitude, one time)" ; combined_dark_count_hi:units = "counts" ; combined_dark_count_hi:missing_value = NaN ; float combined_gain(calibration) ; combined_gain:long_name = "Combined Gain Factor" ; combined_gain:description = "Low Gain level * Factor ~ High Gain level" ; float combined_merge_threshhold(calibration) ; combined_merge_threshhold:long_name = "Combined Merge Threshhold" ; float geo_cor(calibration, altitude) ; geo_cor:long_name = "Overlap correction" ; geo_cor:description = "Geometric overlap correction averaged to requested altitude resolution" ; geo_cor:units = " " ; geo_cor:missing_value = NaN ; geo_cor:plot_scale = "logarithmic" ; float od(time, altitude) ; od:long_name = "Optical depth of particulate" ; od:units = " " ; od:missing_value = NaN ; od:insufficient_data = Infinity ; od:plot_scale = "logarithmic" ; float profile_od(altitude) ; profile_od:long_name = "Optical depth of particulate Profile" ; profile_od:units = " " ; profile_od:missing_value = NaN ; profile_od:insufficient_data = Infinity ; profile_od:plot_scale = "logarithmic" ; float beta_a(time, altitude) ; beta_a:long_name = "Particulate extinction cross section per unit volume" ; beta_a:units = "1/m" ; beta_a:missing_value = NaN ; beta_a:plot_scale = "logarithmic" ; float atten_beta_r_backscat(time, altitude) ; atten_beta_r_backscat:long_name = "Attenuated Molecular return" ; atten_beta_r_backscat:units = "1/(m sr)" ; atten_beta_r_backscat:missing_value = NaN ; atten_beta_r_backscat:plot_scale = "logarithmic" ; float profile_atten_beta_r_backscat(altitude) ; profile_atten_beta_r_backscat:long_name = "Attenuated Molecular Profile" ; profile_atten_beta_r_backscat:units = "1/(m sr)" ; profile_atten_beta_r_backscat:missing_value = NaN ; profile_atten_beta_r_backscat:plot_scale = "logarithmic" ; float depol(time, altitude) ; depol:long_name = "Circular depolarization ratio for particulate" ; depol:description = "left circular return divided by right circular return" ; depol:units = " " ; depol:missing_value = NaN ; depol:plot_scale = "logarithmic" ; float profile_depol(altitude) ; profile_depol:long_name = "Circular depolarization ratio profile for particulate" ; profile_depol:description = "left circular return divided by right circular return" ; profile_depol:units = " " ; profile_depol:missing_value = NaN ; profile_depol:plot_scale = "logarithmic" ; int molecular_counts(time, altitude) ; molecular_counts:long_name = "Molecular Photon Counts" ; molecular_counts:description = "Raw counts, per averaging interval with pileup, afterpulse, and darkcount corrections applied" ; molecular_counts:units = "counts" ; molecular_counts:missing_value = -1 ; molecular_counts:plot_scale = "logarithmic" ; float profile_molecular_counts(altitude) ; profile_molecular_counts:long_name = "Molecular Photon Counts profile" ; profile_molecular_counts:description = "Raw counts, per averaging interval with pileup, afterpulse, and darkcount corrections applied" ; profile_molecular_counts:units = "counts" ; profile_molecular_counts:missing_value = -1 ; profile_molecular_counts:plot_scale = "logarithmic" ; int combined_counts_lo(time, altitude) ; combined_counts_lo:long_name = "Low Gain Combined Photon Counts" ; combined_counts_lo:description = "Raw counts, per averaging interval with pileup, afterpulse, and darkcount corrections applied" ; combined_counts_lo:units = "counts" ; combined_counts_lo:missing_value = -1 ; combined_counts_lo:plot_scale = "logarithmic" ; int combined_counts_hi(time, altitude) ; combined_counts_hi:long_name = "High Gain Combined Photon Counts" ; combined_counts_hi:description = "Raw counts, per averaging interval with pileup, afterpulse, and darkcount corrections applied" ; combined_counts_hi:units = "counts" ; combined_counts_hi:missing_value = -1 ; combined_counts_hi:plot_scale = "logarithmic" ; float profile_combined_counts_lo(altitude) ; profile_combined_counts_lo:long_name = "Low Gain Combined Photon Counts profile" ; profile_combined_counts_lo:description = "Raw counts, per averaging interval with pileup, afterpulse, and darkcount corrections applied" ; profile_combined_counts_lo:units = "counts" ; profile_combined_counts_lo:missing_value = -1 ; profile_combined_counts_lo:plot_scale = "logarithmic" ; float profile_combined_counts_hi(altitude) ; profile_combined_counts_hi:long_name = "High Gain Combined Photon Counts profile" ; profile_combined_counts_hi:description = "Raw counts, per averaging interval with pileup, afterpulse, and darkcount corrections applied" ; profile_combined_counts_hi:units = "counts" ; profile_combined_counts_hi:missing_value = -1 ; profile_combined_counts_hi:plot_scale = "logarithmic" ; int cross_counts(time, altitude) ; cross_counts:long_name = "Cross Polarized Photon Counts" ; cross_counts:description = "Raw counts, per averaging interval with pileup, afterpulse, and darkcount corrections applied" ; cross_counts:units = "counts" ; cross_counts:missing_value = -1 ; cross_counts:plot_scale = "logarithmic" ; float profile_cross_counts(altitude) ; profile_cross_counts:long_name = "Cross Polarized Photon Counts profile" ; profile_cross_counts:description = "Raw counts, per averaging interval with pileup, afterpulse, and darkcount corrections applied" ; profile_cross_counts:units = "counts" ; profile_cross_counts:missing_value = -1 ; profile_cross_counts:plot_scale = "logarithmic" ; float beta_a_backscat(time, altitude) ; beta_a_backscat:long_name = "Particulate backscatter cross section per unit volume" ; beta_a_backscat:units = "1/(m sr)" ; beta_a_backscat:missing_value = NaN ; beta_a_backscat:plot_scale = "logarithmic" ; float profile_beta_a_backscat(altitude) ; profile_beta_a_backscat:long_name = "Particulate backscatter cross section profile" ; profile_beta_a_backscat:units = "1/(m sr)" ; profile_beta_a_backscat:missing_value = NaN ; profile_beta_a_backscat:plot_scale = "logarithmic" ; float profile_beta_m(altitude) ; profile_beta_m:long_name = "Raob molecular scattering cross section profile" ; profile_beta_m:units = "1/meter" ; profile_beta_m:plot_scale = "logarithmic" ; int qc_mask(time, altitude) ; qc_mask:long_name = "Quality Mask" ; qc_mask:description = "Quality mask bitfield. Unused bits are always high" ; qc_mask:missing_value = 0 ; qc_mask:_Unsigned = "true" ; qc_mask:bit_0 = "complete_mask" ; qc_mask:bit_0_description = "data is good. and of bits 1-9" ; qc_mask:bit_1 = "lidar_ok_mask" ; qc_mask:bit_1_description = "lidar data is present" ; qc_mask:bit_2 = "lock_quality_mask" ; qc_mask:bit_2_description = "laser is locked to iodine filter wavelength" ; qc_mask:bit_3 = "seed_quality_mask" ; qc_mask:bit_3_description = "laser wavelength is locked to seed laser" ; qc_mask:bit_4 = "mol_count_snr_mask" ; qc_mask:bit_4_description = "molecular signal/photon counting error in molecular signal is above specified threshhold" ; qc_mask:bit_5 = "backscat_snr_mask" ; qc_mask:bit_5_description = "backscatter cross-section/photon counting error in backscatter cross-section is above specified threshhold" ; qc_mask:bit_6 = "mol_lost_mask" ; qc_mask:bit_6_description = "number of molecular photon counts is above specified threshhold" ; qc_mask:bit_7 = "min_backscat_mask" ; qc_mask:bit_7_description = "lidar backscatter cross-section is above specified threshhold" ; qc_mask:bit_8 = "radar_backscat_mask" ; qc_mask:bit_8_description = "radar backscatter cross-section is above specified threshhold" ; qc_mask:bit_9 = "radar_ok_mask" ; qc_mask:bit_9_description = "radar data is present" ; qc_mask:bit_10 = "aeri_ok_mask" ; qc_mask:bit_10_description = "aeri data is present" ; qc_mask:bit_11 = "aeri_qc_mask" ; qc_mask:bit_11_description = "aeri data has passed a quality check" ; float std_beta_a_backscat(time, altitude) ; std_beta_a_backscat:long_name = "Std dev of backscat cross section (photon counting)" ; std_beta_a_backscat:units = "1/(m sr)" ; std_beta_a_backscat:missing_value = NaN ; std_beta_a_backscat:plot_scale = "logarithmic" ; // global attributes: :code_version = "$Id: processed_netcdf.m,v 1.112 2009/11/10 20:53:41 jpgarcia Exp $" ; :load_calibration_version = "$Id: load_calibration.m,v 1.30 2010/03/30 19:16:51 eloranta Exp $" ; :get_internal_cal_vals_version = "$Id: get_internal_cal_vals.m,v 1.111 2009/11/02 19:50:29 jpgarcia Exp $" ; :calvals = "$Id: calvals_gvhsrl.m,v 1.75 2010/04/30 15:14:10 eloranta Exp $" ; :find_new_cal_times_version = "$Id: find_new_cal_times.m,v 1.22 2009/04/06 18:12:26 jpgarcia Exp $" ; :radiosonde_profile_version = "$Id: radiosonde_profile.m,v 1.31 2009/08/24 14:49:00 eloranta Exp $" ; :fetch_cal_version = "$Id: fetch_cal.m,v 1.30 2010/04/05 20:39:54 eloranta Exp $" ; :processed_netcdf_version = "$Id: processed_netcdf.m,v 1.112 2009/11/10 20:53:41 jpgarcia Exp $" ; :git_commit = "005c000d7c865bc4a3b50890a20dddac9a613863" ; :process_data_version = "$Id: process_data.m,v 1.248 2010/05/03 17:51:36 eloranta Exp $" ; :timefill_sum_version = "$Id: time_block.cc,v 1.55 2009/11/13 22:47:48 jpgarcia Exp $" ; :timefill_average_version = "$Id: time_block.cc,v 1.55 2009/11/13 22:47:48 jpgarcia Exp $" ; :file_version = 20050323 ; :time_zone = "UTC" ; :file_created = "2015-02-25 20:59:24" ; :Conventions = "COARDS" ; :time_axis_average_mode = "time" ; :time_axis_average_parameter = 30. ; :range_axis_average_parameter = 30. ; :featureset = 8175 ; :featureset_version = "$Revision: 1.16 $" ; :processing_parameters__qc_params__min_radar_alt = 200. ; :processing_parameters__qc_params__min_lidar_alt = 100. ; :processing_parameters__qc_params__lock_level = 0.6 ; :processing_parameters__qc_params__min_radar_dBz = -66.1 ; :processing_parameters__qc_params__backscat_snr = 1. ; :processing_parameters__qc_params__mol_lost = 1. ; :processing_parameters__qc_params__min_radar_backscat = 1.e-15 ; :processing_parameters__particlesettings__g_water = 1. ; :processing_parameters__particlesettings__h20_depol_threshold = 0.05 ; :processing_parameters__particlesettings__sigma_v = 0.26 ; :processing_parameters__particlesettings__type = "Bullet Rosettes (Mitchell 1996)" ; :processing_parameters__particlesettings__alpha_ice = 1. ; :processing_parameters__particlesettings__p180_ice = 0.035 ; :processing_parameters__particlesettings__delta_v1 = 3. ; :processing_parameters__particlesettings__Dr = 60. ; :processing_parameters__particlesettings__g_ice = 1. ; :processing_parameters__particlesettings__delta_a1 = 2. ; :processing_parameters__particlesettings__alpha_water = 2. ; :processing_parameters__particlesettings__delta_v2 = 2.26 ; :processing_parameters__particlesettings__sigma_a = 1. ; :processing_parameters__particlesettings__delta_a2 = 1.57 ; } ================================================== netcdf acxhsrlM1.01.20150225.205810.raw.mf2hsrl_20150130T0000_20150131T0000_30s_30m { dimensions: time = UNLIMITED ; // (2838 currently) altitude = 667 ; time_vector = 8 ; calibration = 2 ; sondenamelength = 6 ; i2header = 900 ; geoheader = 200 ; apheader = 300 ; variables: int base_time ; base_time:string = "2015-01-30 00:00:01 UTC" ; base_time:long_name = "Base seconds since Unix Epoch" ; base_time:units = "seconds since 1970-01-01 00:00:00 UTC" ; short first_time(time_vector) ; first_time:long_name = "First Time in file" ; short last_time(time_vector) ; last_time:long_name = "Last Time in file" ; double time(time) ; time:long_name = "Time" ; time:units = "seconds since 2015-01-30 00:00:01 UTC" ; double time_offset(time) ; time_offset:long_name = "Time offset from base_time" ; time_offset:description = "same times as \"First time in record\" " ; time_offset:units = "seconds since 2015-01-30 00:00:01 UTC" ; short start_time(time, time_vector) ; start_time:long_name = "First Time in record" ; start_time:description = "time of first laser shot in averaging interval" ; float latitude ; latitude:long_name = "latitude of lidar" ; latitude:units = "degree_N" ; float longitude ; longitude:long_name = "longitude of lidar" ; longitude:units = "degree_W" ; float range_resolution ; range_resolution:long_name = "Range resolution" ; range_resolution:description = "vertical distance between data points after averaging" ; range_resolution:units = "meters" ; float time_average ; time_average:long_name = "Time Averaging Width" ; time_average:description = "Time between data points after averaging" ; time_average:units = "seconds" ; short new_cal_times(calibration, time_vector) ; new_cal_times:long_name = "Time of Calibration Change" ; new_cal_times:description = "New raob or system calibration data triggered recalibration" ; float altitude(altitude) ; altitude:long_name = "Height above lidar" ; altitude:units = "meters" ; byte new_cal_trigger(calibration) ; new_cal_trigger:long_name = "Trigger of Calibration Change" ; new_cal_trigger:description = "reason for recalibration" ; new_cal_trigger:bit_0 = "radiosonde profile" ; new_cal_trigger:bit_1 = "i2 scan" ; new_cal_trigger:bit_2 = "geometry" ; short new_cal_offset(calibration) ; new_cal_offset:long_name = "Record Dimension equivalent Offset" ; new_cal_offset:min_value = 0 ; float top_alt_sounding(calibration) ; top_alt_sounding:long_name = "Sounding Maximum Altitude" ; top_alt_sounding:units = "meters" ; float temperature_profile(calibration, altitude) ; temperature_profile:long_name = "Raob Temperature Profile" ; temperature_profile:description = "Temperature interpolated to requested altitude resolution" ; temperature_profile:units = "degrees Kelvin" ; float pressure_profile(calibration, altitude) ; pressure_profile:long_name = "Raob pressure Profile" ; pressure_profile:description = "Pressure interpolated to requested altitude resolution" ; pressure_profile:units = "hectopascals" ; float dewpoint_profile(calibration, altitude) ; dewpoint_profile:long_name = "Raob Dewpoint Temperature Profile" ; dewpoint_profile:description = "Dewpoint interpolated to requested altitude resolution" ; dewpoint_profile:units = "degrees Kelvin" ; dewpoint_profile:missing_value = NaN ; float windspeed_profile(calibration, altitude) ; windspeed_profile:long_name = "Raob Wind Speed Profile" ; windspeed_profile:description = "Speeds interpolated to requested altitude resolution" ; windspeed_profile:units = "m/s" ; windspeed_profile:missing_value = NaN ; float winddir_profile(calibration, altitude) ; winddir_profile:long_name = "Raob Wind Direction Profile" ; winddir_profile:description = "Directions interpolated to requested altitude resolution" ; winddir_profile:units = "degrees" ; winddir_profile:missing_value = NaN ; char raob_station(calibration, sondenamelength) ; raob_station:long_name = "Radiosonde Station ID" ; char i2_txt_header(calibration, i2header) ; i2_txt_header:long_name = "i2_scan_file_text_info" ; i2_txt_header:description = "Contains name of file used to compute calibration" ; char geo_txt_header(calibration, geoheader) ; geo_txt_header:long_name = "geometric_correction_file_txt_header." ; char ap_txt_header(calibration, apheader) ; ap_txt_header:long_name = "afterpulse_correction_file_txt_header." ; double raob_time_offset(calibration) ; raob_time_offset:units = "seconds" ; raob_time_offset:long_name = "Radiosonde Launch time offset" ; raob_time_offset:description = "Time after base time in seconds" ; short raob_time_vector(calibration, time_vector) ; raob_time_vector:long_name = "Radiosonde Launch time vector" ; raob_time_vector:description = "Time in [year month day hour min sec ms us] format" ; float Cmc(calibration, altitude) ; Cmc:long_name = "Molecular in Combined Calibration" ; float Cmm(calibration, altitude) ; Cmm:long_name = "Molecular in Molecular Calibration" ; float Cam(calibration, altitude) ; Cam:long_name = "Aerosol in Molecular Calibration" ; float beta_m(calibration, altitude) ; beta_m:long_name = "Raob molecular scattering cross section per unit volume" ; beta_m:units = "1/meter" ; beta_m:plot_scale = "logarithmic" ; float transmitted_energy(time) ; transmitted_energy:long_name = "Transmitted Energy" ; transmitted_energy:units = "Joules" ; transmitted_energy:missing_value = NaN ; float piezovoltage(time) ; piezovoltage:long_name = "piezovoltage" ; piezovoltage:units = "Volts" ; piezovoltage:missing_value = NaN ; int num_seeded_shots(time) ; num_seeded_shots:long_name = "Number of Seeded Shots" ; num_seeded_shots:missing_value = -1 ; float seed_quality(time) ; seed_quality:long_name = "Laser Seeding Quality" ; seed_quality:description = "The ratio of seeded shots to total shots. Only seeded shot data is stored and processed. A low seed ratio can result in low noise resistance." ; seed_quality:missing_value = NaN ; seed_quality:range = 0., 1. ; float frequency_quality(time) ; frequency_quality:long_name = "Laser Frequency Quality" ; frequency_quality:description = "An ratio average of how good the frequency lock is per raw interval. A low value can result in poor separation of molecular and aerosol counts." ; frequency_quality:missing_value = NaN ; frequency_quality:range = 0., 1. ; float lock_quality(time) ; lock_quality:long_name = "Laser Lock Quality" ; lock_quality:description = "A ratio of likely locked intervals (frequency_quality>=.5) to seeded intervals. A low value can result in poor separation of molecular and aerosol counts." ; lock_quality:missing_value = NaN ; lock_quality:range = 0., 1. ; float mol_cal_pulse(time) ; mol_cal_pulse:long_name = "Molecular calibration pulse" ; mol_cal_pulse:description = "Sum of photon counts in the molecular channel due to light scattered with the telescope." ; mol_cal_pulse:units = "counts" ; mol_cal_pulse:missing_value = NaN ; float c_pol_dark_count(time, altitude) ; c_pol_dark_count:long_name = "Cross Polarization Dark Count" ; c_pol_dark_count:description = "total counts per averaging interval(eg. one altitude, one time)" ; c_pol_dark_count:units = "counts" ; c_pol_dark_count:missing_value = NaN ; float mol_dark_count(time, altitude) ; mol_dark_count:long_name = "Molecular Dark Count" ; mol_dark_count:description = "total counts per averaging interval(eg. one altitude, one time)" ; mol_dark_count:units = "counts" ; mol_dark_count:missing_value = NaN ; float combined_dark_count_lo(time, altitude) ; combined_dark_count_lo:long_name = "Low Gain Combined Dark Count" ; combined_dark_count_lo:description = "total counts per averaging interval(eg. one altitude, one time)" ; combined_dark_count_lo:units = "counts" ; combined_dark_count_lo:missing_value = NaN ; float combined_dark_count_hi(time, altitude) ; combined_dark_count_hi:long_name = "High Gain Combined Dark Count" ; combined_dark_count_hi:description = "total counts per averaging interval(eg. one altitude, one time)" ; combined_dark_count_hi:units = "counts" ; combined_dark_count_hi:missing_value = NaN ; float combined_gain(calibration) ; combined_gain:long_name = "Combined Gain Factor" ; combined_gain:description = "Low Gain level * Factor ~ High Gain level" ; float combined_merge_threshhold(calibration) ; combined_merge_threshhold:long_name = "Combined Merge Threshhold" ; float geo_cor(calibration, altitude) ; geo_cor:long_name = "Overlap correction" ; geo_cor:description = "Geometric overlap correction averaged to requested altitude resolution" ; geo_cor:units = " " ; geo_cor:missing_value = NaN ; geo_cor:plot_scale = "logarithmic" ; float od(time, altitude) ; od:long_name = "Optical depth of particulate" ; od:units = " " ; od:missing_value = NaN ; od:insufficient_data = Infinity ; od:plot_scale = "logarithmic" ; float profile_od(altitude) ; profile_od:long_name = "Optical depth of particulate Profile" ; profile_od:units = " " ; profile_od:missing_value = NaN ; profile_od:insufficient_data = Infinity ; profile_od:plot_scale = "logarithmic" ; float beta_a(time, altitude) ; beta_a:long_name = "Particulate extinction cross section per unit volume" ; beta_a:units = "1/m" ; beta_a:missing_value = NaN ; beta_a:plot_scale = "logarithmic" ; float atten_beta_r_backscat(time, altitude) ; atten_beta_r_backscat:long_name = "Attenuated Molecular return" ; atten_beta_r_backscat:units = "1/(m sr)" ; atten_beta_r_backscat:missing_value = NaN ; atten_beta_r_backscat:plot_scale = "logarithmic" ; float profile_atten_beta_r_backscat(altitude) ; profile_atten_beta_r_backscat:long_name = "Attenuated Molecular Profile" ; profile_atten_beta_r_backscat:units = "1/(m sr)" ; profile_atten_beta_r_backscat:missing_value = NaN ; profile_atten_beta_r_backscat:plot_scale = "logarithmic" ; float depol(time, altitude) ; depol:long_name = "Circular depolarization ratio for particulate" ; depol:description = "left circular return divided by right circular return" ; depol:units = " " ; depol:missing_value = NaN ; depol:plot_scale = "logarithmic" ; float profile_depol(altitude) ; profile_depol:long_name = "Circular depolarization ratio profile for particulate" ; profile_depol:description = "left circular return divided by right circular return" ; profile_depol:units = " " ; profile_depol:missing_value = NaN ; profile_depol:plot_scale = "logarithmic" ; int molecular_counts(time, altitude) ; molecular_counts:long_name = "Molecular Photon Counts" ; molecular_counts:description = "Raw counts, per averaging interval with pileup, afterpulse, and darkcount corrections applied" ; molecular_counts:units = "counts" ; molecular_counts:missing_value = -1 ; molecular_counts:plot_scale = "logarithmic" ; float profile_molecular_counts(altitude) ; profile_molecular_counts:long_name = "Molecular Photon Counts profile" ; profile_molecular_counts:description = "Raw counts, per averaging interval with pileup, afterpulse, and darkcount corrections applied" ; profile_molecular_counts:units = "counts" ; profile_molecular_counts:missing_value = -1 ; profile_molecular_counts:plot_scale = "logarithmic" ; int combined_counts_lo(time, altitude) ; combined_counts_lo:long_name = "Low Gain Combined Photon Counts" ; combined_counts_lo:description = "Raw counts, per averaging interval with pileup, afterpulse, and darkcount corrections applied" ; combined_counts_lo:units = "counts" ; combined_counts_lo:missing_value = -1 ; combined_counts_lo:plot_scale = "logarithmic" ; int combined_counts_hi(time, altitude) ; combined_counts_hi:long_name = "High Gain Combined Photon Counts" ; combined_counts_hi:description = "Raw counts, per averaging interval with pileup, afterpulse, and darkcount corrections applied" ; combined_counts_hi:units = "counts" ; combined_counts_hi:missing_value = -1 ; combined_counts_hi:plot_scale = "logarithmic" ; float profile_combined_counts_lo(altitude) ; profile_combined_counts_lo:long_name = "Low Gain Combined Photon Counts profile" ; profile_combined_counts_lo:description = "Raw counts, per averaging interval with pileup, afterpulse, and darkcount corrections applied" ; profile_combined_counts_lo:units = "counts" ; profile_combined_counts_lo:missing_value = -1 ; profile_combined_counts_lo:plot_scale = "logarithmic" ; float profile_combined_counts_hi(altitude) ; profile_combined_counts_hi:long_name = "High Gain Combined Photon Counts profile" ; profile_combined_counts_hi:description = "Raw counts, per averaging interval with pileup, afterpulse, and darkcount corrections applied" ; profile_combined_counts_hi:units = "counts" ; profile_combined_counts_hi:missing_value = -1 ; profile_combined_counts_hi:plot_scale = "logarithmic" ; int cross_counts(time, altitude) ; cross_counts:long_name = "Cross Polarized Photon Counts" ; cross_counts:description = "Raw counts, per averaging interval with pileup, afterpulse, and darkcount corrections applied" ; cross_counts:units = "counts" ; cross_counts:missing_value = -1 ; cross_counts:plot_scale = "logarithmic" ; float profile_cross_counts(altitude) ; profile_cross_counts:long_name = "Cross Polarized Photon Counts profile" ; profile_cross_counts:description = "Raw counts, per averaging interval with pileup, afterpulse, and darkcount corrections applied" ; profile_cross_counts:units = "counts" ; profile_cross_counts:missing_value = -1 ; profile_cross_counts:plot_scale = "logarithmic" ; float beta_a_backscat(time, altitude) ; beta_a_backscat:long_name = "Particulate backscatter cross section per unit volume" ; beta_a_backscat:units = "1/(m sr)" ; beta_a_backscat:missing_value = NaN ; beta_a_backscat:plot_scale = "logarithmic" ; float profile_beta_a_backscat(altitude) ; profile_beta_a_backscat:long_name = "Particulate backscatter cross section profile" ; profile_beta_a_backscat:units = "1/(m sr)" ; profile_beta_a_backscat:missing_value = NaN ; profile_beta_a_backscat:plot_scale = "logarithmic" ; float profile_beta_m(altitude) ; profile_beta_m:long_name = "Raob molecular scattering cross section profile" ; profile_beta_m:units = "1/meter" ; profile_beta_m:plot_scale = "logarithmic" ; int qc_mask(time, altitude) ; qc_mask:long_name = "Quality Mask" ; qc_mask:description = "Quality mask bitfield. Unused bits are always high" ; qc_mask:missing_value = 0 ; qc_mask:_Unsigned = "true" ; qc_mask:bit_0 = "complete_mask" ; qc_mask:bit_0_description = "data is good. and of bits 1-9" ; qc_mask:bit_1 = "lidar_ok_mask" ; qc_mask:bit_1_description = "lidar data is present" ; qc_mask:bit_2 = "lock_quality_mask" ; qc_mask:bit_2_description = "laser is locked to iodine filter wavelength" ; qc_mask:bit_3 = "seed_quality_mask" ; qc_mask:bit_3_description = "laser wavelength is locked to seed laser" ; qc_mask:bit_4 = "mol_count_snr_mask" ; qc_mask:bit_4_description = "molecular signal/photon counting error in molecular signal is above specified threshhold" ; qc_mask:bit_5 = "backscat_snr_mask" ; qc_mask:bit_5_description = "backscatter cross-section/photon counting error in backscatter cross-section is above specified threshhold" ; qc_mask:bit_6 = "mol_lost_mask" ; qc_mask:bit_6_description = "number of molecular photon counts is above specified threshhold" ; qc_mask:bit_7 = "min_backscat_mask" ; qc_mask:bit_7_description = "lidar backscatter cross-section is above specified threshhold" ; qc_mask:bit_8 = "radar_backscat_mask" ; qc_mask:bit_8_description = "radar backscatter cross-section is above specified threshhold" ; qc_mask:bit_9 = "radar_ok_mask" ; qc_mask:bit_9_description = "radar data is present" ; qc_mask:bit_10 = "aeri_ok_mask" ; qc_mask:bit_10_description = "aeri data is present" ; qc_mask:bit_11 = "aeri_qc_mask" ; qc_mask:bit_11_description = "aeri data has passed a quality check" ; float std_beta_a_backscat(time, altitude) ; std_beta_a_backscat:long_name = "Std dev of backscat cross section (photon counting)" ; std_beta_a_backscat:units = "1/(m sr)" ; std_beta_a_backscat:missing_value = NaN ; std_beta_a_backscat:plot_scale = "logarithmic" ; // global attributes: :code_version = "$Id: processed_netcdf.m,v 1.112 2009/11/10 20:53:41 jpgarcia Exp $" ; :load_calibration_version = "$Id: load_calibration.m,v 1.30 2010/03/30 19:16:51 eloranta Exp $" ; :get_internal_cal_vals_version = "$Id: get_internal_cal_vals.m,v 1.111 2009/11/02 19:50:29 jpgarcia Exp $" ; :calvals = "$Id: calvals_gvhsrl.m,v 1.75 2010/04/30 15:14:10 eloranta Exp $" ; :find_new_cal_times_version = "$Id: find_new_cal_times.m,v 1.22 2009/04/06 18:12:26 jpgarcia Exp $" ; :radiosonde_profile_version = "$Id: radiosonde_profile.m,v 1.31 2009/08/24 14:49:00 eloranta Exp $" ; :fetch_cal_version = "$Id: fetch_cal.m,v 1.30 2010/04/05 20:39:54 eloranta Exp $" ; :processed_netcdf_version = "$Id: processed_netcdf.m,v 1.112 2009/11/10 20:53:41 jpgarcia Exp $" ; :git_commit = "005c000d7c865bc4a3b50890a20dddac9a613863" ; :process_data_version = "$Id: process_data.m,v 1.248 2010/05/03 17:51:36 eloranta Exp $" ; :timefill_sum_version = "$Id: time_block.cc,v 1.55 2009/11/13 22:47:48 jpgarcia Exp $" ; :timefill_average_version = "$Id: time_block.cc,v 1.55 2009/11/13 22:47:48 jpgarcia Exp $" ; :file_version = 20050323 ; :time_zone = "UTC" ; :file_created = "2015-02-25 21:02:37" ; :Conventions = "COARDS" ; :time_axis_average_mode = "time" ; :time_axis_average_parameter = 30. ; :range_axis_average_parameter = 30. ; :featureset = 8175 ; :featureset_version = "$Revision: 1.16 $" ; :processing_parameters__qc_params__min_radar_alt = 200. ; :processing_parameters__qc_params__min_lidar_alt = 100. ; :processing_parameters__qc_params__lock_level = 0.6 ; :processing_parameters__qc_params__min_radar_dBz = -66.1 ; :processing_parameters__qc_params__backscat_snr = 1. ; :processing_parameters__qc_params__mol_lost = 1. ; :processing_parameters__qc_params__min_radar_backscat = 1.e-15 ; :processing_parameters__particlesettings__g_water = 1. ; :processing_parameters__particlesettings__h20_depol_threshold = 0.05 ; :processing_parameters__particlesettings__sigma_v = 0.26 ; :processing_parameters__particlesettings__type = "Bullet Rosettes (Mitchell 1996)" ; :processing_parameters__particlesettings__alpha_ice = 1. ; :processing_parameters__particlesettings__p180_ice = 0.035 ; :processing_parameters__particlesettings__delta_v1 = 3. ; :processing_parameters__particlesettings__Dr = 60. ; :processing_parameters__particlesettings__g_ice = 1. ; :processing_parameters__particlesettings__delta_a1 = 2. ; :processing_parameters__particlesettings__alpha_water = 2. ; :processing_parameters__particlesettings__delta_v2 = 2.26 ; :processing_parameters__particlesettings__sigma_a = 1. ; :processing_parameters__particlesettings__delta_a2 = 1.57 ; } ================================================== netcdf acxhsrlM1.01.20150225.205810.raw.mf2hsrl_20150131T0000_20150201T0000_30s_30m { dimensions: time = UNLIMITED ; // (2838 currently) altitude = 667 ; time_vector = 8 ; calibration = 2 ; sondenamelength = 6 ; i2header = 900 ; geoheader = 200 ; apheader = 300 ; variables: int base_time ; base_time:string = "2015-01-31 00:00:01 UTC" ; base_time:long_name = "Base seconds since Unix Epoch" ; base_time:units = "seconds since 1970-01-01 00:00:00 UTC" ; short first_time(time_vector) ; first_time:long_name = "First Time in file" ; short last_time(time_vector) ; last_time:long_name = "Last Time in file" ; double time(time) ; time:long_name = "Time" ; time:units = "seconds since 2015-01-31 00:00:01 UTC" ; double time_offset(time) ; time_offset:long_name = "Time offset from base_time" ; time_offset:description = "same times as \"First time in record\" " ; time_offset:units = "seconds since 2015-01-31 00:00:01 UTC" ; short start_time(time, time_vector) ; start_time:long_name = "First Time in record" ; start_time:description = "time of first laser shot in averaging interval" ; float latitude ; latitude:long_name = "latitude of lidar" ; latitude:units = "degree_N" ; float longitude ; longitude:long_name = "longitude of lidar" ; longitude:units = "degree_W" ; float range_resolution ; range_resolution:long_name = "Range resolution" ; range_resolution:description = "vertical distance between data points after averaging" ; range_resolution:units = "meters" ; float time_average ; time_average:long_name = "Time Averaging Width" ; time_average:description = "Time between data points after averaging" ; time_average:units = "seconds" ; short new_cal_times(calibration, time_vector) ; new_cal_times:long_name = "Time of Calibration Change" ; new_cal_times:description = "New raob or system calibration data triggered recalibration" ; float altitude(altitude) ; altitude:long_name = "Height above lidar" ; altitude:units = "meters" ; byte new_cal_trigger(calibration) ; new_cal_trigger:long_name = "Trigger of Calibration Change" ; new_cal_trigger:description = "reason for recalibration" ; new_cal_trigger:bit_0 = "radiosonde profile" ; new_cal_trigger:bit_1 = "i2 scan" ; new_cal_trigger:bit_2 = "geometry" ; short new_cal_offset(calibration) ; new_cal_offset:long_name = "Record Dimension equivalent Offset" ; new_cal_offset:min_value = 0 ; float top_alt_sounding(calibration) ; top_alt_sounding:long_name = "Sounding Maximum Altitude" ; top_alt_sounding:units = "meters" ; float temperature_profile(calibration, altitude) ; temperature_profile:long_name = "Raob Temperature Profile" ; temperature_profile:description = "Temperature interpolated to requested altitude resolution" ; temperature_profile:units = "degrees Kelvin" ; float pressure_profile(calibration, altitude) ; pressure_profile:long_name = "Raob pressure Profile" ; pressure_profile:description = "Pressure interpolated to requested altitude resolution" ; pressure_profile:units = "hectopascals" ; float dewpoint_profile(calibration, altitude) ; dewpoint_profile:long_name = "Raob Dewpoint Temperature Profile" ; dewpoint_profile:description = "Dewpoint interpolated to requested altitude resolution" ; dewpoint_profile:units = "degrees Kelvin" ; dewpoint_profile:missing_value = NaN ; float windspeed_profile(calibration, altitude) ; windspeed_profile:long_name = "Raob Wind Speed Profile" ; windspeed_profile:description = "Speeds interpolated to requested altitude resolution" ; windspeed_profile:units = "m/s" ; windspeed_profile:missing_value = NaN ; float winddir_profile(calibration, altitude) ; winddir_profile:long_name = "Raob Wind Direction Profile" ; winddir_profile:description = "Directions interpolated to requested altitude resolution" ; winddir_profile:units = "degrees" ; winddir_profile:missing_value = NaN ; char raob_station(calibration, sondenamelength) ; raob_station:long_name = "Radiosonde Station ID" ; char i2_txt_header(calibration, i2header) ; i2_txt_header:long_name = "i2_scan_file_text_info" ; i2_txt_header:description = "Contains name of file used to compute calibration" ; char geo_txt_header(calibration, geoheader) ; geo_txt_header:long_name = "geometric_correction_file_txt_header." ; char ap_txt_header(calibration, apheader) ; ap_txt_header:long_name = "afterpulse_correction_file_txt_header." ; double raob_time_offset(calibration) ; raob_time_offset:units = "seconds" ; raob_time_offset:long_name = "Radiosonde Launch time offset" ; raob_time_offset:description = "Time after base time in seconds" ; short raob_time_vector(calibration, time_vector) ; raob_time_vector:long_name = "Radiosonde Launch time vector" ; raob_time_vector:description = "Time in [year month day hour min sec ms us] format" ; float Cmc(calibration, altitude) ; Cmc:long_name = "Molecular in Combined Calibration" ; float Cmm(calibration, altitude) ; Cmm:long_name = "Molecular in Molecular Calibration" ; float Cam(calibration, altitude) ; Cam:long_name = "Aerosol in Molecular Calibration" ; float beta_m(calibration, altitude) ; beta_m:long_name = "Raob molecular scattering cross section per unit volume" ; beta_m:units = "1/meter" ; beta_m:plot_scale = "logarithmic" ; float transmitted_energy(time) ; transmitted_energy:long_name = "Transmitted Energy" ; transmitted_energy:units = "Joules" ; transmitted_energy:missing_value = NaN ; float piezovoltage(time) ; piezovoltage:long_name = "piezovoltage" ; piezovoltage:units = "Volts" ; piezovoltage:missing_value = NaN ; int num_seeded_shots(time) ; num_seeded_shots:long_name = "Number of Seeded Shots" ; num_seeded_shots:missing_value = -1 ; float seed_quality(time) ; seed_quality:long_name = "Laser Seeding Quality" ; seed_quality:description = "The ratio of seeded shots to total shots. Only seeded shot data is stored and processed. A low seed ratio can result in low noise resistance." ; seed_quality:missing_value = NaN ; seed_quality:range = 0., 1. ; float frequency_quality(time) ; frequency_quality:long_name = "Laser Frequency Quality" ; frequency_quality:description = "An ratio average of how good the frequency lock is per raw interval. A low value can result in poor separation of molecular and aerosol counts." ; frequency_quality:missing_value = NaN ; frequency_quality:range = 0., 1. ; float lock_quality(time) ; lock_quality:long_name = "Laser Lock Quality" ; lock_quality:description = "A ratio of likely locked intervals (frequency_quality>=.5) to seeded intervals. A low value can result in poor separation of molecular and aerosol counts." ; lock_quality:missing_value = NaN ; lock_quality:range = 0., 1. ; float mol_cal_pulse(time) ; mol_cal_pulse:long_name = "Molecular calibration pulse" ; mol_cal_pulse:description = "Sum of photon counts in the molecular channel due to light scattered with the telescope." ; mol_cal_pulse:units = "counts" ; mol_cal_pulse:missing_value = NaN ; float c_pol_dark_count(time, altitude) ; c_pol_dark_count:long_name = "Cross Polarization Dark Count" ; c_pol_dark_count:description = "total counts per averaging interval(eg. one altitude, one time)" ; c_pol_dark_count:units = "counts" ; c_pol_dark_count:missing_value = NaN ; float mol_dark_count(time, altitude) ; mol_dark_count:long_name = "Molecular Dark Count" ; mol_dark_count:description = "total counts per averaging interval(eg. one altitude, one time)" ; mol_dark_count:units = "counts" ; mol_dark_count:missing_value = NaN ; float combined_dark_count_lo(time, altitude) ; combined_dark_count_lo:long_name = "Low Gain Combined Dark Count" ; combined_dark_count_lo:description = "total counts per averaging interval(eg. one altitude, one time)" ; combined_dark_count_lo:units = "counts" ; combined_dark_count_lo:missing_value = NaN ; float combined_dark_count_hi(time, altitude) ; combined_dark_count_hi:long_name = "High Gain Combined Dark Count" ; combined_dark_count_hi:description = "total counts per averaging interval(eg. one altitude, one time)" ; combined_dark_count_hi:units = "counts" ; combined_dark_count_hi:missing_value = NaN ; float combined_gain(calibration) ; combined_gain:long_name = "Combined Gain Factor" ; combined_gain:description = "Low Gain level * Factor ~ High Gain level" ; float combined_merge_threshhold(calibration) ; combined_merge_threshhold:long_name = "Combined Merge Threshhold" ; float geo_cor(calibration, altitude) ; geo_cor:long_name = "Overlap correction" ; geo_cor:description = "Geometric overlap correction averaged to requested altitude resolution" ; geo_cor:units = " " ; geo_cor:missing_value = NaN ; geo_cor:plot_scale = "logarithmic" ; float od(time, altitude) ; od:long_name = "Optical depth of particulate" ; od:units = " " ; od:missing_value = NaN ; od:insufficient_data = Infinity ; od:plot_scale = "logarithmic" ; float profile_od(altitude) ; profile_od:long_name = "Optical depth of particulate Profile" ; profile_od:units = " " ; profile_od:missing_value = NaN ; profile_od:insufficient_data = Infinity ; profile_od:plot_scale = "logarithmic" ; float beta_a(time, altitude) ; beta_a:long_name = "Particulate extinction cross section per unit volume" ; beta_a:units = "1/m" ; beta_a:missing_value = NaN ; beta_a:plot_scale = "logarithmic" ; float atten_beta_r_backscat(time, altitude) ; atten_beta_r_backscat:long_name = "Attenuated Molecular return" ; atten_beta_r_backscat:units = "1/(m sr)" ; atten_beta_r_backscat:missing_value = NaN ; atten_beta_r_backscat:plot_scale = "logarithmic" ; float profile_atten_beta_r_backscat(altitude) ; profile_atten_beta_r_backscat:long_name = "Attenuated Molecular Profile" ; profile_atten_beta_r_backscat:units = "1/(m sr)" ; profile_atten_beta_r_backscat:missing_value = NaN ; profile_atten_beta_r_backscat:plot_scale = "logarithmic" ; float depol(time, altitude) ; depol:long_name = "Circular depolarization ratio for particulate" ; depol:description = "left circular return divided by right circular return" ; depol:units = " " ; depol:missing_value = NaN ; depol:plot_scale = "logarithmic" ; float profile_depol(altitude) ; profile_depol:long_name = "Circular depolarization ratio profile for particulate" ; profile_depol:description = "left circular return divided by right circular return" ; profile_depol:units = " " ; profile_depol:missing_value = NaN ; profile_depol:plot_scale = "logarithmic" ; int molecular_counts(time, altitude) ; molecular_counts:long_name = "Molecular Photon Counts" ; molecular_counts:description = "Raw counts, per averaging interval with pileup, afterpulse, and darkcount corrections applied" ; molecular_counts:units = "counts" ; molecular_counts:missing_value = -1 ; molecular_counts:plot_scale = "logarithmic" ; float profile_molecular_counts(altitude) ; profile_molecular_counts:long_name = "Molecular Photon Counts profile" ; profile_molecular_counts:description = "Raw counts, per averaging interval with pileup, afterpulse, and darkcount corrections applied" ; profile_molecular_counts:units = "counts" ; profile_molecular_counts:missing_value = -1 ; profile_molecular_counts:plot_scale = "logarithmic" ; int combined_counts_lo(time, altitude) ; combined_counts_lo:long_name = "Low Gain Combined Photon Counts" ; combined_counts_lo:description = "Raw counts, per averaging interval with pileup, afterpulse, and darkcount corrections applied" ; combined_counts_lo:units = "counts" ; combined_counts_lo:missing_value = -1 ; combined_counts_lo:plot_scale = "logarithmic" ; int combined_counts_hi(time, altitude) ; combined_counts_hi:long_name = "High Gain Combined Photon Counts" ; combined_counts_hi:description = "Raw counts, per averaging interval with pileup, afterpulse, and darkcount corrections applied" ; combined_counts_hi:units = "counts" ; combined_counts_hi:missing_value = -1 ; combined_counts_hi:plot_scale = "logarithmic" ; float profile_combined_counts_lo(altitude) ; profile_combined_counts_lo:long_name = "Low Gain Combined Photon Counts profile" ; profile_combined_counts_lo:description = "Raw counts, per averaging interval with pileup, afterpulse, and darkcount corrections applied" ; profile_combined_counts_lo:units = "counts" ; profile_combined_counts_lo:missing_value = -1 ; profile_combined_counts_lo:plot_scale = "logarithmic" ; float profile_combined_counts_hi(altitude) ; profile_combined_counts_hi:long_name = "High Gain Combined Photon Counts profile" ; profile_combined_counts_hi:description = "Raw counts, per averaging interval with pileup, afterpulse, and darkcount corrections applied" ; profile_combined_counts_hi:units = "counts" ; profile_combined_counts_hi:missing_value = -1 ; profile_combined_counts_hi:plot_scale = "logarithmic" ; int cross_counts(time, altitude) ; cross_counts:long_name = "Cross Polarized Photon Counts" ; cross_counts:description = "Raw counts, per averaging interval with pileup, afterpulse, and darkcount corrections applied" ; cross_counts:units = "counts" ; cross_counts:missing_value = -1 ; cross_counts:plot_scale = "logarithmic" ; float profile_cross_counts(altitude) ; profile_cross_counts:long_name = "Cross Polarized Photon Counts profile" ; profile_cross_counts:description = "Raw counts, per averaging interval with pileup, afterpulse, and darkcount corrections applied" ; profile_cross_counts:units = "counts" ; profile_cross_counts:missing_value = -1 ; profile_cross_counts:plot_scale = "logarithmic" ; float beta_a_backscat(time, altitude) ; beta_a_backscat:long_name = "Particulate backscatter cross section per unit volume" ; beta_a_backscat:units = "1/(m sr)" ; beta_a_backscat:missing_value = NaN ; beta_a_backscat:plot_scale = "logarithmic" ; float profile_beta_a_backscat(altitude) ; profile_beta_a_backscat:long_name = "Particulate backscatter cross section profile" ; profile_beta_a_backscat:units = "1/(m sr)" ; profile_beta_a_backscat:missing_value = NaN ; profile_beta_a_backscat:plot_scale = "logarithmic" ; float profile_beta_m(altitude) ; profile_beta_m:long_name = "Raob molecular scattering cross section profile" ; profile_beta_m:units = "1/meter" ; profile_beta_m:plot_scale = "logarithmic" ; int qc_mask(time, altitude) ; qc_mask:long_name = "Quality Mask" ; qc_mask:description = "Quality mask bitfield. Unused bits are always high" ; qc_mask:missing_value = 0 ; qc_mask:_Unsigned = "true" ; qc_mask:bit_0 = "complete_mask" ; qc_mask:bit_0_description = "data is good. and of bits 1-9" ; qc_mask:bit_1 = "lidar_ok_mask" ; qc_mask:bit_1_description = "lidar data is present" ; qc_mask:bit_2 = "lock_quality_mask" ; qc_mask:bit_2_description = "laser is locked to iodine filter wavelength" ; qc_mask:bit_3 = "seed_quality_mask" ; qc_mask:bit_3_description = "laser wavelength is locked to seed laser" ; qc_mask:bit_4 = "mol_count_snr_mask" ; qc_mask:bit_4_description = "molecular signal/photon counting error in molecular signal is above specified threshhold" ; qc_mask:bit_5 = "backscat_snr_mask" ; qc_mask:bit_5_description = "backscatter cross-section/photon counting error in backscatter cross-section is above specified threshhold" ; qc_mask:bit_6 = "mol_lost_mask" ; qc_mask:bit_6_description = "number of molecular photon counts is above specified threshhold" ; qc_mask:bit_7 = "min_backscat_mask" ; qc_mask:bit_7_description = "lidar backscatter cross-section is above specified threshhold" ; qc_mask:bit_8 = "radar_backscat_mask" ; qc_mask:bit_8_description = "radar backscatter cross-section is above specified threshhold" ; qc_mask:bit_9 = "radar_ok_mask" ; qc_mask:bit_9_description = "radar data is present" ; qc_mask:bit_10 = "aeri_ok_mask" ; qc_mask:bit_10_description = "aeri data is present" ; qc_mask:bit_11 = "aeri_qc_mask" ; qc_mask:bit_11_description = "aeri data has passed a quality check" ; float std_beta_a_backscat(time, altitude) ; std_beta_a_backscat:long_name = "Std dev of backscat cross section (photon counting)" ; std_beta_a_backscat:units = "1/(m sr)" ; std_beta_a_backscat:missing_value = NaN ; std_beta_a_backscat:plot_scale = "logarithmic" ; // global attributes: :code_version = "$Id: processed_netcdf.m,v 1.112 2009/11/10 20:53:41 jpgarcia Exp $" ; :load_calibration_version = "$Id: load_calibration.m,v 1.30 2010/03/30 19:16:51 eloranta Exp $" ; :get_internal_cal_vals_version = "$Id: get_internal_cal_vals.m,v 1.111 2009/11/02 19:50:29 jpgarcia Exp $" ; :calvals = "$Id: calvals_gvhsrl.m,v 1.75 2010/04/30 15:14:10 eloranta Exp $" ; :find_new_cal_times_version = "$Id: find_new_cal_times.m,v 1.22 2009/04/06 18:12:26 jpgarcia Exp $" ; :radiosonde_profile_version = "$Id: radiosonde_profile.m,v 1.31 2009/08/24 14:49:00 eloranta Exp $" ; :fetch_cal_version = "$Id: fetch_cal.m,v 1.30 2010/04/05 20:39:54 eloranta Exp $" ; :processed_netcdf_version = "$Id: processed_netcdf.m,v 1.112 2009/11/10 20:53:41 jpgarcia Exp $" ; :git_commit = "005c000d7c865bc4a3b50890a20dddac9a613863" ; :process_data_version = "$Id: process_data.m,v 1.248 2010/05/03 17:51:36 eloranta Exp $" ; :timefill_sum_version = "$Id: time_block.cc,v 1.55 2009/11/13 22:47:48 jpgarcia Exp $" ; :timefill_average_version = "$Id: time_block.cc,v 1.55 2009/11/13 22:47:48 jpgarcia Exp $" ; :file_version = 20050323 ; :time_zone = "UTC" ; :file_created = "2015-02-25 21:05:41" ; :Conventions = "COARDS" ; :time_axis_average_mode = "time" ; :time_axis_average_parameter = 30. ; :range_axis_average_parameter = 30. ; :featureset = 8175 ; :featureset_version = "$Revision: 1.16 $" ; :processing_parameters__qc_params__min_radar_alt = 200. ; :processing_parameters__qc_params__min_lidar_alt = 100. ; :processing_parameters__qc_params__lock_level = 0.6 ; :processing_parameters__qc_params__min_radar_dBz = -66.1 ; :processing_parameters__qc_params__backscat_snr = 1. ; :processing_parameters__qc_params__mol_lost = 1. ; :processing_parameters__qc_params__min_radar_backscat = 1.e-15 ; :processing_parameters__particlesettings__g_water = 1. ; :processing_parameters__particlesettings__h20_depol_threshold = 0.05 ; :processing_parameters__particlesettings__sigma_v = 0.26 ; :processing_parameters__particlesettings__type = "Bullet Rosettes (Mitchell 1996)" ; :processing_parameters__particlesettings__alpha_ice = 1. ; :processing_parameters__particlesettings__p180_ice = 0.035 ; :processing_parameters__particlesettings__delta_v1 = 3. ; :processing_parameters__particlesettings__Dr = 60. ; :processing_parameters__particlesettings__g_ice = 1. ; :processing_parameters__particlesettings__delta_a1 = 2. ; :processing_parameters__particlesettings__alpha_water = 2. ; :processing_parameters__particlesettings__delta_v2 = 2.26 ; :processing_parameters__particlesettings__sigma_a = 1. ; :processing_parameters__particlesettings__delta_a2 = 1.57 ; } ================================================== netcdf acxhsrlM1.01.20150225.205810.raw.mf2hsrl_20150201T0000_20150202T0000_30s_30m { dimensions: time = UNLIMITED ; // (2702 currently) altitude = 667 ; time_vector = 8 ; calibration = 2 ; sondenamelength = 6 ; i2header = 900 ; geoheader = 200 ; apheader = 300 ; variables: int base_time ; base_time:string = "2015-02-01 00:00:00 UTC" ; base_time:long_name = "Base seconds since Unix Epoch" ; base_time:units = "seconds since 1970-01-01 00:00:00 UTC" ; short first_time(time_vector) ; first_time:long_name = "First Time in file" ; short last_time(time_vector) ; last_time:long_name = "Last Time in file" ; double time(time) ; time:long_name = "Time" ; time:units = "seconds since 2015-02-01 00:00:00 UTC" ; double time_offset(time) ; time_offset:long_name = "Time offset from base_time" ; time_offset:description = "same times as \"First time in record\" " ; time_offset:units = "seconds since 2015-02-01 00:00:00 UTC" ; short start_time(time, time_vector) ; start_time:long_name = "First Time in record" ; start_time:description = "time of first laser shot in averaging interval" ; float latitude ; latitude:long_name = "latitude of lidar" ; latitude:units = "degree_N" ; float longitude ; longitude:long_name = "longitude of lidar" ; longitude:units = "degree_W" ; float range_resolution ; range_resolution:long_name = "Range resolution" ; range_resolution:description = "vertical distance between data points after averaging" ; range_resolution:units = "meters" ; float time_average ; time_average:long_name = "Time Averaging Width" ; time_average:description = "Time between data points after averaging" ; time_average:units = "seconds" ; short new_cal_times(calibration, time_vector) ; new_cal_times:long_name = "Time of Calibration Change" ; new_cal_times:description = "New raob or system calibration data triggered recalibration" ; float altitude(altitude) ; altitude:long_name = "Height above lidar" ; altitude:units = "meters" ; byte new_cal_trigger(calibration) ; new_cal_trigger:long_name = "Trigger of Calibration Change" ; new_cal_trigger:description = "reason for recalibration" ; new_cal_trigger:bit_0 = "radiosonde profile" ; new_cal_trigger:bit_1 = "i2 scan" ; new_cal_trigger:bit_2 = "geometry" ; short new_cal_offset(calibration) ; new_cal_offset:long_name = "Record Dimension equivalent Offset" ; new_cal_offset:min_value = 0 ; float top_alt_sounding(calibration) ; top_alt_sounding:long_name = "Sounding Maximum Altitude" ; top_alt_sounding:units = "meters" ; float temperature_profile(calibration, altitude) ; temperature_profile:long_name = "Raob Temperature Profile" ; temperature_profile:description = "Temperature interpolated to requested altitude resolution" ; temperature_profile:units = "degrees Kelvin" ; float pressure_profile(calibration, altitude) ; pressure_profile:long_name = "Raob pressure Profile" ; pressure_profile:description = "Pressure interpolated to requested altitude resolution" ; pressure_profile:units = "hectopascals" ; float dewpoint_profile(calibration, altitude) ; dewpoint_profile:long_name = "Raob Dewpoint Temperature Profile" ; dewpoint_profile:description = "Dewpoint interpolated to requested altitude resolution" ; dewpoint_profile:units = "degrees Kelvin" ; dewpoint_profile:missing_value = NaN ; float windspeed_profile(calibration, altitude) ; windspeed_profile:long_name = "Raob Wind Speed Profile" ; windspeed_profile:description = "Speeds interpolated to requested altitude resolution" ; windspeed_profile:units = "m/s" ; windspeed_profile:missing_value = NaN ; float winddir_profile(calibration, altitude) ; winddir_profile:long_name = "Raob Wind Direction Profile" ; winddir_profile:description = "Directions interpolated to requested altitude resolution" ; winddir_profile:units = "degrees" ; winddir_profile:missing_value = NaN ; char raob_station(calibration, sondenamelength) ; raob_station:long_name = "Radiosonde Station ID" ; char i2_txt_header(calibration, i2header) ; i2_txt_header:long_name = "i2_scan_file_text_info" ; i2_txt_header:description = "Contains name of file used to compute calibration" ; char geo_txt_header(calibration, geoheader) ; geo_txt_header:long_name = "geometric_correction_file_txt_header." ; char ap_txt_header(calibration, apheader) ; ap_txt_header:long_name = "afterpulse_correction_file_txt_header." ; double raob_time_offset(calibration) ; raob_time_offset:units = "seconds" ; raob_time_offset:long_name = "Radiosonde Launch time offset" ; raob_time_offset:description = "Time after base time in seconds" ; short raob_time_vector(calibration, time_vector) ; raob_time_vector:long_name = "Radiosonde Launch time vector" ; raob_time_vector:description = "Time in [year month day hour min sec ms us] format" ; float Cmc(calibration, altitude) ; Cmc:long_name = "Molecular in Combined Calibration" ; float Cmm(calibration, altitude) ; Cmm:long_name = "Molecular in Molecular Calibration" ; float Cam(calibration, altitude) ; Cam:long_name = "Aerosol in Molecular Calibration" ; float beta_m(calibration, altitude) ; beta_m:long_name = "Raob molecular scattering cross section per unit volume" ; beta_m:units = "1/meter" ; beta_m:plot_scale = "logarithmic" ; float transmitted_energy(time) ; transmitted_energy:long_name = "Transmitted Energy" ; transmitted_energy:units = "Joules" ; transmitted_energy:missing_value = NaN ; float piezovoltage(time) ; piezovoltage:long_name = "piezovoltage" ; piezovoltage:units = "Volts" ; piezovoltage:missing_value = NaN ; int num_seeded_shots(time) ; num_seeded_shots:long_name = "Number of Seeded Shots" ; num_seeded_shots:missing_value = -1 ; float seed_quality(time) ; seed_quality:long_name = "Laser Seeding Quality" ; seed_quality:description = "The ratio of seeded shots to total shots. Only seeded shot data is stored and processed. A low seed ratio can result in low noise resistance." ; seed_quality:missing_value = NaN ; seed_quality:range = 0., 1. ; float frequency_quality(time) ; frequency_quality:long_name = "Laser Frequency Quality" ; frequency_quality:description = "An ratio average of how good the frequency lock is per raw interval. A low value can result in poor separation of molecular and aerosol counts." ; frequency_quality:missing_value = NaN ; frequency_quality:range = 0., 1. ; float lock_quality(time) ; lock_quality:long_name = "Laser Lock Quality" ; lock_quality:description = "A ratio of likely locked intervals (frequency_quality>=.5) to seeded intervals. A low value can result in poor separation of molecular and aerosol counts." ; lock_quality:missing_value = NaN ; lock_quality:range = 0., 1. ; float mol_cal_pulse(time) ; mol_cal_pulse:long_name = "Molecular calibration pulse" ; mol_cal_pulse:description = "Sum of photon counts in the molecular channel due to light scattered with the telescope." ; mol_cal_pulse:units = "counts" ; mol_cal_pulse:missing_value = NaN ; float c_pol_dark_count(time, altitude) ; c_pol_dark_count:long_name = "Cross Polarization Dark Count" ; c_pol_dark_count:description = "total counts per averaging interval(eg. one altitude, one time)" ; c_pol_dark_count:units = "counts" ; c_pol_dark_count:missing_value = NaN ; float mol_dark_count(time, altitude) ; mol_dark_count:long_name = "Molecular Dark Count" ; mol_dark_count:description = "total counts per averaging interval(eg. one altitude, one time)" ; mol_dark_count:units = "counts" ; mol_dark_count:missing_value = NaN ; float combined_dark_count_lo(time, altitude) ; combined_dark_count_lo:long_name = "Low Gain Combined Dark Count" ; combined_dark_count_lo:description = "total counts per averaging interval(eg. one altitude, one time)" ; combined_dark_count_lo:units = "counts" ; combined_dark_count_lo:missing_value = NaN ; float combined_dark_count_hi(time, altitude) ; combined_dark_count_hi:long_name = "High Gain Combined Dark Count" ; combined_dark_count_hi:description = "total counts per averaging interval(eg. one altitude, one time)" ; combined_dark_count_hi:units = "counts" ; combined_dark_count_hi:missing_value = NaN ; float combined_gain(calibration) ; combined_gain:long_name = "Combined Gain Factor" ; combined_gain:description = "Low Gain level * Factor ~ High Gain level" ; float combined_merge_threshhold(calibration) ; combined_merge_threshhold:long_name = "Combined Merge Threshhold" ; float geo_cor(calibration, altitude) ; geo_cor:long_name = "Overlap correction" ; geo_cor:description = "Geometric overlap correction averaged to requested altitude resolution" ; geo_cor:units = " " ; geo_cor:missing_value = NaN ; geo_cor:plot_scale = "logarithmic" ; float od(time, altitude) ; od:long_name = "Optical depth of particulate" ; od:units = " " ; od:missing_value = NaN ; od:insufficient_data = Infinity ; od:plot_scale = "logarithmic" ; float profile_od(altitude) ; profile_od:long_name = "Optical depth of particulate Profile" ; profile_od:units = " " ; profile_od:missing_value = NaN ; profile_od:insufficient_data = Infinity ; profile_od:plot_scale = "logarithmic" ; float beta_a(time, altitude) ; beta_a:long_name = "Particulate extinction cross section per unit volume" ; beta_a:units = "1/m" ; beta_a:missing_value = NaN ; beta_a:plot_scale = "logarithmic" ; float atten_beta_r_backscat(time, altitude) ; atten_beta_r_backscat:long_name = "Attenuated Molecular return" ; atten_beta_r_backscat:units = "1/(m sr)" ; atten_beta_r_backscat:missing_value = NaN ; atten_beta_r_backscat:plot_scale = "logarithmic" ; float profile_atten_beta_r_backscat(altitude) ; profile_atten_beta_r_backscat:long_name = "Attenuated Molecular Profile" ; profile_atten_beta_r_backscat:units = "1/(m sr)" ; profile_atten_beta_r_backscat:missing_value = NaN ; profile_atten_beta_r_backscat:plot_scale = "logarithmic" ; float depol(time, altitude) ; depol:long_name = "Circular depolarization ratio for particulate" ; depol:description = "left circular return divided by right circular return" ; depol:units = " " ; depol:missing_value = NaN ; depol:plot_scale = "logarithmic" ; float profile_depol(altitude) ; profile_depol:long_name = "Circular depolarization ratio profile for particulate" ; profile_depol:description = "left circular return divided by right circular return" ; profile_depol:units = " " ; profile_depol:missing_value = NaN ; profile_depol:plot_scale = "logarithmic" ; int molecular_counts(time, altitude) ; molecular_counts:long_name = "Molecular Photon Counts" ; molecular_counts:description = "Raw counts, per averaging interval with pileup, afterpulse, and darkcount corrections applied" ; molecular_counts:units = "counts" ; molecular_counts:missing_value = -1 ; molecular_counts:plot_scale = "logarithmic" ; float profile_molecular_counts(altitude) ; profile_molecular_counts:long_name = "Molecular Photon Counts profile" ; profile_molecular_counts:description = "Raw counts, per averaging interval with pileup, afterpulse, and darkcount corrections applied" ; profile_molecular_counts:units = "counts" ; profile_molecular_counts:missing_value = -1 ; profile_molecular_counts:plot_scale = "logarithmic" ; int combined_counts_lo(time, altitude) ; combined_counts_lo:long_name = "Low Gain Combined Photon Counts" ; combined_counts_lo:description = "Raw counts, per averaging interval with pileup, afterpulse, and darkcount corrections applied" ; combined_counts_lo:units = "counts" ; combined_counts_lo:missing_value = -1 ; combined_counts_lo:plot_scale = "logarithmic" ; int combined_counts_hi(time, altitude) ; combined_counts_hi:long_name = "High Gain Combined Photon Counts" ; combined_counts_hi:description = "Raw counts, per averaging interval with pileup, afterpulse, and darkcount corrections applied" ; combined_counts_hi:units = "counts" ; combined_counts_hi:missing_value = -1 ; combined_counts_hi:plot_scale = "logarithmic" ; float profile_combined_counts_lo(altitude) ; profile_combined_counts_lo:long_name = "Low Gain Combined Photon Counts profile" ; profile_combined_counts_lo:description = "Raw counts, per averaging interval with pileup, afterpulse, and darkcount corrections applied" ; profile_combined_counts_lo:units = "counts" ; profile_combined_counts_lo:missing_value = -1 ; profile_combined_counts_lo:plot_scale = "logarithmic" ; float profile_combined_counts_hi(altitude) ; profile_combined_counts_hi:long_name = "High Gain Combined Photon Counts profile" ; profile_combined_counts_hi:description = "Raw counts, per averaging interval with pileup, afterpulse, and darkcount corrections applied" ; profile_combined_counts_hi:units = "counts" ; profile_combined_counts_hi:missing_value = -1 ; profile_combined_counts_hi:plot_scale = "logarithmic" ; int cross_counts(time, altitude) ; cross_counts:long_name = "Cross Polarized Photon Counts" ; cross_counts:description = "Raw counts, per averaging interval with pileup, afterpulse, and darkcount corrections applied" ; cross_counts:units = "counts" ; cross_counts:missing_value = -1 ; cross_counts:plot_scale = "logarithmic" ; float profile_cross_counts(altitude) ; profile_cross_counts:long_name = "Cross Polarized Photon Counts profile" ; profile_cross_counts:description = "Raw counts, per averaging interval with pileup, afterpulse, and darkcount corrections applied" ; profile_cross_counts:units = "counts" ; profile_cross_counts:missing_value = -1 ; profile_cross_counts:plot_scale = "logarithmic" ; float beta_a_backscat(time, altitude) ; beta_a_backscat:long_name = "Particulate backscatter cross section per unit volume" ; beta_a_backscat:units = "1/(m sr)" ; beta_a_backscat:missing_value = NaN ; beta_a_backscat:plot_scale = "logarithmic" ; float profile_beta_a_backscat(altitude) ; profile_beta_a_backscat:long_name = "Particulate backscatter cross section profile" ; profile_beta_a_backscat:units = "1/(m sr)" ; profile_beta_a_backscat:missing_value = NaN ; profile_beta_a_backscat:plot_scale = "logarithmic" ; float profile_beta_m(altitude) ; profile_beta_m:long_name = "Raob molecular scattering cross section profile" ; profile_beta_m:units = "1/meter" ; profile_beta_m:plot_scale = "logarithmic" ; int qc_mask(time, altitude) ; qc_mask:long_name = "Quality Mask" ; qc_mask:description = "Quality mask bitfield. Unused bits are always high" ; qc_mask:missing_value = 0 ; qc_mask:_Unsigned = "true" ; qc_mask:bit_0 = "complete_mask" ; qc_mask:bit_0_description = "data is good. and of bits 1-9" ; qc_mask:bit_1 = "lidar_ok_mask" ; qc_mask:bit_1_description = "lidar data is present" ; qc_mask:bit_2 = "lock_quality_mask" ; qc_mask:bit_2_description = "laser is locked to iodine filter wavelength" ; qc_mask:bit_3 = "seed_quality_mask" ; qc_mask:bit_3_description = "laser wavelength is locked to seed laser" ; qc_mask:bit_4 = "mol_count_snr_mask" ; qc_mask:bit_4_description = "molecular signal/photon counting error in molecular signal is above specified threshhold" ; qc_mask:bit_5 = "backscat_snr_mask" ; qc_mask:bit_5_description = "backscatter cross-section/photon counting error in backscatter cross-section is above specified threshhold" ; qc_mask:bit_6 = "mol_lost_mask" ; qc_mask:bit_6_description = "number of molecular photon counts is above specified threshhold" ; qc_mask:bit_7 = "min_backscat_mask" ; qc_mask:bit_7_description = "lidar backscatter cross-section is above specified threshhold" ; qc_mask:bit_8 = "radar_backscat_mask" ; qc_mask:bit_8_description = "radar backscatter cross-section is above specified threshhold" ; qc_mask:bit_9 = "radar_ok_mask" ; qc_mask:bit_9_description = "radar data is present" ; qc_mask:bit_10 = "aeri_ok_mask" ; qc_mask:bit_10_description = "aeri data is present" ; qc_mask:bit_11 = "aeri_qc_mask" ; qc_mask:bit_11_description = "aeri data has passed a quality check" ; float std_beta_a_backscat(time, altitude) ; std_beta_a_backscat:long_name = "Std dev of backscat cross section (photon counting)" ; std_beta_a_backscat:units = "1/(m sr)" ; std_beta_a_backscat:missing_value = NaN ; std_beta_a_backscat:plot_scale = "logarithmic" ; // global attributes: :code_version = "$Id: processed_netcdf.m,v 1.112 2009/11/10 20:53:41 jpgarcia Exp $" ; :load_calibration_version = "$Id: load_calibration.m,v 1.30 2010/03/30 19:16:51 eloranta Exp $" ; :get_internal_cal_vals_version = "$Id: get_internal_cal_vals.m,v 1.111 2009/11/02 19:50:29 jpgarcia Exp $" ; :calvals = "$Id: calvals_gvhsrl.m,v 1.75 2010/04/30 15:14:10 eloranta Exp $" ; :find_new_cal_times_version = "$Id: find_new_cal_times.m,v 1.22 2009/04/06 18:12:26 jpgarcia Exp $" ; :radiosonde_profile_version = "$Id: radiosonde_profile.m,v 1.31 2009/08/24 14:49:00 eloranta Exp $" ; :fetch_cal_version = "$Id: fetch_cal.m,v 1.30 2010/04/05 20:39:54 eloranta Exp $" ; :processed_netcdf_version = "$Id: processed_netcdf.m,v 1.112 2009/11/10 20:53:41 jpgarcia Exp $" ; :git_commit = "005c000d7c865bc4a3b50890a20dddac9a613863" ; :process_data_version = "$Id: process_data.m,v 1.248 2010/05/03 17:51:36 eloranta Exp $" ; :timefill_sum_version = "$Id: time_block.cc,v 1.55 2009/11/13 22:47:48 jpgarcia Exp $" ; :timefill_average_version = "$Id: time_block.cc,v 1.55 2009/11/13 22:47:48 jpgarcia Exp $" ; :file_version = 20050323 ; :time_zone = "UTC" ; :file_created = "2015-02-25 21:08:49" ; :Conventions = "COARDS" ; :time_axis_average_mode = "time" ; :time_axis_average_parameter = 30. ; :range_axis_average_parameter = 30. ; :featureset = 8175 ; :featureset_version = "$Revision: 1.16 $" ; :processing_parameters__qc_params__min_radar_alt = 200. ; :processing_parameters__qc_params__min_lidar_alt = 100. ; :processing_parameters__qc_params__lock_level = 0.6 ; :processing_parameters__qc_params__min_radar_dBz = -66.1 ; :processing_parameters__qc_params__backscat_snr = 1. ; :processing_parameters__qc_params__mol_lost = 1. ; :processing_parameters__qc_params__min_radar_backscat = 1.e-15 ; :processing_parameters__particlesettings__g_water = 1. ; :processing_parameters__particlesettings__h20_depol_threshold = 0.05 ; :processing_parameters__particlesettings__sigma_v = 0.26 ; :processing_parameters__particlesettings__type = "Bullet Rosettes (Mitchell 1996)" ; :processing_parameters__particlesettings__alpha_ice = 1. ; :processing_parameters__particlesettings__p180_ice = 0.035 ; :processing_parameters__particlesettings__delta_v1 = 3. ; :processing_parameters__particlesettings__Dr = 60. ; :processing_parameters__particlesettings__g_ice = 1. ; :processing_parameters__particlesettings__delta_a1 = 2. ; :processing_parameters__particlesettings__alpha_water = 2. ; :processing_parameters__particlesettings__delta_v2 = 2.26 ; :processing_parameters__particlesettings__sigma_a = 1. ; :processing_parameters__particlesettings__delta_a2 = 1.57 ; } ================================================== netcdf acxhsrlM1.01.20150225.205810.raw.mf2hsrl_20150202T0000_20150203T0000_30s_30m { dimensions: time = UNLIMITED ; // (2838 currently) altitude = 667 ; time_vector = 8 ; calibration = 2 ; sondenamelength = 6 ; i2header = 900 ; geoheader = 200 ; apheader = 300 ; variables: int base_time ; base_time:string = "2015-02-02 00:00:01 UTC" ; base_time:long_name = "Base seconds since Unix Epoch" ; base_time:units = "seconds since 1970-01-01 00:00:00 UTC" ; short first_time(time_vector) ; first_time:long_name = "First Time in file" ; short last_time(time_vector) ; last_time:long_name = "Last Time in file" ; double time(time) ; time:long_name = "Time" ; time:units = "seconds since 2015-02-02 00:00:01 UTC" ; double time_offset(time) ; time_offset:long_name = "Time offset from base_time" ; time_offset:description = "same times as \"First time in record\" " ; time_offset:units = "seconds since 2015-02-02 00:00:01 UTC" ; short start_time(time, time_vector) ; start_time:long_name = "First Time in record" ; start_time:description = "time of first laser shot in averaging interval" ; float latitude ; latitude:long_name = "latitude of lidar" ; latitude:units = "degree_N" ; float longitude ; longitude:long_name = "longitude of lidar" ; longitude:units = "degree_W" ; float range_resolution ; range_resolution:long_name = "Range resolution" ; range_resolution:description = "vertical distance between data points after averaging" ; range_resolution:units = "meters" ; float time_average ; time_average:long_name = "Time Averaging Width" ; time_average:description = "Time between data points after averaging" ; time_average:units = "seconds" ; short new_cal_times(calibration, time_vector) ; new_cal_times:long_name = "Time of Calibration Change" ; new_cal_times:description = "New raob or system calibration data triggered recalibration" ; float altitude(altitude) ; altitude:long_name = "Height above lidar" ; altitude:units = "meters" ; byte new_cal_trigger(calibration) ; new_cal_trigger:long_name = "Trigger of Calibration Change" ; new_cal_trigger:description = "reason for recalibration" ; new_cal_trigger:bit_0 = "radiosonde profile" ; new_cal_trigger:bit_1 = "i2 scan" ; new_cal_trigger:bit_2 = "geometry" ; short new_cal_offset(calibration) ; new_cal_offset:long_name = "Record Dimension equivalent Offset" ; new_cal_offset:min_value = 0 ; float top_alt_sounding(calibration) ; top_alt_sounding:long_name = "Sounding Maximum Altitude" ; top_alt_sounding:units = "meters" ; float temperature_profile(calibration, altitude) ; temperature_profile:long_name = "Raob Temperature Profile" ; temperature_profile:description = "Temperature interpolated to requested altitude resolution" ; temperature_profile:units = "degrees Kelvin" ; float pressure_profile(calibration, altitude) ; pressure_profile:long_name = "Raob pressure Profile" ; pressure_profile:description = "Pressure interpolated to requested altitude resolution" ; pressure_profile:units = "hectopascals" ; float dewpoint_profile(calibration, altitude) ; dewpoint_profile:long_name = "Raob Dewpoint Temperature Profile" ; dewpoint_profile:description = "Dewpoint interpolated to requested altitude resolution" ; dewpoint_profile:units = "degrees Kelvin" ; dewpoint_profile:missing_value = NaN ; float windspeed_profile(calibration, altitude) ; windspeed_profile:long_name = "Raob Wind Speed Profile" ; windspeed_profile:description = "Speeds interpolated to requested altitude resolution" ; windspeed_profile:units = "m/s" ; windspeed_profile:missing_value = NaN ; float winddir_profile(calibration, altitude) ; winddir_profile:long_name = "Raob Wind Direction Profile" ; winddir_profile:description = "Directions interpolated to requested altitude resolution" ; winddir_profile:units = "degrees" ; winddir_profile:missing_value = NaN ; char raob_station(calibration, sondenamelength) ; raob_station:long_name = "Radiosonde Station ID" ; char i2_txt_header(calibration, i2header) ; i2_txt_header:long_name = "i2_scan_file_text_info" ; i2_txt_header:description = "Contains name of file used to compute calibration" ; char geo_txt_header(calibration, geoheader) ; geo_txt_header:long_name = "geometric_correction_file_txt_header." ; char ap_txt_header(calibration, apheader) ; ap_txt_header:long_name = "afterpulse_correction_file_txt_header." ; double raob_time_offset(calibration) ; raob_time_offset:units = "seconds" ; raob_time_offset:long_name = "Radiosonde Launch time offset" ; raob_time_offset:description = "Time after base time in seconds" ; short raob_time_vector(calibration, time_vector) ; raob_time_vector:long_name = "Radiosonde Launch time vector" ; raob_time_vector:description = "Time in [year month day hour min sec ms us] format" ; float Cmc(calibration, altitude) ; Cmc:long_name = "Molecular in Combined Calibration" ; float Cmm(calibration, altitude) ; Cmm:long_name = "Molecular in Molecular Calibration" ; float Cam(calibration, altitude) ; Cam:long_name = "Aerosol in Molecular Calibration" ; float beta_m(calibration, altitude) ; beta_m:long_name = "Raob molecular scattering cross section per unit volume" ; beta_m:units = "1/meter" ; beta_m:plot_scale = "logarithmic" ; float transmitted_energy(time) ; transmitted_energy:long_name = "Transmitted Energy" ; transmitted_energy:units = "Joules" ; transmitted_energy:missing_value = NaN ; float piezovoltage(time) ; piezovoltage:long_name = "piezovoltage" ; piezovoltage:units = "Volts" ; piezovoltage:missing_value = NaN ; int num_seeded_shots(time) ; num_seeded_shots:long_name = "Number of Seeded Shots" ; num_seeded_shots:missing_value = -1 ; float seed_quality(time) ; seed_quality:long_name = "Laser Seeding Quality" ; seed_quality:description = "The ratio of seeded shots to total shots. Only seeded shot data is stored and processed. A low seed ratio can result in low noise resistance." ; seed_quality:missing_value = NaN ; seed_quality:range = 0., 1. ; float frequency_quality(time) ; frequency_quality:long_name = "Laser Frequency Quality" ; frequency_quality:description = "An ratio average of how good the frequency lock is per raw interval. A low value can result in poor separation of molecular and aerosol counts." ; frequency_quality:missing_value = NaN ; frequency_quality:range = 0., 1. ; float lock_quality(time) ; lock_quality:long_name = "Laser Lock Quality" ; lock_quality:description = "A ratio of likely locked intervals (frequency_quality>=.5) to seeded intervals. A low value can result in poor separation of molecular and aerosol counts." ; lock_quality:missing_value = NaN ; lock_quality:range = 0., 1. ; float mol_cal_pulse(time) ; mol_cal_pulse:long_name = "Molecular calibration pulse" ; mol_cal_pulse:description = "Sum of photon counts in the molecular channel due to light scattered with the telescope." ; mol_cal_pulse:units = "counts" ; mol_cal_pulse:missing_value = NaN ; float c_pol_dark_count(time, altitude) ; c_pol_dark_count:long_name = "Cross Polarization Dark Count" ; c_pol_dark_count:description = "total counts per averaging interval(eg. one altitude, one time)" ; c_pol_dark_count:units = "counts" ; c_pol_dark_count:missing_value = NaN ; float mol_dark_count(time, altitude) ; mol_dark_count:long_name = "Molecular Dark Count" ; mol_dark_count:description = "total counts per averaging interval(eg. one altitude, one time)" ; mol_dark_count:units = "counts" ; mol_dark_count:missing_value = NaN ; float combined_dark_count_lo(time, altitude) ; combined_dark_count_lo:long_name = "Low Gain Combined Dark Count" ; combined_dark_count_lo:description = "total counts per averaging interval(eg. one altitude, one time)" ; combined_dark_count_lo:units = "counts" ; combined_dark_count_lo:missing_value = NaN ; float combined_dark_count_hi(time, altitude) ; combined_dark_count_hi:long_name = "High Gain Combined Dark Count" ; combined_dark_count_hi:description = "total counts per averaging interval(eg. one altitude, one time)" ; combined_dark_count_hi:units = "counts" ; combined_dark_count_hi:missing_value = NaN ; float combined_gain(calibration) ; combined_gain:long_name = "Combined Gain Factor" ; combined_gain:description = "Low Gain level * Factor ~ High Gain level" ; float combined_merge_threshhold(calibration) ; combined_merge_threshhold:long_name = "Combined Merge Threshhold" ; float geo_cor(calibration, altitude) ; geo_cor:long_name = "Overlap correction" ; geo_cor:description = "Geometric overlap correction averaged to requested altitude resolution" ; geo_cor:units = " " ; geo_cor:missing_value = NaN ; geo_cor:plot_scale = "logarithmic" ; float od(time, altitude) ; od:long_name = "Optical depth of particulate" ; od:units = " " ; od:missing_value = NaN ; od:insufficient_data = Infinity ; od:plot_scale = "logarithmic" ; float profile_od(altitude) ; profile_od:long_name = "Optical depth of particulate Profile" ; profile_od:units = " " ; profile_od:missing_value = NaN ; profile_od:insufficient_data = Infinity ; profile_od:plot_scale = "logarithmic" ; float beta_a(time, altitude) ; beta_a:long_name = "Particulate extinction cross section per unit volume" ; beta_a:units = "1/m" ; beta_a:missing_value = NaN ; beta_a:plot_scale = "logarithmic" ; float atten_beta_r_backscat(time, altitude) ; atten_beta_r_backscat:long_name = "Attenuated Molecular return" ; atten_beta_r_backscat:units = "1/(m sr)" ; atten_beta_r_backscat:missing_value = NaN ; atten_beta_r_backscat:plot_scale = "logarithmic" ; float profile_atten_beta_r_backscat(altitude) ; profile_atten_beta_r_backscat:long_name = "Attenuated Molecular Profile" ; profile_atten_beta_r_backscat:units = "1/(m sr)" ; profile_atten_beta_r_backscat:missing_value = NaN ; profile_atten_beta_r_backscat:plot_scale = "logarithmic" ; float depol(time, altitude) ; depol:long_name = "Circular depolarization ratio for particulate" ; depol:description = "left circular return divided by right circular return" ; depol:units = " " ; depol:missing_value = NaN ; depol:plot_scale = "logarithmic" ; float profile_depol(altitude) ; profile_depol:long_name = "Circular depolarization ratio profile for particulate" ; profile_depol:description = "left circular return divided by right circular return" ; profile_depol:units = " " ; profile_depol:missing_value = NaN ; profile_depol:plot_scale = "logarithmic" ; int molecular_counts(time, altitude) ; molecular_counts:long_name = "Molecular Photon Counts" ; molecular_counts:description = "Raw counts, per averaging interval with pileup, afterpulse, and darkcount corrections applied" ; molecular_counts:units = "counts" ; molecular_counts:missing_value = -1 ; molecular_counts:plot_scale = "logarithmic" ; float profile_molecular_counts(altitude) ; profile_molecular_counts:long_name = "Molecular Photon Counts profile" ; profile_molecular_counts:description = "Raw counts, per averaging interval with pileup, afterpulse, and darkcount corrections applied" ; profile_molecular_counts:units = "counts" ; profile_molecular_counts:missing_value = -1 ; profile_molecular_counts:plot_scale = "logarithmic" ; int combined_counts_lo(time, altitude) ; combined_counts_lo:long_name = "Low Gain Combined Photon Counts" ; combined_counts_lo:description = "Raw counts, per averaging interval with pileup, afterpulse, and darkcount corrections applied" ; combined_counts_lo:units = "counts" ; combined_counts_lo:missing_value = -1 ; combined_counts_lo:plot_scale = "logarithmic" ; int combined_counts_hi(time, altitude) ; combined_counts_hi:long_name = "High Gain Combined Photon Counts" ; combined_counts_hi:description = "Raw counts, per averaging interval with pileup, afterpulse, and darkcount corrections applied" ; combined_counts_hi:units = "counts" ; combined_counts_hi:missing_value = -1 ; combined_counts_hi:plot_scale = "logarithmic" ; float profile_combined_counts_lo(altitude) ; profile_combined_counts_lo:long_name = "Low Gain Combined Photon Counts profile" ; profile_combined_counts_lo:description = "Raw counts, per averaging interval with pileup, afterpulse, and darkcount corrections applied" ; profile_combined_counts_lo:units = "counts" ; profile_combined_counts_lo:missing_value = -1 ; profile_combined_counts_lo:plot_scale = "logarithmic" ; float profile_combined_counts_hi(altitude) ; profile_combined_counts_hi:long_name = "High Gain Combined Photon Counts profile" ; profile_combined_counts_hi:description = "Raw counts, per averaging interval with pileup, afterpulse, and darkcount corrections applied" ; profile_combined_counts_hi:units = "counts" ; profile_combined_counts_hi:missing_value = -1 ; profile_combined_counts_hi:plot_scale = "logarithmic" ; int cross_counts(time, altitude) ; cross_counts:long_name = "Cross Polarized Photon Counts" ; cross_counts:description = "Raw counts, per averaging interval with pileup, afterpulse, and darkcount corrections applied" ; cross_counts:units = "counts" ; cross_counts:missing_value = -1 ; cross_counts:plot_scale = "logarithmic" ; float profile_cross_counts(altitude) ; profile_cross_counts:long_name = "Cross Polarized Photon Counts profile" ; profile_cross_counts:description = "Raw counts, per averaging interval with pileup, afterpulse, and darkcount corrections applied" ; profile_cross_counts:units = "counts" ; profile_cross_counts:missing_value = -1 ; profile_cross_counts:plot_scale = "logarithmic" ; float beta_a_backscat(time, altitude) ; beta_a_backscat:long_name = "Particulate backscatter cross section per unit volume" ; beta_a_backscat:units = "1/(m sr)" ; beta_a_backscat:missing_value = NaN ; beta_a_backscat:plot_scale = "logarithmic" ; float profile_beta_a_backscat(altitude) ; profile_beta_a_backscat:long_name = "Particulate backscatter cross section profile" ; profile_beta_a_backscat:units = "1/(m sr)" ; profile_beta_a_backscat:missing_value = NaN ; profile_beta_a_backscat:plot_scale = "logarithmic" ; float profile_beta_m(altitude) ; profile_beta_m:long_name = "Raob molecular scattering cross section profile" ; profile_beta_m:units = "1/meter" ; profile_beta_m:plot_scale = "logarithmic" ; int qc_mask(time, altitude) ; qc_mask:long_name = "Quality Mask" ; qc_mask:description = "Quality mask bitfield. Unused bits are always high" ; qc_mask:missing_value = 0 ; qc_mask:_Unsigned = "true" ; qc_mask:bit_0 = "complete_mask" ; qc_mask:bit_0_description = "data is good. and of bits 1-9" ; qc_mask:bit_1 = "lidar_ok_mask" ; qc_mask:bit_1_description = "lidar data is present" ; qc_mask:bit_2 = "lock_quality_mask" ; qc_mask:bit_2_description = "laser is locked to iodine filter wavelength" ; qc_mask:bit_3 = "seed_quality_mask" ; qc_mask:bit_3_description = "laser wavelength is locked to seed laser" ; qc_mask:bit_4 = "mol_count_snr_mask" ; qc_mask:bit_4_description = "molecular signal/photon counting error in molecular signal is above specified threshhold" ; qc_mask:bit_5 = "backscat_snr_mask" ; qc_mask:bit_5_description = "backscatter cross-section/photon counting error in backscatter cross-section is above specified threshhold" ; qc_mask:bit_6 = "mol_lost_mask" ; qc_mask:bit_6_description = "number of molecular photon counts is above specified threshhold" ; qc_mask:bit_7 = "min_backscat_mask" ; qc_mask:bit_7_description = "lidar backscatter cross-section is above specified threshhold" ; qc_mask:bit_8 = "radar_backscat_mask" ; qc_mask:bit_8_description = "radar backscatter cross-section is above specified threshhold" ; qc_mask:bit_9 = "radar_ok_mask" ; qc_mask:bit_9_description = "radar data is present" ; qc_mask:bit_10 = "aeri_ok_mask" ; qc_mask:bit_10_description = "aeri data is present" ; qc_mask:bit_11 = "aeri_qc_mask" ; qc_mask:bit_11_description = "aeri data has passed a quality check" ; float std_beta_a_backscat(time, altitude) ; std_beta_a_backscat:long_name = "Std dev of backscat cross section (photon counting)" ; std_beta_a_backscat:units = "1/(m sr)" ; std_beta_a_backscat:missing_value = NaN ; std_beta_a_backscat:plot_scale = "logarithmic" ; // global attributes: :code_version = "$Id: processed_netcdf.m,v 1.112 2009/11/10 20:53:41 jpgarcia Exp $" ; :load_calibration_version = "$Id: load_calibration.m,v 1.30 2010/03/30 19:16:51 eloranta Exp $" ; :get_internal_cal_vals_version = "$Id: get_internal_cal_vals.m,v 1.111 2009/11/02 19:50:29 jpgarcia Exp $" ; :calvals = "$Id: calvals_gvhsrl.m,v 1.75 2010/04/30 15:14:10 eloranta Exp $" ; :find_new_cal_times_version = "$Id: find_new_cal_times.m,v 1.22 2009/04/06 18:12:26 jpgarcia Exp $" ; :radiosonde_profile_version = "$Id: radiosonde_profile.m,v 1.31 2009/08/24 14:49:00 eloranta Exp $" ; :fetch_cal_version = "$Id: fetch_cal.m,v 1.30 2010/04/05 20:39:54 eloranta Exp $" ; :processed_netcdf_version = "$Id: processed_netcdf.m,v 1.112 2009/11/10 20:53:41 jpgarcia Exp $" ; :git_commit = "005c000d7c865bc4a3b50890a20dddac9a613863" ; :process_data_version = "$Id: process_data.m,v 1.248 2010/05/03 17:51:36 eloranta Exp $" ; :timefill_sum_version = "$Id: time_block.cc,v 1.55 2009/11/13 22:47:48 jpgarcia Exp $" ; :timefill_average_version = "$Id: time_block.cc,v 1.55 2009/11/13 22:47:48 jpgarcia Exp $" ; :file_version = 20050323 ; :time_zone = "UTC" ; :file_created = "2015-02-25 21:12:07" ; :Conventions = "COARDS" ; :time_axis_average_mode = "time" ; :time_axis_average_parameter = 30. ; :range_axis_average_parameter = 30. ; :featureset = 8175 ; :featureset_version = "$Revision: 1.16 $" ; :processing_parameters__qc_params__min_radar_alt = 200. ; :processing_parameters__qc_params__min_lidar_alt = 100. ; :processing_parameters__qc_params__lock_level = 0.6 ; :processing_parameters__qc_params__min_radar_dBz = -66.1 ; :processing_parameters__qc_params__backscat_snr = 1. ; :processing_parameters__qc_params__mol_lost = 1. ; :processing_parameters__qc_params__min_radar_backscat = 1.e-15 ; :processing_parameters__particlesettings__g_water = 1. ; :processing_parameters__particlesettings__h20_depol_threshold = 0.05 ; :processing_parameters__particlesettings__sigma_v = 0.26 ; :processing_parameters__particlesettings__type = "Bullet Rosettes (Mitchell 1996)" ; :processing_parameters__particlesettings__alpha_ice = 1. ; :processing_parameters__particlesettings__p180_ice = 0.035 ; :processing_parameters__particlesettings__delta_v1 = 3. ; :processing_parameters__particlesettings__Dr = 60. ; :processing_parameters__particlesettings__g_ice = 1. ; :processing_parameters__particlesettings__delta_a1 = 2. ; :processing_parameters__particlesettings__alpha_water = 2. ; :processing_parameters__particlesettings__delta_v2 = 2.26 ; :processing_parameters__particlesettings__sigma_a = 1. ; :processing_parameters__particlesettings__delta_a2 = 1.57 ; } ================================================== netcdf acxhsrlM1.01.20150225.205810.raw.mf2hsrl_20150203T0000_20150204T0000_30s_30m { dimensions: time = UNLIMITED ; // (2804 currently) altitude = 667 ; time_vector = 8 ; calibration = 2 ; sondenamelength = 6 ; i2header = 900 ; geoheader = 200 ; apheader = 300 ; variables: int base_time ; base_time:string = "2015-02-03 00:00:00 UTC" ; base_time:long_name = "Base seconds since Unix Epoch" ; base_time:units = "seconds since 1970-01-01 00:00:00 UTC" ; short first_time(time_vector) ; first_time:long_name = "First Time in file" ; short last_time(time_vector) ; last_time:long_name = "Last Time in file" ; double time(time) ; time:long_name = "Time" ; time:units = "seconds since 2015-02-03 00:00:00 UTC" ; double time_offset(time) ; time_offset:long_name = "Time offset from base_time" ; time_offset:description = "same times as \"First time in record\" " ; time_offset:units = "seconds since 2015-02-03 00:00:00 UTC" ; short start_time(time, time_vector) ; start_time:long_name = "First Time in record" ; start_time:description = "time of first laser shot in averaging interval" ; float latitude ; latitude:long_name = "latitude of lidar" ; latitude:units = "degree_N" ; float longitude ; longitude:long_name = "longitude of lidar" ; longitude:units = "degree_W" ; float range_resolution ; range_resolution:long_name = "Range resolution" ; range_resolution:description = "vertical distance between data points after averaging" ; range_resolution:units = "meters" ; float time_average ; time_average:long_name = "Time Averaging Width" ; time_average:description = "Time between data points after averaging" ; time_average:units = "seconds" ; short new_cal_times(calibration, time_vector) ; new_cal_times:long_name = "Time of Calibration Change" ; new_cal_times:description = "New raob or system calibration data triggered recalibration" ; float altitude(altitude) ; altitude:long_name = "Height above lidar" ; altitude:units = "meters" ; byte new_cal_trigger(calibration) ; new_cal_trigger:long_name = "Trigger of Calibration Change" ; new_cal_trigger:description = "reason for recalibration" ; new_cal_trigger:bit_0 = "radiosonde profile" ; new_cal_trigger:bit_1 = "i2 scan" ; new_cal_trigger:bit_2 = "geometry" ; short new_cal_offset(calibration) ; new_cal_offset:long_name = "Record Dimension equivalent Offset" ; new_cal_offset:min_value = 0 ; float top_alt_sounding(calibration) ; top_alt_sounding:long_name = "Sounding Maximum Altitude" ; top_alt_sounding:units = "meters" ; float temperature_profile(calibration, altitude) ; temperature_profile:long_name = "Raob Temperature Profile" ; temperature_profile:description = "Temperature interpolated to requested altitude resolution" ; temperature_profile:units = "degrees Kelvin" ; float pressure_profile(calibration, altitude) ; pressure_profile:long_name = "Raob pressure Profile" ; pressure_profile:description = "Pressure interpolated to requested altitude resolution" ; pressure_profile:units = "hectopascals" ; float dewpoint_profile(calibration, altitude) ; dewpoint_profile:long_name = "Raob Dewpoint Temperature Profile" ; dewpoint_profile:description = "Dewpoint interpolated to requested altitude resolution" ; dewpoint_profile:units = "degrees Kelvin" ; dewpoint_profile:missing_value = NaN ; float windspeed_profile(calibration, altitude) ; windspeed_profile:long_name = "Raob Wind Speed Profile" ; windspeed_profile:description = "Speeds interpolated to requested altitude resolution" ; windspeed_profile:units = "m/s" ; windspeed_profile:missing_value = NaN ; float winddir_profile(calibration, altitude) ; winddir_profile:long_name = "Raob Wind Direction Profile" ; winddir_profile:description = "Directions interpolated to requested altitude resolution" ; winddir_profile:units = "degrees" ; winddir_profile:missing_value = NaN ; char raob_station(calibration, sondenamelength) ; raob_station:long_name = "Radiosonde Station ID" ; char i2_txt_header(calibration, i2header) ; i2_txt_header:long_name = "i2_scan_file_text_info" ; i2_txt_header:description = "Contains name of file used to compute calibration" ; char geo_txt_header(calibration, geoheader) ; geo_txt_header:long_name = "geometric_correction_file_txt_header." ; char ap_txt_header(calibration, apheader) ; ap_txt_header:long_name = "afterpulse_correction_file_txt_header." ; double raob_time_offset(calibration) ; raob_time_offset:units = "seconds" ; raob_time_offset:long_name = "Radiosonde Launch time offset" ; raob_time_offset:description = "Time after base time in seconds" ; short raob_time_vector(calibration, time_vector) ; raob_time_vector:long_name = "Radiosonde Launch time vector" ; raob_time_vector:description = "Time in [year month day hour min sec ms us] format" ; float Cmc(calibration, altitude) ; Cmc:long_name = "Molecular in Combined Calibration" ; float Cmm(calibration, altitude) ; Cmm:long_name = "Molecular in Molecular Calibration" ; float Cam(calibration, altitude) ; Cam:long_name = "Aerosol in Molecular Calibration" ; float beta_m(calibration, altitude) ; beta_m:long_name = "Raob molecular scattering cross section per unit volume" ; beta_m:units = "1/meter" ; beta_m:plot_scale = "logarithmic" ; float transmitted_energy(time) ; transmitted_energy:long_name = "Transmitted Energy" ; transmitted_energy:units = "Joules" ; transmitted_energy:missing_value = NaN ; float piezovoltage(time) ; piezovoltage:long_name = "piezovoltage" ; piezovoltage:units = "Volts" ; piezovoltage:missing_value = NaN ; int num_seeded_shots(time) ; num_seeded_shots:long_name = "Number of Seeded Shots" ; num_seeded_shots:missing_value = -1 ; float seed_quality(time) ; seed_quality:long_name = "Laser Seeding Quality" ; seed_quality:description = "The ratio of seeded shots to total shots. Only seeded shot data is stored and processed. A low seed ratio can result in low noise resistance." ; seed_quality:missing_value = NaN ; seed_quality:range = 0., 1. ; float frequency_quality(time) ; frequency_quality:long_name = "Laser Frequency Quality" ; frequency_quality:description = "An ratio average of how good the frequency lock is per raw interval. A low value can result in poor separation of molecular and aerosol counts." ; frequency_quality:missing_value = NaN ; frequency_quality:range = 0., 1. ; float lock_quality(time) ; lock_quality:long_name = "Laser Lock Quality" ; lock_quality:description = "A ratio of likely locked intervals (frequency_quality>=.5) to seeded intervals. A low value can result in poor separation of molecular and aerosol counts." ; lock_quality:missing_value = NaN ; lock_quality:range = 0., 1. ; float mol_cal_pulse(time) ; mol_cal_pulse:long_name = "Molecular calibration pulse" ; mol_cal_pulse:description = "Sum of photon counts in the molecular channel due to light scattered with the telescope." ; mol_cal_pulse:units = "counts" ; mol_cal_pulse:missing_value = NaN ; float c_pol_dark_count(time, altitude) ; c_pol_dark_count:long_name = "Cross Polarization Dark Count" ; c_pol_dark_count:description = "total counts per averaging interval(eg. one altitude, one time)" ; c_pol_dark_count:units = "counts" ; c_pol_dark_count:missing_value = NaN ; float mol_dark_count(time, altitude) ; mol_dark_count:long_name = "Molecular Dark Count" ; mol_dark_count:description = "total counts per averaging interval(eg. one altitude, one time)" ; mol_dark_count:units = "counts" ; mol_dark_count:missing_value = NaN ; float combined_dark_count_lo(time, altitude) ; combined_dark_count_lo:long_name = "Low Gain Combined Dark Count" ; combined_dark_count_lo:description = "total counts per averaging interval(eg. one altitude, one time)" ; combined_dark_count_lo:units = "counts" ; combined_dark_count_lo:missing_value = NaN ; float combined_dark_count_hi(time, altitude) ; combined_dark_count_hi:long_name = "High Gain Combined Dark Count" ; combined_dark_count_hi:description = "total counts per averaging interval(eg. one altitude, one time)" ; combined_dark_count_hi:units = "counts" ; combined_dark_count_hi:missing_value = NaN ; float combined_gain(calibration) ; combined_gain:long_name = "Combined Gain Factor" ; combined_gain:description = "Low Gain level * Factor ~ High Gain level" ; float combined_merge_threshhold(calibration) ; combined_merge_threshhold:long_name = "Combined Merge Threshhold" ; float geo_cor(calibration, altitude) ; geo_cor:long_name = "Overlap correction" ; geo_cor:description = "Geometric overlap correction averaged to requested altitude resolution" ; geo_cor:units = " " ; geo_cor:missing_value = NaN ; geo_cor:plot_scale = "logarithmic" ; float od(time, altitude) ; od:long_name = "Optical depth of particulate" ; od:units = " " ; od:missing_value = NaN ; od:insufficient_data = Infinity ; od:plot_scale = "logarithmic" ; float profile_od(altitude) ; profile_od:long_name = "Optical depth of particulate Profile" ; profile_od:units = " " ; profile_od:missing_value = NaN ; profile_od:insufficient_data = Infinity ; profile_od:plot_scale = "logarithmic" ; float beta_a(time, altitude) ; beta_a:long_name = "Particulate extinction cross section per unit volume" ; beta_a:units = "1/m" ; beta_a:missing_value = NaN ; beta_a:plot_scale = "logarithmic" ; float atten_beta_r_backscat(time, altitude) ; atten_beta_r_backscat:long_name = "Attenuated Molecular return" ; atten_beta_r_backscat:units = "1/(m sr)" ; atten_beta_r_backscat:missing_value = NaN ; atten_beta_r_backscat:plot_scale = "logarithmic" ; float profile_atten_beta_r_backscat(altitude) ; profile_atten_beta_r_backscat:long_name = "Attenuated Molecular Profile" ; profile_atten_beta_r_backscat:units = "1/(m sr)" ; profile_atten_beta_r_backscat:missing_value = NaN ; profile_atten_beta_r_backscat:plot_scale = "logarithmic" ; float depol(time, altitude) ; depol:long_name = "Circular depolarization ratio for particulate" ; depol:description = "left circular return divided by right circular return" ; depol:units = " " ; depol:missing_value = NaN ; depol:plot_scale = "logarithmic" ; float profile_depol(altitude) ; profile_depol:long_name = "Circular depolarization ratio profile for particulate" ; profile_depol:description = "left circular return divided by right circular return" ; profile_depol:units = " " ; profile_depol:missing_value = NaN ; profile_depol:plot_scale = "logarithmic" ; int molecular_counts(time, altitude) ; molecular_counts:long_name = "Molecular Photon Counts" ; molecular_counts:description = "Raw counts, per averaging interval with pileup, afterpulse, and darkcount corrections applied" ; molecular_counts:units = "counts" ; molecular_counts:missing_value = -1 ; molecular_counts:plot_scale = "logarithmic" ; float profile_molecular_counts(altitude) ; profile_molecular_counts:long_name = "Molecular Photon Counts profile" ; profile_molecular_counts:description = "Raw counts, per averaging interval with pileup, afterpulse, and darkcount corrections applied" ; profile_molecular_counts:units = "counts" ; profile_molecular_counts:missing_value = -1 ; profile_molecular_counts:plot_scale = "logarithmic" ; int combined_counts_lo(time, altitude) ; combined_counts_lo:long_name = "Low Gain Combined Photon Counts" ; combined_counts_lo:description = "Raw counts, per averaging interval with pileup, afterpulse, and darkcount corrections applied" ; combined_counts_lo:units = "counts" ; combined_counts_lo:missing_value = -1 ; combined_counts_lo:plot_scale = "logarithmic" ; int combined_counts_hi(time, altitude) ; combined_counts_hi:long_name = "High Gain Combined Photon Counts" ; combined_counts_hi:description = "Raw counts, per averaging interval with pileup, afterpulse, and darkcount corrections applied" ; combined_counts_hi:units = "counts" ; combined_counts_hi:missing_value = -1 ; combined_counts_hi:plot_scale = "logarithmic" ; float profile_combined_counts_lo(altitude) ; profile_combined_counts_lo:long_name = "Low Gain Combined Photon Counts profile" ; profile_combined_counts_lo:description = "Raw counts, per averaging interval with pileup, afterpulse, and darkcount corrections applied" ; profile_combined_counts_lo:units = "counts" ; profile_combined_counts_lo:missing_value = -1 ; profile_combined_counts_lo:plot_scale = "logarithmic" ; float profile_combined_counts_hi(altitude) ; profile_combined_counts_hi:long_name = "High Gain Combined Photon Counts profile" ; profile_combined_counts_hi:description = "Raw counts, per averaging interval with pileup, afterpulse, and darkcount corrections applied" ; profile_combined_counts_hi:units = "counts" ; profile_combined_counts_hi:missing_value = -1 ; profile_combined_counts_hi:plot_scale = "logarithmic" ; int cross_counts(time, altitude) ; cross_counts:long_name = "Cross Polarized Photon Counts" ; cross_counts:description = "Raw counts, per averaging interval with pileup, afterpulse, and darkcount corrections applied" ; cross_counts:units = "counts" ; cross_counts:missing_value = -1 ; cross_counts:plot_scale = "logarithmic" ; float profile_cross_counts(altitude) ; profile_cross_counts:long_name = "Cross Polarized Photon Counts profile" ; profile_cross_counts:description = "Raw counts, per averaging interval with pileup, afterpulse, and darkcount corrections applied" ; profile_cross_counts:units = "counts" ; profile_cross_counts:missing_value = -1 ; profile_cross_counts:plot_scale = "logarithmic" ; float beta_a_backscat(time, altitude) ; beta_a_backscat:long_name = "Particulate backscatter cross section per unit volume" ; beta_a_backscat:units = "1/(m sr)" ; beta_a_backscat:missing_value = NaN ; beta_a_backscat:plot_scale = "logarithmic" ; float profile_beta_a_backscat(altitude) ; profile_beta_a_backscat:long_name = "Particulate backscatter cross section profile" ; profile_beta_a_backscat:units = "1/(m sr)" ; profile_beta_a_backscat:missing_value = NaN ; profile_beta_a_backscat:plot_scale = "logarithmic" ; float profile_beta_m(altitude) ; profile_beta_m:long_name = "Raob molecular scattering cross section profile" ; profile_beta_m:units = "1/meter" ; profile_beta_m:plot_scale = "logarithmic" ; int qc_mask(time, altitude) ; qc_mask:long_name = "Quality Mask" ; qc_mask:description = "Quality mask bitfield. Unused bits are always high" ; qc_mask:missing_value = 0 ; qc_mask:_Unsigned = "true" ; qc_mask:bit_0 = "complete_mask" ; qc_mask:bit_0_description = "data is good. and of bits 1-9" ; qc_mask:bit_1 = "lidar_ok_mask" ; qc_mask:bit_1_description = "lidar data is present" ; qc_mask:bit_2 = "lock_quality_mask" ; qc_mask:bit_2_description = "laser is locked to iodine filter wavelength" ; qc_mask:bit_3 = "seed_quality_mask" ; qc_mask:bit_3_description = "laser wavelength is locked to seed laser" ; qc_mask:bit_4 = "mol_count_snr_mask" ; qc_mask:bit_4_description = "molecular signal/photon counting error in molecular signal is above specified threshhold" ; qc_mask:bit_5 = "backscat_snr_mask" ; qc_mask:bit_5_description = "backscatter cross-section/photon counting error in backscatter cross-section is above specified threshhold" ; qc_mask:bit_6 = "mol_lost_mask" ; qc_mask:bit_6_description = "number of molecular photon counts is above specified threshhold" ; qc_mask:bit_7 = "min_backscat_mask" ; qc_mask:bit_7_description = "lidar backscatter cross-section is above specified threshhold" ; qc_mask:bit_8 = "radar_backscat_mask" ; qc_mask:bit_8_description = "radar backscatter cross-section is above specified threshhold" ; qc_mask:bit_9 = "radar_ok_mask" ; qc_mask:bit_9_description = "radar data is present" ; qc_mask:bit_10 = "aeri_ok_mask" ; qc_mask:bit_10_description = "aeri data is present" ; qc_mask:bit_11 = "aeri_qc_mask" ; qc_mask:bit_11_description = "aeri data has passed a quality check" ; float std_beta_a_backscat(time, altitude) ; std_beta_a_backscat:long_name = "Std dev of backscat cross section (photon counting)" ; std_beta_a_backscat:units = "1/(m sr)" ; std_beta_a_backscat:missing_value = NaN ; std_beta_a_backscat:plot_scale = "logarithmic" ; // global attributes: :code_version = "$Id: processed_netcdf.m,v 1.112 2009/11/10 20:53:41 jpgarcia Exp $" ; :load_calibration_version = "$Id: load_calibration.m,v 1.30 2010/03/30 19:16:51 eloranta Exp $" ; :get_internal_cal_vals_version = "$Id: get_internal_cal_vals.m,v 1.111 2009/11/02 19:50:29 jpgarcia Exp $" ; :calvals = "$Id: calvals_gvhsrl.m,v 1.75 2010/04/30 15:14:10 eloranta Exp $" ; :find_new_cal_times_version = "$Id: find_new_cal_times.m,v 1.22 2009/04/06 18:12:26 jpgarcia Exp $" ; :radiosonde_profile_version = "$Id: radiosonde_profile.m,v 1.31 2009/08/24 14:49:00 eloranta Exp $" ; :fetch_cal_version = "$Id: fetch_cal.m,v 1.30 2010/04/05 20:39:54 eloranta Exp $" ; :processed_netcdf_version = "$Id: processed_netcdf.m,v 1.112 2009/11/10 20:53:41 jpgarcia Exp $" ; :git_commit = "005c000d7c865bc4a3b50890a20dddac9a613863" ; :process_data_version = "$Id: process_data.m,v 1.248 2010/05/03 17:51:36 eloranta Exp $" ; :timefill_sum_version = "$Id: time_block.cc,v 1.55 2009/11/13 22:47:48 jpgarcia Exp $" ; :timefill_average_version = "$Id: time_block.cc,v 1.55 2009/11/13 22:47:48 jpgarcia Exp $" ; :file_version = 20050323 ; :time_zone = "UTC" ; :file_created = "2015-02-25 21:15:15" ; :Conventions = "COARDS" ; :time_axis_average_mode = "time" ; :time_axis_average_parameter = 30. ; :range_axis_average_parameter = 30. ; :featureset = 8175 ; :featureset_version = "$Revision: 1.16 $" ; :processing_parameters__qc_params__min_radar_alt = 200. ; :processing_parameters__qc_params__min_lidar_alt = 100. ; :processing_parameters__qc_params__lock_level = 0.6 ; :processing_parameters__qc_params__min_radar_dBz = -66.1 ; :processing_parameters__qc_params__backscat_snr = 1. ; :processing_parameters__qc_params__mol_lost = 1. ; :processing_parameters__qc_params__min_radar_backscat = 1.e-15 ; :processing_parameters__particlesettings__g_water = 1. ; :processing_parameters__particlesettings__h20_depol_threshold = 0.05 ; :processing_parameters__particlesettings__sigma_v = 0.26 ; :processing_parameters__particlesettings__type = "Bullet Rosettes (Mitchell 1996)" ; :processing_parameters__particlesettings__alpha_ice = 1. ; :processing_parameters__particlesettings__p180_ice = 0.035 ; :processing_parameters__particlesettings__delta_v1 = 3. ; :processing_parameters__particlesettings__Dr = 60. ; :processing_parameters__particlesettings__g_ice = 1. ; :processing_parameters__particlesettings__delta_a1 = 2. ; :processing_parameters__particlesettings__alpha_water = 2. ; :processing_parameters__particlesettings__delta_v2 = 2.26 ; :processing_parameters__particlesettings__sigma_a = 1. ; :processing_parameters__particlesettings__delta_a2 = 1.57 ; } ================================================== netcdf acxhsrlM1.01.20150225.205810.raw.mf2hsrl_20150204T0000_20150205T0000_30s_30m { dimensions: time = UNLIMITED ; // (2838 currently) altitude = 667 ; time_vector = 8 ; calibration = 2 ; sondenamelength = 6 ; i2header = 900 ; geoheader = 200 ; apheader = 300 ; variables: int base_time ; base_time:string = "2015-02-04 00:00:00 UTC" ; base_time:long_name = "Base seconds since Unix Epoch" ; base_time:units = "seconds since 1970-01-01 00:00:00 UTC" ; short first_time(time_vector) ; first_time:long_name = "First Time in file" ; short last_time(time_vector) ; last_time:long_name = "Last Time in file" ; double time(time) ; time:long_name = "Time" ; time:units = "seconds since 2015-02-04 00:00:00 UTC" ; double time_offset(time) ; time_offset:long_name = "Time offset from base_time" ; time_offset:description = "same times as \"First time in record\" " ; time_offset:units = "seconds since 2015-02-04 00:00:00 UTC" ; short start_time(time, time_vector) ; start_time:long_name = "First Time in record" ; start_time:description = "time of first laser shot in averaging interval" ; float latitude ; latitude:long_name = "latitude of lidar" ; latitude:units = "degree_N" ; float longitude ; longitude:long_name = "longitude of lidar" ; longitude:units = "degree_W" ; float range_resolution ; range_resolution:long_name = "Range resolution" ; range_resolution:description = "vertical distance between data points after averaging" ; range_resolution:units = "meters" ; float time_average ; time_average:long_name = "Time Averaging Width" ; time_average:description = "Time between data points after averaging" ; time_average:units = "seconds" ; short new_cal_times(calibration, time_vector) ; new_cal_times:long_name = "Time of Calibration Change" ; new_cal_times:description = "New raob or system calibration data triggered recalibration" ; float altitude(altitude) ; altitude:long_name = "Height above lidar" ; altitude:units = "meters" ; byte new_cal_trigger(calibration) ; new_cal_trigger:long_name = "Trigger of Calibration Change" ; new_cal_trigger:description = "reason for recalibration" ; new_cal_trigger:bit_0 = "radiosonde profile" ; new_cal_trigger:bit_1 = "i2 scan" ; new_cal_trigger:bit_2 = "geometry" ; short new_cal_offset(calibration) ; new_cal_offset:long_name = "Record Dimension equivalent Offset" ; new_cal_offset:min_value = 0 ; float top_alt_sounding(calibration) ; top_alt_sounding:long_name = "Sounding Maximum Altitude" ; top_alt_sounding:units = "meters" ; float temperature_profile(calibration, altitude) ; temperature_profile:long_name = "Raob Temperature Profile" ; temperature_profile:description = "Temperature interpolated to requested altitude resolution" ; temperature_profile:units = "degrees Kelvin" ; float pressure_profile(calibration, altitude) ; pressure_profile:long_name = "Raob pressure Profile" ; pressure_profile:description = "Pressure interpolated to requested altitude resolution" ; pressure_profile:units = "hectopascals" ; float dewpoint_profile(calibration, altitude) ; dewpoint_profile:long_name = "Raob Dewpoint Temperature Profile" ; dewpoint_profile:description = "Dewpoint interpolated to requested altitude resolution" ; dewpoint_profile:units = "degrees Kelvin" ; dewpoint_profile:missing_value = NaN ; float windspeed_profile(calibration, altitude) ; windspeed_profile:long_name = "Raob Wind Speed Profile" ; windspeed_profile:description = "Speeds interpolated to requested altitude resolution" ; windspeed_profile:units = "m/s" ; windspeed_profile:missing_value = NaN ; float winddir_profile(calibration, altitude) ; winddir_profile:long_name = "Raob Wind Direction Profile" ; winddir_profile:description = "Directions interpolated to requested altitude resolution" ; winddir_profile:units = "degrees" ; winddir_profile:missing_value = NaN ; char raob_station(calibration, sondenamelength) ; raob_station:long_name = "Radiosonde Station ID" ; char i2_txt_header(calibration, i2header) ; i2_txt_header:long_name = "i2_scan_file_text_info" ; i2_txt_header:description = "Contains name of file used to compute calibration" ; char geo_txt_header(calibration, geoheader) ; geo_txt_header:long_name = "geometric_correction_file_txt_header." ; char ap_txt_header(calibration, apheader) ; ap_txt_header:long_name = "afterpulse_correction_file_txt_header." ; double raob_time_offset(calibration) ; raob_time_offset:units = "seconds" ; raob_time_offset:long_name = "Radiosonde Launch time offset" ; raob_time_offset:description = "Time after base time in seconds" ; short raob_time_vector(calibration, time_vector) ; raob_time_vector:long_name = "Radiosonde Launch time vector" ; raob_time_vector:description = "Time in [year month day hour min sec ms us] format" ; float Cmc(calibration, altitude) ; Cmc:long_name = "Molecular in Combined Calibration" ; float Cmm(calibration, altitude) ; Cmm:long_name = "Molecular in Molecular Calibration" ; float Cam(calibration, altitude) ; Cam:long_name = "Aerosol in Molecular Calibration" ; float beta_m(calibration, altitude) ; beta_m:long_name = "Raob molecular scattering cross section per unit volume" ; beta_m:units = "1/meter" ; beta_m:plot_scale = "logarithmic" ; float transmitted_energy(time) ; transmitted_energy:long_name = "Transmitted Energy" ; transmitted_energy:units = "Joules" ; transmitted_energy:missing_value = NaN ; float piezovoltage(time) ; piezovoltage:long_name = "piezovoltage" ; piezovoltage:units = "Volts" ; piezovoltage:missing_value = NaN ; int num_seeded_shots(time) ; num_seeded_shots:long_name = "Number of Seeded Shots" ; num_seeded_shots:missing_value = -1 ; float seed_quality(time) ; seed_quality:long_name = "Laser Seeding Quality" ; seed_quality:description = "The ratio of seeded shots to total shots. Only seeded shot data is stored and processed. A low seed ratio can result in low noise resistance." ; seed_quality:missing_value = NaN ; seed_quality:range = 0., 1. ; float frequency_quality(time) ; frequency_quality:long_name = "Laser Frequency Quality" ; frequency_quality:description = "An ratio average of how good the frequency lock is per raw interval. A low value can result in poor separation of molecular and aerosol counts." ; frequency_quality:missing_value = NaN ; frequency_quality:range = 0., 1. ; float lock_quality(time) ; lock_quality:long_name = "Laser Lock Quality" ; lock_quality:description = "A ratio of likely locked intervals (frequency_quality>=.5) to seeded intervals. A low value can result in poor separation of molecular and aerosol counts." ; lock_quality:missing_value = NaN ; lock_quality:range = 0., 1. ; float mol_cal_pulse(time) ; mol_cal_pulse:long_name = "Molecular calibration pulse" ; mol_cal_pulse:description = "Sum of photon counts in the molecular channel due to light scattered with the telescope." ; mol_cal_pulse:units = "counts" ; mol_cal_pulse:missing_value = NaN ; float c_pol_dark_count(time, altitude) ; c_pol_dark_count:long_name = "Cross Polarization Dark Count" ; c_pol_dark_count:description = "total counts per averaging interval(eg. one altitude, one time)" ; c_pol_dark_count:units = "counts" ; c_pol_dark_count:missing_value = NaN ; float mol_dark_count(time, altitude) ; mol_dark_count:long_name = "Molecular Dark Count" ; mol_dark_count:description = "total counts per averaging interval(eg. one altitude, one time)" ; mol_dark_count:units = "counts" ; mol_dark_count:missing_value = NaN ; float combined_dark_count_lo(time, altitude) ; combined_dark_count_lo:long_name = "Low Gain Combined Dark Count" ; combined_dark_count_lo:description = "total counts per averaging interval(eg. one altitude, one time)" ; combined_dark_count_lo:units = "counts" ; combined_dark_count_lo:missing_value = NaN ; float combined_dark_count_hi(time, altitude) ; combined_dark_count_hi:long_name = "High Gain Combined Dark Count" ; combined_dark_count_hi:description = "total counts per averaging interval(eg. one altitude, one time)" ; combined_dark_count_hi:units = "counts" ; combined_dark_count_hi:missing_value = NaN ; float combined_gain(calibration) ; combined_gain:long_name = "Combined Gain Factor" ; combined_gain:description = "Low Gain level * Factor ~ High Gain level" ; float combined_merge_threshhold(calibration) ; combined_merge_threshhold:long_name = "Combined Merge Threshhold" ; float geo_cor(calibration, altitude) ; geo_cor:long_name = "Overlap correction" ; geo_cor:description = "Geometric overlap correction averaged to requested altitude resolution" ; geo_cor:units = " " ; geo_cor:missing_value = NaN ; geo_cor:plot_scale = "logarithmic" ; float od(time, altitude) ; od:long_name = "Optical depth of particulate" ; od:units = " " ; od:missing_value = NaN ; od:insufficient_data = Infinity ; od:plot_scale = "logarithmic" ; float profile_od(altitude) ; profile_od:long_name = "Optical depth of particulate Profile" ; profile_od:units = " " ; profile_od:missing_value = NaN ; profile_od:insufficient_data = Infinity ; profile_od:plot_scale = "logarithmic" ; float beta_a(time, altitude) ; beta_a:long_name = "Particulate extinction cross section per unit volume" ; beta_a:units = "1/m" ; beta_a:missing_value = NaN ; beta_a:plot_scale = "logarithmic" ; float atten_beta_r_backscat(time, altitude) ; atten_beta_r_backscat:long_name = "Attenuated Molecular return" ; atten_beta_r_backscat:units = "1/(m sr)" ; atten_beta_r_backscat:missing_value = NaN ; atten_beta_r_backscat:plot_scale = "logarithmic" ; float profile_atten_beta_r_backscat(altitude) ; profile_atten_beta_r_backscat:long_name = "Attenuated Molecular Profile" ; profile_atten_beta_r_backscat:units = "1/(m sr)" ; profile_atten_beta_r_backscat:missing_value = NaN ; profile_atten_beta_r_backscat:plot_scale = "logarithmic" ; float depol(time, altitude) ; depol:long_name = "Circular depolarization ratio for particulate" ; depol:description = "left circular return divided by right circular return" ; depol:units = " " ; depol:missing_value = NaN ; depol:plot_scale = "logarithmic" ; float profile_depol(altitude) ; profile_depol:long_name = "Circular depolarization ratio profile for particulate" ; profile_depol:description = "left circular return divided by right circular return" ; profile_depol:units = " " ; profile_depol:missing_value = NaN ; profile_depol:plot_scale = "logarithmic" ; int molecular_counts(time, altitude) ; molecular_counts:long_name = "Molecular Photon Counts" ; molecular_counts:description = "Raw counts, per averaging interval with pileup, afterpulse, and darkcount corrections applied" ; molecular_counts:units = "counts" ; molecular_counts:missing_value = -1 ; molecular_counts:plot_scale = "logarithmic" ; float profile_molecular_counts(altitude) ; profile_molecular_counts:long_name = "Molecular Photon Counts profile" ; profile_molecular_counts:description = "Raw counts, per averaging interval with pileup, afterpulse, and darkcount corrections applied" ; profile_molecular_counts:units = "counts" ; profile_molecular_counts:missing_value = -1 ; profile_molecular_counts:plot_scale = "logarithmic" ; int combined_counts_lo(time, altitude) ; combined_counts_lo:long_name = "Low Gain Combined Photon Counts" ; combined_counts_lo:description = "Raw counts, per averaging interval with pileup, afterpulse, and darkcount corrections applied" ; combined_counts_lo:units = "counts" ; combined_counts_lo:missing_value = -1 ; combined_counts_lo:plot_scale = "logarithmic" ; int combined_counts_hi(time, altitude) ; combined_counts_hi:long_name = "High Gain Combined Photon Counts" ; combined_counts_hi:description = "Raw counts, per averaging interval with pileup, afterpulse, and darkcount corrections applied" ; combined_counts_hi:units = "counts" ; combined_counts_hi:missing_value = -1 ; combined_counts_hi:plot_scale = "logarithmic" ; float profile_combined_counts_lo(altitude) ; profile_combined_counts_lo:long_name = "Low Gain Combined Photon Counts profile" ; profile_combined_counts_lo:description = "Raw counts, per averaging interval with pileup, afterpulse, and darkcount corrections applied" ; profile_combined_counts_lo:units = "counts" ; profile_combined_counts_lo:missing_value = -1 ; profile_combined_counts_lo:plot_scale = "logarithmic" ; float profile_combined_counts_hi(altitude) ; profile_combined_counts_hi:long_name = "High Gain Combined Photon Counts profile" ; profile_combined_counts_hi:description = "Raw counts, per averaging interval with pileup, afterpulse, and darkcount corrections applied" ; profile_combined_counts_hi:units = "counts" ; profile_combined_counts_hi:missing_value = -1 ; profile_combined_counts_hi:plot_scale = "logarithmic" ; int cross_counts(time, altitude) ; cross_counts:long_name = "Cross Polarized Photon Counts" ; cross_counts:description = "Raw counts, per averaging interval with pileup, afterpulse, and darkcount corrections applied" ; cross_counts:units = "counts" ; cross_counts:missing_value = -1 ; cross_counts:plot_scale = "logarithmic" ; float profile_cross_counts(altitude) ; profile_cross_counts:long_name = "Cross Polarized Photon Counts profile" ; profile_cross_counts:description = "Raw counts, per averaging interval with pileup, afterpulse, and darkcount corrections applied" ; profile_cross_counts:units = "counts" ; profile_cross_counts:missing_value = -1 ; profile_cross_counts:plot_scale = "logarithmic" ; float beta_a_backscat(time, altitude) ; beta_a_backscat:long_name = "Particulate backscatter cross section per unit volume" ; beta_a_backscat:units = "1/(m sr)" ; beta_a_backscat:missing_value = NaN ; beta_a_backscat:plot_scale = "logarithmic" ; float profile_beta_a_backscat(altitude) ; profile_beta_a_backscat:long_name = "Particulate backscatter cross section profile" ; profile_beta_a_backscat:units = "1/(m sr)" ; profile_beta_a_backscat:missing_value = NaN ; profile_beta_a_backscat:plot_scale = "logarithmic" ; float profile_beta_m(altitude) ; profile_beta_m:long_name = "Raob molecular scattering cross section profile" ; profile_beta_m:units = "1/meter" ; profile_beta_m:plot_scale = "logarithmic" ; int qc_mask(time, altitude) ; qc_mask:long_name = "Quality Mask" ; qc_mask:description = "Quality mask bitfield. Unused bits are always high" ; qc_mask:missing_value = 0 ; qc_mask:_Unsigned = "true" ; qc_mask:bit_0 = "complete_mask" ; qc_mask:bit_0_description = "data is good. and of bits 1-9" ; qc_mask:bit_1 = "lidar_ok_mask" ; qc_mask:bit_1_description = "lidar data is present" ; qc_mask:bit_2 = "lock_quality_mask" ; qc_mask:bit_2_description = "laser is locked to iodine filter wavelength" ; qc_mask:bit_3 = "seed_quality_mask" ; qc_mask:bit_3_description = "laser wavelength is locked to seed laser" ; qc_mask:bit_4 = "mol_count_snr_mask" ; qc_mask:bit_4_description = "molecular signal/photon counting error in molecular signal is above specified threshhold" ; qc_mask:bit_5 = "backscat_snr_mask" ; qc_mask:bit_5_description = "backscatter cross-section/photon counting error in backscatter cross-section is above specified threshhold" ; qc_mask:bit_6 = "mol_lost_mask" ; qc_mask:bit_6_description = "number of molecular photon counts is above specified threshhold" ; qc_mask:bit_7 = "min_backscat_mask" ; qc_mask:bit_7_description = "lidar backscatter cross-section is above specified threshhold" ; qc_mask:bit_8 = "radar_backscat_mask" ; qc_mask:bit_8_description = "radar backscatter cross-section is above specified threshhold" ; qc_mask:bit_9 = "radar_ok_mask" ; qc_mask:bit_9_description = "radar data is present" ; qc_mask:bit_10 = "aeri_ok_mask" ; qc_mask:bit_10_description = "aeri data is present" ; qc_mask:bit_11 = "aeri_qc_mask" ; qc_mask:bit_11_description = "aeri data has passed a quality check" ; float std_beta_a_backscat(time, altitude) ; std_beta_a_backscat:long_name = "Std dev of backscat cross section (photon counting)" ; std_beta_a_backscat:units = "1/(m sr)" ; std_beta_a_backscat:missing_value = NaN ; std_beta_a_backscat:plot_scale = "logarithmic" ; // global attributes: :code_version = "$Id: processed_netcdf.m,v 1.112 2009/11/10 20:53:41 jpgarcia Exp $" ; :load_calibration_version = "$Id: load_calibration.m,v 1.30 2010/03/30 19:16:51 eloranta Exp $" ; :get_internal_cal_vals_version = "$Id: get_internal_cal_vals.m,v 1.111 2009/11/02 19:50:29 jpgarcia Exp $" ; :calvals = "$Id: calvals_gvhsrl.m,v 1.75 2010/04/30 15:14:10 eloranta Exp $" ; :find_new_cal_times_version = "$Id: find_new_cal_times.m,v 1.22 2009/04/06 18:12:26 jpgarcia Exp $" ; :radiosonde_profile_version = "$Id: radiosonde_profile.m,v 1.31 2009/08/24 14:49:00 eloranta Exp $" ; :fetch_cal_version = "$Id: fetch_cal.m,v 1.30 2010/04/05 20:39:54 eloranta Exp $" ; :processed_netcdf_version = "$Id: processed_netcdf.m,v 1.112 2009/11/10 20:53:41 jpgarcia Exp $" ; :git_commit = "005c000d7c865bc4a3b50890a20dddac9a613863" ; :process_data_version = "$Id: process_data.m,v 1.248 2010/05/03 17:51:36 eloranta Exp $" ; :timefill_sum_version = "$Id: time_block.cc,v 1.55 2009/11/13 22:47:48 jpgarcia Exp $" ; :timefill_average_version = "$Id: time_block.cc,v 1.55 2009/11/13 22:47:48 jpgarcia Exp $" ; :file_version = 20050323 ; :time_zone = "UTC" ; :file_created = "2015-02-25 21:18:29" ; :Conventions = "COARDS" ; :time_axis_average_mode = "time" ; :time_axis_average_parameter = 30. ; :range_axis_average_parameter = 30. ; :featureset = 8175 ; :featureset_version = "$Revision: 1.16 $" ; :processing_parameters__qc_params__min_radar_alt = 200. ; :processing_parameters__qc_params__min_lidar_alt = 100. ; :processing_parameters__qc_params__lock_level = 0.6 ; :processing_parameters__qc_params__min_radar_dBz = -66.1 ; :processing_parameters__qc_params__backscat_snr = 1. ; :processing_parameters__qc_params__mol_lost = 1. ; :processing_parameters__qc_params__min_radar_backscat = 1.e-15 ; :processing_parameters__particlesettings__g_water = 1. ; :processing_parameters__particlesettings__h20_depol_threshold = 0.05 ; :processing_parameters__particlesettings__sigma_v = 0.26 ; :processing_parameters__particlesettings__type = "Bullet Rosettes (Mitchell 1996)" ; :processing_parameters__particlesettings__alpha_ice = 1. ; :processing_parameters__particlesettings__p180_ice = 0.035 ; :processing_parameters__particlesettings__delta_v1 = 3. ; :processing_parameters__particlesettings__Dr = 60. ; :processing_parameters__particlesettings__g_ice = 1. ; :processing_parameters__particlesettings__delta_a1 = 2. ; :processing_parameters__particlesettings__alpha_water = 2. ; :processing_parameters__particlesettings__delta_v2 = 2.26 ; :processing_parameters__particlesettings__sigma_a = 1. ; :processing_parameters__particlesettings__delta_a2 = 1.57 ; } ================================================== netcdf acxhsrlM1.01.20150225.205810.raw.mf2hsrl_20150205T0000_20150206T0000_30s_30m { dimensions: time = UNLIMITED ; // (2838 currently) altitude = 667 ; time_vector = 8 ; calibration = 2 ; sondenamelength = 6 ; i2header = 900 ; geoheader = 200 ; apheader = 300 ; variables: int base_time ; base_time:string = "2015-02-05 00:00:00 UTC" ; base_time:long_name = "Base seconds since Unix Epoch" ; base_time:units = "seconds since 1970-01-01 00:00:00 UTC" ; short first_time(time_vector) ; first_time:long_name = "First Time in file" ; short last_time(time_vector) ; last_time:long_name = "Last Time in file" ; double time(time) ; time:long_name = "Time" ; time:units = "seconds since 2015-02-05 00:00:00 UTC" ; double time_offset(time) ; time_offset:long_name = "Time offset from base_time" ; time_offset:description = "same times as \"First time in record\" " ; time_offset:units = "seconds since 2015-02-05 00:00:00 UTC" ; short start_time(time, time_vector) ; start_time:long_name = "First Time in record" ; start_time:description = "time of first laser shot in averaging interval" ; float latitude ; latitude:long_name = "latitude of lidar" ; latitude:units = "degree_N" ; float longitude ; longitude:long_name = "longitude of lidar" ; longitude:units = "degree_W" ; float range_resolution ; range_resolution:long_name = "Range resolution" ; range_resolution:description = "vertical distance between data points after averaging" ; range_resolution:units = "meters" ; float time_average ; time_average:long_name = "Time Averaging Width" ; time_average:description = "Time between data points after averaging" ; time_average:units = "seconds" ; short new_cal_times(calibration, time_vector) ; new_cal_times:long_name = "Time of Calibration Change" ; new_cal_times:description = "New raob or system calibration data triggered recalibration" ; float altitude(altitude) ; altitude:long_name = "Height above lidar" ; altitude:units = "meters" ; byte new_cal_trigger(calibration) ; new_cal_trigger:long_name = "Trigger of Calibration Change" ; new_cal_trigger:description = "reason for recalibration" ; new_cal_trigger:bit_0 = "radiosonde profile" ; new_cal_trigger:bit_1 = "i2 scan" ; new_cal_trigger:bit_2 = "geometry" ; short new_cal_offset(calibration) ; new_cal_offset:long_name = "Record Dimension equivalent Offset" ; new_cal_offset:min_value = 0 ; float top_alt_sounding(calibration) ; top_alt_sounding:long_name = "Sounding Maximum Altitude" ; top_alt_sounding:units = "meters" ; float temperature_profile(calibration, altitude) ; temperature_profile:long_name = "Raob Temperature Profile" ; temperature_profile:description = "Temperature interpolated to requested altitude resolution" ; temperature_profile:units = "degrees Kelvin" ; float pressure_profile(calibration, altitude) ; pressure_profile:long_name = "Raob pressure Profile" ; pressure_profile:description = "Pressure interpolated to requested altitude resolution" ; pressure_profile:units = "hectopascals" ; float dewpoint_profile(calibration, altitude) ; dewpoint_profile:long_name = "Raob Dewpoint Temperature Profile" ; dewpoint_profile:description = "Dewpoint interpolated to requested altitude resolution" ; dewpoint_profile:units = "degrees Kelvin" ; dewpoint_profile:missing_value = NaN ; float windspeed_profile(calibration, altitude) ; windspeed_profile:long_name = "Raob Wind Speed Profile" ; windspeed_profile:description = "Speeds interpolated to requested altitude resolution" ; windspeed_profile:units = "m/s" ; windspeed_profile:missing_value = NaN ; float winddir_profile(calibration, altitude) ; winddir_profile:long_name = "Raob Wind Direction Profile" ; winddir_profile:description = "Directions interpolated to requested altitude resolution" ; winddir_profile:units = "degrees" ; winddir_profile:missing_value = NaN ; char raob_station(calibration, sondenamelength) ; raob_station:long_name = "Radiosonde Station ID" ; char i2_txt_header(calibration, i2header) ; i2_txt_header:long_name = "i2_scan_file_text_info" ; i2_txt_header:description = "Contains name of file used to compute calibration" ; char geo_txt_header(calibration, geoheader) ; geo_txt_header:long_name = "geometric_correction_file_txt_header." ; char ap_txt_header(calibration, apheader) ; ap_txt_header:long_name = "afterpulse_correction_file_txt_header." ; double raob_time_offset(calibration) ; raob_time_offset:units = "seconds" ; raob_time_offset:long_name = "Radiosonde Launch time offset" ; raob_time_offset:description = "Time after base time in seconds" ; short raob_time_vector(calibration, time_vector) ; raob_time_vector:long_name = "Radiosonde Launch time vector" ; raob_time_vector:description = "Time in [year month day hour min sec ms us] format" ; float Cmc(calibration, altitude) ; Cmc:long_name = "Molecular in Combined Calibration" ; float Cmm(calibration, altitude) ; Cmm:long_name = "Molecular in Molecular Calibration" ; float Cam(calibration, altitude) ; Cam:long_name = "Aerosol in Molecular Calibration" ; float beta_m(calibration, altitude) ; beta_m:long_name = "Raob molecular scattering cross section per unit volume" ; beta_m:units = "1/meter" ; beta_m:plot_scale = "logarithmic" ; float transmitted_energy(time) ; transmitted_energy:long_name = "Transmitted Energy" ; transmitted_energy:units = "Joules" ; transmitted_energy:missing_value = NaN ; float piezovoltage(time) ; piezovoltage:long_name = "piezovoltage" ; piezovoltage:units = "Volts" ; piezovoltage:missing_value = NaN ; int num_seeded_shots(time) ; num_seeded_shots:long_name = "Number of Seeded Shots" ; num_seeded_shots:missing_value = -1 ; float seed_quality(time) ; seed_quality:long_name = "Laser Seeding Quality" ; seed_quality:description = "The ratio of seeded shots to total shots. Only seeded shot data is stored and processed. A low seed ratio can result in low noise resistance." ; seed_quality:missing_value = NaN ; seed_quality:range = 0., 1. ; float frequency_quality(time) ; frequency_quality:long_name = "Laser Frequency Quality" ; frequency_quality:description = "An ratio average of how good the frequency lock is per raw interval. A low value can result in poor separation of molecular and aerosol counts." ; frequency_quality:missing_value = NaN ; frequency_quality:range = 0., 1. ; float lock_quality(time) ; lock_quality:long_name = "Laser Lock Quality" ; lock_quality:description = "A ratio of likely locked intervals (frequency_quality>=.5) to seeded intervals. A low value can result in poor separation of molecular and aerosol counts." ; lock_quality:missing_value = NaN ; lock_quality:range = 0., 1. ; float mol_cal_pulse(time) ; mol_cal_pulse:long_name = "Molecular calibration pulse" ; mol_cal_pulse:description = "Sum of photon counts in the molecular channel due to light scattered with the telescope." ; mol_cal_pulse:units = "counts" ; mol_cal_pulse:missing_value = NaN ; float c_pol_dark_count(time, altitude) ; c_pol_dark_count:long_name = "Cross Polarization Dark Count" ; c_pol_dark_count:description = "total counts per averaging interval(eg. one altitude, one time)" ; c_pol_dark_count:units = "counts" ; c_pol_dark_count:missing_value = NaN ; float mol_dark_count(time, altitude) ; mol_dark_count:long_name = "Molecular Dark Count" ; mol_dark_count:description = "total counts per averaging interval(eg. one altitude, one time)" ; mol_dark_count:units = "counts" ; mol_dark_count:missing_value = NaN ; float combined_dark_count_lo(time, altitude) ; combined_dark_count_lo:long_name = "Low Gain Combined Dark Count" ; combined_dark_count_lo:description = "total counts per averaging interval(eg. one altitude, one time)" ; combined_dark_count_lo:units = "counts" ; combined_dark_count_lo:missing_value = NaN ; float combined_dark_count_hi(time, altitude) ; combined_dark_count_hi:long_name = "High Gain Combined Dark Count" ; combined_dark_count_hi:description = "total counts per averaging interval(eg. one altitude, one time)" ; combined_dark_count_hi:units = "counts" ; combined_dark_count_hi:missing_value = NaN ; float combined_gain(calibration) ; combined_gain:long_name = "Combined Gain Factor" ; combined_gain:description = "Low Gain level * Factor ~ High Gain level" ; float combined_merge_threshhold(calibration) ; combined_merge_threshhold:long_name = "Combined Merge Threshhold" ; float geo_cor(calibration, altitude) ; geo_cor:long_name = "Overlap correction" ; geo_cor:description = "Geometric overlap correction averaged to requested altitude resolution" ; geo_cor:units = " " ; geo_cor:missing_value = NaN ; geo_cor:plot_scale = "logarithmic" ; float od(time, altitude) ; od:long_name = "Optical depth of particulate" ; od:units = " " ; od:missing_value = NaN ; od:insufficient_data = Infinity ; od:plot_scale = "logarithmic" ; float profile_od(altitude) ; profile_od:long_name = "Optical depth of particulate Profile" ; profile_od:units = " " ; profile_od:missing_value = NaN ; profile_od:insufficient_data = Infinity ; profile_od:plot_scale = "logarithmic" ; float beta_a(time, altitude) ; beta_a:long_name = "Particulate extinction cross section per unit volume" ; beta_a:units = "1/m" ; beta_a:missing_value = NaN ; beta_a:plot_scale = "logarithmic" ; float atten_beta_r_backscat(time, altitude) ; atten_beta_r_backscat:long_name = "Attenuated Molecular return" ; atten_beta_r_backscat:units = "1/(m sr)" ; atten_beta_r_backscat:missing_value = NaN ; atten_beta_r_backscat:plot_scale = "logarithmic" ; float profile_atten_beta_r_backscat(altitude) ; profile_atten_beta_r_backscat:long_name = "Attenuated Molecular Profile" ; profile_atten_beta_r_backscat:units = "1/(m sr)" ; profile_atten_beta_r_backscat:missing_value = NaN ; profile_atten_beta_r_backscat:plot_scale = "logarithmic" ; float depol(time, altitude) ; depol:long_name = "Circular depolarization ratio for particulate" ; depol:description = "left circular return divided by right circular return" ; depol:units = " " ; depol:missing_value = NaN ; depol:plot_scale = "logarithmic" ; float profile_depol(altitude) ; profile_depol:long_name = "Circular depolarization ratio profile for particulate" ; profile_depol:description = "left circular return divided by right circular return" ; profile_depol:units = " " ; profile_depol:missing_value = NaN ; profile_depol:plot_scale = "logarithmic" ; int molecular_counts(time, altitude) ; molecular_counts:long_name = "Molecular Photon Counts" ; molecular_counts:description = "Raw counts, per averaging interval with pileup, afterpulse, and darkcount corrections applied" ; molecular_counts:units = "counts" ; molecular_counts:missing_value = -1 ; molecular_counts:plot_scale = "logarithmic" ; float profile_molecular_counts(altitude) ; profile_molecular_counts:long_name = "Molecular Photon Counts profile" ; profile_molecular_counts:description = "Raw counts, per averaging interval with pileup, afterpulse, and darkcount corrections applied" ; profile_molecular_counts:units = "counts" ; profile_molecular_counts:missing_value = -1 ; profile_molecular_counts:plot_scale = "logarithmic" ; int combined_counts_lo(time, altitude) ; combined_counts_lo:long_name = "Low Gain Combined Photon Counts" ; combined_counts_lo:description = "Raw counts, per averaging interval with pileup, afterpulse, and darkcount corrections applied" ; combined_counts_lo:units = "counts" ; combined_counts_lo:missing_value = -1 ; combined_counts_lo:plot_scale = "logarithmic" ; int combined_counts_hi(time, altitude) ; combined_counts_hi:long_name = "High Gain Combined Photon Counts" ; combined_counts_hi:description = "Raw counts, per averaging interval with pileup, afterpulse, and darkcount corrections applied" ; combined_counts_hi:units = "counts" ; combined_counts_hi:missing_value = -1 ; combined_counts_hi:plot_scale = "logarithmic" ; float profile_combined_counts_lo(altitude) ; profile_combined_counts_lo:long_name = "Low Gain Combined Photon Counts profile" ; profile_combined_counts_lo:description = "Raw counts, per averaging interval with pileup, afterpulse, and darkcount corrections applied" ; profile_combined_counts_lo:units = "counts" ; profile_combined_counts_lo:missing_value = -1 ; profile_combined_counts_lo:plot_scale = "logarithmic" ; float profile_combined_counts_hi(altitude) ; profile_combined_counts_hi:long_name = "High Gain Combined Photon Counts profile" ; profile_combined_counts_hi:description = "Raw counts, per averaging interval with pileup, afterpulse, and darkcount corrections applied" ; profile_combined_counts_hi:units = "counts" ; profile_combined_counts_hi:missing_value = -1 ; profile_combined_counts_hi:plot_scale = "logarithmic" ; int cross_counts(time, altitude) ; cross_counts:long_name = "Cross Polarized Photon Counts" ; cross_counts:description = "Raw counts, per averaging interval with pileup, afterpulse, and darkcount corrections applied" ; cross_counts:units = "counts" ; cross_counts:missing_value = -1 ; cross_counts:plot_scale = "logarithmic" ; float profile_cross_counts(altitude) ; profile_cross_counts:long_name = "Cross Polarized Photon Counts profile" ; profile_cross_counts:description = "Raw counts, per averaging interval with pileup, afterpulse, and darkcount corrections applied" ; profile_cross_counts:units = "counts" ; profile_cross_counts:missing_value = -1 ; profile_cross_counts:plot_scale = "logarithmic" ; float beta_a_backscat(time, altitude) ; beta_a_backscat:long_name = "Particulate backscatter cross section per unit volume" ; beta_a_backscat:units = "1/(m sr)" ; beta_a_backscat:missing_value = NaN ; beta_a_backscat:plot_scale = "logarithmic" ; float profile_beta_a_backscat(altitude) ; profile_beta_a_backscat:long_name = "Particulate backscatter cross section profile" ; profile_beta_a_backscat:units = "1/(m sr)" ; profile_beta_a_backscat:missing_value = NaN ; profile_beta_a_backscat:plot_scale = "logarithmic" ; float profile_beta_m(altitude) ; profile_beta_m:long_name = "Raob molecular scattering cross section profile" ; profile_beta_m:units = "1/meter" ; profile_beta_m:plot_scale = "logarithmic" ; int qc_mask(time, altitude) ; qc_mask:long_name = "Quality Mask" ; qc_mask:description = "Quality mask bitfield. Unused bits are always high" ; qc_mask:missing_value = 0 ; qc_mask:_Unsigned = "true" ; qc_mask:bit_0 = "complete_mask" ; qc_mask:bit_0_description = "data is good. and of bits 1-9" ; qc_mask:bit_1 = "lidar_ok_mask" ; qc_mask:bit_1_description = "lidar data is present" ; qc_mask:bit_2 = "lock_quality_mask" ; qc_mask:bit_2_description = "laser is locked to iodine filter wavelength" ; qc_mask:bit_3 = "seed_quality_mask" ; qc_mask:bit_3_description = "laser wavelength is locked to seed laser" ; qc_mask:bit_4 = "mol_count_snr_mask" ; qc_mask:bit_4_description = "molecular signal/photon counting error in molecular signal is above specified threshhold" ; qc_mask:bit_5 = "backscat_snr_mask" ; qc_mask:bit_5_description = "backscatter cross-section/photon counting error in backscatter cross-section is above specified threshhold" ; qc_mask:bit_6 = "mol_lost_mask" ; qc_mask:bit_6_description = "number of molecular photon counts is above specified threshhold" ; qc_mask:bit_7 = "min_backscat_mask" ; qc_mask:bit_7_description = "lidar backscatter cross-section is above specified threshhold" ; qc_mask:bit_8 = "radar_backscat_mask" ; qc_mask:bit_8_description = "radar backscatter cross-section is above specified threshhold" ; qc_mask:bit_9 = "radar_ok_mask" ; qc_mask:bit_9_description = "radar data is present" ; qc_mask:bit_10 = "aeri_ok_mask" ; qc_mask:bit_10_description = "aeri data is present" ; qc_mask:bit_11 = "aeri_qc_mask" ; qc_mask:bit_11_description = "aeri data has passed a quality check" ; float std_beta_a_backscat(time, altitude) ; std_beta_a_backscat:long_name = "Std dev of backscat cross section (photon counting)" ; std_beta_a_backscat:units = "1/(m sr)" ; std_beta_a_backscat:missing_value = NaN ; std_beta_a_backscat:plot_scale = "logarithmic" ; // global attributes: :code_version = "$Id: processed_netcdf.m,v 1.112 2009/11/10 20:53:41 jpgarcia Exp $" ; :load_calibration_version = "$Id: load_calibration.m,v 1.30 2010/03/30 19:16:51 eloranta Exp $" ; :get_internal_cal_vals_version = "$Id: get_internal_cal_vals.m,v 1.111 2009/11/02 19:50:29 jpgarcia Exp $" ; :calvals = "$Id: calvals_gvhsrl.m,v 1.75 2010/04/30 15:14:10 eloranta Exp $" ; :find_new_cal_times_version = "$Id: find_new_cal_times.m,v 1.22 2009/04/06 18:12:26 jpgarcia Exp $" ; :radiosonde_profile_version = "$Id: radiosonde_profile.m,v 1.31 2009/08/24 14:49:00 eloranta Exp $" ; :fetch_cal_version = "$Id: fetch_cal.m,v 1.30 2010/04/05 20:39:54 eloranta Exp $" ; :processed_netcdf_version = "$Id: processed_netcdf.m,v 1.112 2009/11/10 20:53:41 jpgarcia Exp $" ; :git_commit = "005c000d7c865bc4a3b50890a20dddac9a613863" ; :process_data_version = "$Id: process_data.m,v 1.248 2010/05/03 17:51:36 eloranta Exp $" ; :timefill_sum_version = "$Id: time_block.cc,v 1.55 2009/11/13 22:47:48 jpgarcia Exp $" ; :timefill_average_version = "$Id: time_block.cc,v 1.55 2009/11/13 22:47:48 jpgarcia Exp $" ; :file_version = 20050323 ; :time_zone = "UTC" ; :file_created = "2015-02-25 21:21:41" ; :Conventions = "COARDS" ; :time_axis_average_mode = "time" ; :time_axis_average_parameter = 30. ; :range_axis_average_parameter = 30. ; :featureset = 8175 ; :featureset_version = "$Revision: 1.16 $" ; :processing_parameters__qc_params__min_radar_alt = 200. ; :processing_parameters__qc_params__min_lidar_alt = 100. ; :processing_parameters__qc_params__lock_level = 0.6 ; :processing_parameters__qc_params__min_radar_dBz = -66.1 ; :processing_parameters__qc_params__backscat_snr = 1. ; :processing_parameters__qc_params__mol_lost = 1. ; :processing_parameters__qc_params__min_radar_backscat = 1.e-15 ; :processing_parameters__particlesettings__g_water = 1. ; :processing_parameters__particlesettings__h20_depol_threshold = 0.05 ; :processing_parameters__particlesettings__sigma_v = 0.26 ; :processing_parameters__particlesettings__type = "Bullet Rosettes (Mitchell 1996)" ; :processing_parameters__particlesettings__alpha_ice = 1. ; :processing_parameters__particlesettings__p180_ice = 0.035 ; :processing_parameters__particlesettings__delta_v1 = 3. ; :processing_parameters__particlesettings__Dr = 60. ; :processing_parameters__particlesettings__g_ice = 1. ; :processing_parameters__particlesettings__delta_a1 = 2. ; :processing_parameters__particlesettings__alpha_water = 2. ; :processing_parameters__particlesettings__delta_v2 = 2.26 ; :processing_parameters__particlesettings__sigma_a = 1. ; :processing_parameters__particlesettings__delta_a2 = 1.57 ; } ================================================== netcdf acxhsrlM1.01.20150225.205810.raw.mf2hsrl_20150206T0000_20150207T0000_30s_30m { dimensions: time = UNLIMITED ; // (2838 currently) altitude = 667 ; time_vector = 8 ; calibration = 2 ; sondenamelength = 6 ; i2header = 900 ; geoheader = 200 ; apheader = 300 ; variables: int base_time ; base_time:string = "2015-02-06 00:00:00 UTC" ; base_time:long_name = "Base seconds since Unix Epoch" ; base_time:units = "seconds since 1970-01-01 00:00:00 UTC" ; short first_time(time_vector) ; first_time:long_name = "First Time in file" ; short last_time(time_vector) ; last_time:long_name = "Last Time in file" ; double time(time) ; time:long_name = "Time" ; time:units = "seconds since 2015-02-06 00:00:00 UTC" ; double time_offset(time) ; time_offset:long_name = "Time offset from base_time" ; time_offset:description = "same times as \"First time in record\" " ; time_offset:units = "seconds since 2015-02-06 00:00:00 UTC" ; short start_time(time, time_vector) ; start_time:long_name = "First Time in record" ; start_time:description = "time of first laser shot in averaging interval" ; float latitude ; latitude:long_name = "latitude of lidar" ; latitude:units = "degree_N" ; float longitude ; longitude:long_name = "longitude of lidar" ; longitude:units = "degree_W" ; float range_resolution ; range_resolution:long_name = "Range resolution" ; range_resolution:description = "vertical distance between data points after averaging" ; range_resolution:units = "meters" ; float time_average ; time_average:long_name = "Time Averaging Width" ; time_average:description = "Time between data points after averaging" ; time_average:units = "seconds" ; short new_cal_times(calibration, time_vector) ; new_cal_times:long_name = "Time of Calibration Change" ; new_cal_times:description = "New raob or system calibration data triggered recalibration" ; float altitude(altitude) ; altitude:long_name = "Height above lidar" ; altitude:units = "meters" ; byte new_cal_trigger(calibration) ; new_cal_trigger:long_name = "Trigger of Calibration Change" ; new_cal_trigger:description = "reason for recalibration" ; new_cal_trigger:bit_0 = "radiosonde profile" ; new_cal_trigger:bit_1 = "i2 scan" ; new_cal_trigger:bit_2 = "geometry" ; short new_cal_offset(calibration) ; new_cal_offset:long_name = "Record Dimension equivalent Offset" ; new_cal_offset:min_value = 0 ; float top_alt_sounding(calibration) ; top_alt_sounding:long_name = "Sounding Maximum Altitude" ; top_alt_sounding:units = "meters" ; float temperature_profile(calibration, altitude) ; temperature_profile:long_name = "Raob Temperature Profile" ; temperature_profile:description = "Temperature interpolated to requested altitude resolution" ; temperature_profile:units = "degrees Kelvin" ; float pressure_profile(calibration, altitude) ; pressure_profile:long_name = "Raob pressure Profile" ; pressure_profile:description = "Pressure interpolated to requested altitude resolution" ; pressure_profile:units = "hectopascals" ; float dewpoint_profile(calibration, altitude) ; dewpoint_profile:long_name = "Raob Dewpoint Temperature Profile" ; dewpoint_profile:description = "Dewpoint interpolated to requested altitude resolution" ; dewpoint_profile:units = "degrees Kelvin" ; dewpoint_profile:missing_value = NaN ; float windspeed_profile(calibration, altitude) ; windspeed_profile:long_name = "Raob Wind Speed Profile" ; windspeed_profile:description = "Speeds interpolated to requested altitude resolution" ; windspeed_profile:units = "m/s" ; windspeed_profile:missing_value = NaN ; float winddir_profile(calibration, altitude) ; winddir_profile:long_name = "Raob Wind Direction Profile" ; winddir_profile:description = "Directions interpolated to requested altitude resolution" ; winddir_profile:units = "degrees" ; winddir_profile:missing_value = NaN ; char raob_station(calibration, sondenamelength) ; raob_station:long_name = "Radiosonde Station ID" ; char i2_txt_header(calibration, i2header) ; i2_txt_header:long_name = "i2_scan_file_text_info" ; i2_txt_header:description = "Contains name of file used to compute calibration" ; char geo_txt_header(calibration, geoheader) ; geo_txt_header:long_name = "geometric_correction_file_txt_header." ; char ap_txt_header(calibration, apheader) ; ap_txt_header:long_name = "afterpulse_correction_file_txt_header." ; double raob_time_offset(calibration) ; raob_time_offset:units = "seconds" ; raob_time_offset:long_name = "Radiosonde Launch time offset" ; raob_time_offset:description = "Time after base time in seconds" ; short raob_time_vector(calibration, time_vector) ; raob_time_vector:long_name = "Radiosonde Launch time vector" ; raob_time_vector:description = "Time in [year month day hour min sec ms us] format" ; float Cmc(calibration, altitude) ; Cmc:long_name = "Molecular in Combined Calibration" ; float Cmm(calibration, altitude) ; Cmm:long_name = "Molecular in Molecular Calibration" ; float Cam(calibration, altitude) ; Cam:long_name = "Aerosol in Molecular Calibration" ; float beta_m(calibration, altitude) ; beta_m:long_name = "Raob molecular scattering cross section per unit volume" ; beta_m:units = "1/meter" ; beta_m:plot_scale = "logarithmic" ; float transmitted_energy(time) ; transmitted_energy:long_name = "Transmitted Energy" ; transmitted_energy:units = "Joules" ; transmitted_energy:missing_value = NaN ; float piezovoltage(time) ; piezovoltage:long_name = "piezovoltage" ; piezovoltage:units = "Volts" ; piezovoltage:missing_value = NaN ; int num_seeded_shots(time) ; num_seeded_shots:long_name = "Number of Seeded Shots" ; num_seeded_shots:missing_value = -1 ; float seed_quality(time) ; seed_quality:long_name = "Laser Seeding Quality" ; seed_quality:description = "The ratio of seeded shots to total shots. Only seeded shot data is stored and processed. A low seed ratio can result in low noise resistance." ; seed_quality:missing_value = NaN ; seed_quality:range = 0., 1. ; float frequency_quality(time) ; frequency_quality:long_name = "Laser Frequency Quality" ; frequency_quality:description = "An ratio average of how good the frequency lock is per raw interval. A low value can result in poor separation of molecular and aerosol counts." ; frequency_quality:missing_value = NaN ; frequency_quality:range = 0., 1. ; float lock_quality(time) ; lock_quality:long_name = "Laser Lock Quality" ; lock_quality:description = "A ratio of likely locked intervals (frequency_quality>=.5) to seeded intervals. A low value can result in poor separation of molecular and aerosol counts." ; lock_quality:missing_value = NaN ; lock_quality:range = 0., 1. ; float mol_cal_pulse(time) ; mol_cal_pulse:long_name = "Molecular calibration pulse" ; mol_cal_pulse:description = "Sum of photon counts in the molecular channel due to light scattered with the telescope." ; mol_cal_pulse:units = "counts" ; mol_cal_pulse:missing_value = NaN ; float c_pol_dark_count(time, altitude) ; c_pol_dark_count:long_name = "Cross Polarization Dark Count" ; c_pol_dark_count:description = "total counts per averaging interval(eg. one altitude, one time)" ; c_pol_dark_count:units = "counts" ; c_pol_dark_count:missing_value = NaN ; float mol_dark_count(time, altitude) ; mol_dark_count:long_name = "Molecular Dark Count" ; mol_dark_count:description = "total counts per averaging interval(eg. one altitude, one time)" ; mol_dark_count:units = "counts" ; mol_dark_count:missing_value = NaN ; float combined_dark_count_lo(time, altitude) ; combined_dark_count_lo:long_name = "Low Gain Combined Dark Count" ; combined_dark_count_lo:description = "total counts per averaging interval(eg. one altitude, one time)" ; combined_dark_count_lo:units = "counts" ; combined_dark_count_lo:missing_value = NaN ; float combined_dark_count_hi(time, altitude) ; combined_dark_count_hi:long_name = "High Gain Combined Dark Count" ; combined_dark_count_hi:description = "total counts per averaging interval(eg. one altitude, one time)" ; combined_dark_count_hi:units = "counts" ; combined_dark_count_hi:missing_value = NaN ; float combined_gain(calibration) ; combined_gain:long_name = "Combined Gain Factor" ; combined_gain:description = "Low Gain level * Factor ~ High Gain level" ; float combined_merge_threshhold(calibration) ; combined_merge_threshhold:long_name = "Combined Merge Threshhold" ; float geo_cor(calibration, altitude) ; geo_cor:long_name = "Overlap correction" ; geo_cor:description = "Geometric overlap correction averaged to requested altitude resolution" ; geo_cor:units = " " ; geo_cor:missing_value = NaN ; geo_cor:plot_scale = "logarithmic" ; float od(time, altitude) ; od:long_name = "Optical depth of particulate" ; od:units = " " ; od:missing_value = NaN ; od:insufficient_data = Infinity ; od:plot_scale = "logarithmic" ; float profile_od(altitude) ; profile_od:long_name = "Optical depth of particulate Profile" ; profile_od:units = " " ; profile_od:missing_value = NaN ; profile_od:insufficient_data = Infinity ; profile_od:plot_scale = "logarithmic" ; float beta_a(time, altitude) ; beta_a:long_name = "Particulate extinction cross section per unit volume" ; beta_a:units = "1/m" ; beta_a:missing_value = NaN ; beta_a:plot_scale = "logarithmic" ; float atten_beta_r_backscat(time, altitude) ; atten_beta_r_backscat:long_name = "Attenuated Molecular return" ; atten_beta_r_backscat:units = "1/(m sr)" ; atten_beta_r_backscat:missing_value = NaN ; atten_beta_r_backscat:plot_scale = "logarithmic" ; float profile_atten_beta_r_backscat(altitude) ; profile_atten_beta_r_backscat:long_name = "Attenuated Molecular Profile" ; profile_atten_beta_r_backscat:units = "1/(m sr)" ; profile_atten_beta_r_backscat:missing_value = NaN ; profile_atten_beta_r_backscat:plot_scale = "logarithmic" ; float depol(time, altitude) ; depol:long_name = "Circular depolarization ratio for particulate" ; depol:description = "left circular return divided by right circular return" ; depol:units = " " ; depol:missing_value = NaN ; depol:plot_scale = "logarithmic" ; float profile_depol(altitude) ; profile_depol:long_name = "Circular depolarization ratio profile for particulate" ; profile_depol:description = "left circular return divided by right circular return" ; profile_depol:units = " " ; profile_depol:missing_value = NaN ; profile_depol:plot_scale = "logarithmic" ; int molecular_counts(time, altitude) ; molecular_counts:long_name = "Molecular Photon Counts" ; molecular_counts:description = "Raw counts, per averaging interval with pileup, afterpulse, and darkcount corrections applied" ; molecular_counts:units = "counts" ; molecular_counts:missing_value = -1 ; molecular_counts:plot_scale = "logarithmic" ; float profile_molecular_counts(altitude) ; profile_molecular_counts:long_name = "Molecular Photon Counts profile" ; profile_molecular_counts:description = "Raw counts, per averaging interval with pileup, afterpulse, and darkcount corrections applied" ; profile_molecular_counts:units = "counts" ; profile_molecular_counts:missing_value = -1 ; profile_molecular_counts:plot_scale = "logarithmic" ; int combined_counts_lo(time, altitude) ; combined_counts_lo:long_name = "Low Gain Combined Photon Counts" ; combined_counts_lo:description = "Raw counts, per averaging interval with pileup, afterpulse, and darkcount corrections applied" ; combined_counts_lo:units = "counts" ; combined_counts_lo:missing_value = -1 ; combined_counts_lo:plot_scale = "logarithmic" ; int combined_counts_hi(time, altitude) ; combined_counts_hi:long_name = "High Gain Combined Photon Counts" ; combined_counts_hi:description = "Raw counts, per averaging interval with pileup, afterpulse, and darkcount corrections applied" ; combined_counts_hi:units = "counts" ; combined_counts_hi:missing_value = -1 ; combined_counts_hi:plot_scale = "logarithmic" ; float profile_combined_counts_lo(altitude) ; profile_combined_counts_lo:long_name = "Low Gain Combined Photon Counts profile" ; profile_combined_counts_lo:description = "Raw counts, per averaging interval with pileup, afterpulse, and darkcount corrections applied" ; profile_combined_counts_lo:units = "counts" ; profile_combined_counts_lo:missing_value = -1 ; profile_combined_counts_lo:plot_scale = "logarithmic" ; float profile_combined_counts_hi(altitude) ; profile_combined_counts_hi:long_name = "High Gain Combined Photon Counts profile" ; profile_combined_counts_hi:description = "Raw counts, per averaging interval with pileup, afterpulse, and darkcount corrections applied" ; profile_combined_counts_hi:units = "counts" ; profile_combined_counts_hi:missing_value = -1 ; profile_combined_counts_hi:plot_scale = "logarithmic" ; int cross_counts(time, altitude) ; cross_counts:long_name = "Cross Polarized Photon Counts" ; cross_counts:description = "Raw counts, per averaging interval with pileup, afterpulse, and darkcount corrections applied" ; cross_counts:units = "counts" ; cross_counts:missing_value = -1 ; cross_counts:plot_scale = "logarithmic" ; float profile_cross_counts(altitude) ; profile_cross_counts:long_name = "Cross Polarized Photon Counts profile" ; profile_cross_counts:description = "Raw counts, per averaging interval with pileup, afterpulse, and darkcount corrections applied" ; profile_cross_counts:units = "counts" ; profile_cross_counts:missing_value = -1 ; profile_cross_counts:plot_scale = "logarithmic" ; float beta_a_backscat(time, altitude) ; beta_a_backscat:long_name = "Particulate backscatter cross section per unit volume" ; beta_a_backscat:units = "1/(m sr)" ; beta_a_backscat:missing_value = NaN ; beta_a_backscat:plot_scale = "logarithmic" ; float profile_beta_a_backscat(altitude) ; profile_beta_a_backscat:long_name = "Particulate backscatter cross section profile" ; profile_beta_a_backscat:units = "1/(m sr)" ; profile_beta_a_backscat:missing_value = NaN ; profile_beta_a_backscat:plot_scale = "logarithmic" ; float profile_beta_m(altitude) ; profile_beta_m:long_name = "Raob molecular scattering cross section profile" ; profile_beta_m:units = "1/meter" ; profile_beta_m:plot_scale = "logarithmic" ; int qc_mask(time, altitude) ; qc_mask:long_name = "Quality Mask" ; qc_mask:description = "Quality mask bitfield. Unused bits are always high" ; qc_mask:missing_value = 0 ; qc_mask:_Unsigned = "true" ; qc_mask:bit_0 = "complete_mask" ; qc_mask:bit_0_description = "data is good. and of bits 1-9" ; qc_mask:bit_1 = "lidar_ok_mask" ; qc_mask:bit_1_description = "lidar data is present" ; qc_mask:bit_2 = "lock_quality_mask" ; qc_mask:bit_2_description = "laser is locked to iodine filter wavelength" ; qc_mask:bit_3 = "seed_quality_mask" ; qc_mask:bit_3_description = "laser wavelength is locked to seed laser" ; qc_mask:bit_4 = "mol_count_snr_mask" ; qc_mask:bit_4_description = "molecular signal/photon counting error in molecular signal is above specified threshhold" ; qc_mask:bit_5 = "backscat_snr_mask" ; qc_mask:bit_5_description = "backscatter cross-section/photon counting error in backscatter cross-section is above specified threshhold" ; qc_mask:bit_6 = "mol_lost_mask" ; qc_mask:bit_6_description = "number of molecular photon counts is above specified threshhold" ; qc_mask:bit_7 = "min_backscat_mask" ; qc_mask:bit_7_description = "lidar backscatter cross-section is above specified threshhold" ; qc_mask:bit_8 = "radar_backscat_mask" ; qc_mask:bit_8_description = "radar backscatter cross-section is above specified threshhold" ; qc_mask:bit_9 = "radar_ok_mask" ; qc_mask:bit_9_description = "radar data is present" ; qc_mask:bit_10 = "aeri_ok_mask" ; qc_mask:bit_10_description = "aeri data is present" ; qc_mask:bit_11 = "aeri_qc_mask" ; qc_mask:bit_11_description = "aeri data has passed a quality check" ; float std_beta_a_backscat(time, altitude) ; std_beta_a_backscat:long_name = "Std dev of backscat cross section (photon counting)" ; std_beta_a_backscat:units = "1/(m sr)" ; std_beta_a_backscat:missing_value = NaN ; std_beta_a_backscat:plot_scale = "logarithmic" ; // global attributes: :code_version = "$Id: processed_netcdf.m,v 1.112 2009/11/10 20:53:41 jpgarcia Exp $" ; :load_calibration_version = "$Id: load_calibration.m,v 1.30 2010/03/30 19:16:51 eloranta Exp $" ; :get_internal_cal_vals_version = "$Id: get_internal_cal_vals.m,v 1.111 2009/11/02 19:50:29 jpgarcia Exp $" ; :calvals = "$Id: calvals_gvhsrl.m,v 1.75 2010/04/30 15:14:10 eloranta Exp $" ; :find_new_cal_times_version = "$Id: find_new_cal_times.m,v 1.22 2009/04/06 18:12:26 jpgarcia Exp $" ; :radiosonde_profile_version = "$Id: radiosonde_profile.m,v 1.31 2009/08/24 14:49:00 eloranta Exp $" ; :fetch_cal_version = "$Id: fetch_cal.m,v 1.30 2010/04/05 20:39:54 eloranta Exp $" ; :processed_netcdf_version = "$Id: processed_netcdf.m,v 1.112 2009/11/10 20:53:41 jpgarcia Exp $" ; :git_commit = "005c000d7c865bc4a3b50890a20dddac9a613863" ; :process_data_version = "$Id: process_data.m,v 1.248 2010/05/03 17:51:36 eloranta Exp $" ; :timefill_sum_version = "$Id: time_block.cc,v 1.55 2009/11/13 22:47:48 jpgarcia Exp $" ; :timefill_average_version = "$Id: time_block.cc,v 1.55 2009/11/13 22:47:48 jpgarcia Exp $" ; :file_version = 20050323 ; :time_zone = "UTC" ; :file_created = "2015-02-25 21:25:10" ; :Conventions = "COARDS" ; :time_axis_average_mode = "time" ; :time_axis_average_parameter = 30. ; :range_axis_average_parameter = 30. ; :featureset = 8175 ; :featureset_version = "$Revision: 1.16 $" ; :processing_parameters__qc_params__min_radar_alt = 200. ; :processing_parameters__qc_params__min_lidar_alt = 100. ; :processing_parameters__qc_params__lock_level = 0.6 ; :processing_parameters__qc_params__min_radar_dBz = -66.1 ; :processing_parameters__qc_params__backscat_snr = 1. ; :processing_parameters__qc_params__mol_lost = 1. ; :processing_parameters__qc_params__min_radar_backscat = 1.e-15 ; :processing_parameters__particlesettings__g_water = 1. ; :processing_parameters__particlesettings__h20_depol_threshold = 0.05 ; :processing_parameters__particlesettings__sigma_v = 0.26 ; :processing_parameters__particlesettings__type = "Bullet Rosettes (Mitchell 1996)" ; :processing_parameters__particlesettings__alpha_ice = 1. ; :processing_parameters__particlesettings__p180_ice = 0.035 ; :processing_parameters__particlesettings__delta_v1 = 3. ; :processing_parameters__particlesettings__Dr = 60. ; :processing_parameters__particlesettings__g_ice = 1. ; :processing_parameters__particlesettings__delta_a1 = 2. ; :processing_parameters__particlesettings__alpha_water = 2. ; :processing_parameters__particlesettings__delta_v2 = 2.26 ; :processing_parameters__particlesettings__sigma_a = 1. ; :processing_parameters__particlesettings__delta_a2 = 1.57 ; } ================================================== netcdf acxhsrlM1.01.20150225.205810.raw.mf2hsrl_20150207T0000_20150208T0000_30s_30m { dimensions: time = UNLIMITED ; // (2806 currently) altitude = 667 ; time_vector = 8 ; calibration = 2 ; sondenamelength = 6 ; i2header = 900 ; geoheader = 200 ; apheader = 300 ; variables: int base_time ; base_time:string = "2015-02-07 00:00:01 UTC" ; base_time:long_name = "Base seconds since Unix Epoch" ; base_time:units = "seconds since 1970-01-01 00:00:00 UTC" ; short first_time(time_vector) ; first_time:long_name = "First Time in file" ; short last_time(time_vector) ; last_time:long_name = "Last Time in file" ; double time(time) ; time:long_name = "Time" ; time:units = "seconds since 2015-02-07 00:00:01 UTC" ; double time_offset(time) ; time_offset:long_name = "Time offset from base_time" ; time_offset:description = "same times as \"First time in record\" " ; time_offset:units = "seconds since 2015-02-07 00:00:01 UTC" ; short start_time(time, time_vector) ; start_time:long_name = "First Time in record" ; start_time:description = "time of first laser shot in averaging interval" ; float latitude ; latitude:long_name = "latitude of lidar" ; latitude:units = "degree_N" ; float longitude ; longitude:long_name = "longitude of lidar" ; longitude:units = "degree_W" ; float range_resolution ; range_resolution:long_name = "Range resolution" ; range_resolution:description = "vertical distance between data points after averaging" ; range_resolution:units = "meters" ; float time_average ; time_average:long_name = "Time Averaging Width" ; time_average:description = "Time between data points after averaging" ; time_average:units = "seconds" ; short new_cal_times(calibration, time_vector) ; new_cal_times:long_name = "Time of Calibration Change" ; new_cal_times:description = "New raob or system calibration data triggered recalibration" ; float altitude(altitude) ; altitude:long_name = "Height above lidar" ; altitude:units = "meters" ; byte new_cal_trigger(calibration) ; new_cal_trigger:long_name = "Trigger of Calibration Change" ; new_cal_trigger:description = "reason for recalibration" ; new_cal_trigger:bit_0 = "radiosonde profile" ; new_cal_trigger:bit_1 = "i2 scan" ; new_cal_trigger:bit_2 = "geometry" ; short new_cal_offset(calibration) ; new_cal_offset:long_name = "Record Dimension equivalent Offset" ; new_cal_offset:min_value = 0 ; float top_alt_sounding(calibration) ; top_alt_sounding:long_name = "Sounding Maximum Altitude" ; top_alt_sounding:units = "meters" ; float temperature_profile(calibration, altitude) ; temperature_profile:long_name = "Raob Temperature Profile" ; temperature_profile:description = "Temperature interpolated to requested altitude resolution" ; temperature_profile:units = "degrees Kelvin" ; float pressure_profile(calibration, altitude) ; pressure_profile:long_name = "Raob pressure Profile" ; pressure_profile:description = "Pressure interpolated to requested altitude resolution" ; pressure_profile:units = "hectopascals" ; float dewpoint_profile(calibration, altitude) ; dewpoint_profile:long_name = "Raob Dewpoint Temperature Profile" ; dewpoint_profile:description = "Dewpoint interpolated to requested altitude resolution" ; dewpoint_profile:units = "degrees Kelvin" ; dewpoint_profile:missing_value = NaN ; float windspeed_profile(calibration, altitude) ; windspeed_profile:long_name = "Raob Wind Speed Profile" ; windspeed_profile:description = "Speeds interpolated to requested altitude resolution" ; windspeed_profile:units = "m/s" ; windspeed_profile:missing_value = NaN ; float winddir_profile(calibration, altitude) ; winddir_profile:long_name = "Raob Wind Direction Profile" ; winddir_profile:description = "Directions interpolated to requested altitude resolution" ; winddir_profile:units = "degrees" ; winddir_profile:missing_value = NaN ; char raob_station(calibration, sondenamelength) ; raob_station:long_name = "Radiosonde Station ID" ; char i2_txt_header(calibration, i2header) ; i2_txt_header:long_name = "i2_scan_file_text_info" ; i2_txt_header:description = "Contains name of file used to compute calibration" ; char geo_txt_header(calibration, geoheader) ; geo_txt_header:long_name = "geometric_correction_file_txt_header." ; char ap_txt_header(calibration, apheader) ; ap_txt_header:long_name = "afterpulse_correction_file_txt_header." ; double raob_time_offset(calibration) ; raob_time_offset:units = "seconds" ; raob_time_offset:long_name = "Radiosonde Launch time offset" ; raob_time_offset:description = "Time after base time in seconds" ; short raob_time_vector(calibration, time_vector) ; raob_time_vector:long_name = "Radiosonde Launch time vector" ; raob_time_vector:description = "Time in [year month day hour min sec ms us] format" ; float Cmc(calibration, altitude) ; Cmc:long_name = "Molecular in Combined Calibration" ; float Cmm(calibration, altitude) ; Cmm:long_name = "Molecular in Molecular Calibration" ; float Cam(calibration, altitude) ; Cam:long_name = "Aerosol in Molecular Calibration" ; float beta_m(calibration, altitude) ; beta_m:long_name = "Raob molecular scattering cross section per unit volume" ; beta_m:units = "1/meter" ; beta_m:plot_scale = "logarithmic" ; float transmitted_energy(time) ; transmitted_energy:long_name = "Transmitted Energy" ; transmitted_energy:units = "Joules" ; transmitted_energy:missing_value = NaN ; float piezovoltage(time) ; piezovoltage:long_name = "piezovoltage" ; piezovoltage:units = "Volts" ; piezovoltage:missing_value = NaN ; int num_seeded_shots(time) ; num_seeded_shots:long_name = "Number of Seeded Shots" ; num_seeded_shots:missing_value = -1 ; float seed_quality(time) ; seed_quality:long_name = "Laser Seeding Quality" ; seed_quality:description = "The ratio of seeded shots to total shots. Only seeded shot data is stored and processed. A low seed ratio can result in low noise resistance." ; seed_quality:missing_value = NaN ; seed_quality:range = 0., 1. ; float frequency_quality(time) ; frequency_quality:long_name = "Laser Frequency Quality" ; frequency_quality:description = "An ratio average of how good the frequency lock is per raw interval. A low value can result in poor separation of molecular and aerosol counts." ; frequency_quality:missing_value = NaN ; frequency_quality:range = 0., 1. ; float lock_quality(time) ; lock_quality:long_name = "Laser Lock Quality" ; lock_quality:description = "A ratio of likely locked intervals (frequency_quality>=.5) to seeded intervals. A low value can result in poor separation of molecular and aerosol counts." ; lock_quality:missing_value = NaN ; lock_quality:range = 0., 1. ; float mol_cal_pulse(time) ; mol_cal_pulse:long_name = "Molecular calibration pulse" ; mol_cal_pulse:description = "Sum of photon counts in the molecular channel due to light scattered with the telescope." ; mol_cal_pulse:units = "counts" ; mol_cal_pulse:missing_value = NaN ; float c_pol_dark_count(time, altitude) ; c_pol_dark_count:long_name = "Cross Polarization Dark Count" ; c_pol_dark_count:description = "total counts per averaging interval(eg. one altitude, one time)" ; c_pol_dark_count:units = "counts" ; c_pol_dark_count:missing_value = NaN ; float mol_dark_count(time, altitude) ; mol_dark_count:long_name = "Molecular Dark Count" ; mol_dark_count:description = "total counts per averaging interval(eg. one altitude, one time)" ; mol_dark_count:units = "counts" ; mol_dark_count:missing_value = NaN ; float combined_dark_count_lo(time, altitude) ; combined_dark_count_lo:long_name = "Low Gain Combined Dark Count" ; combined_dark_count_lo:description = "total counts per averaging interval(eg. one altitude, one time)" ; combined_dark_count_lo:units = "counts" ; combined_dark_count_lo:missing_value = NaN ; float combined_dark_count_hi(time, altitude) ; combined_dark_count_hi:long_name = "High Gain Combined Dark Count" ; combined_dark_count_hi:description = "total counts per averaging interval(eg. one altitude, one time)" ; combined_dark_count_hi:units = "counts" ; combined_dark_count_hi:missing_value = NaN ; float combined_gain(calibration) ; combined_gain:long_name = "Combined Gain Factor" ; combined_gain:description = "Low Gain level * Factor ~ High Gain level" ; float combined_merge_threshhold(calibration) ; combined_merge_threshhold:long_name = "Combined Merge Threshhold" ; float geo_cor(calibration, altitude) ; geo_cor:long_name = "Overlap correction" ; geo_cor:description = "Geometric overlap correction averaged to requested altitude resolution" ; geo_cor:units = " " ; geo_cor:missing_value = NaN ; geo_cor:plot_scale = "logarithmic" ; float od(time, altitude) ; od:long_name = "Optical depth of particulate" ; od:units = " " ; od:missing_value = NaN ; od:insufficient_data = Infinity ; od:plot_scale = "logarithmic" ; float profile_od(altitude) ; profile_od:long_name = "Optical depth of particulate Profile" ; profile_od:units = " " ; profile_od:missing_value = NaN ; profile_od:insufficient_data = Infinity ; profile_od:plot_scale = "logarithmic" ; float beta_a(time, altitude) ; beta_a:long_name = "Particulate extinction cross section per unit volume" ; beta_a:units = "1/m" ; beta_a:missing_value = NaN ; beta_a:plot_scale = "logarithmic" ; float atten_beta_r_backscat(time, altitude) ; atten_beta_r_backscat:long_name = "Attenuated Molecular return" ; atten_beta_r_backscat:units = "1/(m sr)" ; atten_beta_r_backscat:missing_value = NaN ; atten_beta_r_backscat:plot_scale = "logarithmic" ; float profile_atten_beta_r_backscat(altitude) ; profile_atten_beta_r_backscat:long_name = "Attenuated Molecular Profile" ; profile_atten_beta_r_backscat:units = "1/(m sr)" ; profile_atten_beta_r_backscat:missing_value = NaN ; profile_atten_beta_r_backscat:plot_scale = "logarithmic" ; float depol(time, altitude) ; depol:long_name = "Circular depolarization ratio for particulate" ; depol:description = "left circular return divided by right circular return" ; depol:units = " " ; depol:missing_value = NaN ; depol:plot_scale = "logarithmic" ; float profile_depol(altitude) ; profile_depol:long_name = "Circular depolarization ratio profile for particulate" ; profile_depol:description = "left circular return divided by right circular return" ; profile_depol:units = " " ; profile_depol:missing_value = NaN ; profile_depol:plot_scale = "logarithmic" ; int molecular_counts(time, altitude) ; molecular_counts:long_name = "Molecular Photon Counts" ; molecular_counts:description = "Raw counts, per averaging interval with pileup, afterpulse, and darkcount corrections applied" ; molecular_counts:units = "counts" ; molecular_counts:missing_value = -1 ; molecular_counts:plot_scale = "logarithmic" ; float profile_molecular_counts(altitude) ; profile_molecular_counts:long_name = "Molecular Photon Counts profile" ; profile_molecular_counts:description = "Raw counts, per averaging interval with pileup, afterpulse, and darkcount corrections applied" ; profile_molecular_counts:units = "counts" ; profile_molecular_counts:missing_value = -1 ; profile_molecular_counts:plot_scale = "logarithmic" ; int combined_counts_lo(time, altitude) ; combined_counts_lo:long_name = "Low Gain Combined Photon Counts" ; combined_counts_lo:description = "Raw counts, per averaging interval with pileup, afterpulse, and darkcount corrections applied" ; combined_counts_lo:units = "counts" ; combined_counts_lo:missing_value = -1 ; combined_counts_lo:plot_scale = "logarithmic" ; int combined_counts_hi(time, altitude) ; combined_counts_hi:long_name = "High Gain Combined Photon Counts" ; combined_counts_hi:description = "Raw counts, per averaging interval with pileup, afterpulse, and darkcount corrections applied" ; combined_counts_hi:units = "counts" ; combined_counts_hi:missing_value = -1 ; combined_counts_hi:plot_scale = "logarithmic" ; float profile_combined_counts_lo(altitude) ; profile_combined_counts_lo:long_name = "Low Gain Combined Photon Counts profile" ; profile_combined_counts_lo:description = "Raw counts, per averaging interval with pileup, afterpulse, and darkcount corrections applied" ; profile_combined_counts_lo:units = "counts" ; profile_combined_counts_lo:missing_value = -1 ; profile_combined_counts_lo:plot_scale = "logarithmic" ; float profile_combined_counts_hi(altitude) ; profile_combined_counts_hi:long_name = "High Gain Combined Photon Counts profile" ; profile_combined_counts_hi:description = "Raw counts, per averaging interval with pileup, afterpulse, and darkcount corrections applied" ; profile_combined_counts_hi:units = "counts" ; profile_combined_counts_hi:missing_value = -1 ; profile_combined_counts_hi:plot_scale = "logarithmic" ; int cross_counts(time, altitude) ; cross_counts:long_name = "Cross Polarized Photon Counts" ; cross_counts:description = "Raw counts, per averaging interval with pileup, afterpulse, and darkcount corrections applied" ; cross_counts:units = "counts" ; cross_counts:missing_value = -1 ; cross_counts:plot_scale = "logarithmic" ; float profile_cross_counts(altitude) ; profile_cross_counts:long_name = "Cross Polarized Photon Counts profile" ; profile_cross_counts:description = "Raw counts, per averaging interval with pileup, afterpulse, and darkcount corrections applied" ; profile_cross_counts:units = "counts" ; profile_cross_counts:missing_value = -1 ; profile_cross_counts:plot_scale = "logarithmic" ; float beta_a_backscat(time, altitude) ; beta_a_backscat:long_name = "Particulate backscatter cross section per unit volume" ; beta_a_backscat:units = "1/(m sr)" ; beta_a_backscat:missing_value = NaN ; beta_a_backscat:plot_scale = "logarithmic" ; float profile_beta_a_backscat(altitude) ; profile_beta_a_backscat:long_name = "Particulate backscatter cross section profile" ; profile_beta_a_backscat:units = "1/(m sr)" ; profile_beta_a_backscat:missing_value = NaN ; profile_beta_a_backscat:plot_scale = "logarithmic" ; float profile_beta_m(altitude) ; profile_beta_m:long_name = "Raob molecular scattering cross section profile" ; profile_beta_m:units = "1/meter" ; profile_beta_m:plot_scale = "logarithmic" ; int qc_mask(time, altitude) ; qc_mask:long_name = "Quality Mask" ; qc_mask:description = "Quality mask bitfield. Unused bits are always high" ; qc_mask:missing_value = 0 ; qc_mask:_Unsigned = "true" ; qc_mask:bit_0 = "complete_mask" ; qc_mask:bit_0_description = "data is good. and of bits 1-9" ; qc_mask:bit_1 = "lidar_ok_mask" ; qc_mask:bit_1_description = "lidar data is present" ; qc_mask:bit_2 = "lock_quality_mask" ; qc_mask:bit_2_description = "laser is locked to iodine filter wavelength" ; qc_mask:bit_3 = "seed_quality_mask" ; qc_mask:bit_3_description = "laser wavelength is locked to seed laser" ; qc_mask:bit_4 = "mol_count_snr_mask" ; qc_mask:bit_4_description = "molecular signal/photon counting error in molecular signal is above specified threshhold" ; qc_mask:bit_5 = "backscat_snr_mask" ; qc_mask:bit_5_description = "backscatter cross-section/photon counting error in backscatter cross-section is above specified threshhold" ; qc_mask:bit_6 = "mol_lost_mask" ; qc_mask:bit_6_description = "number of molecular photon counts is above specified threshhold" ; qc_mask:bit_7 = "min_backscat_mask" ; qc_mask:bit_7_description = "lidar backscatter cross-section is above specified threshhold" ; qc_mask:bit_8 = "radar_backscat_mask" ; qc_mask:bit_8_description = "radar backscatter cross-section is above specified threshhold" ; qc_mask:bit_9 = "radar_ok_mask" ; qc_mask:bit_9_description = "radar data is present" ; qc_mask:bit_10 = "aeri_ok_mask" ; qc_mask:bit_10_description = "aeri data is present" ; qc_mask:bit_11 = "aeri_qc_mask" ; qc_mask:bit_11_description = "aeri data has passed a quality check" ; float std_beta_a_backscat(time, altitude) ; std_beta_a_backscat:long_name = "Std dev of backscat cross section (photon counting)" ; std_beta_a_backscat:units = "1/(m sr)" ; std_beta_a_backscat:missing_value = NaN ; std_beta_a_backscat:plot_scale = "logarithmic" ; // global attributes: :code_version = "$Id: processed_netcdf.m,v 1.112 2009/11/10 20:53:41 jpgarcia Exp $" ; :load_calibration_version = "$Id: load_calibration.m,v 1.30 2010/03/30 19:16:51 eloranta Exp $" ; :get_internal_cal_vals_version = "$Id: get_internal_cal_vals.m,v 1.111 2009/11/02 19:50:29 jpgarcia Exp $" ; :calvals = "$Id: calvals_gvhsrl.m,v 1.75 2010/04/30 15:14:10 eloranta Exp $" ; :find_new_cal_times_version = "$Id: find_new_cal_times.m,v 1.22 2009/04/06 18:12:26 jpgarcia Exp $" ; :radiosonde_profile_version = "$Id: radiosonde_profile.m,v 1.31 2009/08/24 14:49:00 eloranta Exp $" ; :fetch_cal_version = "$Id: fetch_cal.m,v 1.30 2010/04/05 20:39:54 eloranta Exp $" ; :processed_netcdf_version = "$Id: processed_netcdf.m,v 1.112 2009/11/10 20:53:41 jpgarcia Exp $" ; :git_commit = "005c000d7c865bc4a3b50890a20dddac9a613863" ; :process_data_version = "$Id: process_data.m,v 1.248 2010/05/03 17:51:36 eloranta Exp $" ; :timefill_sum_version = "$Id: time_block.cc,v 1.55 2009/11/13 22:47:48 jpgarcia Exp $" ; :timefill_average_version = "$Id: time_block.cc,v 1.55 2009/11/13 22:47:48 jpgarcia Exp $" ; :file_version = 20050323 ; :time_zone = "UTC" ; :file_created = "2015-02-25 21:28:19" ; :Conventions = "COARDS" ; :time_axis_average_mode = "time" ; :time_axis_average_parameter = 30. ; :range_axis_average_parameter = 30. ; :featureset = 8175 ; :featureset_version = "$Revision: 1.16 $" ; :processing_parameters__qc_params__min_radar_alt = 200. ; :processing_parameters__qc_params__min_lidar_alt = 100. ; :processing_parameters__qc_params__lock_level = 0.6 ; :processing_parameters__qc_params__min_radar_dBz = -66.1 ; :processing_parameters__qc_params__backscat_snr = 1. ; :processing_parameters__qc_params__mol_lost = 1. ; :processing_parameters__qc_params__min_radar_backscat = 1.e-15 ; :processing_parameters__particlesettings__g_water = 1. ; :processing_parameters__particlesettings__h20_depol_threshold = 0.05 ; :processing_parameters__particlesettings__sigma_v = 0.26 ; :processing_parameters__particlesettings__type = "Bullet Rosettes (Mitchell 1996)" ; :processing_parameters__particlesettings__alpha_ice = 1. ; :processing_parameters__particlesettings__p180_ice = 0.035 ; :processing_parameters__particlesettings__delta_v1 = 3. ; :processing_parameters__particlesettings__Dr = 60. ; :processing_parameters__particlesettings__g_ice = 1. ; :processing_parameters__particlesettings__delta_a1 = 2. ; :processing_parameters__particlesettings__alpha_water = 2. ; :processing_parameters__particlesettings__delta_v2 = 2.26 ; :processing_parameters__particlesettings__sigma_a = 1. ; :processing_parameters__particlesettings__delta_a2 = 1.57 ; } ================================================== netcdf acxhsrlM1.01.20150225.205810.raw.mf2hsrl_20150208T0000_20150209T0000_30s_30m { dimensions: time = UNLIMITED ; // (2739 currently) altitude = 667 ; time_vector = 8 ; calibration = 2 ; sondenamelength = 6 ; i2header = 900 ; geoheader = 200 ; apheader = 300 ; variables: int base_time ; base_time:string = "2015-02-08 00:00:00 UTC" ; base_time:long_name = "Base seconds since Unix Epoch" ; base_time:units = "seconds since 1970-01-01 00:00:00 UTC" ; short first_time(time_vector) ; first_time:long_name = "First Time in file" ; short last_time(time_vector) ; last_time:long_name = "Last Time in file" ; double time(time) ; time:long_name = "Time" ; time:units = "seconds since 2015-02-08 00:00:00 UTC" ; double time_offset(time) ; time_offset:long_name = "Time offset from base_time" ; time_offset:description = "same times as \"First time in record\" " ; time_offset:units = "seconds since 2015-02-08 00:00:00 UTC" ; short start_time(time, time_vector) ; start_time:long_name = "First Time in record" ; start_time:description = "time of first laser shot in averaging interval" ; float latitude ; latitude:long_name = "latitude of lidar" ; latitude:units = "degree_N" ; float longitude ; longitude:long_name = "longitude of lidar" ; longitude:units = "degree_W" ; float range_resolution ; range_resolution:long_name = "Range resolution" ; range_resolution:description = "vertical distance between data points after averaging" ; range_resolution:units = "meters" ; float time_average ; time_average:long_name = "Time Averaging Width" ; time_average:description = "Time between data points after averaging" ; time_average:units = "seconds" ; short new_cal_times(calibration, time_vector) ; new_cal_times:long_name = "Time of Calibration Change" ; new_cal_times:description = "New raob or system calibration data triggered recalibration" ; float altitude(altitude) ; altitude:long_name = "Height above lidar" ; altitude:units = "meters" ; byte new_cal_trigger(calibration) ; new_cal_trigger:long_name = "Trigger of Calibration Change" ; new_cal_trigger:description = "reason for recalibration" ; new_cal_trigger:bit_0 = "radiosonde profile" ; new_cal_trigger:bit_1 = "i2 scan" ; new_cal_trigger:bit_2 = "geometry" ; short new_cal_offset(calibration) ; new_cal_offset:long_name = "Record Dimension equivalent Offset" ; new_cal_offset:min_value = 0 ; float top_alt_sounding(calibration) ; top_alt_sounding:long_name = "Sounding Maximum Altitude" ; top_alt_sounding:units = "meters" ; float temperature_profile(calibration, altitude) ; temperature_profile:long_name = "Raob Temperature Profile" ; temperature_profile:description = "Temperature interpolated to requested altitude resolution" ; temperature_profile:units = "degrees Kelvin" ; float pressure_profile(calibration, altitude) ; pressure_profile:long_name = "Raob pressure Profile" ; pressure_profile:description = "Pressure interpolated to requested altitude resolution" ; pressure_profile:units = "hectopascals" ; float dewpoint_profile(calibration, altitude) ; dewpoint_profile:long_name = "Raob Dewpoint Temperature Profile" ; dewpoint_profile:description = "Dewpoint interpolated to requested altitude resolution" ; dewpoint_profile:units = "degrees Kelvin" ; dewpoint_profile:missing_value = NaN ; float windspeed_profile(calibration, altitude) ; windspeed_profile:long_name = "Raob Wind Speed Profile" ; windspeed_profile:description = "Speeds interpolated to requested altitude resolution" ; windspeed_profile:units = "m/s" ; windspeed_profile:missing_value = NaN ; float winddir_profile(calibration, altitude) ; winddir_profile:long_name = "Raob Wind Direction Profile" ; winddir_profile:description = "Directions interpolated to requested altitude resolution" ; winddir_profile:units = "degrees" ; winddir_profile:missing_value = NaN ; char raob_station(calibration, sondenamelength) ; raob_station:long_name = "Radiosonde Station ID" ; char i2_txt_header(calibration, i2header) ; i2_txt_header:long_name = "i2_scan_file_text_info" ; i2_txt_header:description = "Contains name of file used to compute calibration" ; char geo_txt_header(calibration, geoheader) ; geo_txt_header:long_name = "geometric_correction_file_txt_header." ; char ap_txt_header(calibration, apheader) ; ap_txt_header:long_name = "afterpulse_correction_file_txt_header." ; double raob_time_offset(calibration) ; raob_time_offset:units = "seconds" ; raob_time_offset:long_name = "Radiosonde Launch time offset" ; raob_time_offset:description = "Time after base time in seconds" ; short raob_time_vector(calibration, time_vector) ; raob_time_vector:long_name = "Radiosonde Launch time vector" ; raob_time_vector:description = "Time in [year month day hour min sec ms us] format" ; float Cmc(calibration, altitude) ; Cmc:long_name = "Molecular in Combined Calibration" ; float Cmm(calibration, altitude) ; Cmm:long_name = "Molecular in Molecular Calibration" ; float Cam(calibration, altitude) ; Cam:long_name = "Aerosol in Molecular Calibration" ; float beta_m(calibration, altitude) ; beta_m:long_name = "Raob molecular scattering cross section per unit volume" ; beta_m:units = "1/meter" ; beta_m:plot_scale = "logarithmic" ; float transmitted_energy(time) ; transmitted_energy:long_name = "Transmitted Energy" ; transmitted_energy:units = "Joules" ; transmitted_energy:missing_value = NaN ; float piezovoltage(time) ; piezovoltage:long_name = "piezovoltage" ; piezovoltage:units = "Volts" ; piezovoltage:missing_value = NaN ; int num_seeded_shots(time) ; num_seeded_shots:long_name = "Number of Seeded Shots" ; num_seeded_shots:missing_value = -1 ; float seed_quality(time) ; seed_quality:long_name = "Laser Seeding Quality" ; seed_quality:description = "The ratio of seeded shots to total shots. Only seeded shot data is stored and processed. A low seed ratio can result in low noise resistance." ; seed_quality:missing_value = NaN ; seed_quality:range = 0., 1. ; float frequency_quality(time) ; frequency_quality:long_name = "Laser Frequency Quality" ; frequency_quality:description = "An ratio average of how good the frequency lock is per raw interval. A low value can result in poor separation of molecular and aerosol counts." ; frequency_quality:missing_value = NaN ; frequency_quality:range = 0., 1. ; float lock_quality(time) ; lock_quality:long_name = "Laser Lock Quality" ; lock_quality:description = "A ratio of likely locked intervals (frequency_quality>=.5) to seeded intervals. A low value can result in poor separation of molecular and aerosol counts." ; lock_quality:missing_value = NaN ; lock_quality:range = 0., 1. ; float mol_cal_pulse(time) ; mol_cal_pulse:long_name = "Molecular calibration pulse" ; mol_cal_pulse:description = "Sum of photon counts in the molecular channel due to light scattered with the telescope." ; mol_cal_pulse:units = "counts" ; mol_cal_pulse:missing_value = NaN ; float c_pol_dark_count(time, altitude) ; c_pol_dark_count:long_name = "Cross Polarization Dark Count" ; c_pol_dark_count:description = "total counts per averaging interval(eg. one altitude, one time)" ; c_pol_dark_count:units = "counts" ; c_pol_dark_count:missing_value = NaN ; float mol_dark_count(time, altitude) ; mol_dark_count:long_name = "Molecular Dark Count" ; mol_dark_count:description = "total counts per averaging interval(eg. one altitude, one time)" ; mol_dark_count:units = "counts" ; mol_dark_count:missing_value = NaN ; float combined_dark_count_lo(time, altitude) ; combined_dark_count_lo:long_name = "Low Gain Combined Dark Count" ; combined_dark_count_lo:description = "total counts per averaging interval(eg. one altitude, one time)" ; combined_dark_count_lo:units = "counts" ; combined_dark_count_lo:missing_value = NaN ; float combined_dark_count_hi(time, altitude) ; combined_dark_count_hi:long_name = "High Gain Combined Dark Count" ; combined_dark_count_hi:description = "total counts per averaging interval(eg. one altitude, one time)" ; combined_dark_count_hi:units = "counts" ; combined_dark_count_hi:missing_value = NaN ; float combined_gain(calibration) ; combined_gain:long_name = "Combined Gain Factor" ; combined_gain:description = "Low Gain level * Factor ~ High Gain level" ; float combined_merge_threshhold(calibration) ; combined_merge_threshhold:long_name = "Combined Merge Threshhold" ; float geo_cor(calibration, altitude) ; geo_cor:long_name = "Overlap correction" ; geo_cor:description = "Geometric overlap correction averaged to requested altitude resolution" ; geo_cor:units = " " ; geo_cor:missing_value = NaN ; geo_cor:plot_scale = "logarithmic" ; float od(time, altitude) ; od:long_name = "Optical depth of particulate" ; od:units = " " ; od:missing_value = NaN ; od:insufficient_data = Infinity ; od:plot_scale = "logarithmic" ; float profile_od(altitude) ; profile_od:long_name = "Optical depth of particulate Profile" ; profile_od:units = " " ; profile_od:missing_value = NaN ; profile_od:insufficient_data = Infinity ; profile_od:plot_scale = "logarithmic" ; float beta_a(time, altitude) ; beta_a:long_name = "Particulate extinction cross section per unit volume" ; beta_a:units = "1/m" ; beta_a:missing_value = NaN ; beta_a:plot_scale = "logarithmic" ; float atten_beta_r_backscat(time, altitude) ; atten_beta_r_backscat:long_name = "Attenuated Molecular return" ; atten_beta_r_backscat:units = "1/(m sr)" ; atten_beta_r_backscat:missing_value = NaN ; atten_beta_r_backscat:plot_scale = "logarithmic" ; float profile_atten_beta_r_backscat(altitude) ; profile_atten_beta_r_backscat:long_name = "Attenuated Molecular Profile" ; profile_atten_beta_r_backscat:units = "1/(m sr)" ; profile_atten_beta_r_backscat:missing_value = NaN ; profile_atten_beta_r_backscat:plot_scale = "logarithmic" ; float depol(time, altitude) ; depol:long_name = "Circular depolarization ratio for particulate" ; depol:description = "left circular return divided by right circular return" ; depol:units = " " ; depol:missing_value = NaN ; depol:plot_scale = "logarithmic" ; float profile_depol(altitude) ; profile_depol:long_name = "Circular depolarization ratio profile for particulate" ; profile_depol:description = "left circular return divided by right circular return" ; profile_depol:units = " " ; profile_depol:missing_value = NaN ; profile_depol:plot_scale = "logarithmic" ; int molecular_counts(time, altitude) ; molecular_counts:long_name = "Molecular Photon Counts" ; molecular_counts:description = "Raw counts, per averaging interval with pileup, afterpulse, and darkcount corrections applied" ; molecular_counts:units = "counts" ; molecular_counts:missing_value = -1 ; molecular_counts:plot_scale = "logarithmic" ; float profile_molecular_counts(altitude) ; profile_molecular_counts:long_name = "Molecular Photon Counts profile" ; profile_molecular_counts:description = "Raw counts, per averaging interval with pileup, afterpulse, and darkcount corrections applied" ; profile_molecular_counts:units = "counts" ; profile_molecular_counts:missing_value = -1 ; profile_molecular_counts:plot_scale = "logarithmic" ; int combined_counts_lo(time, altitude) ; combined_counts_lo:long_name = "Low Gain Combined Photon Counts" ; combined_counts_lo:description = "Raw counts, per averaging interval with pileup, afterpulse, and darkcount corrections applied" ; combined_counts_lo:units = "counts" ; combined_counts_lo:missing_value = -1 ; combined_counts_lo:plot_scale = "logarithmic" ; int combined_counts_hi(time, altitude) ; combined_counts_hi:long_name = "High Gain Combined Photon Counts" ; combined_counts_hi:description = "Raw counts, per averaging interval with pileup, afterpulse, and darkcount corrections applied" ; combined_counts_hi:units = "counts" ; combined_counts_hi:missing_value = -1 ; combined_counts_hi:plot_scale = "logarithmic" ; float profile_combined_counts_lo(altitude) ; profile_combined_counts_lo:long_name = "Low Gain Combined Photon Counts profile" ; profile_combined_counts_lo:description = "Raw counts, per averaging interval with pileup, afterpulse, and darkcount corrections applied" ; profile_combined_counts_lo:units = "counts" ; profile_combined_counts_lo:missing_value = -1 ; profile_combined_counts_lo:plot_scale = "logarithmic" ; float profile_combined_counts_hi(altitude) ; profile_combined_counts_hi:long_name = "High Gain Combined Photon Counts profile" ; profile_combined_counts_hi:description = "Raw counts, per averaging interval with pileup, afterpulse, and darkcount corrections applied" ; profile_combined_counts_hi:units = "counts" ; profile_combined_counts_hi:missing_value = -1 ; profile_combined_counts_hi:plot_scale = "logarithmic" ; int cross_counts(time, altitude) ; cross_counts:long_name = "Cross Polarized Photon Counts" ; cross_counts:description = "Raw counts, per averaging interval with pileup, afterpulse, and darkcount corrections applied" ; cross_counts:units = "counts" ; cross_counts:missing_value = -1 ; cross_counts:plot_scale = "logarithmic" ; float profile_cross_counts(altitude) ; profile_cross_counts:long_name = "Cross Polarized Photon Counts profile" ; profile_cross_counts:description = "Raw counts, per averaging interval with pileup, afterpulse, and darkcount corrections applied" ; profile_cross_counts:units = "counts" ; profile_cross_counts:missing_value = -1 ; profile_cross_counts:plot_scale = "logarithmic" ; float beta_a_backscat(time, altitude) ; beta_a_backscat:long_name = "Particulate backscatter cross section per unit volume" ; beta_a_backscat:units = "1/(m sr)" ; beta_a_backscat:missing_value = NaN ; beta_a_backscat:plot_scale = "logarithmic" ; float profile_beta_a_backscat(altitude) ; profile_beta_a_backscat:long_name = "Particulate backscatter cross section profile" ; profile_beta_a_backscat:units = "1/(m sr)" ; profile_beta_a_backscat:missing_value = NaN ; profile_beta_a_backscat:plot_scale = "logarithmic" ; float profile_beta_m(altitude) ; profile_beta_m:long_name = "Raob molecular scattering cross section profile" ; profile_beta_m:units = "1/meter" ; profile_beta_m:plot_scale = "logarithmic" ; int qc_mask(time, altitude) ; qc_mask:long_name = "Quality Mask" ; qc_mask:description = "Quality mask bitfield. Unused bits are always high" ; qc_mask:missing_value = 0 ; qc_mask:_Unsigned = "true" ; qc_mask:bit_0 = "complete_mask" ; qc_mask:bit_0_description = "data is good. and of bits 1-9" ; qc_mask:bit_1 = "lidar_ok_mask" ; qc_mask:bit_1_description = "lidar data is present" ; qc_mask:bit_2 = "lock_quality_mask" ; qc_mask:bit_2_description = "laser is locked to iodine filter wavelength" ; qc_mask:bit_3 = "seed_quality_mask" ; qc_mask:bit_3_description = "laser wavelength is locked to seed laser" ; qc_mask:bit_4 = "mol_count_snr_mask" ; qc_mask:bit_4_description = "molecular signal/photon counting error in molecular signal is above specified threshhold" ; qc_mask:bit_5 = "backscat_snr_mask" ; qc_mask:bit_5_description = "backscatter cross-section/photon counting error in backscatter cross-section is above specified threshhold" ; qc_mask:bit_6 = "mol_lost_mask" ; qc_mask:bit_6_description = "number of molecular photon counts is above specified threshhold" ; qc_mask:bit_7 = "min_backscat_mask" ; qc_mask:bit_7_description = "lidar backscatter cross-section is above specified threshhold" ; qc_mask:bit_8 = "radar_backscat_mask" ; qc_mask:bit_8_description = "radar backscatter cross-section is above specified threshhold" ; qc_mask:bit_9 = "radar_ok_mask" ; qc_mask:bit_9_description = "radar data is present" ; qc_mask:bit_10 = "aeri_ok_mask" ; qc_mask:bit_10_description = "aeri data is present" ; qc_mask:bit_11 = "aeri_qc_mask" ; qc_mask:bit_11_description = "aeri data has passed a quality check" ; float std_beta_a_backscat(time, altitude) ; std_beta_a_backscat:long_name = "Std dev of backscat cross section (photon counting)" ; std_beta_a_backscat:units = "1/(m sr)" ; std_beta_a_backscat:missing_value = NaN ; std_beta_a_backscat:plot_scale = "logarithmic" ; // global attributes: :code_version = "$Id: processed_netcdf.m,v 1.112 2009/11/10 20:53:41 jpgarcia Exp $" ; :load_calibration_version = "$Id: load_calibration.m,v 1.30 2010/03/30 19:16:51 eloranta Exp $" ; :get_internal_cal_vals_version = "$Id: get_internal_cal_vals.m,v 1.111 2009/11/02 19:50:29 jpgarcia Exp $" ; :calvals = "$Id: calvals_gvhsrl.m,v 1.75 2010/04/30 15:14:10 eloranta Exp $" ; :find_new_cal_times_version = "$Id: find_new_cal_times.m,v 1.22 2009/04/06 18:12:26 jpgarcia Exp $" ; :radiosonde_profile_version = "$Id: radiosonde_profile.m,v 1.31 2009/08/24 14:49:00 eloranta Exp $" ; :fetch_cal_version = "$Id: fetch_cal.m,v 1.30 2010/04/05 20:39:54 eloranta Exp $" ; :processed_netcdf_version = "$Id: processed_netcdf.m,v 1.112 2009/11/10 20:53:41 jpgarcia Exp $" ; :git_commit = "005c000d7c865bc4a3b50890a20dddac9a613863" ; :process_data_version = "$Id: process_data.m,v 1.248 2010/05/03 17:51:36 eloranta Exp $" ; :timefill_sum_version = "$Id: time_block.cc,v 1.55 2009/11/13 22:47:48 jpgarcia Exp $" ; :timefill_average_version = "$Id: time_block.cc,v 1.55 2009/11/13 22:47:48 jpgarcia Exp $" ; :file_version = 20050323 ; :time_zone = "UTC" ; :file_created = "2015-02-25 21:31:40" ; :Conventions = "COARDS" ; :time_axis_average_mode = "time" ; :time_axis_average_parameter = 30. ; :range_axis_average_parameter = 30. ; :featureset = 8175 ; :featureset_version = "$Revision: 1.16 $" ; :processing_parameters__qc_params__min_radar_alt = 200. ; :processing_parameters__qc_params__min_lidar_alt = 100. ; :processing_parameters__qc_params__lock_level = 0.6 ; :processing_parameters__qc_params__min_radar_dBz = -66.1 ; :processing_parameters__qc_params__backscat_snr = 1. ; :processing_parameters__qc_params__mol_lost = 1. ; :processing_parameters__qc_params__min_radar_backscat = 1.e-15 ; :processing_parameters__particlesettings__g_water = 1. ; :processing_parameters__particlesettings__h20_depol_threshold = 0.05 ; :processing_parameters__particlesettings__sigma_v = 0.26 ; :processing_parameters__particlesettings__type = "Bullet Rosettes (Mitchell 1996)" ; :processing_parameters__particlesettings__alpha_ice = 1. ; :processing_parameters__particlesettings__p180_ice = 0.035 ; :processing_parameters__particlesettings__delta_v1 = 3. ; :processing_parameters__particlesettings__Dr = 60. ; :processing_parameters__particlesettings__g_ice = 1. ; :processing_parameters__particlesettings__delta_a1 = 2. ; :processing_parameters__particlesettings__alpha_water = 2. ; :processing_parameters__particlesettings__delta_v2 = 2.26 ; :processing_parameters__particlesettings__sigma_a = 1. ; :processing_parameters__particlesettings__delta_a2 = 1.57 ; } ================================================== netcdf acxhsrlM1.01.20150225.205810.raw.mf2hsrl_20150209T0000_20150210T0000_30s_30m { dimensions: time = UNLIMITED ; // (2838 currently) altitude = 667 ; time_vector = 8 ; calibration = 3 ; sondenamelength = 6 ; i2header = 900 ; geoheader = 200 ; apheader = 300 ; variables: int base_time ; base_time:string = "2015-02-09 00:00:01 UTC" ; base_time:long_name = "Base seconds since Unix Epoch" ; base_time:units = "seconds since 1970-01-01 00:00:00 UTC" ; short first_time(time_vector) ; first_time:long_name = "First Time in file" ; short last_time(time_vector) ; last_time:long_name = "Last Time in file" ; double time(time) ; time:long_name = "Time" ; time:units = "seconds since 2015-02-09 00:00:01 UTC" ; double time_offset(time) ; time_offset:long_name = "Time offset from base_time" ; time_offset:description = "same times as \"First time in record\" " ; time_offset:units = "seconds since 2015-02-09 00:00:01 UTC" ; short start_time(time, time_vector) ; start_time:long_name = "First Time in record" ; start_time:description = "time of first laser shot in averaging interval" ; float latitude ; latitude:long_name = "latitude of lidar" ; latitude:units = "degree_N" ; float longitude ; longitude:long_name = "longitude of lidar" ; longitude:units = "degree_W" ; float range_resolution ; range_resolution:long_name = "Range resolution" ; range_resolution:description = "vertical distance between data points after averaging" ; range_resolution:units = "meters" ; float time_average ; time_average:long_name = "Time Averaging Width" ; time_average:description = "Time between data points after averaging" ; time_average:units = "seconds" ; short new_cal_times(calibration, time_vector) ; new_cal_times:long_name = "Time of Calibration Change" ; new_cal_times:description = "New raob or system calibration data triggered recalibration" ; float altitude(altitude) ; altitude:long_name = "Height above lidar" ; altitude:units = "meters" ; byte new_cal_trigger(calibration) ; new_cal_trigger:long_name = "Trigger of Calibration Change" ; new_cal_trigger:description = "reason for recalibration" ; new_cal_trigger:bit_0 = "radiosonde profile" ; new_cal_trigger:bit_1 = "i2 scan" ; new_cal_trigger:bit_2 = "geometry" ; short new_cal_offset(calibration) ; new_cal_offset:long_name = "Record Dimension equivalent Offset" ; new_cal_offset:min_value = 0 ; float top_alt_sounding(calibration) ; top_alt_sounding:long_name = "Sounding Maximum Altitude" ; top_alt_sounding:units = "meters" ; float temperature_profile(calibration, altitude) ; temperature_profile:long_name = "Raob Temperature Profile" ; temperature_profile:description = "Temperature interpolated to requested altitude resolution" ; temperature_profile:units = "degrees Kelvin" ; float pressure_profile(calibration, altitude) ; pressure_profile:long_name = "Raob pressure Profile" ; pressure_profile:description = "Pressure interpolated to requested altitude resolution" ; pressure_profile:units = "hectopascals" ; float dewpoint_profile(calibration, altitude) ; dewpoint_profile:long_name = "Raob Dewpoint Temperature Profile" ; dewpoint_profile:description = "Dewpoint interpolated to requested altitude resolution" ; dewpoint_profile:units = "degrees Kelvin" ; dewpoint_profile:missing_value = NaN ; float windspeed_profile(calibration, altitude) ; windspeed_profile:long_name = "Raob Wind Speed Profile" ; windspeed_profile:description = "Speeds interpolated to requested altitude resolution" ; windspeed_profile:units = "m/s" ; windspeed_profile:missing_value = NaN ; float winddir_profile(calibration, altitude) ; winddir_profile:long_name = "Raob Wind Direction Profile" ; winddir_profile:description = "Directions interpolated to requested altitude resolution" ; winddir_profile:units = "degrees" ; winddir_profile:missing_value = NaN ; char raob_station(calibration, sondenamelength) ; raob_station:long_name = "Radiosonde Station ID" ; char i2_txt_header(calibration, i2header) ; i2_txt_header:long_name = "i2_scan_file_text_info" ; i2_txt_header:description = "Contains name of file used to compute calibration" ; char geo_txt_header(calibration, geoheader) ; geo_txt_header:long_name = "geometric_correction_file_txt_header." ; char ap_txt_header(calibration, apheader) ; ap_txt_header:long_name = "afterpulse_correction_file_txt_header." ; double raob_time_offset(calibration) ; raob_time_offset:units = "seconds" ; raob_time_offset:long_name = "Radiosonde Launch time offset" ; raob_time_offset:description = "Time after base time in seconds" ; short raob_time_vector(calibration, time_vector) ; raob_time_vector:long_name = "Radiosonde Launch time vector" ; raob_time_vector:description = "Time in [year month day hour min sec ms us] format" ; float Cmc(calibration, altitude) ; Cmc:long_name = "Molecular in Combined Calibration" ; float Cmm(calibration, altitude) ; Cmm:long_name = "Molecular in Molecular Calibration" ; float Cam(calibration, altitude) ; Cam:long_name = "Aerosol in Molecular Calibration" ; float beta_m(calibration, altitude) ; beta_m:long_name = "Raob molecular scattering cross section per unit volume" ; beta_m:units = "1/meter" ; beta_m:plot_scale = "logarithmic" ; float transmitted_energy(time) ; transmitted_energy:long_name = "Transmitted Energy" ; transmitted_energy:units = "Joules" ; transmitted_energy:missing_value = NaN ; float piezovoltage(time) ; piezovoltage:long_name = "piezovoltage" ; piezovoltage:units = "Volts" ; piezovoltage:missing_value = NaN ; int num_seeded_shots(time) ; num_seeded_shots:long_name = "Number of Seeded Shots" ; num_seeded_shots:missing_value = -1 ; float seed_quality(time) ; seed_quality:long_name = "Laser Seeding Quality" ; seed_quality:description = "The ratio of seeded shots to total shots. Only seeded shot data is stored and processed. A low seed ratio can result in low noise resistance." ; seed_quality:missing_value = NaN ; seed_quality:range = 0., 1. ; float frequency_quality(time) ; frequency_quality:long_name = "Laser Frequency Quality" ; frequency_quality:description = "An ratio average of how good the frequency lock is per raw interval. A low value can result in poor separation of molecular and aerosol counts." ; frequency_quality:missing_value = NaN ; frequency_quality:range = 0., 1. ; float lock_quality(time) ; lock_quality:long_name = "Laser Lock Quality" ; lock_quality:description = "A ratio of likely locked intervals (frequency_quality>=.5) to seeded intervals. A low value can result in poor separation of molecular and aerosol counts." ; lock_quality:missing_value = NaN ; lock_quality:range = 0., 1. ; float mol_cal_pulse(time) ; mol_cal_pulse:long_name = "Molecular calibration pulse" ; mol_cal_pulse:description = "Sum of photon counts in the molecular channel due to light scattered with the telescope." ; mol_cal_pulse:units = "counts" ; mol_cal_pulse:missing_value = NaN ; float c_pol_dark_count(time, altitude) ; c_pol_dark_count:long_name = "Cross Polarization Dark Count" ; c_pol_dark_count:description = "total counts per averaging interval(eg. one altitude, one time)" ; c_pol_dark_count:units = "counts" ; c_pol_dark_count:missing_value = NaN ; float mol_dark_count(time, altitude) ; mol_dark_count:long_name = "Molecular Dark Count" ; mol_dark_count:description = "total counts per averaging interval(eg. one altitude, one time)" ; mol_dark_count:units = "counts" ; mol_dark_count:missing_value = NaN ; float combined_dark_count_lo(time, altitude) ; combined_dark_count_lo:long_name = "Low Gain Combined Dark Count" ; combined_dark_count_lo:description = "total counts per averaging interval(eg. one altitude, one time)" ; combined_dark_count_lo:units = "counts" ; combined_dark_count_lo:missing_value = NaN ; float combined_dark_count_hi(time, altitude) ; combined_dark_count_hi:long_name = "High Gain Combined Dark Count" ; combined_dark_count_hi:description = "total counts per averaging interval(eg. one altitude, one time)" ; combined_dark_count_hi:units = "counts" ; combined_dark_count_hi:missing_value = NaN ; float combined_gain(calibration) ; combined_gain:long_name = "Combined Gain Factor" ; combined_gain:description = "Low Gain level * Factor ~ High Gain level" ; float combined_merge_threshhold(calibration) ; combined_merge_threshhold:long_name = "Combined Merge Threshhold" ; float geo_cor(calibration, altitude) ; geo_cor:long_name = "Overlap correction" ; geo_cor:description = "Geometric overlap correction averaged to requested altitude resolution" ; geo_cor:units = " " ; geo_cor:missing_value = NaN ; geo_cor:plot_scale = "logarithmic" ; float od(time, altitude) ; od:long_name = "Optical depth of particulate" ; od:units = " " ; od:missing_value = NaN ; od:insufficient_data = Infinity ; od:plot_scale = "logarithmic" ; float profile_od(altitude) ; profile_od:long_name = "Optical depth of particulate Profile" ; profile_od:units = " " ; profile_od:missing_value = NaN ; profile_od:insufficient_data = Infinity ; profile_od:plot_scale = "logarithmic" ; float beta_a(time, altitude) ; beta_a:long_name = "Particulate extinction cross section per unit volume" ; beta_a:units = "1/m" ; beta_a:missing_value = NaN ; beta_a:plot_scale = "logarithmic" ; float atten_beta_r_backscat(time, altitude) ; atten_beta_r_backscat:long_name = "Attenuated Molecular return" ; atten_beta_r_backscat:units = "1/(m sr)" ; atten_beta_r_backscat:missing_value = NaN ; atten_beta_r_backscat:plot_scale = "logarithmic" ; float profile_atten_beta_r_backscat(altitude) ; profile_atten_beta_r_backscat:long_name = "Attenuated Molecular Profile" ; profile_atten_beta_r_backscat:units = "1/(m sr)" ; profile_atten_beta_r_backscat:missing_value = NaN ; profile_atten_beta_r_backscat:plot_scale = "logarithmic" ; float depol(time, altitude) ; depol:long_name = "Circular depolarization ratio for particulate" ; depol:description = "left circular return divided by right circular return" ; depol:units = " " ; depol:missing_value = NaN ; depol:plot_scale = "logarithmic" ; float profile_depol(altitude) ; profile_depol:long_name = "Circular depolarization ratio profile for particulate" ; profile_depol:description = "left circular return divided by right circular return" ; profile_depol:units = " " ; profile_depol:missing_value = NaN ; profile_depol:plot_scale = "logarithmic" ; int molecular_counts(time, altitude) ; molecular_counts:long_name = "Molecular Photon Counts" ; molecular_counts:description = "Raw counts, per averaging interval with pileup, afterpulse, and darkcount corrections applied" ; molecular_counts:units = "counts" ; molecular_counts:missing_value = -1 ; molecular_counts:plot_scale = "logarithmic" ; float profile_molecular_counts(altitude) ; profile_molecular_counts:long_name = "Molecular Photon Counts profile" ; profile_molecular_counts:description = "Raw counts, per averaging interval with pileup, afterpulse, and darkcount corrections applied" ; profile_molecular_counts:units = "counts" ; profile_molecular_counts:missing_value = -1 ; profile_molecular_counts:plot_scale = "logarithmic" ; int combined_counts_lo(time, altitude) ; combined_counts_lo:long_name = "Low Gain Combined Photon Counts" ; combined_counts_lo:description = "Raw counts, per averaging interval with pileup, afterpulse, and darkcount corrections applied" ; combined_counts_lo:units = "counts" ; combined_counts_lo:missing_value = -1 ; combined_counts_lo:plot_scale = "logarithmic" ; int combined_counts_hi(time, altitude) ; combined_counts_hi:long_name = "High Gain Combined Photon Counts" ; combined_counts_hi:description = "Raw counts, per averaging interval with pileup, afterpulse, and darkcount corrections applied" ; combined_counts_hi:units = "counts" ; combined_counts_hi:missing_value = -1 ; combined_counts_hi:plot_scale = "logarithmic" ; float profile_combined_counts_lo(altitude) ; profile_combined_counts_lo:long_name = "Low Gain Combined Photon Counts profile" ; profile_combined_counts_lo:description = "Raw counts, per averaging interval with pileup, afterpulse, and darkcount corrections applied" ; profile_combined_counts_lo:units = "counts" ; profile_combined_counts_lo:missing_value = -1 ; profile_combined_counts_lo:plot_scale = "logarithmic" ; float profile_combined_counts_hi(altitude) ; profile_combined_counts_hi:long_name = "High Gain Combined Photon Counts profile" ; profile_combined_counts_hi:description = "Raw counts, per averaging interval with pileup, afterpulse, and darkcount corrections applied" ; profile_combined_counts_hi:units = "counts" ; profile_combined_counts_hi:missing_value = -1 ; profile_combined_counts_hi:plot_scale = "logarithmic" ; int cross_counts(time, altitude) ; cross_counts:long_name = "Cross Polarized Photon Counts" ; cross_counts:description = "Raw counts, per averaging interval with pileup, afterpulse, and darkcount corrections applied" ; cross_counts:units = "counts" ; cross_counts:missing_value = -1 ; cross_counts:plot_scale = "logarithmic" ; float profile_cross_counts(altitude) ; profile_cross_counts:long_name = "Cross Polarized Photon Counts profile" ; profile_cross_counts:description = "Raw counts, per averaging interval with pileup, afterpulse, and darkcount corrections applied" ; profile_cross_counts:units = "counts" ; profile_cross_counts:missing_value = -1 ; profile_cross_counts:plot_scale = "logarithmic" ; float beta_a_backscat(time, altitude) ; beta_a_backscat:long_name = "Particulate backscatter cross section per unit volume" ; beta_a_backscat:units = "1/(m sr)" ; beta_a_backscat:missing_value = NaN ; beta_a_backscat:plot_scale = "logarithmic" ; float profile_beta_a_backscat(altitude) ; profile_beta_a_backscat:long_name = "Particulate backscatter cross section profile" ; profile_beta_a_backscat:units = "1/(m sr)" ; profile_beta_a_backscat:missing_value = NaN ; profile_beta_a_backscat:plot_scale = "logarithmic" ; float profile_beta_m(altitude) ; profile_beta_m:long_name = "Raob molecular scattering cross section profile" ; profile_beta_m:units = "1/meter" ; profile_beta_m:plot_scale = "logarithmic" ; int qc_mask(time, altitude) ; qc_mask:long_name = "Quality Mask" ; qc_mask:description = "Quality mask bitfield. Unused bits are always high" ; qc_mask:missing_value = 0 ; qc_mask:_Unsigned = "true" ; qc_mask:bit_0 = "complete_mask" ; qc_mask:bit_0_description = "data is good. and of bits 1-9" ; qc_mask:bit_1 = "lidar_ok_mask" ; qc_mask:bit_1_description = "lidar data is present" ; qc_mask:bit_2 = "lock_quality_mask" ; qc_mask:bit_2_description = "laser is locked to iodine filter wavelength" ; qc_mask:bit_3 = "seed_quality_mask" ; qc_mask:bit_3_description = "laser wavelength is locked to seed laser" ; qc_mask:bit_4 = "mol_count_snr_mask" ; qc_mask:bit_4_description = "molecular signal/photon counting error in molecular signal is above specified threshhold" ; qc_mask:bit_5 = "backscat_snr_mask" ; qc_mask:bit_5_description = "backscatter cross-section/photon counting error in backscatter cross-section is above specified threshhold" ; qc_mask:bit_6 = "mol_lost_mask" ; qc_mask:bit_6_description = "number of molecular photon counts is above specified threshhold" ; qc_mask:bit_7 = "min_backscat_mask" ; qc_mask:bit_7_description = "lidar backscatter cross-section is above specified threshhold" ; qc_mask:bit_8 = "radar_backscat_mask" ; qc_mask:bit_8_description = "radar backscatter cross-section is above specified threshhold" ; qc_mask:bit_9 = "radar_ok_mask" ; qc_mask:bit_9_description = "radar data is present" ; qc_mask:bit_10 = "aeri_ok_mask" ; qc_mask:bit_10_description = "aeri data is present" ; qc_mask:bit_11 = "aeri_qc_mask" ; qc_mask:bit_11_description = "aeri data has passed a quality check" ; float std_beta_a_backscat(time, altitude) ; std_beta_a_backscat:long_name = "Std dev of backscat cross section (photon counting)" ; std_beta_a_backscat:units = "1/(m sr)" ; std_beta_a_backscat:missing_value = NaN ; std_beta_a_backscat:plot_scale = "logarithmic" ; // global attributes: :code_version = "$Id: processed_netcdf.m,v 1.112 2009/11/10 20:53:41 jpgarcia Exp $" ; :load_calibration_version = "$Id: load_calibration.m,v 1.30 2010/03/30 19:16:51 eloranta Exp $" ; :get_internal_cal_vals_version = "$Id: get_internal_cal_vals.m,v 1.111 2009/11/02 19:50:29 jpgarcia Exp $" ; :calvals = "$Id: calvals_gvhsrl.m,v 1.75 2010/04/30 15:14:10 eloranta Exp $" ; :find_new_cal_times_version = "$Id: find_new_cal_times.m,v 1.22 2009/04/06 18:12:26 jpgarcia Exp $" ; :radiosonde_profile_version = "$Id: radiosonde_profile.m,v 1.31 2009/08/24 14:49:00 eloranta Exp $" ; :fetch_cal_version = "$Id: fetch_cal.m,v 1.30 2010/04/05 20:39:54 eloranta Exp $" ; :processed_netcdf_version = "$Id: processed_netcdf.m,v 1.112 2009/11/10 20:53:41 jpgarcia Exp $" ; :git_commit = "005c000d7c865bc4a3b50890a20dddac9a613863" ; :process_data_version = "$Id: process_data.m,v 1.248 2010/05/03 17:51:36 eloranta Exp $" ; :timefill_sum_version = "$Id: time_block.cc,v 1.55 2009/11/13 22:47:48 jpgarcia Exp $" ; :timefill_average_version = "$Id: time_block.cc,v 1.55 2009/11/13 22:47:48 jpgarcia Exp $" ; :file_version = 20050323 ; :time_zone = "UTC" ; :file_created = "2015-02-25 21:34:46" ; :Conventions = "COARDS" ; :time_axis_average_mode = "time" ; :time_axis_average_parameter = 30. ; :range_axis_average_parameter = 30. ; :featureset = 8175 ; :featureset_version = "$Revision: 1.16 $" ; :processing_parameters__qc_params__min_radar_alt = 200. ; :processing_parameters__qc_params__min_lidar_alt = 100. ; :processing_parameters__qc_params__lock_level = 0.6 ; :processing_parameters__qc_params__min_radar_dBz = -66.1 ; :processing_parameters__qc_params__backscat_snr = 1. ; :processing_parameters__qc_params__mol_lost = 1. ; :processing_parameters__qc_params__min_radar_backscat = 1.e-15 ; :processing_parameters__particlesettings__g_water = 1. ; :processing_parameters__particlesettings__h20_depol_threshold = 0.05 ; :processing_parameters__particlesettings__sigma_v = 0.26 ; :processing_parameters__particlesettings__type = "Bullet Rosettes (Mitchell 1996)" ; :processing_parameters__particlesettings__alpha_ice = 1. ; :processing_parameters__particlesettings__p180_ice = 0.035 ; :processing_parameters__particlesettings__delta_v1 = 3. ; :processing_parameters__particlesettings__Dr = 60. ; :processing_parameters__particlesettings__g_ice = 1. ; :processing_parameters__particlesettings__delta_a1 = 2. ; :processing_parameters__particlesettings__alpha_water = 2. ; :processing_parameters__particlesettings__delta_v2 = 2.26 ; :processing_parameters__particlesettings__sigma_a = 1. ; :processing_parameters__particlesettings__delta_a2 = 1.57 ; } ================================================== netcdf acxhsrlM1.01.20150225.205810.raw.mf2hsrl_20150210T0000_20150211T0000_30s_30m { dimensions: time = UNLIMITED ; // (2822 currently) altitude = 667 ; time_vector = 8 ; calibration = 3 ; sondenamelength = 6 ; i2header = 900 ; geoheader = 200 ; apheader = 300 ; variables: int base_time ; base_time:string = "2015-02-10 00:00:00 UTC" ; base_time:long_name = "Base seconds since Unix Epoch" ; base_time:units = "seconds since 1970-01-01 00:00:00 UTC" ; short first_time(time_vector) ; first_time:long_name = "First Time in file" ; short last_time(time_vector) ; last_time:long_name = "Last Time in file" ; double time(time) ; time:long_name = "Time" ; time:units = "seconds since 2015-02-10 00:00:00 UTC" ; double time_offset(time) ; time_offset:long_name = "Time offset from base_time" ; time_offset:description = "same times as \"First time in record\" " ; time_offset:units = "seconds since 2015-02-10 00:00:00 UTC" ; short start_time(time, time_vector) ; start_time:long_name = "First Time in record" ; start_time:description = "time of first laser shot in averaging interval" ; float latitude ; latitude:long_name = "latitude of lidar" ; latitude:units = "degree_N" ; float longitude ; longitude:long_name = "longitude of lidar" ; longitude:units = "degree_W" ; float range_resolution ; range_resolution:long_name = "Range resolution" ; range_resolution:description = "vertical distance between data points after averaging" ; range_resolution:units = "meters" ; float time_average ; time_average:long_name = "Time Averaging Width" ; time_average:description = "Time between data points after averaging" ; time_average:units = "seconds" ; short new_cal_times(calibration, time_vector) ; new_cal_times:long_name = "Time of Calibration Change" ; new_cal_times:description = "New raob or system calibration data triggered recalibration" ; float altitude(altitude) ; altitude:long_name = "Height above lidar" ; altitude:units = "meters" ; byte new_cal_trigger(calibration) ; new_cal_trigger:long_name = "Trigger of Calibration Change" ; new_cal_trigger:description = "reason for recalibration" ; new_cal_trigger:bit_0 = "radiosonde profile" ; new_cal_trigger:bit_1 = "i2 scan" ; new_cal_trigger:bit_2 = "geometry" ; short new_cal_offset(calibration) ; new_cal_offset:long_name = "Record Dimension equivalent Offset" ; new_cal_offset:min_value = 0 ; float top_alt_sounding(calibration) ; top_alt_sounding:long_name = "Sounding Maximum Altitude" ; top_alt_sounding:units = "meters" ; float temperature_profile(calibration, altitude) ; temperature_profile:long_name = "Raob Temperature Profile" ; temperature_profile:description = "Temperature interpolated to requested altitude resolution" ; temperature_profile:units = "degrees Kelvin" ; float pressure_profile(calibration, altitude) ; pressure_profile:long_name = "Raob pressure Profile" ; pressure_profile:description = "Pressure interpolated to requested altitude resolution" ; pressure_profile:units = "hectopascals" ; float dewpoint_profile(calibration, altitude) ; dewpoint_profile:long_name = "Raob Dewpoint Temperature Profile" ; dewpoint_profile:description = "Dewpoint interpolated to requested altitude resolution" ; dewpoint_profile:units = "degrees Kelvin" ; dewpoint_profile:missing_value = NaN ; float windspeed_profile(calibration, altitude) ; windspeed_profile:long_name = "Raob Wind Speed Profile" ; windspeed_profile:description = "Speeds interpolated to requested altitude resolution" ; windspeed_profile:units = "m/s" ; windspeed_profile:missing_value = NaN ; float winddir_profile(calibration, altitude) ; winddir_profile:long_name = "Raob Wind Direction Profile" ; winddir_profile:description = "Directions interpolated to requested altitude resolution" ; winddir_profile:units = "degrees" ; winddir_profile:missing_value = NaN ; char raob_station(calibration, sondenamelength) ; raob_station:long_name = "Radiosonde Station ID" ; char i2_txt_header(calibration, i2header) ; i2_txt_header:long_name = "i2_scan_file_text_info" ; i2_txt_header:description = "Contains name of file used to compute calibration" ; char geo_txt_header(calibration, geoheader) ; geo_txt_header:long_name = "geometric_correction_file_txt_header." ; char ap_txt_header(calibration, apheader) ; ap_txt_header:long_name = "afterpulse_correction_file_txt_header." ; double raob_time_offset(calibration) ; raob_time_offset:units = "seconds" ; raob_time_offset:long_name = "Radiosonde Launch time offset" ; raob_time_offset:description = "Time after base time in seconds" ; short raob_time_vector(calibration, time_vector) ; raob_time_vector:long_name = "Radiosonde Launch time vector" ; raob_time_vector:description = "Time in [year month day hour min sec ms us] format" ; float Cmc(calibration, altitude) ; Cmc:long_name = "Molecular in Combined Calibration" ; float Cmm(calibration, altitude) ; Cmm:long_name = "Molecular in Molecular Calibration" ; float Cam(calibration, altitude) ; Cam:long_name = "Aerosol in Molecular Calibration" ; float beta_m(calibration, altitude) ; beta_m:long_name = "Raob molecular scattering cross section per unit volume" ; beta_m:units = "1/meter" ; beta_m:plot_scale = "logarithmic" ; float transmitted_energy(time) ; transmitted_energy:long_name = "Transmitted Energy" ; transmitted_energy:units = "Joules" ; transmitted_energy:missing_value = NaN ; float piezovoltage(time) ; piezovoltage:long_name = "piezovoltage" ; piezovoltage:units = "Volts" ; piezovoltage:missing_value = NaN ; int num_seeded_shots(time) ; num_seeded_shots:long_name = "Number of Seeded Shots" ; num_seeded_shots:missing_value = -1 ; float seed_quality(time) ; seed_quality:long_name = "Laser Seeding Quality" ; seed_quality:description = "The ratio of seeded shots to total shots. Only seeded shot data is stored and processed. A low seed ratio can result in low noise resistance." ; seed_quality:missing_value = NaN ; seed_quality:range = 0., 1. ; float frequency_quality(time) ; frequency_quality:long_name = "Laser Frequency Quality" ; frequency_quality:description = "An ratio average of how good the frequency lock is per raw interval. A low value can result in poor separation of molecular and aerosol counts." ; frequency_quality:missing_value = NaN ; frequency_quality:range = 0., 1. ; float lock_quality(time) ; lock_quality:long_name = "Laser Lock Quality" ; lock_quality:description = "A ratio of likely locked intervals (frequency_quality>=.5) to seeded intervals. A low value can result in poor separation of molecular and aerosol counts." ; lock_quality:missing_value = NaN ; lock_quality:range = 0., 1. ; float mol_cal_pulse(time) ; mol_cal_pulse:long_name = "Molecular calibration pulse" ; mol_cal_pulse:description = "Sum of photon counts in the molecular channel due to light scattered with the telescope." ; mol_cal_pulse:units = "counts" ; mol_cal_pulse:missing_value = NaN ; float c_pol_dark_count(time, altitude) ; c_pol_dark_count:long_name = "Cross Polarization Dark Count" ; c_pol_dark_count:description = "total counts per averaging interval(eg. one altitude, one time)" ; c_pol_dark_count:units = "counts" ; c_pol_dark_count:missing_value = NaN ; float mol_dark_count(time, altitude) ; mol_dark_count:long_name = "Molecular Dark Count" ; mol_dark_count:description = "total counts per averaging interval(eg. one altitude, one time)" ; mol_dark_count:units = "counts" ; mol_dark_count:missing_value = NaN ; float combined_dark_count_lo(time, altitude) ; combined_dark_count_lo:long_name = "Low Gain Combined Dark Count" ; combined_dark_count_lo:description = "total counts per averaging interval(eg. one altitude, one time)" ; combined_dark_count_lo:units = "counts" ; combined_dark_count_lo:missing_value = NaN ; float combined_dark_count_hi(time, altitude) ; combined_dark_count_hi:long_name = "High Gain Combined Dark Count" ; combined_dark_count_hi:description = "total counts per averaging interval(eg. one altitude, one time)" ; combined_dark_count_hi:units = "counts" ; combined_dark_count_hi:missing_value = NaN ; float combined_gain(calibration) ; combined_gain:long_name = "Combined Gain Factor" ; combined_gain:description = "Low Gain level * Factor ~ High Gain level" ; float combined_merge_threshhold(calibration) ; combined_merge_threshhold:long_name = "Combined Merge Threshhold" ; float geo_cor(calibration, altitude) ; geo_cor:long_name = "Overlap correction" ; geo_cor:description = "Geometric overlap correction averaged to requested altitude resolution" ; geo_cor:units = " " ; geo_cor:missing_value = NaN ; geo_cor:plot_scale = "logarithmic" ; float od(time, altitude) ; od:long_name = "Optical depth of particulate" ; od:units = " " ; od:missing_value = NaN ; od:insufficient_data = Infinity ; od:plot_scale = "logarithmic" ; float profile_od(altitude) ; profile_od:long_name = "Optical depth of particulate Profile" ; profile_od:units = " " ; profile_od:missing_value = NaN ; profile_od:insufficient_data = Infinity ; profile_od:plot_scale = "logarithmic" ; float beta_a(time, altitude) ; beta_a:long_name = "Particulate extinction cross section per unit volume" ; beta_a:units = "1/m" ; beta_a:missing_value = NaN ; beta_a:plot_scale = "logarithmic" ; float atten_beta_r_backscat(time, altitude) ; atten_beta_r_backscat:long_name = "Attenuated Molecular return" ; atten_beta_r_backscat:units = "1/(m sr)" ; atten_beta_r_backscat:missing_value = NaN ; atten_beta_r_backscat:plot_scale = "logarithmic" ; float profile_atten_beta_r_backscat(altitude) ; profile_atten_beta_r_backscat:long_name = "Attenuated Molecular Profile" ; profile_atten_beta_r_backscat:units = "1/(m sr)" ; profile_atten_beta_r_backscat:missing_value = NaN ; profile_atten_beta_r_backscat:plot_scale = "logarithmic" ; float depol(time, altitude) ; depol:long_name = "Circular depolarization ratio for particulate" ; depol:description = "left circular return divided by right circular return" ; depol:units = " " ; depol:missing_value = NaN ; depol:plot_scale = "logarithmic" ; float profile_depol(altitude) ; profile_depol:long_name = "Circular depolarization ratio profile for particulate" ; profile_depol:description = "left circular return divided by right circular return" ; profile_depol:units = " " ; profile_depol:missing_value = NaN ; profile_depol:plot_scale = "logarithmic" ; int molecular_counts(time, altitude) ; molecular_counts:long_name = "Molecular Photon Counts" ; molecular_counts:description = "Raw counts, per averaging interval with pileup, afterpulse, and darkcount corrections applied" ; molecular_counts:units = "counts" ; molecular_counts:missing_value = -1 ; molecular_counts:plot_scale = "logarithmic" ; float profile_molecular_counts(altitude) ; profile_molecular_counts:long_name = "Molecular Photon Counts profile" ; profile_molecular_counts:description = "Raw counts, per averaging interval with pileup, afterpulse, and darkcount corrections applied" ; profile_molecular_counts:units = "counts" ; profile_molecular_counts:missing_value = -1 ; profile_molecular_counts:plot_scale = "logarithmic" ; int combined_counts_lo(time, altitude) ; combined_counts_lo:long_name = "Low Gain Combined Photon Counts" ; combined_counts_lo:description = "Raw counts, per averaging interval with pileup, afterpulse, and darkcount corrections applied" ; combined_counts_lo:units = "counts" ; combined_counts_lo:missing_value = -1 ; combined_counts_lo:plot_scale = "logarithmic" ; int combined_counts_hi(time, altitude) ; combined_counts_hi:long_name = "High Gain Combined Photon Counts" ; combined_counts_hi:description = "Raw counts, per averaging interval with pileup, afterpulse, and darkcount corrections applied" ; combined_counts_hi:units = "counts" ; combined_counts_hi:missing_value = -1 ; combined_counts_hi:plot_scale = "logarithmic" ; float profile_combined_counts_lo(altitude) ; profile_combined_counts_lo:long_name = "Low Gain Combined Photon Counts profile" ; profile_combined_counts_lo:description = "Raw counts, per averaging interval with pileup, afterpulse, and darkcount corrections applied" ; profile_combined_counts_lo:units = "counts" ; profile_combined_counts_lo:missing_value = -1 ; profile_combined_counts_lo:plot_scale = "logarithmic" ; float profile_combined_counts_hi(altitude) ; profile_combined_counts_hi:long_name = "High Gain Combined Photon Counts profile" ; profile_combined_counts_hi:description = "Raw counts, per averaging interval with pileup, afterpulse, and darkcount corrections applied" ; profile_combined_counts_hi:units = "counts" ; profile_combined_counts_hi:missing_value = -1 ; profile_combined_counts_hi:plot_scale = "logarithmic" ; int cross_counts(time, altitude) ; cross_counts:long_name = "Cross Polarized Photon Counts" ; cross_counts:description = "Raw counts, per averaging interval with pileup, afterpulse, and darkcount corrections applied" ; cross_counts:units = "counts" ; cross_counts:missing_value = -1 ; cross_counts:plot_scale = "logarithmic" ; float profile_cross_counts(altitude) ; profile_cross_counts:long_name = "Cross Polarized Photon Counts profile" ; profile_cross_counts:description = "Raw counts, per averaging interval with pileup, afterpulse, and darkcount corrections applied" ; profile_cross_counts:units = "counts" ; profile_cross_counts:missing_value = -1 ; profile_cross_counts:plot_scale = "logarithmic" ; float beta_a_backscat(time, altitude) ; beta_a_backscat:long_name = "Particulate backscatter cross section per unit volume" ; beta_a_backscat:units = "1/(m sr)" ; beta_a_backscat:missing_value = NaN ; beta_a_backscat:plot_scale = "logarithmic" ; float profile_beta_a_backscat(altitude) ; profile_beta_a_backscat:long_name = "Particulate backscatter cross section profile" ; profile_beta_a_backscat:units = "1/(m sr)" ; profile_beta_a_backscat:missing_value = NaN ; profile_beta_a_backscat:plot_scale = "logarithmic" ; float profile_beta_m(altitude) ; profile_beta_m:long_name = "Raob molecular scattering cross section profile" ; profile_beta_m:units = "1/meter" ; profile_beta_m:plot_scale = "logarithmic" ; int qc_mask(time, altitude) ; qc_mask:long_name = "Quality Mask" ; qc_mask:description = "Quality mask bitfield. Unused bits are always high" ; qc_mask:missing_value = 0 ; qc_mask:_Unsigned = "true" ; qc_mask:bit_0 = "complete_mask" ; qc_mask:bit_0_description = "data is good. and of bits 1-9" ; qc_mask:bit_1 = "lidar_ok_mask" ; qc_mask:bit_1_description = "lidar data is present" ; qc_mask:bit_2 = "lock_quality_mask" ; qc_mask:bit_2_description = "laser is locked to iodine filter wavelength" ; qc_mask:bit_3 = "seed_quality_mask" ; qc_mask:bit_3_description = "laser wavelength is locked to seed laser" ; qc_mask:bit_4 = "mol_count_snr_mask" ; qc_mask:bit_4_description = "molecular signal/photon counting error in molecular signal is above specified threshhold" ; qc_mask:bit_5 = "backscat_snr_mask" ; qc_mask:bit_5_description = "backscatter cross-section/photon counting error in backscatter cross-section is above specified threshhold" ; qc_mask:bit_6 = "mol_lost_mask" ; qc_mask:bit_6_description = "number of molecular photon counts is above specified threshhold" ; qc_mask:bit_7 = "min_backscat_mask" ; qc_mask:bit_7_description = "lidar backscatter cross-section is above specified threshhold" ; qc_mask:bit_8 = "radar_backscat_mask" ; qc_mask:bit_8_description = "radar backscatter cross-section is above specified threshhold" ; qc_mask:bit_9 = "radar_ok_mask" ; qc_mask:bit_9_description = "radar data is present" ; qc_mask:bit_10 = "aeri_ok_mask" ; qc_mask:bit_10_description = "aeri data is present" ; qc_mask:bit_11 = "aeri_qc_mask" ; qc_mask:bit_11_description = "aeri data has passed a quality check" ; float std_beta_a_backscat(time, altitude) ; std_beta_a_backscat:long_name = "Std dev of backscat cross section (photon counting)" ; std_beta_a_backscat:units = "1/(m sr)" ; std_beta_a_backscat:missing_value = NaN ; std_beta_a_backscat:plot_scale = "logarithmic" ; // global attributes: :code_version = "$Id: processed_netcdf.m,v 1.112 2009/11/10 20:53:41 jpgarcia Exp $" ; :load_calibration_version = "$Id: load_calibration.m,v 1.30 2010/03/30 19:16:51 eloranta Exp $" ; :get_internal_cal_vals_version = "$Id: get_internal_cal_vals.m,v 1.111 2009/11/02 19:50:29 jpgarcia Exp $" ; :calvals = "$Id: calvals_gvhsrl.m,v 1.75 2010/04/30 15:14:10 eloranta Exp $" ; :find_new_cal_times_version = "$Id: find_new_cal_times.m,v 1.22 2009/04/06 18:12:26 jpgarcia Exp $" ; :radiosonde_profile_version = "$Id: radiosonde_profile.m,v 1.31 2009/08/24 14:49:00 eloranta Exp $" ; :fetch_cal_version = "$Id: fetch_cal.m,v 1.30 2010/04/05 20:39:54 eloranta Exp $" ; :processed_netcdf_version = "$Id: processed_netcdf.m,v 1.112 2009/11/10 20:53:41 jpgarcia Exp $" ; :git_commit = "005c000d7c865bc4a3b50890a20dddac9a613863" ; :process_data_version = "$Id: process_data.m,v 1.248 2010/05/03 17:51:36 eloranta Exp $" ; :timefill_sum_version = "$Id: time_block.cc,v 1.55 2009/11/13 22:47:48 jpgarcia Exp $" ; :timefill_average_version = "$Id: time_block.cc,v 1.55 2009/11/13 22:47:48 jpgarcia Exp $" ; :file_version = 20050323 ; :time_zone = "UTC" ; :file_created = "2015-02-25 21:38:18" ; :Conventions = "COARDS" ; :time_axis_average_mode = "time" ; :time_axis_average_parameter = 30. ; :range_axis_average_parameter = 30. ; :featureset = 8175 ; :featureset_version = "$Revision: 1.16 $" ; :processing_parameters__qc_params__min_radar_alt = 200. ; :processing_parameters__qc_params__min_lidar_alt = 100. ; :processing_parameters__qc_params__lock_level = 0.6 ; :processing_parameters__qc_params__min_radar_dBz = -66.1 ; :processing_parameters__qc_params__backscat_snr = 1. ; :processing_parameters__qc_params__mol_lost = 1. ; :processing_parameters__qc_params__min_radar_backscat = 1.e-15 ; :processing_parameters__particlesettings__g_water = 1. ; :processing_parameters__particlesettings__h20_depol_threshold = 0.05 ; :processing_parameters__particlesettings__sigma_v = 0.26 ; :processing_parameters__particlesettings__type = "Bullet Rosettes (Mitchell 1996)" ; :processing_parameters__particlesettings__alpha_ice = 1. ; :processing_parameters__particlesettings__p180_ice = 0.035 ; :processing_parameters__particlesettings__delta_v1 = 3. ; :processing_parameters__particlesettings__Dr = 60. ; :processing_parameters__particlesettings__g_ice = 1. ; :processing_parameters__particlesettings__delta_a1 = 2. ; :processing_parameters__particlesettings__alpha_water = 2. ; :processing_parameters__particlesettings__delta_v2 = 2.26 ; :processing_parameters__particlesettings__sigma_a = 1. ; :processing_parameters__particlesettings__delta_a2 = 1.57 ; } ================================================== netcdf acxhsrlM1.01.20150225.205810.raw.mf2hsrl_20150211T0000_20150212T0000_30s_30m { dimensions: time = UNLIMITED ; // (2822 currently) altitude = 667 ; time_vector = 8 ; calibration = 3 ; sondenamelength = 6 ; i2header = 900 ; geoheader = 200 ; apheader = 300 ; variables: int base_time ; base_time:string = "2015-02-11 00:00:01 UTC" ; base_time:long_name = "Base seconds since Unix Epoch" ; base_time:units = "seconds since 1970-01-01 00:00:00 UTC" ; short first_time(time_vector) ; first_time:long_name = "First Time in file" ; short last_time(time_vector) ; last_time:long_name = "Last Time in file" ; double time(time) ; time:long_name = "Time" ; time:units = "seconds since 2015-02-11 00:00:01 UTC" ; double time_offset(time) ; time_offset:long_name = "Time offset from base_time" ; time_offset:description = "same times as \"First time in record\" " ; time_offset:units = "seconds since 2015-02-11 00:00:01 UTC" ; short start_time(time, time_vector) ; start_time:long_name = "First Time in record" ; start_time:description = "time of first laser shot in averaging interval" ; float latitude ; latitude:long_name = "latitude of lidar" ; latitude:units = "degree_N" ; float longitude ; longitude:long_name = "longitude of lidar" ; longitude:units = "degree_W" ; float range_resolution ; range_resolution:long_name = "Range resolution" ; range_resolution:description = "vertical distance between data points after averaging" ; range_resolution:units = "meters" ; float time_average ; time_average:long_name = "Time Averaging Width" ; time_average:description = "Time between data points after averaging" ; time_average:units = "seconds" ; short new_cal_times(calibration, time_vector) ; new_cal_times:long_name = "Time of Calibration Change" ; new_cal_times:description = "New raob or system calibration data triggered recalibration" ; float altitude(altitude) ; altitude:long_name = "Height above lidar" ; altitude:units = "meters" ; byte new_cal_trigger(calibration) ; new_cal_trigger:long_name = "Trigger of Calibration Change" ; new_cal_trigger:description = "reason for recalibration" ; new_cal_trigger:bit_0 = "radiosonde profile" ; new_cal_trigger:bit_1 = "i2 scan" ; new_cal_trigger:bit_2 = "geometry" ; short new_cal_offset(calibration) ; new_cal_offset:long_name = "Record Dimension equivalent Offset" ; new_cal_offset:min_value = 0 ; float top_alt_sounding(calibration) ; top_alt_sounding:long_name = "Sounding Maximum Altitude" ; top_alt_sounding:units = "meters" ; float temperature_profile(calibration, altitude) ; temperature_profile:long_name = "Raob Temperature Profile" ; temperature_profile:description = "Temperature interpolated to requested altitude resolution" ; temperature_profile:units = "degrees Kelvin" ; float pressure_profile(calibration, altitude) ; pressure_profile:long_name = "Raob pressure Profile" ; pressure_profile:description = "Pressure interpolated to requested altitude resolution" ; pressure_profile:units = "hectopascals" ; float dewpoint_profile(calibration, altitude) ; dewpoint_profile:long_name = "Raob Dewpoint Temperature Profile" ; dewpoint_profile:description = "Dewpoint interpolated to requested altitude resolution" ; dewpoint_profile:units = "degrees Kelvin" ; dewpoint_profile:missing_value = NaN ; float windspeed_profile(calibration, altitude) ; windspeed_profile:long_name = "Raob Wind Speed Profile" ; windspeed_profile:description = "Speeds interpolated to requested altitude resolution" ; windspeed_profile:units = "m/s" ; windspeed_profile:missing_value = NaN ; float winddir_profile(calibration, altitude) ; winddir_profile:long_name = "Raob Wind Direction Profile" ; winddir_profile:description = "Directions interpolated to requested altitude resolution" ; winddir_profile:units = "degrees" ; winddir_profile:missing_value = NaN ; char raob_station(calibration, sondenamelength) ; raob_station:long_name = "Radiosonde Station ID" ; char i2_txt_header(calibration, i2header) ; i2_txt_header:long_name = "i2_scan_file_text_info" ; i2_txt_header:description = "Contains name of file used to compute calibration" ; char geo_txt_header(calibration, geoheader) ; geo_txt_header:long_name = "geometric_correction_file_txt_header." ; char ap_txt_header(calibration, apheader) ; ap_txt_header:long_name = "afterpulse_correction_file_txt_header." ; double raob_time_offset(calibration) ; raob_time_offset:units = "seconds" ; raob_time_offset:long_name = "Radiosonde Launch time offset" ; raob_time_offset:description = "Time after base time in seconds" ; short raob_time_vector(calibration, time_vector) ; raob_time_vector:long_name = "Radiosonde Launch time vector" ; raob_time_vector:description = "Time in [year month day hour min sec ms us] format" ; float Cmc(calibration, altitude) ; Cmc:long_name = "Molecular in Combined Calibration" ; float Cmm(calibration, altitude) ; Cmm:long_name = "Molecular in Molecular Calibration" ; float Cam(calibration, altitude) ; Cam:long_name = "Aerosol in Molecular Calibration" ; float beta_m(calibration, altitude) ; beta_m:long_name = "Raob molecular scattering cross section per unit volume" ; beta_m:units = "1/meter" ; beta_m:plot_scale = "logarithmic" ; float transmitted_energy(time) ; transmitted_energy:long_name = "Transmitted Energy" ; transmitted_energy:units = "Joules" ; transmitted_energy:missing_value = NaN ; float piezovoltage(time) ; piezovoltage:long_name = "piezovoltage" ; piezovoltage:units = "Volts" ; piezovoltage:missing_value = NaN ; int num_seeded_shots(time) ; num_seeded_shots:long_name = "Number of Seeded Shots" ; num_seeded_shots:missing_value = -1 ; float seed_quality(time) ; seed_quality:long_name = "Laser Seeding Quality" ; seed_quality:description = "The ratio of seeded shots to total shots. Only seeded shot data is stored and processed. A low seed ratio can result in low noise resistance." ; seed_quality:missing_value = NaN ; seed_quality:range = 0., 1. ; float frequency_quality(time) ; frequency_quality:long_name = "Laser Frequency Quality" ; frequency_quality:description = "An ratio average of how good the frequency lock is per raw interval. A low value can result in poor separation of molecular and aerosol counts." ; frequency_quality:missing_value = NaN ; frequency_quality:range = 0., 1. ; float lock_quality(time) ; lock_quality:long_name = "Laser Lock Quality" ; lock_quality:description = "A ratio of likely locked intervals (frequency_quality>=.5) to seeded intervals. A low value can result in poor separation of molecular and aerosol counts." ; lock_quality:missing_value = NaN ; lock_quality:range = 0., 1. ; float mol_cal_pulse(time) ; mol_cal_pulse:long_name = "Molecular calibration pulse" ; mol_cal_pulse:description = "Sum of photon counts in the molecular channel due to light scattered with the telescope." ; mol_cal_pulse:units = "counts" ; mol_cal_pulse:missing_value = NaN ; float c_pol_dark_count(time, altitude) ; c_pol_dark_count:long_name = "Cross Polarization Dark Count" ; c_pol_dark_count:description = "total counts per averaging interval(eg. one altitude, one time)" ; c_pol_dark_count:units = "counts" ; c_pol_dark_count:missing_value = NaN ; float mol_dark_count(time, altitude) ; mol_dark_count:long_name = "Molecular Dark Count" ; mol_dark_count:description = "total counts per averaging interval(eg. one altitude, one time)" ; mol_dark_count:units = "counts" ; mol_dark_count:missing_value = NaN ; float combined_dark_count_lo(time, altitude) ; combined_dark_count_lo:long_name = "Low Gain Combined Dark Count" ; combined_dark_count_lo:description = "total counts per averaging interval(eg. one altitude, one time)" ; combined_dark_count_lo:units = "counts" ; combined_dark_count_lo:missing_value = NaN ; float combined_dark_count_hi(time, altitude) ; combined_dark_count_hi:long_name = "High Gain Combined Dark Count" ; combined_dark_count_hi:description = "total counts per averaging interval(eg. one altitude, one time)" ; combined_dark_count_hi:units = "counts" ; combined_dark_count_hi:missing_value = NaN ; float combined_gain(calibration) ; combined_gain:long_name = "Combined Gain Factor" ; combined_gain:description = "Low Gain level * Factor ~ High Gain level" ; float combined_merge_threshhold(calibration) ; combined_merge_threshhold:long_name = "Combined Merge Threshhold" ; float geo_cor(calibration, altitude) ; geo_cor:long_name = "Overlap correction" ; geo_cor:description = "Geometric overlap correction averaged to requested altitude resolution" ; geo_cor:units = " " ; geo_cor:missing_value = NaN ; geo_cor:plot_scale = "logarithmic" ; float od(time, altitude) ; od:long_name = "Optical depth of particulate" ; od:units = " " ; od:missing_value = NaN ; od:insufficient_data = Infinity ; od:plot_scale = "logarithmic" ; float profile_od(altitude) ; profile_od:long_name = "Optical depth of particulate Profile" ; profile_od:units = " " ; profile_od:missing_value = NaN ; profile_od:insufficient_data = Infinity ; profile_od:plot_scale = "logarithmic" ; float beta_a(time, altitude) ; beta_a:long_name = "Particulate extinction cross section per unit volume" ; beta_a:units = "1/m" ; beta_a:missing_value = NaN ; beta_a:plot_scale = "logarithmic" ; float atten_beta_r_backscat(time, altitude) ; atten_beta_r_backscat:long_name = "Attenuated Molecular return" ; atten_beta_r_backscat:units = "1/(m sr)" ; atten_beta_r_backscat:missing_value = NaN ; atten_beta_r_backscat:plot_scale = "logarithmic" ; float profile_atten_beta_r_backscat(altitude) ; profile_atten_beta_r_backscat:long_name = "Attenuated Molecular Profile" ; profile_atten_beta_r_backscat:units = "1/(m sr)" ; profile_atten_beta_r_backscat:missing_value = NaN ; profile_atten_beta_r_backscat:plot_scale = "logarithmic" ; float depol(time, altitude) ; depol:long_name = "Circular depolarization ratio for particulate" ; depol:description = "left circular return divided by right circular return" ; depol:units = " " ; depol:missing_value = NaN ; depol:plot_scale = "logarithmic" ; float profile_depol(altitude) ; profile_depol:long_name = "Circular depolarization ratio profile for particulate" ; profile_depol:description = "left circular return divided by right circular return" ; profile_depol:units = " " ; profile_depol:missing_value = NaN ; profile_depol:plot_scale = "logarithmic" ; int molecular_counts(time, altitude) ; molecular_counts:long_name = "Molecular Photon Counts" ; molecular_counts:description = "Raw counts, per averaging interval with pileup, afterpulse, and darkcount corrections applied" ; molecular_counts:units = "counts" ; molecular_counts:missing_value = -1 ; molecular_counts:plot_scale = "logarithmic" ; float profile_molecular_counts(altitude) ; profile_molecular_counts:long_name = "Molecular Photon Counts profile" ; profile_molecular_counts:description = "Raw counts, per averaging interval with pileup, afterpulse, and darkcount corrections applied" ; profile_molecular_counts:units = "counts" ; profile_molecular_counts:missing_value = -1 ; profile_molecular_counts:plot_scale = "logarithmic" ; int combined_counts_lo(time, altitude) ; combined_counts_lo:long_name = "Low Gain Combined Photon Counts" ; combined_counts_lo:description = "Raw counts, per averaging interval with pileup, afterpulse, and darkcount corrections applied" ; combined_counts_lo:units = "counts" ; combined_counts_lo:missing_value = -1 ; combined_counts_lo:plot_scale = "logarithmic" ; int combined_counts_hi(time, altitude) ; combined_counts_hi:long_name = "High Gain Combined Photon Counts" ; combined_counts_hi:description = "Raw counts, per averaging interval with pileup, afterpulse, and darkcount corrections applied" ; combined_counts_hi:units = "counts" ; combined_counts_hi:missing_value = -1 ; combined_counts_hi:plot_scale = "logarithmic" ; float profile_combined_counts_lo(altitude) ; profile_combined_counts_lo:long_name = "Low Gain Combined Photon Counts profile" ; profile_combined_counts_lo:description = "Raw counts, per averaging interval with pileup, afterpulse, and darkcount corrections applied" ; profile_combined_counts_lo:units = "counts" ; profile_combined_counts_lo:missing_value = -1 ; profile_combined_counts_lo:plot_scale = "logarithmic" ; float profile_combined_counts_hi(altitude) ; profile_combined_counts_hi:long_name = "High Gain Combined Photon Counts profile" ; profile_combined_counts_hi:description = "Raw counts, per averaging interval with pileup, afterpulse, and darkcount corrections applied" ; profile_combined_counts_hi:units = "counts" ; profile_combined_counts_hi:missing_value = -1 ; profile_combined_counts_hi:plot_scale = "logarithmic" ; int cross_counts(time, altitude) ; cross_counts:long_name = "Cross Polarized Photon Counts" ; cross_counts:description = "Raw counts, per averaging interval with pileup, afterpulse, and darkcount corrections applied" ; cross_counts:units = "counts" ; cross_counts:missing_value = -1 ; cross_counts:plot_scale = "logarithmic" ; float profile_cross_counts(altitude) ; profile_cross_counts:long_name = "Cross Polarized Photon Counts profile" ; profile_cross_counts:description = "Raw counts, per averaging interval with pileup, afterpulse, and darkcount corrections applied" ; profile_cross_counts:units = "counts" ; profile_cross_counts:missing_value = -1 ; profile_cross_counts:plot_scale = "logarithmic" ; float beta_a_backscat(time, altitude) ; beta_a_backscat:long_name = "Particulate backscatter cross section per unit volume" ; beta_a_backscat:units = "1/(m sr)" ; beta_a_backscat:missing_value = NaN ; beta_a_backscat:plot_scale = "logarithmic" ; float profile_beta_a_backscat(altitude) ; profile_beta_a_backscat:long_name = "Particulate backscatter cross section profile" ; profile_beta_a_backscat:units = "1/(m sr)" ; profile_beta_a_backscat:missing_value = NaN ; profile_beta_a_backscat:plot_scale = "logarithmic" ; float profile_beta_m(altitude) ; profile_beta_m:long_name = "Raob molecular scattering cross section profile" ; profile_beta_m:units = "1/meter" ; profile_beta_m:plot_scale = "logarithmic" ; int qc_mask(time, altitude) ; qc_mask:long_name = "Quality Mask" ; qc_mask:description = "Quality mask bitfield. Unused bits are always high" ; qc_mask:missing_value = 0 ; qc_mask:_Unsigned = "true" ; qc_mask:bit_0 = "complete_mask" ; qc_mask:bit_0_description = "data is good. and of bits 1-9" ; qc_mask:bit_1 = "lidar_ok_mask" ; qc_mask:bit_1_description = "lidar data is present" ; qc_mask:bit_2 = "lock_quality_mask" ; qc_mask:bit_2_description = "laser is locked to iodine filter wavelength" ; qc_mask:bit_3 = "seed_quality_mask" ; qc_mask:bit_3_description = "laser wavelength is locked to seed laser" ; qc_mask:bit_4 = "mol_count_snr_mask" ; qc_mask:bit_4_description = "molecular signal/photon counting error in molecular signal is above specified threshhold" ; qc_mask:bit_5 = "backscat_snr_mask" ; qc_mask:bit_5_description = "backscatter cross-section/photon counting error in backscatter cross-section is above specified threshhold" ; qc_mask:bit_6 = "mol_lost_mask" ; qc_mask:bit_6_description = "number of molecular photon counts is above specified threshhold" ; qc_mask:bit_7 = "min_backscat_mask" ; qc_mask:bit_7_description = "lidar backscatter cross-section is above specified threshhold" ; qc_mask:bit_8 = "radar_backscat_mask" ; qc_mask:bit_8_description = "radar backscatter cross-section is above specified threshhold" ; qc_mask:bit_9 = "radar_ok_mask" ; qc_mask:bit_9_description = "radar data is present" ; qc_mask:bit_10 = "aeri_ok_mask" ; qc_mask:bit_10_description = "aeri data is present" ; qc_mask:bit_11 = "aeri_qc_mask" ; qc_mask:bit_11_description = "aeri data has passed a quality check" ; float std_beta_a_backscat(time, altitude) ; std_beta_a_backscat:long_name = "Std dev of backscat cross section (photon counting)" ; std_beta_a_backscat:units = "1/(m sr)" ; std_beta_a_backscat:missing_value = NaN ; std_beta_a_backscat:plot_scale = "logarithmic" ; // global attributes: :code_version = "$Id: processed_netcdf.m,v 1.112 2009/11/10 20:53:41 jpgarcia Exp $" ; :load_calibration_version = "$Id: load_calibration.m,v 1.30 2010/03/30 19:16:51 eloranta Exp $" ; :get_internal_cal_vals_version = "$Id: get_internal_cal_vals.m,v 1.111 2009/11/02 19:50:29 jpgarcia Exp $" ; :calvals = "$Id: calvals_gvhsrl.m,v 1.75 2010/04/30 15:14:10 eloranta Exp $" ; :find_new_cal_times_version = "$Id: find_new_cal_times.m,v 1.22 2009/04/06 18:12:26 jpgarcia Exp $" ; :radiosonde_profile_version = "$Id: radiosonde_profile.m,v 1.31 2009/08/24 14:49:00 eloranta Exp $" ; :fetch_cal_version = "$Id: fetch_cal.m,v 1.30 2010/04/05 20:39:54 eloranta Exp $" ; :processed_netcdf_version = "$Id: processed_netcdf.m,v 1.112 2009/11/10 20:53:41 jpgarcia Exp $" ; :git_commit = "005c000d7c865bc4a3b50890a20dddac9a613863" ; :process_data_version = "$Id: process_data.m,v 1.248 2010/05/03 17:51:36 eloranta Exp $" ; :timefill_sum_version = "$Id: time_block.cc,v 1.55 2009/11/13 22:47:48 jpgarcia Exp $" ; :timefill_average_version = "$Id: time_block.cc,v 1.55 2009/11/13 22:47:48 jpgarcia Exp $" ; :file_version = 20050323 ; :time_zone = "UTC" ; :file_created = "2015-02-25 21:41:34" ; :Conventions = "COARDS" ; :time_axis_average_mode = "time" ; :time_axis_average_parameter = 30. ; :range_axis_average_parameter = 30. ; :featureset = 8175 ; :featureset_version = "$Revision: 1.16 $" ; :processing_parameters__qc_params__min_radar_alt = 200. ; :processing_parameters__qc_params__min_lidar_alt = 100. ; :processing_parameters__qc_params__lock_level = 0.6 ; :processing_parameters__qc_params__min_radar_dBz = -66.1 ; :processing_parameters__qc_params__backscat_snr = 1. ; :processing_parameters__qc_params__mol_lost = 1. ; :processing_parameters__qc_params__min_radar_backscat = 1.e-15 ; :processing_parameters__particlesettings__g_water = 1. ; :processing_parameters__particlesettings__h20_depol_threshold = 0.05 ; :processing_parameters__particlesettings__sigma_v = 0.26 ; :processing_parameters__particlesettings__type = "Bullet Rosettes (Mitchell 1996)" ; :processing_parameters__particlesettings__alpha_ice = 1. ; :processing_parameters__particlesettings__p180_ice = 0.035 ; :processing_parameters__particlesettings__delta_v1 = 3. ; :processing_parameters__particlesettings__Dr = 60. ; :processing_parameters__particlesettings__g_ice = 1. ; :processing_parameters__particlesettings__delta_a1 = 2. ; :processing_parameters__particlesettings__alpha_water = 2. ; :processing_parameters__particlesettings__delta_v2 = 2.26 ; :processing_parameters__particlesettings__sigma_a = 1. ; :processing_parameters__particlesettings__delta_a2 = 1.57 ; } ================================================== netcdf acxhsrlM1.01.20150225.205810.raw.mf2hsrl_20150212T0000_20150213T0000_30s_30m { dimensions: time = UNLIMITED ; // (2336 currently) altitude = 667 ; time_vector = 8 ; calibration = 2 ; sondenamelength = 6 ; i2header = 900 ; geoheader = 200 ; apheader = 300 ; variables: int base_time ; base_time:string = "2015-02-11 23:59:59 UTC" ; base_time:long_name = "Base seconds since Unix Epoch" ; base_time:units = "seconds since 1970-01-01 00:00:00 UTC" ; short first_time(time_vector) ; first_time:long_name = "First Time in file" ; short last_time(time_vector) ; last_time:long_name = "Last Time in file" ; double time(time) ; time:long_name = "Time" ; time:units = "seconds since 2015-02-11 23:59:59 UTC" ; double time_offset(time) ; time_offset:long_name = "Time offset from base_time" ; time_offset:description = "same times as \"First time in record\" " ; time_offset:units = "seconds since 2015-02-11 23:59:59 UTC" ; short start_time(time, time_vector) ; start_time:long_name = "First Time in record" ; start_time:description = "time of first laser shot in averaging interval" ; float latitude ; latitude:long_name = "latitude of lidar" ; latitude:units = "degree_N" ; float longitude ; longitude:long_name = "longitude of lidar" ; longitude:units = "degree_W" ; float range_resolution ; range_resolution:long_name = "Range resolution" ; range_resolution:description = "vertical distance between data points after averaging" ; range_resolution:units = "meters" ; float time_average ; time_average:long_name = "Time Averaging Width" ; time_average:description = "Time between data points after averaging" ; time_average:units = "seconds" ; short new_cal_times(calibration, time_vector) ; new_cal_times:long_name = "Time of Calibration Change" ; new_cal_times:description = "New raob or system calibration data triggered recalibration" ; float altitude(altitude) ; altitude:long_name = "Height above lidar" ; altitude:units = "meters" ; byte new_cal_trigger(calibration) ; new_cal_trigger:long_name = "Trigger of Calibration Change" ; new_cal_trigger:description = "reason for recalibration" ; new_cal_trigger:bit_0 = "radiosonde profile" ; new_cal_trigger:bit_1 = "i2 scan" ; new_cal_trigger:bit_2 = "geometry" ; short new_cal_offset(calibration) ; new_cal_offset:long_name = "Record Dimension equivalent Offset" ; new_cal_offset:min_value = 0 ; float top_alt_sounding(calibration) ; top_alt_sounding:long_name = "Sounding Maximum Altitude" ; top_alt_sounding:units = "meters" ; float temperature_profile(calibration, altitude) ; temperature_profile:long_name = "Raob Temperature Profile" ; temperature_profile:description = "Temperature interpolated to requested altitude resolution" ; temperature_profile:units = "degrees Kelvin" ; float pressure_profile(calibration, altitude) ; pressure_profile:long_name = "Raob pressure Profile" ; pressure_profile:description = "Pressure interpolated to requested altitude resolution" ; pressure_profile:units = "hectopascals" ; float dewpoint_profile(calibration, altitude) ; dewpoint_profile:long_name = "Raob Dewpoint Temperature Profile" ; dewpoint_profile:description = "Dewpoint interpolated to requested altitude resolution" ; dewpoint_profile:units = "degrees Kelvin" ; dewpoint_profile:missing_value = NaN ; float windspeed_profile(calibration, altitude) ; windspeed_profile:long_name = "Raob Wind Speed Profile" ; windspeed_profile:description = "Speeds interpolated to requested altitude resolution" ; windspeed_profile:units = "m/s" ; windspeed_profile:missing_value = NaN ; float winddir_profile(calibration, altitude) ; winddir_profile:long_name = "Raob Wind Direction Profile" ; winddir_profile:description = "Directions interpolated to requested altitude resolution" ; winddir_profile:units = "degrees" ; winddir_profile:missing_value = NaN ; char raob_station(calibration, sondenamelength) ; raob_station:long_name = "Radiosonde Station ID" ; char i2_txt_header(calibration, i2header) ; i2_txt_header:long_name = "i2_scan_file_text_info" ; i2_txt_header:description = "Contains name of file used to compute calibration" ; char geo_txt_header(calibration, geoheader) ; geo_txt_header:long_name = "geometric_correction_file_txt_header." ; char ap_txt_header(calibration, apheader) ; ap_txt_header:long_name = "afterpulse_correction_file_txt_header." ; double raob_time_offset(calibration) ; raob_time_offset:units = "seconds" ; raob_time_offset:long_name = "Radiosonde Launch time offset" ; raob_time_offset:description = "Time after base time in seconds" ; short raob_time_vector(calibration, time_vector) ; raob_time_vector:long_name = "Radiosonde Launch time vector" ; raob_time_vector:description = "Time in [year month day hour min sec ms us] format" ; float Cmc(calibration, altitude) ; Cmc:long_name = "Molecular in Combined Calibration" ; float Cmm(calibration, altitude) ; Cmm:long_name = "Molecular in Molecular Calibration" ; float Cam(calibration, altitude) ; Cam:long_name = "Aerosol in Molecular Calibration" ; float beta_m(calibration, altitude) ; beta_m:long_name = "Raob molecular scattering cross section per unit volume" ; beta_m:units = "1/meter" ; beta_m:plot_scale = "logarithmic" ; float transmitted_energy(time) ; transmitted_energy:long_name = "Transmitted Energy" ; transmitted_energy:units = "Joules" ; transmitted_energy:missing_value = NaN ; float piezovoltage(time) ; piezovoltage:long_name = "piezovoltage" ; piezovoltage:units = "Volts" ; piezovoltage:missing_value = NaN ; int num_seeded_shots(time) ; num_seeded_shots:long_name = "Number of Seeded Shots" ; num_seeded_shots:missing_value = -1 ; float seed_quality(time) ; seed_quality:long_name = "Laser Seeding Quality" ; seed_quality:description = "The ratio of seeded shots to total shots. Only seeded shot data is stored and processed. A low seed ratio can result in low noise resistance." ; seed_quality:missing_value = NaN ; seed_quality:range = 0., 1. ; float frequency_quality(time) ; frequency_quality:long_name = "Laser Frequency Quality" ; frequency_quality:description = "An ratio average of how good the frequency lock is per raw interval. A low value can result in poor separation of molecular and aerosol counts." ; frequency_quality:missing_value = NaN ; frequency_quality:range = 0., 1. ; float lock_quality(time) ; lock_quality:long_name = "Laser Lock Quality" ; lock_quality:description = "A ratio of likely locked intervals (frequency_quality>=.5) to seeded intervals. A low value can result in poor separation of molecular and aerosol counts." ; lock_quality:missing_value = NaN ; lock_quality:range = 0., 1. ; float mol_cal_pulse(time) ; mol_cal_pulse:long_name = "Molecular calibration pulse" ; mol_cal_pulse:description = "Sum of photon counts in the molecular channel due to light scattered with the telescope." ; mol_cal_pulse:units = "counts" ; mol_cal_pulse:missing_value = NaN ; float c_pol_dark_count(time, altitude) ; c_pol_dark_count:long_name = "Cross Polarization Dark Count" ; c_pol_dark_count:description = "total counts per averaging interval(eg. one altitude, one time)" ; c_pol_dark_count:units = "counts" ; c_pol_dark_count:missing_value = NaN ; float mol_dark_count(time, altitude) ; mol_dark_count:long_name = "Molecular Dark Count" ; mol_dark_count:description = "total counts per averaging interval(eg. one altitude, one time)" ; mol_dark_count:units = "counts" ; mol_dark_count:missing_value = NaN ; float combined_dark_count_lo(time, altitude) ; combined_dark_count_lo:long_name = "Low Gain Combined Dark Count" ; combined_dark_count_lo:description = "total counts per averaging interval(eg. one altitude, one time)" ; combined_dark_count_lo:units = "counts" ; combined_dark_count_lo:missing_value = NaN ; float combined_dark_count_hi(time, altitude) ; combined_dark_count_hi:long_name = "High Gain Combined Dark Count" ; combined_dark_count_hi:description = "total counts per averaging interval(eg. one altitude, one time)" ; combined_dark_count_hi:units = "counts" ; combined_dark_count_hi:missing_value = NaN ; float combined_gain(calibration) ; combined_gain:long_name = "Combined Gain Factor" ; combined_gain:description = "Low Gain level * Factor ~ High Gain level" ; float combined_merge_threshhold(calibration) ; combined_merge_threshhold:long_name = "Combined Merge Threshhold" ; float geo_cor(calibration, altitude) ; geo_cor:long_name = "Overlap correction" ; geo_cor:description = "Geometric overlap correction averaged to requested altitude resolution" ; geo_cor:units = " " ; geo_cor:missing_value = NaN ; geo_cor:plot_scale = "logarithmic" ; float od(time, altitude) ; od:long_name = "Optical depth of particulate" ; od:units = " " ; od:missing_value = NaN ; od:insufficient_data = Infinity ; od:plot_scale = "logarithmic" ; float profile_od(altitude) ; profile_od:long_name = "Optical depth of particulate Profile" ; profile_od:units = " " ; profile_od:missing_value = NaN ; profile_od:insufficient_data = Infinity ; profile_od:plot_scale = "logarithmic" ; float beta_a(time, altitude) ; beta_a:long_name = "Particulate extinction cross section per unit volume" ; beta_a:units = "1/m" ; beta_a:missing_value = NaN ; beta_a:plot_scale = "logarithmic" ; float atten_beta_r_backscat(time, altitude) ; atten_beta_r_backscat:long_name = "Attenuated Molecular return" ; atten_beta_r_backscat:units = "1/(m sr)" ; atten_beta_r_backscat:missing_value = NaN ; atten_beta_r_backscat:plot_scale = "logarithmic" ; float profile_atten_beta_r_backscat(altitude) ; profile_atten_beta_r_backscat:long_name = "Attenuated Molecular Profile" ; profile_atten_beta_r_backscat:units = "1/(m sr)" ; profile_atten_beta_r_backscat:missing_value = NaN ; profile_atten_beta_r_backscat:plot_scale = "logarithmic" ; float depol(time, altitude) ; depol:long_name = "Circular depolarization ratio for particulate" ; depol:description = "left circular return divided by right circular return" ; depol:units = " " ; depol:missing_value = NaN ; depol:plot_scale = "logarithmic" ; float profile_depol(altitude) ; profile_depol:long_name = "Circular depolarization ratio profile for particulate" ; profile_depol:description = "left circular return divided by right circular return" ; profile_depol:units = " " ; profile_depol:missing_value = NaN ; profile_depol:plot_scale = "logarithmic" ; int molecular_counts(time, altitude) ; molecular_counts:long_name = "Molecular Photon Counts" ; molecular_counts:description = "Raw counts, per averaging interval with pileup, afterpulse, and darkcount corrections applied" ; molecular_counts:units = "counts" ; molecular_counts:missing_value = -1 ; molecular_counts:plot_scale = "logarithmic" ; float profile_molecular_counts(altitude) ; profile_molecular_counts:long_name = "Molecular Photon Counts profile" ; profile_molecular_counts:description = "Raw counts, per averaging interval with pileup, afterpulse, and darkcount corrections applied" ; profile_molecular_counts:units = "counts" ; profile_molecular_counts:missing_value = -1 ; profile_molecular_counts:plot_scale = "logarithmic" ; int combined_counts_lo(time, altitude) ; combined_counts_lo:long_name = "Low Gain Combined Photon Counts" ; combined_counts_lo:description = "Raw counts, per averaging interval with pileup, afterpulse, and darkcount corrections applied" ; combined_counts_lo:units = "counts" ; combined_counts_lo:missing_value = -1 ; combined_counts_lo:plot_scale = "logarithmic" ; int combined_counts_hi(time, altitude) ; combined_counts_hi:long_name = "High Gain Combined Photon Counts" ; combined_counts_hi:description = "Raw counts, per averaging interval with pileup, afterpulse, and darkcount corrections applied" ; combined_counts_hi:units = "counts" ; combined_counts_hi:missing_value = -1 ; combined_counts_hi:plot_scale = "logarithmic" ; float profile_combined_counts_lo(altitude) ; profile_combined_counts_lo:long_name = "Low Gain Combined Photon Counts profile" ; profile_combined_counts_lo:description = "Raw counts, per averaging interval with pileup, afterpulse, and darkcount corrections applied" ; profile_combined_counts_lo:units = "counts" ; profile_combined_counts_lo:missing_value = -1 ; profile_combined_counts_lo:plot_scale = "logarithmic" ; float profile_combined_counts_hi(altitude) ; profile_combined_counts_hi:long_name = "High Gain Combined Photon Counts profile" ; profile_combined_counts_hi:description = "Raw counts, per averaging interval with pileup, afterpulse, and darkcount corrections applied" ; profile_combined_counts_hi:units = "counts" ; profile_combined_counts_hi:missing_value = -1 ; profile_combined_counts_hi:plot_scale = "logarithmic" ; int cross_counts(time, altitude) ; cross_counts:long_name = "Cross Polarized Photon Counts" ; cross_counts:description = "Raw counts, per averaging interval with pileup, afterpulse, and darkcount corrections applied" ; cross_counts:units = "counts" ; cross_counts:missing_value = -1 ; cross_counts:plot_scale = "logarithmic" ; float profile_cross_counts(altitude) ; profile_cross_counts:long_name = "Cross Polarized Photon Counts profile" ; profile_cross_counts:description = "Raw counts, per averaging interval with pileup, afterpulse, and darkcount corrections applied" ; profile_cross_counts:units = "counts" ; profile_cross_counts:missing_value = -1 ; profile_cross_counts:plot_scale = "logarithmic" ; float beta_a_backscat(time, altitude) ; beta_a_backscat:long_name = "Particulate backscatter cross section per unit volume" ; beta_a_backscat:units = "1/(m sr)" ; beta_a_backscat:missing_value = NaN ; beta_a_backscat:plot_scale = "logarithmic" ; float profile_beta_a_backscat(altitude) ; profile_beta_a_backscat:long_name = "Particulate backscatter cross section profile" ; profile_beta_a_backscat:units = "1/(m sr)" ; profile_beta_a_backscat:missing_value = NaN ; profile_beta_a_backscat:plot_scale = "logarithmic" ; float profile_beta_m(altitude) ; profile_beta_m:long_name = "Raob molecular scattering cross section profile" ; profile_beta_m:units = "1/meter" ; profile_beta_m:plot_scale = "logarithmic" ; int qc_mask(time, altitude) ; qc_mask:long_name = "Quality Mask" ; qc_mask:description = "Quality mask bitfield. Unused bits are always high" ; qc_mask:missing_value = 0 ; qc_mask:_Unsigned = "true" ; qc_mask:bit_0 = "complete_mask" ; qc_mask:bit_0_description = "data is good. and of bits 1-9" ; qc_mask:bit_1 = "lidar_ok_mask" ; qc_mask:bit_1_description = "lidar data is present" ; qc_mask:bit_2 = "lock_quality_mask" ; qc_mask:bit_2_description = "laser is locked to iodine filter wavelength" ; qc_mask:bit_3 = "seed_quality_mask" ; qc_mask:bit_3_description = "laser wavelength is locked to seed laser" ; qc_mask:bit_4 = "mol_count_snr_mask" ; qc_mask:bit_4_description = "molecular signal/photon counting error in molecular signal is above specified threshhold" ; qc_mask:bit_5 = "backscat_snr_mask" ; qc_mask:bit_5_description = "backscatter cross-section/photon counting error in backscatter cross-section is above specified threshhold" ; qc_mask:bit_6 = "mol_lost_mask" ; qc_mask:bit_6_description = "number of molecular photon counts is above specified threshhold" ; qc_mask:bit_7 = "min_backscat_mask" ; qc_mask:bit_7_description = "lidar backscatter cross-section is above specified threshhold" ; qc_mask:bit_8 = "radar_backscat_mask" ; qc_mask:bit_8_description = "radar backscatter cross-section is above specified threshhold" ; qc_mask:bit_9 = "radar_ok_mask" ; qc_mask:bit_9_description = "radar data is present" ; qc_mask:bit_10 = "aeri_ok_mask" ; qc_mask:bit_10_description = "aeri data is present" ; qc_mask:bit_11 = "aeri_qc_mask" ; qc_mask:bit_11_description = "aeri data has passed a quality check" ; float std_beta_a_backscat(time, altitude) ; std_beta_a_backscat:long_name = "Std dev of backscat cross section (photon counting)" ; std_beta_a_backscat:units = "1/(m sr)" ; std_beta_a_backscat:missing_value = NaN ; std_beta_a_backscat:plot_scale = "logarithmic" ; // global attributes: :code_version = "$Id: processed_netcdf.m,v 1.112 2009/11/10 20:53:41 jpgarcia Exp $" ; :load_calibration_version = "$Id: load_calibration.m,v 1.30 2010/03/30 19:16:51 eloranta Exp $" ; :get_internal_cal_vals_version = "$Id: get_internal_cal_vals.m,v 1.111 2009/11/02 19:50:29 jpgarcia Exp $" ; :calvals = "$Id: calvals_gvhsrl.m,v 1.75 2010/04/30 15:14:10 eloranta Exp $" ; :find_new_cal_times_version = "$Id: find_new_cal_times.m,v 1.22 2009/04/06 18:12:26 jpgarcia Exp $" ; :radiosonde_profile_version = "$Id: radiosonde_profile.m,v 1.31 2009/08/24 14:49:00 eloranta Exp $" ; :fetch_cal_version = "$Id: fetch_cal.m,v 1.30 2010/04/05 20:39:54 eloranta Exp $" ; :processed_netcdf_version = "$Id: processed_netcdf.m,v 1.112 2009/11/10 20:53:41 jpgarcia Exp $" ; :git_commit = "005c000d7c865bc4a3b50890a20dddac9a613863" ; :process_data_version = "$Id: process_data.m,v 1.248 2010/05/03 17:51:36 eloranta Exp $" ; :timefill_sum_version = "$Id: time_block.cc,v 1.55 2009/11/13 22:47:48 jpgarcia Exp $" ; :timefill_average_version = "$Id: time_block.cc,v 1.55 2009/11/13 22:47:48 jpgarcia Exp $" ; :file_version = 20050323 ; :time_zone = "UTC" ; :file_created = "2015-02-25 21:45:01" ; :Conventions = "COARDS" ; :time_axis_average_mode = "time" ; :time_axis_average_parameter = 30. ; :range_axis_average_parameter = 30. ; :featureset = 8175 ; :featureset_version = "$Revision: 1.16 $" ; :processing_parameters__qc_params__min_radar_alt = 200. ; :processing_parameters__qc_params__min_lidar_alt = 100. ; :processing_parameters__qc_params__lock_level = 0.6 ; :processing_parameters__qc_params__min_radar_dBz = -66.1 ; :processing_parameters__qc_params__backscat_snr = 1. ; :processing_parameters__qc_params__mol_lost = 1. ; :processing_parameters__qc_params__min_radar_backscat = 1.e-15 ; :processing_parameters__particlesettings__g_water = 1. ; :processing_parameters__particlesettings__h20_depol_threshold = 0.05 ; :processing_parameters__particlesettings__sigma_v = 0.26 ; :processing_parameters__particlesettings__type = "Bullet Rosettes (Mitchell 1996)" ; :processing_parameters__particlesettings__alpha_ice = 1. ; :processing_parameters__particlesettings__p180_ice = 0.035 ; :processing_parameters__particlesettings__delta_v1 = 3. ; :processing_parameters__particlesettings__Dr = 60. ; :processing_parameters__particlesettings__g_ice = 1. ; :processing_parameters__particlesettings__delta_a1 = 2. ; :processing_parameters__particlesettings__alpha_water = 2. ; :processing_parameters__particlesettings__delta_v2 = 2.26 ; :processing_parameters__particlesettings__sigma_a = 1. ; :processing_parameters__particlesettings__delta_a2 = 1.57 ; } ================================================== netcdf acxhsrlM1.01.20150225.205810.raw.mf2hsrl_20150213T0000_20150214T0000_30s_30m { dimensions: time = UNLIMITED ; // (2244 currently) altitude = 667 ; time_vector = 8 ; calibration = 2 ; sondenamelength = 6 ; i2header = 900 ; geoheader = 200 ; apheader = 300 ; variables: int base_time ; base_time:string = "2015-02-13 05:16:41 UTC" ; base_time:long_name = "Base seconds since Unix Epoch" ; base_time:units = "seconds since 1970-01-01 00:00:00 UTC" ; short first_time(time_vector) ; first_time:long_name = "First Time in file" ; short last_time(time_vector) ; last_time:long_name = "Last Time in file" ; double time(time) ; time:long_name = "Time" ; time:units = "seconds since 2015-02-13 05:16:41 UTC" ; double time_offset(time) ; time_offset:long_name = "Time offset from base_time" ; time_offset:description = "same times as \"First time in record\" " ; time_offset:units = "seconds since 2015-02-13 05:16:41 UTC" ; short start_time(time, time_vector) ; start_time:long_name = "First Time in record" ; start_time:description = "time of first laser shot in averaging interval" ; float latitude ; latitude:long_name = "latitude of lidar" ; latitude:units = "degree_N" ; float longitude ; longitude:long_name = "longitude of lidar" ; longitude:units = "degree_W" ; float range_resolution ; range_resolution:long_name = "Range resolution" ; range_resolution:description = "vertical distance between data points after averaging" ; range_resolution:units = "meters" ; float time_average ; time_average:long_name = "Time Averaging Width" ; time_average:description = "Time between data points after averaging" ; time_average:units = "seconds" ; short new_cal_times(calibration, time_vector) ; new_cal_times:long_name = "Time of Calibration Change" ; new_cal_times:description = "New raob or system calibration data triggered recalibration" ; float altitude(altitude) ; altitude:long_name = "Height above lidar" ; altitude:units = "meters" ; byte new_cal_trigger(calibration) ; new_cal_trigger:long_name = "Trigger of Calibration Change" ; new_cal_trigger:description = "reason for recalibration" ; new_cal_trigger:bit_0 = "radiosonde profile" ; new_cal_trigger:bit_1 = "i2 scan" ; new_cal_trigger:bit_2 = "geometry" ; short new_cal_offset(calibration) ; new_cal_offset:long_name = "Record Dimension equivalent Offset" ; new_cal_offset:min_value = 0 ; float top_alt_sounding(calibration) ; top_alt_sounding:long_name = "Sounding Maximum Altitude" ; top_alt_sounding:units = "meters" ; float temperature_profile(calibration, altitude) ; temperature_profile:long_name = "Raob Temperature Profile" ; temperature_profile:description = "Temperature interpolated to requested altitude resolution" ; temperature_profile:units = "degrees Kelvin" ; float pressure_profile(calibration, altitude) ; pressure_profile:long_name = "Raob pressure Profile" ; pressure_profile:description = "Pressure interpolated to requested altitude resolution" ; pressure_profile:units = "hectopascals" ; float dewpoint_profile(calibration, altitude) ; dewpoint_profile:long_name = "Raob Dewpoint Temperature Profile" ; dewpoint_profile:description = "Dewpoint interpolated to requested altitude resolution" ; dewpoint_profile:units = "degrees Kelvin" ; dewpoint_profile:missing_value = NaN ; float windspeed_profile(calibration, altitude) ; windspeed_profile:long_name = "Raob Wind Speed Profile" ; windspeed_profile:description = "Speeds interpolated to requested altitude resolution" ; windspeed_profile:units = "m/s" ; windspeed_profile:missing_value = NaN ; float winddir_profile(calibration, altitude) ; winddir_profile:long_name = "Raob Wind Direction Profile" ; winddir_profile:description = "Directions interpolated to requested altitude resolution" ; winddir_profile:units = "degrees" ; winddir_profile:missing_value = NaN ; char raob_station(calibration, sondenamelength) ; raob_station:long_name = "Radiosonde Station ID" ; char i2_txt_header(calibration, i2header) ; i2_txt_header:long_name = "i2_scan_file_text_info" ; i2_txt_header:description = "Contains name of file used to compute calibration" ; char geo_txt_header(calibration, geoheader) ; geo_txt_header:long_name = "geometric_correction_file_txt_header." ; char ap_txt_header(calibration, apheader) ; ap_txt_header:long_name = "afterpulse_correction_file_txt_header." ; double raob_time_offset(calibration) ; raob_time_offset:units = "seconds" ; raob_time_offset:long_name = "Radiosonde Launch time offset" ; raob_time_offset:description = "Time after base time in seconds" ; short raob_time_vector(calibration, time_vector) ; raob_time_vector:long_name = "Radiosonde Launch time vector" ; raob_time_vector:description = "Time in [year month day hour min sec ms us] format" ; float Cmc(calibration, altitude) ; Cmc:long_name = "Molecular in Combined Calibration" ; float Cmm(calibration, altitude) ; Cmm:long_name = "Molecular in Molecular Calibration" ; float Cam(calibration, altitude) ; Cam:long_name = "Aerosol in Molecular Calibration" ; float beta_m(calibration, altitude) ; beta_m:long_name = "Raob molecular scattering cross section per unit volume" ; beta_m:units = "1/meter" ; beta_m:plot_scale = "logarithmic" ; float transmitted_energy(time) ; transmitted_energy:long_name = "Transmitted Energy" ; transmitted_energy:units = "Joules" ; transmitted_energy:missing_value = NaN ; float piezovoltage(time) ; piezovoltage:long_name = "piezovoltage" ; piezovoltage:units = "Volts" ; piezovoltage:missing_value = NaN ; int num_seeded_shots(time) ; num_seeded_shots:long_name = "Number of Seeded Shots" ; num_seeded_shots:missing_value = -1 ; float seed_quality(time) ; seed_quality:long_name = "Laser Seeding Quality" ; seed_quality:description = "The ratio of seeded shots to total shots. Only seeded shot data is stored and processed. A low seed ratio can result in low noise resistance." ; seed_quality:missing_value = NaN ; seed_quality:range = 0., 1. ; float frequency_quality(time) ; frequency_quality:long_name = "Laser Frequency Quality" ; frequency_quality:description = "An ratio average of how good the frequency lock is per raw interval. A low value can result in poor separation of molecular and aerosol counts." ; frequency_quality:missing_value = NaN ; frequency_quality:range = 0., 1. ; float lock_quality(time) ; lock_quality:long_name = "Laser Lock Quality" ; lock_quality:description = "A ratio of likely locked intervals (frequency_quality>=.5) to seeded intervals. A low value can result in poor separation of molecular and aerosol counts." ; lock_quality:missing_value = NaN ; lock_quality:range = 0., 1. ; float mol_cal_pulse(time) ; mol_cal_pulse:long_name = "Molecular calibration pulse" ; mol_cal_pulse:description = "Sum of photon counts in the molecular channel due to light scattered with the telescope." ; mol_cal_pulse:units = "counts" ; mol_cal_pulse:missing_value = NaN ; float c_pol_dark_count(time, altitude) ; c_pol_dark_count:long_name = "Cross Polarization Dark Count" ; c_pol_dark_count:description = "total counts per averaging interval(eg. one altitude, one time)" ; c_pol_dark_count:units = "counts" ; c_pol_dark_count:missing_value = NaN ; float mol_dark_count(time, altitude) ; mol_dark_count:long_name = "Molecular Dark Count" ; mol_dark_count:description = "total counts per averaging interval(eg. one altitude, one time)" ; mol_dark_count:units = "counts" ; mol_dark_count:missing_value = NaN ; float combined_dark_count_lo(time, altitude) ; combined_dark_count_lo:long_name = "Low Gain Combined Dark Count" ; combined_dark_count_lo:description = "total counts per averaging interval(eg. one altitude, one time)" ; combined_dark_count_lo:units = "counts" ; combined_dark_count_lo:missing_value = NaN ; float combined_dark_count_hi(time, altitude) ; combined_dark_count_hi:long_name = "High Gain Combined Dark Count" ; combined_dark_count_hi:description = "total counts per averaging interval(eg. one altitude, one time)" ; combined_dark_count_hi:units = "counts" ; combined_dark_count_hi:missing_value = NaN ; float combined_gain(calibration) ; combined_gain:long_name = "Combined Gain Factor" ; combined_gain:description = "Low Gain level * Factor ~ High Gain level" ; float combined_merge_threshhold(calibration) ; combined_merge_threshhold:long_name = "Combined Merge Threshhold" ; float geo_cor(calibration, altitude) ; geo_cor:long_name = "Overlap correction" ; geo_cor:description = "Geometric overlap correction averaged to requested altitude resolution" ; geo_cor:units = " " ; geo_cor:missing_value = NaN ; geo_cor:plot_scale = "logarithmic" ; float od(time, altitude) ; od:long_name = "Optical depth of particulate" ; od:units = " " ; od:missing_value = NaN ; od:insufficient_data = Infinity ; od:plot_scale = "logarithmic" ; float profile_od(altitude) ; profile_od:long_name = "Optical depth of particulate Profile" ; profile_od:units = " " ; profile_od:missing_value = NaN ; profile_od:insufficient_data = Infinity ; profile_od:plot_scale = "logarithmic" ; float beta_a(time, altitude) ; beta_a:long_name = "Particulate extinction cross section per unit volume" ; beta_a:units = "1/m" ; beta_a:missing_value = NaN ; beta_a:plot_scale = "logarithmic" ; float atten_beta_r_backscat(time, altitude) ; atten_beta_r_backscat:long_name = "Attenuated Molecular return" ; atten_beta_r_backscat:units = "1/(m sr)" ; atten_beta_r_backscat:missing_value = NaN ; atten_beta_r_backscat:plot_scale = "logarithmic" ; float profile_atten_beta_r_backscat(altitude) ; profile_atten_beta_r_backscat:long_name = "Attenuated Molecular Profile" ; profile_atten_beta_r_backscat:units = "1/(m sr)" ; profile_atten_beta_r_backscat:missing_value = NaN ; profile_atten_beta_r_backscat:plot_scale = "logarithmic" ; float depol(time, altitude) ; depol:long_name = "Circular depolarization ratio for particulate" ; depol:description = "left circular return divided by right circular return" ; depol:units = " " ; depol:missing_value = NaN ; depol:plot_scale = "logarithmic" ; float profile_depol(altitude) ; profile_depol:long_name = "Circular depolarization ratio profile for particulate" ; profile_depol:description = "left circular return divided by right circular return" ; profile_depol:units = " " ; profile_depol:missing_value = NaN ; profile_depol:plot_scale = "logarithmic" ; int molecular_counts(time, altitude) ; molecular_counts:long_name = "Molecular Photon Counts" ; molecular_counts:description = "Raw counts, per averaging interval with pileup, afterpulse, and darkcount corrections applied" ; molecular_counts:units = "counts" ; molecular_counts:missing_value = -1 ; molecular_counts:plot_scale = "logarithmic" ; float profile_molecular_counts(altitude) ; profile_molecular_counts:long_name = "Molecular Photon Counts profile" ; profile_molecular_counts:description = "Raw counts, per averaging interval with pileup, afterpulse, and darkcount corrections applied" ; profile_molecular_counts:units = "counts" ; profile_molecular_counts:missing_value = -1 ; profile_molecular_counts:plot_scale = "logarithmic" ; int combined_counts_lo(time, altitude) ; combined_counts_lo:long_name = "Low Gain Combined Photon Counts" ; combined_counts_lo:description = "Raw counts, per averaging interval with pileup, afterpulse, and darkcount corrections applied" ; combined_counts_lo:units = "counts" ; combined_counts_lo:missing_value = -1 ; combined_counts_lo:plot_scale = "logarithmic" ; int combined_counts_hi(time, altitude) ; combined_counts_hi:long_name = "High Gain Combined Photon Counts" ; combined_counts_hi:description = "Raw counts, per averaging interval with pileup, afterpulse, and darkcount corrections applied" ; combined_counts_hi:units = "counts" ; combined_counts_hi:missing_value = -1 ; combined_counts_hi:plot_scale = "logarithmic" ; float profile_combined_counts_lo(altitude) ; profile_combined_counts_lo:long_name = "Low Gain Combined Photon Counts profile" ; profile_combined_counts_lo:description = "Raw counts, per averaging interval with pileup, afterpulse, and darkcount corrections applied" ; profile_combined_counts_lo:units = "counts" ; profile_combined_counts_lo:missing_value = -1 ; profile_combined_counts_lo:plot_scale = "logarithmic" ; float profile_combined_counts_hi(altitude) ; profile_combined_counts_hi:long_name = "High Gain Combined Photon Counts profile" ; profile_combined_counts_hi:description = "Raw counts, per averaging interval with pileup, afterpulse, and darkcount corrections applied" ; profile_combined_counts_hi:units = "counts" ; profile_combined_counts_hi:missing_value = -1 ; profile_combined_counts_hi:plot_scale = "logarithmic" ; int cross_counts(time, altitude) ; cross_counts:long_name = "Cross Polarized Photon Counts" ; cross_counts:description = "Raw counts, per averaging interval with pileup, afterpulse, and darkcount corrections applied" ; cross_counts:units = "counts" ; cross_counts:missing_value = -1 ; cross_counts:plot_scale = "logarithmic" ; float profile_cross_counts(altitude) ; profile_cross_counts:long_name = "Cross Polarized Photon Counts profile" ; profile_cross_counts:description = "Raw counts, per averaging interval with pileup, afterpulse, and darkcount corrections applied" ; profile_cross_counts:units = "counts" ; profile_cross_counts:missing_value = -1 ; profile_cross_counts:plot_scale = "logarithmic" ; float beta_a_backscat(time, altitude) ; beta_a_backscat:long_name = "Particulate backscatter cross section per unit volume" ; beta_a_backscat:units = "1/(m sr)" ; beta_a_backscat:missing_value = NaN ; beta_a_backscat:plot_scale = "logarithmic" ; float profile_beta_a_backscat(altitude) ; profile_beta_a_backscat:long_name = "Particulate backscatter cross section profile" ; profile_beta_a_backscat:units = "1/(m sr)" ; profile_beta_a_backscat:missing_value = NaN ; profile_beta_a_backscat:plot_scale = "logarithmic" ; float profile_beta_m(altitude) ; profile_beta_m:long_name = "Raob molecular scattering cross section profile" ; profile_beta_m:units = "1/meter" ; profile_beta_m:plot_scale = "logarithmic" ; int qc_mask(time, altitude) ; qc_mask:long_name = "Quality Mask" ; qc_mask:description = "Quality mask bitfield. Unused bits are always high" ; qc_mask:missing_value = 0 ; qc_mask:_Unsigned = "true" ; qc_mask:bit_0 = "complete_mask" ; qc_mask:bit_0_description = "data is good. and of bits 1-9" ; qc_mask:bit_1 = "lidar_ok_mask" ; qc_mask:bit_1_description = "lidar data is present" ; qc_mask:bit_2 = "lock_quality_mask" ; qc_mask:bit_2_description = "laser is locked to iodine filter wavelength" ; qc_mask:bit_3 = "seed_quality_mask" ; qc_mask:bit_3_description = "laser wavelength is locked to seed laser" ; qc_mask:bit_4 = "mol_count_snr_mask" ; qc_mask:bit_4_description = "molecular signal/photon counting error in molecular signal is above specified threshhold" ; qc_mask:bit_5 = "backscat_snr_mask" ; qc_mask:bit_5_description = "backscatter cross-section/photon counting error in backscatter cross-section is above specified threshhold" ; qc_mask:bit_6 = "mol_lost_mask" ; qc_mask:bit_6_description = "number of molecular photon counts is above specified threshhold" ; qc_mask:bit_7 = "min_backscat_mask" ; qc_mask:bit_7_description = "lidar backscatter cross-section is above specified threshhold" ; qc_mask:bit_8 = "radar_backscat_mask" ; qc_mask:bit_8_description = "radar backscatter cross-section is above specified threshhold" ; qc_mask:bit_9 = "radar_ok_mask" ; qc_mask:bit_9_description = "radar data is present" ; qc_mask:bit_10 = "aeri_ok_mask" ; qc_mask:bit_10_description = "aeri data is present" ; qc_mask:bit_11 = "aeri_qc_mask" ; qc_mask:bit_11_description = "aeri data has passed a quality check" ; float std_beta_a_backscat(time, altitude) ; std_beta_a_backscat:long_name = "Std dev of backscat cross section (photon counting)" ; std_beta_a_backscat:units = "1/(m sr)" ; std_beta_a_backscat:missing_value = NaN ; std_beta_a_backscat:plot_scale = "logarithmic" ; // global attributes: :code_version = "$Id: processed_netcdf.m,v 1.112 2009/11/10 20:53:41 jpgarcia Exp $" ; :load_calibration_version = "$Id: load_calibration.m,v 1.30 2010/03/30 19:16:51 eloranta Exp $" ; :get_internal_cal_vals_version = "$Id: get_internal_cal_vals.m,v 1.111 2009/11/02 19:50:29 jpgarcia Exp $" ; :calvals = "$Id: calvals_gvhsrl.m,v 1.75 2010/04/30 15:14:10 eloranta Exp $" ; :find_new_cal_times_version = "$Id: find_new_cal_times.m,v 1.22 2009/04/06 18:12:26 jpgarcia Exp $" ; :radiosonde_profile_version = "$Id: radiosonde_profile.m,v 1.31 2009/08/24 14:49:00 eloranta Exp $" ; :fetch_cal_version = "$Id: fetch_cal.m,v 1.30 2010/04/05 20:39:54 eloranta Exp $" ; :processed_netcdf_version = "$Id: processed_netcdf.m,v 1.112 2009/11/10 20:53:41 jpgarcia Exp $" ; :git_commit = "005c000d7c865bc4a3b50890a20dddac9a613863" ; :process_data_version = "$Id: process_data.m,v 1.248 2010/05/03 17:51:36 eloranta Exp $" ; :timefill_sum_version = "$Id: time_block.cc,v 1.55 2009/11/13 22:47:48 jpgarcia Exp $" ; :timefill_average_version = "$Id: time_block.cc,v 1.55 2009/11/13 22:47:48 jpgarcia Exp $" ; :file_version = 20050323 ; :time_zone = "UTC" ; :file_created = "2015-02-25 21:47:13" ; :Conventions = "COARDS" ; :time_axis_average_mode = "time" ; :time_axis_average_parameter = 30. ; :range_axis_average_parameter = 30. ; :featureset = 8175 ; :featureset_version = "$Revision: 1.16 $" ; :processing_parameters__qc_params__min_radar_alt = 200. ; :processing_parameters__qc_params__min_lidar_alt = 100. ; :processing_parameters__qc_params__lock_level = 0.6 ; :processing_parameters__qc_params__min_radar_dBz = -66.1 ; :processing_parameters__qc_params__backscat_snr = 1. ; :processing_parameters__qc_params__mol_lost = 1. ; :processing_parameters__qc_params__min_radar_backscat = 1.e-15 ; :processing_parameters__particlesettings__g_water = 1. ; :processing_parameters__particlesettings__h20_depol_threshold = 0.05 ; :processing_parameters__particlesettings__sigma_v = 0.26 ; :processing_parameters__particlesettings__type = "Bullet Rosettes (Mitchell 1996)" ; :processing_parameters__particlesettings__alpha_ice = 1. ; :processing_parameters__particlesettings__p180_ice = 0.035 ; :processing_parameters__particlesettings__delta_v1 = 3. ; :processing_parameters__particlesettings__Dr = 60. ; :processing_parameters__particlesettings__g_ice = 1. ; :processing_parameters__particlesettings__delta_a1 = 2. ; :processing_parameters__particlesettings__alpha_water = 2. ; :processing_parameters__particlesettings__delta_v2 = 2.26 ; :processing_parameters__particlesettings__sigma_a = 1. ; :processing_parameters__particlesettings__delta_a2 = 1.57 ; } ================================================== netcdf acxhsrlM1.01.20150225.205810.raw.mf2hsrl_20150214T0000_20150215T0000_30s_30m { dimensions: time = UNLIMITED ; // (2878 currently) altitude = 667 ; time_vector = 8 ; calibration = 2 ; sondenamelength = 6 ; i2header = 900 ; geoheader = 200 ; apheader = 300 ; variables: int base_time ; base_time:string = "2015-02-14 00:00:09 UTC" ; base_time:long_name = "Base seconds since Unix Epoch" ; base_time:units = "seconds since 1970-01-01 00:00:00 UTC" ; short first_time(time_vector) ; first_time:long_name = "First Time in file" ; short last_time(time_vector) ; last_time:long_name = "Last Time in file" ; double time(time) ; time:long_name = "Time" ; time:units = "seconds since 2015-02-14 00:00:09 UTC" ; double time_offset(time) ; time_offset:long_name = "Time offset from base_time" ; time_offset:description = "same times as \"First time in record\" " ; time_offset:units = "seconds since 2015-02-14 00:00:09 UTC" ; short start_time(time, time_vector) ; start_time:long_name = "First Time in record" ; start_time:description = "time of first laser shot in averaging interval" ; float latitude ; latitude:long_name = "latitude of lidar" ; latitude:units = "degree_N" ; float longitude ; longitude:long_name = "longitude of lidar" ; longitude:units = "degree_W" ; float range_resolution ; range_resolution:long_name = "Range resolution" ; range_resolution:description = "vertical distance between data points after averaging" ; range_resolution:units = "meters" ; float time_average ; time_average:long_name = "Time Averaging Width" ; time_average:description = "Time between data points after averaging" ; time_average:units = "seconds" ; short new_cal_times(calibration, time_vector) ; new_cal_times:long_name = "Time of Calibration Change" ; new_cal_times:description = "New raob or system calibration data triggered recalibration" ; float altitude(altitude) ; altitude:long_name = "Height above lidar" ; altitude:units = "meters" ; byte new_cal_trigger(calibration) ; new_cal_trigger:long_name = "Trigger of Calibration Change" ; new_cal_trigger:description = "reason for recalibration" ; new_cal_trigger:bit_0 = "radiosonde profile" ; new_cal_trigger:bit_1 = "i2 scan" ; new_cal_trigger:bit_2 = "geometry" ; short new_cal_offset(calibration) ; new_cal_offset:long_name = "Record Dimension equivalent Offset" ; new_cal_offset:min_value = 0 ; float top_alt_sounding(calibration) ; top_alt_sounding:long_name = "Sounding Maximum Altitude" ; top_alt_sounding:units = "meters" ; float temperature_profile(calibration, altitude) ; temperature_profile:long_name = "Raob Temperature Profile" ; temperature_profile:description = "Temperature interpolated to requested altitude resolution" ; temperature_profile:units = "degrees Kelvin" ; float pressure_profile(calibration, altitude) ; pressure_profile:long_name = "Raob pressure Profile" ; pressure_profile:description = "Pressure interpolated to requested altitude resolution" ; pressure_profile:units = "hectopascals" ; float dewpoint_profile(calibration, altitude) ; dewpoint_profile:long_name = "Raob Dewpoint Temperature Profile" ; dewpoint_profile:description = "Dewpoint interpolated to requested altitude resolution" ; dewpoint_profile:units = "degrees Kelvin" ; dewpoint_profile:missing_value = NaN ; float windspeed_profile(calibration, altitude) ; windspeed_profile:long_name = "Raob Wind Speed Profile" ; windspeed_profile:description = "Speeds interpolated to requested altitude resolution" ; windspeed_profile:units = "m/s" ; windspeed_profile:missing_value = NaN ; float winddir_profile(calibration, altitude) ; winddir_profile:long_name = "Raob Wind Direction Profile" ; winddir_profile:description = "Directions interpolated to requested altitude resolution" ; winddir_profile:units = "degrees" ; winddir_profile:missing_value = NaN ; char raob_station(calibration, sondenamelength) ; raob_station:long_name = "Radiosonde Station ID" ; char i2_txt_header(calibration, i2header) ; i2_txt_header:long_name = "i2_scan_file_text_info" ; i2_txt_header:description = "Contains name of file used to compute calibration" ; char geo_txt_header(calibration, geoheader) ; geo_txt_header:long_name = "geometric_correction_file_txt_header." ; char ap_txt_header(calibration, apheader) ; ap_txt_header:long_name = "afterpulse_correction_file_txt_header." ; double raob_time_offset(calibration) ; raob_time_offset:units = "seconds" ; raob_time_offset:long_name = "Radiosonde Launch time offset" ; raob_time_offset:description = "Time after base time in seconds" ; short raob_time_vector(calibration, time_vector) ; raob_time_vector:long_name = "Radiosonde Launch time vector" ; raob_time_vector:description = "Time in [year month day hour min sec ms us] format" ; float Cmc(calibration, altitude) ; Cmc:long_name = "Molecular in Combined Calibration" ; float Cmm(calibration, altitude) ; Cmm:long_name = "Molecular in Molecular Calibration" ; float Cam(calibration, altitude) ; Cam:long_name = "Aerosol in Molecular Calibration" ; float beta_m(calibration, altitude) ; beta_m:long_name = "Raob molecular scattering cross section per unit volume" ; beta_m:units = "1/meter" ; beta_m:plot_scale = "logarithmic" ; float transmitted_energy(time) ; transmitted_energy:long_name = "Transmitted Energy" ; transmitted_energy:units = "Joules" ; transmitted_energy:missing_value = NaN ; float piezovoltage(time) ; piezovoltage:long_name = "piezovoltage" ; piezovoltage:units = "Volts" ; piezovoltage:missing_value = NaN ; int num_seeded_shots(time) ; num_seeded_shots:long_name = "Number of Seeded Shots" ; num_seeded_shots:missing_value = -1 ; float seed_quality(time) ; seed_quality:long_name = "Laser Seeding Quality" ; seed_quality:description = "The ratio of seeded shots to total shots. Only seeded shot data is stored and processed. A low seed ratio can result in low noise resistance." ; seed_quality:missing_value = NaN ; seed_quality:range = 0., 1. ; float frequency_quality(time) ; frequency_quality:long_name = "Laser Frequency Quality" ; frequency_quality:description = "An ratio average of how good the frequency lock is per raw interval. A low value can result in poor separation of molecular and aerosol counts." ; frequency_quality:missing_value = NaN ; frequency_quality:range = 0., 1. ; float lock_quality(time) ; lock_quality:long_name = "Laser Lock Quality" ; lock_quality:description = "A ratio of likely locked intervals (frequency_quality>=.5) to seeded intervals. A low value can result in poor separation of molecular and aerosol counts." ; lock_quality:missing_value = NaN ; lock_quality:range = 0., 1. ; float mol_cal_pulse(time) ; mol_cal_pulse:long_name = "Molecular calibration pulse" ; mol_cal_pulse:description = "Sum of photon counts in the molecular channel due to light scattered with the telescope." ; mol_cal_pulse:units = "counts" ; mol_cal_pulse:missing_value = NaN ; float c_pol_dark_count(time, altitude) ; c_pol_dark_count:long_name = "Cross Polarization Dark Count" ; c_pol_dark_count:description = "total counts per averaging interval(eg. one altitude, one time)" ; c_pol_dark_count:units = "counts" ; c_pol_dark_count:missing_value = NaN ; float mol_dark_count(time, altitude) ; mol_dark_count:long_name = "Molecular Dark Count" ; mol_dark_count:description = "total counts per averaging interval(eg. one altitude, one time)" ; mol_dark_count:units = "counts" ; mol_dark_count:missing_value = NaN ; float combined_dark_count_lo(time, altitude) ; combined_dark_count_lo:long_name = "Low Gain Combined Dark Count" ; combined_dark_count_lo:description = "total counts per averaging interval(eg. one altitude, one time)" ; combined_dark_count_lo:units = "counts" ; combined_dark_count_lo:missing_value = NaN ; float combined_dark_count_hi(time, altitude) ; combined_dark_count_hi:long_name = "High Gain Combined Dark Count" ; combined_dark_count_hi:description = "total counts per averaging interval(eg. one altitude, one time)" ; combined_dark_count_hi:units = "counts" ; combined_dark_count_hi:missing_value = NaN ; float combined_gain(calibration) ; combined_gain:long_name = "Combined Gain Factor" ; combined_gain:description = "Low Gain level * Factor ~ High Gain level" ; float combined_merge_threshhold(calibration) ; combined_merge_threshhold:long_name = "Combined Merge Threshhold" ; float geo_cor(calibration, altitude) ; geo_cor:long_name = "Overlap correction" ; geo_cor:description = "Geometric overlap correction averaged to requested altitude resolution" ; geo_cor:units = " " ; geo_cor:missing_value = NaN ; geo_cor:plot_scale = "logarithmic" ; float od(time, altitude) ; od:long_name = "Optical depth of particulate" ; od:units = " " ; od:missing_value = NaN ; od:insufficient_data = Infinity ; od:plot_scale = "logarithmic" ; float profile_od(altitude) ; profile_od:long_name = "Optical depth of particulate Profile" ; profile_od:units = " " ; profile_od:missing_value = NaN ; profile_od:insufficient_data = Infinity ; profile_od:plot_scale = "logarithmic" ; float beta_a(time, altitude) ; beta_a:long_name = "Particulate extinction cross section per unit volume" ; beta_a:units = "1/m" ; beta_a:missing_value = NaN ; beta_a:plot_scale = "logarithmic" ; float atten_beta_r_backscat(time, altitude) ; atten_beta_r_backscat:long_name = "Attenuated Molecular return" ; atten_beta_r_backscat:units = "1/(m sr)" ; atten_beta_r_backscat:missing_value = NaN ; atten_beta_r_backscat:plot_scale = "logarithmic" ; float profile_atten_beta_r_backscat(altitude) ; profile_atten_beta_r_backscat:long_name = "Attenuated Molecular Profile" ; profile_atten_beta_r_backscat:units = "1/(m sr)" ; profile_atten_beta_r_backscat:missing_value = NaN ; profile_atten_beta_r_backscat:plot_scale = "logarithmic" ; float depol(time, altitude) ; depol:long_name = "Circular depolarization ratio for particulate" ; depol:description = "left circular return divided by right circular return" ; depol:units = " " ; depol:missing_value = NaN ; depol:plot_scale = "logarithmic" ; float profile_depol(altitude) ; profile_depol:long_name = "Circular depolarization ratio profile for particulate" ; profile_depol:description = "left circular return divided by right circular return" ; profile_depol:units = " " ; profile_depol:missing_value = NaN ; profile_depol:plot_scale = "logarithmic" ; int molecular_counts(time, altitude) ; molecular_counts:long_name = "Molecular Photon Counts" ; molecular_counts:description = "Raw counts, per averaging interval with pileup, afterpulse, and darkcount corrections applied" ; molecular_counts:units = "counts" ; molecular_counts:missing_value = -1 ; molecular_counts:plot_scale = "logarithmic" ; float profile_molecular_counts(altitude) ; profile_molecular_counts:long_name = "Molecular Photon Counts profile" ; profile_molecular_counts:description = "Raw counts, per averaging interval with pileup, afterpulse, and darkcount corrections applied" ; profile_molecular_counts:units = "counts" ; profile_molecular_counts:missing_value = -1 ; profile_molecular_counts:plot_scale = "logarithmic" ; int combined_counts_lo(time, altitude) ; combined_counts_lo:long_name = "Low Gain Combined Photon Counts" ; combined_counts_lo:description = "Raw counts, per averaging interval with pileup, afterpulse, and darkcount corrections applied" ; combined_counts_lo:units = "counts" ; combined_counts_lo:missing_value = -1 ; combined_counts_lo:plot_scale = "logarithmic" ; int combined_counts_hi(time, altitude) ; combined_counts_hi:long_name = "High Gain Combined Photon Counts" ; combined_counts_hi:description = "Raw counts, per averaging interval with pileup, afterpulse, and darkcount corrections applied" ; combined_counts_hi:units = "counts" ; combined_counts_hi:missing_value = -1 ; combined_counts_hi:plot_scale = "logarithmic" ; float profile_combined_counts_lo(altitude) ; profile_combined_counts_lo:long_name = "Low Gain Combined Photon Counts profile" ; profile_combined_counts_lo:description = "Raw counts, per averaging interval with pileup, afterpulse, and darkcount corrections applied" ; profile_combined_counts_lo:units = "counts" ; profile_combined_counts_lo:missing_value = -1 ; profile_combined_counts_lo:plot_scale = "logarithmic" ; float profile_combined_counts_hi(altitude) ; profile_combined_counts_hi:long_name = "High Gain Combined Photon Counts profile" ; profile_combined_counts_hi:description = "Raw counts, per averaging interval with pileup, afterpulse, and darkcount corrections applied" ; profile_combined_counts_hi:units = "counts" ; profile_combined_counts_hi:missing_value = -1 ; profile_combined_counts_hi:plot_scale = "logarithmic" ; int cross_counts(time, altitude) ; cross_counts:long_name = "Cross Polarized Photon Counts" ; cross_counts:description = "Raw counts, per averaging interval with pileup, afterpulse, and darkcount corrections applied" ; cross_counts:units = "counts" ; cross_counts:missing_value = -1 ; cross_counts:plot_scale = "logarithmic" ; float profile_cross_counts(altitude) ; profile_cross_counts:long_name = "Cross Polarized Photon Counts profile" ; profile_cross_counts:description = "Raw counts, per averaging interval with pileup, afterpulse, and darkcount corrections applied" ; profile_cross_counts:units = "counts" ; profile_cross_counts:missing_value = -1 ; profile_cross_counts:plot_scale = "logarithmic" ; float beta_a_backscat(time, altitude) ; beta_a_backscat:long_name = "Particulate backscatter cross section per unit volume" ; beta_a_backscat:units = "1/(m sr)" ; beta_a_backscat:missing_value = NaN ; beta_a_backscat:plot_scale = "logarithmic" ; float profile_beta_a_backscat(altitude) ; profile_beta_a_backscat:long_name = "Particulate backscatter cross section profile" ; profile_beta_a_backscat:units = "1/(m sr)" ; profile_beta_a_backscat:missing_value = NaN ; profile_beta_a_backscat:plot_scale = "logarithmic" ; float profile_beta_m(altitude) ; profile_beta_m:long_name = "Raob molecular scattering cross section profile" ; profile_beta_m:units = "1/meter" ; profile_beta_m:plot_scale = "logarithmic" ; int qc_mask(time, altitude) ; qc_mask:long_name = "Quality Mask" ; qc_mask:description = "Quality mask bitfield. Unused bits are always high" ; qc_mask:missing_value = 0 ; qc_mask:_Unsigned = "true" ; qc_mask:bit_0 = "complete_mask" ; qc_mask:bit_0_description = "data is good. and of bits 1-9" ; qc_mask:bit_1 = "lidar_ok_mask" ; qc_mask:bit_1_description = "lidar data is present" ; qc_mask:bit_2 = "lock_quality_mask" ; qc_mask:bit_2_description = "laser is locked to iodine filter wavelength" ; qc_mask:bit_3 = "seed_quality_mask" ; qc_mask:bit_3_description = "laser wavelength is locked to seed laser" ; qc_mask:bit_4 = "mol_count_snr_mask" ; qc_mask:bit_4_description = "molecular signal/photon counting error in molecular signal is above specified threshhold" ; qc_mask:bit_5 = "backscat_snr_mask" ; qc_mask:bit_5_description = "backscatter cross-section/photon counting error in backscatter cross-section is above specified threshhold" ; qc_mask:bit_6 = "mol_lost_mask" ; qc_mask:bit_6_description = "number of molecular photon counts is above specified threshhold" ; qc_mask:bit_7 = "min_backscat_mask" ; qc_mask:bit_7_description = "lidar backscatter cross-section is above specified threshhold" ; qc_mask:bit_8 = "radar_backscat_mask" ; qc_mask:bit_8_description = "radar backscatter cross-section is above specified threshhold" ; qc_mask:bit_9 = "radar_ok_mask" ; qc_mask:bit_9_description = "radar data is present" ; qc_mask:bit_10 = "aeri_ok_mask" ; qc_mask:bit_10_description = "aeri data is present" ; qc_mask:bit_11 = "aeri_qc_mask" ; qc_mask:bit_11_description = "aeri data has passed a quality check" ; float std_beta_a_backscat(time, altitude) ; std_beta_a_backscat:long_name = "Std dev of backscat cross section (photon counting)" ; std_beta_a_backscat:units = "1/(m sr)" ; std_beta_a_backscat:missing_value = NaN ; std_beta_a_backscat:plot_scale = "logarithmic" ; // global attributes: :code_version = "$Id: processed_netcdf.m,v 1.112 2009/11/10 20:53:41 jpgarcia Exp $" ; :load_calibration_version = "$Id: load_calibration.m,v 1.30 2010/03/30 19:16:51 eloranta Exp $" ; :get_internal_cal_vals_version = "$Id: get_internal_cal_vals.m,v 1.111 2009/11/02 19:50:29 jpgarcia Exp $" ; :calvals = "$Id: calvals_gvhsrl.m,v 1.75 2010/04/30 15:14:10 eloranta Exp $" ; :find_new_cal_times_version = "$Id: find_new_cal_times.m,v 1.22 2009/04/06 18:12:26 jpgarcia Exp $" ; :radiosonde_profile_version = "$Id: radiosonde_profile.m,v 1.31 2009/08/24 14:49:00 eloranta Exp $" ; :fetch_cal_version = "$Id: fetch_cal.m,v 1.30 2010/04/05 20:39:54 eloranta Exp $" ; :processed_netcdf_version = "$Id: processed_netcdf.m,v 1.112 2009/11/10 20:53:41 jpgarcia Exp $" ; :git_commit = "005c000d7c865bc4a3b50890a20dddac9a613863" ; :process_data_version = "$Id: process_data.m,v 1.248 2010/05/03 17:51:36 eloranta Exp $" ; :timefill_sum_version = "$Id: time_block.cc,v 1.55 2009/11/13 22:47:48 jpgarcia Exp $" ; :timefill_average_version = "$Id: time_block.cc,v 1.55 2009/11/13 22:47:48 jpgarcia Exp $" ; :file_version = 20050323 ; :time_zone = "UTC" ; :file_created = "2015-02-25 21:49:08" ; :Conventions = "COARDS" ; :time_axis_average_mode = "time" ; :time_axis_average_parameter = 30. ; :range_axis_average_parameter = 30. ; :featureset = 8175 ; :featureset_version = "$Revision: 1.16 $" ; :processing_parameters__qc_params__min_radar_alt = 200. ; :processing_parameters__qc_params__min_lidar_alt = 100. ; :processing_parameters__qc_params__lock_level = 0.6 ; :processing_parameters__qc_params__min_radar_dBz = -66.1 ; :processing_parameters__qc_params__backscat_snr = 1. ; :processing_parameters__qc_params__mol_lost = 1. ; :processing_parameters__qc_params__min_radar_backscat = 1.e-15 ; :processing_parameters__particlesettings__g_water = 1. ; :processing_parameters__particlesettings__h20_depol_threshold = 0.05 ; :processing_parameters__particlesettings__sigma_v = 0.26 ; :processing_parameters__particlesettings__type = "Bullet Rosettes (Mitchell 1996)" ; :processing_parameters__particlesettings__alpha_ice = 1. ; :processing_parameters__particlesettings__p180_ice = 0.035 ; :processing_parameters__particlesettings__delta_v1 = 3. ; :processing_parameters__particlesettings__Dr = 60. ; :processing_parameters__particlesettings__g_ice = 1. ; :processing_parameters__particlesettings__delta_a1 = 2. ; :processing_parameters__particlesettings__alpha_water = 2. ; :processing_parameters__particlesettings__delta_v2 = 2.26 ; :processing_parameters__particlesettings__sigma_a = 1. ; :processing_parameters__particlesettings__delta_a2 = 1.57 ; } ================================================== netcdf acxhsrlM1.01.20150225.205810.raw.mf2hsrl_20150215T0000_20150216T0000_30s_30m { dimensions: time = UNLIMITED ; // (1560 currently) altitude = 667 ; time_vector = 8 ; calibration = 2 ; sondenamelength = 6 ; i2header = 900 ; geoheader = 200 ; apheader = 300 ; variables: int base_time ; base_time:string = "2015-02-15 00:00:12 UTC" ; base_time:long_name = "Base seconds since Unix Epoch" ; base_time:units = "seconds since 1970-01-01 00:00:00 UTC" ; short first_time(time_vector) ; first_time:long_name = "First Time in file" ; short last_time(time_vector) ; last_time:long_name = "Last Time in file" ; double time(time) ; time:long_name = "Time" ; time:units = "seconds since 2015-02-15 00:00:12 UTC" ; double time_offset(time) ; time_offset:long_name = "Time offset from base_time" ; time_offset:description = "same times as \"First time in record\" " ; time_offset:units = "seconds since 2015-02-15 00:00:12 UTC" ; short start_time(time, time_vector) ; start_time:long_name = "First Time in record" ; start_time:description = "time of first laser shot in averaging interval" ; float latitude ; latitude:long_name = "latitude of lidar" ; latitude:units = "degree_N" ; float longitude ; longitude:long_name = "longitude of lidar" ; longitude:units = "degree_W" ; float range_resolution ; range_resolution:long_name = "Range resolution" ; range_resolution:description = "vertical distance between data points after averaging" ; range_resolution:units = "meters" ; float time_average ; time_average:long_name = "Time Averaging Width" ; time_average:description = "Time between data points after averaging" ; time_average:units = "seconds" ; short new_cal_times(calibration, time_vector) ; new_cal_times:long_name = "Time of Calibration Change" ; new_cal_times:description = "New raob or system calibration data triggered recalibration" ; float altitude(altitude) ; altitude:long_name = "Height above lidar" ; altitude:units = "meters" ; byte new_cal_trigger(calibration) ; new_cal_trigger:long_name = "Trigger of Calibration Change" ; new_cal_trigger:description = "reason for recalibration" ; new_cal_trigger:bit_0 = "radiosonde profile" ; new_cal_trigger:bit_1 = "i2 scan" ; new_cal_trigger:bit_2 = "geometry" ; short new_cal_offset(calibration) ; new_cal_offset:long_name = "Record Dimension equivalent Offset" ; new_cal_offset:min_value = 0 ; float top_alt_sounding(calibration) ; top_alt_sounding:long_name = "Sounding Maximum Altitude" ; top_alt_sounding:units = "meters" ; float temperature_profile(calibration, altitude) ; temperature_profile:long_name = "Raob Temperature Profile" ; temperature_profile:description = "Temperature interpolated to requested altitude resolution" ; temperature_profile:units = "degrees Kelvin" ; float pressure_profile(calibration, altitude) ; pressure_profile:long_name = "Raob pressure Profile" ; pressure_profile:description = "Pressure interpolated to requested altitude resolution" ; pressure_profile:units = "hectopascals" ; float dewpoint_profile(calibration, altitude) ; dewpoint_profile:long_name = "Raob Dewpoint Temperature Profile" ; dewpoint_profile:description = "Dewpoint interpolated to requested altitude resolution" ; dewpoint_profile:units = "degrees Kelvin" ; dewpoint_profile:missing_value = NaN ; float windspeed_profile(calibration, altitude) ; windspeed_profile:long_name = "Raob Wind Speed Profile" ; windspeed_profile:description = "Speeds interpolated to requested altitude resolution" ; windspeed_profile:units = "m/s" ; windspeed_profile:missing_value = NaN ; float winddir_profile(calibration, altitude) ; winddir_profile:long_name = "Raob Wind Direction Profile" ; winddir_profile:description = "Directions interpolated to requested altitude resolution" ; winddir_profile:units = "degrees" ; winddir_profile:missing_value = NaN ; char raob_station(calibration, sondenamelength) ; raob_station:long_name = "Radiosonde Station ID" ; char i2_txt_header(calibration, i2header) ; i2_txt_header:long_name = "i2_scan_file_text_info" ; i2_txt_header:description = "Contains name of file used to compute calibration" ; char geo_txt_header(calibration, geoheader) ; geo_txt_header:long_name = "geometric_correction_file_txt_header." ; char ap_txt_header(calibration, apheader) ; ap_txt_header:long_name = "afterpulse_correction_file_txt_header." ; double raob_time_offset(calibration) ; raob_time_offset:units = "seconds" ; raob_time_offset:long_name = "Radiosonde Launch time offset" ; raob_time_offset:description = "Time after base time in seconds" ; short raob_time_vector(calibration, time_vector) ; raob_time_vector:long_name = "Radiosonde Launch time vector" ; raob_time_vector:description = "Time in [year month day hour min sec ms us] format" ; float Cmc(calibration, altitude) ; Cmc:long_name = "Molecular in Combined Calibration" ; float Cmm(calibration, altitude) ; Cmm:long_name = "Molecular in Molecular Calibration" ; float Cam(calibration, altitude) ; Cam:long_name = "Aerosol in Molecular Calibration" ; float beta_m(calibration, altitude) ; beta_m:long_name = "Raob molecular scattering cross section per unit volume" ; beta_m:units = "1/meter" ; beta_m:plot_scale = "logarithmic" ; float transmitted_energy(time) ; transmitted_energy:long_name = "Transmitted Energy" ; transmitted_energy:units = "Joules" ; transmitted_energy:missing_value = NaN ; float piezovoltage(time) ; piezovoltage:long_name = "piezovoltage" ; piezovoltage:units = "Volts" ; piezovoltage:missing_value = NaN ; int num_seeded_shots(time) ; num_seeded_shots:long_name = "Number of Seeded Shots" ; num_seeded_shots:missing_value = -1 ; float seed_quality(time) ; seed_quality:long_name = "Laser Seeding Quality" ; seed_quality:description = "The ratio of seeded shots to total shots. Only seeded shot data is stored and processed. A low seed ratio can result in low noise resistance." ; seed_quality:missing_value = NaN ; seed_quality:range = 0., 1. ; float frequency_quality(time) ; frequency_quality:long_name = "Laser Frequency Quality" ; frequency_quality:description = "An ratio average of how good the frequency lock is per raw interval. A low value can result in poor separation of molecular and aerosol counts." ; frequency_quality:missing_value = NaN ; frequency_quality:range = 0., 1. ; float lock_quality(time) ; lock_quality:long_name = "Laser Lock Quality" ; lock_quality:description = "A ratio of likely locked intervals (frequency_quality>=.5) to seeded intervals. A low value can result in poor separation of molecular and aerosol counts." ; lock_quality:missing_value = NaN ; lock_quality:range = 0., 1. ; float mol_cal_pulse(time) ; mol_cal_pulse:long_name = "Molecular calibration pulse" ; mol_cal_pulse:description = "Sum of photon counts in the molecular channel due to light scattered with the telescope." ; mol_cal_pulse:units = "counts" ; mol_cal_pulse:missing_value = NaN ; float c_pol_dark_count(time, altitude) ; c_pol_dark_count:long_name = "Cross Polarization Dark Count" ; c_pol_dark_count:description = "total counts per averaging interval(eg. one altitude, one time)" ; c_pol_dark_count:units = "counts" ; c_pol_dark_count:missing_value = NaN ; float mol_dark_count(time, altitude) ; mol_dark_count:long_name = "Molecular Dark Count" ; mol_dark_count:description = "total counts per averaging interval(eg. one altitude, one time)" ; mol_dark_count:units = "counts" ; mol_dark_count:missing_value = NaN ; float combined_dark_count_lo(time, altitude) ; combined_dark_count_lo:long_name = "Low Gain Combined Dark Count" ; combined_dark_count_lo:description = "total counts per averaging interval(eg. one altitude, one time)" ; combined_dark_count_lo:units = "counts" ; combined_dark_count_lo:missing_value = NaN ; float combined_dark_count_hi(time, altitude) ; combined_dark_count_hi:long_name = "High Gain Combined Dark Count" ; combined_dark_count_hi:description = "total counts per averaging interval(eg. one altitude, one time)" ; combined_dark_count_hi:units = "counts" ; combined_dark_count_hi:missing_value = NaN ; float combined_gain(calibration) ; combined_gain:long_name = "Combined Gain Factor" ; combined_gain:description = "Low Gain level * Factor ~ High Gain level" ; float combined_merge_threshhold(calibration) ; combined_merge_threshhold:long_name = "Combined Merge Threshhold" ; float geo_cor(calibration, altitude) ; geo_cor:long_name = "Overlap correction" ; geo_cor:description = "Geometric overlap correction averaged to requested altitude resolution" ; geo_cor:units = " " ; geo_cor:missing_value = NaN ; geo_cor:plot_scale = "logarithmic" ; float od(time, altitude) ; od:long_name = "Optical depth of particulate" ; od:units = " " ; od:missing_value = NaN ; od:insufficient_data = Infinity ; od:plot_scale = "logarithmic" ; float profile_od(altitude) ; profile_od:long_name = "Optical depth of particulate Profile" ; profile_od:units = " " ; profile_od:missing_value = NaN ; profile_od:insufficient_data = Infinity ; profile_od:plot_scale = "logarithmic" ; float beta_a(time, altitude) ; beta_a:long_name = "Particulate extinction cross section per unit volume" ; beta_a:units = "1/m" ; beta_a:missing_value = NaN ; beta_a:plot_scale = "logarithmic" ; float atten_beta_r_backscat(time, altitude) ; atten_beta_r_backscat:long_name = "Attenuated Molecular return" ; atten_beta_r_backscat:units = "1/(m sr)" ; atten_beta_r_backscat:missing_value = NaN ; atten_beta_r_backscat:plot_scale = "logarithmic" ; float profile_atten_beta_r_backscat(altitude) ; profile_atten_beta_r_backscat:long_name = "Attenuated Molecular Profile" ; profile_atten_beta_r_backscat:units = "1/(m sr)" ; profile_atten_beta_r_backscat:missing_value = NaN ; profile_atten_beta_r_backscat:plot_scale = "logarithmic" ; float depol(time, altitude) ; depol:long_name = "Circular depolarization ratio for particulate" ; depol:description = "left circular return divided by right circular return" ; depol:units = " " ; depol:missing_value = NaN ; depol:plot_scale = "logarithmic" ; float profile_depol(altitude) ; profile_depol:long_name = "Circular depolarization ratio profile for particulate" ; profile_depol:description = "left circular return divided by right circular return" ; profile_depol:units = " " ; profile_depol:missing_value = NaN ; profile_depol:plot_scale = "logarithmic" ; int molecular_counts(time, altitude) ; molecular_counts:long_name = "Molecular Photon Counts" ; molecular_counts:description = "Raw counts, per averaging interval with pileup, afterpulse, and darkcount corrections applied" ; molecular_counts:units = "counts" ; molecular_counts:missing_value = -1 ; molecular_counts:plot_scale = "logarithmic" ; float profile_molecular_counts(altitude) ; profile_molecular_counts:long_name = "Molecular Photon Counts profile" ; profile_molecular_counts:description = "Raw counts, per averaging interval with pileup, afterpulse, and darkcount corrections applied" ; profile_molecular_counts:units = "counts" ; profile_molecular_counts:missing_value = -1 ; profile_molecular_counts:plot_scale = "logarithmic" ; int combined_counts_lo(time, altitude) ; combined_counts_lo:long_name = "Low Gain Combined Photon Counts" ; combined_counts_lo:description = "Raw counts, per averaging interval with pileup, afterpulse, and darkcount corrections applied" ; combined_counts_lo:units = "counts" ; combined_counts_lo:missing_value = -1 ; combined_counts_lo:plot_scale = "logarithmic" ; int combined_counts_hi(time, altitude) ; combined_counts_hi:long_name = "High Gain Combined Photon Counts" ; combined_counts_hi:description = "Raw counts, per averaging interval with pileup, afterpulse, and darkcount corrections applied" ; combined_counts_hi:units = "counts" ; combined_counts_hi:missing_value = -1 ; combined_counts_hi:plot_scale = "logarithmic" ; float profile_combined_counts_lo(altitude) ; profile_combined_counts_lo:long_name = "Low Gain Combined Photon Counts profile" ; profile_combined_counts_lo:description = "Raw counts, per averaging interval with pileup, afterpulse, and darkcount corrections applied" ; profile_combined_counts_lo:units = "counts" ; profile_combined_counts_lo:missing_value = -1 ; profile_combined_counts_lo:plot_scale = "logarithmic" ; float profile_combined_counts_hi(altitude) ; profile_combined_counts_hi:long_name = "High Gain Combined Photon Counts profile" ; profile_combined_counts_hi:description = "Raw counts, per averaging interval with pileup, afterpulse, and darkcount corrections applied" ; profile_combined_counts_hi:units = "counts" ; profile_combined_counts_hi:missing_value = -1 ; profile_combined_counts_hi:plot_scale = "logarithmic" ; int cross_counts(time, altitude) ; cross_counts:long_name = "Cross Polarized Photon Counts" ; cross_counts:description = "Raw counts, per averaging interval with pileup, afterpulse, and darkcount corrections applied" ; cross_counts:units = "counts" ; cross_counts:missing_value = -1 ; cross_counts:plot_scale = "logarithmic" ; float profile_cross_counts(altitude) ; profile_cross_counts:long_name = "Cross Polarized Photon Counts profile" ; profile_cross_counts:description = "Raw counts, per averaging interval with pileup, afterpulse, and darkcount corrections applied" ; profile_cross_counts:units = "counts" ; profile_cross_counts:missing_value = -1 ; profile_cross_counts:plot_scale = "logarithmic" ; float beta_a_backscat(time, altitude) ; beta_a_backscat:long_name = "Particulate backscatter cross section per unit volume" ; beta_a_backscat:units = "1/(m sr)" ; beta_a_backscat:missing_value = NaN ; beta_a_backscat:plot_scale = "logarithmic" ; float profile_beta_a_backscat(altitude) ; profile_beta_a_backscat:long_name = "Particulate backscatter cross section profile" ; profile_beta_a_backscat:units = "1/(m sr)" ; profile_beta_a_backscat:missing_value = NaN ; profile_beta_a_backscat:plot_scale = "logarithmic" ; float profile_beta_m(altitude) ; profile_beta_m:long_name = "Raob molecular scattering cross section profile" ; profile_beta_m:units = "1/meter" ; profile_beta_m:plot_scale = "logarithmic" ; int qc_mask(time, altitude) ; qc_mask:long_name = "Quality Mask" ; qc_mask:description = "Quality mask bitfield. Unused bits are always high" ; qc_mask:missing_value = 0 ; qc_mask:_Unsigned = "true" ; qc_mask:bit_0 = "complete_mask" ; qc_mask:bit_0_description = "data is good. and of bits 1-9" ; qc_mask:bit_1 = "lidar_ok_mask" ; qc_mask:bit_1_description = "lidar data is present" ; qc_mask:bit_2 = "lock_quality_mask" ; qc_mask:bit_2_description = "laser is locked to iodine filter wavelength" ; qc_mask:bit_3 = "seed_quality_mask" ; qc_mask:bit_3_description = "laser wavelength is locked to seed laser" ; qc_mask:bit_4 = "mol_count_snr_mask" ; qc_mask:bit_4_description = "molecular signal/photon counting error in molecular signal is above specified threshhold" ; qc_mask:bit_5 = "backscat_snr_mask" ; qc_mask:bit_5_description = "backscatter cross-section/photon counting error in backscatter cross-section is above specified threshhold" ; qc_mask:bit_6 = "mol_lost_mask" ; qc_mask:bit_6_description = "number of molecular photon counts is above specified threshhold" ; qc_mask:bit_7 = "min_backscat_mask" ; qc_mask:bit_7_description = "lidar backscatter cross-section is above specified threshhold" ; qc_mask:bit_8 = "radar_backscat_mask" ; qc_mask:bit_8_description = "radar backscatter cross-section is above specified threshhold" ; qc_mask:bit_9 = "radar_ok_mask" ; qc_mask:bit_9_description = "radar data is present" ; qc_mask:bit_10 = "aeri_ok_mask" ; qc_mask:bit_10_description = "aeri data is present" ; qc_mask:bit_11 = "aeri_qc_mask" ; qc_mask:bit_11_description = "aeri data has passed a quality check" ; float std_beta_a_backscat(time, altitude) ; std_beta_a_backscat:long_name = "Std dev of backscat cross section (photon counting)" ; std_beta_a_backscat:units = "1/(m sr)" ; std_beta_a_backscat:missing_value = NaN ; std_beta_a_backscat:plot_scale = "logarithmic" ; // global attributes: :code_version = "$Id: processed_netcdf.m,v 1.112 2009/11/10 20:53:41 jpgarcia Exp $" ; :load_calibration_version = "$Id: load_calibration.m,v 1.30 2010/03/30 19:16:51 eloranta Exp $" ; :get_internal_cal_vals_version = "$Id: get_internal_cal_vals.m,v 1.111 2009/11/02 19:50:29 jpgarcia Exp $" ; :calvals = "$Id: calvals_gvhsrl.m,v 1.75 2010/04/30 15:14:10 eloranta Exp $" ; :find_new_cal_times_version = "$Id: find_new_cal_times.m,v 1.22 2009/04/06 18:12:26 jpgarcia Exp $" ; :radiosonde_profile_version = "$Id: radiosonde_profile.m,v 1.31 2009/08/24 14:49:00 eloranta Exp $" ; :fetch_cal_version = "$Id: fetch_cal.m,v 1.30 2010/04/05 20:39:54 eloranta Exp $" ; :processed_netcdf_version = "$Id: processed_netcdf.m,v 1.112 2009/11/10 20:53:41 jpgarcia Exp $" ; :git_commit = "005c000d7c865bc4a3b50890a20dddac9a613863" ; :process_data_version = "$Id: process_data.m,v 1.248 2010/05/03 17:51:36 eloranta Exp $" ; :timefill_sum_version = "$Id: time_block.cc,v 1.55 2009/11/13 22:47:48 jpgarcia Exp $" ; :timefill_average_version = "$Id: time_block.cc,v 1.55 2009/11/13 22:47:48 jpgarcia Exp $" ; :file_version = 20050323 ; :time_zone = "UTC" ; :file_created = "2015-02-25 21:51:17" ; :Conventions = "COARDS" ; :time_axis_average_mode = "time" ; :time_axis_average_parameter = 30. ; :range_axis_average_parameter = 30. ; :featureset = 8175 ; :featureset_version = "$Revision: 1.16 $" ; :processing_parameters__qc_params__min_radar_alt = 200. ; :processing_parameters__qc_params__min_lidar_alt = 100. ; :processing_parameters__qc_params__lock_level = 0.6 ; :processing_parameters__qc_params__min_radar_dBz = -66.1 ; :processing_parameters__qc_params__backscat_snr = 1. ; :processing_parameters__qc_params__mol_lost = 1. ; :processing_parameters__qc_params__min_radar_backscat = 1.e-15 ; :processing_parameters__particlesettings__g_water = 1. ; :processing_parameters__particlesettings__h20_depol_threshold = 0.05 ; :processing_parameters__particlesettings__sigma_v = 0.26 ; :processing_parameters__particlesettings__type = "Bullet Rosettes (Mitchell 1996)" ; :processing_parameters__particlesettings__alpha_ice = 1. ; :processing_parameters__particlesettings__p180_ice = 0.035 ; :processing_parameters__particlesettings__delta_v1 = 3. ; :processing_parameters__particlesettings__Dr = 60. ; :processing_parameters__particlesettings__g_ice = 1. ; :processing_parameters__particlesettings__delta_a1 = 2. ; :processing_parameters__particlesettings__alpha_water = 2. ; :processing_parameters__particlesettings__delta_v2 = 2.26 ; :processing_parameters__particlesettings__sigma_a = 1. ; :processing_parameters__particlesettings__delta_a2 = 1.57 ; } ==================================================