MODFLOW 6  version 6.7.0.dev0
USGS Modular Hydrologic Model
IdmGwfDfnSelector.f90
Go to the documentation of this file.
1 ! ** Do Not Modify! MODFLOW 6 system generated file. **
3 
4  use constantsmodule, only: lenvarname
5  use simmodule, only: store_error
24 
25  implicit none
26  private
27  public :: gwf_param_definitions
29  public :: gwf_block_definitions
30  public :: gwf_idm_multi_package
31  public :: gwf_idm_subpackages
32  public :: gwf_idm_integrated
33 
34 contains
35 
36  subroutine set_param_pointer(input_dfn, input_dfn_target)
37  type(inputparamdefinitiontype), dimension(:), pointer :: input_dfn
38  type(inputparamdefinitiontype), dimension(:), target :: input_dfn_target
39  input_dfn => input_dfn_target
40  end subroutine set_param_pointer
41 
42  subroutine set_block_pointer(input_dfn, input_dfn_target)
43  type(inputblockdefinitiontype), dimension(:), pointer :: input_dfn
44  type(inputblockdefinitiontype), dimension(:), target :: input_dfn_target
45  input_dfn => input_dfn_target
46  end subroutine set_block_pointer
47 
48  subroutine set_subpkg_pointer(subpkg_list, subpkg_list_target)
49  character(len=16), dimension(:), pointer :: subpkg_list
50  character(len=16), dimension(:), target :: subpkg_list_target
51  subpkg_list => subpkg_list_target
52  end subroutine set_subpkg_pointer
53 
54  function gwf_param_definitions(subcomponent) result(input_definition)
55  character(len=*), intent(in) :: subcomponent
56  type(inputparamdefinitiontype), dimension(:), pointer :: input_definition
57  nullify (input_definition)
58  select case (subcomponent)
59  case ('NAM')
60  call set_param_pointer(input_definition, gwf_nam_param_definitions)
61  case ('CHD')
62  call set_param_pointer(input_definition, gwf_chd_param_definitions)
63  case ('DIS')
64  call set_param_pointer(input_definition, gwf_dis_param_definitions)
65  case ('DISU')
66  call set_param_pointer(input_definition, gwf_disu_param_definitions)
67  case ('DISV')
68  call set_param_pointer(input_definition, gwf_disv_param_definitions)
69  case ('DRN')
70  call set_param_pointer(input_definition, gwf_drn_param_definitions)
71  case ('EVT')
72  call set_param_pointer(input_definition, gwf_evt_param_definitions)
73  case ('EVTA')
74  call set_param_pointer(input_definition, gwf_evta_param_definitions)
75  case ('GHB')
76  call set_param_pointer(input_definition, gwf_ghb_param_definitions)
77  case ('IC')
78  call set_param_pointer(input_definition, gwf_ic_param_definitions)
79  case ('NPF')
80  call set_param_pointer(input_definition, gwf_npf_param_definitions)
81  case ('RCH')
82  call set_param_pointer(input_definition, gwf_rch_param_definitions)
83  case ('RCHA')
84  call set_param_pointer(input_definition, gwf_rcha_param_definitions)
85  case ('RIV')
86  call set_param_pointer(input_definition, gwf_riv_param_definitions)
87  case ('STO')
88  call set_param_pointer(input_definition, gwf_sto_param_definitions)
89  case ('WEL')
90  call set_param_pointer(input_definition, gwf_wel_param_definitions)
91  case default
92  end select
93  return
94  end function gwf_param_definitions
95 
96  function gwf_aggregate_definitions(subcomponent) result(input_definition)
97  character(len=*), intent(in) :: subcomponent
98  type(inputparamdefinitiontype), dimension(:), pointer :: input_definition
99  nullify (input_definition)
100  select case (subcomponent)
101  case ('NAM')
102  call set_param_pointer(input_definition, gwf_nam_aggregate_definitions)
103  case ('CHD')
104  call set_param_pointer(input_definition, gwf_chd_aggregate_definitions)
105  case ('DIS')
106  call set_param_pointer(input_definition, gwf_dis_aggregate_definitions)
107  case ('DISU')
108  call set_param_pointer(input_definition, gwf_disu_aggregate_definitions)
109  case ('DISV')
110  call set_param_pointer(input_definition, gwf_disv_aggregate_definitions)
111  case ('DRN')
112  call set_param_pointer(input_definition, gwf_drn_aggregate_definitions)
113  case ('EVT')
114  call set_param_pointer(input_definition, gwf_evt_aggregate_definitions)
115  case ('EVTA')
116  call set_param_pointer(input_definition, gwf_evta_aggregate_definitions)
117  case ('GHB')
118  call set_param_pointer(input_definition, gwf_ghb_aggregate_definitions)
119  case ('IC')
120  call set_param_pointer(input_definition, gwf_ic_aggregate_definitions)
121  case ('NPF')
122  call set_param_pointer(input_definition, gwf_npf_aggregate_definitions)
123  case ('RCH')
124  call set_param_pointer(input_definition, gwf_rch_aggregate_definitions)
125  case ('RCHA')
126  call set_param_pointer(input_definition, gwf_rcha_aggregate_definitions)
127  case ('RIV')
128  call set_param_pointer(input_definition, gwf_riv_aggregate_definitions)
129  case ('STO')
130  call set_param_pointer(input_definition, gwf_sto_aggregate_definitions)
131  case ('WEL')
132  call set_param_pointer(input_definition, gwf_wel_aggregate_definitions)
133  case default
134  end select
135  return
136  end function gwf_aggregate_definitions
137 
138  function gwf_block_definitions(subcomponent) result(input_definition)
139  character(len=*), intent(in) :: subcomponent
140  type(inputblockdefinitiontype), dimension(:), pointer :: input_definition
141  nullify (input_definition)
142  select case (subcomponent)
143  case ('NAM')
144  call set_block_pointer(input_definition, gwf_nam_block_definitions)
145  case ('CHD')
146  call set_block_pointer(input_definition, gwf_chd_block_definitions)
147  case ('DIS')
148  call set_block_pointer(input_definition, gwf_dis_block_definitions)
149  case ('DISU')
150  call set_block_pointer(input_definition, gwf_disu_block_definitions)
151  case ('DISV')
152  call set_block_pointer(input_definition, gwf_disv_block_definitions)
153  case ('DRN')
154  call set_block_pointer(input_definition, gwf_drn_block_definitions)
155  case ('EVT')
156  call set_block_pointer(input_definition, gwf_evt_block_definitions)
157  case ('EVTA')
158  call set_block_pointer(input_definition, gwf_evta_block_definitions)
159  case ('GHB')
160  call set_block_pointer(input_definition, gwf_ghb_block_definitions)
161  case ('IC')
162  call set_block_pointer(input_definition, gwf_ic_block_definitions)
163  case ('NPF')
164  call set_block_pointer(input_definition, gwf_npf_block_definitions)
165  case ('RCH')
166  call set_block_pointer(input_definition, gwf_rch_block_definitions)
167  case ('RCHA')
168  call set_block_pointer(input_definition, gwf_rcha_block_definitions)
169  case ('RIV')
170  call set_block_pointer(input_definition, gwf_riv_block_definitions)
171  case ('STO')
172  call set_block_pointer(input_definition, gwf_sto_block_definitions)
173  case ('WEL')
174  call set_block_pointer(input_definition, gwf_wel_block_definitions)
175  case default
176  end select
177  return
178  end function gwf_block_definitions
179 
180  function gwf_idm_multi_package(subcomponent) result(multi_package)
181  character(len=*), intent(in) :: subcomponent
182  logical :: multi_package
183  select case (subcomponent)
184  case ('NAM')
185  multi_package = gwf_nam_multi_package
186  case ('CHD')
187  multi_package = gwf_chd_multi_package
188  case ('DIS')
189  multi_package = gwf_dis_multi_package
190  case ('DISU')
191  multi_package = gwf_disu_multi_package
192  case ('DISV')
193  multi_package = gwf_disv_multi_package
194  case ('DRN')
195  multi_package = gwf_drn_multi_package
196  case ('EVT')
197  multi_package = gwf_evt_multi_package
198  case ('EVTA')
199  multi_package = gwf_evta_multi_package
200  case ('GHB')
201  multi_package = gwf_ghb_multi_package
202  case ('IC')
203  multi_package = gwf_ic_multi_package
204  case ('NPF')
205  multi_package = gwf_npf_multi_package
206  case ('RCH')
207  multi_package = gwf_rch_multi_package
208  case ('RCHA')
209  multi_package = gwf_rcha_multi_package
210  case ('RIV')
211  multi_package = gwf_riv_multi_package
212  case ('STO')
213  multi_package = gwf_sto_multi_package
214  case ('WEL')
215  multi_package = gwf_wel_multi_package
216  case default
217  call store_error('Idm selector subcomponent not found; '//&
218  &'component="GWF"'//&
219  &', subcomponent="'//trim(subcomponent)//'".', .true.)
220  end select
221  return
222  end function gwf_idm_multi_package
223 
224  function gwf_idm_subpackages(subcomponent) result(subpackages)
225  character(len=*), intent(in) :: subcomponent
226  character(len=16), dimension(:), pointer :: subpackages
227  select case (subcomponent)
228  case ('NAM')
229  call set_subpkg_pointer(subpackages, gwf_nam_subpackages)
230  case ('CHD')
231  call set_subpkg_pointer(subpackages, gwf_chd_subpackages)
232  case ('DIS')
233  call set_subpkg_pointer(subpackages, gwf_dis_subpackages)
234  case ('DISU')
235  call set_subpkg_pointer(subpackages, gwf_disu_subpackages)
236  case ('DISV')
237  call set_subpkg_pointer(subpackages, gwf_disv_subpackages)
238  case ('DRN')
239  call set_subpkg_pointer(subpackages, gwf_drn_subpackages)
240  case ('EVT')
241  call set_subpkg_pointer(subpackages, gwf_evt_subpackages)
242  case ('EVTA')
243  call set_subpkg_pointer(subpackages, gwf_evta_subpackages)
244  case ('GHB')
245  call set_subpkg_pointer(subpackages, gwf_ghb_subpackages)
246  case ('IC')
247  call set_subpkg_pointer(subpackages, gwf_ic_subpackages)
248  case ('NPF')
249  call set_subpkg_pointer(subpackages, gwf_npf_subpackages)
250  case ('RCH')
251  call set_subpkg_pointer(subpackages, gwf_rch_subpackages)
252  case ('RCHA')
253  call set_subpkg_pointer(subpackages, gwf_rcha_subpackages)
254  case ('RIV')
255  call set_subpkg_pointer(subpackages, gwf_riv_subpackages)
256  case ('STO')
257  call set_subpkg_pointer(subpackages, gwf_sto_subpackages)
258  case ('WEL')
259  call set_subpkg_pointer(subpackages, gwf_wel_subpackages)
260  case default
261  end select
262  return
263  end function gwf_idm_subpackages
264 
265  function gwf_idm_integrated(subcomponent) result(integrated)
266  character(len=*), intent(in) :: subcomponent
267  logical :: integrated
268  integrated = .false.
269  select case (subcomponent)
270  case ('NAM')
271  integrated = .true.
272  case ('CHD')
273  integrated = .true.
274  case ('DIS')
275  integrated = .true.
276  case ('DISU')
277  integrated = .true.
278  case ('DISV')
279  integrated = .true.
280  case ('DRN')
281  integrated = .true.
282  case ('EVT')
283  integrated = .true.
284  case ('EVTA')
285  integrated = .true.
286  case ('GHB')
287  integrated = .true.
288  case ('IC')
289  integrated = .true.
290  case ('NPF')
291  integrated = .true.
292  case ('RCH')
293  integrated = .true.
294  case ('RCHA')
295  integrated = .true.
296  case ('RIV')
297  integrated = .true.
298  case ('STO')
299  integrated = .true.
300  case ('WEL')
301  integrated = .true.
302  case default
303  end select
304  return
305  end function gwf_idm_integrated
306 
307 end module idmgwfdfnselectormodule
This module contains simulation constants.
Definition: Constants.f90:9
integer(i4b), parameter lenvarname
maximum length of a variable name
Definition: Constants.f90:17
type(inputblockdefinitiontype), dimension(*), parameter, public gwf_chd_block_definitions
Definition: gwf-chdidm.f90:434
type(inputparamdefinitiontype), dimension(*), parameter, public gwf_chd_param_definitions
Definition: gwf-chdidm.f90:386
type(inputparamdefinitiontype), dimension(*), parameter, public gwf_chd_aggregate_definitions
Definition: gwf-chdidm.f90:428
character(len=16), dimension(*), parameter, public gwf_chd_subpackages
Definition: gwf-chdidm.f90:38
logical, public gwf_chd_multi_package
Definition: gwf-chdidm.f90:36
type(inputparamdefinitiontype), dimension(*), parameter, public gwf_dis_param_definitions
Definition: gwf-disidm.f90:386
logical, public gwf_dis_multi_package
Definition: gwf-disidm.f90:36
type(inputblockdefinitiontype), dimension(*), parameter, public gwf_dis_block_definitions
Definition: gwf-disidm.f90:431
character(len=16), dimension(*), parameter, public gwf_dis_subpackages
Definition: gwf-disidm.f90:38
type(inputparamdefinitiontype), dimension(*), parameter, public gwf_dis_aggregate_definitions
Definition: gwf-disidm.f90:410
type(inputparamdefinitiontype), dimension(*), parameter, public gwf_disu_aggregate_definitions
logical, public gwf_disu_multi_package
Definition: gwf-disuidm.f90:45
character(len=16), dimension(*), parameter, public gwf_disu_subpackages
Definition: gwf-disuidm.f90:47
type(inputparamdefinitiontype), dimension(*), parameter, public gwf_disu_param_definitions
type(inputblockdefinitiontype), dimension(*), parameter, public gwf_disu_block_definitions
logical, public gwf_disv_multi_package
Definition: gwf-disvidm.f90:42
type(inputparamdefinitiontype), dimension(*), parameter, public gwf_disv_aggregate_definitions
type(inputparamdefinitiontype), dimension(*), parameter, public gwf_disv_param_definitions
type(inputblockdefinitiontype), dimension(*), parameter, public gwf_disv_block_definitions
character(len=16), dimension(*), parameter, public gwf_disv_subpackages
Definition: gwf-disvidm.f90:44
logical, public gwf_drn_multi_package
Definition: gwf-drnidm.f90:39
type(inputblockdefinitiontype), dimension(*), parameter, public gwf_drn_block_definitions
Definition: gwf-drnidm.f90:494
type(inputparamdefinitiontype), dimension(*), parameter, public gwf_drn_aggregate_definitions
Definition: gwf-drnidm.f90:488
type(inputparamdefinitiontype), dimension(*), parameter, public gwf_drn_param_definitions
Definition: gwf-drnidm.f90:443
character(len=16), dimension(*), parameter, public gwf_drn_subpackages
Definition: gwf-drnidm.f90:41
character(len=16), dimension(*), parameter, public gwf_evta_subpackages
Definition: gwf-evtaidm.f90:39
type(inputparamdefinitiontype), dimension(*), parameter, public gwf_evta_param_definitions
type(inputparamdefinitiontype), dimension(*), parameter, public gwf_evta_aggregate_definitions
type(inputblockdefinitiontype), dimension(*), parameter, public gwf_evta_block_definitions
logical, public gwf_evta_multi_package
Definition: gwf-evtaidm.f90:37
character(len=16), dimension(*), parameter, public gwf_evt_subpackages
Definition: gwf-evtidm.f90:45
type(inputparamdefinitiontype), dimension(*), parameter, public gwf_evt_param_definitions
Definition: gwf-evtidm.f90:519
type(inputblockdefinitiontype), dimension(*), parameter, public gwf_evt_block_definitions
Definition: gwf-evtidm.f90:574
type(inputparamdefinitiontype), dimension(*), parameter, public gwf_evt_aggregate_definitions
Definition: gwf-evtidm.f90:568
logical, public gwf_evt_multi_package
Definition: gwf-evtidm.f90:43
type(inputparamdefinitiontype), dimension(*), parameter, public gwf_ghb_aggregate_definitions
Definition: gwf-ghbidm.f90:448
type(inputblockdefinitiontype), dimension(*), parameter, public gwf_ghb_block_definitions
Definition: gwf-ghbidm.f90:454
logical, public gwf_ghb_multi_package
Definition: gwf-ghbidm.f90:37
character(len=16), dimension(*), parameter, public gwf_ghb_subpackages
Definition: gwf-ghbidm.f90:39
type(inputparamdefinitiontype), dimension(*), parameter, public gwf_ghb_param_definitions
Definition: gwf-ghbidm.f90:405
type(inputparamdefinitiontype), dimension(*), parameter, public gwf_ic_aggregate_definitions
Definition: gwf-icidm.f90:90
character(len=16), dimension(*), parameter, public gwf_ic_subpackages
Definition: gwf-icidm.f90:22
logical, public gwf_ic_multi_package
Definition: gwf-icidm.f90:20
type(inputblockdefinitiontype), dimension(*), parameter, public gwf_ic_block_definitions
Definition: gwf-icidm.f90:111
type(inputparamdefinitiontype), dimension(*), parameter, public gwf_ic_param_definitions
Definition: gwf-icidm.f90:82
type(inputparamdefinitiontype), dimension(*), parameter, public gwf_nam_param_definitions
Definition: gwf-namidm.f90:424
character(len=16), dimension(*), parameter, public gwf_nam_subpackages
Definition: gwf-namidm.f90:40
type(inputparamdefinitiontype), dimension(*), parameter, public gwf_nam_aggregate_definitions
Definition: gwf-namidm.f90:468
logical, public gwf_nam_multi_package
Definition: gwf-namidm.f90:38
type(inputblockdefinitiontype), dimension(*), parameter, public gwf_nam_block_definitions
Definition: gwf-namidm.f90:474
logical, public gwf_npf_multi_package
Definition: gwf-npfidm.f90:53
type(inputparamdefinitiontype), dimension(*), parameter, public gwf_npf_param_definitions
Definition: gwf-npfidm.f90:709
type(inputblockdefinitiontype), dimension(*), parameter, public gwf_npf_block_definitions
Definition: gwf-npfidm.f90:771
type(inputparamdefinitiontype), dimension(*), parameter, public gwf_npf_aggregate_definitions
Definition: gwf-npfidm.f90:750
character(len=16), dimension(*), parameter, public gwf_npf_subpackages
Definition: gwf-npfidm.f90:55
character(len=16), dimension(*), parameter, public gwf_rcha_subpackages
Definition: gwf-rchaidm.f90:37
type(inputparamdefinitiontype), dimension(*), parameter, public gwf_rcha_aggregate_definitions
logical, public gwf_rcha_multi_package
Definition: gwf-rchaidm.f90:35
type(inputparamdefinitiontype), dimension(*), parameter, public gwf_rcha_param_definitions
type(inputblockdefinitiontype), dimension(*), parameter, public gwf_rcha_block_definitions
character(len=16), dimension(*), parameter, public gwf_rch_subpackages
Definition: gwf-rchidm.f90:38
type(inputblockdefinitiontype), dimension(*), parameter, public gwf_rch_block_definitions
Definition: gwf-rchidm.f90:434
type(inputparamdefinitiontype), dimension(*), parameter, public gwf_rch_aggregate_definitions
Definition: gwf-rchidm.f90:428
type(inputparamdefinitiontype), dimension(*), parameter, public gwf_rch_param_definitions
Definition: gwf-rchidm.f90:386
logical, public gwf_rch_multi_package
Definition: gwf-rchidm.f90:36
logical, public gwf_riv_multi_package
Definition: gwf-rividm.f90:38
character(len=16), dimension(*), parameter, public gwf_riv_subpackages
Definition: gwf-rividm.f90:40
type(inputparamdefinitiontype), dimension(*), parameter, public gwf_riv_param_definitions
Definition: gwf-rividm.f90:424
type(inputparamdefinitiontype), dimension(*), parameter, public gwf_riv_aggregate_definitions
Definition: gwf-rividm.f90:468
type(inputblockdefinitiontype), dimension(*), parameter, public gwf_riv_block_definitions
Definition: gwf-rividm.f90:474
type(inputblockdefinitiontype), dimension(*), parameter, public gwf_sto_block_definitions
Definition: gwf-stoidm.f90:371
type(inputparamdefinitiontype), dimension(*), parameter, public gwf_sto_param_definitions
Definition: gwf-stoidm.f90:329
logical, public gwf_sto_multi_package
Definition: gwf-stoidm.f90:33
character(len=16), dimension(*), parameter, public gwf_sto_subpackages
Definition: gwf-stoidm.f90:35
type(inputparamdefinitiontype), dimension(*), parameter, public gwf_sto_aggregate_definitions
Definition: gwf-stoidm.f90:350
type(inputparamdefinitiontype), dimension(*), parameter, public gwf_wel_aggregate_definitions
Definition: gwf-welidm.f90:528
type(inputblockdefinitiontype), dimension(*), parameter, public gwf_wel_block_definitions
Definition: gwf-welidm.f90:534
logical, public gwf_wel_multi_package
Definition: gwf-welidm.f90:41
type(inputparamdefinitiontype), dimension(*), parameter, public gwf_wel_param_definitions
Definition: gwf-welidm.f90:481
character(len=16), dimension(*), parameter, public gwf_wel_subpackages
Definition: gwf-welidm.f90:43
logical function, public gwf_idm_integrated(subcomponent)
subroutine set_subpkg_pointer(subpkg_list, subpkg_list_target)
subroutine set_param_pointer(input_dfn, input_dfn_target)
type(inputblockdefinitiontype) function, dimension(:), pointer, public gwf_block_definitions(subcomponent)
type(inputparamdefinitiontype) function, dimension(:), pointer, public gwf_aggregate_definitions(subcomponent)
type(inputparamdefinitiontype) function, dimension(:), pointer, public gwf_param_definitions(subcomponent)
character(len=16) function, dimension(:), pointer, public gwf_idm_subpackages(subcomponent)
logical function, public gwf_idm_multi_package(subcomponent)
subroutine set_block_pointer(input_dfn, input_dfn_target)
This module contains the InputDefinitionModule.
This module contains simulation methods.
Definition: Sim.f90:10
subroutine, public store_error(msg, terminate)
Store an error message.
Definition: Sim.f90:92