koolstof.infrared
contains tools for processing infrared absorbance data to determine total dissolved inorganic carbon.
These tools were specifically designed for infrared absorbance data recorded by a LI-COR LI-7000 via its Windows Interface Software v2.0.3 and connected to a Marianda AIRICA.
The examples below all assume the following import convention has been used:
:::python
from koolstof import infrared as ksi
koolstof.infrared.io
contains functions to import relevant data.
!!! tip "Under the hood"
koolstof.infrared.io.read_dbs
and koolstof.infrared.io.read_LI7000
are both very light wrappers around pandas.read_table
. Any additional kwargs
used with either will be passed on to that pandas function, but none should be required.
koolstof.infrared.io.read_dbs
imports the databases generated by a Marianda AIRICA as a pandas DataFrame:
:::python
dbs = ksi.read_dbs(filename)
A new "datetime"
column is added containing the analysis date and time as a pandas Timestamp. It is also calculated as a Matplotlib date number in the column "datenum"
.
Finally, the original dbs column names are mapped to be more friendly.
??? info "dbs column name changes"
koolstof.infrared.io.read_dbs
renames the dbs columns as follows:
* `"run type"` → `"run_type"`
* `"i.s. temp."` → `"temperature_insitu"`
* `"sample mass"` → `"mass_sample"`
* `"rep#"` → `"rep"`
* `"CT"` → `"dic"`
* `"factor CT"` → `"dic_factor"`
* `"CV (µmol)"` → `"cv_micromol"`
* `"CV (%)"` → `"cv_percent"`
* `"last CRM CT"` → `"lastcrm_dic_measured"`
* `"cert. CRM CT"` → `"lastcrm_dic_certified"`
* `"CRM batch"` → `"lastcrm_batch"`
* `"calc. mode"` → `"mode_calculation"`
* `"integ. mode"` → `"mode_integration"`
* `"Lat."` → `"latitude"`
* `"Long."` → `"longitude"`
* `"area#1"` → `"area_1"`
* `"area#2"` → `"area_2"`
* `"area#3"` → `"area_3"`
* `"area#4"` → `"area_4"`
All other column names are left unchanged.
koolstof.infrared.io.read_LI7000
imports the text files recorded by a LI-COR LI-7000 via its Windows Interface Software v2.0.3 as a pandas DataFrame:
:::python
licor = ksi.read_LI7000(filename)
At least the "Time"
column must be present in the text file. This is converted into a pandas Timestamp and the column is renamed as "datetime"
. It is also calculated as a Matplotlib date number in the column "datenum"
.
Later processing functions here also expect the "CO2B um/m"
, "H2OB mm/m"
, "T C"
and "P kPa"
columns.
The original column names are mapped to be more friendly.
??? info "LI-7000 column name changes"
koolstof.infrared.io.read_LI7000
renames the text file's columns as follows:
* `"Time"` → `"datetime"`,
* `"CO2B um/m"` → `"x_CO2"`,
* `"H2OB mm/m"` → `"x_H2O"`,
* `"T C"` → `"temperature"`,
* `"P kPa"` → `"pressure"`,
* `"RH %`" → `"humidity_relative"`,
* `"Flow V"` → `"flow_voltage"`,
Any other column names are left unchanged.