helikite.instruments.msems
- mSEMS ->
mSEMS_103_220929_101343_INVERTED.txt (data to be plotted) (has pressure) mSEMS_103_220929_101343_READINGS.txt (high resolution raw data with
houskeeping info, error messages) (has pressure)
- mSEMS_103_220929_101343_SCANS.txt (raw scan data with some houskeeping
varaibles)
The mSEMS measures particles size distribution for particles from 8 nanometers to roughly 300 nm. The number of bins can vary. Typically we use 60 log-spaced bins but it can change. The time resolution depends on the amount of bins and the scan time but it is typically between 1 and 2 minutes. I mormally do not merge this data with the rest because of the courser time resolution and the amount of variables.
The file provides some information on temperature, pressure etc. It then gives the center diamater of each bin (i.e. Bin_Dia1, Bin_Dia2, …) and then the numbe rof particles per bin (i.e. Bin_Conc1, Bin_Conc2, …).
-> because of the coarser time resolution, data is easier to be displayed as a timeseries (with the addition of total particle concentration and altitude).
Houskeeping file: Look at READINGS (look at msems_err / cpc_err)
Attributes
Classes
Functions
|
Calculate dN (differential number concentration) using logarithmic bin diameters. |
|
Plots mSEMS size distribution and total concentration from a given DataFrame. |
Calculate the total concentration from mSEMS measurements |
|
Normalize mSEMS concentrations to STP conditions and insert the results |
Module Contents
- helikite.instruments.msems.logger
- class helikite.instruments.msems.MSEMSInverted(*args, **kwargs)
Bases:
helikite.instruments.base.Instrument- data_corrections(df, **kwargs)
Create new columns to plot bins
- file_identifier(first_lines_of_csv) bool
- set_time_as_index(df: pandas.DataFrame) pandas.DataFrame
Set the DateTime as index of the dataframe and correct if needed
Using values in the time_offset variable, correct DateTime index
- read_data() pandas.DataFrame
- class helikite.instruments.msems.MSEMSReadings(*args, **kwargs)
Bases:
helikite.instruments.base.Instrument- file_identifier(first_lines_of_csv) bool
- set_time_as_index(df: pandas.DataFrame) pandas.DataFrame
Set the DateTime as index of the dataframe and correct if needed
Using values in the time_offset variable, correct DateTime index
- data_corrections(df, *args, **kwargs)
- read_data() pandas.DataFrame
- class helikite.instruments.msems.MSEMSScan(*args, **kwargs)
Bases:
helikite.instruments.base.Instrument- file_identifier(first_lines_of_csv) bool
- set_time_as_index(df: pandas.DataFrame) pandas.DataFrame
Set the DateTime as index of the dataframe and correct if needed
Using values in the time_offset variable, correct DateTime index
- data_corrections(df, *args, **kwargs)
- read_data() pandas.DataFrame
- helikite.instruments.msems.msems_scan
- helikite.instruments.msems.msems_readings
- helikite.instruments.msems.msems_inverted
- helikite.instruments.msems.calcN(df, start_column, end_column, start_conc, end_conc)
Calculate dN (differential number concentration) using logarithmic bin diameters.
- Parameters:
df (pd.DataFrame) – DataFrame containing bin diameters and concentrations.
start_column (str) – First bin diameter column name.
end_column (str) – Last bin diameter column name.
start_conc (str) – First bin concentration column name.
end_conc (str) – Last bin concentration column name.
- Returns:
DataFrame containing dN values and total concentration.
- Return type:
pd.DataFrame
- helikite.instruments.msems.plot_msems_distribution(df, time_start=None, time_end=None)
Plots mSEMS size distribution and total concentration from a given DataFrame.
Parameters: - df: pandas DataFrame with required mSEMS columns - time_start, time_end: optional pandas.Timestamp or str for limiting the time range
- helikite.instruments.msems.mSEMS_total_conc_dN(df)
Calculate the total concentration from mSEMS measurements and add it to the dataframe. Also plots mSEMS total concentration vs Altitude.
Parameters: df (pd.DataFrame): DataFrame containing mSEMS inverted data and Altitude.
Returns: df (pd.DataFrame): Updated DataFrame with mSEMS dN columns inserted.
- helikite.instruments.msems.mSEMS_STP_normalization(df)
Normalize mSEMS concentrations to STP conditions and insert the results right after the existing mSEMS columns.
Parameters: df (pd.DataFrame): DataFrame containing mSEMS measurements and metadata.
Returns: df (pd.DataFrame): Updated DataFrame with STP-normalized columns inserted.