Skip to content

Commit

Permalink
feat(idm): update DisConnExchangeTypes for IDM (#1505)
Browse files Browse the repository at this point in the history
* update dfns and generate defintion files

* update idm to load DisConnExchangeTypes

* rebuild makefiles

* support parallel and remote models

* add workaround for flopy ncelldim shape issue in exg dfns

* cleanup and some renaming

---------

Co-authored-by: mjreno <[email protected]>
  • Loading branch information
mjreno and mjreno authored Dec 20, 2023
1 parent 0883d39 commit 78bfda9
Show file tree
Hide file tree
Showing 29 changed files with 2,367 additions and 720 deletions.
5 changes: 5 additions & 0 deletions doc/mf6io/mf6ivar/dfn/exg-gwfgwf.dfn
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,7 @@ reader urword
optional true
longname keyword to print input to list file
description keyword to indicate that the list of exchange entries will be echoed to the listing file immediately after it is read.
mf6internal iprpak

block options
name print_flows
Expand All @@ -34,6 +35,7 @@ reader urword
optional true
longname keyword to print gwfgwf flows to list file
description keyword to indicate that the list of exchange flow rates will be printed to the listing file for every stress period in which ``SAVE BUDGET'' is specified in Output Control.
mf6internal iprflow

block options
name save_flows
Expand All @@ -42,6 +44,7 @@ reader urword
optional true
longname keyword to save GWFGWF flows
description keyword to indicate that cell-by-cell flow terms will be written to the budget file for each model provided that the Output Control for the models are set up with the ``BUDGET SAVE FILE'' option.
mf6internal ipakcb

block options
name cell_averaging
Expand Down Expand Up @@ -207,6 +210,7 @@ reader urword
optional true
longname activate interface model on exchange
description activates the interface model mechanism for calculating the coefficients at (and possibly near) the exchange. This keyword should only be used for development purposes.
mf6internal dev_ifmod_on

# --------------------- exg gwfgwf dimensions ---------------------

Expand All @@ -224,6 +228,7 @@ description keyword and integer value specifying the number of GWF-GWF exchanges
block exchangedata
name exchangedata
type recarray cellidm1 cellidm2 ihc cl1 cl2 hwva aux boundname
shape (nexg)
reader urword
optional false
longname exchange data
Expand Down
5 changes: 5 additions & 0 deletions doc/mf6io/mf6ivar/dfn/exg-gwtgwt.dfn
Original file line number Diff line number Diff line change
Expand Up @@ -42,6 +42,7 @@ reader urword
optional true
longname keyword to print input to list file
description keyword to indicate that the list of exchange entries will be echoed to the listing file immediately after it is read.
mf6internal iprpak

block options
name print_flows
Expand All @@ -50,6 +51,7 @@ reader urword
optional true
longname keyword to print gwfgwf flows to list file
description keyword to indicate that the list of exchange flow rates will be printed to the listing file for every stress period in which ``SAVE BUDGET'' is specified in Output Control.
mf6internal iprflow

block options
name save_flows
Expand All @@ -58,6 +60,7 @@ reader urword
optional true
longname keyword to save GWFGWF flows
description keyword to indicate that cell-by-cell flow terms will be written to the budget file for each model provided that the Output Control for the models are set up with the ``BUDGET SAVE FILE'' option.
mf6internal ipakcb

block options
name adv_scheme
Expand Down Expand Up @@ -168,6 +171,7 @@ reader urword
optional true
longname activate interface model on exchange
description activates the interface model mechanism for calculating the coefficients at (and possibly near) the exchange. This keyword should only be used for development purposes.
mf6internal dev_ifmod_on

# --------------------- exg gwtgwt dimensions ---------------------

Expand All @@ -185,6 +189,7 @@ description keyword and integer value specifying the number of GWT-GWT exchanges
block exchangedata
name exchangedata
type recarray cellidm1 cellidm2 ihc cl1 cl2 hwva aux boundname
shape (nexg)
reader urword
optional false
longname exchange data
Expand Down
62 changes: 32 additions & 30 deletions make/makefile
Original file line number Diff line number Diff line change
Expand Up @@ -6,36 +6,35 @@ include ./makedefaults
# Define the source file directories
SOURCEDIR1=../src
SOURCEDIR2=../src/Exchange
SOURCEDIR3=../src/Distributed
SOURCEDIR4=../src/Solution
SOURCEDIR5=../src/Solution/LinearMethods
SOURCEDIR6=../src/Solution/ParticleTracker
SOURCEDIR7=../src/Solution/PETSc
SOURCEDIR8=../src/Timing
SOURCEDIR9=../src/Utilities
SOURCEDIR10=../src/Utilities/Idm
SOURCEDIR11=../src/Utilities/Idm/selector
SOURCEDIR12=../src/Utilities/Idm/mf6blockfile
SOURCEDIR13=../src/Utilities/TimeSeries
SOURCEDIR14=../src/Utilities/Memory
SOURCEDIR15=../src/Utilities/OutputControl
SOURCEDIR16=../src/Utilities/ArrayRead
SOURCEDIR3=../src/Model
SOURCEDIR4=../src/Model/Geometry
SOURCEDIR5=../src/Model/TransportModel
SOURCEDIR6=../src/Model/ModelUtilities
SOURCEDIR7=../src/Model/Connection
SOURCEDIR8=../src/Model/GroundWaterTransport
SOURCEDIR9=../src/Model/GroundWaterFlow
SOURCEDIR10=../src/Distributed
SOURCEDIR11=../src/Solution
SOURCEDIR12=../src/Solution/PETSc
SOURCEDIR13=../src/Solution/LinearMethods
SOURCEDIR14=../src/Timing
SOURCEDIR15=../src/Utilities
SOURCEDIR16=../src/Utilities/TimeSeries
SOURCEDIR17=../src/Utilities/Libraries
SOURCEDIR18=../src/Utilities/Libraries/rcm
SOURCEDIR19=../src/Utilities/Libraries/blas
SOURCEDIR19=../src/Utilities/Libraries/sparsekit
SOURCEDIR20=../src/Utilities/Libraries/sparskit2
SOURCEDIR21=../src/Utilities/Libraries/daglib
SOURCEDIR22=../src/Utilities/Libraries/sparsekit
SOURCEDIR23=../src/Utilities/Vector
SOURCEDIR24=../src/Utilities/Matrix
SOURCEDIR25=../src/Utilities/Observation
SOURCEDIR26=../src/Model
SOURCEDIR27=../src/Model/Connection
SOURCEDIR28=../src/Model/GroundWaterTransport
SOURCEDIR29=../src/Model/ModelUtilities
SOURCEDIR30=../src/Model/GroundWaterFlow
SOURCEDIR31=../src/Model/TransportModel
SOURCEDIR32=../src/Model/Geometry
SOURCEDIR21=../src/Utilities/Libraries/blas
SOURCEDIR22=../src/Utilities/Libraries/daglib
SOURCEDIR23=../src/Utilities/Idm
SOURCEDIR24=../src/Utilities/Idm/selector
SOURCEDIR25=../src/Utilities/Idm/mf6blockfile
SOURCEDIR26=../src/Utilities/Matrix
SOURCEDIR27=../src/Utilities/Vector
SOURCEDIR28=../src/Utilities/Observation
SOURCEDIR29=../src/Utilities/OutputControl
SOURCEDIR30=../src/Utilities/Memory
SOURCEDIR31=../src/Utilities/ArrayRead

VPATH = \
${SOURCEDIR1} \
Expand Down Expand Up @@ -68,8 +67,7 @@ ${SOURCEDIR27} \
${SOURCEDIR28} \
${SOURCEDIR29} \
${SOURCEDIR30} \
${SOURCEDIR31} \
${SOURCEDIR32}
${SOURCEDIR31}

.SUFFIXES: .f90 .F90 .o

Expand All @@ -85,7 +83,6 @@ $(OBJDIR)/compilerversion.o \
$(OBJDIR)/version.o \
$(OBJDIR)/Sim.o \
$(OBJDIR)/OpenSpec.o \
$(OBJDIR)/MathUtil.o \
$(OBJDIR)/InputOutput.o \
$(OBJDIR)/TableTerm.o \
$(OBJDIR)/Table.o \
Expand All @@ -97,6 +94,7 @@ $(OBJDIR)/LongLineReader.o \
$(OBJDIR)/DevFeature.o \
$(OBJDIR)/MemoryList.o \
$(OBJDIR)/TimeSeriesRecord.o \
$(OBJDIR)/MathUtil.o \
$(OBJDIR)/BlockParser.o \
$(OBJDIR)/MemoryManager.o \
$(OBJDIR)/TimeSeries.o \
Expand Down Expand Up @@ -143,12 +141,16 @@ $(OBJDIR)/gwf3disv8idm.o \
$(OBJDIR)/gwf3disu8idm.o \
$(OBJDIR)/gwf3dis8idm.o \
$(OBJDIR)/gwf3chd8idm.o \
$(OBJDIR)/gwtgwtidm.o \
$(OBJDIR)/gwfgwtidm.o \
$(OBJDIR)/gwfgwfidm.o \
$(OBJDIR)/TimeArraySeries.o \
$(OBJDIR)/ObsOutputList.o \
$(OBJDIR)/Observe.o \
$(OBJDIR)/IdmSimDfnSelector.o \
$(OBJDIR)/IdmGwtDfnSelector.o \
$(OBJDIR)/IdmGwfDfnSelector.o \
$(OBJDIR)/IdmExgDfnSelector.o \
$(OBJDIR)/TimeArraySeriesLink.o \
$(OBJDIR)/ObsUtility.o \
$(OBJDIR)/ObsContainer.o \
Expand Down
4 changes: 4 additions & 0 deletions msvs/mf6core.vfproj
Original file line number Diff line number Diff line change
Expand Up @@ -92,6 +92,9 @@
<File RelativePath="..\src\Distributed\VirtualModel.f90"/>
<File RelativePath="..\src\Distributed\VirtualSolution.f90"/></Filter>
<Filter Name="Exchange">
<File RelativePath="..\src\Exchange\gwfgwfidm.f90"/>
<File RelativePath="..\src\Exchange\gwfgwtidm.f90"/>
<File RelativePath="..\src\Exchange\gwtgwtidm.f90"/>
<File RelativePath="..\src\Exchange\BaseExchange.f90"/>
<File RelativePath="..\src\Exchange\DisConnExchange.f90"/>
<File RelativePath="..\src\Exchange\GhostNode.f90"/>
Expand Down Expand Up @@ -292,6 +295,7 @@
<File RelativePath="..\src\Utilities\Idm\mf6blockfile\StructVector.f90"/></Filter>
<Filter Name="selector">
<File RelativePath="..\src\Utilities\Idm\selector\IdmDfnSelector.f90"/>
<File RelativePath="..\src\Utilities\Idm\selector\IdmExgDfnSelector.f90"/>
<File RelativePath="..\src\Utilities\Idm\selector\IdmGwfDfnSelector.f90"/>
<File RelativePath="..\src\Utilities\Idm\selector\IdmGwtDfnSelector.f90"/>
<File RelativePath="..\src\Utilities\Idm\selector\IdmSimDfnSelector.f90"/></Filter>
Expand Down
1 change: 1 addition & 0 deletions src/Exchange/BaseExchange.f90
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@ module BaseExchangeModule
type, abstract :: BaseExchangeType
character(len=LENEXCHANGENAME) :: name !< the name of this exchange
character(len=LENMEMPATH) :: memoryPath !< the location in the memory manager where the variables are stored
character(len=LENMEMPATH) :: input_mempath
integer(I4B) :: id

contains
Expand Down
Loading

0 comments on commit 78bfda9

Please sign in to comment.