MODFLOW 6  version 6.5.0.dev2
MODFLOW 6 Code Documentation
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
15 
16  implicit none
17  private
18  public :: param_definitions
19  public :: aggregate_definitions
20  public :: block_definitions
21  public :: idm_multi_package
22  public :: idm_integrated
23  public :: idm_component
24 
25 contains
26 
27  function param_definitions(component, subcomponent) result(input_definition)
28  character(len=*), intent(in) :: component
29  character(len=*), intent(in) :: subcomponent
30  type(inputparamdefinitiontype), dimension(:), pointer :: input_definition
31  nullify (input_definition)
32  select case (component)
33  case ('SIM')
34  input_definition => sim_param_definitions(subcomponent)
35  case ('GWF')
36  input_definition => gwf_param_definitions(subcomponent)
37  case ('GWT')
38  input_definition => gwt_param_definitions(subcomponent)
39  case ('GWE')
40  input_definition => gwe_param_definitions(subcomponent)
41  case ('SWF')
42  input_definition => swf_param_definitions(subcomponent)
43  case ('PRT')
44  input_definition => prt_param_definitions(subcomponent)
45  case ('EXG')
46  input_definition => exg_param_definitions(subcomponent)
47  case default
48  end select
49  return
50  end function param_definitions
51 
52  function aggregate_definitions(component, subcomponent) result(input_definition)
53  character(len=*), intent(in) :: component
54  character(len=*), intent(in) :: subcomponent
55  type(inputparamdefinitiontype), dimension(:), pointer :: input_definition
56  nullify (input_definition)
57  select case (component)
58  case ('SIM')
59  input_definition => sim_aggregate_definitions(subcomponent)
60  case ('GWF')
61  input_definition => gwf_aggregate_definitions(subcomponent)
62  case ('GWT')
63  input_definition => gwt_aggregate_definitions(subcomponent)
64  case ('GWE')
65  input_definition => gwe_aggregate_definitions(subcomponent)
66  case ('SWF')
67  input_definition => swf_aggregate_definitions(subcomponent)
68  case ('PRT')
69  input_definition => prt_aggregate_definitions(subcomponent)
70  case ('EXG')
71  input_definition => exg_aggregate_definitions(subcomponent)
72  case default
73  end select
74  return
75  end function aggregate_definitions
76 
77  function block_definitions(component, subcomponent) result(input_definition)
78  character(len=*), intent(in) :: component
79  character(len=*), intent(in) :: subcomponent
80  type(inputblockdefinitiontype), dimension(:), pointer :: input_definition
81  nullify (input_definition)
82  select case (component)
83  case ('SIM')
84  input_definition => sim_block_definitions(subcomponent)
85  case ('GWF')
86  input_definition => gwf_block_definitions(subcomponent)
87  case ('GWT')
88  input_definition => gwt_block_definitions(subcomponent)
89  case ('GWE')
90  input_definition => gwe_block_definitions(subcomponent)
91  case ('SWF')
92  input_definition => swf_block_definitions(subcomponent)
93  case ('PRT')
94  input_definition => prt_block_definitions(subcomponent)
95  case ('EXG')
96  input_definition => exg_block_definitions(subcomponent)
97  case default
98  end select
99  return
100  end function block_definitions
101 
102  function idm_multi_package(component, subcomponent) result(multi_package)
103  character(len=*), intent(in) :: component
104  character(len=*), intent(in) :: subcomponent
105  logical :: multi_package
106  select case (component)
107  case ('SIM')
108  multi_package = sim_idm_multi_package(subcomponent)
109  case ('GWF')
110  multi_package = gwf_idm_multi_package(subcomponent)
111  case ('GWT')
112  multi_package = gwt_idm_multi_package(subcomponent)
113  case ('GWE')
114  multi_package = gwe_idm_multi_package(subcomponent)
115  case ('SWF')
116  multi_package = swf_idm_multi_package(subcomponent)
117  case ('PRT')
118  multi_package = prt_idm_multi_package(subcomponent)
119  case ('EXG')
120  multi_package = exg_idm_multi_package(subcomponent)
121  case default
122  call store_error('Idm selector component not found; '//&
123  &'component="'//trim(component)//&
124  &'", subcomponent="'//trim(subcomponent)//'".', .true.)
125  end select
126  return
127  end function idm_multi_package
128 
129  function idm_integrated(component, subcomponent) result(integrated)
130  character(len=*), intent(in) :: component
131  character(len=*), intent(in) :: subcomponent
132  logical :: integrated
133  integrated = .false.
134  select case (component)
135  case ('SIM')
136  integrated = sim_idm_integrated(subcomponent)
137  case ('GWF')
138  integrated = gwf_idm_integrated(subcomponent)
139  case ('GWT')
140  integrated = gwt_idm_integrated(subcomponent)
141  case ('GWE')
142  integrated = gwe_idm_integrated(subcomponent)
143  case ('SWF')
144  integrated = swf_idm_integrated(subcomponent)
145  case ('PRT')
146  integrated = prt_idm_integrated(subcomponent)
147  case ('EXG')
148  integrated = exg_idm_integrated(subcomponent)
149  case default
150  end select
151  return
152  end function idm_integrated
153 
154  function idm_component(component) result(integrated)
155  character(len=*), intent(in) :: component
156  logical :: integrated
157  integrated = .false.
158  select case (component)
159  case ('SIM')
160  integrated = .true.
161  case ('GWF')
162  integrated = .true.
163  case ('GWT')
164  integrated = .true.
165  case ('GWE')
166  integrated = .true.
167  case ('SWF')
168  integrated = .true.
169  case ('PRT')
170  integrated = .true.
171  case ('EXG')
172  integrated = .true.
173  case default
174  end select
175  return
176  end function idm_component
177 
178 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 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)
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)
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)
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)
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)
logical function, public gwt_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)
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)
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)
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