ONEFlux containers

facilitating agnostic flux processing

The ONEFlux ecosystem flux processing software sparked my interest over the weekend due to ongoing research questions. However, the software seemed rather hostile to easy configuration and deployment. It seemed an ideal candidate for dockerization and container-like deployment.

So after sorting some of the idiosyncratic issues of the software basic functionality is up and running. Both the interactive and headless images run nicely on the demo data which is provided with the original software. You can find the github repository here:

https://github.com/bluegreen-labs/ONEFlux_containers

Once the repository is cloned you will have to build the docker images yourself. Since the software relies on closed sourced (copyrighted) material (licenses) I can not distribute the images themselves. Instructions for all images are provided below and in the repository.

Interactive image

The interactive image is compiled without calling any additional scripts. It’s sole purpose is to provide a consistent and functional environment in which the ONEFlux processing chain will run without having to deal with annoying python install. You can get access to the session by starting an interactive docker session.

# build the image (in the interactive folder)
docker build -t oneflux-interactive .

# drop into a command prompt with a functional
# ONEFlux install
docker run -ti oneflux-interactive:latest

Headless image

Using the headless image you can use oneflux using a rather long but easily understood command:

# build the image (in the headless folder)
docker build -t oneflux-headless .

# process the demo data
docker run -v /your/data/:/data oneflux-headless:latest all "/data" US-ARc "US-ARc_sample_input" 2005 2006 -l fluxnet_pipeline_US-ARc.log --mcr /opt/mcr/v94/ --recint hh

ONEFlux docker App

Alas, and here I lament, the software is outdated by a fair margin and does not play well with python 3.5+. As a consequence, a Streamlit interface I had coded up to monitor progress during processing (and input settings) failed to materialize. A basic setup can still be generated but is non functional. Solutions from the community are welcome as pull requests on the github repo.

Avatar
Koen Hufkens, PhD
Partner, Researcher

As an earth system scientist and ecologist I model ecosystem processes.

Related

Next
Previous