import h5py import numpy as np infile='' def cpl_l2lay_reader(infile): """ Read all data in from a CPL L2 Layer file. Last modified: 3/11/24, Natalie Midzak """ datafile = h5py.File(infile,'r') CPL_Angle=np.array(datafile['geolocation/CPL_Angle']) CPL_Latitude=np.array(datafile['geolocation/CPL_Latitude']) CPL_Longitude=np.array(datafile['geolocation/CPL_Longitude']) Index_Top_Bin=np.array(datafile['geolocation/Index_Top_Bin']) Solar_Azimuth_Angle=np.array(datafile['geolocation/Solar_Azimuth_Angle']) Solar_Zenith_Angle=np.array(datafile['geolocation/Solar_Zenith_Angle']) Aerosol_Type=np.array(datafile['layer_descriptor/Aerosol_Type']) Cloud_Phase=np.array(datafile['layer_descriptor/Cloud_Phase']) Cloud_Phase_Score=np.array(datafile['layer_descriptor/Cloud_Phase_Score']) Constrained_Lidar_Ratio_Flag=np.array(datafile['layer_descriptor/Constrained_Lidar_Ratio_Flag']) DEM_Surface_Altitude=np.array(datafile['layer_descriptor/DEM_Surface_Altitude']) Extinction_QC_Flag_1064=np.array(datafile['layer_descriptor/Extinction_QC_Flag_1064']) Extinction_QC_Flag_355=np.array(datafile['layer_descriptor/Extinction_QC_Flag_355']) Extinction_QC_Flag_532=np.array(datafile['layer_descriptor/Extinction_QC_Flag_532']) Feature_Type=np.array(datafile['layer_descriptor/Feature_Type']) Feature_Type_Score=np.array(datafile['layer_descriptor/Feature_Type_Score']) Layer_Base_Altitude=np.array(datafile['layer_descriptor/Layer_Base_Altitude']) Layer_Base_Bin=np.array(datafile['layer_descriptor/Layer_Base_Bin']) Layer_Base_Pressure=np.array(datafile['layer_descriptor/Layer_Base_Pressure']) Layer_Base_Temperature=np.array(datafile['layer_descriptor/Layer_Base_Temperature']) Layer_Effective_Multiple_Scattering_Factor_1064=np.array(datafile['layer_descriptor/Layer_Effective_Multiple_Scattering_Factor_1064']) Layer_Effective_Multiple_Scattering_Factor_355=np.array(datafile['layer_descriptor/Layer_Effective_Multiple_Scattering_Factor_355']) Layer_Effective_Multiple_Scattering_Factor_532=np.array(datafile['layer_descriptor/Layer_Effective_Multiple_Scattering_Factor_532']) Layer_Top_Altitude=np.array(datafile['layer_descriptor/Layer_Top_Altitude']) Layer_Top_Bin=np.array(datafile['layer_descriptor/Layer_Top_Bin']) Layer_Top_Pressure=np.array(datafile['layer_descriptor/Layer_Top_Pressure']) Layer_Top_Temperature=np.array(datafile['layer_descriptor/Layer_Top_Temperature']) Lidar_Ratio_Selection_Method_1064=np.array(datafile['layer_descriptor/Lidar_Ratio_Selection_Method_1064']) Lidar_Ratio_Selection_Method_355=np.array(datafile['layer_descriptor/Lidar_Ratio_Selection_Method_355']) Lidar_Ratio_Selection_Method_532=np.array(datafile['layer_descriptor/Lidar_Ratio_Selection_Method_532']) Lidar_Surface_Altitude=np.array(datafile['layer_descriptor/Lidar_Surface_Altitude']) Number_Layers=np.array(datafile['layer_descriptor/Number_Layers']) Opacity=np.array(datafile['layer_descriptor/Opacity']) Profile_Decimal_Julian_Day=np.array(datafile['layer_descriptor/Profile_Decimal_Julian_Day']) Sky_Condition=np.array(datafile['layer_descriptor/Sky_Condition']) Surface_Type=np.array(datafile['layer_descriptor/Surface_Type']) Bin_Altitude_Array=np.array(datafile['metadata_parameters/Bin_Altitude_Array']) Bin_Size=np.array(datafile['metadata_parameters/Bin_Size']) File_Start_DateTime=np.array(datafile['metadata_parameters/File_Start_DateTime']) File_Start_Latitude=np.array(datafile['metadata_parameters/File_Start_Latitude']) File_Start_Longitude=np.array(datafile['metadata_parameters/File_Start_Longitude']) File_Stop_Latitude=np.array(datafile['metadata_parameters/File_Stop_Latitude']) File_Stop_Longitude=np.array(datafile['metadata_parameters/File_Stop_Longitude']) File_Stop_Time=np.array(datafile['metadata_parameters/File_Stop_Time']) File_Year=np.array(datafile['metadata_parameters/File_Year']) Horizontal_Resolution=np.array(datafile['metadata_parameters/Horizontal_Resolution']) Number_1km_Profiles=np.array(datafile['metadata_parameters/Number_1km_Profiles']) Number_Bins=np.array(datafile['metadata_parameters/Number_Bins']) Product_Creation_Date=np.array(datafile['metadata_parameters/Product_Creation_Date']) Product_Version_Number=np.array(datafile['metadata_parameters/Product_Version_Number']) Attenuated_Backscatter_Statistics_1064=np.array(datafile['optical_properties/Attenuated_Backscatter_Statistics_1064']) Attenuated_Backscatter_Statistics_355=np.array(datafile['optical_properties/Attenuated_Backscatter_Statistics_355']) Attenuated_Backscatter_Statistics_532=np.array(datafile['optical_properties/Attenuated_Backscatter_Statistics_532']) Attenuated_Total_Color_Ratio_Statistics=np.array(datafile['optical_properties/Attenuated_Total_Color_Ratio_Statistics']) Feature_Optical_Depth_1064=np.array(datafile['optical_properties/Feature_Optical_Depth_1064']) Feature_Optical_Depth_355=np.array(datafile['optical_properties/Feature_Optical_Depth_355']) Feature_Optical_Depth_532=np.array(datafile['optical_properties/Feature_Optical_Depth_532']) Feature_Optical_Depth_Uncertainty_1064=np.array(datafile['optical_properties/Feature_Optical_Depth_Uncertainty_1064']) Feature_Optical_Depth_Uncertainty_355=np.array(datafile['optical_properties/Feature_Optical_Depth_Uncertainty_355']) Feature_Optical_Depth_Uncertainty_532=np.array(datafile['optical_properties/Feature_Optical_Depth_Uncertainty_532']) Ice_Water_Path_1064=np.array(datafile['optical_properties/Ice_Water_Path_1064']) Ice_Water_Path_1064_Uncertainty=np.array(datafile['optical_properties/Ice_Water_Path_1064_Uncertainty']) Ice_Water_Path_355=np.array(datafile['optical_properties/Ice_Water_Path_355']) Ice_Water_Path_355_Uncertainty=np.array(datafile['optical_properties/Ice_Water_Path_355_Uncertainty']) Ice_Water_Path_532=np.array(datafile['optical_properties/Ice_Water_Path_532']) Ice_Water_Path_532_Uncertainty=np.array(datafile['optical_properties/Ice_Water_Path_532_Uncertainty']) Integrated_Attenauted_Backscatter_1064=np.array(datafile['optical_properties/Integrated_Attenauted_Backscatter_1064']) Integrated_Attenauted_Backscatter_355=np.array(datafile['optical_properties/Integrated_Attenauted_Backscatter_355']) Integrated_Attenauted_Backscatter_532=np.array(datafile['optical_properties/Integrated_Attenauted_Backscatter_532']) Integrated_Attenauted_Backscatter_Uncertainty_1064=np.array(datafile['optical_properties/Integrated_Attenauted_Backscatter_Uncertainty_1064']) Integrated_Attenauted_Backscatter_Uncertainty_355=np.array(datafile['optical_properties/Integrated_Attenauted_Backscatter_Uncertainty_355']) Integrated_Attenauted_Backscatter_Uncertainty_532=np.array(datafile['optical_properties/Integrated_Attenauted_Backscatter_Uncertainty_532']) Integrated_Attenuated_Total_Color_Ratio=np.array(datafile['optical_properties/Integrated_Attenuated_Total_Color_Ratio']) Integrated_Attenuated_Total_Color_Ratio_Uncertainty=np.array(datafile['optical_properties/Integrated_Attenuated_Total_Color_Ratio_Uncertainty']) Integrated_Volume_Depolarization_Ratio_1064=np.array(datafile['optical_properties/Integrated_Volume_Depolarization_Ratio_1064']) Integrated_Volume_Depolarization_Ratio_Uncertainty_1064=np.array(datafile['optical_properties/Integrated_Volume_Depolarization_Ratio_Uncertainty_1064']) Lidar_Ratio_1064=np.array(datafile['optical_properties/Lidar_Ratio_1064']) Lidar_Ratio_355=np.array(datafile['optical_properties/Lidar_Ratio_355']) Lidar_Ratio_532=np.array(datafile['optical_properties/Lidar_Ratio_532']) Measured_Two_Way_Transmittance_1064=np.array(datafile['optical_properties/Measured_Two_Way_Transmittance_1064']) Measured_Two_Way_Transmittance_355=np.array(datafile['optical_properties/Measured_Two_Way_Transmittance_355']) Measured_Two_Way_Transmittance_532=np.array(datafile['optical_properties/Measured_Two_Way_Transmittance_532']) Measured_Two_Way_Transmittance_Uncertainty_1064=np.array(datafile['optical_properties/Measured_Two_Way_Transmittance_Uncertainty_1064']) Measured_Two_Way_Transmittance_Uncertainty_355=np.array(datafile['optical_properties/Measured_Two_Way_Transmittance_Uncertainty_355']) Measured_Two_Way_Transmittance_Uncertainty_532=np.array(datafile['optical_properties/Measured_Two_Way_Transmittance_Uncertainty_532']) Two_Way_Transmittance_Measurement_Region=np.array(datafile['optical_properties/Two_Way_Transmittance_Measurement_Region']) Volume_Depolarization_Ratio_Statistics_1064=np.array(datafile['optical_properties/Volume_Depolarization_Ratio_Statistics_1064']) return CPL_Angle, CPL_Latitude, CPL_Longitude, Index_Top_Bin, Solar_Azimuth_Angle, Solar_Zenith_Angle, Aerosol_Type, Cloud_Phase, Cloud_Phase_Score, Constrained_Lidar_Ratio_Flag, DEM_Surface_Altitude, Extinction_QC_Flag_1064, Extinction_QC_Flag_355, Extinction_QC_Flag_532, Feature_Type, Feature_Type_Score, Layer_Base_Altitude, Layer_Base_Bin, Layer_Base_Pressure, Layer_Base_Temperature, Layer_Effective_Multiple_Scattering_Factor_1064, Layer_Effective_Multiple_Scattering_Factor_355, Layer_Effective_Multiple_Scattering_Factor_532, Layer_Top_Altitude, Layer_Top_Bin, Layer_Top_Pressure, Layer_Top_Temperature, Lidar_Ratio_Selection_Method_1064, Lidar_Ratio_Selection_Method_355, Lidar_Ratio_Selection_Method_532, Lidar_Surface_Altitude, Number_Layers, Opacity, Profile_Decimal_Julian_Day, Sky_Condition, Surface_Type, Bin_Altitude_Array, Bin_Size, File_Start_DateTime, File_Start_Latitude, File_Start_Longitude, File_Stop_Latitude, File_Stop_Longitude, File_Stop_Time, File_Year, Horizontal_Resolution, Number_1km_Profiles, Number_Bins, Product_Creation_Date, Product_Version_Number, Attenuated_Backscatter_Statistics_1064, Attenuated_Backscatter_Statistics_355, Attenuated_Backscatter_Statistics_532, Attenuated_Total_Color_Ratio_Statistics, Feature_Optical_Depth_1064, Feature_Optical_Depth_355, Feature_Optical_Depth_532, Feature_Optical_Depth_Uncertainty_1064, Feature_Optical_Depth_Uncertainty_355, Feature_Optical_Depth_Uncertainty_532, Ice_Water_Path_1064, Ice_Water_Path_1064_Uncertainty, Ice_Water_Path_355, Ice_Water_Path_355_Uncertainty, Ice_Water_Path_532, Ice_Water_Path_532_Uncertainty, Integrated_Attenauted_Backscatter_1064, Integrated_Attenauted_Backscatter_355, Integrated_Attenauted_Backscatter_532, Integrated_Attenauted_Backscatter_Uncertainty_1064, Integrated_Attenauted_Backscatter_Uncertainty_355, Integrated_Attenauted_Backscatter_Uncertainty_532, Integrated_Attenuated_Total_Color_Ratio, Integrated_Attenuated_Total_Color_Ratio_Uncertainty, Integrated_Volume_Depolarization_Ratio_1064, Integrated_Volume_Depolarization_Ratio_Uncertainty_1064, Lidar_Ratio_1064, Lidar_Ratio_355, Lidar_Ratio_532, Measured_Two_Way_Transmittance_1064, Measured_Two_Way_Transmittance_355, Measured_Two_Way_Transmittance_532, Measured_Two_Way_Transmittance_Uncertainty_1064, Measured_Two_Way_Transmittance_Uncertainty_355, Measured_Two_Way_Transmittance_Uncertainty_532, Two_Way_Transmittance_Measurement_Region, Volume_Depolarization_Ratio_Statistics_1064