def _parse_netCDF(file_obj): index = _tools._get_time(file_obj) mass_concentrations = pd.DataFrame(index = index) mass_conc_keys = ['total_organics','ammonium','sulfate','nitrate','chloride'] for k in mass_conc_keys: var = file_obj.variables[k] data = var[:] mass_concentrations[k] = pd.Series(var, index = index) mass_concentrations.columns.name = 'Mass conc. ug/m^3' mass_concentrations.index.name = 'Time' # for v in file_obj.variables.keys(): # var = file_obj.variables[v] # print(v) # print(var.long_name) # print(var.shape) # print('--------') org_mx = file_obj.variables['org_mx'][:] org_mx = pd.DataFrame(org_mx, index = index) org_mx.index.name = 'Time' org_mx.columns = file_obj.variables['amus'][:] org_mx.columns.name = 'amus (m/z)' out = _tools.ArmDict(plottable = ['mass_concentrations', 'Organic mass spectral matrix']) out['mass_concentrations'] = timeseries.TimeSeries(mass_concentrations) out['Organic mass spectral matrix'] = timeseries.TimeSeries_2D(org_mx) return out
def _parse_netCDF(file_obj): index = _tools._get_time(file_obj) sd = file_obj.variables['number_concentration_DMA_APS'] df = pd.DataFrame(sd[:]) df.index = index d = file_obj.variables['diameter'] bins, colnames = diameter_binning.bincenters2binsANDnames(d[:]*1000) dist = sizedistribution.SizeDist_TS(df,bins,'dNdlogDp') dist = dist.convert2dVdlogDp() out = _tools.ArmDict(plottable = ['size_distribution']) out['size_distribution'] = dist return out
def _parse_netCDF(file_obj): "returns a dictionary, with panels in it" index = _tools._get_time(file_obj) data = file_obj.variables['hyg_distributions'][:] growthfactors = file_obj.variables['growthfactors'][:] size_bins = file_obj.variables['size_bins'][:]* 1000 RH_interDMA = pd.DataFrame(file_obj.variables['RH_interDMA'][:], index = index, columns=size_bins) RH_interDMA.columns.name = 'size_bin_center_nm' data = pd.Panel(data, items= index, major_axis = size_bins, minor_axis = growthfactors) data.items.name = 'Time' data.major_axis.name = 'size_bin_center_nm' data.minor_axis.name = 'growthfactors' out = Tdmahyg(plottable = ['hyg_distributions'], plot_kwargs = dict(xaxis=0, yaxis = 2, sub_set=5, kwargs = dict(vmin = 0))) # data = _timeseries.TimeSeries_3D(data) data = timeseries.TimeSeries_3D(data) # data.RH_interDMA = RH_interDMA out['hyg_distributions'] = data out['RH_interDMA'] = RH_interDMA # out['growthfactors'] = growthfactors # out['size_bins'] = size_bins return out
def _parse_netCDF(file_obj): abs_coeff = ['Ba_G_Dry_10um_PSAP1W_1', 'Ba_G_Dry_1um_PSAP1W_1', 'Ba_B_Dry_10um_PSAP3W_1', 'Ba_G_Dry_10um_PSAP3W_1', 'Ba_R_Dry_10um_PSAP3W_1', 'Ba_B_Dry_1um_PSAP3W_1', 'Ba_G_Dry_1um_PSAP3W_1', 'Ba_R_Dry_1um_PSAP3W_1', ] scat_coeff = ['Bs_B_Dry_10um_Neph3W_1', 'Bs_G_Dry_10um_Neph3W_1', 'Bs_R_Dry_10um_Neph3W_1', 'Bs_B_Wet_10um_Neph3W_2', 'Bs_G_Wet_10um_Neph3W_2', 'Bs_R_Wet_10um_Neph3W_2', 'Bs_B_Dry_1um_Neph3W_1', 'Bs_G_Dry_1um_Neph3W_1', 'Bs_R_Dry_1um_Neph3W_1', 'Bs_B_Wet_1um_Neph3W_2', 'Bs_G_Wet_1um_Neph3W_2', 'Bs_R_Wet_1um_Neph3W_2', ] bscat_coeff_vars = ['Bbs_B_Dry_10um_Neph3W_1', 'Bbs_G_Dry_10um_Neph3W_1', 'Bbs_R_Dry_10um_Neph3W_1', 'Bbs_B_Wet_10um_Neph3W_2', 'Bbs_G_Wet_10um_Neph3W_2', 'Bbs_R_Wet_10um_Neph3W_2', 'Bbs_B_Dry_1um_Neph3W_1', 'Bbs_G_Dry_1um_Neph3W_1', 'Bbs_R_Dry_1um_Neph3W_1', 'Bbs_B_Wet_1um_Neph3W_2', 'Bbs_G_Wet_1um_Neph3W_2', 'Bbs_R_Wet_1um_Neph3W_2', ] RH = ['RH_NephVol_Dry', 'RH_NephVol_Wet'] def var2ts(file_obj, var_list, index, column_name): """extracts the list of variables from the file_obj and puts them all in one data frame""" df = pd.DataFrame(index = index) for var in var_list: variable = file_obj.variables[var] data = variable[:] fill_value = variable.missing_data data = np.ma.masked_where(data == fill_value, data) df[var] = pd.Series(data, index = index) df.index.name = 'Time' df.columns.name = column_name out = timeseries.TimeSeries(df) return out index = _tools._get_time(file_obj) out = _tools.ArmDict(plottable= ['abs_coeff', 'scatt_coeff', 'back_scatt'] ) out['abs_coeff'] = var2ts(file_obj, abs_coeff, index, 'abs_coeff_1/Mm') out['scatt_coeff'] = var2ts(file_obj, scat_coeff, index, 'scatt_coeff_1/Mm') out['back_scatt'] = var2ts(file_obj, bscat_coeff_vars, index, 'back_scatt_1/Mm') out['RH'] = var2ts(file_obj, RH, index, 'RH') out.info = info return out