MODFLOW 6  version 6.5.0.dev2
MODFLOW 6 Code Documentation
IdmSwfDfnSelector.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
19 
20  implicit none
21  private
22  public :: swf_param_definitions
24  public :: swf_block_definitions
25  public :: swf_idm_multi_package
26  public :: swf_idm_integrated
27 
28 contains
29 
30  subroutine set_param_pointer(input_dfn, input_dfn_target)
31  type(inputparamdefinitiontype), dimension(:), pointer :: input_dfn
32  type(inputparamdefinitiontype), dimension(:), target :: input_dfn_target
33  input_dfn => input_dfn_target
34  end subroutine set_param_pointer
35 
36  subroutine set_block_pointer(input_dfn, input_dfn_target)
37  type(inputblockdefinitiontype), dimension(:), pointer :: input_dfn
38  type(inputblockdefinitiontype), dimension(:), target :: input_dfn_target
39  input_dfn => input_dfn_target
40  end subroutine set_block_pointer
41 
42  function swf_param_definitions(subcomponent) result(input_definition)
43  character(len=*), intent(in) :: subcomponent
44  type(inputparamdefinitiontype), dimension(:), pointer :: input_definition
45  nullify (input_definition)
46  select case (subcomponent)
47  case ('NAM')
48  call set_param_pointer(input_definition, swf_nam_param_definitions)
49  case ('DISV1D')
50  call set_param_pointer(input_definition, swf_disv1d_param_definitions)
51  case ('DIS2D')
52  call set_param_pointer(input_definition, swf_dis2d_param_definitions)
53  case ('DISV2D')
54  call set_param_pointer(input_definition, swf_disv2d_param_definitions)
55  case ('CXS')
56  call set_param_pointer(input_definition, swf_cxs_param_definitions)
57  case ('DFW')
58  call set_param_pointer(input_definition, swf_dfw_param_definitions)
59  case ('IC')
60  call set_param_pointer(input_definition, swf_ic_param_definitions)
61  case ('CDB')
62  call set_param_pointer(input_definition, swf_cdb_param_definitions)
63  case ('CHD')
64  call set_param_pointer(input_definition, swf_chd_param_definitions)
65  case ('FLW')
66  call set_param_pointer(input_definition, swf_flw_param_definitions)
67  case ('ZDG')
68  call set_param_pointer(input_definition, swf_zdg_param_definitions)
69  case default
70  end select
71  return
72  end function swf_param_definitions
73 
74  function swf_aggregate_definitions(subcomponent) result(input_definition)
75  character(len=*), intent(in) :: subcomponent
76  type(inputparamdefinitiontype), dimension(:), pointer :: input_definition
77  nullify (input_definition)
78  select case (subcomponent)
79  case ('NAM')
80  call set_param_pointer(input_definition, swf_nam_aggregate_definitions)
81  case ('DISV1D')
83  case ('DIS2D')
85  case ('DISV2D')
87  case ('CXS')
88  call set_param_pointer(input_definition, swf_cxs_aggregate_definitions)
89  case ('DFW')
90  call set_param_pointer(input_definition, swf_dfw_aggregate_definitions)
91  case ('IC')
92  call set_param_pointer(input_definition, swf_ic_aggregate_definitions)
93  case ('CDB')
94  call set_param_pointer(input_definition, swf_cdb_aggregate_definitions)
95  case ('CHD')
96  call set_param_pointer(input_definition, swf_chd_aggregate_definitions)
97  case ('FLW')
98  call set_param_pointer(input_definition, swf_flw_aggregate_definitions)
99  case ('ZDG')
100  call set_param_pointer(input_definition, swf_zdg_aggregate_definitions)
101  case default
102  end select
103  return
104  end function swf_aggregate_definitions
105 
106  function swf_block_definitions(subcomponent) result(input_definition)
107  character(len=*), intent(in) :: subcomponent
108  type(inputblockdefinitiontype), dimension(:), pointer :: input_definition
109  nullify (input_definition)
110  select case (subcomponent)
111  case ('NAM')
112  call set_block_pointer(input_definition, swf_nam_block_definitions)
113  case ('DISV1D')
114  call set_block_pointer(input_definition, swf_disv1d_block_definitions)
115  case ('DIS2D')
116  call set_block_pointer(input_definition, swf_dis2d_block_definitions)
117  case ('DISV2D')
118  call set_block_pointer(input_definition, swf_disv2d_block_definitions)
119  case ('CXS')
120  call set_block_pointer(input_definition, swf_cxs_block_definitions)
121  case ('DFW')
122  call set_block_pointer(input_definition, swf_dfw_block_definitions)
123  case ('IC')
124  call set_block_pointer(input_definition, swf_ic_block_definitions)
125  case ('CDB')
126  call set_block_pointer(input_definition, swf_cdb_block_definitions)
127  case ('CHD')
128  call set_block_pointer(input_definition, swf_chd_block_definitions)
129  case ('FLW')
130  call set_block_pointer(input_definition, swf_flw_block_definitions)
131  case ('ZDG')
132  call set_block_pointer(input_definition, swf_zdg_block_definitions)
133  case default
134  end select
135  return
136  end function swf_block_definitions
137 
138  function swf_idm_multi_package(subcomponent) result(multi_package)
139  character(len=*), intent(in) :: subcomponent
140  logical :: multi_package
141  select case (subcomponent)
142  case ('NAM')
143  multi_package = swf_nam_multi_package
144  case ('DISV1D')
145  multi_package = swf_disv1d_multi_package
146  case ('DIS2D')
147  multi_package = swf_dis2d_multi_package
148  case ('DISV2D')
149  multi_package = swf_disv2d_multi_package
150  case ('CXS')
151  multi_package = swf_cxs_multi_package
152  case ('DFW')
153  multi_package = swf_dfw_multi_package
154  case ('IC')
155  multi_package = swf_ic_multi_package
156  case ('CDB')
157  multi_package = swf_cdb_multi_package
158  case ('CHD')
159  multi_package = swf_chd_multi_package
160  case ('FLW')
161  multi_package = swf_flw_multi_package
162  case ('ZDG')
163  multi_package = swf_zdg_multi_package
164  case default
165  call store_error('Idm selector subcomponent not found; '//&
166  &'component="SWF"'//&
167  &', subcomponent="'//trim(subcomponent)//'".', .true.)
168  end select
169  return
170  end function swf_idm_multi_package
171 
172  function swf_idm_integrated(subcomponent) result(integrated)
173  character(len=*), intent(in) :: subcomponent
174  logical :: integrated
175  integrated = .false.
176  select case (subcomponent)
177  case ('NAM')
178  integrated = .true.
179  case ('DISV1D')
180  integrated = .true.
181  case ('DIS2D')
182  integrated = .true.
183  case ('DISV2D')
184  integrated = .true.
185  case ('CXS')
186  integrated = .true.
187  case ('DFW')
188  integrated = .true.
189  case ('IC')
190  integrated = .true.
191  case ('CDB')
192  integrated = .true.
193  case ('CHD')
194  integrated = .true.
195  case ('FLW')
196  integrated = .true.
197  case ('ZDG')
198  integrated = .true.
199  case default
200  end select
201  return
202  end function swf_idm_integrated
203 
204 end module idmswfdfnselectormodule
This module contains simulation constants.
Definition: Constants.f90:9
integer(i4b), parameter lenvarname
maximum length of a variable name
Definition: Constants.f90:17
subroutine set_param_pointer(input_dfn, input_dfn_target)
subroutine set_block_pointer(input_dfn, input_dfn_target)
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
logical, public swf_cdb_multi_package
Definition: swf-cdbidm.f90:31
type(inputparamdefinitiontype), dimension(*), parameter, public swf_cdb_param_definitions
Definition: swf-cdbidm.f90:288
type(inputparamdefinitiontype), dimension(*), parameter, public swf_cdb_aggregate_definitions
Definition: swf-cdbidm.f90:325
type(inputblockdefinitiontype), dimension(*), parameter, public swf_cdb_block_definitions
Definition: swf-cdbidm.f90:331
type(inputblockdefinitiontype), dimension(*), parameter, public swf_chd_block_definitions
Definition: swf-chdidm.f90:388
type(inputparamdefinitiontype), dimension(*), parameter, public swf_chd_param_definitions
Definition: swf-chdidm.f90:342
type(inputparamdefinitiontype), dimension(*), parameter, public swf_chd_aggregate_definitions
Definition: swf-chdidm.f90:382
logical, public swf_chd_multi_package
Definition: swf-chdidm.f90:34
type(inputparamdefinitiontype), dimension(*), parameter, public swf_cxs_aggregate_definitions
Definition: swf-cxsidm.f90:209
type(inputparamdefinitiontype), dimension(*), parameter, public swf_cxs_param_definitions
Definition: swf-cxsidm.f90:162
type(inputblockdefinitiontype), dimension(*), parameter, public swf_cxs_block_definitions
Definition: swf-cxsidm.f90:216
logical, public swf_cxs_multi_package
Definition: swf-cxsidm.f90:24
logical, public swf_dfw_multi_package
Definition: swf-dfwidm.f90:30
type(inputparamdefinitiontype), dimension(*), parameter, public swf_dfw_param_definitions
Definition: swf-dfwidm.f90:270
type(inputparamdefinitiontype), dimension(*), parameter, public swf_dfw_aggregate_definitions
Definition: swf-dfwidm.f90:289
type(inputblockdefinitiontype), dimension(*), parameter, public swf_dfw_block_definitions
Definition: swf-dfwidm.f90:309
type(inputblockdefinitiontype), dimension(*), parameter, public swf_dis2d_block_definitions
type(inputparamdefinitiontype), dimension(*), parameter, public swf_dis2d_param_definitions
type(inputparamdefinitiontype), dimension(*), parameter, public swf_dis2d_aggregate_definitions
logical, public swf_dis2d_multi_package
type(inputparamdefinitiontype), dimension(*), parameter, public swf_disv1d_aggregate_definitions
type(inputblockdefinitiontype), dimension(*), parameter, public swf_disv1d_block_definitions
type(inputparamdefinitiontype), dimension(*), parameter, public swf_disv1d_param_definitions
logical, public swf_disv1d_multi_package
logical, public swf_disv2d_multi_package
type(inputparamdefinitiontype), dimension(*), parameter, public swf_disv2d_aggregate_definitions
type(inputblockdefinitiontype), dimension(*), parameter, public swf_disv2d_block_definitions
type(inputparamdefinitiontype), dimension(*), parameter, public swf_disv2d_param_definitions
type(inputblockdefinitiontype), dimension(*), parameter, public swf_flw_block_definitions
Definition: swf-flwidm.f90:388
type(inputparamdefinitiontype), dimension(*), parameter, public swf_flw_aggregate_definitions
Definition: swf-flwidm.f90:382
logical, public swf_flw_multi_package
Definition: swf-flwidm.f90:34
type(inputparamdefinitiontype), dimension(*), parameter, public swf_flw_param_definitions
Definition: swf-flwidm.f90:342
type(inputblockdefinitiontype), dimension(*), parameter, public swf_ic_block_definitions
Definition: swf-icidm.f90:81
type(inputparamdefinitiontype), dimension(*), parameter, public swf_ic_aggregate_definitions
Definition: swf-icidm.f90:61
logical, public swf_ic_multi_package
Definition: swf-icidm.f90:18
type(inputparamdefinitiontype), dimension(*), parameter, public swf_ic_param_definitions
Definition: swf-icidm.f90:54
logical, public swf_nam_multi_package
Definition: swf-namidm.f90:26
type(inputblockdefinitiontype), dimension(*), parameter, public swf_nam_block_definitions
Definition: swf-namidm.f90:236
type(inputparamdefinitiontype), dimension(*), parameter, public swf_nam_param_definitions
Definition: swf-namidm.f90:198
type(inputparamdefinitiontype), dimension(*), parameter, public swf_nam_aggregate_definitions
Definition: swf-namidm.f90:230
type(inputblockdefinitiontype), dimension(*), parameter, public swf_zdg_block_definitions
Definition: swf-zdgidm.f90:426
type(inputparamdefinitiontype), dimension(*), parameter, public swf_zdg_param_definitions
Definition: swf-zdgidm.f90:378
type(inputparamdefinitiontype), dimension(*), parameter, public swf_zdg_aggregate_definitions
Definition: swf-zdgidm.f90:420
logical, public swf_zdg_multi_package
Definition: swf-zdgidm.f90:36