MODFLOW 6  version 6.5.0.dev2
MODFLOW 6 Code Documentation
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
15 
16  implicit none
17  private
18  public :: exg_param_definitions
20  public :: exg_block_definitions
21  public :: exg_idm_multi_package
22  public :: exg_idm_integrated
23 
24 contains
25 
26  subroutine set_param_pointer(input_dfn, input_dfn_target)
27  type(inputparamdefinitiontype), dimension(:), pointer :: input_dfn
28  type(inputparamdefinitiontype), dimension(:), target :: input_dfn_target
29  input_dfn => input_dfn_target
30  end subroutine set_param_pointer
31 
32  subroutine set_block_pointer(input_dfn, input_dfn_target)
33  type(inputblockdefinitiontype), dimension(:), pointer :: input_dfn
34  type(inputblockdefinitiontype), dimension(:), target :: input_dfn_target
35  input_dfn => input_dfn_target
36  end subroutine set_block_pointer
37 
38  function exg_param_definitions(subcomponent) result(input_definition)
39  character(len=*), intent(in) :: subcomponent
40  type(inputparamdefinitiontype), dimension(:), pointer :: input_definition
41  nullify (input_definition)
42  select case (subcomponent)
43  case ('GWFGWF')
44  call set_param_pointer(input_definition, exg_gwfgwf_param_definitions)
45  case ('GWFGWT')
46  call set_param_pointer(input_definition, exg_gwfgwt_param_definitions)
47  case ('GWTGWT')
48  call set_param_pointer(input_definition, exg_gwtgwt_param_definitions)
49  case ('GWFGWE')
50  call set_param_pointer(input_definition, exg_gwfgwe_param_definitions)
51  case ('GWEGWE')
52  call set_param_pointer(input_definition, exg_gwegwe_param_definitions)
53  case ('SWFGWF')
54  call set_param_pointer(input_definition, exg_swfgwf_param_definitions)
55  case ('GWFPRT')
56  call set_param_pointer(input_definition, exg_gwfprt_param_definitions)
57  case default
58  end select
59  return
60  end function exg_param_definitions
61 
62  function exg_aggregate_definitions(subcomponent) result(input_definition)
63  character(len=*), intent(in) :: subcomponent
64  type(inputparamdefinitiontype), dimension(:), pointer :: input_definition
65  nullify (input_definition)
66  select case (subcomponent)
67  case ('GWFGWF')
69  case ('GWFGWT')
71  case ('GWTGWT')
73  case ('GWFGWE')
75  case ('GWEGWE')
77  case ('SWFGWF')
79  case ('GWFPRT')
81  case default
82  end select
83  return
84  end function exg_aggregate_definitions
85 
86  function exg_block_definitions(subcomponent) result(input_definition)
87  character(len=*), intent(in) :: subcomponent
88  type(inputblockdefinitiontype), dimension(:), pointer :: input_definition
89  nullify (input_definition)
90  select case (subcomponent)
91  case ('GWFGWF')
92  call set_block_pointer(input_definition, exg_gwfgwf_block_definitions)
93  case ('GWFGWT')
94  call set_block_pointer(input_definition, exg_gwfgwt_block_definitions)
95  case ('GWTGWT')
96  call set_block_pointer(input_definition, exg_gwtgwt_block_definitions)
97  case ('GWFGWE')
98  call set_block_pointer(input_definition, exg_gwfgwe_block_definitions)
99  case ('GWEGWE')
100  call set_block_pointer(input_definition, exg_gwegwe_block_definitions)
101  case ('SWFGWF')
102  call set_block_pointer(input_definition, exg_swfgwf_block_definitions)
103  case ('GWFPRT')
104  call set_block_pointer(input_definition, exg_gwfprt_block_definitions)
105  case default
106  end select
107  return
108  end function exg_block_definitions
109 
110  function exg_idm_multi_package(subcomponent) result(multi_package)
111  character(len=*), intent(in) :: subcomponent
112  logical :: multi_package
113  select case (subcomponent)
114  case ('GWFGWF')
115  multi_package = exg_gwfgwf_multi_package
116  case ('GWFGWT')
117  multi_package = exg_gwfgwt_multi_package
118  case ('GWTGWT')
119  multi_package = exg_gwtgwt_multi_package
120  case ('GWFGWE')
121  multi_package = exg_gwfgwe_multi_package
122  case ('GWEGWE')
123  multi_package = exg_gwegwe_multi_package
124  case ('SWFGWF')
125  multi_package = exg_swfgwf_multi_package
126  case ('GWFPRT')
127  multi_package = exg_gwfprt_multi_package
128  case default
129  call store_error('Idm selector subcomponent not found; '//&
130  &'component="EXG"'//&
131  &', subcomponent="'//trim(subcomponent)//'".', .true.)
132  end select
133  return
134  end function exg_idm_multi_package
135 
136  function exg_idm_integrated(subcomponent) result(integrated)
137  character(len=*), intent(in) :: subcomponent
138  logical :: integrated
139  integrated = .false.
140  select case (subcomponent)
141  case ('GWFGWF')
142  integrated = .true.
143  case ('GWFGWT')
144  integrated = .true.
145  case ('GWTGWT')
146  integrated = .true.
147  case ('GWFGWE')
148  integrated = .true.
149  case ('GWEGWE')
150  integrated = .true.
151  case ('SWFGWF')
152  integrated = .true.
153  case ('GWFPRT')
154  integrated = .true.
155  case default
156  end select
157  return
158  end function exg_idm_integrated
159 
160 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(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
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
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
type(inputparamdefinitiontype), dimension(*), parameter, public exg_gwfprt_aggregate_definitions
logical, public exg_gwtgwt_multi_package
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
logical, public exg_swfgwf_multi_package
type(inputparamdefinitiontype), dimension(*), parameter, public exg_swfgwf_aggregate_definitions
type(inputblockdefinitiontype), dimension(*), parameter, public exg_swfgwf_block_definitions
type(inputparamdefinitiontype), dimension(*), parameter, public exg_swfgwf_param_definitions
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)
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