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:
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.
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
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.