MPLNET NETCDF4 File Format
netcdf    MPLNET_V3_L1_NRB_YYYYMMDD_MPLXXXXX_SITE {
dimensions:
        wavelength = 1
;
        days = 1 ;
        time = 1440 ;
        altitude = 400 ;
        box = 1 ;
        detector = 1 ;
        laser = 1 ;
        flc = 1 ;
variables:
        float latitude(time) ;
                latitude:standard_name = "latitude"
                latitude:units = "degrees_north"
        float longitude(time) ;
                longitude:standard_name = "longitude"
                longitude:units = "degrees_east"
        float surface_altitude(time) ;
                surface_altitude:long_name = "transceiver height above sea level"
                surface_altitude:standard_name = "surface_altitude"
                surface_altitude:units = "km"
                surface_altitude:positive = "up"
                surface_altitude:grid_bias = "center"
        float zenith(time) ;
                zenith:standard_name = "sensor_zenith_angle"
                zenith:long_name = "transceiver nadir angle"
                zenith:units = "degrees"
                zenith:scale_factor = -1.00000
                zenith:add_offset = 180.000
        float azimuth(time) ;
                azimuth:standard_name = "sensor_azimuth_angle"
                azimuth:long_name = "transceiver compass angle"
                azimuth:units = "degrees"
                azimuth:reference_direction = "north"
                azimuth:scale_factor = 1.00000
                azimuth:add_offset = -180.000
        double time(time) ;
                time:standard_name = "time"
                time:long_name = "gridded observation time"
                time:ancillary_variables = "time_resolution"
                time:units = "days since -4713-01-01 12:00:00 UTC"
                time:calendar = "gregorian"
                time:resolution = "time_resolution"
                time:grid_bias = "center"
        double time_resolution
                time_resolution:long_name = "resolution of gridded observation time"
                time_resolution:units = "day"
        double time_average(time) ;
                time_average:long_name = "temporal averaging period used to produce data at the gridded observation time"
                time_average:units = "min"
        float altitude(altitude,time) ;
                altitude:standard_name = "altitude"
                altitude:long_name = "height above sea level"
                altitude:ancillary_variables = "altitude_resolution"
                altitude:units = "km"
                altitude:positive = "up"
                altitude:resolution = "altitude_resolution"
                altitude:grid_bias = "center"
        float altitude_resolution
                altitude_resolution:long_name = "resolution of height above sea level"
                altitude_resolution:units = "km"
        float wavelength(days) ;
                wavelength:standard_name = "sensor_band_central_radiation_wavelength"
                wavelength:units = "nm"
        float range(altitude,days,wavelength) ;
                range:long_name = "range from transceiver"
                range:ancillary_variables = "range_resolution"
                range:units = "km"
                range:resolution = "range_resolution"
                range:grid_bias = "center"
        float range_resolution(days) ;
                range_resolution:long_name = "resolution of range from transceiver"
                range_resolution:units = "km"
        double time_resolution_original(time,wavelength) ;
                time_resolution_original:long_name = "resolution of measured observation time"
                time_resolution_original:units = "day"
        float range_resolution_original(time,wavelength) ;
                range_resolution_original:long_name = "resolution of measured range from transceiver"
                range_resolution_original:units = "km"
        byte channels_available(days) ;
                channels_available:long_name = "signal channels"
                channels_available:flag_masks = 1, 2, 4, 8, 16
                channels_available:flag_values = 1, 2, 4, 8, 16
                channels_available:flag_meanings = "total, copolar, crosspolar, raman, hsrl"
                channels_available:comment = "Channel refers to data signal channels, not instrument signal channels."
        float pulse_count(time,wavelength) ;
                pulse_count:long_name = "lidar pulses per time bin"
        float pulse_rate(time,wavelength) ;
                pulse_rate:long_name = "rate of lidar pulse emission"
                pulse_rate:units = "Hz"
        float integrated_bin_time(time,wavelength) ;
                integrated_bin_time:long_name = "integration period per time bin per range bin"
                integrated_bin_time:units = "ns"
        float bin_time_per_pulse(time,wavelength) ;
                bin_time_per_pulse:long_name = "integration period per range bin per pulse"
                bin_time_per_pulse:units = "ns"
        float nrb(altitude,time,wavelength) ;
                nrb:long_name = "normalized relative backscatter"
                nrb:units = "MHz km2 uJ-1"
                nrb:time_average = "time_average"
                nrb:qa_high_flags = "flag_data, flag_data_hsrl, flag_data_raman, flag_calibration_l0, flag_temperature_correction, flag_energy, flag_temp_box, flag_temp_detector, flag_temp_laser, flag_temp_flc"
                nrb:qa_high_values = "0:1, 0:1, 0:1, 0:1, 0:1, 0:1, 0:1, 0:1, 0:1, 0:1"
                nrb:qa_mod_flags = "none"
                nrb:qa_mod_values = "none"
                nrb:qa_low_flags = "none"
                nrb:qa_low_values = "none"
        float nrb_err(altitude,time,wavelength) ;
                nrb_err:long_name = "uncertainty normalized relative backscatter"
                nrb_err:units = "MHz km2 uJ-1"
                nrb_err:qa_high_flags = "flag_data, flag_data_hsrl, flag_data_raman, flag_calibration_l0, flag_temperature_correction, flag_energy, flag_temp_box, flag_temp_detector, flag_temp_laser, flag_temp_flc"
                nrb_err:qa_high_values = "0:1, 0:1, 0:1, 0:1, 0:1, 0:1, 0:1, 0:1, 0:1, 0:1"
                nrb_err:qa_mod_flags = "none"
                nrb_err:qa_mod_values = "none"
                nrb_err:qa_low_flags = "none"
                nrb_err:qa_low_values = "none"
        float nrb_co(altitude,time,wavelength) ;
                nrb_co:long_name = "copolar normalized relative backscatter"
                nrb_co:units = "MHz km2 uJ-1"
                nrb_co:qa_high_flags = "flag_data, flag_data_hsrl, flag_data_raman, flag_calibration_l0, flag_temperature_correction, flag_energy, flag_temp_box, flag_temp_detector, flag_temp_laser, flag_temp_flc"
                nrb_co:qa_high_values = "0:1, 0:1, 0:1, 0:1, 0:1, 0:1, 0:1, 0:1, 0:1, 0:1"
                nrb_co:qa_mod_flags = "none"
                nrb_co:qa_mod_values = "none"
                nrb_co:qa_low_flags = "none"
                nrb_co:qa_low_values = "none"
        float nrb_co_err(altitude,time,wavelength) ;
                nrb_co_err:long_name = "uncertainty in copolar normalized relative backscatter"
                nrb_co_err:units = "MHz km2 uJ-1"
                nrb_co_err:qa_high_flags = "flag_data, flag_data_hsrl, flag_data_raman, flag_calibration_l0, flag_temperature_correction, flag_energy, flag_temp_box, flag_temp_detector, flag_temp_laser, flag_temp_flc"
                nrb_co_err:qa_high_values = "0:1, 0:1, 0:1, 0:1, 0:1, 0:1, 0:1, 0:1, 0:1, 0:1"
                nrb_co_err:qa_mod_flags = "none"
                nrb_co_err:qa_mod_values = "none"
                nrb_co_err:qa_low_flags = "none"
                nrb_co_err:qa_low_values = "none"
        float nrb_cross(altitude,time,wavelength) ;
                nrb_cross:long_name = "crosspolar normalized relative backscatter"
                nrb_cross:units = "MHz km2 uJ-1"
                nrb_cross:qa_high_flags = "flag_data, flag_data_hsrl, flag_data_raman, flag_calibration_l0, flag_temperature_correction, flag_energy, flag_temp_box, flag_temp_detector, flag_temp_laser, flag_temp_flc"
                nrb_cross:qa_high_values = "0:1, 0:1, 0:1, 0:1, 0:1, 0:1, 0:1, 0:1, 0:1, 0:1"
                nrb_cross:qa_mod_flags = "none"
                nrb_cross:qa_mod_values = "none"
                nrb_cross:qa_low_flags = "none"
                nrb_cross:qa_low_values = "none"
        float nrb_cross_err(altitude,time,wavelength) ;
                nrb_cross_err:long_name = "uncertainty in crosspolar normalized relative backscatter"
                nrb_cross_err:units = "MHz km2 uJ-1"
                nrb_cross_err:qa_high_flags = "flag_data, flag_data_hsrl, flag_data_raman, flag_calibration_l0, flag_temperature_correction, flag_energy, flag_temp_box, flag_temp_detector, flag_temp_laser, flag_temp_flc"
                nrb_cross_err:qa_high_values = "0:1, 0:1, 0:1, 0:1, 0:1, 0:1, 0:1, 0:1, 0:1, 0:1"
                nrb_cross_err:qa_mod_flags = "none"
                nrb_cross_err:qa_mod_values = "none"
                nrb_cross_err:qa_low_flags = "none"
                nrb_cross_err:qa_low_values = "none"
        float vol_depol_ratio(altitude,time,wavelength) ;
                vol_depol_ratio:long_name = "linear volume depolarization ratio"
                vol_depol_ratio:comment = "The MPL linear volume depolarization ratio is only applicable for cases of single scattering from rotationally symmetric randomly oriented particles or particle ensembles having a plane of symmetry at 180 degree scattering angle. For more information contact MPLNET staff."
                vol_depol_ratio:qa_high_flags = "flag_data, flag_data_hsrl, flag_data_raman, flag_calibration_l0, flag_temperature_correction, flag_energy, flag_temp_box, flag_temp_detector, flag_temp_laser, flag_temp_flc"
                vol_depol_ratio:qa_high_values = "0:1, 0:1, 0:1, 0:1, 0:1, 0:1, 0:1, 0:1, 0:1, 0:1"
                vol_depol_ratio:qa_mod_flags = "none"
                vol_depol_ratio:qa_mod_values = "none"
                vol_depol_ratio:qa_low_flags = "none"
                vol_depol_ratio:qa_low_values = "none"
        float vol_depol_ratio_err(altitude,time,wavelength) ;
                vol_depol_ratio_err:long_name = "uncertainty in linear volume depolarization ratio"
                vol_depol_ratio_err:comment = "The MPL linear volume depolarization ratio is only applicable for cases of single scattering from rotationally symmetric randomly oriented particles or particle ensembles having a plane of symmetry at 180 degree scattering angle. For more information contact MPLNET staff."
                vol_depol_ratio_err:qa_high_flags = "flag_data, flag_data_hsrl, flag_data_raman, flag_calibration_l0, flag_temperature_correction, flag_energy, flag_temp_box, flag_temp_detector, flag_temp_laser, flag_temp_flc"
                vol_depol_ratio_err:qa_high_values = "0:1, 0:1, 0:1, 0:1, 0:1, 0:1, 0:1, 0:1, 0:1, 0:1"
                vol_depol_ratio_err:qa_mod_flags = "none"
                vol_depol_ratio_err:qa_mod_values = "none"
                vol_depol_ratio_err:qa_low_flags = "none"
                vol_depol_ratio_err:qa_low_values = "none"
        float bg(time,wavelength) ;
                bg:long_name = "total background photon count rate"
                bg:units = "MHz"
                bg:qa_high_flags = "flag_data, flag_data_hsrl, flag_data_raman, flag_calibration_l0, flag_temperature_correction, flag_energy, flag_temp_box, flag_temp_detector, flag_temp_laser, flag_temp_flc"
                bg:qa_high_values = "0:1, 0:1, 0:1, 0:1, 0:1, 0:1, 0:1, 0:1, 0:1, 0:1"
                bg:qa_mod_flags = "none"
                bg:qa_mod_values = "none"
                bg:qa_low_flags = "none"
                bg:qa_low_values = "none"
        float bg_err(time,wavelength) ;
                bg_err:long_name = "uncertainty in total background photon count rate"
                bg_err:units = "MHz"
                bg_err:qa_high_flags = "flag_data, flag_data_hsrl, flag_data_raman, flag_calibration_l0, flag_temperature_correction, flag_energy, flag_temp_box, flag_temp_detector, flag_temp_laser, flag_temp_flc"
                bg_err:qa_high_values = "0:1, 0:1, 0:1, 0:1, 0:1, 0:1, 0:1, 0:1, 0:1, 0:1"
                bg_err:qa_mod_flags = "none"
                bg_err:qa_mod_values = "none"
                bg_err:qa_low_flags = "none"
                bg_err:qa_low_values = "none"
        float bg_co(time,wavelength) ;
                bg_co:long_name = "total copolar background photon count rate"
                bg_co:units = "MHz"
                bg_co:qa_high_flags = "flag_data, flag_data_hsrl, flag_data_raman, flag_calibration_l0, flag_temperature_correction, flag_energy, flag_temp_box, flag_temp_detector, flag_temp_laser, flag_temp_flc"
                bg_co:qa_high_values = "0:1, 0:1, 0:1, 0:1, 0:1, 0:1, 0:1, 0:1, 0:1, 0:1"
                bg_co:qa_mod_flags = "none"
                bg_co:qa_mod_values = "none"
                bg_co:qa_low_flags = "none"
                bg_co:qa_low_values = "none"
        float bg_co_err(time,wavelength) ;
                bg_co_err:long_name = "uncertainty in copolar background photon count rate"
                bg_co_err:units = "MHz"
                bg_co_err:qa_high_flags = "flag_data, flag_data_hsrl, flag_data_raman, flag_calibration_l0, flag_temperature_correction, flag_energy, flag_temp_box, flag_temp_detector, flag_temp_laser, flag_temp_flc"
                bg_co_err:qa_high_values = "0:1, 0:1, 0:1, 0:1, 0:1, 0:1, 0:1, 0:1, 0:1, 0:1"
                bg_co_err:qa_mod_flags = "none"
                bg_co_err:qa_mod_values = "none"
                bg_co_err:qa_low_flags = "none"
                bg_co_err:qa_low_values = "none"
        float bg_cross(time,wavelength) ;
                bg_cross:long_name = "total crosspolar background photon count rate"
                bg_cross:units = "MHz"
                bg_cross:qa_high_flags = "flag_data, flag_data_hsrl, flag_data_raman, flag_calibration_l0, flag_temperature_correction, flag_energy, flag_temp_box, flag_temp_detector, flag_temp_laser, flag_temp_flc"
                bg_cross:qa_high_values = "0:1, 0:1, 0:1, 0:1, 0:1, 0:1, 0:1, 0:1, 0:1, 0:1"
                bg_cross:qa_mod_flags = "none"
                bg_cross:qa_mod_values = "none"
                bg_cross:qa_low_flags = "none"
                bg_cross:qa_low_values = "none"
        float bg_cross_err(time,wavelength) ;
                bg_cross_err:long_name = "uncertainty in crosspolar background photon count rate"
                bg_cross_err:units = "MHz"
                bg_cross_err:qa_high_flags = "flag_data, flag_data_hsrl, flag_data_raman, flag_calibration_l0, flag_temperature_correction, flag_energy, flag_temp_box, flag_temp_detector, flag_temp_laser, flag_temp_flc"
                bg_cross_err:qa_high_values = "0:1, 0:1, 0:1, 0:1, 0:1, 0:1, 0:1, 0:1, 0:1, 0:1"
                bg_cross_err:qa_mod_flags = "none"
                bg_cross_err:qa_mod_values = "none"
                bg_cross_err:qa_low_flags = "none"
                bg_cross_err:qa_low_values = "none"
        float energy(time,wavelength) ;
                energy:long_name = "emitted lidar energy per pulse"
                energy:units = "uJ"
                energy:comment = "Total emitted lidar energy per bin is (energy * pulse_count)."
        float energy_set_point(days) ;
                energy_set_point:long_name = "ideal emitted lidar energy per pulse"
                energy_set_point:units = "uJ"
                energy_set_point:comment = "Total emitted lidar energy per bin is (energy * pulse_count)."
        float temp_box(time,box) ;
                temp_box:long_name = "lidar ambient temperature"
                temp_box:units = "Celsius"
        float temp_detector(time,detector) ;
                temp_detector:long_name = "lidar detector temperature"
                temp_detector:units = "Celsius"
        float temp_laser(time,laser) ;
                temp_laser:long_name = "lidar laser head temperature"
                temp_laser:units = "Celsius"
        float temp_flc(time,flc) ;
                temp_flc:long_name = "lidar FLC temperature"
                temp_flc:units = "Celsius"
        float temp_ol(days) ;
                temp_ol:long_name = "transceiver telescope temperature during overlap calibration"
                temp_ol:units = "Celsius"
        float temp_lab(days) ;
                temp_lab:long_name = "transceiver telescope temperature during laboratory instrument alignment"
                temp_lab:units = "Celsius"
        float temp_box_set_point(days) ;
                temp_box_set_point:long_name = "ideal temperature for transceiver telescope"
                temp_box_set_point:units = "Celsius"
        float temp_detector_set_point(days) ;
                temp_detector_set_point:long_name = "temperature used to assess detector performance"
                temp_detector_set_point:units = "Celsius"
        float temp_laser_set_point(days) ;
                temp_laser_set_point:long_name = "temperature used to assess laser performance"
                temp_laser_set_point:units = "Celsius"
        float temp_flc_set_point(days) ;
                temp_flc_set_point:long_name = "ideal temperature for the FLC"
                temp_flc_set_point:units = "Celsius"
        float temp_align(days) ;
                temp_align:long_name = "lab temperature during alignment of lidar"
                temp_align:units = "Celsius"
        float temp_surf(time) ;
                temp_surf:long_name = "two meter air temperature from NASA GEOS5"
                temp_surf:units = "Celsius"
        float lwgem(time) ;
                lwgem:long_name = "Emitted_Longwave_At_The_Surface_from_NASA_GEOS5"
                lwgem:units = "W m-2"
        float lwgntclr(time) ;
                lwgntclr:long_name = "Surface_Net_Downward_Longwave_Flux_Assuming_Clear_Sky_from_NASA_GEOS5"
                lwgntclr:units = "W m-2"
        float swgntclr(time) ;
                swgntclr:long_name = "Surface_Net_Downward_Shortwave_Flux_Assuming_Clear_Sky_from_NASA_GEOS5"
                swgntclr:units = "W m-2"
        byte qa_nrb(altitude,time,wavelength) ;
                qa_nrb:long_name = "quality assurance confidence level for specified variable"
                qa_nrb:variable = "nrb"
                qa_nrb:qa_masks = 1, 2, 4, 8
                qa_nrb:qa_values = 1, 2, 4, 8
                qa_nrb:qa_meanings = "high, moderate, low, qa_fail"
                qa_nrb:qa_usage = "http://mplnet.gsfc.nasa.gov/product-info"
        byte qa_nrb_err(altitude,time,wavelength) ;
                qa_nrb_err:long_name = "quality assurance confidence level for specified variable"
                qa_nrb_err:variable = "nrb_err"
                qa_nrb_err:qa_masks = 1, 2, 4, 8
                qa_nrb_err:qa_values = 1, 2, 4, 8
                qa_nrb_err:qa_meanings = "high, moderate, low, qa_fail"
                qa_nrb_err:qa_usage = "http://mplnet.gsfc.nasa.gov/product-info"
        byte qa_nrb_co(altitude,time,wavelength) ;
                qa_nrb_co:long_name = "quality assurance confidence level for specified variable"
                qa_nrb_co:variable = "nrb_co"
                qa_nrb_co:qa_masks = 1, 2, 4, 8
                qa_nrb_co:qa_values = 1, 2, 4, 8
                qa_nrb_co:qa_meanings = "high, moderate, low, qa_fail"
                qa_nrb_co:qa_usage = "http://mplnet.gsfc.nasa.gov/product-info"
        byte qa_nrb_co_err(altitude,time,wavelength) ;
                qa_nrb_co_err:long_name = "quality assurance confidence level for specified variable"
                qa_nrb_co_err:variable = "nrb_co_err"
                qa_nrb_co_err:qa_masks = 1, 2, 4, 8
                qa_nrb_co_err:qa_values = 1, 2, 4, 8
                qa_nrb_co_err:qa_meanings = "high, moderate, low, qa_fail"
                qa_nrb_co_err:qa_usage = "http://mplnet.gsfc.nasa.gov/product-info"
        byte qa_nrb_cross(altitude,time,wavelength) ;
                qa_nrb_cross:long_name = "quality assurance confidence level for specified variable"
                qa_nrb_cross:variable = "nrb_cross"
                qa_nrb_cross:qa_masks = 1, 2, 4, 8
                qa_nrb_cross:qa_values = 1, 2, 4, 8
                qa_nrb_cross:qa_meanings = "high, moderate, low, qa_fail"
                qa_nrb_cross:qa_usage = "http://mplnet.gsfc.nasa.gov/product-info"
        byte qa_nrb_cross_err(altitude,time,wavelength) ;
                qa_nrb_cross_err:long_name = "quality assurance confidence level for specified variable"
                qa_nrb_cross_err:variable = "nrb_cross_err"
                qa_nrb_cross_err:qa_masks = 1, 2, 4, 8
                qa_nrb_cross_err:qa_values = 1, 2, 4, 8
                qa_nrb_cross_err:qa_meanings = "high, moderate, low, qa_fail"
                qa_nrb_cross_err:qa_usage = "http://mplnet.gsfc.nasa.gov/product-info"
        byte qa_vol_depol_ratio(altitude,time,wavelength) ;
                qa_vol_depol_ratio:long_name = "quality assurance confidence level for specified variable"
                qa_vol_depol_ratio:variable = "vol_depol_ratio"
                qa_vol_depol_ratio:qa_masks = 1, 2, 4, 8
                qa_vol_depol_ratio:qa_values = 1, 2, 4, 8
                qa_vol_depol_ratio:qa_meanings = "high, moderate, low, qa_fail"
                qa_vol_depol_ratio:qa_usage = "http://mplnet.gsfc.nasa.gov/product-info"
        byte qa_vol_depol_ratio_err(altitude,time,wavelength) ;
                qa_vol_depol_ratio_err:long_name = "quality assurance confidence level for specified variable"
                qa_vol_depol_ratio_err:variable = "vol_depol_ratio_err"
                qa_vol_depol_ratio_err:qa_masks = 1, 2, 4, 8
                qa_vol_depol_ratio_err:qa_values = 1, 2, 4, 8
                qa_vol_depol_ratio_err:qa_meanings = "high, moderate, low, qa_fail"
                qa_vol_depol_ratio_err:qa_usage = "http://mplnet.gsfc.nasa.gov/product-info"
        byte qa_bg(time,wavelength) ;
                qa_bg:long_name = "quality assurance confidence level for specified variable"
                qa_bg:variable = "bg"
                qa_bg:qa_masks = 1, 2, 4, 8
                qa_bg:qa_values = 1, 2, 4, 8
                qa_bg:qa_meanings = "high, moderate, low, qa_fail"
                qa_bg:qa_usage = "http://mplnet.gsfc.nasa.gov/product-info"
        byte qa_bg_err(time,wavelength) ;
                qa_bg_err:long_name = "quality assurance confidence level for specified variable"
                qa_bg_err:variable = "bg_err"
                qa_bg_err:qa_masks = 1, 2, 4, 8
                qa_bg_err:qa_values = 1, 2, 4, 8
                qa_bg_err:qa_meanings = "high, moderate, low, qa_fail"
                qa_bg_err:qa_usage = "http://mplnet.gsfc.nasa.gov/product-info"
        byte qa_bg_co(time,wavelength) ;
                qa_bg_co:long_name = "quality assurance confidence level for specified variable"
                qa_bg_co:variable = "bg_co"
                qa_bg_co:qa_masks = 1, 2, 4, 8
                qa_bg_co:qa_values = 1, 2, 4, 8
                qa_bg_co:qa_meanings = "high, moderate, low, qa_fail"
                qa_bg_co:qa_usage = "http://mplnet.gsfc.nasa.gov/product-info"
        byte qa_bg_co_err(time,wavelength) ;
                qa_bg_co_err:long_name = "quality assurance confidence level for specified variable"
                qa_bg_co_err:variable = "bg_co_err"
                qa_bg_co_err:qa_masks = 1, 2, 4, 8
                qa_bg_co_err:qa_values = 1, 2, 4, 8
                qa_bg_co_err:qa_meanings = "high, moderate, low, qa_fail"
                qa_bg_co_err:qa_usage = "http://mplnet.gsfc.nasa.gov/product-info"
        byte qa_bg_cross(time,wavelength) ;
                qa_bg_cross:long_name = "quality assurance confidence level for specified variable"
                qa_bg_cross:variable = "bg_cross"
                qa_bg_cross:qa_masks = 1, 2, 4, 8
                qa_bg_cross:qa_values = 1, 2, 4, 8
                qa_bg_cross:qa_meanings = "high, moderate, low, qa_fail"
                qa_bg_cross:qa_usage = "http://mplnet.gsfc.nasa.gov/product-info"
        byte qa_bg_cross_err(time,wavelength) ;
                qa_bg_cross_err:long_name = "quality assurance confidence level for specified variable"
                qa_bg_cross_err:variable = "bg_cross_err"
                qa_bg_cross_err:qa_masks = 1, 2, 4, 8
                qa_bg_cross_err:qa_values = 1, 2, 4, 8
                qa_bg_cross_err:qa_meanings = "high, moderate, low, qa_fail"
                qa_bg_cross_err:qa_usage = "http://mplnet.gsfc.nasa.gov/product-info"
        byte flag_data(time,wavelength) ;
                flag_data:long_name = "flag indicating if elastic signal data are missing"
                flag_data:flag_masks = 1, 2
                flag_data:flag_values = 1, 2
                flag_data:flag_meanings = "data_exists, data_missing"
                flag_data:flag_usage = "http://mplnet.gsfc.nasa.gov/product-info"
        byte flag_data_hsrl(time,wavelength) ;
                flag_data_hsrl:long_name = "flag indicating if hsrl signal data are missing"
                flag_data_hsrl:flag_masks = 1, 2
                flag_data_hsrl:flag_values = 1, 2
                flag_data_hsrl:flag_meanings = "data_exists, data_missing"
                flag_data_hsrl:flag_usage = "http://mplnet.gsfc.nasa.gov/product-info"
        byte flag_data_raman(time,wavelength) ;
                flag_data_raman:long_name = "flag indicating if raman signal data are missing"
                flag_data_raman:flag_masks = 1, 2
                flag_data_raman:flag_values = 1, 2
                flag_data_raman:flag_meanings = "data_exists, data_missing"
                flag_data_raman:flag_usage = "http://mplnet.gsfc.nasa.gov/product-info"
        byte flag_calibration_l0(time,wavelength) ;
                flag_calibration_l0:long_name = "flag indicating if elastic signal data calibrations were not applied"
                flag_calibration_l0:flag_masks = 1, 2, 4, 8, 16, 32
                flag_calibration_l0:flag_values = 1, 2, 4, 8, 16, 32
                flag_calibration_l0:flag_meanings = "all_calibrations_applied, deadtime_calibration_missing, darkcount_calibration_missing, afterpulse_calibration_missing, overlap_calibration_missing, polarization_calibration_missing"
                flag_calibration_l0:flag_usage = "http://mplnet.gsfc.nasa.gov/product-info"
        byte flag_temperature_correction(time,wavelength) ;
                flag_temperature_correction:long_name = "flag indicating if elastic signal data temperature corrections were not applied"
                flag_temperature_correction:flag_masks = 1, 2, 4, 8, 16, 32
                flag_temperature_correction:flag_values = 1, 2, 4, 8, 16, 32
                flag_temperature_correction:flag_meanings = "all_temperature_corrections_applied, overlap_temperature_correction_missing, polarization_temperature_correction_missing, filter_temperature_correction_missing, detector_temperature_correction_missing, window_temperature_correction_missing"
                flag_temperature_correction:flag_usage = "http://mplnet.gsfc.nasa.gov/product-info"
        byte flag_energy(time,wavelength) ;
                flag_energy:long_name = "flag indicating possible laser energy problems for elastic signal data quality assurance"
                flag_energy:flag_masks = 1, 2, 4, 8, 16
                flag_energy:flag_values = 1, 2, 4, 8, 16
                flag_energy:flag_meanings = "no_problems, 15%_<_energy_deviation_from_set_point_<=_20%, energy_deviation_from_set_point_>_20%, no_set_point, measurement_fault"
                flag_energy:flag_usage = "http://mplnet.gsfc.nasa.gov/product-info"
        byte flag_temp_box(time,wavelength) ;
                flag_temp_box:long_name = "flag indicating possible box telescope temperature problems for elastic signal data quality assurance"
                flag_temp_box:flag_masks = 1, 2, 4, 8, 16
                flag_temp_box:flag_values = 1, 2, 4, 8, 16
                flag_temp_box:flag_meanings = "no_problems, 2C_<_temperature_deviation_from_set_point_<=_5C, temperature_deviation_from_set_point_>_5C, no_set_point, measurement_fault"
                flag_temp_box:flag_usage = "http://mplnet.gsfc.nasa.gov/product-info"
        byte flag_temp_detector(time,wavelength) ;
                flag_temp_detector:long_name = "flag indicating possible detector temperature problems for elastic signal data quality assurance"
                flag_temp_detector:flag_masks = 1, 2, 4, 8, 16
                flag_temp_detector:flag_values = 1, 2, 4, 8, 16
                flag_temp_detector:flag_meanings = "no_problems, 2C_<_temperature_deviation_from_set_point_<=_5C, temperature_deviation_from_set_point_>_5C, no_set_point, measurement_fault"
                flag_temp_detector:flag_usage = "http://mplnet.gsfc.nasa.gov/product-info"
        byte flag_temp_laser(time,wavelength) ;
                flag_temp_laser:long_name = "flag indicating possible laser temperature problems for elastic signal data quality assurance"
                flag_temp_laser:flag_masks = 1, 2, 4, 8, 16
                flag_temp_laser:flag_values = 1, 2, 4, 8, 16
                flag_temp_laser:flag_meanings = "no_problems, placeholder, placeholder, no_set_point, measurement_fault"
                flag_temp_laser:flag_usage = "http://mplnet.gsfc.nasa.gov/product-info"
        byte flag_temp_flc(time,wavelength) ;
                flag_temp_flc:long_name = "flag indicating possible FLC temperature problems for elastic signal data quality assurance"
                flag_temp_flc:flag_masks = 1, 2, 4, 8, 16
                flag_temp_flc:flag_values = 1, 2, 4, 8, 16
                flag_temp_flc:flag_meanings = "no_problems, placeholder, placeholder, no_set_point, measurement_fault"
                flag_temp_flc:flag_usage = "http://mplnet.gsfc.nasa.gov/product-info"
        long flag_qa(time,wavelength) ;
                flag_qa:long_name = "overall QA Flag for NRB product"
                flag_qa:flag_masks = 1, 2, 4, 8, 16, 32, 64, 128
                flag_qa:flag_values = 1, 2, 4, 8, 16, 32, 64, 128
                flag_qa:flag_meanings = "no_problems, flag_calibration_l0, flag_energy, flag_temp_box, flag_temp_detector, flag_temp_laser, flag_temp_flc, flag_temperature_correction"
                flag_qa:flag_usage = "http://mplnet.gsfc.nasa.gov/product-info"
// global attributes:
        :project = "MPLNET"
        :project_principal_investigator = "Dr. Ellsworth J. Welton"
        :project_science_contact = "Dr. Ellsworth J. Welton"
        :project_technical_contact = "Sebastian A. Stewart"
        :project_institution = "NASA Goddard Space Flight Center"
        :project_website = "http://mplnet.gsfc.nasa.gov"
        :partner_principal_investigator = ""
        :partner_science_contact = ""
        :partner_technical_contact = ""
        :partner_institution = ""
        :processing_version = "V3"
        :processing_level = "L1"
        :processing_product = "NRB"
        :processing_subset = "archive"
        :processing_time = double
        :processing_code_author = "Ellsworth J. Welton; Phillip C. Haftings;"
        :title = "MPLNET L1_NRB"
        :source = "MPLNET surface lidar network"
        :references = "https://mplnet.gsfc.nasa.gov/product-info"
        :history = ""
        :institution = "NASA Goddard Space Flight Center"
        :comment = "MPLNET is a federated network lead by NASA, but composed of partners around the world. The public domain data available from MPLNET are contributed by a diverse group of members. The following data policy must be followed to use MPLNET data. Include the following acknowledgement in your publication: "The NASA Micro-Pulse Lidar Network is funded by the NASA Earth Observing System and Radiation Sciences Program." In addition to this statement, offers of co-authorship must be made to the MPLNET PI and Partner PI. The partner PI may have additional funding sources to cite in the previous acknowledgement. If the PIs decline co-authorship, then add the following to acknowledgments: "We thank the MPLNET PI, staff, and site partner(s) for their efforts in establishing, maintaining, and providing data from the (list of site names) site(s)."
        :note = ""
        :date = long
        :site = ""
        :instrument = ""
        :file_name = ""
        :file_atm = ""
        :file_dt = ""
        :file_dc = ""
        :file_ap = ""
        :file_ol = ""
        :file_pol = ""
        :n_time = long
        :n_altitude = long
        :n_time_with_data = long
        :n_wavelength = long
        :n_range = long
        :n_days = long
}