Skip to content

Commit 7849bfd

Browse files
authored
feat(idm): integrate API packages (#2390)
1 parent 6d7c61a commit 7849bfd

File tree

14 files changed

+670
-26
lines changed

14 files changed

+670
-26
lines changed

doc/mf6io/mf6ivar/dfn/gwf-api.dfn

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
# --------------------- gwf api options ---------------------
2+
# flopy multi-package
23

34
block options
45
name boundnames
@@ -16,6 +17,7 @@ reader urword
1617
optional true
1718
longname print input to listing file
1819
description REPLACE print_input {'{#1}': 'api boundary'}
20+
mf6internal iprpak
1921

2022
block options
2123
name print_flows
@@ -24,6 +26,7 @@ reader urword
2426
optional true
2527
longname print calculated flows to listing file
2628
description REPLACE print_flows {'{#1}': 'api boundary'}
29+
mf6internal iprflow
2730

2831
block options
2932
name save_flows
@@ -32,6 +35,7 @@ reader urword
3235
optional true
3336
longname save api flows to budget file
3437
description REPLACE save_flows {'{#1}': 'api boundary'}
38+
mf6internal ipakcb
3539

3640
block options
3741
name obs_filerecord

doc/mf6io/mf6ivar/dfn/gwt-api.dfn

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
# --------------------- gwt api options ---------------------
2+
# flopy multi-package
23

34
block options
45
name boundnames
@@ -16,6 +17,7 @@ reader urword
1617
optional true
1718
longname print input to listing file
1819
description REPLACE print_input {'{#1}': 'api boundary'}
20+
mf6internal iprpak
1921

2022
block options
2123
name print_flows
@@ -24,6 +26,7 @@ reader urword
2426
optional true
2527
longname print calculated flows to listing file
2628
description REPLACE print_flows {'{#1}': 'api boundary'}
29+
mf6internal iprflow
2730

2831
block options
2932
name save_flows
@@ -32,6 +35,7 @@ reader urword
3235
optional true
3336
longname save api flows to budget file
3437
description REPLACE save_flows {'{#1}': 'api boundary'}
38+
mf6internal ipakcb
3539

3640
block options
3741
name obs_filerecord

make/makefile

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -179,6 +179,7 @@ $(OBJDIR)/gwt-disvidm.o \
179179
$(OBJDIR)/gwt-disuidm.o \
180180
$(OBJDIR)/gwt-disidm.o \
181181
$(OBJDIR)/gwt-cncidm.o \
182+
$(OBJDIR)/gwt-apiidm.o \
182183
$(OBJDIR)/gwt-advidm.o \
183184
$(OBJDIR)/gwf-welidm.o \
184185
$(OBJDIR)/gwf-welgidm.o \
@@ -205,6 +206,7 @@ $(OBJDIR)/gwf-csubidm.o \
205206
$(OBJDIR)/gwf-chdidm.o \
206207
$(OBJDIR)/gwf-chdgidm.o \
207208
$(OBJDIR)/gwf-buyidm.o \
209+
$(OBJDIR)/gwf-apiidm.o \
208210
$(OBJDIR)/gwe-ssmidm.o \
209211
$(OBJDIR)/gwe-namidm.o \
210212
$(OBJDIR)/gwe-icidm.o \

msvs/mf6core.vfproj

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -173,6 +173,7 @@
173173
<File RelativePath="..\src\Idm\gwe-icidm.f90"/>
174174
<File RelativePath="..\src\Idm\gwe-namidm.f90"/>
175175
<File RelativePath="..\src\Idm\gwe-ssmidm.f90"/>
176+
<File RelativePath="..\src\Idm\gwf-apiidm.f90"/>
176177
<File RelativePath="..\src\Idm\gwf-buyidm.f90"/>
177178
<File RelativePath="..\src\Idm\gwf-chdidm.f90"/>
178179
<File RelativePath="..\src\Idm\gwf-csubidm.f90"/>
@@ -198,6 +199,7 @@
198199
<File RelativePath="..\src\Idm\gwf-welidm.f90"/>
199200
<File RelativePath="..\src\Idm\gwf-welgidm.f90"/>
200201
<File RelativePath="..\src\Idm\gwt-advidm.f90"/>
202+
<File RelativePath="..\src\Idm\gwt-apiidm.f90"/>
201203
<File RelativePath="..\src\Idm\gwt-cncidm.f90"/>
202204
<File RelativePath="..\src\Idm\gwt-disidm.f90"/>
203205
<File RelativePath="..\src\Idm\gwt-disuidm.f90"/>

src/Idm/gwf-apiidm.f90

Lines changed: 268 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,268 @@
1+
! ** Do Not Modify! MODFLOW 6 system generated file. **
2+
module GwfApiInputModule
3+
use ConstantsModule, only: LENVARNAME
4+
use InputDefinitionModule, only: InputParamDefinitionType, &
5+
InputBlockDefinitionType
6+
private
7+
public gwf_api_param_definitions
8+
public gwf_api_aggregate_definitions
9+
public gwf_api_block_definitions
10+
public GwfApiParamFoundType
11+
public gwf_api_multi_package
12+
public gwf_api_subpackages
13+
14+
type GwfApiParamFoundType
15+
logical :: boundnames = .false.
16+
logical :: iprpak = .false.
17+
logical :: iprflow = .false.
18+
logical :: ipakcb = .false.
19+
logical :: obs_filerecord = .false.
20+
logical :: obs6 = .false.
21+
logical :: filein = .false.
22+
logical :: obs6_filename = .false.
23+
logical :: mover = .false.
24+
logical :: maxbound = .false.
25+
end type GwfApiParamFoundType
26+
27+
logical :: gwf_api_multi_package = .true.
28+
29+
character(len=16), parameter :: &
30+
gwf_api_subpackages(*) = &
31+
[ &
32+
' ' &
33+
]
34+
35+
type(InputParamDefinitionType), parameter :: &
36+
gwfapi_boundnames = InputParamDefinitionType &
37+
( &
38+
'GWF', & ! component
39+
'API', & ! subcomponent
40+
'OPTIONS', & ! block
41+
'BOUNDNAMES', & ! tag name
42+
'BOUNDNAMES', & ! fortran variable
43+
'KEYWORD', & ! type
44+
'', & ! shape
45+
'', & ! longname
46+
.false., & ! required
47+
.false., & ! multi-record
48+
.false., & ! preserve case
49+
.false., & ! layered
50+
.false. & ! timeseries
51+
)
52+
53+
type(InputParamDefinitionType), parameter :: &
54+
gwfapi_iprpak = InputParamDefinitionType &
55+
( &
56+
'GWF', & ! component
57+
'API', & ! subcomponent
58+
'OPTIONS', & ! block
59+
'PRINT_INPUT', & ! tag name
60+
'IPRPAK', & ! fortran variable
61+
'KEYWORD', & ! type
62+
'', & ! shape
63+
'print input to listing file', & ! longname
64+
.false., & ! required
65+
.false., & ! multi-record
66+
.false., & ! preserve case
67+
.false., & ! layered
68+
.false. & ! timeseries
69+
)
70+
71+
type(InputParamDefinitionType), parameter :: &
72+
gwfapi_iprflow = InputParamDefinitionType &
73+
( &
74+
'GWF', & ! component
75+
'API', & ! subcomponent
76+
'OPTIONS', & ! block
77+
'PRINT_FLOWS', & ! tag name
78+
'IPRFLOW', & ! fortran variable
79+
'KEYWORD', & ! type
80+
'', & ! shape
81+
'print calculated flows to listing file', & ! longname
82+
.false., & ! required
83+
.false., & ! multi-record
84+
.false., & ! preserve case
85+
.false., & ! layered
86+
.false. & ! timeseries
87+
)
88+
89+
type(InputParamDefinitionType), parameter :: &
90+
gwfapi_ipakcb = InputParamDefinitionType &
91+
( &
92+
'GWF', & ! component
93+
'API', & ! subcomponent
94+
'OPTIONS', & ! block
95+
'SAVE_FLOWS', & ! tag name
96+
'IPAKCB', & ! fortran variable
97+
'KEYWORD', & ! type
98+
'', & ! shape
99+
'save api flows to budget file', & ! longname
100+
.false., & ! required
101+
.false., & ! multi-record
102+
.false., & ! preserve case
103+
.false., & ! layered
104+
.false. & ! timeseries
105+
)
106+
107+
type(InputParamDefinitionType), parameter :: &
108+
gwfapi_obs_filerecord = InputParamDefinitionType &
109+
( &
110+
'GWF', & ! component
111+
'API', & ! subcomponent
112+
'OPTIONS', & ! block
113+
'OBS_FILERECORD', & ! tag name
114+
'OBS_FILERECORD', & ! fortran variable
115+
'RECORD OBS6 FILEIN OBS6_FILENAME', & ! type
116+
'', & ! shape
117+
'', & ! longname
118+
.false., & ! required
119+
.false., & ! multi-record
120+
.false., & ! preserve case
121+
.false., & ! layered
122+
.false. & ! timeseries
123+
)
124+
125+
type(InputParamDefinitionType), parameter :: &
126+
gwfapi_obs6 = InputParamDefinitionType &
127+
( &
128+
'GWF', & ! component
129+
'API', & ! subcomponent
130+
'OPTIONS', & ! block
131+
'OBS6', & ! tag name
132+
'OBS6', & ! fortran variable
133+
'KEYWORD', & ! type
134+
'', & ! shape
135+
'obs keyword', & ! longname
136+
.true., & ! required
137+
.true., & ! multi-record
138+
.false., & ! preserve case
139+
.false., & ! layered
140+
.false. & ! timeseries
141+
)
142+
143+
type(InputParamDefinitionType), parameter :: &
144+
gwfapi_filein = InputParamDefinitionType &
145+
( &
146+
'GWF', & ! component
147+
'API', & ! subcomponent
148+
'OPTIONS', & ! block
149+
'FILEIN', & ! tag name
150+
'FILEIN', & ! fortran variable
151+
'KEYWORD', & ! type
152+
'', & ! shape
153+
'file keyword', & ! longname
154+
.true., & ! required
155+
.true., & ! multi-record
156+
.false., & ! preserve case
157+
.false., & ! layered
158+
.false. & ! timeseries
159+
)
160+
161+
type(InputParamDefinitionType), parameter :: &
162+
gwfapi_obs6_filename = InputParamDefinitionType &
163+
( &
164+
'GWF', & ! component
165+
'API', & ! subcomponent
166+
'OPTIONS', & ! block
167+
'OBS6_FILENAME', & ! tag name
168+
'OBS6_FILENAME', & ! fortran variable
169+
'STRING', & ! type
170+
'', & ! shape
171+
'obs6 input filename', & ! longname
172+
.true., & ! required
173+
.true., & ! multi-record
174+
.true., & ! preserve case
175+
.false., & ! layered
176+
.false. & ! timeseries
177+
)
178+
179+
type(InputParamDefinitionType), parameter :: &
180+
gwfapi_mover = InputParamDefinitionType &
181+
( &
182+
'GWF', & ! component
183+
'API', & ! subcomponent
184+
'OPTIONS', & ! block
185+
'MOVER', & ! tag name
186+
'MOVER', & ! fortran variable
187+
'KEYWORD', & ! type
188+
'', & ! shape
189+
'', & ! longname
190+
.false., & ! required
191+
.false., & ! multi-record
192+
.false., & ! preserve case
193+
.false., & ! layered
194+
.false. & ! timeseries
195+
)
196+
197+
type(InputParamDefinitionType), parameter :: &
198+
gwfapi_maxbound = InputParamDefinitionType &
199+
( &
200+
'GWF', & ! component
201+
'API', & ! subcomponent
202+
'DIMENSIONS', & ! block
203+
'MAXBOUND', & ! tag name
204+
'MAXBOUND', & ! fortran variable
205+
'INTEGER', & ! type
206+
'', & ! shape
207+
'maximum number of user-defined api boundaries', & ! longname
208+
.true., & ! required
209+
.false., & ! multi-record
210+
.false., & ! preserve case
211+
.false., & ! layered
212+
.false. & ! timeseries
213+
)
214+
215+
type(InputParamDefinitionType), parameter :: &
216+
gwf_api_param_definitions(*) = &
217+
[ &
218+
gwfapi_boundnames, &
219+
gwfapi_iprpak, &
220+
gwfapi_iprflow, &
221+
gwfapi_ipakcb, &
222+
gwfapi_obs_filerecord, &
223+
gwfapi_obs6, &
224+
gwfapi_filein, &
225+
gwfapi_obs6_filename, &
226+
gwfapi_mover, &
227+
gwfapi_maxbound &
228+
]
229+
230+
type(InputParamDefinitionType), parameter :: &
231+
gwf_api_aggregate_definitions(*) = &
232+
[ &
233+
InputParamDefinitionType &
234+
( &
235+
'', & ! component
236+
'', & ! subcomponent
237+
'', & ! block
238+
'', & ! tag name
239+
'', & ! fortran variable
240+
'', & ! type
241+
'', & ! shape
242+
'', & ! longname
243+
.false., & ! required
244+
.false., & ! multi-record
245+
.false., & ! preserve case
246+
.false., & ! layered
247+
.false. & ! timeseries
248+
) &
249+
]
250+
251+
type(InputBlockDefinitionType), parameter :: &
252+
gwf_api_block_definitions(*) = &
253+
[ &
254+
InputBlockDefinitionType( &
255+
'OPTIONS', & ! blockname
256+
.false., & ! required
257+
.false., & ! aggregate
258+
.false. & ! block_variable
259+
), &
260+
InputBlockDefinitionType( &
261+
'DIMENSIONS', & ! blockname
262+
.true., & ! required
263+
.false., & ! aggregate
264+
.false. & ! block_variable
265+
) &
266+
]
267+
268+
end module GwfApiInputModule

0 commit comments

Comments
 (0)