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