MODFLOW 6  version 6.6.0.dev0
USGS Modular Hydrologic Model
IdmDfnSelector.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
18 
19  implicit none
20  private
21  public :: param_definitions
22  public :: aggregate_definitions
23  public :: block_definitions
24  public :: idm_multi_package
25  public :: idm_subpackages
26  public :: idm_integrated
27  public :: idm_component
28 
29 contains
30 
31  function param_definitions(component, subcomponent) result(input_definition)
32  character(len=*), intent(in) :: component
33  character(len=*), intent(in) :: subcomponent
34  type(inputparamdefinitiontype), dimension(:), pointer :: input_definition
35  nullify (input_definition)
36  select case (component)
37  case ('SIM')
38  input_definition => sim_param_definitions(subcomponent)
39  case ('GWF')
40  input_definition => gwf_param_definitions(subcomponent)
41  case ('GWT')
42  input_definition => gwt_param_definitions(subcomponent)
43  case ('GWE')
44  input_definition => gwe_param_definitions(subcomponent)
45  case ('CHF')
46  input_definition => chf_param_definitions(subcomponent)
47  case ('OLF')
48  input_definition => olf_param_definitions(subcomponent)
49  case ('SWF')
50  input_definition => swf_param_definitions(subcomponent)
51  case ('PRT')
52  input_definition => prt_param_definitions(subcomponent)
53  case ('EXG')
54  input_definition => exg_param_definitions(subcomponent)
55  case ('UTL')
56  input_definition => utl_param_definitions(subcomponent)
57  case default
58  end select
59  return
60  end function param_definitions
61 
62  function aggregate_definitions(component, subcomponent) result(input_definition)
63  character(len=*), intent(in) :: component
64  character(len=*), intent(in) :: subcomponent
65  type(inputparamdefinitiontype), dimension(:), pointer :: input_definition
66  nullify (input_definition)
67  select case (component)
68  case ('SIM')
69  input_definition => sim_aggregate_definitions(subcomponent)
70  case ('GWF')
71  input_definition => gwf_aggregate_definitions(subcomponent)
72  case ('GWT')
73  input_definition => gwt_aggregate_definitions(subcomponent)
74  case ('GWE')
75  input_definition => gwe_aggregate_definitions(subcomponent)
76  case ('CHF')
77  input_definition => chf_aggregate_definitions(subcomponent)
78  case ('OLF')
79  input_definition => olf_aggregate_definitions(subcomponent)
80  case ('SWF')
81  input_definition => swf_aggregate_definitions(subcomponent)
82  case ('PRT')
83  input_definition => prt_aggregate_definitions(subcomponent)
84  case ('EXG')
85  input_definition => exg_aggregate_definitions(subcomponent)
86  case ('UTL')
87  input_definition => utl_aggregate_definitions(subcomponent)
88  case default
89  end select
90  return
91  end function aggregate_definitions
92 
93  function block_definitions(component, subcomponent) result(input_definition)
94  character(len=*), intent(in) :: component
95  character(len=*), intent(in) :: subcomponent
96  type(inputblockdefinitiontype), dimension(:), pointer :: input_definition
97  nullify (input_definition)
98  select case (component)
99  case ('SIM')
100  input_definition => sim_block_definitions(subcomponent)
101  case ('GWF')
102  input_definition => gwf_block_definitions(subcomponent)
103  case ('GWT')
104  input_definition => gwt_block_definitions(subcomponent)
105  case ('GWE')
106  input_definition => gwe_block_definitions(subcomponent)
107  case ('CHF')
108  input_definition => chf_block_definitions(subcomponent)
109  case ('OLF')
110  input_definition => olf_block_definitions(subcomponent)
111  case ('SWF')
112  input_definition => swf_block_definitions(subcomponent)
113  case ('PRT')
114  input_definition => prt_block_definitions(subcomponent)
115  case ('EXG')
116  input_definition => exg_block_definitions(subcomponent)
117  case ('UTL')
118  input_definition => utl_block_definitions(subcomponent)
119  case default
120  end select
121  return
122  end function block_definitions
123 
124  function idm_multi_package(component, subcomponent) result(multi_package)
125  character(len=*), intent(in) :: component
126  character(len=*), intent(in) :: subcomponent
127  logical :: multi_package
128  select case (component)
129  case ('SIM')
130  multi_package = sim_idm_multi_package(subcomponent)
131  case ('GWF')
132  multi_package = gwf_idm_multi_package(subcomponent)
133  case ('GWT')
134  multi_package = gwt_idm_multi_package(subcomponent)
135  case ('GWE')
136  multi_package = gwe_idm_multi_package(subcomponent)
137  case ('CHF')
138  multi_package = chf_idm_multi_package(subcomponent)
139  case ('OLF')
140  multi_package = olf_idm_multi_package(subcomponent)
141  case ('SWF')
142  multi_package = swf_idm_multi_package(subcomponent)
143  case ('PRT')
144  multi_package = prt_idm_multi_package(subcomponent)
145  case ('EXG')
146  multi_package = exg_idm_multi_package(subcomponent)
147  case ('UTL')
148  multi_package = utl_idm_multi_package(subcomponent)
149  case default
150  call store_error('Idm selector component not found; '//&
151  &'component="'//trim(component)//&
152  &'", subcomponent="'//trim(subcomponent)//'".', .true.)
153  end select
154  return
155  end function idm_multi_package
156 
157  function idm_subpackages(component, subcomponent) result(subpackages)
158  character(len=*), intent(in) :: component
159  character(len=*), intent(in) :: subcomponent
160  character(len=16), dimension(:), pointer :: subpackages
161  select case (component)
162  case ('SIM')
163  subpackages => sim_idm_subpackages(subcomponent)
164  case ('GWF')
165  subpackages => gwf_idm_subpackages(subcomponent)
166  case ('GWT')
167  subpackages => gwt_idm_subpackages(subcomponent)
168  case ('GWE')
169  subpackages => gwe_idm_subpackages(subcomponent)
170  case ('CHF')
171  subpackages => chf_idm_subpackages(subcomponent)
172  case ('OLF')
173  subpackages => olf_idm_subpackages(subcomponent)
174  case ('SWF')
175  subpackages => swf_idm_subpackages(subcomponent)
176  case ('PRT')
177  subpackages => prt_idm_subpackages(subcomponent)
178  case ('EXG')
179  subpackages => exg_idm_subpackages(subcomponent)
180  case ('UTL')
181  subpackages => utl_idm_subpackages(subcomponent)
182  case default
183  call store_error('Idm selector component not found; '//&
184  &'component="'//trim(component)//&
185  &'", subcomponent="'//trim(subcomponent)//'".', .true.)
186  end select
187  return
188  end function idm_subpackages
189 
190  function idm_integrated(component, subcomponent) result(integrated)
191  character(len=*), intent(in) :: component
192  character(len=*), intent(in) :: subcomponent
193  logical :: integrated
194  integrated = .false.
195  select case (component)
196  case ('SIM')
197  integrated = sim_idm_integrated(subcomponent)
198  case ('GWF')
199  integrated = gwf_idm_integrated(subcomponent)
200  case ('GWT')
201  integrated = gwt_idm_integrated(subcomponent)
202  case ('GWE')
203  integrated = gwe_idm_integrated(subcomponent)
204  case ('CHF')
205  integrated = chf_idm_integrated(subcomponent)
206  case ('OLF')
207  integrated = olf_idm_integrated(subcomponent)
208  case ('SWF')
209  integrated = swf_idm_integrated(subcomponent)
210  case ('PRT')
211  integrated = prt_idm_integrated(subcomponent)
212  case ('EXG')
213  integrated = exg_idm_integrated(subcomponent)
214  case ('UTL')
215  integrated = utl_idm_integrated(subcomponent)
216  case default
217  end select
218  return
219  end function idm_integrated
220 
221  function idm_component(component) result(integrated)
222  character(len=*), intent(in) :: component
223  logical :: integrated
224  integrated = .false.
225  select case (component)
226  case ('SIM')
227  integrated = .true.
228  case ('GWF')
229  integrated = .true.
230  case ('GWT')
231  integrated = .true.
232  case ('GWE')
233  integrated = .true.
234  case ('CHF')
235  integrated = .true.
236  case ('OLF')
237  integrated = .true.
238  case ('SWF')
239  integrated = .true.
240  case ('PRT')
241  integrated = .true.
242  case ('EXG')
243  integrated = .true.
244  case ('UTL')
245  integrated = .true.
246  case default
247  end select
248  return
249  end function idm_component
250 
251 end module idmdfnselectormodule
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) function, dimension(:), pointer, public chf_block_definitions(subcomponent)
type(inputparamdefinitiontype) function, dimension(:), pointer, public chf_param_definitions(subcomponent)
logical function, public chf_idm_integrated(subcomponent)
type(inputparamdefinitiontype) function, dimension(:), pointer, public chf_aggregate_definitions(subcomponent)
character(len=16) function, dimension(:), pointer, public chf_idm_subpackages(subcomponent)
logical function, public chf_idm_multi_package(subcomponent)
type(inputblockdefinitiontype) function, dimension(:), pointer, public block_definitions(component, subcomponent)
logical function, public idm_integrated(component, subcomponent)
type(inputparamdefinitiontype) function, dimension(:), pointer, public param_definitions(component, subcomponent)
logical function, public idm_component(component)
logical function, public idm_multi_package(component, subcomponent)
character(len=16) function, dimension(:), pointer, public idm_subpackages(component, subcomponent)
type(inputparamdefinitiontype) function, dimension(:), pointer, public aggregate_definitions(component, subcomponent)
type(inputblockdefinitiontype) function, dimension(:), pointer, public exg_block_definitions(subcomponent)
type(inputparamdefinitiontype) function, dimension(:), pointer, public exg_param_definitions(subcomponent)
type(inputparamdefinitiontype) function, dimension(:), pointer, public exg_aggregate_definitions(subcomponent)
character(len=16) function, dimension(:), pointer, public exg_idm_subpackages(subcomponent)
logical function, public exg_idm_multi_package(subcomponent)
logical function, public exg_idm_integrated(subcomponent)
logical function, public gwe_idm_multi_package(subcomponent)
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)
type(inputblockdefinitiontype) function, dimension(:), pointer, public gwe_block_definitions(subcomponent)
character(len=16) function, dimension(:), pointer, public gwe_idm_subpackages(subcomponent)
logical function, public gwf_idm_integrated(subcomponent)
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)
logical function, public gwt_idm_integrated(subcomponent)
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)
logical function, public olf_idm_integrated(subcomponent)
type(inputparamdefinitiontype) function, dimension(:), pointer, public olf_param_definitions(subcomponent)
character(len=16) function, dimension(:), pointer, public olf_idm_subpackages(subcomponent)
type(inputparamdefinitiontype) function, dimension(:), pointer, public olf_aggregate_definitions(subcomponent)
type(inputblockdefinitiontype) function, dimension(:), pointer, public olf_block_definitions(subcomponent)
logical function, public olf_idm_multi_package(subcomponent)
type(inputparamdefinitiontype) function, dimension(:), pointer, public prt_aggregate_definitions(subcomponent)
type(inputparamdefinitiontype) function, dimension(:), pointer, public prt_param_definitions(subcomponent)
logical function, public prt_idm_multi_package(subcomponent)
logical function, public prt_idm_integrated(subcomponent)
character(len=16) function, dimension(:), pointer, public prt_idm_subpackages(subcomponent)
type(inputblockdefinitiontype) function, dimension(:), pointer, public prt_block_definitions(subcomponent)
type(inputblockdefinitiontype) function, dimension(:), pointer, public sim_block_definitions(subcomponent)
logical function, public sim_idm_multi_package(subcomponent)
type(inputparamdefinitiontype) function, dimension(:), pointer, public sim_aggregate_definitions(subcomponent)
type(inputparamdefinitiontype) function, dimension(:), pointer, public sim_param_definitions(subcomponent)
logical function, public sim_idm_integrated(subcomponent)
character(len=16) function, dimension(:), pointer, public sim_idm_subpackages(subcomponent)
character(len=16) function, dimension(:), pointer, public swf_idm_subpackages(subcomponent)
type(inputparamdefinitiontype) function, dimension(:), pointer, public swf_aggregate_definitions(subcomponent)
type(inputparamdefinitiontype) function, dimension(:), pointer, public swf_param_definitions(subcomponent)
logical function, public swf_idm_integrated(subcomponent)
type(inputblockdefinitiontype) function, dimension(:), pointer, public swf_block_definitions(subcomponent)
logical function, public swf_idm_multi_package(subcomponent)
character(len=16) function, dimension(:), pointer, public utl_idm_subpackages(subcomponent)
logical function, public utl_idm_integrated(subcomponent)
type(inputparamdefinitiontype) function, dimension(:), pointer, public utl_aggregate_definitions(subcomponent)
type(inputparamdefinitiontype) function, dimension(:), pointer, public utl_param_definitions(subcomponent)
logical function, public utl_idm_multi_package(subcomponent)
type(inputblockdefinitiontype) function, dimension(:), pointer, public utl_block_definitions(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