MODFLOW 6  version 6.5.0.dev2
MODFLOW 6 Code Documentation
IdmGwfDfnSelector.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
23 
24  implicit none
25  private
26  public :: gwf_param_definitions
28  public :: gwf_block_definitions
29  public :: gwf_idm_multi_package
30  public :: gwf_idm_integrated
31 
32 contains
33 
34  subroutine set_param_pointer(input_dfn, input_dfn_target)
35  type(inputparamdefinitiontype), dimension(:), pointer :: input_dfn
36  type(inputparamdefinitiontype), dimension(:), target :: input_dfn_target
37  input_dfn => input_dfn_target
38  end subroutine set_param_pointer
39 
40  subroutine set_block_pointer(input_dfn, input_dfn_target)
41  type(inputblockdefinitiontype), dimension(:), pointer :: input_dfn
42  type(inputblockdefinitiontype), dimension(:), target :: input_dfn_target
43  input_dfn => input_dfn_target
44  end subroutine set_block_pointer
45 
46  function gwf_param_definitions(subcomponent) result(input_definition)
47  character(len=*), intent(in) :: subcomponent
48  type(inputparamdefinitiontype), dimension(:), pointer :: input_definition
49  nullify (input_definition)
50  select case (subcomponent)
51  case ('NAM')
52  call set_param_pointer(input_definition, gwf_nam_param_definitions)
53  case ('CHD')
54  call set_param_pointer(input_definition, gwf_chd_param_definitions)
55  case ('DIS')
56  call set_param_pointer(input_definition, gwf_dis_param_definitions)
57  case ('DISU')
58  call set_param_pointer(input_definition, gwf_disu_param_definitions)
59  case ('DISV')
60  call set_param_pointer(input_definition, gwf_disv_param_definitions)
61  case ('DRN')
62  call set_param_pointer(input_definition, gwf_drn_param_definitions)
63  case ('EVT')
64  call set_param_pointer(input_definition, gwf_evt_param_definitions)
65  case ('EVTA')
66  call set_param_pointer(input_definition, gwf_evta_param_definitions)
67  case ('GHB')
68  call set_param_pointer(input_definition, gwf_ghb_param_definitions)
69  case ('IC')
70  call set_param_pointer(input_definition, gwf_ic_param_definitions)
71  case ('NPF')
72  call set_param_pointer(input_definition, gwf_npf_param_definitions)
73  case ('RCH')
74  call set_param_pointer(input_definition, gwf_rch_param_definitions)
75  case ('RCHA')
76  call set_param_pointer(input_definition, gwf_rcha_param_definitions)
77  case ('RIV')
78  call set_param_pointer(input_definition, gwf_riv_param_definitions)
79  case ('WEL')
80  call set_param_pointer(input_definition, gwf_wel_param_definitions)
81  case default
82  end select
83  return
84  end function gwf_param_definitions
85 
86  function gwf_aggregate_definitions(subcomponent) result(input_definition)
87  character(len=*), intent(in) :: subcomponent
88  type(inputparamdefinitiontype), dimension(:), pointer :: input_definition
89  nullify (input_definition)
90  select case (subcomponent)
91  case ('NAM')
92  call set_param_pointer(input_definition, gwf_nam_aggregate_definitions)
93  case ('CHD')
94  call set_param_pointer(input_definition, gwf_chd_aggregate_definitions)
95  case ('DIS')
96  call set_param_pointer(input_definition, gwf_dis_aggregate_definitions)
97  case ('DISU')
99  case ('DISV')
100  call set_param_pointer(input_definition, gwf_disv_aggregate_definitions)
101  case ('DRN')
102  call set_param_pointer(input_definition, gwf_drn_aggregate_definitions)
103  case ('EVT')
104  call set_param_pointer(input_definition, gwf_evt_aggregate_definitions)
105  case ('EVTA')
106  call set_param_pointer(input_definition, gwf_evta_aggregate_definitions)
107  case ('GHB')
108  call set_param_pointer(input_definition, gwf_ghb_aggregate_definitions)
109  case ('IC')
110  call set_param_pointer(input_definition, gwf_ic_aggregate_definitions)
111  case ('NPF')
112  call set_param_pointer(input_definition, gwf_npf_aggregate_definitions)
113  case ('RCH')
114  call set_param_pointer(input_definition, gwf_rch_aggregate_definitions)
115  case ('RCHA')
116  call set_param_pointer(input_definition, gwf_rcha_aggregate_definitions)
117  case ('RIV')
118  call set_param_pointer(input_definition, gwf_riv_aggregate_definitions)
119  case ('WEL')
120  call set_param_pointer(input_definition, gwf_wel_aggregate_definitions)
121  case default
122  end select
123  return
124  end function gwf_aggregate_definitions
125 
126  function gwf_block_definitions(subcomponent) result(input_definition)
127  character(len=*), intent(in) :: subcomponent
128  type(inputblockdefinitiontype), dimension(:), pointer :: input_definition
129  nullify (input_definition)
130  select case (subcomponent)
131  case ('NAM')
132  call set_block_pointer(input_definition, gwf_nam_block_definitions)
133  case ('CHD')
134  call set_block_pointer(input_definition, gwf_chd_block_definitions)
135  case ('DIS')
136  call set_block_pointer(input_definition, gwf_dis_block_definitions)
137  case ('DISU')
138  call set_block_pointer(input_definition, gwf_disu_block_definitions)
139  case ('DISV')
140  call set_block_pointer(input_definition, gwf_disv_block_definitions)
141  case ('DRN')
142  call set_block_pointer(input_definition, gwf_drn_block_definitions)
143  case ('EVT')
144  call set_block_pointer(input_definition, gwf_evt_block_definitions)
145  case ('EVTA')
146  call set_block_pointer(input_definition, gwf_evta_block_definitions)
147  case ('GHB')
148  call set_block_pointer(input_definition, gwf_ghb_block_definitions)
149  case ('IC')
150  call set_block_pointer(input_definition, gwf_ic_block_definitions)
151  case ('NPF')
152  call set_block_pointer(input_definition, gwf_npf_block_definitions)
153  case ('RCH')
154  call set_block_pointer(input_definition, gwf_rch_block_definitions)
155  case ('RCHA')
156  call set_block_pointer(input_definition, gwf_rcha_block_definitions)
157  case ('RIV')
158  call set_block_pointer(input_definition, gwf_riv_block_definitions)
159  case ('WEL')
160  call set_block_pointer(input_definition, gwf_wel_block_definitions)
161  case default
162  end select
163  return
164  end function gwf_block_definitions
165 
166  function gwf_idm_multi_package(subcomponent) result(multi_package)
167  character(len=*), intent(in) :: subcomponent
168  logical :: multi_package
169  select case (subcomponent)
170  case ('NAM')
171  multi_package = gwf_nam_multi_package
172  case ('CHD')
173  multi_package = gwf_chd_multi_package
174  case ('DIS')
175  multi_package = gwf_dis_multi_package
176  case ('DISU')
177  multi_package = gwf_disu_multi_package
178  case ('DISV')
179  multi_package = gwf_disv_multi_package
180  case ('DRN')
181  multi_package = gwf_drn_multi_package
182  case ('EVT')
183  multi_package = gwf_evt_multi_package
184  case ('EVTA')
185  multi_package = gwf_evta_multi_package
186  case ('GHB')
187  multi_package = gwf_ghb_multi_package
188  case ('IC')
189  multi_package = gwf_ic_multi_package
190  case ('NPF')
191  multi_package = gwf_npf_multi_package
192  case ('RCH')
193  multi_package = gwf_rch_multi_package
194  case ('RCHA')
195  multi_package = gwf_rcha_multi_package
196  case ('RIV')
197  multi_package = gwf_riv_multi_package
198  case ('WEL')
199  multi_package = gwf_wel_multi_package
200  case default
201  call store_error('Idm selector subcomponent not found; '//&
202  &'component="GWF"'//&
203  &', subcomponent="'//trim(subcomponent)//'".', .true.)
204  end select
205  return
206  end function gwf_idm_multi_package
207 
208  function gwf_idm_integrated(subcomponent) result(integrated)
209  character(len=*), intent(in) :: subcomponent
210  logical :: integrated
211  integrated = .false.
212  select case (subcomponent)
213  case ('NAM')
214  integrated = .true.
215  case ('CHD')
216  integrated = .true.
217  case ('DIS')
218  integrated = .true.
219  case ('DISU')
220  integrated = .true.
221  case ('DISV')
222  integrated = .true.
223  case ('DRN')
224  integrated = .true.
225  case ('EVT')
226  integrated = .true.
227  case ('EVTA')
228  integrated = .true.
229  case ('GHB')
230  integrated = .true.
231  case ('IC')
232  integrated = .true.
233  case ('NPF')
234  integrated = .true.
235  case ('RCH')
236  integrated = .true.
237  case ('RCHA')
238  integrated = .true.
239  case ('RIV')
240  integrated = .true.
241  case ('WEL')
242  integrated = .true.
243  case default
244  end select
245  return
246  end function gwf_idm_integrated
247 
248 end module idmgwfdfnselectormodule
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), dimension(*), parameter, public gwf_chd_block_definitions
Definition: gwf-chdidm.f90:407
type(inputparamdefinitiontype), dimension(*), parameter, public gwf_chd_param_definitions
Definition: gwf-chdidm.f90:360
type(inputparamdefinitiontype), dimension(*), parameter, public gwf_chd_aggregate_definitions
Definition: gwf-chdidm.f90:401
logical, public gwf_chd_multi_package
Definition: gwf-chdidm.f90:35
type(inputparamdefinitiontype), dimension(*), parameter, public gwf_dis_param_definitions
Definition: gwf-disidm.f90:270
logical, public gwf_dis_multi_package
Definition: gwf-disidm.f90:30
type(inputblockdefinitiontype), dimension(*), parameter, public gwf_dis_block_definitions
Definition: gwf-disidm.f90:309
type(inputparamdefinitiontype), dimension(*), parameter, public gwf_dis_aggregate_definitions
Definition: gwf-disidm.f90:289
type(inputparamdefinitiontype), dimension(*), parameter, public gwf_disu_aggregate_definitions
logical, public gwf_disu_multi_package
Definition: gwf-disuidm.f90:44
type(inputparamdefinitiontype), dimension(*), parameter, public gwf_disu_param_definitions
type(inputblockdefinitiontype), dimension(*), parameter, public gwf_disu_block_definitions
logical, public gwf_disv_multi_package
Definition: gwf-disvidm.f90:36
type(inputparamdefinitiontype), dimension(*), parameter, public gwf_disv_aggregate_definitions
type(inputparamdefinitiontype), dimension(*), parameter, public gwf_disv_param_definitions
type(inputblockdefinitiontype), dimension(*), parameter, public gwf_disv_block_definitions
logical, public gwf_drn_multi_package
Definition: gwf-drnidm.f90:38
type(inputblockdefinitiontype), dimension(*), parameter, public gwf_drn_block_definitions
Definition: gwf-drnidm.f90:464
type(inputparamdefinitiontype), dimension(*), parameter, public gwf_drn_aggregate_definitions
Definition: gwf-drnidm.f90:458
type(inputparamdefinitiontype), dimension(*), parameter, public gwf_drn_param_definitions
Definition: gwf-drnidm.f90:414
type(inputparamdefinitiontype), dimension(*), parameter, public gwf_evta_param_definitions
type(inputparamdefinitiontype), dimension(*), parameter, public gwf_evta_aggregate_definitions
type(inputblockdefinitiontype), dimension(*), parameter, public gwf_evta_block_definitions
logical, public gwf_evta_multi_package
Definition: gwf-evtaidm.f90:35
type(inputparamdefinitiontype), dimension(*), parameter, public gwf_evt_param_definitions
Definition: gwf-evtidm.f90:486
type(inputblockdefinitiontype), dimension(*), parameter, public gwf_evt_block_definitions
Definition: gwf-evtidm.f90:540
type(inputparamdefinitiontype), dimension(*), parameter, public gwf_evt_aggregate_definitions
Definition: gwf-evtidm.f90:534
logical, public gwf_evt_multi_package
Definition: gwf-evtidm.f90:42
type(inputparamdefinitiontype), dimension(*), parameter, public gwf_ghb_aggregate_definitions
Definition: gwf-ghbidm.f90:420
type(inputblockdefinitiontype), dimension(*), parameter, public gwf_ghb_block_definitions
Definition: gwf-ghbidm.f90:426
logical, public gwf_ghb_multi_package
Definition: gwf-ghbidm.f90:36
type(inputparamdefinitiontype), dimension(*), parameter, public gwf_ghb_param_definitions
Definition: gwf-ghbidm.f90:378
type(inputparamdefinitiontype), dimension(*), parameter, public gwf_ic_aggregate_definitions
Definition: gwf-icidm.f90:61
logical, public gwf_ic_multi_package
Definition: gwf-icidm.f90:18
type(inputblockdefinitiontype), dimension(*), parameter, public gwf_ic_block_definitions
Definition: gwf-icidm.f90:81
type(inputparamdefinitiontype), dimension(*), parameter, public gwf_ic_param_definitions
Definition: gwf-icidm.f90:54
type(inputparamdefinitiontype), dimension(*), parameter, public gwf_nam_param_definitions
Definition: gwf-namidm.f90:198
type(inputparamdefinitiontype), dimension(*), parameter, public gwf_nam_aggregate_definitions
Definition: gwf-namidm.f90:230
logical, public gwf_nam_multi_package
Definition: gwf-namidm.f90:26
type(inputblockdefinitiontype), dimension(*), parameter, public gwf_nam_block_definitions
Definition: gwf-namidm.f90:236
logical, public gwf_npf_multi_package
Definition: gwf-npfidm.f90:51
type(inputparamdefinitiontype), dimension(*), parameter, public gwf_npf_param_definitions
Definition: gwf-npfidm.f90:648
type(inputblockdefinitiontype), dimension(*), parameter, public gwf_npf_block_definitions
Definition: gwf-npfidm.f90:708
type(inputparamdefinitiontype), dimension(*), parameter, public gwf_npf_aggregate_definitions
Definition: gwf-npfidm.f90:688
type(inputparamdefinitiontype), dimension(*), parameter, public gwf_rcha_aggregate_definitions
logical, public gwf_rcha_multi_package
Definition: gwf-rchaidm.f90:33
type(inputparamdefinitiontype), dimension(*), parameter, public gwf_rcha_param_definitions
type(inputblockdefinitiontype), dimension(*), parameter, public gwf_rcha_block_definitions
type(inputblockdefinitiontype), dimension(*), parameter, public gwf_rch_block_definitions
Definition: gwf-rchidm.f90:407
type(inputparamdefinitiontype), dimension(*), parameter, public gwf_rch_aggregate_definitions
Definition: gwf-rchidm.f90:401
type(inputparamdefinitiontype), dimension(*), parameter, public gwf_rch_param_definitions
Definition: gwf-rchidm.f90:360
logical, public gwf_rch_multi_package
Definition: gwf-rchidm.f90:35
logical, public gwf_riv_multi_package
Definition: gwf-rividm.f90:37
type(inputparamdefinitiontype), dimension(*), parameter, public gwf_riv_param_definitions
Definition: gwf-rividm.f90:396
type(inputparamdefinitiontype), dimension(*), parameter, public gwf_riv_aggregate_definitions
Definition: gwf-rividm.f90:439
type(inputblockdefinitiontype), dimension(*), parameter, public gwf_riv_block_definitions
Definition: gwf-rividm.f90:445
type(inputparamdefinitiontype), dimension(*), parameter, public gwf_wel_aggregate_definitions
Definition: gwf-welidm.f90:496
type(inputblockdefinitiontype), dimension(*), parameter, public gwf_wel_block_definitions
Definition: gwf-welidm.f90:502
logical, public gwf_wel_multi_package
Definition: gwf-welidm.f90:40
type(inputparamdefinitiontype), dimension(*), parameter, public gwf_wel_param_definitions
Definition: gwf-welidm.f90:450
logical function, public gwf_idm_integrated(subcomponent)
subroutine set_param_pointer(input_dfn, input_dfn_target)
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)
subroutine set_block_pointer(input_dfn, input_dfn_target)
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