Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat(idm): add subpackage input load support #1581

Closed
wants to merge 14 commits into from
75 changes: 38 additions & 37 deletions make/makefile
Original file line number Diff line number Diff line change
@@ -1,41 +1,41 @@
# makefile created by pymake (version 1.2.7) for the 'mf6' executable.
# makefile created by pymake (version 1.2.9.dev0) for the 'mf6' executable.


include ./makedefaults

# Define the source file directories
SOURCEDIR1=../src
SOURCEDIR2=../src/Distributed
SOURCEDIR3=../src/Exchange
SOURCEDIR2=../src/Exchange
SOURCEDIR3=../src/Timing
SOURCEDIR4=../src/Model
SOURCEDIR5=../src/Model/Connection
SOURCEDIR6=../src/Model/Geometry
SOURCEDIR7=../src/Model/GroundWaterEnergy
SOURCEDIR8=../src/Model/GroundWaterFlow
SOURCEDIR9=../src/Model/GroundWaterTransport
SOURCEDIR10=../src/Model/ModelUtilities
SOURCEDIR11=../src/Model/TransportModel
SOURCEDIR6=../src/Model/ModelUtilities
SOURCEDIR7=../src/Model/GroundWaterFlow
SOURCEDIR8=../src/Model/Geometry
SOURCEDIR9=../src/Model/TransportModel
SOURCEDIR10=../src/Model/GroundWaterTransport
SOURCEDIR11=../src/Model/GroundWaterEnergy
SOURCEDIR12=../src/Solution
SOURCEDIR13=../src/Solution/LinearMethods
SOURCEDIR14=../src/Solution/PETSc
SOURCEDIR15=../src/Timing
SOURCEDIR15=../src/Distributed
SOURCEDIR16=../src/Utilities
SOURCEDIR17=../src/Utilities/ArrayRead
SOURCEDIR17=../src/Utilities/TimeSeries
SOURCEDIR18=../src/Utilities/Idm
SOURCEDIR19=../src/Utilities/Idm/mf6blockfile
SOURCEDIR20=../src/Utilities/Idm/selector
SOURCEDIR21=../src/Utilities/Libraries
SOURCEDIR22=../src/Utilities/Libraries/blas
SOURCEDIR23=../src/Utilities/Libraries/daglib
SOURCEDIR24=../src/Utilities/Libraries/rcm
SOURCEDIR25=../src/Utilities/Libraries/sparsekit
SOURCEDIR26=../src/Utilities/Libraries/sparskit2
SOURCEDIR27=../src/Utilities/Matrix
SOURCEDIR28=../src/Utilities/Memory
SOURCEDIR29=../src/Utilities/Observation
SOURCEDIR30=../src/Utilities/OutputControl
SOURCEDIR31=../src/Utilities/TimeSeries
SOURCEDIR32=../src/Utilities/Vector
SOURCEDIR19=../src/Utilities/Idm/selector
SOURCEDIR20=../src/Utilities/Idm/mf6blockfile
SOURCEDIR21=../src/Utilities/ArrayRead
SOURCEDIR22=../src/Utilities/Memory
SOURCEDIR23=../src/Utilities/Matrix
SOURCEDIR24=../src/Utilities/Vector
SOURCEDIR25=../src/Utilities/Observation
SOURCEDIR26=../src/Utilities/OutputControl
SOURCEDIR27=../src/Utilities/Libraries
SOURCEDIR28=../src/Utilities/Libraries/rcm
SOURCEDIR29=../src/Utilities/Libraries/sparskit2
SOURCEDIR30=../src/Utilities/Libraries/sparsekit
SOURCEDIR31=../src/Utilities/Libraries/blas
SOURCEDIR32=../src/Utilities/Libraries/daglib

VPATH = \
${SOURCEDIR1} \
Expand Down Expand Up @@ -207,6 +207,7 @@ $(OBJDIR)/GwfVscInputData.o \
$(OBJDIR)/gwf3ghb8.o \
$(OBJDIR)/gwf3drn8.o \
$(OBJDIR)/IndexMap.o \
$(OBJDIR)/ArrayReaderBase.o \
$(OBJDIR)/VirtualModel.o \
$(OBJDIR)/BaseExchange.o \
$(OBJDIR)/tsp1fmi1.o \
Expand All @@ -224,7 +225,7 @@ $(OBJDIR)/InterfaceMap.o \
$(OBJDIR)/SeqVector.o \
$(OBJDIR)/ImsLinearSettings.o \
$(OBJDIR)/ConvergenceSummary.o \
$(OBJDIR)/ArrayReaderBase.o \
$(OBJDIR)/Integer2dReader.o \
$(OBJDIR)/CellWithNbrs.o \
$(OBJDIR)/NumericalExchange.o \
$(OBJDIR)/tsp1ssm1.o \
Expand All @@ -251,9 +252,13 @@ $(OBJDIR)/VirtualSolution.o \
$(OBJDIR)/SparseMatrix.o \
$(OBJDIR)/LinearSolverBase.o \
$(OBJDIR)/ims8reordering.o \
$(OBJDIR)/StructVector.o \
$(OBJDIR)/ModflowInput.o \
$(OBJDIR)/IdmLogger.o \
$(OBJDIR)/Integer2dReader.o \
$(OBJDIR)/DefinitionSelect.o \
$(OBJDIR)/Integer1dReader.o \
$(OBJDIR)/Double2dReader.o \
$(OBJDIR)/Double1dReader.o \
$(OBJDIR)/VirtualExchange.o \
$(OBJDIR)/GridSorting.o \
$(OBJDIR)/DisConnExchange.o \
Expand Down Expand Up @@ -291,12 +296,9 @@ $(OBJDIR)/gwe1cnd1.o \
$(OBJDIR)/RouterBase.o \
$(OBJDIR)/ImsLinearSolver.o \
$(OBJDIR)/ims8base.o \
$(OBJDIR)/StructVector.o \
$(OBJDIR)/DefinitionSelect.o \
$(OBJDIR)/StructArray.o \
$(OBJDIR)/LayeredArrayReader.o \
$(OBJDIR)/InputLoadType.o \
$(OBJDIR)/Integer1dReader.o \
$(OBJDIR)/Double2dReader.o \
$(OBJDIR)/Double1dReader.o \
$(OBJDIR)/GridConnection.o \
$(OBJDIR)/DistributedVariable.o \
$(OBJDIR)/gwt1.o \
Expand All @@ -308,10 +310,10 @@ $(OBJDIR)/Timer.o \
$(OBJDIR)/LinearSolverFactory.o \
$(OBJDIR)/ims8linear.o \
$(OBJDIR)/BaseSolution.o \
$(OBJDIR)/StructArray.o \
$(OBJDIR)/LoadMf6File.o \
$(OBJDIR)/DynamicParamFilter.o \
$(OBJDIR)/BoundInputContext.o \
$(OBJDIR)/AsciiInputLoadType.o \
$(OBJDIR)/LayeredArrayReader.o \
$(OBJDIR)/ExplicitModel.o \
$(OBJDIR)/SpatialModelConnection.o \
$(OBJDIR)/GwtInterfaceModel.o \
Expand All @@ -323,9 +325,8 @@ $(OBJDIR)/GweGweExchange.o \
$(OBJDIR)/RouterFactory.o \
$(OBJDIR)/NumericalSolution.o \
$(OBJDIR)/MappedMemory.o \
$(OBJDIR)/StressListInput.o \
$(OBJDIR)/StressGridInput.o \
$(OBJDIR)/LoadMf6File.o \
$(OBJDIR)/Mf6FileListInput.o \
$(OBJDIR)/Mf6FileGridInput.o \
$(OBJDIR)/ExplicitSolution.o \
$(OBJDIR)/GwtGwtConnection.o \
$(OBJDIR)/GwfGwfConnection.o \
Expand Down
5 changes: 3 additions & 2 deletions msvs/mf6core.vfproj
Original file line number Diff line number Diff line change
Expand Up @@ -328,8 +328,8 @@
<File RelativePath="..\src\Utilities\Idm\mf6blockfile\AsciiInputLoadType.f90"/>
<File RelativePath="..\src\Utilities\Idm\mf6blockfile\IdmMf6File.f90"/>
<File RelativePath="..\src\Utilities\Idm\mf6blockfile\LoadMf6File.f90"/>
<File RelativePath="..\src\Utilities\Idm\mf6blockfile\StressGridInput.f90"/>
<File RelativePath="..\src\Utilities\Idm\mf6blockfile\StressListInput.f90"/>
<File RelativePath="..\src\Utilities\Idm\mf6blockfile\Mf6FileGridInput.f90"/>
<File RelativePath="..\src\Utilities\Idm\mf6blockfile\Mf6FileListInput.f90"/>
<File RelativePath="..\src\Utilities\Idm\mf6blockfile\StructArray.f90"/>
<File RelativePath="..\src\Utilities\Idm\mf6blockfile\StructVector.f90"/></Filter>
<Filter Name="selector">
Expand All @@ -341,6 +341,7 @@
<File RelativePath="..\src\Utilities\Idm\selector\IdmSimDfnSelector.f90"/></Filter>
<File RelativePath="..\src\Utilities\Idm\BoundInputContext.f90"/>
<File RelativePath="..\src\Utilities\Idm\DefinitionSelect.f90"/>
<File RelativePath="..\src\Utilities\Idm\DynamicParamFilter.f90"/>
<File RelativePath="..\src\Utilities\Idm\IdmLoad.f90"/>
<File RelativePath="..\src\Utilities\Idm\IdmLogger.f90"/>
<File RelativePath="..\src\Utilities\Idm\InputDefinition.f90"/>
Expand Down
18 changes: 15 additions & 3 deletions src/Exchange/gwegweidm.f90
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,8 @@ module ExgGwegweInputModule
public exg_gwegwe_block_definitions
public ExgGwegweParamFoundType
public exg_gwegwe_multi_package
public exg_gwegwe_advanced_package
public exg_gwegwe_subpackages

type ExgGwegweParamFoundType
logical :: gwfmodelname1 = .false.
Expand Down Expand Up @@ -41,6 +43,13 @@ module ExgGwegweInputModule
end type ExgGwegweParamFoundType

logical :: exg_gwegwe_multi_package = .true.
logical :: exg_gwegwe_advanced_package = .false.

character(len=16), parameter :: &
exg_gwegwe_subpackages(*) = &
[ &
' ' &
]

type(InputParamDefinitionType), parameter :: &
exggwegwe_gwfmodelname1 = InputParamDefinitionType &
Expand Down Expand Up @@ -563,19 +572,22 @@ module ExgGwegweInputModule
'OPTIONS', & ! blockname
.true., & ! required
.false., & ! aggregate
.false. & ! block_variable
.false., & ! block_variable
.false. & ! timeseries
), &
InputBlockDefinitionType( &
'DIMENSIONS', & ! blockname
.true., & ! required
.false., & ! aggregate
.false. & ! block_variable
.false., & ! block_variable
.false. & ! timeseries
), &
InputBlockDefinitionType( &
'EXCHANGEDATA', & ! blockname
.true., & ! required
.true., & ! aggregate
.false. & ! block_variable
.false., & ! block_variable
.false. & ! timeseries
) &
]

Expand Down
9 changes: 9 additions & 0 deletions src/Exchange/gwfgweidm.f90
Original file line number Diff line number Diff line change
Expand Up @@ -9,11 +9,20 @@ module ExgGwfgweInputModule
public exg_gwfgwe_block_definitions
public ExgGwfgweParamFoundType
public exg_gwfgwe_multi_package
public exg_gwfgwe_advanced_package
public exg_gwfgwe_subpackages

type ExgGwfgweParamFoundType
end type ExgGwfgweParamFoundType

logical :: exg_gwfgwe_multi_package = .false.
logical :: exg_gwfgwe_advanced_package = .false.

character(len=16), parameter :: &
exg_gwfgwe_subpackages(*) = &
[ &
' ' &
]

type(InputParamDefinitionType), parameter :: &
exg_gwfgwe_param_definitions(*) = &
Expand Down
18 changes: 15 additions & 3 deletions src/Exchange/gwfgwfidm.f90
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,8 @@ module ExgGwfgwfInputModule
public exg_gwfgwf_block_definitions
public ExgGwfgwfParamFoundType
public exg_gwfgwf_multi_package
public exg_gwfgwf_advanced_package
public exg_gwfgwf_subpackages

type ExgGwfgwfParamFoundType
logical :: auxiliary = .false.
Expand Down Expand Up @@ -45,6 +47,13 @@ module ExgGwfgwfInputModule
end type ExgGwfgwfParamFoundType

logical :: exg_gwfgwf_multi_package = .true.
logical :: exg_gwfgwf_advanced_package = .false.

character(len=16), parameter :: &
exg_gwfgwf_subpackages(*) = &
[ &
' ' &
]

type(InputParamDefinitionType), parameter :: &
exggwfgwf_auxiliary = InputParamDefinitionType &
Expand Down Expand Up @@ -639,19 +648,22 @@ module ExgGwfgwfInputModule
'OPTIONS', & ! blockname
.false., & ! required
.false., & ! aggregate
.false. & ! block_variable
.false., & ! block_variable
.false. & ! timeseries
), &
InputBlockDefinitionType( &
'DIMENSIONS', & ! blockname
.true., & ! required
.false., & ! aggregate
.false. & ! block_variable
.false., & ! block_variable
.false. & ! timeseries
), &
InputBlockDefinitionType( &
'EXCHANGEDATA', & ! blockname
.true., & ! required
.true., & ! aggregate
.false. & ! block_variable
.false., & ! block_variable
.false. & ! timeseries
) &
]

Expand Down
9 changes: 9 additions & 0 deletions src/Exchange/gwfgwtidm.f90
Original file line number Diff line number Diff line change
Expand Up @@ -9,11 +9,20 @@ module ExgGwfgwtInputModule
public exg_gwfgwt_block_definitions
public ExgGwfgwtParamFoundType
public exg_gwfgwt_multi_package
public exg_gwfgwt_advanced_package
public exg_gwfgwt_subpackages

type ExgGwfgwtParamFoundType
end type ExgGwfgwtParamFoundType

logical :: exg_gwfgwt_multi_package = .false.
logical :: exg_gwfgwt_advanced_package = .false.

character(len=16), parameter :: &
exg_gwfgwt_subpackages(*) = &
[ &
' ' &
]

type(InputParamDefinitionType), parameter :: &
exg_gwfgwt_param_definitions(*) = &
Expand Down
18 changes: 15 additions & 3 deletions src/Exchange/gwtgwtidm.f90
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,8 @@ module ExgGwtgwtInputModule
public exg_gwtgwt_block_definitions
public ExgGwtgwtParamFoundType
public exg_gwtgwt_multi_package
public exg_gwtgwt_advanced_package
public exg_gwtgwt_subpackages

type ExgGwtgwtParamFoundType
logical :: gwfmodelname1 = .false.
Expand Down Expand Up @@ -41,6 +43,13 @@ module ExgGwtgwtInputModule
end type ExgGwtgwtParamFoundType

logical :: exg_gwtgwt_multi_package = .true.
logical :: exg_gwtgwt_advanced_package = .false.

character(len=16), parameter :: &
exg_gwtgwt_subpackages(*) = &
[ &
' ' &
]

type(InputParamDefinitionType), parameter :: &
exggwtgwt_gwfmodelname1 = InputParamDefinitionType &
Expand Down Expand Up @@ -563,19 +572,22 @@ module ExgGwtgwtInputModule
'OPTIONS', & ! blockname
.true., & ! required
.false., & ! aggregate
.false. & ! block_variable
.false., & ! block_variable
.false. & ! timeseries
), &
InputBlockDefinitionType( &
'DIMENSIONS', & ! blockname
.true., & ! required
.false., & ! aggregate
.false. & ! block_variable
.false., & ! block_variable
.false. & ! timeseries
), &
InputBlockDefinitionType( &
'EXCHANGEDATA', & ! blockname
.true., & ! required
.true., & ! aggregate
.false. & ! block_variable
.false., & ! block_variable
.false. & ! timeseries
) &
]

Expand Down
12 changes: 7 additions & 5 deletions src/Model/GroundWaterEnergy/gwe1cnd1.f90
Original file line number Diff line number Diff line change
Expand Up @@ -669,11 +669,13 @@ subroutine source_griddata(this)
call mem_reassignptr(this%atv, 'ATV', trim(this%memoryPath), &
'ATH2', trim(this%memoryPath))
else
call mem_reallocate(this%alh, 0, 'ALH', trim(this%memoryPath))
call mem_reallocate(this%alv, 0, 'ALV', trim(this%memoryPath))
call mem_reallocate(this%ath1, 0, 'ATH1', trim(this%memoryPath))
call mem_reallocate(this%ath2, 0, 'ATH2', trim(this%memoryPath))
call mem_reallocate(this%atv, 0, 'ATV', trim(this%memoryPath))
call mem_reallocate(this%alh, 0, 'ALH', trim(this%memoryPath), copy=.FALSE.)
call mem_reallocate(this%alv, 0, 'ALV', trim(this%memoryPath), copy=.FALSE.)
call mem_reallocate(this%ath1, 0, 'ATH1', trim(this%memoryPath), &
copy=.FALSE.)
call mem_reallocate(this%ath2, 0, 'ATH2', trim(this%memoryPath), &
copy=.FALSE.)
call mem_reallocate(this%atv, 0, 'ATV', trim(this%memoryPath), copy=.FALSE.)
end if
!
! -- log griddata
Expand Down
Loading
Loading