MODFLOW 6  version 6.7.0.dev3
USGS Modular Hydrologic Model
IdmGwtDfnSelector.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
23 
24  implicit none
25  private
26  public :: gwt_param_definitions
28  public :: gwt_block_definitions
29  public :: gwt_idm_multi_package
30  public :: gwt_idm_subpackages
31  public :: gwt_idm_integrated
32 
33 contains
34 
35  subroutine set_param_pointer(input_dfn, input_dfn_target)
36  type(inputparamdefinitiontype), dimension(:), pointer :: input_dfn
37  type(inputparamdefinitiontype), dimension(:), target :: input_dfn_target
38  input_dfn => input_dfn_target
39  end subroutine set_param_pointer
40 
41  subroutine set_block_pointer(input_dfn, input_dfn_target)
42  type(inputblockdefinitiontype), dimension(:), pointer :: input_dfn
43  type(inputblockdefinitiontype), dimension(:), target :: input_dfn_target
44  input_dfn => input_dfn_target
45  end subroutine set_block_pointer
46 
47  subroutine set_subpkg_pointer(subpkg_list, subpkg_list_target)
48  character(len=16), dimension(:), pointer :: subpkg_list
49  character(len=16), dimension(:), target :: subpkg_list_target
50  subpkg_list => subpkg_list_target
51  end subroutine set_subpkg_pointer
52 
53  function gwt_param_definitions(subcomponent) result(input_definition)
54  character(len=*), intent(in) :: subcomponent
55  type(inputparamdefinitiontype), dimension(:), pointer :: input_definition
56  nullify (input_definition)
57  select case (subcomponent)
58  case ('NAM')
59  call set_param_pointer(input_definition, gwt_nam_param_definitions)
60  case ('ADV')
61  call set_param_pointer(input_definition, gwt_adv_param_definitions)
62  case ('API')
63  call set_param_pointer(input_definition, gwt_api_param_definitions)
64  case ('DIS')
65  call set_param_pointer(input_definition, gwt_dis_param_definitions)
66  case ('DISU')
67  call set_param_pointer(input_definition, gwt_disu_param_definitions)
68  case ('DISV')
69  call set_param_pointer(input_definition, gwt_disv_param_definitions)
70  case ('DSP')
71  call set_param_pointer(input_definition, gwt_dsp_param_definitions)
72  case ('CNC')
73  call set_param_pointer(input_definition, gwt_cnc_param_definitions)
74  case ('FMI')
75  call set_param_pointer(input_definition, gwt_fmi_param_definitions)
76  case ('IC')
77  call set_param_pointer(input_definition, gwt_ic_param_definitions)
78  case ('IST')
79  call set_param_pointer(input_definition, gwt_ist_param_definitions)
80  case ('MST')
81  call set_param_pointer(input_definition, gwt_mst_param_definitions)
82  case ('OC')
83  call set_param_pointer(input_definition, gwt_oc_param_definitions)
84  case ('SRC')
85  call set_param_pointer(input_definition, gwt_src_param_definitions)
86  case ('SSM')
87  call set_param_pointer(input_definition, gwt_ssm_param_definitions)
88  case default
89  end select
90  return
91  end function gwt_param_definitions
92 
93  function gwt_aggregate_definitions(subcomponent) result(input_definition)
94  character(len=*), intent(in) :: subcomponent
95  type(inputparamdefinitiontype), dimension(:), pointer :: input_definition
96  nullify (input_definition)
97  select case (subcomponent)
98  case ('NAM')
99  call set_param_pointer(input_definition, gwt_nam_aggregate_definitions)
100  case ('ADV')
101  call set_param_pointer(input_definition, gwt_adv_aggregate_definitions)
102  case ('API')
103  call set_param_pointer(input_definition, gwt_api_aggregate_definitions)
104  case ('DIS')
105  call set_param_pointer(input_definition, gwt_dis_aggregate_definitions)
106  case ('DISU')
107  call set_param_pointer(input_definition, gwt_disu_aggregate_definitions)
108  case ('DISV')
109  call set_param_pointer(input_definition, gwt_disv_aggregate_definitions)
110  case ('DSP')
111  call set_param_pointer(input_definition, gwt_dsp_aggregate_definitions)
112  case ('CNC')
113  call set_param_pointer(input_definition, gwt_cnc_aggregate_definitions)
114  case ('FMI')
115  call set_param_pointer(input_definition, gwt_fmi_aggregate_definitions)
116  case ('IC')
117  call set_param_pointer(input_definition, gwt_ic_aggregate_definitions)
118  case ('IST')
119  call set_param_pointer(input_definition, gwt_ist_aggregate_definitions)
120  case ('MST')
121  call set_param_pointer(input_definition, gwt_mst_aggregate_definitions)
122  case ('OC')
123  call set_param_pointer(input_definition, gwt_oc_aggregate_definitions)
124  case ('SRC')
125  call set_param_pointer(input_definition, gwt_src_aggregate_definitions)
126  case ('SSM')
127  call set_param_pointer(input_definition, gwt_ssm_aggregate_definitions)
128  case default
129  end select
130  return
131  end function gwt_aggregate_definitions
132 
133  function gwt_block_definitions(subcomponent) result(input_definition)
134  character(len=*), intent(in) :: subcomponent
135  type(inputblockdefinitiontype), dimension(:), pointer :: input_definition
136  nullify (input_definition)
137  select case (subcomponent)
138  case ('NAM')
139  call set_block_pointer(input_definition, gwt_nam_block_definitions)
140  case ('ADV')
141  call set_block_pointer(input_definition, gwt_adv_block_definitions)
142  case ('API')
143  call set_block_pointer(input_definition, gwt_api_block_definitions)
144  case ('DIS')
145  call set_block_pointer(input_definition, gwt_dis_block_definitions)
146  case ('DISU')
147  call set_block_pointer(input_definition, gwt_disu_block_definitions)
148  case ('DISV')
149  call set_block_pointer(input_definition, gwt_disv_block_definitions)
150  case ('DSP')
151  call set_block_pointer(input_definition, gwt_dsp_block_definitions)
152  case ('CNC')
153  call set_block_pointer(input_definition, gwt_cnc_block_definitions)
154  case ('FMI')
155  call set_block_pointer(input_definition, gwt_fmi_block_definitions)
156  case ('IC')
157  call set_block_pointer(input_definition, gwt_ic_block_definitions)
158  case ('IST')
159  call set_block_pointer(input_definition, gwt_ist_block_definitions)
160  case ('MST')
161  call set_block_pointer(input_definition, gwt_mst_block_definitions)
162  case ('OC')
163  call set_block_pointer(input_definition, gwt_oc_block_definitions)
164  case ('SRC')
165  call set_block_pointer(input_definition, gwt_src_block_definitions)
166  case ('SSM')
167  call set_block_pointer(input_definition, gwt_ssm_block_definitions)
168  case default
169  end select
170  return
171  end function gwt_block_definitions
172 
173  function gwt_idm_multi_package(subcomponent) result(multi_package)
174  character(len=*), intent(in) :: subcomponent
175  logical :: multi_package
176  select case (subcomponent)
177  case ('NAM')
178  multi_package = gwt_nam_multi_package
179  case ('ADV')
180  multi_package = gwt_adv_multi_package
181  case ('API')
182  multi_package = gwt_api_multi_package
183  case ('DIS')
184  multi_package = gwt_dis_multi_package
185  case ('DISU')
186  multi_package = gwt_disu_multi_package
187  case ('DISV')
188  multi_package = gwt_disv_multi_package
189  case ('DSP')
190  multi_package = gwt_dsp_multi_package
191  case ('CNC')
192  multi_package = gwt_cnc_multi_package
193  case ('FMI')
194  multi_package = gwt_fmi_multi_package
195  case ('IC')
196  multi_package = gwt_ic_multi_package
197  case ('IST')
198  multi_package = gwt_ist_multi_package
199  case ('MST')
200  multi_package = gwt_mst_multi_package
201  case ('OC')
202  multi_package = gwt_oc_multi_package
203  case ('SRC')
204  multi_package = gwt_src_multi_package
205  case ('SSM')
206  multi_package = gwt_ssm_multi_package
207  case default
208  call store_error('Idm selector subcomponent not found; '//&
209  &'component="GWT"'//&
210  &', subcomponent="'//trim(subcomponent)//'".', .true.)
211  end select
212  return
213  end function gwt_idm_multi_package
214 
215  function gwt_idm_subpackages(subcomponent) result(subpackages)
216  character(len=*), intent(in) :: subcomponent
217  character(len=16), dimension(:), pointer :: subpackages
218  select case (subcomponent)
219  case ('NAM')
220  call set_subpkg_pointer(subpackages, gwt_nam_subpackages)
221  case ('ADV')
222  call set_subpkg_pointer(subpackages, gwt_adv_subpackages)
223  case ('API')
224  call set_subpkg_pointer(subpackages, gwt_api_subpackages)
225  case ('DIS')
226  call set_subpkg_pointer(subpackages, gwt_dis_subpackages)
227  case ('DISU')
228  call set_subpkg_pointer(subpackages, gwt_disu_subpackages)
229  case ('DISV')
230  call set_subpkg_pointer(subpackages, gwt_disv_subpackages)
231  case ('DSP')
232  call set_subpkg_pointer(subpackages, gwt_dsp_subpackages)
233  case ('CNC')
234  call set_subpkg_pointer(subpackages, gwt_cnc_subpackages)
235  case ('FMI')
236  call set_subpkg_pointer(subpackages, gwt_fmi_subpackages)
237  case ('IC')
238  call set_subpkg_pointer(subpackages, gwt_ic_subpackages)
239  case ('IST')
240  call set_subpkg_pointer(subpackages, gwt_ist_subpackages)
241  case ('MST')
242  call set_subpkg_pointer(subpackages, gwt_mst_subpackages)
243  case ('OC')
244  call set_subpkg_pointer(subpackages, gwt_oc_subpackages)
245  case ('SRC')
246  call set_subpkg_pointer(subpackages, gwt_src_subpackages)
247  case ('SSM')
248  call set_subpkg_pointer(subpackages, gwt_ssm_subpackages)
249  case default
250  end select
251  return
252  end function gwt_idm_subpackages
253 
254  function gwt_idm_integrated(subcomponent) result(integrated)
255  character(len=*), intent(in) :: subcomponent
256  logical :: integrated
257  integrated = .false.
258  select case (subcomponent)
259  case ('NAM')
260  integrated = .true.
261  case ('ADV')
262  integrated = .true.
263  case ('API')
264  integrated = .true.
265  case ('DIS')
266  integrated = .true.
267  case ('DISU')
268  integrated = .true.
269  case ('DISV')
270  integrated = .true.
271  case ('DSP')
272  integrated = .true.
273  case ('CNC')
274  integrated = .true.
275  case ('FMI')
276  integrated = .true.
277  case ('IC')
278  integrated = .true.
279  case ('IST')
280  integrated = .true.
281  case ('MST')
282  integrated = .true.
283  case ('OC')
284  integrated = .true.
285  case ('SRC')
286  integrated = .true.
287  case ('SSM')
288  integrated = .true.
289  case default
290  end select
291  return
292  end function gwt_idm_integrated
293 
294 end module idmgwtdfnselectormodule
This module contains simulation constants.
Definition: Constants.f90:9
integer(i4b), parameter lenvarname
maximum length of a variable name
Definition: Constants.f90:17
logical, public gwt_adv_multi_package
Definition: gwt-advidm.f90:19
type(inputblockdefinitiontype), dimension(*), parameter, public gwt_adv_block_definitions
Definition: gwt-advidm.f90:94
type(inputparamdefinitiontype), dimension(*), parameter, public gwt_adv_aggregate_definitions
Definition: gwt-advidm.f90:72
type(inputparamdefinitiontype), dimension(*), parameter, public gwt_adv_param_definitions
Definition: gwt-advidm.f90:65
character(len=16), dimension(*), parameter, public gwt_adv_subpackages
Definition: gwt-advidm.f90:21
type(inputblockdefinitiontype), dimension(*), parameter, public gwt_api_block_definitions
Definition: gwt-apiidm.f90:262
type(inputparamdefinitiontype), dimension(*), parameter, public gwt_api_aggregate_definitions
Definition: gwt-apiidm.f90:240
character(len=16), dimension(*), parameter, public gwt_api_subpackages
Definition: gwt-apiidm.f90:29
type(inputparamdefinitiontype), dimension(*), parameter, public gwt_api_param_definitions
Definition: gwt-apiidm.f90:225
logical, public gwt_api_multi_package
Definition: gwt-apiidm.f90:27
type(inputparamdefinitiontype), dimension(*), parameter, public gwt_cnc_param_definitions
Definition: gwt-cncidm.f90:385
type(inputparamdefinitiontype), dimension(*), parameter, public gwt_cnc_aggregate_definitions
Definition: gwt-cncidm.f90:427
logical, public gwt_cnc_multi_package
Definition: gwt-cncidm.f90:35
type(inputblockdefinitiontype), dimension(*), parameter, public gwt_cnc_block_definitions
Definition: gwt-cncidm.f90:433
character(len=16), dimension(*), parameter, public gwt_cnc_subpackages
Definition: gwt-cncidm.f90:37
type(inputparamdefinitiontype), dimension(*), parameter, public gwt_dis_param_definitions
Definition: gwt-disidm.f90:505
logical, public gwt_dis_multi_package
Definition: gwt-disidm.f90:41
type(inputparamdefinitiontype), dimension(*), parameter, public gwt_dis_aggregate_definitions
Definition: gwt-disidm.f90:534
type(inputblockdefinitiontype), dimension(*), parameter, public gwt_dis_block_definitions
Definition: gwt-disidm.f90:556
character(len=16), dimension(*), parameter, public gwt_dis_subpackages
Definition: gwt-disidm.f90:43
type(inputparamdefinitiontype), dimension(*), parameter, public gwt_disu_aggregate_definitions
logical, public gwt_disu_multi_package
Definition: gwt-disuidm.f90:50
character(len=16), dimension(*), parameter, public gwt_disu_subpackages
Definition: gwt-disuidm.f90:52
type(inputparamdefinitiontype), dimension(*), parameter, public gwt_disu_param_definitions
type(inputblockdefinitiontype), dimension(*), parameter, public gwt_disu_block_definitions
type(inputparamdefinitiontype), dimension(*), parameter, public gwt_disv_aggregate_definitions
character(len=16), dimension(*), parameter, public gwt_disv_subpackages
Definition: gwt-disvidm.f90:49
type(inputparamdefinitiontype), dimension(*), parameter, public gwt_disv_param_definitions
type(inputblockdefinitiontype), dimension(*), parameter, public gwt_disv_block_definitions
logical, public gwt_disv_multi_package
Definition: gwt-disvidm.f90:47
character(len=16), dimension(*), parameter, public gwt_dsp_subpackages
Definition: gwt-dspidm.f90:29
type(inputparamdefinitiontype), dimension(*), parameter, public gwt_dsp_aggregate_definitions
Definition: gwt-dspidm.f90:240
type(inputparamdefinitiontype), dimension(*), parameter, public gwt_dsp_param_definitions
Definition: gwt-dspidm.f90:225
type(inputblockdefinitiontype), dimension(*), parameter, public gwt_dsp_block_definitions
Definition: gwt-dspidm.f90:262
logical, public gwt_dsp_multi_package
Definition: gwt-dspidm.f90:27
type(inputparamdefinitiontype), dimension(*), parameter, public gwt_fmi_aggregate_definitions
Definition: gwt-fmiidm.f90:154
character(len=16), dimension(*), parameter, public gwt_fmi_subpackages
Definition: gwt-fmiidm.f90:24
type(inputblockdefinitiontype), dimension(*), parameter, public gwt_fmi_block_definitions
Definition: gwt-fmiidm.f90:160
type(inputparamdefinitiontype), dimension(*), parameter, public gwt_fmi_param_definitions
Definition: gwt-fmiidm.f90:125
logical, public gwt_fmi_multi_package
Definition: gwt-fmiidm.f90:22
type(inputblockdefinitiontype), dimension(*), parameter, public gwt_ic_block_definitions
Definition: gwt-icidm.f90:115
logical, public gwt_ic_multi_package
Definition: gwt-icidm.f90:20
character(len=16), dimension(*), parameter, public gwt_ic_subpackages
Definition: gwt-icidm.f90:22
type(inputparamdefinitiontype), dimension(*), parameter, public gwt_ic_param_definitions
Definition: gwt-icidm.f90:85
type(inputparamdefinitiontype), dimension(*), parameter, public gwt_ic_aggregate_definitions
Definition: gwt-icidm.f90:93
type(inputparamdefinitiontype), dimension(*), parameter, public gwt_ist_param_definitions
Definition: gwt-istidm.f90:725
logical, public gwt_ist_multi_package
Definition: gwt-istidm.f90:52
character(len=16), dimension(*), parameter, public gwt_ist_subpackages
Definition: gwt-istidm.f90:54
type(inputparamdefinitiontype), dimension(*), parameter, public gwt_ist_aggregate_definitions
Definition: gwt-istidm.f90:765
type(inputblockdefinitiontype), dimension(*), parameter, public gwt_ist_block_definitions
Definition: gwt-istidm.f90:787
type(inputparamdefinitiontype), dimension(*), parameter, public gwt_mst_param_definitions
Definition: gwt-mstidm.f90:345
type(inputparamdefinitiontype), dimension(*), parameter, public gwt_mst_aggregate_definitions
Definition: gwt-mstidm.f90:366
character(len=16), dimension(*), parameter, public gwt_mst_subpackages
Definition: gwt-mstidm.f90:35
logical, public gwt_mst_multi_package
Definition: gwt-mstidm.f90:33
type(inputblockdefinitiontype), dimension(*), parameter, public gwt_mst_block_definitions
Definition: gwt-mstidm.f90:388
logical, public gwt_nam_multi_package
Definition: gwt-namidm.f90:36
type(inputparamdefinitiontype), dimension(*), parameter, public gwt_nam_param_definitions
Definition: gwt-namidm.f90:405
type(inputparamdefinitiontype), dimension(*), parameter, public gwt_nam_aggregate_definitions
Definition: gwt-namidm.f90:448
type(inputblockdefinitiontype), dimension(*), parameter, public gwt_nam_block_definitions
Definition: gwt-namidm.f90:454
character(len=16), dimension(*), parameter, public gwt_nam_subpackages
Definition: gwt-namidm.f90:38
logical, public gwt_oc_multi_package
Definition: gwt-ocidm.f90:45
type(inputparamdefinitiontype), dimension(*), parameter, public gwt_oc_aggregate_definitions
Definition: gwt-ocidm.f90:618
character(len=16), dimension(*), parameter, public gwt_oc_subpackages
Definition: gwt-ocidm.f90:47
type(inputblockdefinitiontype), dimension(*), parameter, public gwt_oc_block_definitions
Definition: gwt-ocidm.f90:640
type(inputparamdefinitiontype), dimension(*), parameter, public gwt_oc_param_definitions
Definition: gwt-ocidm.f90:585
type(inputblockdefinitiontype), dimension(*), parameter, public gwt_src_block_definitions
Definition: gwt-srcidm.f90:454
character(len=16), dimension(*), parameter, public gwt_src_subpackages
Definition: gwt-srcidm.f90:38
type(inputparamdefinitiontype), dimension(*), parameter, public gwt_src_param_definitions
Definition: gwt-srcidm.f90:405
type(inputparamdefinitiontype), dimension(*), parameter, public gwt_src_aggregate_definitions
Definition: gwt-srcidm.f90:448
logical, public gwt_src_multi_package
Definition: gwt-srcidm.f90:36
type(inputblockdefinitiontype), dimension(*), parameter, public gwt_ssm_block_definitions
Definition: gwt-ssmidm.f90:285
type(inputparamdefinitiontype), dimension(*), parameter, public gwt_ssm_param_definitions
Definition: gwt-ssmidm.f90:225
character(len=16), dimension(*), parameter, public gwt_ssm_subpackages
Definition: gwt-ssmidm.f90:29
type(inputparamdefinitiontype), dimension(*), parameter, public gwt_ssm_aggregate_definitions
Definition: gwt-ssmidm.f90:278
logical, public gwt_ssm_multi_package
Definition: gwt-ssmidm.f90:27
subroutine set_subpkg_pointer(subpkg_list, subpkg_list_target)
subroutine set_block_pointer(input_dfn, input_dfn_target)
logical function, public gwt_idm_integrated(subcomponent)
subroutine set_param_pointer(input_dfn, input_dfn_target)
type(inputparamdefinitiontype) function, dimension(:), pointer, public gwt_aggregate_definitions(subcomponent)
type(inputparamdefinitiontype) function, dimension(:), pointer, public gwt_param_definitions(subcomponent)
type(inputblockdefinitiontype) function, dimension(:), pointer, public gwt_block_definitions(subcomponent)
character(len=16) function, dimension(:), pointer, public gwt_idm_subpackages(subcomponent)
logical function, public gwt_idm_multi_package(subcomponent)
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