MODFLOW 6  version 6.7.0.dev3
USGS Modular Hydrologic Model
IdmGweDfnSelector.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
21 
22  implicit none
23  private
24  public :: gwe_param_definitions
26  public :: gwe_block_definitions
27  public :: gwe_idm_multi_package
28  public :: gwe_idm_subpackages
29  public :: gwe_idm_integrated
30 
31 contains
32 
33  subroutine set_param_pointer(input_dfn, input_dfn_target)
34  type(inputparamdefinitiontype), dimension(:), pointer :: input_dfn
35  type(inputparamdefinitiontype), dimension(:), target :: input_dfn_target
36  input_dfn => input_dfn_target
37  end subroutine set_param_pointer
38 
39  subroutine set_block_pointer(input_dfn, input_dfn_target)
40  type(inputblockdefinitiontype), dimension(:), pointer :: input_dfn
41  type(inputblockdefinitiontype), dimension(:), target :: input_dfn_target
42  input_dfn => input_dfn_target
43  end subroutine set_block_pointer
44 
45  subroutine set_subpkg_pointer(subpkg_list, subpkg_list_target)
46  character(len=16), dimension(:), pointer :: subpkg_list
47  character(len=16), dimension(:), target :: subpkg_list_target
48  subpkg_list => subpkg_list_target
49  end subroutine set_subpkg_pointer
50 
51  function gwe_param_definitions(subcomponent) result(input_definition)
52  character(len=*), intent(in) :: subcomponent
53  type(inputparamdefinitiontype), dimension(:), pointer :: input_definition
54  nullify (input_definition)
55  select case (subcomponent)
56  case ('NAM')
57  call set_param_pointer(input_definition, gwe_nam_param_definitions)
58  case ('ADV')
59  call set_param_pointer(input_definition, gwe_adv_param_definitions)
60  case ('CTP')
61  call set_param_pointer(input_definition, gwe_ctp_param_definitions)
62  case ('CND')
63  call set_param_pointer(input_definition, gwe_cnd_param_definitions)
64  case ('DISV')
65  call set_param_pointer(input_definition, gwe_disv_param_definitions)
66  case ('DISU')
67  call set_param_pointer(input_definition, gwe_disu_param_definitions)
68  case ('DIS')
69  call set_param_pointer(input_definition, gwe_dis_param_definitions)
70  case ('ESL')
71  call set_param_pointer(input_definition, gwe_esl_param_definitions)
72  case ('EST')
73  call set_param_pointer(input_definition, gwe_est_param_definitions)
74  case ('FMI')
75  call set_param_pointer(input_definition, gwe_fmi_param_definitions)
76  case ('IC')
77  call set_param_pointer(input_definition, gwe_ic_param_definitions)
78  case ('OC')
79  call set_param_pointer(input_definition, gwe_oc_param_definitions)
80  case ('SSM')
81  call set_param_pointer(input_definition, gwe_ssm_param_definitions)
82  case default
83  end select
84  return
85  end function gwe_param_definitions
86 
87  function gwe_aggregate_definitions(subcomponent) result(input_definition)
88  character(len=*), intent(in) :: subcomponent
89  type(inputparamdefinitiontype), dimension(:), pointer :: input_definition
90  nullify (input_definition)
91  select case (subcomponent)
92  case ('NAM')
93  call set_param_pointer(input_definition, gwe_nam_aggregate_definitions)
94  case ('ADV')
95  call set_param_pointer(input_definition, gwe_adv_aggregate_definitions)
96  case ('CTP')
97  call set_param_pointer(input_definition, gwe_ctp_aggregate_definitions)
98  case ('CND')
99  call set_param_pointer(input_definition, gwe_cnd_aggregate_definitions)
100  case ('DISV')
101  call set_param_pointer(input_definition, gwe_disv_aggregate_definitions)
102  case ('DISU')
103  call set_param_pointer(input_definition, gwe_disu_aggregate_definitions)
104  case ('DIS')
105  call set_param_pointer(input_definition, gwe_dis_aggregate_definitions)
106  case ('ESL')
107  call set_param_pointer(input_definition, gwe_esl_aggregate_definitions)
108  case ('EST')
109  call set_param_pointer(input_definition, gwe_est_aggregate_definitions)
110  case ('FMI')
111  call set_param_pointer(input_definition, gwe_fmi_aggregate_definitions)
112  case ('IC')
113  call set_param_pointer(input_definition, gwe_ic_aggregate_definitions)
114  case ('OC')
115  call set_param_pointer(input_definition, gwe_oc_aggregate_definitions)
116  case ('SSM')
117  call set_param_pointer(input_definition, gwe_ssm_aggregate_definitions)
118  case default
119  end select
120  return
121  end function gwe_aggregate_definitions
122 
123  function gwe_block_definitions(subcomponent) result(input_definition)
124  character(len=*), intent(in) :: subcomponent
125  type(inputblockdefinitiontype), dimension(:), pointer :: input_definition
126  nullify (input_definition)
127  select case (subcomponent)
128  case ('NAM')
129  call set_block_pointer(input_definition, gwe_nam_block_definitions)
130  case ('ADV')
131  call set_block_pointer(input_definition, gwe_adv_block_definitions)
132  case ('CTP')
133  call set_block_pointer(input_definition, gwe_ctp_block_definitions)
134  case ('CND')
135  call set_block_pointer(input_definition, gwe_cnd_block_definitions)
136  case ('DISV')
137  call set_block_pointer(input_definition, gwe_disv_block_definitions)
138  case ('DISU')
139  call set_block_pointer(input_definition, gwe_disu_block_definitions)
140  case ('DIS')
141  call set_block_pointer(input_definition, gwe_dis_block_definitions)
142  case ('ESL')
143  call set_block_pointer(input_definition, gwe_esl_block_definitions)
144  case ('EST')
145  call set_block_pointer(input_definition, gwe_est_block_definitions)
146  case ('FMI')
147  call set_block_pointer(input_definition, gwe_fmi_block_definitions)
148  case ('IC')
149  call set_block_pointer(input_definition, gwe_ic_block_definitions)
150  case ('OC')
151  call set_block_pointer(input_definition, gwe_oc_block_definitions)
152  case ('SSM')
153  call set_block_pointer(input_definition, gwe_ssm_block_definitions)
154  case default
155  end select
156  return
157  end function gwe_block_definitions
158 
159  function gwe_idm_multi_package(subcomponent) result(multi_package)
160  character(len=*), intent(in) :: subcomponent
161  logical :: multi_package
162  select case (subcomponent)
163  case ('NAM')
164  multi_package = gwe_nam_multi_package
165  case ('ADV')
166  multi_package = gwe_adv_multi_package
167  case ('CTP')
168  multi_package = gwe_ctp_multi_package
169  case ('CND')
170  multi_package = gwe_cnd_multi_package
171  case ('DISV')
172  multi_package = gwe_disv_multi_package
173  case ('DISU')
174  multi_package = gwe_disu_multi_package
175  case ('DIS')
176  multi_package = gwe_dis_multi_package
177  case ('ESL')
178  multi_package = gwe_esl_multi_package
179  case ('EST')
180  multi_package = gwe_est_multi_package
181  case ('FMI')
182  multi_package = gwe_fmi_multi_package
183  case ('IC')
184  multi_package = gwe_ic_multi_package
185  case ('OC')
186  multi_package = gwe_oc_multi_package
187  case ('SSM')
188  multi_package = gwe_ssm_multi_package
189  case default
190  call store_error('Idm selector subcomponent not found; '//&
191  &'component="GWE"'//&
192  &', subcomponent="'//trim(subcomponent)//'".', .true.)
193  end select
194  return
195  end function gwe_idm_multi_package
196 
197  function gwe_idm_subpackages(subcomponent) result(subpackages)
198  character(len=*), intent(in) :: subcomponent
199  character(len=16), dimension(:), pointer :: subpackages
200  select case (subcomponent)
201  case ('NAM')
202  call set_subpkg_pointer(subpackages, gwe_nam_subpackages)
203  case ('ADV')
204  call set_subpkg_pointer(subpackages, gwe_adv_subpackages)
205  case ('CTP')
206  call set_subpkg_pointer(subpackages, gwe_ctp_subpackages)
207  case ('CND')
208  call set_subpkg_pointer(subpackages, gwe_cnd_subpackages)
209  case ('DISV')
210  call set_subpkg_pointer(subpackages, gwe_disv_subpackages)
211  case ('DISU')
212  call set_subpkg_pointer(subpackages, gwe_disu_subpackages)
213  case ('DIS')
214  call set_subpkg_pointer(subpackages, gwe_dis_subpackages)
215  case ('ESL')
216  call set_subpkg_pointer(subpackages, gwe_esl_subpackages)
217  case ('EST')
218  call set_subpkg_pointer(subpackages, gwe_est_subpackages)
219  case ('FMI')
220  call set_subpkg_pointer(subpackages, gwe_fmi_subpackages)
221  case ('IC')
222  call set_subpkg_pointer(subpackages, gwe_ic_subpackages)
223  case ('OC')
224  call set_subpkg_pointer(subpackages, gwe_oc_subpackages)
225  case ('SSM')
226  call set_subpkg_pointer(subpackages, gwe_ssm_subpackages)
227  case default
228  end select
229  return
230  end function gwe_idm_subpackages
231 
232  function gwe_idm_integrated(subcomponent) result(integrated)
233  character(len=*), intent(in) :: subcomponent
234  logical :: integrated
235  integrated = .false.
236  select case (subcomponent)
237  case ('NAM')
238  integrated = .true.
239  case ('ADV')
240  integrated = .true.
241  case ('CTP')
242  integrated = .true.
243  case ('CND')
244  integrated = .true.
245  case ('DISV')
246  integrated = .true.
247  case ('DISU')
248  integrated = .true.
249  case ('DIS')
250  integrated = .true.
251  case ('ESL')
252  integrated = .true.
253  case ('EST')
254  integrated = .true.
255  case ('FMI')
256  integrated = .true.
257  case ('IC')
258  integrated = .true.
259  case ('OC')
260  integrated = .true.
261  case ('SSM')
262  integrated = .true.
263  case default
264  end select
265  return
266  end function gwe_idm_integrated
267 
268 end module idmgwedfnselectormodule
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 gwe_adv_multi_package
Definition: gwe-advidm.f90:19
type(inputblockdefinitiontype), dimension(*), parameter, public gwe_adv_block_definitions
Definition: gwe-advidm.f90:94
type(inputparamdefinitiontype), dimension(*), parameter, public gwe_adv_param_definitions
Definition: gwe-advidm.f90:65
type(inputparamdefinitiontype), dimension(*), parameter, public gwe_adv_aggregate_definitions
Definition: gwe-advidm.f90:72
character(len=16), dimension(*), parameter, public gwe_adv_subpackages
Definition: gwe-advidm.f90:21
logical, public gwe_cnd_multi_package
Definition: gwe-cndidm.f90:28
character(len=16), dimension(*), parameter, public gwe_cnd_subpackages
Definition: gwe-cndidm.f90:30
type(inputblockdefinitiontype), dimension(*), parameter, public gwe_cnd_block_definitions
Definition: gwe-cndidm.f90:283
type(inputparamdefinitiontype), dimension(*), parameter, public gwe_cnd_aggregate_definitions
Definition: gwe-cndidm.f90:261
type(inputparamdefinitiontype), dimension(*), parameter, public gwe_cnd_param_definitions
Definition: gwe-cndidm.f90:245
character(len=16), dimension(*), parameter, public gwe_ctp_subpackages
Definition: gwe-ctpidm.f90:37
type(inputparamdefinitiontype), dimension(*), parameter, public gwe_ctp_aggregate_definitions
Definition: gwe-ctpidm.f90:427
type(inputparamdefinitiontype), dimension(*), parameter, public gwe_ctp_param_definitions
Definition: gwe-ctpidm.f90:385
logical, public gwe_ctp_multi_package
Definition: gwe-ctpidm.f90:35
type(inputblockdefinitiontype), dimension(*), parameter, public gwe_ctp_block_definitions
Definition: gwe-ctpidm.f90:433
type(inputblockdefinitiontype), dimension(*), parameter, public gwe_dis_block_definitions
Definition: gwe-disidm.f90:556
character(len=16), dimension(*), parameter, public gwe_dis_subpackages
Definition: gwe-disidm.f90:43
type(inputparamdefinitiontype), dimension(*), parameter, public gwe_dis_aggregate_definitions
Definition: gwe-disidm.f90:534
logical, public gwe_dis_multi_package
Definition: gwe-disidm.f90:41
type(inputparamdefinitiontype), dimension(*), parameter, public gwe_dis_param_definitions
Definition: gwe-disidm.f90:505
type(inputparamdefinitiontype), dimension(*), parameter, public gwe_disu_param_definitions
type(inputblockdefinitiontype), dimension(*), parameter, public gwe_disu_block_definitions
type(inputparamdefinitiontype), dimension(*), parameter, public gwe_disu_aggregate_definitions
logical, public gwe_disu_multi_package
Definition: gwe-disuidm.f90:50
character(len=16), dimension(*), parameter, public gwe_disu_subpackages
Definition: gwe-disuidm.f90:52
type(inputblockdefinitiontype), dimension(*), parameter, public gwe_disv_block_definitions
character(len=16), dimension(*), parameter, public gwe_disv_subpackages
Definition: gwe-disvidm.f90:49
type(inputparamdefinitiontype), dimension(*), parameter, public gwe_disv_aggregate_definitions
logical, public gwe_disv_multi_package
Definition: gwe-disvidm.f90:47
type(inputparamdefinitiontype), dimension(*), parameter, public gwe_disv_param_definitions
type(inputparamdefinitiontype), dimension(*), parameter, public gwe_esl_aggregate_definitions
Definition: gwe-eslidm.f90:427
type(inputparamdefinitiontype), dimension(*), parameter, public gwe_esl_param_definitions
Definition: gwe-eslidm.f90:385
type(inputblockdefinitiontype), dimension(*), parameter, public gwe_esl_block_definitions
Definition: gwe-eslidm.f90:433
character(len=16), dimension(*), parameter, public gwe_esl_subpackages
Definition: gwe-eslidm.f90:37
logical, public gwe_esl_multi_package
Definition: gwe-eslidm.f90:35
character(len=16), dimension(*), parameter, public gwe_est_subpackages
Definition: gwe-estidm.f90:30
type(inputparamdefinitiontype), dimension(*), parameter, public gwe_est_param_definitions
Definition: gwe-estidm.f90:245
type(inputblockdefinitiontype), dimension(*), parameter, public gwe_est_block_definitions
Definition: gwe-estidm.f90:283
logical, public gwe_est_multi_package
Definition: gwe-estidm.f90:28
type(inputparamdefinitiontype), dimension(*), parameter, public gwe_est_aggregate_definitions
Definition: gwe-estidm.f90:261
type(inputparamdefinitiontype), dimension(*), parameter, public gwe_fmi_param_definitions
Definition: gwe-fmiidm.f90:125
type(inputblockdefinitiontype), dimension(*), parameter, public gwe_fmi_block_definitions
Definition: gwe-fmiidm.f90:160
logical, public gwe_fmi_multi_package
Definition: gwe-fmiidm.f90:22
character(len=16), dimension(*), parameter, public gwe_fmi_subpackages
Definition: gwe-fmiidm.f90:24
type(inputparamdefinitiontype), dimension(*), parameter, public gwe_fmi_aggregate_definitions
Definition: gwe-fmiidm.f90:154
type(inputblockdefinitiontype), dimension(*), parameter, public gwe_ic_block_definitions
Definition: gwe-icidm.f90:115
logical, public gwe_ic_multi_package
Definition: gwe-icidm.f90:20
character(len=16), dimension(*), parameter, public gwe_ic_subpackages
Definition: gwe-icidm.f90:22
type(inputparamdefinitiontype), dimension(*), parameter, public gwe_ic_aggregate_definitions
Definition: gwe-icidm.f90:93
type(inputparamdefinitiontype), dimension(*), parameter, public gwe_ic_param_definitions
Definition: gwe-icidm.f90:85
type(inputblockdefinitiontype), dimension(*), parameter, public gwe_nam_block_definitions
Definition: gwe-namidm.f90:454
logical, public gwe_nam_multi_package
Definition: gwe-namidm.f90:36
type(inputparamdefinitiontype), dimension(*), parameter, public gwe_nam_aggregate_definitions
Definition: gwe-namidm.f90:448
type(inputparamdefinitiontype), dimension(*), parameter, public gwe_nam_param_definitions
Definition: gwe-namidm.f90:405
character(len=16), dimension(*), parameter, public gwe_nam_subpackages
Definition: gwe-namidm.f90:38
type(inputparamdefinitiontype), dimension(*), parameter, public gwe_oc_param_definitions
Definition: gwe-ocidm.f90:585
type(inputblockdefinitiontype), dimension(*), parameter, public gwe_oc_block_definitions
Definition: gwe-ocidm.f90:640
type(inputparamdefinitiontype), dimension(*), parameter, public gwe_oc_aggregate_definitions
Definition: gwe-ocidm.f90:618
character(len=16), dimension(*), parameter, public gwe_oc_subpackages
Definition: gwe-ocidm.f90:47
logical, public gwe_oc_multi_package
Definition: gwe-ocidm.f90:45
logical, public gwe_ssm_multi_package
Definition: gwe-ssmidm.f90:27
character(len=16), dimension(*), parameter, public gwe_ssm_subpackages
Definition: gwe-ssmidm.f90:29
type(inputparamdefinitiontype), dimension(*), parameter, public gwe_ssm_param_definitions
Definition: gwe-ssmidm.f90:225
type(inputblockdefinitiontype), dimension(*), parameter, public gwe_ssm_block_definitions
Definition: gwe-ssmidm.f90:285
type(inputparamdefinitiontype), dimension(*), parameter, public gwe_ssm_aggregate_definitions
Definition: gwe-ssmidm.f90:278
logical function, public gwe_idm_multi_package(subcomponent)
subroutine set_param_pointer(input_dfn, input_dfn_target)
logical function, public gwe_idm_integrated(subcomponent)
type(inputparamdefinitiontype) function, dimension(:), pointer, public gwe_aggregate_definitions(subcomponent)
type(inputparamdefinitiontype) function, dimension(:), pointer, public gwe_param_definitions(subcomponent)
subroutine set_block_pointer(input_dfn, input_dfn_target)
type(inputblockdefinitiontype) function, dimension(:), pointer, public gwe_block_definitions(subcomponent)
subroutine set_subpkg_pointer(subpkg_list, subpkg_list_target)
character(len=16) function, dimension(:), pointer, public gwe_idm_subpackages(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