Example #1
0
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
Example #2
0
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
Example #3
0
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
Example #4
0
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