MODFLOW 6  version 6.7.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_subpackages
24  public :: exg_idm_integrated
25 
26 contains
27 
28  subroutine set_param_pointer(input_dfn, input_dfn_target)
29  type(inputparamdefinitiontype), dimension(:), pointer :: input_dfn
30  type(inputparamdefinitiontype), dimension(:), target :: input_dfn_target
31  input_dfn => input_dfn_target
32  end subroutine set_param_pointer
33 
34  subroutine set_block_pointer(input_dfn, input_dfn_target)
35  type(inputblockdefinitiontype), dimension(:), pointer :: input_dfn
36  type(inputblockdefinitiontype), dimension(:), target :: input_dfn_target
37  input_dfn => input_dfn_target
38  end subroutine set_block_pointer
39 
40  subroutine set_subpkg_pointer(subpkg_list, subpkg_list_target)
41  character(len=16), dimension(:), pointer :: subpkg_list
42  character(len=16), dimension(:), target :: subpkg_list_target
43  subpkg_list => subpkg_list_target
44  end subroutine set_subpkg_pointer
45 
46  function exg_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 ('CHFGWF')
52  call set_param_pointer(input_definition, exg_chfgwf_param_definitions)
53  case ('GWFGWF')
54  call set_param_pointer(input_definition, exg_gwfgwf_param_definitions)
55  case ('GWFGWT')
56  call set_param_pointer(input_definition, exg_gwfgwt_param_definitions)
57  case ('GWTGWT')
58  call set_param_pointer(input_definition, exg_gwtgwt_param_definitions)
59  case ('GWFGWE')
60  call set_param_pointer(input_definition, exg_gwfgwe_param_definitions)
61  case ('GWEGWE')
62  call set_param_pointer(input_definition, exg_gwegwe_param_definitions)
63  case ('GWFPRT')
64  call set_param_pointer(input_definition, exg_gwfprt_param_definitions)
65  case ('OLFGWF')
66  call set_param_pointer(input_definition, exg_olfgwf_param_definitions)
67  case default
68  end select
69  return
70  end function exg_param_definitions
71 
72  function exg_aggregate_definitions(subcomponent) result(input_definition)
73  character(len=*), intent(in) :: subcomponent
74  type(inputparamdefinitiontype), dimension(:), pointer :: input_definition
75  nullify (input_definition)
76  select case (subcomponent)
77  case ('CHFGWF')
79  case ('GWFGWF')
81  case ('GWFGWT')
83  case ('GWTGWT')
85  case ('GWFGWE')
87  case ('GWEGWE')
89  case ('GWFPRT')
91  case ('OLFGWF')
93  case default
94  end select
95  return
96  end function exg_aggregate_definitions
97 
98  function exg_block_definitions(subcomponent) result(input_definition)
99  character(len=*), intent(in) :: subcomponent
100  type(inputblockdefinitiontype), dimension(:), pointer :: input_definition
101  nullify (input_definition)
102  select case (subcomponent)
103  case ('CHFGWF')
104  call set_block_pointer(input_definition, exg_chfgwf_block_definitions)
105  case ('GWFGWF')
106  call set_block_pointer(input_definition, exg_gwfgwf_block_definitions)
107  case ('GWFGWT')
108  call set_block_pointer(input_definition, exg_gwfgwt_block_definitions)
109  case ('GWTGWT')
110  call set_block_pointer(input_definition, exg_gwtgwt_block_definitions)
111  case ('GWFGWE')
112  call set_block_pointer(input_definition, exg_gwfgwe_block_definitions)
113  case ('GWEGWE')
114  call set_block_pointer(input_definition, exg_gwegwe_block_definitions)
115  case ('GWFPRT')
116  call set_block_pointer(input_definition, exg_gwfprt_block_definitions)
117  case ('OLFGWF')
118  call set_block_pointer(input_definition, exg_olfgwf_block_definitions)
119  case default
120  end select
121  return
122  end function exg_block_definitions
123 
124  function exg_idm_multi_package(subcomponent) result(multi_package)
125  character(len=*), intent(in) :: subcomponent
126  logical :: multi_package
127  select case (subcomponent)
128  case ('CHFGWF')
129  multi_package = exg_chfgwf_multi_package
130  case ('GWFGWF')
131  multi_package = exg_gwfgwf_multi_package
132  case ('GWFGWT')
133  multi_package = exg_gwfgwt_multi_package
134  case ('GWTGWT')
135  multi_package = exg_gwtgwt_multi_package
136  case ('GWFGWE')
137  multi_package = exg_gwfgwe_multi_package
138  case ('GWEGWE')
139  multi_package = exg_gwegwe_multi_package
140  case ('GWFPRT')
141  multi_package = exg_gwfprt_multi_package
142  case ('OLFGWF')
143  multi_package = exg_olfgwf_multi_package
144  case default
145  call store_error('Idm selector subcomponent not found; '//&
146  &'component="EXG"'//&
147  &', subcomponent="'//trim(subcomponent)//'".', .true.)
148  end select
149  return
150  end function exg_idm_multi_package
151 
152  function exg_idm_subpackages(subcomponent) result(subpackages)
153  character(len=*), intent(in) :: subcomponent
154  character(len=16), dimension(:), pointer :: subpackages
155  select case (subcomponent)
156  case ('CHFGWF')
157  call set_subpkg_pointer(subpackages, exg_chfgwf_subpackages)
158  case ('GWFGWF')
159  call set_subpkg_pointer(subpackages, exg_gwfgwf_subpackages)
160  case ('GWFGWT')
161  call set_subpkg_pointer(subpackages, exg_gwfgwt_subpackages)
162  case ('GWTGWT')
163  call set_subpkg_pointer(subpackages, exg_gwtgwt_subpackages)
164  case ('GWFGWE')
165  call set_subpkg_pointer(subpackages, exg_gwfgwe_subpackages)
166  case ('GWEGWE')
167  call set_subpkg_pointer(subpackages, exg_gwegwe_subpackages)
168  case ('GWFPRT')
169  call set_subpkg_pointer(subpackages, exg_gwfprt_subpackages)
170  case ('OLFGWF')
171  call set_subpkg_pointer(subpackages, exg_olfgwf_subpackages)
172  case default
173  end select
174  return
175  end function exg_idm_subpackages
176 
177  function exg_idm_integrated(subcomponent) result(integrated)
178  character(len=*), intent(in) :: subcomponent
179  logical :: integrated
180  integrated = .false.
181  select case (subcomponent)
182  case ('CHFGWF')
183  integrated = .true.
184  case ('GWFGWF')
185  integrated = .true.
186  case ('GWFGWT')
187  integrated = .true.
188  case ('GWTGWT')
189  integrated = .true.
190  case ('GWFGWE')
191  integrated = .true.
192  case ('GWEGWE')
193  integrated = .true.
194  case ('GWFPRT')
195  integrated = .true.
196  case ('OLFGWF')
197  integrated = .true.
198  case default
199  end select
200  return
201  end function exg_idm_integrated
202 
203 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
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
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
character(len=16), dimension(*), parameter, public exg_gwfgwe_subpackages
character(len=16), dimension(*), parameter, public exg_gwfgwf_subpackages
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
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
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
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)
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)
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