MODFLOW 6  version 6.9.0.dev0
USGS Modular Hydrologic Model
IdmExgDfnSelector.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
16 
17  implicit none
18  private
19  public :: exg_param_definitions
21  public :: exg_block_definitions
22  public :: exg_idm_multi_package
23  public :: exg_idm_is_advanced
24  public :: exg_idm_subpackages
25  public :: exg_idm_integrated
26 
27 contains
28 
29  subroutine set_param_pointer(input_dfn, input_dfn_target)
30  type(inputparamdefinitiontype), dimension(:), pointer :: input_dfn
31  type(inputparamdefinitiontype), dimension(:), target :: input_dfn_target
32  input_dfn => input_dfn_target
33  end subroutine set_param_pointer
34 
35  subroutine set_block_pointer(input_dfn, input_dfn_target)
36  type(inputblockdefinitiontype), dimension(:), pointer :: input_dfn
37  type(inputblockdefinitiontype), dimension(:), target :: input_dfn_target
38  input_dfn => input_dfn_target
39  end subroutine set_block_pointer
40 
41  subroutine set_subpkg_pointer(subpkg_list, subpkg_list_target)
42  character(len=16), dimension(:), pointer :: subpkg_list
43  character(len=16), dimension(:), target :: subpkg_list_target
44  subpkg_list => subpkg_list_target
45  end subroutine set_subpkg_pointer
46 
47  function exg_param_definitions(subcomponent) result(input_definition)
48  character(len=*), intent(in) :: subcomponent
49  type(inputparamdefinitiontype), dimension(:), pointer :: input_definition
50  nullify (input_definition)
51  select case (subcomponent)
52  case ('CHFGWF')
53  call set_param_pointer(input_definition, exg_chfgwf_param_definitions)
54  case ('GWFGWF')
55  call set_param_pointer(input_definition, exg_gwfgwf_param_definitions)
56  case ('GWFGWT')
57  call set_param_pointer(input_definition, exg_gwfgwt_param_definitions)
58  case ('GWTGWT')
59  call set_param_pointer(input_definition, exg_gwtgwt_param_definitions)
60  case ('GWFGWE')
61  call set_param_pointer(input_definition, exg_gwfgwe_param_definitions)
62  case ('GWEGWE')
63  call set_param_pointer(input_definition, exg_gwegwe_param_definitions)
64  case ('GWFPRT')
65  call set_param_pointer(input_definition, exg_gwfprt_param_definitions)
66  case ('OLFGWF')
67  call set_param_pointer(input_definition, exg_olfgwf_param_definitions)
68  case default
69  end select
70  return
71  end function exg_param_definitions
72 
73  function exg_aggregate_definitions(subcomponent) result(input_definition)
74  character(len=*), intent(in) :: subcomponent
75  type(inputparamdefinitiontype), dimension(:), pointer :: input_definition
76  nullify (input_definition)
77  select case (subcomponent)
78  case ('CHFGWF')
80  case ('GWFGWF')
82  case ('GWFGWT')
84  case ('GWTGWT')
86  case ('GWFGWE')
88  case ('GWEGWE')
90  case ('GWFPRT')
92  case ('OLFGWF')
94  case default
95  end select
96  return
97  end function exg_aggregate_definitions
98 
99  function exg_block_definitions(subcomponent) result(input_definition)
100  character(len=*), intent(in) :: subcomponent
101  type(inputblockdefinitiontype), dimension(:), pointer :: input_definition
102  nullify (input_definition)
103  select case (subcomponent)
104  case ('CHFGWF')
105  call set_block_pointer(input_definition, exg_chfgwf_block_definitions)
106  case ('GWFGWF')
107  call set_block_pointer(input_definition, exg_gwfgwf_block_definitions)
108  case ('GWFGWT')
109  call set_block_pointer(input_definition, exg_gwfgwt_block_definitions)
110  case ('GWTGWT')
111  call set_block_pointer(input_definition, exg_gwtgwt_block_definitions)
112  case ('GWFGWE')
113  call set_block_pointer(input_definition, exg_gwfgwe_block_definitions)
114  case ('GWEGWE')
115  call set_block_pointer(input_definition, exg_gwegwe_block_definitions)
116  case ('GWFPRT')
117  call set_block_pointer(input_definition, exg_gwfprt_block_definitions)
118  case ('OLFGWF')
119  call set_block_pointer(input_definition, exg_olfgwf_block_definitions)
120  case default
121  end select
122  return
123  end function exg_block_definitions
124 
125  function exg_idm_multi_package(subcomponent) result(multi_package)
126  character(len=*), intent(in) :: subcomponent
127  logical :: multi_package
128  select case (subcomponent)
129  case ('CHFGWF')
130  multi_package = exg_chfgwf_multi_package
131  case ('GWFGWF')
132  multi_package = exg_gwfgwf_multi_package
133  case ('GWFGWT')
134  multi_package = exg_gwfgwt_multi_package
135  case ('GWTGWT')
136  multi_package = exg_gwtgwt_multi_package
137  case ('GWFGWE')
138  multi_package = exg_gwfgwe_multi_package
139  case ('GWEGWE')
140  multi_package = exg_gwegwe_multi_package
141  case ('GWFPRT')
142  multi_package = exg_gwfprt_multi_package
143  case ('OLFGWF')
144  multi_package = exg_olfgwf_multi_package
145  case default
146  call store_error('Idm selector subcomponent not found; '//&
147  &'component="EXG"'//&
148  &', subcomponent="'//trim(subcomponent)//'".', .true.)
149  end select
150  return
151  end function exg_idm_multi_package
152 
153  function exg_idm_is_advanced(subcomponent) result(is_advanced)
154  character(len=*), intent(in) :: subcomponent
155  logical :: is_advanced
156  select case (subcomponent)
157  case ('CHFGWF')
158  is_advanced = exg_chfgwf_is_advanced
159  case ('GWFGWF')
160  is_advanced = exg_gwfgwf_is_advanced
161  case ('GWFGWT')
162  is_advanced = exg_gwfgwt_is_advanced
163  case ('GWTGWT')
164  is_advanced = exg_gwtgwt_is_advanced
165  case ('GWFGWE')
166  is_advanced = exg_gwfgwe_is_advanced
167  case ('GWEGWE')
168  is_advanced = exg_gwegwe_is_advanced
169  case ('GWFPRT')
170  is_advanced = exg_gwfprt_is_advanced
171  case ('OLFGWF')
172  is_advanced = exg_olfgwf_is_advanced
173  case default
174  call store_error('Idm selector subcomponent not found; '//&
175  &'component="EXG"'//&
176  &', subcomponent="'//trim(subcomponent)//'".', .true.)
177  end select
178  return
179  end function exg_idm_is_advanced
180 
181  function exg_idm_subpackages(subcomponent) result(subpackages)
182  character(len=*), intent(in) :: subcomponent
183  character(len=16), dimension(:), pointer :: subpackages
184  select case (subcomponent)
185  case ('CHFGWF')
186  call set_subpkg_pointer(subpackages, exg_chfgwf_subpackages)
187  case ('GWFGWF')
188  call set_subpkg_pointer(subpackages, exg_gwfgwf_subpackages)
189  case ('GWFGWT')
190  call set_subpkg_pointer(subpackages, exg_gwfgwt_subpackages)
191  case ('GWTGWT')
192  call set_subpkg_pointer(subpackages, exg_gwtgwt_subpackages)
193  case ('GWFGWE')
194  call set_subpkg_pointer(subpackages, exg_gwfgwe_subpackages)
195  case ('GWEGWE')
196  call set_subpkg_pointer(subpackages, exg_gwegwe_subpackages)
197  case ('GWFPRT')
198  call set_subpkg_pointer(subpackages, exg_gwfprt_subpackages)
199  case ('OLFGWF')
200  call set_subpkg_pointer(subpackages, exg_olfgwf_subpackages)
201  case default
202  end select
203  return
204  end function exg_idm_subpackages
205 
206  function exg_idm_integrated(subcomponent) result(integrated)
207  character(len=*), intent(in) :: subcomponent
208  logical :: integrated
209  integrated = .false.
210  select case (subcomponent)
211  case ('CHFGWF')
212  integrated = .true.
213  case ('GWFGWF')
214  integrated = .true.
215  case ('GWFGWT')
216  integrated = .true.
217  case ('GWTGWT')
218  integrated = .true.
219  case ('GWFGWE')
220  integrated = .true.
221  case ('GWEGWE')
222  integrated = .true.
223  case ('GWFPRT')
224  integrated = .true.
225  case ('OLFGWF')
226  integrated = .true.
227  case default
228  end select
229  return
230  end function exg_idm_integrated
231 
232 end module idmexgdfnselectormodule
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 exg_chfgwf_param_definitions
type(inputparamdefinitiontype), dimension(*), parameter, public exg_chfgwf_aggregate_definitions
logical, public exg_chfgwf_is_advanced
character(len=16), dimension(*), parameter, public exg_chfgwf_subpackages
type(inputblockdefinitiontype), dimension(*), parameter, public exg_chfgwf_block_definitions
logical, public exg_chfgwf_multi_package
character(len=16), dimension(*), parameter, public exg_gwegwe_subpackages
logical, public exg_gwegwe_is_advanced
type(inputblockdefinitiontype), dimension(*), parameter, public exg_gwegwe_block_definitions
type(inputparamdefinitiontype), dimension(*), parameter, public exg_gwegwe_aggregate_definitions
logical, public exg_gwegwe_multi_package
type(inputparamdefinitiontype), dimension(*), parameter, public exg_gwegwe_param_definitions
type(inputparamdefinitiontype), dimension(*), parameter, public exg_gwfgwe_param_definitions
type(inputparamdefinitiontype), dimension(*), parameter, public exg_gwfgwe_aggregate_definitions
logical, public exg_gwfgwe_multi_package
type(inputblockdefinitiontype), dimension(*), parameter, public exg_gwfgwe_block_definitions
logical, public exg_gwfgwe_is_advanced
character(len=16), dimension(*), parameter, public exg_gwfgwe_subpackages
character(len=16), dimension(*), parameter, public exg_gwfgwf_subpackages
logical, public exg_gwfgwf_is_advanced
type(inputblockdefinitiontype), dimension(*), parameter, public exg_gwfgwf_block_definitions
logical, public exg_gwfgwf_multi_package
type(inputparamdefinitiontype), dimension(*), parameter, public exg_gwfgwf_param_definitions
type(inputparamdefinitiontype), dimension(*), parameter, public exg_gwfgwf_aggregate_definitions
character(len=16), dimension(*), parameter, public exg_gwfgwt_subpackages
logical, public exg_gwfgwt_multi_package
type(inputblockdefinitiontype), dimension(*), parameter, public exg_gwfgwt_block_definitions
type(inputparamdefinitiontype), dimension(*), parameter, public exg_gwfgwt_param_definitions
type(inputparamdefinitiontype), dimension(*), parameter, public exg_gwfgwt_aggregate_definitions
logical, public exg_gwfgwt_is_advanced
logical, public exg_gwfprt_is_advanced
type(inputblockdefinitiontype), dimension(*), parameter, public exg_gwfprt_block_definitions
type(inputparamdefinitiontype), dimension(*), parameter, public exg_gwfprt_param_definitions
logical, public exg_gwfprt_multi_package
character(len=16), dimension(*), parameter, public exg_gwfprt_subpackages
type(inputparamdefinitiontype), dimension(*), parameter, public exg_gwfprt_aggregate_definitions
logical, public exg_gwtgwt_multi_package
character(len=16), dimension(*), parameter, public exg_gwtgwt_subpackages
type(inputblockdefinitiontype), dimension(*), parameter, public exg_gwtgwt_block_definitions
logical, public exg_gwtgwt_is_advanced
type(inputparamdefinitiontype), dimension(*), parameter, public exg_gwtgwt_param_definitions
type(inputparamdefinitiontype), dimension(*), parameter, public exg_gwtgwt_aggregate_definitions
type(inputparamdefinitiontype), dimension(*), parameter, public exg_olfgwf_param_definitions
type(inputparamdefinitiontype), dimension(*), parameter, public exg_olfgwf_aggregate_definitions
character(len=16), dimension(*), parameter, public exg_olfgwf_subpackages
logical, public exg_olfgwf_is_advanced
type(inputblockdefinitiontype), dimension(*), parameter, public exg_olfgwf_block_definitions
logical, public exg_olfgwf_multi_package
subroutine set_subpkg_pointer(subpkg_list, subpkg_list_target)
type(inputblockdefinitiontype) function, dimension(:), pointer, public exg_block_definitions(subcomponent)
subroutine set_block_pointer(input_dfn, input_dfn_target)
logical function, public exg_idm_is_advanced(subcomponent)
type(inputparamdefinitiontype) function, dimension(:), pointer, public exg_param_definitions(subcomponent)
type(inputparamdefinitiontype) function, dimension(:), pointer, public exg_aggregate_definitions(subcomponent)
character(len=16) function, dimension(:), pointer, public exg_idm_subpackages(subcomponent)
logical function, public exg_idm_multi_package(subcomponent)
subroutine set_param_pointer(input_dfn, input_dfn_target)
logical function, public exg_idm_integrated(subcomponent)
Input definition module.
This module contains simulation methods.
Definition: Sim.f90:10
subroutine, public store_error(msg, terminate)
Store an error message.
Definition: Sim.f90:92
Input block definition. Describes an input block.
Input parameter definition. Describes an input parameter.