MODFLOW 6  version 6.5.0.dev2
MODFLOW 6 Code Documentation
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_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 gwe_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 ('NAM')
44  call set_param_pointer(input_definition, gwe_nam_param_definitions)
45  case ('IC')
46  call set_param_pointer(input_definition, gwe_ic_param_definitions)
47  case ('CTP')
48  call set_param_pointer(input_definition, gwe_ctp_param_definitions)
49  case ('CND')
50  call set_param_pointer(input_definition, gwe_cnd_param_definitions)
51  case ('DISV')
52  call set_param_pointer(input_definition, gwe_disv_param_definitions)
53  case ('DISU')
54  call set_param_pointer(input_definition, gwe_disu_param_definitions)
55  case ('DIS')
56  call set_param_pointer(input_definition, gwe_dis_param_definitions)
57  case default
58  end select
59  return
60  end function gwe_param_definitions
61 
62  function gwe_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 ('NAM')
68  call set_param_pointer(input_definition, gwe_nam_aggregate_definitions)
69  case ('IC')
70  call set_param_pointer(input_definition, gwe_ic_aggregate_definitions)
71  case ('CTP')
72  call set_param_pointer(input_definition, gwe_ctp_aggregate_definitions)
73  case ('CND')
74  call set_param_pointer(input_definition, gwe_cnd_aggregate_definitions)
75  case ('DISV')
77  case ('DISU')
79  case ('DIS')
80  call set_param_pointer(input_definition, gwe_dis_aggregate_definitions)
81  case default
82  end select
83  return
84  end function gwe_aggregate_definitions
85 
86  function gwe_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 ('NAM')
92  call set_block_pointer(input_definition, gwe_nam_block_definitions)
93  case ('IC')
94  call set_block_pointer(input_definition, gwe_ic_block_definitions)
95  case ('CTP')
96  call set_block_pointer(input_definition, gwe_ctp_block_definitions)
97  case ('CND')
98  call set_block_pointer(input_definition, gwe_cnd_block_definitions)
99  case ('DISV')
100  call set_block_pointer(input_definition, gwe_disv_block_definitions)
101  case ('DISU')
102  call set_block_pointer(input_definition, gwe_disu_block_definitions)
103  case ('DIS')
104  call set_block_pointer(input_definition, gwe_dis_block_definitions)
105  case default
106  end select
107  return
108  end function gwe_block_definitions
109 
110  function gwe_idm_multi_package(subcomponent) result(multi_package)
111  character(len=*), intent(in) :: subcomponent
112  logical :: multi_package
113  select case (subcomponent)
114  case ('NAM')
115  multi_package = gwe_nam_multi_package
116  case ('IC')
117  multi_package = gwe_ic_multi_package
118  case ('CTP')
119  multi_package = gwe_ctp_multi_package
120  case ('CND')
121  multi_package = gwe_cnd_multi_package
122  case ('DISV')
123  multi_package = gwe_disv_multi_package
124  case ('DISU')
125  multi_package = gwe_disu_multi_package
126  case ('DIS')
127  multi_package = gwe_dis_multi_package
128  case default
129  call store_error('Idm selector subcomponent not found; '//&
130  &'component="GWE"'//&
131  &', subcomponent="'//trim(subcomponent)//'".', .true.)
132  end select
133  return
134  end function gwe_idm_multi_package
135 
136  function gwe_idm_integrated(subcomponent) result(integrated)
137  character(len=*), intent(in) :: subcomponent
138  logical :: integrated
139  integrated = .false.
140  select case (subcomponent)
141  case ('NAM')
142  integrated = .true.
143  case ('IC')
144  integrated = .true.
145  case ('CTP')
146  integrated = .true.
147  case ('CND')
148  integrated = .true.
149  case ('DISV')
150  integrated = .true.
151  case ('DISU')
152  integrated = .true.
153  case ('DIS')
154  integrated = .true.
155  case default
156  end select
157  return
158  end function gwe_idm_integrated
159 
160 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:26
type(inputblockdefinitiontype), dimension(*), parameter, public gwe_cnd_block_definitions
Definition: gwe-cndidm.f90:233
type(inputparamdefinitiontype), dimension(*), parameter, public gwe_cnd_aggregate_definitions
Definition: gwe-cndidm.f90:213
type(inputparamdefinitiontype), dimension(*), parameter, public gwe_cnd_param_definitions
Definition: gwe-cndidm.f90:198
type(inputparamdefinitiontype), dimension(*), parameter, public gwe_ctp_aggregate_definitions
Definition: gwe-ctpidm.f90:382
type(inputparamdefinitiontype), dimension(*), parameter, public gwe_ctp_param_definitions
Definition: gwe-ctpidm.f90:342
logical, public gwe_ctp_multi_package
Definition: gwe-ctpidm.f90:34
type(inputblockdefinitiontype), dimension(*), parameter, public gwe_ctp_block_definitions
Definition: gwe-ctpidm.f90:388
type(inputblockdefinitiontype), dimension(*), parameter, public gwe_dis_block_definitions
Definition: gwe-disidm.f90:309
type(inputparamdefinitiontype), dimension(*), parameter, public gwe_dis_aggregate_definitions
Definition: gwe-disidm.f90:289
logical, public gwe_dis_multi_package
Definition: gwe-disidm.f90:30
type(inputparamdefinitiontype), dimension(*), parameter, public gwe_dis_param_definitions
Definition: gwe-disidm.f90:270
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:44
type(inputblockdefinitiontype), dimension(*), parameter, public gwe_disv_block_definitions
type(inputparamdefinitiontype), dimension(*), parameter, public gwe_disv_aggregate_definitions
logical, public gwe_disv_multi_package
Definition: gwe-disvidm.f90:36
type(inputparamdefinitiontype), dimension(*), parameter, public gwe_disv_param_definitions
type(inputblockdefinitiontype), dimension(*), parameter, public gwe_ic_block_definitions
Definition: gwe-icidm.f90:81
logical, public gwe_ic_multi_package
Definition: gwe-icidm.f90:18
type(inputparamdefinitiontype), dimension(*), parameter, public gwe_ic_aggregate_definitions
Definition: gwe-icidm.f90:61
type(inputparamdefinitiontype), dimension(*), parameter, public gwe_ic_param_definitions
Definition: gwe-icidm.f90:54
type(inputblockdefinitiontype), dimension(*), parameter, public gwe_nam_block_definitions
Definition: gwe-namidm.f90:179
logical, public gwe_nam_multi_package
Definition: gwe-namidm.f90:23
type(inputparamdefinitiontype), dimension(*), parameter, public gwe_nam_aggregate_definitions
Definition: gwe-namidm.f90:173
type(inputparamdefinitiontype), dimension(*), parameter, public gwe_nam_param_definitions
Definition: gwe-namidm.f90:144
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)
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