import h5py import numpy as np infile='' def cpl_l2pro_reader(infile): """ Read all data in from a CPL L2 Profile 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']) 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']) Aerosol_Optical_Depth_1064=np.array(datafile['profile/Aerosol_Optical_Depth_1064']) Aerosol_Optical_Depth_355=np.array(datafile['profile/Aerosol_Optical_Depth_355']) Aerosol_Optical_Depth_532=np.array(datafile['profile/Aerosol_Optical_Depth_532']) Aerosol_Optical_Depth_Uncertainty_1064=np.array(datafile['profile/Aerosol_Optical_Depth_Uncertainty_1064']) Aerosol_Optical_Depth_Uncertainty_355=np.array(datafile['profile/Aerosol_Optical_Depth_Uncertainty_355']) Aerosol_Optical_Depth_Uncertainty_532=np.array(datafile['profile/Aerosol_Optical_Depth_Uncertainty_532']) Aerosol_Type=np.array(datafile['profile/Aerosol_Type']) Cloud_Optical_Depth_1064=np.array(datafile['profile/Cloud_Optical_Depth_1064']) Cloud_Optical_Depth_355=np.array(datafile['profile/Cloud_Optical_Depth_355']) Cloud_Optical_Depth_532=np.array(datafile['profile/Cloud_Optical_Depth_532']) Cloud_Optical_Depth_Uncertainty_1064=np.array(datafile['profile/Cloud_Optical_Depth_Uncertainty_1064']) Cloud_Optical_Depth_Uncertainty_355=np.array(datafile['profile/Cloud_Optical_Depth_Uncertainty_355']) Cloud_Optical_Depth_Uncertainty_532=np.array(datafile['profile/Cloud_Optical_Depth_Uncertainty_532']) Cloud_Phase=np.array(datafile['profile/Cloud_Phase']) Cloud_Phase_Score=np.array(datafile['profile/Cloud_Phase_Score']) Column_Optical_Depth_1064=np.array(datafile['profile/Column_Optical_Depth_1064']) Column_Optical_Depth_355=np.array(datafile['profile/Column_Optical_Depth_355']) Column_Optical_Depth_532=np.array(datafile['profile/Column_Optical_Depth_532']) Column_Optical_Depth_Uncertainty_1064=np.array(datafile['profile/Column_Optical_Depth_Uncertainty_1064']) Column_Optical_Depth_Uncertainty_355=np.array(datafile['profile/Column_Optical_Depth_Uncertainty_355']) Column_Optical_Depth_Uncertainty_532=np.array(datafile['profile/Column_Optical_Depth_Uncertainty_532']) DEM_Surface_Altitude=np.array(datafile['profile/DEM_Surface_Altitude']) Extinction_Coefficient_1064=np.array(datafile['profile/Extinction_Coefficient_1064']) Extinction_Coefficient_355=np.array(datafile['profile/Extinction_Coefficient_355']) Extinction_Coefficient_532=np.array(datafile['profile/Extinction_Coefficient_532']) Extinction_Coefficient_Uncertainty_1064=np.array(datafile['profile/Extinction_Coefficient_Uncertainty_1064']) Extinction_Coefficient_Uncertainty_355=np.array(datafile['profile/Extinction_Coefficient_Uncertainty_355']) Extinction_Coefficient_Uncertainty_532=np.array(datafile['profile/Extinction_Coefficient_Uncertainty_532']) Extinction_QC_Flag_1064=np.array(datafile['profile/Extinction_QC_Flag_1064']) Extinction_QC_Flag_355=np.array(datafile['profile/Extinction_QC_Flag_355']) Extinction_QC_Flag_532=np.array(datafile['profile/Extinction_QC_Flag_532']) Feature_Type=np.array(datafile['profile/Feature_Type']) Feature_Type_Score=np.array(datafile['profile/Feature_Type_Score']) Ice_Water_Content_1064=np.array(datafile['profile/Ice_Water_Content_1064']) Ice_Water_Content_1064_Uncertainty=np.array(datafile['profile/Ice_Water_Content_1064_Uncertainty']) Ice_Water_Content_355=np.array(datafile['profile/Ice_Water_Content_355']) Ice_Water_Content_355_Uncertainty=np.array(datafile['profile/Ice_Water_Content_355_Uncertainty']) Ice_Water_Content_532=np.array(datafile['profile/Ice_Water_Content_532']) Ice_Water_Content_532_Uncertainty=np.array(datafile['profile/Ice_Water_Content_532_Uncertainty']) Lidar_Surface_Altitude=np.array(datafile['profile/Lidar_Surface_Altitude']) Multiple_Scattering_Factor_1064=np.array(datafile['profile/Multiple_Scattering_Factor_1064']) Multiple_Scattering_Factor_355=np.array(datafile['profile/Multiple_Scattering_Factor_355']) Multiple_Scattering_Factor_532=np.array(datafile['profile/Multiple_Scattering_Factor_532']) Particulate_Backscatter_Coefficient_1064=np.array(datafile['profile/Particulate_Backscatter_Coefficient_1064']) Particulate_Backscatter_Coefficient_355=np.array(datafile['profile/Particulate_Backscatter_Coefficient_355']) Particulate_Backscatter_Coefficient_532=np.array(datafile['profile/Particulate_Backscatter_Coefficient_532']) Particulate_Backscatter_Coefficient_Uncertainty_1064=np.array(datafile['profile/Particulate_Backscatter_Coefficient_Uncertainty_1064']) Particulate_Backscatter_Coefficient_Uncertainty_355=np.array(datafile['profile/Particulate_Backscatter_Coefficient_Uncertainty_355']) Particulate_Backscatter_Coefficient_Uncertainty_532=np.array(datafile['profile/Particulate_Backscatter_Coefficient_Uncertainty_532']) Profile_Decimal_Julian_Day=np.array(datafile['profile/Profile_Decimal_Julian_Day']) Sky_Condition=np.array(datafile['profile/Sky_Condition']) Surface_Type=np.array(datafile['profile/Surface_Type']) Total_Depolarization_Ratio_1064=np.array(datafile['profile/Total_Depolarization_Ratio_1064']) Total_Depolarization_Ratio_1064=np.array(datafile['profile/Total_Depolarization_Ratio_1064']) Total_Depolarization_Ratio_Uncertainty_1064=np.array(datafile['profile/Total_Depolarization_Ratio_Uncertainty_1064']) Atmospheric_Pressure=np.array(datafile['profile/met/Atmospheric_Pressure']) Atmospheric_Relative_Humidity=np.array(datafile['profile/met/Atmospheric_Relative_Humidity']) Atmospheric_Temperature=np.array(datafile['profile/met/Atmospheric_Temperature']) Tropopause_Height=np.array(datafile['profile/met/Tropopause_Height']) return CPL_Angle, CPL_Latitude, CPL_Longitude, Index_Top_Bin, Solar_Azimuth_Angle, Solar_Zenith_Angle, 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, Aerosol_Optical_Depth_1064, Aerosol_Optical_Depth_355, Aerosol_Optical_Depth_532, Aerosol_Optical_Depth_Uncertainty_1064, Aerosol_Optical_Depth_Uncertainty_355, Aerosol_Optical_Depth_Uncertainty_532, Aerosol_Type, Cloud_Optical_Depth_1064, Cloud_Optical_Depth_355, Cloud_Optical_Depth_533, Cloud_Optical_Depth_Uncertainty_1064, Cloud_Optical_Depth_Uncertainty_355,Cloud_Optical_Depth_Uncertainty_532, Cloud_Phase, Cloud_Phase_Score, Column_Optical_Depth_1064, Column_Optical_Depth_355, Column_Optical_Depth_532, Column_Optical_Depth_Uncertainty_1064, Column_Optical_Depth_Uncertainty_355, Column_Optical_Depth_Uncertainty_532, DEM_Surface_Altitude, Extinction_Coefficient_1064, Extinction_Coefficient_355, Extinction_Coefficient_532, Extinction_Coefficient_Uncertainty_1064, Extinction_Coefficient_Uncertainty_355, Extinction_Coefficient_Uncertainty_532, Extinction_QC_Flag_1064, Extinction_QC_Flag_355, Extinction_QC_Flag_532, Feature_Type, Feature_Type_Score, Ice_Water_Content_1064, Ice_Water_Content_1064_Uncertainty, Ice_Water_Content_355, Ice_Water_Content_355_Uncertainty, Ice_Water_Content_532, Ice_Water_Content_532_Uncertainty, Lidar_Surface_Altitude, Multiple_Scattering_Factor_1064, Multiple_Scattering_Factor_355, Multiple_Scattering_Factor_532, Particulate_Backscatter_Coefficient_1064, Particulate_Backscatter_Coefficient_355, Particulate_Backscatter_Coefficient_532, Particulate_Backscatter_Coefficient_Uncertainty_1064, Particulate_Backscatter_Coefficient_Uncertainty_355, Particulate_Backscatter_Coefficient_Uncertainty_532, Profile_Decimal_Julian_Day, Sky_Condition, Surface_Type, Total_Depolarization_Ratio_1064, Total_Depolarization_Ratio_1064, Total_Depolarization_Ratio_Uncertainty_1064, Atmospheric_Pressure, Atmospheric_Relative_Humidity, Atmospheric_Temperature, Tropopause_Height