Skip to content
Snippets Groups Projects
Commit eab23a3d authored by KyleKlenk's avatar KyleKlenk
Browse files

can reuse output structure to save ram

parent 670cbf0d
No related branches found
No related tags found
No related merge requests found
File deleted
......@@ -7,7 +7,7 @@ module load openblas
module load caf
#### Specifiy Master Directory, parent of build directory
export F_MASTER=
export F_MASTER=/globalhome/kck540/HPC/SummaProjects/Summa-Actors
#### Specifiy Compilers ####
export FC=gfortran
......
......@@ -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
......
......@@ -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
......
......@@ -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
......
{
"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
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment