MODFLOW 6  version 6.5.0.dev2
MODFLOW 6 Code Documentation
IdmGwtDfnSelector.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 :: gwt_param_definitions
20  public :: gwt_block_definitions
21  public :: gwt_idm_multi_package
22  public :: gwt_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 gwt_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, gwt_nam_param_definitions)
45  case ('DIS')
46  call set_param_pointer(input_definition, gwt_dis_param_definitions)
47  case ('DISU')
48  call set_param_pointer(input_definition, gwt_disu_param_definitions)
49  case ('DISV')
50  call set_param_pointer(input_definition, gwt_disv_param_definitions)
51  case ('DSP')
52  call set_param_pointer(input_definition, gwt_dsp_param_definitions)
53  case ('CNC')
54  call set_param_pointer(input_definition, gwt_cnc_param_definitions)
55  case ('IC')
56  call set_param_pointer(input_definition, gwt_ic_param_definitions)
57  case default
58  end select
59  return
60  end function gwt_param_definitions
61 
62  function gwt_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, gwt_nam_aggregate_definitions)
69  case ('DIS')
70  call set_param_pointer(input_definition, gwt_dis_aggregate_definitions)
71  case ('DISU')
73  case ('DISV')
75  case ('DSP')
76  call set_param_pointer(input_definition, gwt_dsp_aggregate_definitions)
77  case ('CNC')
78  call set_param_pointer(input_definition, gwt_cnc_aggregate_definitions)
79  case ('IC')
80  call set_param_pointer(input_definition, gwt_ic_aggregate_definitions)
81  case default
82  end select
83  return
84  end function gwt_aggregate_definitions
85 
86  function gwt_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, gwt_nam_block_definitions)
93  case ('DIS')
94  call set_block_pointer(input_definition, gwt_dis_block_definitions)
95  case ('DISU')
96  call set_block_pointer(input_definition, gwt_disu_block_definitions)
97  case ('DISV')
98  call set_block_pointer(input_definition, gwt_disv_block_definitions)
99  case ('DSP')
100  call set_block_pointer(input_definition, gwt_dsp_block_definitions)
101  case ('CNC')
102  call set_block_pointer(input_definition, gwt_cnc_block_definitions)
103  case ('IC')
104  call set_block_pointer(input_definition, gwt_ic_block_definitions)
105  case default
106  end select
107  return
108  end function gwt_block_definitions
109 
110  function gwt_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 = gwt_nam_multi_package
116  case ('DIS')
117  multi_package = gwt_dis_multi_package
118  case ('DISU')
119  multi_package = gwt_disu_multi_package
120  case ('DISV')
121  multi_package = gwt_disv_multi_package
122  case ('DSP')
123  multi_package = gwt_dsp_multi_package
124  case ('CNC')
125  multi_package = gwt_cnc_multi_package
126  case ('IC')
127  multi_package = gwt_ic_multi_package
128  case default
129  call store_error('Idm selector subcomponent not found; '//&
130  &'component="GWT"'//&
131  &', subcomponent="'//trim(subcomponent)//'".', .true.)
132  end select
133  return
134  end function gwt_idm_multi_package
135 
136  function gwt_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 ('DIS')
144  integrated = .true.
145  case ('DISU')
146  integrated = .true.
147  case ('DISV')
148  integrated = .true.
149  case ('DSP')
150  integrated = .true.
151  case ('CNC')
152  integrated = .true.
153  case ('IC')
154  integrated = .true.
155  case default
156  end select
157  return
158  end function gwt_idm_integrated
159 
160 end module idmgwtdfnselectormodule
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 gwt_cnc_param_definitions
Definition: gwt-cncidm.f90:342
type(inputparamdefinitiontype), dimension(*), parameter, public gwt_cnc_aggregate_definitions
Definition: gwt-cncidm.f90:382
logical, public gwt_cnc_multi_package
Definition: gwt-cncidm.f90:34
type(inputblockdefinitiontype), dimension(*), parameter, public gwt_cnc_block_definitions
Definition: gwt-cncidm.f90:388
type(inputparamdefinitiontype), dimension(*), parameter, public gwt_dis_param_definitions
Definition: gwt-disidm.f90:270
logical, public gwt_dis_multi_package
Definition: gwt-disidm.f90:30
type(inputparamdefinitiontype), dimension(*), parameter, public gwt_dis_aggregate_definitions
Definition: gwt-disidm.f90:289
type(inputblockdefinitiontype), dimension(*), parameter, public gwt_dis_block_definitions
Definition: gwt-disidm.f90:309
type(inputparamdefinitiontype), dimension(*), parameter, public gwt_disu_aggregate_definitions
logical, public gwt_disu_multi_package
Definition: gwt-disuidm.f90:44
type(inputparamdefinitiontype), dimension(*), parameter, public gwt_disu_param_definitions
type(inputblockdefinitiontype), dimension(*), parameter, public gwt_disu_block_definitions
type(inputparamdefinitiontype), dimension(*), parameter, public gwt_disv_aggregate_definitions
type(inputparamdefinitiontype), dimension(*), parameter, public gwt_disv_param_definitions
type(inputblockdefinitiontype), dimension(*), parameter, public gwt_disv_block_definitions
logical, public gwt_disv_multi_package
Definition: gwt-disvidm.f90:36
type(inputparamdefinitiontype), dimension(*), parameter, public gwt_dsp_aggregate_definitions
Definition: gwt-dspidm.f90:194
type(inputparamdefinitiontype), dimension(*), parameter, public gwt_dsp_param_definitions
Definition: gwt-dspidm.f90:180
type(inputblockdefinitiontype), dimension(*), parameter, public gwt_dsp_block_definitions
Definition: gwt-dspidm.f90:214
logical, public gwt_dsp_multi_package
Definition: gwt-dspidm.f90:25
type(inputblockdefinitiontype), dimension(*), parameter, public gwt_ic_block_definitions
Definition: gwt-icidm.f90:81
logical, public gwt_ic_multi_package
Definition: gwt-icidm.f90:18
type(inputparamdefinitiontype), dimension(*), parameter, public gwt_ic_param_definitions
Definition: gwt-icidm.f90:54
type(inputparamdefinitiontype), dimension(*), parameter, public gwt_ic_aggregate_definitions
Definition: gwt-icidm.f90:61
logical, public gwt_nam_multi_package
Definition: gwt-namidm.f90:23
type(inputparamdefinitiontype), dimension(*), parameter, public gwt_nam_param_definitions
Definition: gwt-namidm.f90:144
type(inputparamdefinitiontype), dimension(*), parameter, public gwt_nam_aggregate_definitions
Definition: gwt-namidm.f90:173
type(inputblockdefinitiontype), dimension(*), parameter, public gwt_nam_block_definitions
Definition: gwt-namidm.f90:179
subroutine set_block_pointer(input_dfn, input_dfn_target)
logical function, public gwt_idm_integrated(subcomponent)
subroutine set_param_pointer(input_dfn, input_dfn_target)
type(inputparamdefinitiontype) function, dimension(:), pointer, public gwt_aggregate_definitions(subcomponent)
type(inputparamdefinitiontype) function, dimension(:), pointer, public gwt_param_definitions(subcomponent)
type(inputblockdefinitiontype) function, dimension(:), pointer, public gwt_block_definitions(subcomponent)
logical function, public gwt_idm_multi_package(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