pH Calculation Tools — pyrotoolbox documentation

# pH Calculation Tools

Module to calculate pH for devices from Pyroscience.

The following functions are only valid for devices with Firmware >= 4.10 (released 2023).

pyrotoolbox.pH.calculate_pH(R, temperature, salinity, top, bottom, pka, slope, pka_t, bottom_t, top_t, slope_t, pka_is1, pka_is2, offset, **kwargs)

  Calculate pH from R, temperature, salinity and sensor constants. See also function calculate_pH_from_calibration.

  Parameters:

    - R – R-value from the sensor

    - temperature – temperature of the sample in °C

    - salinity – salinity of the sample in g/L

    - top – material constant

    - bottom – material constant

    - pka – material constant

    - slope – material constant

    - pka_t – material constant

    - bottom_t – material constant

    - top_t – material constant

    - slope_t – material constant

    - pka_is1 – material constant

    - pka_is2 – material constant

    - offset – offset in pH-units (from 3rd calibration point)

    - kwargs – kwargs are ignored

  Returns:

pyrotoolbox.pH.calculate_pH_from_calibration(R, temperature, salinity, calibration: dict, **kwargs)

  apply a pH calibration to measurement data for FW >= 410

  The calibration parameters can be passed from the calibration metadata.

  Example usage: apply_pH_calibration(data[‘R’], data[‘temp’], data[‘salinity’], m[‘calibration’])

  Parameters:

    - R – R-value from the sensor

    - temperature – temperature of the sample in °C

    - salinity – salinity of the sample in g/L

    - calibration – calibration dictionary as created by the parsers

    - kwargs – kwargs are inserted into the calibration and override the values

  Returns:

    calculated pH values

pyrotoolbox.pH.calculate_pH_from_interpolated_calibration(R, temperature, salinity, calibrations, return_fits=False)

  Apply an interpolated pH calibration to measurement data

  The top and bottom value is calculated for every passed calibration and fitted linear over time. For every measurement point an individual value of top and bottom is calculated.

  Parameters:

    - R – data for “R”

    - temperature – overrides temp values from df. Single value or iterable with same length as df is required

    - salinity – Single value or iterable with same length as df is required

    - calibrations – dict in format {timestring: calib_data} e.g. {‘2019-05-05 13:10:00’: {pH1: 4, temp1: 22.08, …}}, or a list of calibration-dicts

    - R – overrides R values from df. Single value or iterable with same length as df is required

    - return_fits – return the fits of top, bottom and offset instead

  Returns:

    calculated pH-values

pyrotoolbox.pH.calculate_pH_with_prospective_drift_compensation(R, temperature, salinity, calibration: dict, d0: float, d1: float, d2: float, d3: float, start_timestamp=None)

  apply prospective pH drift compensation to a pH measurement.

  currently we have identified two main sources of drift for the pH sensor materials:

    - dye hydrolysis or leaching in water (strongly temperature dependent)

    - photo-bleaching during a measurement

  The effect on the sensors is assumed to be only a decrease in Top (due to reduced dye content)

  Parameters:

    - R – R-values

    - temperature – temperature data

    - salinity – salinity data

    - calibration – calibration dictionary as created by the parser functions

    - start_timestamp – optional, time of the calibration. By default, the date_calibration_acid value is used

    - d0 – first coefficient of the temperature dependent drift

    - d1 – second coefficient of the temperature dependent drift

    - d2 – third coefficient of the temperature dependent drift

    - d3 – fourth coefficient of the temperature dependent drift

    - start_timestamp – optional, start of the drift. If omitted the date of the last acid calibration is used

  Returns:

    array of pH values

## Examples

- recalc with different calibration
- calculate with different temperature
- calculate with device temperature
- calculate with 40 PSU
- Interpoliertat pH drift correction
- Prospective pH drift correction