diff --git a/.gitignore b/.gitignore
index fb232640762e66b71deba71cefaf764e1a41d44b..eb0a0acbf1c813b9301e8470090ae970e5ece707 100644
--- a/.gitignore
+++ b/.gitignore
@@ -22,3 +22,4 @@ bin/summa_be
 bin/data_kinsol_state_vec.csv
 bin/plot_resuduial.py
 bin/state.png
+bin/submission_script_array.sh
diff --git a/build/cmake/CMakeLists.txt b/build/cmake/CMakeLists.txt
index 93f92e8cd3bbb6c43ed91507316f360d2bec75c9..ce751334d577e4d996f4bc167f3c1511354d63de 100644
--- a/build/cmake/CMakeLists.txt
+++ b/build/cmake/CMakeLists.txt
@@ -35,10 +35,11 @@ if(NOT CMAKE_BUILD_TYPE)
 endif()
 
 # Add options for build type
-set(CMAKE_CONFIGURATION_TYPES Debug Release Cluster Cluster_Debug Kinsol Kinsol_Debug Kinsol_Cluster IDA IDA_DEBUG)
+set(CMAKE_CONFIGURATION_TYPES Debug Release Cluster Cluster_Debug Kinsol Kinsol_Debug Kinsol_Cluster Kinsol_Cluster_Debug IDA IDA_DEBUG)
 message("Build type: ${CMAKE_BUILD_TYPE}")
 # Set compiler flags
-if(CMAKE_BUILD_TYPE STREQUAL Debug OR CMAKE_BUILD_TYPE STREQUAL Cluster_Debug OR CMAKE_BUILD_TYPE STREQUAL Kinsol_Debug)
+if(CMAKE_BUILD_TYPE STREQUAL Debug OR CMAKE_BUILD_TYPE STREQUAL Cluster_Debug OR CMAKE_BUILD_TYPE STREQUAL Kinsol_Debug OR 
+    CMAKE_BUILD_TYPE STREQUAL Kinsol_Cluster_Debug)
     message("Debug build.")
     add_definitions(-DDEBUG)
     set(SUMMA_NOAHMP_OPTIONS -g -O0 -ffree-form -ffree-line-length-none -fmax-errors=0 -fPIC -Wfatal-errors)
@@ -74,7 +75,8 @@ elseif(CMAKE_BUILD_TYPE STREQUAL IDA OR CMAKE_BUILD_TYPE STREQUAL IDA_DEBUG)
     compile_with_ida(PARENT_DIR, ${DIR_SUNDIALS})
 
 
-elseif(CMAKE_BUILD_TYPE STREQUAL Kinsol OR CMAKE_BUILD_TYPE STREQUAL Kinsol_Debug OR CMAKE_BUILD_TYPE STREQUAL Kinsol_Cluster)
+elseif(CMAKE_BUILD_TYPE STREQUAL Kinsol OR CMAKE_BUILD_TYPE STREQUAL Kinsol_Debug OR 
+       CMAKE_BUILD_TYPE STREQUAL Kinsol_Cluster OR CMAKE_BUILD_TYPE STREQUAL Kinsol_Cluster_Debug)
     message("\nBuilding Kinsol\n")
     compile_with_kinsol(PARENT_DIR, ${DIR_SUNDIALS})
 
diff --git a/build/cmake/kinsol.cmake b/build/cmake/kinsol.cmake
index 647c7f79a96e837b8040c850fa5d30fba458f5d1..f85d5a23851c8734b2fbea7afc444a59259fedf9 100644
--- a/build/cmake/kinsol.cmake
+++ b/build/cmake/kinsol.cmake
@@ -8,7 +8,7 @@ function(compile_with_kinsol PARENT_DIR, DIR_SUNDIALS)
 
     message("DIR_SUNDIALS: ${DIR_SUNDIALS}")
     # Building Summa with sundials on local machine
-    if (CMAKE_BUILD_TYPE STREQUAL Kinsol_Cluster)
+    if (CMAKE_BUILD_TYPE STREQUAL Kinsol_Cluster OR CMAKE_BUILD_TYPE STREQUAL Kinsol_Cluster_Debug)
         link_directories(${DIR_SUNDIALS}/lib64)
         set(CMAKE_BUILD_RPATH "${DIR_SUNDIALS}/lib64")
         set(SUMMA_INCLUDES 
diff --git a/build/includes/global/settings_functions.hpp b/build/includes/global/settings_functions.hpp
index 255bf73bbcfbcd0816c37bba38d4505b8f6ee214..2c3720861806168319373a032d5447b62e6d98aa 100644
--- a/build/includes/global/settings_functions.hpp
+++ b/build/includes/global/settings_functions.hpp
@@ -83,17 +83,12 @@ File_Access_Actor_Settings readFileAccessActorSettings(std::string json_settings
 
 struct Job_Actor_Settings {
     std::string file_manager_path;
-    int output_structure_size;
-    bool output_csv;
-    std::string csv_path;
 };
 
 template<class Inspector>
 bool inspect(Inspector& inspector, Job_Actor_Settings& job_actor_settings) {
     return inspector.object(job_actor_settings).fields(
-                inspector.field("file_manager_path", job_actor_settings.file_manager_path),
-                inspector.field("output_csv",        job_actor_settings.output_csv),
-                inspector.field("csv_path",          job_actor_settings.csv_path));
+                inspector.field("file_manager_path", job_actor_settings.file_manager_path));
 }
 
 Job_Actor_Settings readJobActorSettings(std::string json_settings_file);
diff --git a/build/source/actors/global/settings_functions.cpp b/build/source/actors/global/settings_functions.cpp
index d456b93f4903850d397a2470dbdd7e7018881770..aae1a97682b0cc4fafd94d6073f24d40a5c76bee 100644
--- a/build/source/actors/global/settings_functions.cpp
+++ b/build/source/actors/global/settings_functions.cpp
@@ -96,13 +96,6 @@ Job_Actor_Settings readJobActorSettings(std::string json_settings_file) {
     job_actor_settings.file_manager_path = getSettings(json_settings_file, parent_key,
         "file_manager_path", job_actor_settings.file_manager_path).value_or("");
 
-    job_actor_settings.output_csv = getSettings(json_settings_file, parent_key,
-        "output_csv", job_actor_settings.output_csv).value_or(false);
-
-    job_actor_settings.csv_path = getSettings(json_settings_file, parent_key, 
-        "csv_path", job_actor_settings.csv_path).value_or("");
-
-
     return job_actor_settings;
 }
 
@@ -144,8 +137,6 @@ void check_settings_from_json(Distributed_Settings &distributed_settings,
 
     std::cout << "************ JOB_ACTOR_SETTINGS ************\n";
     std::cout << job_actor_settings.file_manager_path << "\n";
-    std::cout << job_actor_settings.output_csv << "\n";
-    std::cout << job_actor_settings.csv_path << "\n\n\n";
 
     std::cout << "************ HRU_ACTOR_SETTINGS ************\n";
     std::cout << hru_actor_settings.print_output << "\n";
diff --git a/build/source/actors/hru_actor/cpp_code/hru_actor.cpp b/build/source/actors/hru_actor/cpp_code/hru_actor.cpp
index 07b6b0bb53af34d0482b4f56e22be14a5235f3d3..b65673e0f3a1a549b1a957dd76f71cceae165fba 100644
--- a/build/source/actors/hru_actor/cpp_code/hru_actor.cpp
+++ b/build/source/actors/hru_actor/cpp_code/hru_actor.cpp
@@ -142,15 +142,6 @@ behavior hru_actor(stateful_actor<hru_state>* self, int refGRU, int indxGRU,
                         " - indxGRU = " << self->state.indxGRU << " - refGRU = "<< self->state.refGRU << std::endl;
                     aout(self) << "Error = " << err << "\n";
 
-                    self->send(self->state.parent, run_failure_v, self, self->state.indxGRU, err);
-                    // self->quit(hru_error::run_hru_unhandleable);
-                    // caf::exit_reason
-                    // self->down_msg();
-                    self->quit();
-                }
-
-
-                if (self->state.timestep == 543 && self->state.indxGRU == 2) {
                     self->send(self->state.parent, hru_error::run_physics_unhandleable, self);
                     self->quit();
                     return;
@@ -184,7 +175,9 @@ behavior hru_actor(stateful_actor<hru_state>* self, int refGRU, int indxGRU,
                     aout(self) << "Error: HRU_Actor - writeHRUToOutputStructure - HRU = " << self->state.indxHRU << 
                         " - indxGRU = " << self->state.indxGRU << " - refGRU = "<< self->state.refGRU << std::endl;
                     aout(self) << "Error = " << err << "\n";
+                    self->send(self->state.parent, hru_error::run_physics_unhandleable, self);
                     self->quit();
+                    return;
                 }
 
                 self->state.timestep++;
diff --git a/build/source/actors/job_actor/job_actor.cpp b/build/source/actors/job_actor/job_actor.cpp
index 1e991f1906d3a3eb1ed6595cfb1c56bedcdb91c2..c3999cf8796f02ce47f5b1448d921db08f2ee6ce 100644
--- a/build/source/actors/job_actor/job_actor.cpp
+++ b/build/source/actors/job_actor/job_actor.cpp
@@ -80,8 +80,6 @@ behavior job_actor(stateful_actor<job_state>* self, int start_gru, int num_gru,
         return {}; // Failure
     }
 
-    // initCsvOutputFile(self);
-
     // Spawn the file_access_actor. This will return the number of forcing files we are working with
     self->state.file_access_actor = self->spawn(file_access_actor, self->state.start_gru, self->state.num_gru, 
         self->state.file_access_actor_settings, self);
diff --git a/build/source/actors/summa_actor/summa_backup_server.cpp b/build/source/actors/summa_actor/summa_backup_server.cpp
index fcf95c0812bb64642d2ca2c25397161a12dd6936..ac5df402748494a957657ecc0e4716811bf34b54 100644
--- a/build/source/actors/summa_actor/summa_backup_server.cpp
+++ b/build/source/actors/summa_actor/summa_backup_server.cpp
@@ -21,10 +21,6 @@ behavior summa_backup_server_init(stateful_actor<summa_server_state>* self, Dist
     self->state.job_actor_settings = job_actor_settings;
     self->state.hru_actor_settings = hru_actor_settings;
 
-    self->state.csv_file_path = self->state.job_actor_settings.csv_path;
-    self->state.csv_file_path += self->state.csv_output_name;
-
-
     self->set_down_handler([=](const down_msg& dm){
         if (self->state.current_server_actor == self) {
             aout(self) << "\n ******DOWN HANDLER CALLED******\n";
diff --git a/build/source/actors/summa_actor/summa_server.cpp b/build/source/actors/summa_actor/summa_server.cpp
index 3b0ff5794ba327cdff40704ec179e20ba4d1e743..37adb0d482e363353e3a1f7cf0098835959623f4 100644
--- a/build/source/actors/summa_actor/summa_server.cpp
+++ b/build/source/actors/summa_actor/summa_server.cpp
@@ -30,10 +30,6 @@ behavior summa_server_init(stateful_actor<summa_server_state>* self, Distributed
             self->state.distributed_settings.num_hru_per_batch);
     
     // self->state.batch_container.printBatches();
-    self->state.csv_file_path = self->state.job_actor_settings.csv_path;
-    self->state.csv_file_path += self->state.csv_output_name;
-    initializeCSVOutput(self->state.csv_file_path);
-
     return summa_server(self);
 
 }