helikite.instruments.pops_old ============================= .. py:module:: helikite.instruments.pops_old .. autoapi-nested-parse:: 3) 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 ---------- .. autoapisummary:: helikite.instruments.pops_old.pops Classes ------- .. autoapisummary:: helikite.instruments.pops_old.POPS Module Contents --------------- .. py:class:: POPS(*args, **kwargs) Bases: :py:obj:`helikite.instruments.base.Instrument` .. py:method:: __repr__() .. py:property:: has_size_distribution :type: bool .. py:method:: 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 .. py:method:: data_corrections(df: pandas.DataFrame, *args, **kwargs) -> pandas.DataFrame .. py:method:: read_data() -> pandas.DataFrame .. py:method:: 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. .. py:method:: 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. .. py:method:: plot_raw_and_normalized(df: pandas.DataFrame, verbose: bool, *args, **kwargs) Plots POPS concentration, raw and normalized to STP conditions, against altitude .. py:method:: 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). .. py:method:: _dNdlogDp_calculation(df_pops, dp_notes) :staticmethod: .. py:data:: pops