MODFLOW 6  version 6.7.0.dev0
USGS Modular Hydrologic Model
IdmGwtDfnSelector.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 :: gwt_param_definitions
20  public :: gwt_block_definitions
21  public :: gwt_idm_multi_package
22  public :: gwt_idm_subpackages
23  public :: gwt_idm_integrated
24 
25 contains
26 
27  subroutine set_param_pointer(input_dfn, input_dfn_target)
28  type(inputparamdefinitiontype), dimension(:), pointer :: input_dfn
29  type(inputparamdefinitiontype), dimension(:), target :: input_dfn_target
30  input_dfn => input_dfn_target
31  end subroutine set_param_pointer
32 
33  subroutine set_block_pointer(input_dfn, input_dfn_target)
34  type(inputblockdefinitiontype), dimension(:), pointer :: input_dfn
35  type(inputblockdefinitiontype), dimension(:), target :: input_dfn_target
36  input_dfn => input_dfn_target
37  end subroutine set_block_pointer
38 
39  subroutine set_subpkg_pointer(subpkg_list, subpkg_list_target)
40  character(len=16), dimension(:), pointer :: subpkg_list
41  character(len=16), dimension(:), target :: subpkg_list_target
42  subpkg_list => subpkg_list_target
43  end subroutine set_subpkg_pointer
44 
45  function gwt_param_definitions(subcomponent) result(input_definition)
46  character(len=*), intent(in) :: subcomponent
47  type(inputparamdefinitiontype), dimension(:), pointer :: input_definition
48  nullify (input_definition)
49  select case (subcomponent)
50  case ('NAM')
51  call set_param_pointer(input_definition, gwt_nam_param_definitions)
52  case ('DIS')
53  call set_param_pointer(input_definition, gwt_dis_param_definitions)
54  case ('DISU')
55  call set_param_pointer(input_definition, gwt_disu_param_definitions)
56  case ('DISV')
57  call set_param_pointer(input_definition, gwt_disv_param_definitions)
58  case ('DSP')
59  call set_param_pointer(input_definition, gwt_dsp_param_definitions)
60  case ('CNC')
61  call set_param_pointer(input_definition, gwt_cnc_param_definitions)
62  case ('IC')
63  call set_param_pointer(input_definition, gwt_ic_param_definitions)
64  case default
65  end select
66  return
67  end function gwt_param_definitions
68 
69  function gwt_aggregate_definitions(subcomponent) result(input_definition)
70  character(len=*), intent(in) :: subcomponent
71  type(inputparamdefinitiontype), dimension(:), pointer :: input_definition
72  nullify (input_definition)
73  select case (subcomponent)
74  case ('NAM')
75  call set_param_pointer(input_definition, gwt_nam_aggregate_definitions)
76  case ('DIS')
77  call set_param_pointer(input_definition, gwt_dis_aggregate_definitions)
78  case ('DISU')
80  case ('DISV')
82  case ('DSP')
83  call set_param_pointer(input_definition, gwt_dsp_aggregate_definitions)
84  case ('CNC')
85  call set_param_pointer(input_definition, gwt_cnc_aggregate_definitions)
86  case ('IC')
87  call set_param_pointer(input_definition, gwt_ic_aggregate_definitions)
88  case default
89  end select
90  return
91  end function gwt_aggregate_definitions
92 
93  function gwt_block_definitions(subcomponent) result(input_definition)
94  character(len=*), intent(in) :: subcomponent
95  type(inputblockdefinitiontype), dimension(:), pointer :: input_definition
96  nullify (input_definition)
97  select case (subcomponent)
98  case ('NAM')
99  call set_block_pointer(input_definition, gwt_nam_block_definitions)
100  case ('DIS')
101  call set_block_pointer(input_definition, gwt_dis_block_definitions)
102  case ('DISU')
103  call set_block_pointer(input_definition, gwt_disu_block_definitions)
104  case ('DISV')
105  call set_block_pointer(input_definition, gwt_disv_block_definitions)
106  case ('DSP')
107  call set_block_pointer(input_definition, gwt_dsp_block_definitions)
108  case ('CNC')
109  call set_block_pointer(input_definition, gwt_cnc_block_definitions)
110  case ('IC')
111  call set_block_pointer(input_definition, gwt_ic_block_definitions)
112  case default
113  end select
114  return
115  end function gwt_block_definitions
116 
117  function gwt_idm_multi_package(subcomponent) result(multi_package)
118  character(len=*), intent(in) :: subcomponent
119  logical :: multi_package
120  select case (subcomponent)
121  case ('NAM')
122  multi_package = gwt_nam_multi_package
123  case ('DIS')
124  multi_package = gwt_dis_multi_package
125  case ('DISU')
126  multi_package = gwt_disu_multi_package
127  case ('DISV')
128  multi_package = gwt_disv_multi_package
129  case ('DSP')
130  multi_package = gwt_dsp_multi_package
131  case ('CNC')
132  multi_package = gwt_cnc_multi_package
133  case ('IC')
134  multi_package = gwt_ic_multi_package
135  case default
136  call store_error('Idm selector subcomponent not found; '//&
137  &'component="GWT"'//&
138  &', subcomponent="'//trim(subcomponent)//'".', .true.)
139  end select
140  return
141  end function gwt_idm_multi_package
142 
143  function gwt_idm_subpackages(subcomponent) result(subpackages)
144  character(len=*), intent(in) :: subcomponent
145  character(len=16), dimension(:), pointer :: subpackages
146  select case (subcomponent)
147  case ('NAM')
148  call set_subpkg_pointer(subpackages, gwt_nam_subpackages)
149  case ('DIS')
150  call set_subpkg_pointer(subpackages, gwt_dis_subpackages)
151  case ('DISU')
152  call set_subpkg_pointer(subpackages, gwt_disu_subpackages)
153  case ('DISV')
154  call set_subpkg_pointer(subpackages, gwt_disv_subpackages)
155  case ('DSP')
156  call set_subpkg_pointer(subpackages, gwt_dsp_subpackages)
157  case ('CNC')
158  call set_subpkg_pointer(subpackages, gwt_cnc_subpackages)
159  case ('IC')
160  call set_subpkg_pointer(subpackages, gwt_ic_subpackages)
161  case default
162  end select
163  return
164  end function gwt_idm_subpackages
165 
166  function gwt_idm_integrated(subcomponent) result(integrated)
167  character(len=*), intent(in) :: subcomponent
168  logical :: integrated
169  integrated = .false.
170  select case (subcomponent)
171  case ('NAM')
172  integrated = .true.
173  case ('DIS')
174  integrated = .true.
175  case ('DISU')
176  integrated = .true.
177  case ('DISV')
178  integrated = .true.
179  case ('DSP')
180  integrated = .true.
181  case ('CNC')
182  integrated = .true.
183  case ('IC')
184  integrated = .true.
185  case default
186  end select
187  return
188  end function gwt_idm_integrated
189 
190 end module idmgwtdfnselectormodule
This module contains simulation constants.
Definition: Constants.f90:9
integer(i4b), parameter lenvarname
maximum length of a variable name
Definition: Constants.f90:17
type(inputparamdefinitiontype), dimension(*), parameter, public gwt_cnc_param_definitions
Definition: gwt-cncidm.f90:367
type(inputparamdefinitiontype), dimension(*), parameter, public gwt_cnc_aggregate_definitions
Definition: gwt-cncidm.f90:408
logical, public gwt_cnc_multi_package
Definition: gwt-cncidm.f90:35
type(inputblockdefinitiontype), dimension(*), parameter, public gwt_cnc_block_definitions
Definition: gwt-cncidm.f90:414
character(len=16), dimension(*), parameter, public gwt_cnc_subpackages
Definition: gwt-cncidm.f90:37
type(inputparamdefinitiontype), dimension(*), parameter, public gwt_dis_param_definitions
Definition: gwt-disidm.f90:386
logical, public gwt_dis_multi_package
Definition: gwt-disidm.f90:36
type(inputparamdefinitiontype), dimension(*), parameter, public gwt_dis_aggregate_definitions
Definition: gwt-disidm.f90:410
type(inputblockdefinitiontype), dimension(*), parameter, public gwt_dis_block_definitions
Definition: gwt-disidm.f90:431
character(len=16), dimension(*), parameter, public gwt_dis_subpackages
Definition: gwt-disidm.f90:38
type(inputparamdefinitiontype), dimension(*), parameter, public gwt_disu_aggregate_definitions
logical, public gwt_disu_multi_package
Definition: gwt-disuidm.f90:45
character(len=16), dimension(*), parameter, public gwt_disu_subpackages
Definition: gwt-disuidm.f90:47
type(inputparamdefinitiontype), dimension(*), parameter, public gwt_disu_param_definitions
type(inputblockdefinitiontype), dimension(*), parameter, public gwt_disu_block_definitions
type(inputparamdefinitiontype), dimension(*), parameter, public gwt_disv_aggregate_definitions
character(len=16), dimension(*), parameter, public gwt_disv_subpackages
Definition: gwt-disvidm.f90:44
type(inputparamdefinitiontype), dimension(*), parameter, public gwt_disv_param_definitions
type(inputblockdefinitiontype), dimension(*), parameter, public gwt_disv_block_definitions
logical, public gwt_disv_multi_package
Definition: gwt-disvidm.f90:42
character(len=16), dimension(*), parameter, public gwt_dsp_subpackages
Definition: gwt-dspidm.f90:29
type(inputparamdefinitiontype), dimension(*), parameter, public gwt_dsp_aggregate_definitions
Definition: gwt-dspidm.f90:230
type(inputparamdefinitiontype), dimension(*), parameter, public gwt_dsp_param_definitions
Definition: gwt-dspidm.f90:215
type(inputblockdefinitiontype), dimension(*), parameter, public gwt_dsp_block_definitions
Definition: gwt-dspidm.f90:251
logical, public gwt_dsp_multi_package
Definition: gwt-dspidm.f90:27
type(inputblockdefinitiontype), dimension(*), parameter, public gwt_ic_block_definitions
Definition: gwt-icidm.f90:111
logical, public gwt_ic_multi_package
Definition: gwt-icidm.f90:20
character(len=16), dimension(*), parameter, public gwt_ic_subpackages
Definition: gwt-icidm.f90:22
type(inputparamdefinitiontype), dimension(*), parameter, public gwt_ic_param_definitions
Definition: gwt-icidm.f90:82
type(inputparamdefinitiontype), dimension(*), parameter, public gwt_ic_aggregate_definitions
Definition: gwt-icidm.f90:90
logical, public gwt_nam_multi_package
Definition: gwt-namidm.f90:35
type(inputparamdefinitiontype), dimension(*), parameter, public gwt_nam_param_definitions
Definition: gwt-namidm.f90:367
type(inputparamdefinitiontype), dimension(*), parameter, public gwt_nam_aggregate_definitions
Definition: gwt-namidm.f90:408
type(inputblockdefinitiontype), dimension(*), parameter, public gwt_nam_block_definitions
Definition: gwt-namidm.f90:414
character(len=16), dimension(*), parameter, public gwt_nam_subpackages
Definition: gwt-namidm.f90:37
subroutine set_subpkg_pointer(subpkg_list, subpkg_list_target)
subroutine set_block_pointer(input_dfn, input_dfn_target)
logical function, public gwt_idm_integrated(subcomponent)
subroutine set_param_pointer(input_dfn, input_dfn_target)
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)
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