From b282715cb219570fcf17bbe84171fc746204f942 Mon Sep 17 00:00:00 2001 From: Allister Liu Date: Tue, 7 Apr 2026 15:53:59 -0400 Subject: [PATCH 1/3] wip --- RUFAS/EEE/EEE_manager.py | 1 + RUFAS/simulation_engine.py | 2 +- RUFAS/task_manager.py | 13 +++++----- input/data/tasks/example_freestall_task.json | 2 ++ .../tasks/example_post_processing_task.json | 25 +++++++++++++++++++ .../metadata/properties/tasks_properties.json | 2 +- input/task_manager_metadata.json | 2 +- 7 files changed, 37 insertions(+), 10 deletions(-) create mode 100644 input/data/tasks/example_post_processing_task.json diff --git a/RUFAS/EEE/EEE_manager.py b/RUFAS/EEE/EEE_manager.py index 4179e29838..4ef4dd1b48 100644 --- a/RUFAS/EEE/EEE_manager.py +++ b/RUFAS/EEE/EEE_manager.py @@ -23,3 +23,4 @@ def estimate_all() -> None: om.add_log("Energy Processing", "Starting processing of energy.", info_map) EnergyEstimator.estimate_all() om.add_log("Energy Processing", "Completed processing of energy.", info_map) + print("EEE ran successfully.") diff --git a/RUFAS/simulation_engine.py b/RUFAS/simulation_engine.py index f1b7235ee0..febcb5b0ea 100644 --- a/RUFAS/simulation_engine.py +++ b/RUFAS/simulation_engine.py @@ -180,7 +180,7 @@ def simulate(self) -> None: self.herd_manager.heiferII_events_by_id, self.herd_manager.cow_events_by_id, ) - EEEManager.estimate_all() + # EEEManager.estimate_all() t_end_sim = timer.time() self.om.add_log("Simulation complete", "Simulation Completed.", info_map) diff --git a/RUFAS/task_manager.py b/RUFAS/task_manager.py index 3fade6da5a..415306ae67 100644 --- a/RUFAS/task_manager.py +++ b/RUFAS/task_manager.py @@ -1,3 +1,4 @@ +from importlib import import_module from importlib.metadata import PackageNotFoundError, version as get_installed_version import multiprocessing import random @@ -222,6 +223,7 @@ def start( "suppress_log_files": suppress_log_files, "input_data_csv_export_path": Path(input_data_csv_export_path), "input_data_csv_import_path": Path(input_data_csv_import_path), + "run_eee": False, }, input_manager=self.input_manager, output_manager=self.output_manager, @@ -868,13 +870,6 @@ def handle_post_processing( } output_manager.add_log("Validation counts", f"{str(input_manager.elements_counter)}", info_map) - if args.get("run_eee", False): - pass - # TODO update path to `RUFAS.EEE.EEE_manager` when EEE is finalized and moved in either PR #2524 or #1299 - # TODO update to be able to run EEE once farmgrown feed emissions are finalized #2580 - # eee_manager_module = import_module("RUFAS.routines.EEE.EEE_manager") - # eee_manager_module.EEEManager.estimate_all() - if export_input_data_to_csv: output_manager.create_directory(args["input_data_csv_export_path"]) Utility.combine_saved_input_csv( @@ -900,6 +895,10 @@ def handle_post_processing( output_manager.load_variables_pool_from_file(args["output_pool_path"]) output_manager.set_metadata_prefix("reload") + if args.get("run_eee", False): + eee_manager_module = import_module("RUFAS.EEE.EEE_manager") + eee_manager_module.EEEManager.estimate_all() + output_manager.print_errors_warnings_logs_counts(task_id) if should_flush_im_pool: input_manager.flush_pool() diff --git a/input/data/tasks/example_freestall_task.json b/input/data/tasks/example_freestall_task.json index e36254fe3a..b5499cd809 100644 --- a/input/data/tasks/example_freestall_task.json +++ b/input/data/tasks/example_freestall_task.json @@ -8,6 +8,8 @@ "log_verbosity": "errors", "random_seed": 42, "exclude_info_maps": false, + "chunkification": true, + "save_chunk_threshold_call_count": 100000000000, "cross_validation_file_paths": [ "input/metadata/cross_validation/example_cross_validation.json" ] diff --git a/input/data/tasks/example_post_processing_task.json b/input/data/tasks/example_post_processing_task.json new file mode 100644 index 0000000000..fdc46579e1 --- /dev/null +++ b/input/data/tasks/example_post_processing_task.json @@ -0,0 +1,25 @@ +{ + "parallel_workers": 4, + "tasks": [ + { + "task_type": "POST_PROCESSING", + "metadata_file_path": "input/metadata/example_freestall_dairy_metadata.json", + "output_prefix": "example_post_processing", + "log_verbosity": "logs", + "random_seed": 42, + "exclude_info_maps": false, + "run_eee": true, + "load_saved_output_pools": true, + "output_pool_path": "saved_pool/freestall_07-Apr-2026_Tue_10-22-37.412509/freestall_saved_pool_0_07-Apr-2026_Tue_10-23-10.json", + "saved_output_pools": [ + { + "name": "freestall_saved_pool_0", + "path": "saved_pool/freestall_07-Apr-2026_Tue_10-22-37.412509/freestall_saved_pool_0_07-Apr-2026_Tue_10-23-10.json" + } + ], + "cross_validation_file_paths": [ + "input/metadata/cross_validation/example_cross_validation.json" + ] + } +] +} diff --git a/input/metadata/properties/tasks_properties.json b/input/metadata/properties/tasks_properties.json index ce0a98cf0b..84e13bb82a 100644 --- a/input/metadata/properties/tasks_properties.json +++ b/input/metadata/properties/tasks_properties.json @@ -144,7 +144,7 @@ "run_eee": { "type": "bool", "description": "Run the emissions, energy, and economics estimators prior to post-processing.", - "default": false + "default": true }, "load_saved_output_pools": { "type": "bool", diff --git a/input/task_manager_metadata.json b/input/task_manager_metadata.json index 5674a5fcdc..c06bfb7b97 100644 --- a/input/task_manager_metadata.json +++ b/input/task_manager_metadata.json @@ -3,7 +3,7 @@ "tasks": { "title": "Task manager data", "description": "Configuration file for general simulation parameters.", - "path": "input/data/tasks/example_freestall_task.json", + "path": "input/data/tasks/example_post_processing_task.json", "type": "json", "properties": "tasks_properties" } From 5da151a186752226663bcdb1bab922c292b14092 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Tue, 7 Apr 2026 19:58:01 +0000 Subject: [PATCH 2/3] Apply Black Formatting From 22926a84b42c6787491df76b952a2e186a133b09 Mon Sep 17 00:00:00 2001 From: allisterakun Date: Tue, 7 Apr 2026 20:02:14 +0000 Subject: [PATCH 3/3] Update badges on README --- README.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 3e1485b21f..e5016da25e 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ -[![Flake8](https://img.shields.io/badge/Flake8-passed-brightgreen)](https://github.com/RuminantFarmSystems/MASM/actions/workflows/combined_format_lint_test_mypy.yml) -[![Pytest](https://img.shields.io/badge/Pytest-passed-brightgreen)](https://github.com/RuminantFarmSystems/MASM/actions/workflows/combined_format_lint_test_mypy.yml) -[![Coverage](https://img.shields.io/badge/Coverage-99%25-brightgreen)](https://github.com/RuminantFarmSystems/MASM/actions/workflows/combined_format_lint_test_mypy.yml) +[![Flake8](https://img.shields.io/badge/Flake8-failed-red)](https://github.com/RuminantFarmSystems/MASM/actions/workflows/combined_format_lint_test_mypy.yml) +[![Pytest](https://img.shields.io/badge/Pytest-failed-red)](https://github.com/RuminantFarmSystems/MASM/actions/workflows/combined_format_lint_test_mypy.yml) +[![Coverage](https://img.shields.io/badge/Coverage-%25-red)](https://github.com/RuminantFarmSystems/MASM/actions/workflows/combined_format_lint_test_mypy.yml) [![Mypy](https://img.shields.io/badge/Mypy-1191%20errors-red)](https://github.com/RuminantFarmSystems/MASM/actions/workflows/combined_format_lint_test_mypy.yml)