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