Releases: holukas/fluxrun
Releases · holukas/fluxrun
v2.1.1
v2.1.0
v2.1.0 | 3 Jun 2025
- Refactored script for better execution as a module
- Now using relative imports for modules
- Small change: window title now lowercase
Full Changelog: v2.0.2...v2.1.0
v2.0.2
v2.0.2 | 14 Apr 2025
- Bugfix: start and end date from CLI
daysarg did not work - Removed left-over main.py
Full Changelog: v2.0.1...v2.0.2
v2.0.1
v2.0.1 | 14 Apr 2025
- Bugfix: Deleting umcompressed ASCII files after processing was not executed even when selected (
fluxrun.fluxrun_engine.FluxRunEngine.run) - Changed: Deleting uncompressed data files after processing now takes into account the original file suffix of the
input files (fluxrun.fluxrun_engine.FluxRunEngine._delete_uncompressed_ascii_files) - Fix date shown in GUI
Full Changelog: v2.0.0...v2.0.1
v2.0.0
v2.0.0 | 9 Apr 2025
Introducing v2.0.0
fluxrun has been updated to version 2.
fluxrun is a Python wrapper for EddyPro to calculate EC ecosystem fluxes from raw data files.
This version enhances its usability for a wider range of eddy covariance (EC) sites beyond
the ETH Grassland Sciences group.
fluxrun can be executed using the GUI or directly from the command line interface.
fluxrun was created as a wrapper around EddyPro. This means that the flux calculations are done by EddyPro, but
fluxrun adds some functionality, e.g.:
fluxrunautomatically creates an output folder structure, including run ID.- The log output from EddyPro (together with other output from
fluxrun) is stored to a log file. - There is an additional log file storing warnings and errors.
fluxruncan be executed in parallel, e.g. when calculating fluxes for multiple yearsfluxrunmakes it a bit easier
to run them all at once. Parallelization is not included by default (at the moment), but using the command-line
interface multiple instances offluxruncan be started quickly. Each started instance gets its own output folder and
folder structure, including a unique run ID.- Input files are validated to make sure columns contain numeric data only. Non-numeric data are converted to
-9999. fluxruncan create several plots during processing: raw data availability, raw data aggregates and summary plots of
all variables in EddyPro's_full_output_file.- In case compressed files are used (
.gz), the files are automatically uncompressed (text format) before processing.
After processing,in case the uncompressed files are no longer needed, they can be automatically deleted. If the
files have the file extension.gz, they are uncompressed before further processing.
Installation
Installation is currently far from perfect, but here we go:
Using miniconda:
- Create conda environment with required Python version:
conda create -n fluxrun-env python=3.11 - Activate the created environment:
conda activate fluxrun-env - Now check the fluxrun releases here and decide which version to use
- Spot the
.tar.gzfile of the desired fluxrun version and use it to directly install from the GitHub repo via pip:
pip install https://github.com/holukas/fluxrun/archive/refs/tags/v2.0.0.tar.gz - Now all required dependencies are installed in the environment
fluxrun-env - Spot the
.zipfile of the desired fluxrun version and download it from GitHub. Use the same version as for the
.tar.gzfile: https://github.com/holukas/fluxrun/archive/refs/tags/v2.0.0.zip - Unzip the zip file to a folder, e.g.
C:\fluxrun-2.0.0 - Start GUI:
python C:\fluxrun-2.0.0\fluxrun main.py -g - Start processing with CLI:
python C:\fluxrun-2.0.0\fluxrun main.py -f C:\my_project -d 10. When using the CLI, you
basically pointfluxrunto a folder and everything it needs to run it searches in that folder. Therefore, the folder
C:\my_projectneeds to contain the.eddyproand.metadatafiles used by EddyPro, and in addition the file
fluxrunsettings.yaml. The parameter-d 10means that only fluxes for the last 10 days are calculted. This
parameter is useful when runningfluxrunon an automatic schedule.
Description of GUI settings
Raw Data Files
Select raw data source folder (ASCII): Select source folder with eddy covariance (EC) raw data filesFile name ID: Define file name ID. The file name needs to contain datetime info, it needs info about the year,
month, day, hours and minutes. Time info refers to the starting time of the file. Files are handled differently
depending on the file extension. Files with the ending.gzwill be umcompressed before processing. Files need to be
text-based, e.g. CSV files, but they can be compressed as.gz. Example: SITE_yyyymmddHHMM.csv.gzHeader format: Numer of header rows in the raw data files.Start: Define start date for processing, files before this date will be ignored.End: Define end date for processing, files after this date will be ignored.Plots:Availability (raw data): Plot data availablility based on the datetime info in the filenames.Aggregates (raw data): Plot aggregates (means) of the raw data.
Flux Processing Settings
Run flux calculation using EddyPro: Select for flux calculations.Select EddyPro processing file (*.eddypro): Select.eddyprosettings file that contains the flux processing
settings for EddyPro.fluxrunwill search for a.metadatafile of the same name in the same folder as the
.eddyprofile. For example, if the settings file is namedmy_settings.eddypro, thenfluxrunneeds a metadata
file with the namemy_settings.metadatain the same folder.
Output
Select output folder: Select where to store the results.fluxrunautomatically creates an output folder structure,
including run ID for the main folder.Output folder name prefix: Prefix for the output folder, will be combined with the automatically generated run ID.Plots:Summary (flux processing): Simple overview plots generated for each variables in the_full_output_file from
the EddyPro output.
After Processing
Delete uncompressed raw data ASCII after processing: After processing,fluxruncan delete the uncompressed ASCII
files. The uncompressed files are needed for flux calculations, but unless there is a desire to store the uncompressed
files they are no longer needed. Only recommended if the input files were compressed (.gz).
Other changes
- Now using PyQt6 for GUI
- Updated code for PyQt6
- Fixed bug in pandas
.pivot()method, small issue due to the updated pandas version diiveis now using Python version3.11upwards- Updated environment, poetry
pyproject.tomlfile now has the currently used structure - Added key shortcut to start processing ("Ctrl+R")
- Added key shortcut save settings ("Ctrl+S")
- Now always using forward slashes for paths
What's Changed
Full Changelog: v1.4.1...v2.0.0
v1.4.1
v1.4.1 | 27 Mar 2024
- Added new sites
CH-FOR,CH-HONandCH-TANin site selection menu - Now showing all sites when clicking on site selection drop-down menu
- Added info about default setting in GUI:
Date/Time Format In File Name (default: yyyymmddHHMM) - Updated links in sidebar to GitHub locations
What's Changed
New Contributors
Full Changelog: v1.4.0...v1.4.1
v1.4.0
v1.4.0 | 27 Feb 2024
- Added: it is now possible to give a specific file extension in the GUI
settingRaw Data: File Settings>Date/Time Format In File name. In case no file extension is given,fluxrun
assumes.csvas the default file extension.- Example 1: For uncompressed files named using a format like
CH-FRU_ec_20230509-0930_withAGC.dat, the
respective entry isec_yyyymmdd-HHMM_withAGC.dat. The site nameCH-FRU_is added automatically during
processing and must not be added in this setting. - Example 2: For uncompressed files named using a format like
CH-FRU_202305090930.csv, the respective
entry isyyyymmddHHMM(same as in earlier version). The site nameCH-FRU_is added automatically during
processing and must not be added in this setting. The file extension.csvis assumed since no specific file
extension is given. - Example 3: For compressed files named using a format like
CH-FRU_ec_20230509-0930_withAGC.dat.gz, the
respective entry isec_yyyymmdd-HHMM_withAGC.dat. The suffix.gzis automatically added to the given file
extension. - Example 4: For compressed files named using a format like
CH-FRU_202305090930.csv.gz, the respective
entry isyyyymmddHHMM(same as in earlier version).
- Example 1: For uncompressed files named using a format like
- Added: During unzipping of gzip files, the logger now also displays the name of the file before unzipping
is started. This way it is easier to identify files for which unzipping does not work, e.g., due to
corrupted binary files (irregular structure). (fluxrun.ops.file.uncompress_gzip)
Full Changelog: v1.3.1...v1.4.0
