From 4b9e2fadb2d03d814e7906e068c4b6c179a557da Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lukas=20H=C3=B6rtnagl?= Date: Tue, 27 Feb 2024 16:58:21 +0100 Subject: [PATCH] Support for file extensions --- CHANGELOG.md | 23 +++++++- fluxrun/fluxrun.py | 37 ++++++++++-- fluxrun/ops/file.py | 9 ++- fluxrun/ops/vis.py | 5 +- fluxrun/settings/FluxRun.settings | 56 +++++++++---------- fluxrun/settings/FluxRun.settingsOld | 52 ++++++++--------- fluxrun/settings/_version.py | 4 +- pyproject.toml | 2 +- pythonProject/.idea/.gitignore | 8 +++ .../inspectionProfiles/Project_Default.xml | 38 +++++++++++++ .../inspectionProfiles/profiles_settings.xml | 6 ++ pythonProject/.idea/modules.xml | 8 +++ pythonProject/.idea/pythonProject.iml | 8 +++ pythonProject/.idea/vcs.xml | 6 ++ 14 files changed, 196 insertions(+), 66 deletions(-) create mode 100644 pythonProject/.idea/.gitignore create mode 100644 pythonProject/.idea/inspectionProfiles/Project_Default.xml create mode 100644 pythonProject/.idea/inspectionProfiles/profiles_settings.xml create mode 100644 pythonProject/.idea/modules.xml create mode 100644 pythonProject/.idea/pythonProject.iml create mode 100644 pythonProject/.idea/vcs.xml diff --git a/CHANGELOG.md b/CHANGELOG.md index 1717995..1e0a1df 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,13 +2,34 @@ ![](images/logo_FLUXRUN1_256px.png) +## v1.4.0 | 27 Feb 2024 + +- Added: it is now possible to give a specific file extension in the GUI + setting `Raw Data: File Settings` > `Date/Time Format In File name`. In case no file extension is given, `fluxrun` + assumes `.csv` as the default file extension. + - Example 1: For *uncompressed* files named using a format like named `CH-FRU_ec_20230509-0930_withAGC.dat`, the + respective entry is `ec_yyyymmdd-HHMM_withAGC.dat`. The site name `CH-FRU_` is added automatically during + processing and must not be added in this setting. + - Example 2: For *uncompressed* files named using a format like named `CH-FRU_202305090930.csv`, the respective + entry is `yyyymmddHHMM` (same as in earlier version). The site name `CH-FRU_` is added automatically during + processing and must not be added in this setting. The file extension `.csv` is assumed since no specific file + extension is given. + - Example 3: For *compressed* files named using a format like named `CH-FRU_ec_20230509-0930_withAGC.dat.gz`, the + respective entry is `ec_yyyymmdd-HHMM_withAGC.dat`. The suffix `.gz` is automatically added to the given file + extension. + - Example 4: For *compressed* files named using a format like named `CH-FRU_202305090930.csv.gz`, the respective + entry is `yyyymmddHHMM` (same as in earlier version). +- 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`) + ## v1.3.2 | 21 Oct 2023 - Moved repo to GitLab: https://github.com/holukas/fluxrun ## v1.3.1 - 1 Jul 2023 -- Updated poetry.lock file +- Updated poetry.lock file - Updated version number, was wrong in last release, should have been v1.3.0 in toml ## v1.3.0 - 2 Apr 2023 diff --git a/fluxrun/fluxrun.py b/fluxrun/fluxrun.py index b598006..3cdea75 100644 --- a/fluxrun/fluxrun.py +++ b/fluxrun/fluxrun.py @@ -129,7 +129,6 @@ def _plot_summary(self): else: self.logger.info("(!)WARNING No *_full_output_* file was found. Skipping summary plots.") - def _delete_uncompressed_ascii_files(self): """Delete uncompressed (unzipped) ASCII files that were used for flux processing""" if int(self.settings_dict['delete_uncompressed_ascii_after_processing']) == 1: @@ -185,14 +184,42 @@ def run_eddypro_cmd(self, cmd: str): def make_parsing_strings(self): """Make parsing strings to parse info from raw data filenames""" + + # Assemble search strings + + file_ext = Path(self.settings_dict['rawdata_filename_datetime_format']).suffix + + if not file_ext: + # If no file extension given in setting 'rawdata_filename_datetime_format', + # the by default '.csv' is used + if self.settings_dict['rawdata_file_compression'] == 'gzip': + file_ext_search = '.csv.gz' + file_ext_parsing = '.csv.gz' + else: + file_ext_search = '.csv' + file_ext_parsing = '.csv' + + else: + if self.settings_dict['rawdata_file_compression'] == 'gzip': + file_ext_search = f'{file_ext}.gz' + file_ext_parsing = '.gz' + else: + # File extension already given in setting 'rawdata_filename_datetime_format' + file_ext_search = file_ext + file_ext_parsing = '' + + self.settings_dict['_sitefiles_search_str'] = f"{self.settings_dict['site']}_*{file_ext_search}" + # print(self.settings_dict['_sitefiles_search_str']) + + # Convert given parsing string to a string containing datetime characters that Python understands, e.g. %Y self.settings_dict['filename_datetime_parsing_string'] = self.make_datetime_parsing_string() - # Add site id to search strings - file_ext = '.csv.gz' if self.settings_dict['rawdata_file_compression'] == 'gzip' else '.csv' - self.settings_dict['_sitefiles_search_str'] = f"{self.settings_dict['site']}_*{file_ext}" + # Construct exact parsing string self.settings_dict['_sitefiles_parse_str'] = f"{self.settings_dict['site']}_" \ f"{self.settings_dict['filename_datetime_parsing_string']}" \ - f"{file_ext}" + f"{file_ext_parsing}" + # print(self.settings_dict['_sitefiles_parse_str']) + # print(self.settings_dict['_sitefiles_parse_str']) def make_datetime_parsing_string(self): """Parse filename for datetime info""" diff --git a/fluxrun/ops/file.py b/fluxrun/ops/file.py index 2bdd6d7..e26c376 100644 --- a/fluxrun/ops/file.py +++ b/fluxrun/ops/file.py @@ -34,6 +34,7 @@ def uncompress_gzip(settings_dict, found_gzip_files_dict, logger): import time tic = time.time() with gzip.open(compr_filepath, 'rb') as f_in: + logger.info(f"Trying to unzip file {compr_filepath} ...") with open(uncompr_filepath, 'wb') as f_out: shutil.copyfileobj(f_in, f_out) time_needed = time.time() - tic @@ -238,8 +239,14 @@ def update_processing_file(self): f"\n OLD: {data_path_old}" f" NEW: {data_path_new}") + # If no file extension was given in setting 'rawdata_filename_datetime_format', + # the file extension will default to '.csv'. Otherwise, the given file extension + # is used. + file_ext = Path(self.settings_dict['rawdata_filename_datetime_format']).suffix + file_ext = '.csv' if not file_ext else '' + prototype_str = f"{self.settings_dict['site']}_" \ - f"{self.settings_dict['rawdata_filename_datetime_format']}.csv" + f"{self.settings_dict['rawdata_filename_datetime_format']}{file_ext}" file_prototype_new = f"file_prototype={prototype_str}\n".replace('\\', '/') self.update_setting(filepath=self.settings_dict['_path_used_eddypro_processing_file'], old=file_prototype_old, new=file_prototype_new) diff --git a/fluxrun/ops/vis.py b/fluxrun/ops/vis.py index e33c2d3..71acf01 100644 --- a/fluxrun/ops/vis.py +++ b/fluxrun/ops/vis.py @@ -376,7 +376,7 @@ def collect_aggs(self): filecounter=filecounter) self.make_plot(df=stats_coll_df, outdir=self.settings_dict['_dir_out_run_plots_aggregates_rawdata']) - print(filecounter) + # print(filecounter) def file_header_for_log(self, fid, num_files, filecounter): spacer = "=" * 30 @@ -434,7 +434,8 @@ def calc_rawdata_stats(self, rawdata_df, stats_coll_df, rawdata_filedate, fileco if filecounter == 1: stats_coll_df = rawdata_df.copy() else: - stats_coll_df = stats_coll_df.append(rawdata_df) + # stats_coll_df = stats_coll_df.append(rawdata_df) + stats_coll_df = pd.concat([stats_coll_df, rawdata_df], axis=0) return stats_coll_df diff --git a/fluxrun/settings/FluxRun.settings b/fluxrun/settings/FluxRun.settings index 968dd37..b02b346 100644 --- a/fluxrun/settings/FluxRun.settings +++ b/fluxrun/settings/FluxRun.settings @@ -1,4 +1,4 @@ -_run_id=FR-20230402-204148 +_run_id=FR-20240227-140551 # INSTRUMENTS @@ -12,50 +12,50 @@ site=CH-FRU # ========== ## Raw Data Source Folder -rawdata_indir=F:/Sync/luhk_work/20 - CODING/23 - FLUX/fluxrun/_tests/XXX2 -rawdata_file_compression=gzip +rawdata_indir=F:/01-NEW/CH-FRU-FF202401/2023_rECord/raw_data_ascii_rECord_filesWithAGC/raw_data_ascii_rECord_filesWithAGC +rawdata_file_compression=None ## Time Range -rawdata_start_date=2022-01-01 00:01 -rawdata_end_date=2022-12-31 23:59 +rawdata_start_date=2023-01-01 00:01 +rawdata_end_date=2023-12-31 23:59 ## File Settings -rawdata_filename_datetime_format=yyyymmddHHMM -_sitefiles_search_str=CH-FRU_*.csv.gz -_sitefiles_parse_str=CH-FRU_%Y%m%d%H%M.csv.gz +rawdata_filename_datetime_format=ec_yyyymmdd-HHMM_withAGC.dat +_sitefiles_search_str=CH-FRU_*.dat +_sitefiles_parse_str=CH-FRU_ec_%Y%m%d-%H%M_withAGC.dat ## EddyPro -path_selected_eddypro_processing_file=F:\Sync\luhk_work\20 - CODING\23 - FLUX\fluxrun\_tests\XXX2\CH-FRU_2022_[IRGA75]_R350-A+IRGA75-A.eddypro -_path_used_eddypro_processing_file=F:\Sync\luhk_work\20 - CODING\23 - FLUX\fluxrun\_tests\XXX2\CH-FRU_FR-20230402-204148\2-0_eddypro_flux_calculations\ini\processing.eddypro -_path_found_eddypro_metadata_file=F:\Sync\luhk_work\20 - CODING\23 - FLUX\fluxrun\_tests\XXX2\CH-FRU_2022_[IRGA75]_R350-A+IRGA75-A.eddypro -_path_used_eddypro_metadata_file=F:\Sync\luhk_work\20 - CODING\23 - FLUX\fluxrun\_tests\XXX2\CH-FRU_FR-20230402-204148\2-0_eddypro_flux_calculations\ini\CH-FRU_2022_[IRGA75]_R350-A+IRGA75-A.metadata -_path_used_eddypro_app_rp=F:\Sync\luhk_work\20 - CODING\23 - FLUX\fluxrun\_tests\XXX2\CH-FRU_FR-20230402-204148\2-0_eddypro_flux_calculations\bin\eddypro_rp.exe -_path_used_eddypro_app_fcc=F:\Sync\luhk_work\20 - CODING\23 - FLUX\fluxrun\_tests\XXX2\CH-FRU_FR-20230402-204148\2-0_eddypro_flux_calculations\bin\eddypro_fcc.exe +path_selected_eddypro_processing_file=F:\01-NEW\CH-FRU-FF202401\2023_rECord\CH-FRU_2023_rECord_[IRGA75]_R350-R1+IRGA75-R1.eddypro +_path_used_eddypro_processing_file=F:\01-NEW\CH-FRU-FF202401\2023_rECord\CH-FRU_FR-20240227-140551\2-0_eddypro_flux_calculations\ini\processing.eddypro +_path_found_eddypro_metadata_file=F:\01-NEW\CH-FRU-FF202401\2023_rECord\CH-FRU_2023_rECord_[IRGA75]_R350-R1+IRGA75-R1.eddypro +_path_used_eddypro_metadata_file=F:\01-NEW\CH-FRU-FF202401\2023_rECord\CH-FRU_FR-20240227-140551\2-0_eddypro_flux_calculations\ini\CH-FRU_2023_rECord_[IRGA75]_R350-R1+IRGA75-R1.metadata +_path_used_eddypro_app_rp=F:\01-NEW\CH-FRU-FF202401\2023_rECord\CH-FRU_FR-20240227-140551\2-0_eddypro_flux_calculations\bin\eddypro_rp.exe +_path_used_eddypro_app_fcc=F:\01-NEW\CH-FRU-FF202401\2023_rECord\CH-FRU_FR-20240227-140551\2-0_eddypro_flux_calculations\bin\eddypro_fcc.exe # OUTPUT # ====== ## Output Folder -dir_out=F:\Sync\luhk_work\20 - CODING\23 - FLUX\fluxrun\_tests\XXX2 -_dir_out_run=F:\Sync\luhk_work\20 - CODING\23 - FLUX\fluxrun\_tests\XXX2\CH-FRU_FR-20230402-204148 -_dir_out_run_log=F:\Sync\luhk_work\20 - CODING\23 - FLUX\fluxrun\_tests\XXX2\CH-FRU_FR-20230402-204148\0_log -_dir_out_run_rawdata_ascii_files=F:\Sync\luhk_work\20 - CODING\23 - FLUX\fluxrun\_tests\XXX2\CH-FRU_FR-20230402-204148\1-0_rawdata_files_ascii -_dir_used_rawdata_ascii_files_eddypro_data_path=F:\Sync\luhk_work\20 - CODING\23 - FLUX\fluxrun\_tests\XXX2\CH-FRU_FR-20230402-204148\1-0_rawdata_files_ascii -_dir_out_run_plots_availability_rawdata=F:\Sync\luhk_work\20 - CODING\23 - FLUX\fluxrun\_tests\XXX2\CH-FRU_FR-20230402-204148\1-1_rawdata_plots_availability -_dir_out_run_plots_aggregates_rawdata=F:\Sync\luhk_work\20 - CODING\23 - FLUX\fluxrun\_tests\XXX2\CH-FRU_FR-20230402-204148\1-2_rawdata_plots_aggregates -_dir_out_run_eddypro=F:\Sync\luhk_work\20 - CODING\23 - FLUX\fluxrun\_tests\XXX2\CH-FRU_FR-20230402-204148\2-0_eddypro_flux_calculations -_dir_out_run_eddypro_ini=F:\Sync\luhk_work\20 - CODING\23 - FLUX\fluxrun\_tests\XXX2\CH-FRU_FR-20230402-204148\2-0_eddypro_flux_calculations\ini -_dir_out_run_eddypro_bin=F:\Sync\luhk_work\20 - CODING\23 - FLUX\fluxrun\_tests\XXX2\CH-FRU_FR-20230402-204148\2-0_eddypro_flux_calculations\bin -_dir_out_run_eddypro_results=F:\Sync\luhk_work\20 - CODING\23 - FLUX\fluxrun\_tests\XXX2\CH-FRU_FR-20230402-204148\2-0_eddypro_flux_calculations\results -_dir_out_run_plots_summary=F:\Sync\luhk_work\20 - CODING\23 - FLUX\fluxrun\_tests\XXX2\CH-FRU_FR-20230402-204148\2-1_eddypro_flux_calculations_summary_plots +dir_out=F:\01-NEW\CH-FRU-FF202401\2023_rECord +_dir_out_run=F:\01-NEW\CH-FRU-FF202401\2023_rECord\CH-FRU_FR-20240227-140551 +_dir_out_run_log=F:\01-NEW\CH-FRU-FF202401\2023_rECord\CH-FRU_FR-20240227-140551\0_log +_dir_out_run_rawdata_ascii_files=F:\01-NEW\CH-FRU-FF202401\2023_rECord\CH-FRU_FR-20240227-140551\1-0_rawdata_files_ascii +_dir_used_rawdata_ascii_files_eddypro_data_path=F:/01-NEW/CH-FRU-FF202401/2023_rECord/raw_data_ascii_rECord_filesWithAGC/raw_data_ascii_rECord_filesWithAGC +_dir_out_run_plots_availability_rawdata=F:\01-NEW\CH-FRU-FF202401\2023_rECord\CH-FRU_FR-20240227-140551\1-1_rawdata_plots_availability +_dir_out_run_plots_aggregates_rawdata=F:\01-NEW\CH-FRU-FF202401\2023_rECord\CH-FRU_FR-20240227-140551\1-2_rawdata_plots_aggregates +_dir_out_run_eddypro=F:\01-NEW\CH-FRU-FF202401\2023_rECord\CH-FRU_FR-20240227-140551\2-0_eddypro_flux_calculations +_dir_out_run_eddypro_ini=F:\01-NEW\CH-FRU-FF202401\2023_rECord\CH-FRU_FR-20240227-140551\2-0_eddypro_flux_calculations\ini +_dir_out_run_eddypro_bin=F:\01-NEW\CH-FRU-FF202401\2023_rECord\CH-FRU_FR-20240227-140551\2-0_eddypro_flux_calculations\bin +_dir_out_run_eddypro_results=F:\01-NEW\CH-FRU-FF202401\2023_rECord\CH-FRU_FR-20240227-140551\2-0_eddypro_flux_calculations\results +_dir_out_run_plots_summary=F:\01-NEW\CH-FRU-FF202401\2023_rECord\CH-FRU_FR-20240227-140551\2-1_eddypro_flux_calculations_summary_plots ## Plots plot_availability_rawdata=1 -plot_aggregates_rawdata=1 +plot_aggregates_rawdata=0 plot_summary=1 ## After Processing -delete_uncompressed_ascii_after_processing=1 +delete_uncompressed_ascii_after_processing=0 # _SCRIPT diff --git a/fluxrun/settings/FluxRun.settingsOld b/fluxrun/settings/FluxRun.settingsOld index 098e398..3b811c1 100644 --- a/fluxrun/settings/FluxRun.settingsOld +++ b/fluxrun/settings/FluxRun.settingsOld @@ -1,4 +1,4 @@ -_run_id=FR-20230402-203627 +_run_id=FR-20240227-120405 # INSTRUMENTS @@ -12,42 +12,42 @@ site=CH-FRU # ========== ## Raw Data Source Folder -rawdata_indir=F:/Sync/luhk_work/20 - CODING/23 - FLUX/fluxrun/_tests/XXX2 -rawdata_file_compression=gzip +rawdata_indir=F:/01-NEW/CH-FRU-FF202401/2023_rECord/raw_data_ascii_rECord_filesWithAGC/raw_data_ascii_rECord_filesWithAGC +rawdata_file_compression=None ## Time Range -rawdata_start_date=2022-01-01 00:01 -rawdata_end_date=2022-12-31 23:59 +rawdata_start_date=2023-01-01 00:01 +rawdata_end_date=2023-12-31 23:59 ## File Settings -rawdata_filename_datetime_format=yyyymmddHHMM -_sitefiles_search_str=CH-FRU_*.csv.gz -_sitefiles_parse_str=CH-FRU_%Y%m%d%H%M.csv.gz +rawdata_filename_datetime_format=ec_yyyymmdd-HHMM_withAGC.dat +_sitefiles_search_str=CH-FRU_*.dat +_sitefiles_parse_str=CH-FRU_ec_%Y%m%d-%H%M_withAGC.dat ## EddyPro -path_selected_eddypro_processing_file=F:\Sync\luhk_work\20 - CODING\23 - FLUX\fluxrun\_tests\XXX2\CH-FRU_2022_[IRGA75]_R350-A+IRGA75-A.eddypro -_path_used_eddypro_processing_file=F:\Sync\luhk_work\20 - CODING\23 - FLUX\fluxrun\_tests\XXX2\CH-FRU_FR-20230402-203627\2-0_eddypro_flux_calculations\ini\processing.eddypro -_path_found_eddypro_metadata_file=F:\Sync\luhk_work\20 - CODING\23 - FLUX\fluxrun\_tests\XXX2\CH-FRU_2022_[IRGA75]_R350-A+IRGA75-A.eddypro -_path_used_eddypro_metadata_file=F:\Sync\luhk_work\20 - CODING\23 - FLUX\fluxrun\_tests\XXX2\CH-FRU_FR-20230402-203627\2-0_eddypro_flux_calculations\ini\CH-FRU_2022_[IRGA75]_R350-A+IRGA75-A.metadata -_path_used_eddypro_app_rp=F:\Sync\luhk_work\20 - CODING\23 - FLUX\fluxrun\_tests\XXX2\CH-FRU_FR-20230402-203627\2-0_eddypro_flux_calculations\bin\eddypro_rp.exe -_path_used_eddypro_app_fcc=F:\Sync\luhk_work\20 - CODING\23 - FLUX\fluxrun\_tests\XXX2\CH-FRU_FR-20230402-203627\2-0_eddypro_flux_calculations\bin\eddypro_fcc.exe +path_selected_eddypro_processing_file=F:\01-NEW\CH-FRU-FF202401\2023_rECord\CH-FRU_2023_rECord_[IRGA75]_R350-R1+IRGA75-R1.eddypro +_path_used_eddypro_processing_file=F:\01-NEW\CH-FRU-FF202401\2023_rECord\CH-FRU_FR-20240227-120405\2-0_eddypro_flux_calculations\ini\processing.eddypro +_path_found_eddypro_metadata_file=F:\01-NEW\CH-FRU-FF202401\2023_rECord\CH-FRU_2023_rECord_[IRGA75]_R350-R1+IRGA75-R1.eddypro +_path_used_eddypro_metadata_file=F:\01-NEW\CH-FRU-FF202401\2023_rECord\CH-FRU_FR-20240227-120405\2-0_eddypro_flux_calculations\ini\CH-FRU_2023_rECord_[IRGA75]_R350-R1+IRGA75-R1.metadata +_path_used_eddypro_app_rp=F:\01-NEW\CH-FRU-FF202401\2023_rECord\CH-FRU_FR-20240227-120405\2-0_eddypro_flux_calculations\bin\eddypro_rp.exe +_path_used_eddypro_app_fcc=F:\01-NEW\CH-FRU-FF202401\2023_rECord\CH-FRU_FR-20240227-120405\2-0_eddypro_flux_calculations\bin\eddypro_fcc.exe # OUTPUT # ====== ## Output Folder -dir_out=F:\Sync\luhk_work\20 - CODING\23 - FLUX\fluxrun\_tests\XXX2 -_dir_out_run=F:\Sync\luhk_work\20 - CODING\23 - FLUX\fluxrun\_tests\XXX2\CH-FRU_FR-20230402-203627 -_dir_out_run_log=F:\Sync\luhk_work\20 - CODING\23 - FLUX\fluxrun\_tests\XXX2\CH-FRU_FR-20230402-203627\0_log -_dir_out_run_rawdata_ascii_files=F:\Sync\luhk_work\20 - CODING\23 - FLUX\fluxrun\_tests\XXX2\CH-FRU_FR-20230402-203627\1-0_rawdata_files_ascii -_dir_used_rawdata_ascii_files_eddypro_data_path=F:\Sync\luhk_work\20 - CODING\23 - FLUX\fluxrun\_tests\XXX2\CH-FRU_FR-20230402-203627\1-0_rawdata_files_ascii -_dir_out_run_plots_availability_rawdata=F:\Sync\luhk_work\20 - CODING\23 - FLUX\fluxrun\_tests\XXX2\CH-FRU_FR-20230402-203627\1-1_rawdata_plots_availability -_dir_out_run_plots_aggregates_rawdata=F:\Sync\luhk_work\20 - CODING\23 - FLUX\fluxrun\_tests\XXX2\CH-FRU_FR-20230402-203627\1-2_rawdata_plots_aggregates -_dir_out_run_eddypro=F:\Sync\luhk_work\20 - CODING\23 - FLUX\fluxrun\_tests\XXX2\CH-FRU_FR-20230402-203627\2-0_eddypro_flux_calculations -_dir_out_run_eddypro_ini=F:\Sync\luhk_work\20 - CODING\23 - FLUX\fluxrun\_tests\XXX2\CH-FRU_FR-20230402-203627\2-0_eddypro_flux_calculations\ini -_dir_out_run_eddypro_bin=F:\Sync\luhk_work\20 - CODING\23 - FLUX\fluxrun\_tests\XXX2\CH-FRU_FR-20230402-203627\2-0_eddypro_flux_calculations\bin -_dir_out_run_eddypro_results=F:\Sync\luhk_work\20 - CODING\23 - FLUX\fluxrun\_tests\XXX2\CH-FRU_FR-20230402-203627\2-0_eddypro_flux_calculations\results -_dir_out_run_plots_summary=F:\Sync\luhk_work\20 - CODING\23 - FLUX\fluxrun\_tests\XXX2\CH-FRU_FR-20230402-203627\2-1_eddypro_flux_calculations_summary_plots +dir_out=F:\01-NEW\CH-FRU-FF202401\2023_rECord +_dir_out_run=F:\01-NEW\CH-FRU-FF202401\2023_rECord\CH-FRU_FR-20240227-120405 +_dir_out_run_log=F:\01-NEW\CH-FRU-FF202401\2023_rECord\CH-FRU_FR-20240227-120405\0_log +_dir_out_run_rawdata_ascii_files=F:\01-NEW\CH-FRU-FF202401\2023_rECord\CH-FRU_FR-20240227-120405\1-0_rawdata_files_ascii +_dir_used_rawdata_ascii_files_eddypro_data_path=F:/01-NEW/CH-FRU-FF202401/2023_rECord/raw_data_ascii_rECord_filesWithAGC/raw_data_ascii_rECord_filesWithAGC +_dir_out_run_plots_availability_rawdata=F:\01-NEW\CH-FRU-FF202401\2023_rECord\CH-FRU_FR-20240227-120405\1-1_rawdata_plots_availability +_dir_out_run_plots_aggregates_rawdata=F:\01-NEW\CH-FRU-FF202401\2023_rECord\CH-FRU_FR-20240227-120405\1-2_rawdata_plots_aggregates +_dir_out_run_eddypro=F:\01-NEW\CH-FRU-FF202401\2023_rECord\CH-FRU_FR-20240227-120405\2-0_eddypro_flux_calculations +_dir_out_run_eddypro_ini=F:\01-NEW\CH-FRU-FF202401\2023_rECord\CH-FRU_FR-20240227-120405\2-0_eddypro_flux_calculations\ini +_dir_out_run_eddypro_bin=F:\01-NEW\CH-FRU-FF202401\2023_rECord\CH-FRU_FR-20240227-120405\2-0_eddypro_flux_calculations\bin +_dir_out_run_eddypro_results=F:\01-NEW\CH-FRU-FF202401\2023_rECord\CH-FRU_FR-20240227-120405\2-0_eddypro_flux_calculations\results +_dir_out_run_plots_summary=F:\01-NEW\CH-FRU-FF202401\2023_rECord\CH-FRU_FR-20240227-120405\2-1_eddypro_flux_calculations_summary_plots ## Plots plot_availability_rawdata=1 diff --git a/fluxrun/settings/_version.py b/fluxrun/settings/_version.py index eef8e86..d4ede63 100644 --- a/fluxrun/settings/_version.py +++ b/fluxrun/settings/_version.py @@ -1,5 +1,5 @@ -__version__ = "1.3.1" -__date__ = "1 Jul 2023" +__version__ = "1.4.0" +__date__ = "X Feb 2024" __link_source_code__ = "https://gitlab.ethz.ch/flux/fluxrun" __link_releases__ = "https://gitlab.ethz.ch/flux/fluxrun/-/releases" __link_changelog__ = "https://gitlab.ethz.ch/flux/fluxrun/-/blob/master/CHANGELOG.md" diff --git a/pyproject.toml b/pyproject.toml index 9659337..93d0a43 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,6 +1,6 @@ [tool.poetry] name = "fluxrun" -version = "v1.3.1" +version = "v1.4.0" description = "" authors = ["holukas "] diff --git a/pythonProject/.idea/.gitignore b/pythonProject/.idea/.gitignore new file mode 100644 index 0000000..13566b8 --- /dev/null +++ b/pythonProject/.idea/.gitignore @@ -0,0 +1,8 @@ +# Default ignored files +/shelf/ +/workspace.xml +# Editor-based HTTP Client requests +/httpRequests/ +# Datasource local storage ignored files +/dataSources/ +/dataSources.local.xml diff --git a/pythonProject/.idea/inspectionProfiles/Project_Default.xml b/pythonProject/.idea/inspectionProfiles/Project_Default.xml new file mode 100644 index 0000000..1a63207 --- /dev/null +++ b/pythonProject/.idea/inspectionProfiles/Project_Default.xml @@ -0,0 +1,38 @@ + + + + \ No newline at end of file diff --git a/pythonProject/.idea/inspectionProfiles/profiles_settings.xml b/pythonProject/.idea/inspectionProfiles/profiles_settings.xml new file mode 100644 index 0000000..105ce2d --- /dev/null +++ b/pythonProject/.idea/inspectionProfiles/profiles_settings.xml @@ -0,0 +1,6 @@ + + + + \ No newline at end of file diff --git a/pythonProject/.idea/modules.xml b/pythonProject/.idea/modules.xml new file mode 100644 index 0000000..e15ec35 --- /dev/null +++ b/pythonProject/.idea/modules.xml @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file diff --git a/pythonProject/.idea/pythonProject.iml b/pythonProject/.idea/pythonProject.iml new file mode 100644 index 0000000..d0876a7 --- /dev/null +++ b/pythonProject/.idea/pythonProject.iml @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file diff --git a/pythonProject/.idea/vcs.xml b/pythonProject/.idea/vcs.xml new file mode 100644 index 0000000..6c0b863 --- /dev/null +++ b/pythonProject/.idea/vcs.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file