helikite.instruments.pops
POPS -> HK_20220929x001.csv (has pressure)
The POPS is an optical particle counter. It provides information on the particle number concentration (how many particles per cubic centimeter) and the size distribution for particles larger than 180 nm roughly. Resolution: 1 sec
Important variables to keep: DateTime, P, POPS_Flow, b0 -> b15
PartCon needs to be re-calculated by adding b3 to b15 and deviding by averaged POPS_Flow (b0 -> b15 can be converted to dN/dlogDp values with conversion factors I have)
Housekeeping variables to look at: POPS_flow -> flow should be just below 3, and check for variability increase
Attributes
Classes
Helper class that provides a standard way to create an ABC using |
Module Contents
- class helikite.instruments.pops.POPS(*args, **kwargs)
Bases:
helikite.instruments.base.InstrumentHelper class that provides a standard way to create an ABC using inheritance.
- __repr__()
- property has_size_distribution: 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: pandas.DataFrame, *args, **kwargs) pandas.DataFrame
Default callback function for data corrections.
Return with no changes
- read_data() pandas.DataFrame
Read data into dataframe
This allows a custom read function to parse the CSV/TXT into a dataframe, for example cleaning dirty data at the end of the file in memory without altering the input file (see flight computer conf).
- calculate_derived(df: pandas.DataFrame, verbose: bool, *args, **kwargs) pandas.DataFrame
This function calculates the total concentration of POPS particles and adds it to the dataframe.
Parameters: - df: DataFrame with POPS data and altitude.
Returns: - df: Updated DataFrame with POPS total concentration and dNdlogDp for each bin.
- normalize(df: pandas.DataFrame, reference_instrument: helikite.instruments.base.Instrument, verbose: bool, *args, **kwargs) pandas.DataFrame
Normalize POPS concentrations to STP conditions.
Parameters: df (pd.DataFrame): DataFrame containing POPS measurements and necessary metadata
like ‘flight_computer_pressure’ and ‘Average_Temperature’.
Returns: df (pd.DataFrame): Updated DataFrame with new STP-normalized columns added.
- plot_raw_and_normalized(df: pandas.DataFrame, verbose: bool, *args, **kwargs)
Plots POPS concentration, raw and normalized to STP conditions, against altitude
- plot_distribution(df: pandas.DataFrame, verbose: bool, time_start: datetime.datetime, time_end: datetime.datetime, subplot: tuple[matplotlib.pyplot.Figure, matplotlib.pyplot.Axes] | None = None)
This function generates a contour plot for POPS size distribution and total concentration.
Parameters: - df: DataFrame with the POPS data. - time_start: Optional, start time for the x-axis (datetime formatted). - time_end: Optional, end time for the x-axis (datetime formatted).
- static _dNdlogDp_calculation(df_pops, dp_notes)
- helikite.instruments.pops.pops