MODFLOW 6  version 6.7.0.dev0
USGS Modular Hydrologic Model
IdmGweDfnSelector.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 :: gwe_param_definitions
20  public :: gwe_block_definitions
21  public :: gwe_idm_multi_package
22  public :: gwe_idm_subpackages
23  public :: gwe_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 gwe_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, gwe_nam_param_definitions)
52  case ('IC')
53  call set_param_pointer(input_definition, gwe_ic_param_definitions)
54  case ('CTP')
55  call set_param_pointer(input_definition, gwe_ctp_param_definitions)
56  case ('CND')
57  call set_param_pointer(input_definition, gwe_cnd_param_definitions)
58  case ('DISV')
59  call set_param_pointer(input_definition, gwe_disv_param_definitions)
60  case ('DISU')
61  call set_param_pointer(input_definition, gwe_disu_param_definitions)
62  case ('DIS')
63  call set_param_pointer(input_definition, gwe_dis_param_definitions)
64  case default
65  end select
66  return
67  end function gwe_param_definitions
68 
69  function gwe_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, gwe_nam_aggregate_definitions)
76  case ('IC')
77  call set_param_pointer(input_definition, gwe_ic_aggregate_definitions)
78  case ('CTP')
79  call set_param_pointer(input_definition, gwe_ctp_aggregate_definitions)
80  case ('CND')
81  call set_param_pointer(input_definition, gwe_cnd_aggregate_definitions)
82  case ('DISV')
84  case ('DISU')
86  case ('DIS')
87  call set_param_pointer(input_definition, gwe_dis_aggregate_definitions)
88  case default
89  end select
90  return
91  end function gwe_aggregate_definitions
92 
93  function gwe_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, gwe_nam_block_definitions)
100  case ('IC')
101  call set_block_pointer(input_definition, gwe_ic_block_definitions)
102  case ('CTP')
103  call set_block_pointer(input_definition, gwe_ctp_block_definitions)
104  case ('CND')
105  call set_block_pointer(input_definition, gwe_cnd_block_definitions)
106  case ('DISV')
107  call set_block_pointer(input_definition, gwe_disv_block_definitions)
108  case ('DISU')
109  call set_block_pointer(input_definition, gwe_disu_block_definitions)
110  case ('DIS')
111  call set_block_pointer(input_definition, gwe_dis_block_definitions)
112  case default
113  end select
114  return
115  end function gwe_block_definitions
116 
117  function gwe_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 = gwe_nam_multi_package
123  case ('IC')
124  multi_package = gwe_ic_multi_package
125  case ('CTP')
126  multi_package = gwe_ctp_multi_package
127  case ('CND')
128  multi_package = gwe_cnd_multi_package
129  case ('DISV')
130  multi_package = gwe_disv_multi_package
131  case ('DISU')
132  multi_package = gwe_disu_multi_package
133  case ('DIS')
134  multi_package = gwe_dis_multi_package
135  case default
136  call store_error('Idm selector subcomponent not found; '//&
137  &'component="GWE"'//&
138  &', subcomponent="'//trim(subcomponent)//'".', .true.)
139  end select
140  return
141  end function gwe_idm_multi_package
142 
143  function gwe_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, gwe_nam_subpackages)
149  case ('IC')
150  call set_subpkg_pointer(subpackages, gwe_ic_subpackages)
151  case ('CTP')
152  call set_subpkg_pointer(subpackages, gwe_ctp_subpackages)
153  case ('CND')
154  call set_subpkg_pointer(subpackages, gwe_cnd_subpackages)
155  case ('DISV')
156  call set_subpkg_pointer(subpackages, gwe_disv_subpackages)
157  case ('DISU')
158  call set_subpkg_pointer(subpackages, gwe_disu_subpackages)
159  case ('DIS')
160  call set_subpkg_pointer(subpackages, gwe_dis_subpackages)
161  case default
162  end select
163  return
164  end function gwe_idm_subpackages
165 
166  function gwe_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 ('IC')
174  integrated = .true.
175  case ('CTP')
176  integrated = .true.
177  case ('CND')
178  integrated = .true.
179  case ('DISV')
180  integrated = .true.
181  case ('DISU')
182  integrated = .true.
183  case ('DIS')
184  integrated = .true.
185  case default
186  end select
187  return
188  end function gwe_idm_integrated
189 
190 end module idmgwedfnselectormodule
This module contains simulation constants.
Definition: Constants.f90:9
integer(i4b), parameter lenvarname
maximum length of a variable name
Definition: Constants.f90:17
logical, public gwe_cnd_multi_package
Definition: gwe-cndidm.f90:28
character(len=16), dimension(*), parameter, public gwe_cnd_subpackages
Definition: gwe-cndidm.f90:30
type(inputblockdefinitiontype), dimension(*), parameter, public gwe_cnd_block_definitions
Definition: gwe-cndidm.f90:271
type(inputparamdefinitiontype), dimension(*), parameter, public gwe_cnd_aggregate_definitions
Definition: gwe-cndidm.f90:250
type(inputparamdefinitiontype), dimension(*), parameter, public gwe_cnd_param_definitions
Definition: gwe-cndidm.f90:234
character(len=16), dimension(*), parameter, public gwe_ctp_subpackages
Definition: gwe-ctpidm.f90:37
type(inputparamdefinitiontype), dimension(*), parameter, public gwe_ctp_aggregate_definitions
Definition: gwe-ctpidm.f90:408
type(inputparamdefinitiontype), dimension(*), parameter, public gwe_ctp_param_definitions
Definition: gwe-ctpidm.f90:367
logical, public gwe_ctp_multi_package
Definition: gwe-ctpidm.f90:35
type(inputblockdefinitiontype), dimension(*), parameter, public gwe_ctp_block_definitions
Definition: gwe-ctpidm.f90:414
type(inputblockdefinitiontype), dimension(*), parameter, public gwe_dis_block_definitions
Definition: gwe-disidm.f90:431
character(len=16), dimension(*), parameter, public gwe_dis_subpackages
Definition: gwe-disidm.f90:38
type(inputparamdefinitiontype), dimension(*), parameter, public gwe_dis_aggregate_definitions
Definition: gwe-disidm.f90:410
logical, public gwe_dis_multi_package
Definition: gwe-disidm.f90:36
type(inputparamdefinitiontype), dimension(*), parameter, public gwe_dis_param_definitions
Definition: gwe-disidm.f90:386
type(inputparamdefinitiontype), dimension(*), parameter, public gwe_disu_param_definitions
type(inputblockdefinitiontype), dimension(*), parameter, public gwe_disu_block_definitions
type(inputparamdefinitiontype), dimension(*), parameter, public gwe_disu_aggregate_definitions
logical, public gwe_disu_multi_package
Definition: gwe-disuidm.f90:45
character(len=16), dimension(*), parameter, public gwe_disu_subpackages
Definition: gwe-disuidm.f90:47
type(inputblockdefinitiontype), dimension(*), parameter, public gwe_disv_block_definitions
character(len=16), dimension(*), parameter, public gwe_disv_subpackages
Definition: gwe-disvidm.f90:44
type(inputparamdefinitiontype), dimension(*), parameter, public gwe_disv_aggregate_definitions
logical, public gwe_disv_multi_package
Definition: gwe-disvidm.f90:42
type(inputparamdefinitiontype), dimension(*), parameter, public gwe_disv_param_definitions
type(inputblockdefinitiontype), dimension(*), parameter, public gwe_ic_block_definitions
Definition: gwe-icidm.f90:111
logical, public gwe_ic_multi_package
Definition: gwe-icidm.f90:20
character(len=16), dimension(*), parameter, public gwe_ic_subpackages
Definition: gwe-icidm.f90:22
type(inputparamdefinitiontype), dimension(*), parameter, public gwe_ic_aggregate_definitions
Definition: gwe-icidm.f90:90
type(inputparamdefinitiontype), dimension(*), parameter, public gwe_ic_param_definitions
Definition: gwe-icidm.f90:82
type(inputblockdefinitiontype), dimension(*), parameter, public gwe_nam_block_definitions
Definition: gwe-namidm.f90:414
logical, public gwe_nam_multi_package
Definition: gwe-namidm.f90:35
type(inputparamdefinitiontype), dimension(*), parameter, public gwe_nam_aggregate_definitions
Definition: gwe-namidm.f90:408
type(inputparamdefinitiontype), dimension(*), parameter, public gwe_nam_param_definitions
Definition: gwe-namidm.f90:367
character(len=16), dimension(*), parameter, public gwe_nam_subpackages
Definition: gwe-namidm.f90:37
logical function, public gwe_idm_multi_package(subcomponent)
subroutine set_param_pointer(input_dfn, input_dfn_target)
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)
subroutine set_block_pointer(input_dfn, input_dfn_target)
type(inputblockdefinitiontype) function, dimension(:), pointer, public gwe_block_definitions(subcomponent)
subroutine set_subpkg_pointer(subpkg_list, subpkg_list_target)
character(len=16) function, dimension(:), pointer, public gwe_idm_subpackages(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