diff --git a/bin/summaMain b/bin/summaMain deleted file mode 100755 index 70812cccd2e4f4820ee487737a709d7c32bae10d..0000000000000000000000000000000000000000 Binary files a/bin/summaMain and /dev/null differ diff --git a/build/makefile b/build/makefile index 780784218f4d9d529ba0e2fa8c9e6b3340f45612..9368cc4df61b49792bade25d648f9a09a39feb13 100644 --- a/build/makefile +++ b/build/makefile @@ -53,10 +53,10 @@ DSHARE_DIR = $(F_KORE_DIR)/dshare NUMREC_DIR = $(F_KORE_DIR)/numrec NOAHMP_DIR = $(F_KORE_DIR)/noah-mp ENGINE_DIR = $(F_KORE_DIR)/engine -INTERFACE_DIR = $(F_KORE_DIR)/interface -JOB_ACTOR_DIR = $(INTERFACE_DIR)/job_actor -FILE_ACCESS_DIR = $(INTERFACE_DIR)/file_access_actor -HRU_ACTOR_DIR = $(INTERFACE_DIR)/hru_actor +ACTORS_DIR = $(F_KORE_DIR)/actors +JOB_ACTOR_DIR = $(ACTORS_DIR)/job_actor +FILE_ACCESS_DIR = $(ACTORS_DIR)/file_access_actor +HRU_ACTOR_DIR = $(ACTORS_DIR)/hru_actor # utilities SUMMA_NRUTIL= \ @@ -135,7 +135,7 @@ SUMMA_INTERFACE= \ cppwrap_auxiliary.f90 \ cppwrap_metadata.f90 \ -INTERFACE = $(patsubst %, $(INTERFACE_DIR)/%, $(SUMMA_INTERFACE)) +INTERFACE = $(patsubst %, $(ACTORS_DIR)/global/%, $(SUMMA_INTERFACE)) SUMMA_FILEACCESS_INTERFACE = \ initOutputStruc.f90 \ diff --git a/build/source/actors/FileAccess.h b/build/source/actors/file_access_actor/FileAccess.h similarity index 90% rename from build/source/actors/FileAccess.h rename to build/source/actors/file_access_actor/FileAccess.h index c1167db81074f98d811f159bb320d7a75bc27043..9dee306931bb8df4584c737d03ff09b256b4d4d4 100644 --- a/build/source/actors/FileAccess.h +++ b/build/source/actors/file_access_actor/FileAccess.h @@ -1,15 +1,16 @@ #ifndef FILEACCESS_H_ #define FILEACCESS_H_ - -#include "../interface/fortran_dataTypes.h" -#include "../interface/file_access_actor/fileAccess_subroutine_wrappers.h" #include "caf/all.hpp" -#include "messageAtoms.h" + +#include "../global/fortran_dataTypes.h" +#include "../global/messageAtoms.h" +#include "../global/global.h" +#include "../global/json.hpp" +#include "fileAccess_subroutine_wrappers.h" #include "OutputManager.h" #include <vector> #include <chrono> -#include "global.h" -#include "json.hpp" + class forcingFile { diff --git a/build/source/actors/FileAccessActor.h b/build/source/actors/file_access_actor/FileAccessActor.h similarity index 100% rename from build/source/actors/FileAccessActor.h rename to build/source/actors/file_access_actor/FileAccessActor.h diff --git a/build/source/actors/OutputManager.h b/build/source/actors/file_access_actor/OutputManager.h similarity index 100% rename from build/source/actors/OutputManager.h rename to build/source/actors/file_access_actor/OutputManager.h diff --git a/build/source/interface/file_access_actor/cppwrap_fileAccess.f90 b/build/source/actors/file_access_actor/cppwrap_fileAccess.f90 similarity index 97% rename from build/source/interface/file_access_actor/cppwrap_fileAccess.f90 rename to build/source/actors/file_access_actor/cppwrap_fileAccess.f90 index 74ee288fd26492eed60fe9326c3bb5d2c8182d7f..8691a802925af74f8d606d9ebd5cd2d7c2b4476b 100644 --- a/build/source/interface/file_access_actor/cppwrap_fileAccess.f90 +++ b/build/source/actors/file_access_actor/cppwrap_fileAccess.f90 @@ -439,22 +439,22 @@ subroutine FileAccessActor_DeallocateStructures(handle_forcFileInfo, handle_ncid end do ! Deallocate Forcing Structure - do iFile = 1, size(forcingDataStruct(:)) - do iVar = 1, size(forcingDataStruct(iFile)%var(:)) - if (allocated(forcingDataStruct(iFile)%var(iVar)%dataFromFile))then - deallocate(forcingDataStruct(iFile)%var(iVar)%dataFromFile) - endif - end do - deallocate(forcingDataStruct(iFile)%var_ix) - end do - deallocate(forcingDataStruct) + ! do iFile = 1, size(forcingDataStruct(:)) + ! do iVar = 1, size(forcingDataStruct(iFile)%var(:)) + ! if (allocated(forcingDataStruct(iFile)%var(iVar)%dataFromFile))then + ! deallocate(forcingDataStruct(iFile)%var(iVar)%dataFromFile) + ! endif + ! end do + ! deallocate(forcingDataStruct(iFile)%var_ix) + ! end do + ! deallocate(forcingDataStruct) deallocate(forcFileInfo) - deallocate(outputStructure) + ! deallocate(outputStructure) deallocate(outputTimeStep) deallocate(ncid) deallocate(failedHRUs) - if(allocated(vecTime)) then; deallocate(vecTime); endif + ! if(allocated(vecTime)) then; deallocate(vecTime); endif end subroutine FileAccessActor_DeallocateStructures diff --git a/build/source/interface/file_access_actor/deallocateOutputStruc.f90 b/build/source/actors/file_access_actor/deallocateOutputStruc.f90 similarity index 100% rename from build/source/interface/file_access_actor/deallocateOutputStruc.f90 rename to build/source/actors/file_access_actor/deallocateOutputStruc.f90 diff --git a/build/source/interface/file_access_actor/fileAccess_subroutine_wrappers.h b/build/source/actors/file_access_actor/fileAccess_subroutine_wrappers.h similarity index 100% rename from build/source/interface/file_access_actor/fileAccess_subroutine_wrappers.h rename to build/source/actors/file_access_actor/fileAccess_subroutine_wrappers.h diff --git a/build/source/interface/file_access_actor/initOutputStruc.f90 b/build/source/actors/file_access_actor/initOutputStruc.f90 similarity index 99% rename from build/source/interface/file_access_actor/initOutputStruc.f90 rename to build/source/actors/file_access_actor/initOutputStruc.f90 index f9d48fd3ef4018dad57353b2ac2fcba7835ab4fa..111ad6a391c0d180d962da2423fbc894daff12f9 100644 --- a/build/source/interface/file_access_actor/initOutputStruc.f90 +++ b/build/source/actors/file_access_actor/initOutputStruc.f90 @@ -5,7 +5,6 @@ module summaActors_initOutputStruct contains subroutine initalizeOutput(forcFileInfo, maxSteps, nGRU, err) - USE globalData,only:outputStructure USE globalData,only:outputStructure USE globalData,only:time_meta,forc_meta,attr_meta,type_meta ! metadata structures USE globalData,only:prog_meta,diag_meta,flux_meta,id_meta ! metadata structures diff --git a/build/source/interface/cppwrap_auxiliary.f90 b/build/source/actors/global/cppwrap_auxiliary.f90 similarity index 100% rename from build/source/interface/cppwrap_auxiliary.f90 rename to build/source/actors/global/cppwrap_auxiliary.f90 diff --git a/build/source/interface/cppwrap_datatypes.f90 b/build/source/actors/global/cppwrap_datatypes.f90 similarity index 100% rename from build/source/interface/cppwrap_datatypes.f90 rename to build/source/actors/global/cppwrap_datatypes.f90 diff --git a/build/source/interface/cppwrap_metadata.f90 b/build/source/actors/global/cppwrap_metadata.f90 similarity index 100% rename from build/source/interface/cppwrap_metadata.f90 rename to build/source/actors/global/cppwrap_metadata.f90 diff --git a/build/source/interface/fortran_dataTypes.h b/build/source/actors/global/fortran_dataTypes.h similarity index 100% rename from build/source/interface/fortran_dataTypes.h rename to build/source/actors/global/fortran_dataTypes.h diff --git a/build/source/actors/global.h b/build/source/actors/global/global.h similarity index 100% rename from build/source/actors/global.h rename to build/source/actors/global/global.h diff --git a/build/source/actors/json.hpp b/build/source/actors/global/json.hpp similarity index 100% rename from build/source/actors/json.hpp rename to build/source/actors/global/json.hpp diff --git a/build/source/actors/messageAtoms.h b/build/source/actors/global/messageAtoms.h similarity index 100% rename from build/source/actors/messageAtoms.h rename to build/source/actors/global/messageAtoms.h diff --git a/build/source/actors/HRU.h b/build/source/actors/hru_actor/HRU.h similarity index 96% rename from build/source/actors/HRU.h rename to build/source/actors/hru_actor/HRU.h index 73c1a9690445cc1e5dd3d5555f8c21ea8ce48116..8dd21f21da1af814887b80aac0a57e3da4fa0529 100644 --- a/build/source/actors/HRU.h +++ b/build/source/actors/hru_actor/HRU.h @@ -1,9 +1,12 @@ #ifndef HRU_H_ #define HRU_H_ #include "caf/all.hpp" -#include "../interface/fortran_dataTypes.h" -#include "../interface/hru_actor/hru_subroutine_wrappers.h" -#include "messageAtoms.h" +#include "hru_subroutine_wrappers.h" +#include "../global/fortran_dataTypes.h" +#include "../global/messageAtoms.h" +#include "../global/json.hpp" +#include "../global/global.h" + #include <fstream> #include <string> #include <typeinfo> @@ -12,8 +15,7 @@ #include <sys/resource.h> #include <chrono> #include <iostream> -#include "json.hpp" -#include "global.h" + using namespace caf; diff --git a/build/source/actors/HRUActor.h b/build/source/actors/hru_actor/HRUActor.h similarity index 100% rename from build/source/actors/HRUActor.h rename to build/source/actors/hru_actor/HRUActor.h diff --git a/build/source/interface/hru_actor/cppwrap_hru.f90 b/build/source/actors/hru_actor/cppwrap_hru.f90 similarity index 100% rename from build/source/interface/hru_actor/cppwrap_hru.f90 rename to build/source/actors/hru_actor/cppwrap_hru.f90 diff --git a/build/source/interface/hru_actor/hru_subroutine_wrappers.h b/build/source/actors/hru_actor/hru_subroutine_wrappers.h similarity index 100% rename from build/source/interface/hru_actor/hru_subroutine_wrappers.h rename to build/source/actors/hru_actor/hru_subroutine_wrappers.h diff --git a/build/source/actors/GRUinfo.h b/build/source/actors/job_actor/GRUinfo.h similarity index 100% rename from build/source/actors/GRUinfo.h rename to build/source/actors/job_actor/GRUinfo.h diff --git a/build/source/actors/Job.h b/build/source/actors/job_actor/Job.h similarity index 90% rename from build/source/actors/Job.h rename to build/source/actors/job_actor/Job.h index 4eb897dddf6df1a6a50f4f59dc8490d5dff6cfa7..dd44e5d8d93da7ae479f3e32249bc28c80d14da5 100644 --- a/build/source/actors/Job.h +++ b/build/source/actors/job_actor/Job.h @@ -3,20 +3,21 @@ #include "caf/all.hpp" #include "caf/io/all.hpp" +#include "../file_access_actor/FileAccessActor.h" +#include "../hru_actor/HRUActor.h" +#include "../global/messageAtoms.h" +#include "../global/json.hpp" +#include "../global/global.h" +#include "GRUinfo.h" +#include "job_subroutine_wrappers.h" + #include "string.h" #include <unistd.h> #include <vector> -#include "FileAccessActor.h" -#include "../interface/job_actor/job_subroutine_wrappers.h" -#include "HRUActor.h" #include <chrono> -#include "messageAtoms.h" -#include "GRUinfo.h" #include <iostream> #include <fstream> #include <sys/stat.h> -#include "json.hpp" -#include "global.h" struct job_state { // Actor References diff --git a/build/source/actors/JobActor.h b/build/source/actors/job_actor/JobActor.h similarity index 100% rename from build/source/actors/JobActor.h rename to build/source/actors/job_actor/JobActor.h diff --git a/build/source/interface/job_actor/cppwrap_job.f90 b/build/source/actors/job_actor/cppwrap_job.f90 similarity index 100% rename from build/source/interface/job_actor/cppwrap_job.f90 rename to build/source/actors/job_actor/cppwrap_job.f90 diff --git a/build/source/interface/job_actor/job_subroutine_wrappers.h b/build/source/actors/job_actor/job_subroutine_wrappers.h similarity index 100% rename from build/source/interface/job_actor/job_subroutine_wrappers.h rename to build/source/actors/job_actor/job_subroutine_wrappers.h diff --git a/build/source/actors/main.cc b/build/source/actors/main.cc index cf7bff5778b2b114e581786db21d1a976603b3ec..fbecb3b905a981828f00eb55fd45c7eb93d31c50 100644 --- a/build/source/actors/main.cc +++ b/build/source/actors/main.cc @@ -1,12 +1,13 @@ #include "caf/all.hpp" #include "caf/io/all.hpp" -#include "SummaActor.h" +#include "summa_actor/SummaActor.h" +#include "global/messageAtoms.h" +#include "global/global.h" + #include <string> -#include "messageAtoms.h" #include <bits/stdc++.h> #include <unistd.h> #include <iostream> -#include "global.h" using namespace caf; diff --git a/build/source/actors/SummaActor.h b/build/source/actors/summa_actor/SummaActor.h similarity index 100% rename from build/source/actors/SummaActor.h rename to build/source/actors/summa_actor/SummaActor.h diff --git a/build/source/actors/SummaManager.h b/build/source/actors/summa_actor/SummaManager.h similarity index 91% rename from build/source/actors/SummaManager.h rename to build/source/actors/summa_actor/SummaManager.h index bc4e20f6050180b3db6897c21560800f301fa57c..da875782b25c35ea1b589823d68a467a32321581 100644 --- a/build/source/actors/SummaManager.h +++ b/build/source/actors/summa_actor/SummaManager.h @@ -3,13 +3,15 @@ #include "caf/all.hpp" #include "caf/io/all.hpp" -#include "JobActor.h" +#include "../job_actor/JobActor.h" +#include "../global/json.hpp" +#include "../global/global.h" + + #include <iostream> #include <chrono> #include <string> -#include "json.hpp" #include <fstream> -#include "global.h" diff --git a/build/source/engine/access_forcing.f90 b/build/source/engine/access_forcing.f90 index 7b81303386aca7d3de7f4803652369bb8cc409b8..2e04300572caf7b527f406b407dcc54cc9cd5bac 100644 --- a/build/source/engine/access_forcing.f90 +++ b/build/source/engine/access_forcing.f90 @@ -86,7 +86,9 @@ subroutine access_forcingFile(forcFileInfo, iFile, stepsInFile, startGRU, numGRU nTimeSteps = forcFileInfo%ffile_list(iFile)%nTimeSteps forcingDataStruct(iFile)%nTimeSteps = nTimeSteps stepsInFile = nTimeSteps - allocate(vecTime(iFile)%dat(nTimeSteps)) + if(.not.allocated(vecTime(iFile)%dat))then + allocate(vecTime(iFile)%dat(nTimeSteps)) + end if ! Get Time Information err = nf90_inq_varid(ncid,'time',varId); @@ -97,8 +99,12 @@ subroutine access_forcingFile(forcFileInfo, iFile, stepsInFile, startGRU, numGRU ! Need to loop through vars and add forcing data nVars = forcFileInfo%ffile_list(iFile)%nVars forcingDataStruct(iFile)%nVars = nVars - allocate(forcingDataStruct(iFile)%var(nVars)) - allocate(forcingDataStruct(iFile)%var_ix(nVars)) + if (.not.allocated(forcingDataStruct(iFile)%var))then + allocate(forcingDataStruct(iFile)%var(nVars)) + endif + if (.not.allocated(forcingDataStruct(iFile)%var_ix))then + allocate(forcingDataStruct(iFile)%var_ix(nVars)) + endif forcingDataStruct(iFile)%var_ix(:) = integerMissing ! initialize flags for forcing data @@ -114,8 +120,9 @@ subroutine access_forcingFile(forcFileInfo, iFile, stepsInFile, startGRU, numGRU iVar = forcFileInfo%ffile_list(iFile)%var_ix(iNC) checkForce(iVar) = .true. - - allocate(forcingDataStruct(iFile)%var(iVar)%dataFromFile(numGRU,nTimeSteps)) + if (.not.allocated(forcingDataStruct(iFile)%var(iVar)%dataFromFile))then + allocate(forcingDataStruct(iFile)%var(iVar)%dataFromFile(numGRU,nTimeSteps)) + endif ! Get Forcing Data ! get variable name for error reporting diff --git a/config/Summa_Actors_Settings.json b/config/Summa_Actors_Settings.json deleted file mode 100644 index 7e467cfc002c8f7e2094eddf1d170f4860be77d6..0000000000000000000000000000000000000000 --- a/config/Summa_Actors_Settings.json +++ /dev/null @@ -1,52 +0,0 @@ -{ - "Configuration": { - "controlVersion": "", - "simStartTime": "", - "simEndTime": "", - "tmZoneInfo": "", - "settingsPath": "", - "forcingPath": "", - "outputPath": "", - "forcingFreq": "", - "forcingStart": "", - "decisionsFile": "", - "outputControlFile": "", - "globalHruParamFile": "", - "globalGruParamFile": "", - "attributeFile": "", - "trialParamFile": "", - "forcingListFile": "", - "initConditionFile": "", - "outFilePrefix": "", - "vegTableFile": "", - "soilTableFile": "", - "generalTableFile": "", - "noahmpTableFile": "" - }, - "JobSubmissionParams": { - "cpus-per-task": 1, - "memory": "", - "job-name": "", - "account": "", - "numHRUs": 1, - "maxNumberOfJobs": 1, - "maxGRUsPerSubmission": 1, - "executablePath": "" - }, - "SummaActor": { - "OuputStructureSize": 1, - "maxGRUPerJob": 1 - }, - "FileAccessActor": { - "num_vectors_in_output_manager": 1 - }, - "JobActor": { - "FileManagerPath": "", - "outputCSV": "", - "csvPath": "" - }, - "HRUActor": { - "printOutput": "", - "outputFrequency": 1 - } -} \ No newline at end of file