From 71313a0c7d227b8d47966abd727be1ec82f6db9b Mon Sep 17 00:00:00 2001 From: KyleKlenk <kyle.c.klenk@gmail.com> Date: Wed, 29 Jun 2022 14:43:59 -0600 Subject: [PATCH] removed parseSettings from all local actors --- .../file_access_actor/file_access_actor.hpp | 1 - build/includes/hru_actor/hru_actor.hpp | 8 ---- .../file_access_actor/file_access_actor.cpp | 34 ++------------- build/source/actors/hru_actor/hru_actor.cpp | 43 +++---------------- 4 files changed, 10 insertions(+), 76 deletions(-) diff --git a/build/includes/file_access_actor/file_access_actor.hpp b/build/includes/file_access_actor/file_access_actor.hpp index 197d167..f6db076 100644 --- a/build/includes/file_access_actor/file_access_actor.hpp +++ b/build/includes/file_access_actor/file_access_actor.hpp @@ -41,6 +41,5 @@ void initalizeFileAccessActor(stateful_actor<file_access_state>* self); int writeOutput(stateful_actor<file_access_state>* self, int indxGRU, int indxHRU, int numStepsToWrite, int returnMessage, caf::actor actorRef); int readForcing(stateful_actor<file_access_state>* self, int currentFile); int write(stateful_actor<file_access_state>* self, int listIndex); -int parseSettings(stateful_actor<file_access_state>* self, std::string configPath); } // end namespace \ No newline at end of file diff --git a/build/includes/hru_actor/hru_actor.hpp b/build/includes/hru_actor/hru_actor.hpp index 9449f18..2bac162 100644 --- a/build/includes/hru_actor/hru_actor.hpp +++ b/build/includes/hru_actor/hru_actor.hpp @@ -103,14 +103,6 @@ behavior hru_actor(stateful_actor<hru_state>* self, int refGRU, int indxGRU, std::string configPath, caf::actor file_access_actor, int outputStrucSize, caf::actor parent); -/** - * @brief Get the settings from the settings JSON file - * - * @param self Actor State - * @param configPath Path to the directory that contains the settings file - */ -void parseSettings(stateful_actor<hru_state>* self, std::string configPath); - /** Function to initalize the HRU for running */ diff --git a/build/source/actors/file_access_actor/file_access_actor.cpp b/build/source/actors/file_access_actor/file_access_actor.cpp index 75ee6b9..9a3c41a 100644 --- a/build/source/actors/file_access_actor/file_access_actor.cpp +++ b/build/source/actors/file_access_actor/file_access_actor.cpp @@ -27,13 +27,9 @@ behavior file_access_actor(stateful_actor<file_access_state>* self, int startGRU self->state.err = 0; // Get Settings from configuration file - if (parseSettings(self, configPath) == -1) { - aout(self) << "Error with JSON Settings File!!!\n"; - self->quit(); - } else { - aout(self) << "\nSETTINGS FOR FILE_ACCESS_ACTOR\n" << - "Number of Vectors in Output Structure = " << self->state.num_vectors_in_output_manager << "\n"; - } + self->state.num_vectors_in_output_manager = getSettings(configPath, "FileAccessActor", "num_vectors_in_output_manager", + self->state.num_vectors_in_output_manager).value_or(1); + initalizeFileAccessActor(self); return { @@ -346,28 +342,4 @@ int readForcing(stateful_actor<file_access_state>* self, int currentFile) { } -int parseSettings(stateful_actor<file_access_state>* self, std::string configPath) { - json settings; - std::string SummaActorsSettigs = "/Summa_Actors_Settings.json"; - std::ifstream settings_file(configPath + SummaActorsSettigs); - settings_file >> settings; - settings_file.close(); - - if (settings.find("FileAccessActor") != settings.end()) { - json FileAccessActorConfig = settings["FileAccessActor"]; - // Find the File Manager Path - if (FileAccessActorConfig.find("num_vectors_in_output_manager") != FileAccessActorConfig.end()) { - self->state.num_vectors_in_output_manager = FileAccessActorConfig["num_vectors_in_output_manager"]; - } else { - aout(self) << "Error Finding FileManagerPath - Exiting as this is needed\n"; - return -1; - } - - return 0; - } else { - aout(self) << "Error Finding JobActor in JSON file - Exiting as there is no path for the fileManger\n"; - return -1; - } -} - } // end namespace \ No newline at end of file diff --git a/build/source/actors/hru_actor/hru_actor.cpp b/build/source/actors/hru_actor/hru_actor.cpp index 50605b7..fb1e347 100644 --- a/build/source/actors/hru_actor/hru_actor.cpp +++ b/build/source/actors/hru_actor/hru_actor.cpp @@ -36,7 +36,13 @@ behavior hru_actor(stateful_actor<hru_state>* self, int refGRU, int indxGRU, self->state.iFile = 1; // Get the settings for the HRU - parseSettings(self, configPath); + // parseSettings(self, configPath); + + self->state.printOutput = getSettings(configPath, "HRUActor", "printOutput", + self->state.printOutput).value_or(true); + self->state.outputFrequency = getSettings(configPath, "HRUActor", "outputFrequency", + self->state.outputFrequency).value_or(500); + // We only want to print this once if (indxGRU == 1) { aout(self) << "\nSETTINGS FOR HRU_ACTOR\n"; @@ -151,41 +157,6 @@ behavior hru_actor(stateful_actor<hru_state>* self, int refGRU, int indxGRU, *********************************************************************************************************/ } -void parseSettings(stateful_actor<hru_state>* self, std::string configPath) { - json settings; - std::string SummaActorsSettings = "/Summa_Actors_Settings.json"; - std::ifstream settings_file(configPath + SummaActorsSettings); - settings_file >> settings; - settings_file.close(); - - if (settings.find("HRUActor") != settings.end()) { - json HRUActorConfig = settings["HRUActor"]; - // find if we want to print output to stdout - if (HRUActorConfig.find("printOutput") != HRUActorConfig.end()) { - self->state.printOutput = HRUActorConfig["printOutput"]; - } else { - aout(self) << "Error finding printOutput in JSON File - Reverting to default value\n"; - self->state.printOutput = true; - } - - if (self->state.printOutput) { - // get the frequency in number of timesteps we want to print the output - if(HRUActorConfig.find("outputFrequency") != HRUActorConfig.end()) { - self->state.outputFrequency = HRUActorConfig["outputFrequency"]; - } else { - aout(self) << "Error finding outputFrequency in JSON File - Reverting to default value\n"; - self->state.outputFrequency = 10000; - } - } - } else { - aout(self) << "Error finding HRUActor in JSON File - Reverting to default values for HRUs\n"; - self->state.printOutput = true; - self->state.outputFrequency = 10000; - } - - -} - void Initialize_HRU(stateful_actor<hru_state>* self) { self->state.initStart = std::chrono::high_resolution_clock::now(); // aout(self) << "Initalizing HRU" << std::endl; -- GitLab