fluxible

Ecosystem Gas Fluxes Calculations for Closed Loop Chamber Setup

https://github.com/plant-functional-trait-course/fluxible

Science Score: 39.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
    Found 9 DOI reference(s) in README
  • Academic publication links
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (19.9%) to scientific vocabulary
Last synced: 10 months ago · JSON representation

Repository

Ecosystem Gas Fluxes Calculations for Closed Loop Chamber Setup

Basic Info
Statistics
  • Stars: 1
  • Watchers: 3
  • Forks: 3
  • Open Issues: 0
  • Releases: 0
Created over 3 years ago · Last pushed 10 months ago
Metadata Files
Readme Changelog License

README.Rmd

---
output: github_document
bibliography: vignettes/biblio_phd_zot.bib
csl: vignettes/emerald-harvard.csl
---



```{r, include = FALSE}
knitr::opts_chunk$set(
  collapse = TRUE,
  comment = "#>",
  fig.path = "man/figures/README-",
  out.width = "100%"
)
```


# fluxible fluxible website


[![R-CMD-check](https://github.com/Plant-Functional-Trait-Course/fluxible/actions/workflows/R-CMD-check.yaml/badge.svg)](https://github.com/Plant-Functional-Trait-Course/fluxible/actions/workflows/R-CMD-check.yaml)
[![CRAN status](https://www.r-pkg.org/badges/version/fluxible)](https://CRAN.R-project.org/package=fluxible)
[![LifeCycle](https://img.shields.io/badge/lifecycle-stable-green)](https://lifecycle.r-lib.org/articles/stages.html#stable)
[![Codecov test coverage](https://codecov.io/gh/Plant-Functional-Trait-Course/fluxible/graph/badge.svg)](https://app.codecov.io/gh/Plant-Functional-Trait-Course/fluxible)


The `fluxible` R package is made to transform any dataset of gas concentration over time measured with closed loop chamber systems into a gas flux dataset.

Thanks to its flexibility, it works for all kinds of field setup (manual or automated chambers, tents, soil respiration chambers, ...) and data collection strategies (separated files for each measurement vs continuous logging, variable vs constant chamber volume, variable vs constant measurement length, ...).
It is organized as a toolbox with one function per steps, which offers a lot of freedom and backwards compatibility for ongoing projects.
If environmental data were recorded simultaneously (photosynthetically active radiation, soil temperature, ...), they can also be processed (mean, sum or median), with the same focus window as the flux estimate.

The goal of `fluxible` is to provide a workflow that removes individual evaluation of each flux, reduces risk of bias, and makes it reproducible.
Users set specific data quality standards and selection parameters as function arguments that are applied to the entire dataset.
`fluxible` offers different methods to estimate fluxes: linear, quadratic, exponential [@zhaoCalculationDaytimeCO22018], and the original HM model [@hutchinsonImprovedSoilCover1981; @pedersenComprehensiveApproachSoilatmosphere2010a].
The kappamax method [@huppiRestrictingNonlinearityParameter2018] is also included, at the quality control step.
The package runs the calculations automatically, without prompting the user to take decisions mid-way, and provides quality flags and plots at the end of the process for a visual check.

This makes it easy to use with large flux datasets and to integrate into a reproducible and automated data processing pipeline such as the [`targets` R package [@targetsRpackage2021]](https://books.ropensci.org/targets/).
Using the `fluxible` R package makes the workflow reproducible, increases compatibility across studies, and is more time efficient.

For a visual overview of the package, see [the poster](https://raw.githubusercontent.com/Plant-Functional-Trait-Course/fluxible/refs/heads/main/dissemination/poster_fluxible.pdf).

## Installation

`fluxible` can be installed from CRAN.

``` r
install.packages("fluxible")
```


You can install the development version of `fluxible` from the [GitHub repo](https://github.com/Plant-Functional-Trait-Course/fluxible) with:

``` r
# install.packages("devtools")
devtools::install_github("plant-functional-trait-course/fluxible")
```

## Short example
```{r short-example, fig.width = 8, fig.height = 9, fig.cap="Output of flux_plot, showing fluxes plotted individually with diagnostics and quality flags."}
library(fluxible)

conc_df <- flux_match(
  co2_df_short,
  record_short,
  datetime,
  start,
  measurement_length = 220
)

slopes_df <- flux_fitting(
  conc_df,
  conc,
  datetime,
  fit_type = "exp_zhao18",
  end_cut = 60
)

slopes_flag_df <- flux_quality(
  slopes_df,
  conc
)

flux_plot(
  slopes_flag_df,
  conc,
  datetime,
  f_ylim_lower = 390,
  f_ylim_upper = 650,
  facet_wrap_args = list(
    ncol = 3,
    nrow = 2,
    scales = "free"
  )
)

fluxes_df <- flux_calc(
  slopes_flag_df,
  f_slope_corr,
  datetime,
  temp_air,
  conc_unit = "ppm",
  flux_unit = "mmol/m2/h",
  cols_keep = c("turfID", "type"),
  cols_ave = c("temp_soil", "PAR"),
  setup_volume = 24.575,
  atm_pressure = 1,
  plot_area = 0.0625
)

fluxes_gpp <- flux_gpp(
  fluxes_df,
  type,
  datetime,
  id_cols = "turfID",
  cols_keep = c("temp_soil_ave")
)

fluxes_gpp
```

## Supporting infrastructure

### `licoread` R package

The [`licoread` R package](https://jogaudard.github.io/licoread/index.html), developed in collaboration with [LI-COR](https://www.licor.com/), provides an easy way to import raw files from LI-COR gas analyzers as R objects that can be used directly with the `fluxible` R package.

## Further developments

### Segmentation tool
We are working on a tool to automatically select the window of the measurement on which to fit a model.
This selection will be based on environmental variable, such as photosynthetically active radiation (PAR), or residuals.

### Working in mol/volume

So far `fluxible` works in fractional concentration (e. g. ppm) and transforms it in mol when calculating the fluxes, using the average temperature of the measurement.
This has the advantage to work even if the setup does not provide temperature for each gas concentration data point.
Recent setups provide temperature at the same frequency as gas concentration, and this allows to transform the concentration in mol/volume earlier in the process, accounting better for temperature changes during the measurement.
This will be implemented in a future version of `fluxible`.



## Contact
[Joseph Gaudard](https://jogaudard.github.io/CV_jgaudard/), University of Bergen, Norway

[joseph.gaudard@pm.me](mailto:joseph.gaudard@pm.me)

[GitHub page](https://github.com/jogaudard)

## Dissemination

If you are running a course and want to talk about `fluxible`, feel free to use this [two-slides presentation](https://raw.githubusercontent.com/Plant-Functional-Trait-Course/fluxible/refs/heads/main/dissemination/fluxible_jgaudard_short.pdf).
Of course, you can always reach out if you wish to have more material.

Gaudard J, Chacon-Labella J, Dawson HR, Enquist B, Telford RJ, Töpper JP, Trepel J, Vandvik V, Baumane M, Birkeli K, Holle MJM, Hupp JR, Santos-Andrade PE, Satriawan TW, Halbritter AH. “`fluxible`: an R package to process ecosystem gas fluxes from closed-loop chambers in an automated and reproducible way.” Authorea Preprints. [doi:10.22541/au.175071021.14153294/v1](https://doi.org/10.22541/au.175071021.14153294/v1), 2025.

Gaudard J, Trepel J, Dawson HR, Enquist B, Halbritter AH, Mustri M, Niittynen P, Santos-Andrade PE, Topper JP, Vandvik V, and Telford RJ. "`fluxible`: an R package to calculate ecosystem gas fluxes from closed loop chamber systems in a reproducible and automated workflow" ([slides](https://raw.githubusercontent.com/Plant-Functional-Trait-Course/fluxible/refs/heads/main/dissemination/fluxible_jgaudard_EGU25.pdf)), EGU General Assembly 2025, Vienna, Austria, 27 Apr–2 May 2025, EGU25-12409, [doi:10.5194/egusphere-egu25-12409](https://doi.org/10.5194/egusphere-egu25-12409), 2025. 

Gaudard J, Telford R, Vandvik V, and Halbritter AH: "`fluxible`: an R package to calculate ecosystem gas fluxes in a reproducible and automated workflow" ([poster](https://raw.githubusercontent.com/Plant-Functional-Trait-Course/fluxible/refs/heads/main/dissemination/poster_fluxible.pdf)), EGU General Assembly 2024, Vienna, Austria, 14–19 Apr 2024, EGU24-956, [doi:10.5194/egusphere-egu24-956](https://doi.org/10.5194/egusphere-egu24-956), 2024. 






## Acknowledgements

`fluxible` builds on the earlier effort from the Plant Functional Traits Course Community [`co2fluxtent` [@co2fluxtent]](https://github.com/PaulESantos/co2fluxtent).

#### References

Owner

  • Name: Plant-Functional-Trait-Course
  • Login: Plant-Functional-Trait-Course
  • Kind: organization

GitHub Events

Total
  • Issues event: 9
  • Watch event: 1
  • Delete event: 7
  • Issue comment event: 23
  • Push event: 269
  • Pull request event: 268
  • Fork event: 2
  • Create event: 6
Last Year
  • Issues event: 9
  • Watch event: 1
  • Delete event: 7
  • Issue comment event: 23
  • Push event: 269
  • Pull request event: 268
  • Fork event: 2
  • Create event: 6

Issues and Pull Requests

Last synced: 10 months ago

All Time
  • Total issues: 6
  • Total pull requests: 139
  • Average time to close issues: 10 months
  • Average time to close pull requests: 8 minutes
  • Total issue authors: 2
  • Total pull request authors: 1
  • Average comments per issue: 2.0
  • Average comments per pull request: 0.04
  • Merged pull requests: 103
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 2
  • Pull requests: 139
  • Average time to close issues: about 1 month
  • Average time to close pull requests: 8 minutes
  • Issue authors: 1
  • Pull request authors: 1
  • Average comments per issue: 2.0
  • Average comments per pull request: 0.04
  • Merged pull requests: 103
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • richardjtelford (3)
  • hrdawson (2)
Pull Request Authors
  • jogaudard (186)
  • JonasTrepel (1)
Top Labels
Issue Labels
Pull Request Labels

Packages

  • Total packages: 1
  • Total downloads:
    • cran 373 last-month
  • Total dependent packages: 0
  • Total dependent repositories: 0
  • Total versions: 8
  • Total maintainers: 1
cran.r-project.org: fluxible

Ecosystem Gas Fluxes Calculations for Closed Loop Chamber Setup

  • Versions: 8
  • Dependent Packages: 0
  • Dependent Repositories: 0
  • Downloads: 373 Last month
Rankings
Dependent packages count: 28.3%
Dependent repos count: 35.0%
Average: 50.0%
Downloads: 86.7%
Maintainers (1)
Last synced: 10 months ago

Dependencies

.github/workflows/pkgdown.yaml actions
  • JamesIves/github-pages-deploy-action v4.5.0 composite
  • actions/checkout v4 composite
  • r-lib/actions/setup-pandoc v2 composite
  • r-lib/actions/setup-r v2 composite
  • r-lib/actions/setup-r-dependencies v2 composite
DESCRIPTION cran
  • R >= 4.1 depends
  • broom * imports
  • dplyr * imports
  • ggforce * imports
  • ggplot2 * imports
  • haven * imports
  • lubridate * imports
  • purrr * imports
  • rlang * imports
  • stats * imports
  • stringr * imports
  • tidyr * imports
  • zoo * imports
  • testthat >= 3.0.0 suggests