Skip to content

Commit c622cca

Browse files
mjrenomjreno
and
mjreno
authored
refactor(idm): relocate model package lists to model modules (#1437)
* relocate model package lists to model modules * rebuild makefiles --------- Co-authored-by: mjreno <[email protected]>
1 parent 7e45fa9 commit c622cca

File tree

12 files changed

+308
-234
lines changed

12 files changed

+308
-234
lines changed

make/makefile

+82-81
Original file line numberDiff line numberDiff line change
@@ -6,35 +6,35 @@ include ./makedefaults
66
# Define the source file directories
77
SOURCEDIR1=../src
88
SOURCEDIR2=../src/Exchange
9-
SOURCEDIR3=../src/Distributed
10-
SOURCEDIR4=../src/Solution
11-
SOURCEDIR5=../src/Solution/LinearMethods
12-
SOURCEDIR6=../src/Solution/PETSc
13-
SOURCEDIR7=../src/Timing
14-
SOURCEDIR8=../src/Utilities
15-
SOURCEDIR9=../src/Utilities/Idm
16-
SOURCEDIR10=../src/Utilities/Idm/selector
17-
SOURCEDIR11=../src/Utilities/Idm/mf6blockfile
18-
SOURCEDIR12=../src/Utilities/TimeSeries
19-
SOURCEDIR13=../src/Utilities/Memory
20-
SOURCEDIR14=../src/Utilities/OutputControl
21-
SOURCEDIR15=../src/Utilities/ArrayRead
22-
SOURCEDIR16=../src/Utilities/Libraries
23-
SOURCEDIR17=../src/Utilities/Libraries/rcm
24-
SOURCEDIR18=../src/Utilities/Libraries/blas
25-
SOURCEDIR19=../src/Utilities/Libraries/sparskit2
26-
SOURCEDIR20=../src/Utilities/Libraries/daglib
27-
SOURCEDIR21=../src/Utilities/Libraries/sparsekit
28-
SOURCEDIR22=../src/Utilities/Vector
29-
SOURCEDIR23=../src/Utilities/Matrix
30-
SOURCEDIR24=../src/Utilities/Observation
31-
SOURCEDIR25=../src/Model
32-
SOURCEDIR26=../src/Model/Connection
33-
SOURCEDIR27=../src/Model/GroundWaterTransport
34-
SOURCEDIR28=../src/Model/ModelUtilities
35-
SOURCEDIR29=../src/Model/GroundWaterFlow
36-
SOURCEDIR30=../src/Model/TransportModel
37-
SOURCEDIR31=../src/Model/Geometry
9+
SOURCEDIR3=../src/Model
10+
SOURCEDIR4=../src/Model/Geometry
11+
SOURCEDIR5=../src/Model/TransportModel
12+
SOURCEDIR6=../src/Model/ModelUtilities
13+
SOURCEDIR7=../src/Model/Connection
14+
SOURCEDIR8=../src/Model/GroundWaterTransport
15+
SOURCEDIR9=../src/Model/GroundWaterFlow
16+
SOURCEDIR10=../src/Distributed
17+
SOURCEDIR11=../src/Solution
18+
SOURCEDIR12=../src/Solution/PETSc
19+
SOURCEDIR13=../src/Solution/LinearMethods
20+
SOURCEDIR14=../src/Timing
21+
SOURCEDIR15=../src/Utilities
22+
SOURCEDIR16=../src/Utilities/TimeSeries
23+
SOURCEDIR17=../src/Utilities/Libraries
24+
SOURCEDIR18=../src/Utilities/Libraries/rcm
25+
SOURCEDIR19=../src/Utilities/Libraries/sparsekit
26+
SOURCEDIR20=../src/Utilities/Libraries/sparskit2
27+
SOURCEDIR21=../src/Utilities/Libraries/blas
28+
SOURCEDIR22=../src/Utilities/Libraries/daglib
29+
SOURCEDIR23=../src/Utilities/Idm
30+
SOURCEDIR24=../src/Utilities/Idm/selector
31+
SOURCEDIR25=../src/Utilities/Idm/mf6blockfile
32+
SOURCEDIR26=../src/Utilities/Matrix
33+
SOURCEDIR27=../src/Utilities/Vector
34+
SOURCEDIR28=../src/Utilities/Observation
35+
SOURCEDIR29=../src/Utilities/OutputControl
36+
SOURCEDIR30=../src/Utilities/Memory
37+
SOURCEDIR31=../src/Utilities/ArrayRead
3838

3939
VPATH = \
4040
${SOURCEDIR1} \
@@ -90,10 +90,32 @@ $(OBJDIR)/MemoryHelper.o \
9090
$(OBJDIR)/CharString.o \
9191
$(OBJDIR)/Memory.o \
9292
$(OBJDIR)/List.o \
93-
$(OBJDIR)/InputDefinition.o \
9493
$(OBJDIR)/LongLineReader.o \
9594
$(OBJDIR)/DevFeature.o \
9695
$(OBJDIR)/MemoryList.o \
96+
$(OBJDIR)/TimeSeriesRecord.o \
97+
$(OBJDIR)/BlockParser.o \
98+
$(OBJDIR)/MemoryManager.o \
99+
$(OBJDIR)/TimeSeries.o \
100+
$(OBJDIR)/ats.o \
101+
$(OBJDIR)/TimeSeriesLink.o \
102+
$(OBJDIR)/TimeSeriesFileList.o \
103+
$(OBJDIR)/tdis.o \
104+
$(OBJDIR)/HashTable.o \
105+
$(OBJDIR)/VectorBase.o \
106+
$(OBJDIR)/Sparse.o \
107+
$(OBJDIR)/DisvGeom.o \
108+
$(OBJDIR)/ArrayReaders.o \
109+
$(OBJDIR)/TimeSeriesManager.o \
110+
$(OBJDIR)/SmoothingFunctions.o \
111+
$(OBJDIR)/MemoryManagerExt.o \
112+
$(OBJDIR)/MatrixBase.o \
113+
$(OBJDIR)/ListReader.o \
114+
$(OBJDIR)/Connections.o \
115+
$(OBJDIR)/InputDefinition.o \
116+
$(OBJDIR)/TimeArray.o \
117+
$(OBJDIR)/ObsOutput.o \
118+
$(OBJDIR)/DiscretizationBase.o \
97119
$(OBJDIR)/simnamidm.o \
98120
$(OBJDIR)/gwt1idm.o \
99121
$(OBJDIR)/gwt1ic1idm.o \
@@ -117,72 +139,29 @@ $(OBJDIR)/gwf3disv8idm.o \
117139
$(OBJDIR)/gwf3disu8idm.o \
118140
$(OBJDIR)/gwf3dis8idm.o \
119141
$(OBJDIR)/gwf3chd8idm.o \
120-
$(OBJDIR)/TimeSeriesRecord.o \
121-
$(OBJDIR)/BlockParser.o \
122-
$(OBJDIR)/MemoryManager.o \
142+
$(OBJDIR)/TimeArraySeries.o \
143+
$(OBJDIR)/ObsOutputList.o \
144+
$(OBJDIR)/Observe.o \
123145
$(OBJDIR)/IdmSimDfnSelector.o \
124146
$(OBJDIR)/IdmGwtDfnSelector.o \
125147
$(OBJDIR)/IdmGwfDfnSelector.o \
126-
$(OBJDIR)/TimeSeries.o \
127-
$(OBJDIR)/ats.o \
128-
$(OBJDIR)/IdmDfnSelector.o \
129-
$(OBJDIR)/TimeArray.o \
130-
$(OBJDIR)/ArrayReaders.o \
131-
$(OBJDIR)/TimeSeriesLink.o \
132-
$(OBJDIR)/TimeSeriesFileList.o \
133-
$(OBJDIR)/tdis.o \
134-
$(OBJDIR)/HashTable.o \
135-
$(OBJDIR)/VectorBase.o \
136-
$(OBJDIR)/Sparse.o \
137-
$(OBJDIR)/DisvGeom.o \
138-
$(OBJDIR)/ArrayReaderBase.o \
139-
$(OBJDIR)/STLVecInt.o \
140-
$(OBJDIR)/ModflowInput.o \
141-
$(OBJDIR)/MemoryManagerExt.o \
142-
$(OBJDIR)/TimeArraySeries.o \
143-
$(OBJDIR)/TimeSeriesManager.o \
144-
$(OBJDIR)/SmoothingFunctions.o \
145-
$(OBJDIR)/MatrixBase.o \
146-
$(OBJDIR)/ListReader.o \
147-
$(OBJDIR)/Connections.o \
148-
$(OBJDIR)/Integer2dReader.o \
149-
$(OBJDIR)/StructVector.o \
150-
$(OBJDIR)/IdmLogger.o \
151-
$(OBJDIR)/DefinitionSelect.o \
152-
$(OBJDIR)/InputLoadType.o \
153148
$(OBJDIR)/TimeArraySeriesLink.o \
154-
$(OBJDIR)/DiscretizationBase.o \
155-
$(OBJDIR)/Integer1dReader.o \
156-
$(OBJDIR)/Double2dReader.o \
157-
$(OBJDIR)/Double1dReader.o \
158-
$(OBJDIR)/StructArray.o \
159-
$(OBJDIR)/BoundInputContext.o \
160-
$(OBJDIR)/AsciiInputLoadType.o \
161-
$(OBJDIR)/TimeArraySeriesManager.o \
162-
$(OBJDIR)/SourceCommon.o \
163-
$(OBJDIR)/LayeredArrayReader.o \
164-
$(OBJDIR)/ObsOutput.o \
165-
$(OBJDIR)/StressListInput.o \
166-
$(OBJDIR)/StressGridInput.o \
167-
$(OBJDIR)/LoadMf6File.o \
168-
$(OBJDIR)/ObsOutputList.o \
169-
$(OBJDIR)/Observe.o \
170-
$(OBJDIR)/IdmMf6File.o \
171-
$(OBJDIR)/sort.o \
172149
$(OBJDIR)/ObsUtility.o \
173150
$(OBJDIR)/ObsContainer.o \
174151
$(OBJDIR)/BudgetFileReader.o \
175-
$(OBJDIR)/SourceLoad.o \
176-
$(OBJDIR)/ModelPackageInputs.o \
152+
$(OBJDIR)/IdmDfnSelector.o \
153+
$(OBJDIR)/TimeArraySeriesManager.o \
177154
$(OBJDIR)/PackageMover.o \
178155
$(OBJDIR)/Obs3.o \
179156
$(OBJDIR)/NumericalPackage.o \
180157
$(OBJDIR)/Budget.o \
181158
$(OBJDIR)/BudgetTerm.o \
159+
$(OBJDIR)/sort.o \
182160
$(OBJDIR)/SfrCrossSectionUtils.o \
183-
$(OBJDIR)/IdmLoad.o \
161+
$(OBJDIR)/SourceCommon.o \
184162
$(OBJDIR)/BoundaryPackage.o \
185163
$(OBJDIR)/VirtualBase.o \
164+
$(OBJDIR)/STLVecInt.o \
186165
$(OBJDIR)/BaseModel.o \
187166
$(OBJDIR)/PackageBudget.o \
188167
$(OBJDIR)/HeadFileReader.o \
@@ -225,6 +204,7 @@ $(OBJDIR)/InterfaceMap.o \
225204
$(OBJDIR)/SeqVector.o \
226205
$(OBJDIR)/ImsLinearSettings.o \
227206
$(OBJDIR)/ConvergenceSummary.o \
207+
$(OBJDIR)/ArrayReaderBase.o \
228208
$(OBJDIR)/CellWithNbrs.o \
229209
$(OBJDIR)/NumericalExchange.o \
230210
$(OBJDIR)/tsp1ssm1.o \
@@ -250,6 +230,8 @@ $(OBJDIR)/VirtualSolution.o \
250230
$(OBJDIR)/SparseMatrix.o \
251231
$(OBJDIR)/LinearSolverBase.o \
252232
$(OBJDIR)/ims8reordering.o \
233+
$(OBJDIR)/ModflowInput.o \
234+
$(OBJDIR)/Integer2dReader.o \
253235
$(OBJDIR)/VirtualExchange.o \
254236
$(OBJDIR)/GridSorting.o \
255237
$(OBJDIR)/DisConnExchange.o \
@@ -279,6 +261,13 @@ $(OBJDIR)/gwf3chd8.o \
279261
$(OBJDIR)/RouterBase.o \
280262
$(OBJDIR)/ImsLinearSolver.o \
281263
$(OBJDIR)/ims8base.o \
264+
$(OBJDIR)/StructVector.o \
265+
$(OBJDIR)/IdmLogger.o \
266+
$(OBJDIR)/DefinitionSelect.o \
267+
$(OBJDIR)/InputLoadType.o \
268+
$(OBJDIR)/Integer1dReader.o \
269+
$(OBJDIR)/Double2dReader.o \
270+
$(OBJDIR)/Double1dReader.o \
282271
$(OBJDIR)/GridConnection.o \
283272
$(OBJDIR)/DistributedVariable.o \
284273
$(OBJDIR)/gwt1.o \
@@ -288,6 +277,10 @@ $(OBJDIR)/Timer.o \
288277
$(OBJDIR)/LinearSolverFactory.o \
289278
$(OBJDIR)/ims8linear.o \
290279
$(OBJDIR)/BaseSolution.o \
280+
$(OBJDIR)/StructArray.o \
281+
$(OBJDIR)/BoundInputContext.o \
282+
$(OBJDIR)/AsciiInputLoadType.o \
283+
$(OBJDIR)/LayeredArrayReader.o \
291284
$(OBJDIR)/ExplicitModel.o \
292285
$(OBJDIR)/SpatialModelConnection.o \
293286
$(OBJDIR)/GwtInterfaceModel.o \
@@ -297,11 +290,16 @@ $(OBJDIR)/GwfGwfExchange.o \
297290
$(OBJDIR)/RouterFactory.o \
298291
$(OBJDIR)/NumericalSolution.o \
299292
$(OBJDIR)/MappedMemory.o \
293+
$(OBJDIR)/StressListInput.o \
294+
$(OBJDIR)/StressGridInput.o \
295+
$(OBJDIR)/LoadMf6File.o \
300296
$(OBJDIR)/ExplicitSolution.o \
301297
$(OBJDIR)/GwtGwtConnection.o \
302298
$(OBJDIR)/GwfGwfConnection.o \
303299
$(OBJDIR)/VirtualDataManager.o \
304300
$(OBJDIR)/Mapper.o \
301+
$(OBJDIR)/IdmMf6File.o \
302+
$(OBJDIR)/ModelPackageInput.o \
305303
$(OBJDIR)/VirtualGwtModel.o \
306304
$(OBJDIR)/VirtualGwtExchange.o \
307305
$(OBJDIR)/VirtualGwfModel.o \
@@ -310,8 +308,11 @@ $(OBJDIR)/SolutionGroup.o \
310308
$(OBJDIR)/SolutionFactory.o \
311309
$(OBJDIR)/GwfGwtExchange.o \
312310
$(OBJDIR)/RunControl.o \
311+
$(OBJDIR)/SourceLoad.o \
312+
$(OBJDIR)/ModelPackageInputs.o \
313313
$(OBJDIR)/SimulationCreate.o \
314314
$(OBJDIR)/RunControlFactory.o \
315+
$(OBJDIR)/IdmLoad.o \
315316
$(OBJDIR)/ConnectionBuilder.o \
316317
$(OBJDIR)/comarg.o \
317318
$(OBJDIR)/mf6core.o \

msvs/mf6core.vfproj

+1
Original file line numberDiff line numberDiff line change
@@ -194,6 +194,7 @@
194194
<File RelativePath="..\src\Model\ModelUtilities\GwfVscInputData.f90"/>
195195
<File RelativePath="..\src\Model\ModelUtilities\GwtDspOptions.f90"/>
196196
<File RelativePath="..\src\Model\ModelUtilities\GwtSpc.f90"/>
197+
<File RelativePath="..\src\Model\ModelUtilities\ModelPackageInput.f90"/>
197198
<File RelativePath="..\src\Model\ModelUtilities\Mover.f90"/>
198199
<File RelativePath="..\src\Model\ModelUtilities\PackageMover.f90"/>
199200
<File RelativePath="..\src\Model\ModelUtilities\SfrCrossSectionManager.f90"/>

src/Model/GroundWaterFlow/gwf3.f90

+31-2
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ module GwfModule
33
use KindModule, only: DP, I4B
44
use InputOutputModule, only: ParseLine, upcase, lowcase
55
use ConstantsModule, only: LENFTYPE, LENMEMPATH, LENPAKLOC, DZERO, &
6-
DEM1, DTEN, DEP20
6+
DEM1, DTEN, DEP20, LENPACKAGETYPE
77
use VersionModule, only: write_listfile_header
88
use NumericalModelModule, only: NumericalModelType
99
use BaseDisModule, only: DisBaseType
@@ -32,6 +32,8 @@ module GwfModule
3232
public :: gwf_cr
3333
public :: GwfModelType
3434
public :: CastAsGwfModel
35+
public :: GWF_NBASEPKG, GWF_NMULTIPKG
36+
public :: GWF_BASEPKG, GWF_MULTIPKG
3537

3638
type, extends(NumericalModelType) :: GwfModelType
3739

@@ -99,6 +101,34 @@ module GwfModule
99101
!
100102
end type GwfModelType
101103

104+
!> @brief GWF base package array descriptors
105+
!!
106+
!! GWF6 model base package types. Only listed packages are candidates
107+
!! for input and these will be loaded in the order specified.
108+
!<
109+
integer(I4B), parameter :: GWF_NBASEPKG = 50
110+
character(len=LENPACKAGETYPE), dimension(GWF_NBASEPKG) :: GWF_BASEPKG
111+
data GWF_BASEPKG/'DIS6 ', 'DISV6', 'DISU6', ' ', ' ', & ! 5
112+
&'NPF6 ', 'BUY6 ', 'VSC6 ', 'GNC6 ', ' ', & ! 10
113+
&'HFB6 ', 'STO6 ', 'IC6 ', ' ', ' ', & ! 15
114+
&'MVR6 ', 'OC6 ', 'OBS6 ', ' ', ' ', & ! 20
115+
&30*' '/ ! 50
116+
117+
!> @brief GWF multi package array descriptors
118+
!!
119+
!! GWF6 model multi-instance package types. Only listed packages are
120+
!! candidates for input and these will be loaded in the order specified.
121+
!<
122+
integer(I4B), parameter :: GWF_NMULTIPKG = 50
123+
character(len=LENPACKAGETYPE), dimension(GWF_NMULTIPKG) :: GWF_MULTIPKG
124+
data GWF_MULTIPKG/'WEL6 ', 'DRN6 ', 'RIV6 ', 'GHB6 ', ' ', & ! 5
125+
&'RCH6 ', 'EVT6 ', 'CHD6 ', 'CSUB6', ' ', & ! 10
126+
&'MAW6 ', 'SFR6 ', 'LAK6 ', 'UZF6 ', 'API6 ', & ! 15
127+
&35*' '/ ! 50
128+
129+
! -- size of supported model package arrays
130+
integer(I4B), parameter :: NIUNIT_GWF = GWF_NBASEPKG + GWF_NMULTIPKG
131+
102132
contains
103133

104134
!> @brief Create a new groundwater flow model object
@@ -191,7 +221,6 @@ end subroutine gwf_cr
191221
!<
192222
subroutine gwf_df(this)
193223
! -- modules
194-
use ModelPackageInputsModule, only: NIUNIT_GWF
195224
! -- dummy
196225
class(GwfModelType) :: this
197226
! -- local

src/Model/GroundWaterFlow/gwf3npf8.f90

+1-1
Original file line numberDiff line numberDiff line change
@@ -1475,7 +1475,7 @@ subroutine source_options(this)
14751475
use MemoryManagerExtModule, only: mem_set_value
14761476
use CharacterStringModule, only: CharacterStringType
14771477
use GwfNpfInputModule, only: GwfNpfParamFoundType
1478-
use IdmLoadModule, only: filein_fname
1478+
use SourceCommonModule, only: filein_fname
14791479
! -- dummy
14801480
class(GwfNpftype) :: this
14811481
! -- locals

0 commit comments

Comments
 (0)