MODFLOW 6  version 6.5.0.dev2
MODFLOW 6 Code Documentation
IdmPrtDfnSelector.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
12 
13  implicit none
14  private
15  public :: prt_param_definitions
17  public :: prt_block_definitions
18  public :: prt_idm_multi_package
19  public :: prt_idm_integrated
20 
21 contains
22 
23  subroutine set_param_pointer(input_dfn, input_dfn_target)
24  type(inputparamdefinitiontype), dimension(:), pointer :: input_dfn
25  type(inputparamdefinitiontype), dimension(:), target :: input_dfn_target
26  input_dfn => input_dfn_target
27  end subroutine set_param_pointer
28 
29  subroutine set_block_pointer(input_dfn, input_dfn_target)
30  type(inputblockdefinitiontype), dimension(:), pointer :: input_dfn
31  type(inputblockdefinitiontype), dimension(:), target :: input_dfn_target
32  input_dfn => input_dfn_target
33  end subroutine set_block_pointer
34 
35  function prt_param_definitions(subcomponent) result(input_definition)
36  character(len=*), intent(in) :: subcomponent
37  type(inputparamdefinitiontype), dimension(:), pointer :: input_definition
38  nullify (input_definition)
39  select case (subcomponent)
40  case ('NAM')
41  call set_param_pointer(input_definition, prt_nam_param_definitions)
42  case ('DIS')
43  call set_param_pointer(input_definition, prt_dis_param_definitions)
44  case ('DISV')
45  call set_param_pointer(input_definition, prt_disv_param_definitions)
46  case ('MIP')
47  call set_param_pointer(input_definition, prt_mip_param_definitions)
48  case default
49  end select
50  return
51  end function prt_param_definitions
52 
53  function prt_aggregate_definitions(subcomponent) result(input_definition)
54  character(len=*), intent(in) :: subcomponent
55  type(inputparamdefinitiontype), dimension(:), pointer :: input_definition
56  nullify (input_definition)
57  select case (subcomponent)
58  case ('NAM')
59  call set_param_pointer(input_definition, prt_nam_aggregate_definitions)
60  case ('DIS')
61  call set_param_pointer(input_definition, prt_dis_aggregate_definitions)
62  case ('DISV')
64  case ('MIP')
65  call set_param_pointer(input_definition, prt_mip_aggregate_definitions)
66  case default
67  end select
68  return
69  end function prt_aggregate_definitions
70 
71  function prt_block_definitions(subcomponent) result(input_definition)
72  character(len=*), intent(in) :: subcomponent
73  type(inputblockdefinitiontype), dimension(:), pointer :: input_definition
74  nullify (input_definition)
75  select case (subcomponent)
76  case ('NAM')
77  call set_block_pointer(input_definition, prt_nam_block_definitions)
78  case ('DIS')
79  call set_block_pointer(input_definition, prt_dis_block_definitions)
80  case ('DISV')
81  call set_block_pointer(input_definition, prt_disv_block_definitions)
82  case ('MIP')
83  call set_block_pointer(input_definition, prt_mip_block_definitions)
84  case default
85  end select
86  return
87  end function prt_block_definitions
88 
89  function prt_idm_multi_package(subcomponent) result(multi_package)
90  character(len=*), intent(in) :: subcomponent
91  logical :: multi_package
92  select case (subcomponent)
93  case ('NAM')
94  multi_package = prt_nam_multi_package
95  case ('DIS')
96  multi_package = prt_dis_multi_package
97  case ('DISV')
98  multi_package = prt_disv_multi_package
99  case ('MIP')
100  multi_package = prt_mip_multi_package
101  case default
102  call store_error('Idm selector subcomponent not found; '//&
103  &'component="PRT"'//&
104  &', subcomponent="'//trim(subcomponent)//'".', .true.)
105  end select
106  return
107  end function prt_idm_multi_package
108 
109  function prt_idm_integrated(subcomponent) result(integrated)
110  character(len=*), intent(in) :: subcomponent
111  logical :: integrated
112  integrated = .false.
113  select case (subcomponent)
114  case ('NAM')
115  integrated = .true.
116  case ('DIS')
117  integrated = .true.
118  case ('DISV')
119  integrated = .true.
120  case ('MIP')
121  integrated = .true.
122  case default
123  end select
124  return
125  end function prt_idm_integrated
126 
127 end module idmprtdfnselectormodule
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) function, dimension(:), pointer, public prt_aggregate_definitions(subcomponent)
type(inputparamdefinitiontype) function, dimension(:), pointer, public prt_param_definitions(subcomponent)
logical function, public prt_idm_multi_package(subcomponent)
logical function, public prt_idm_integrated(subcomponent)
subroutine set_block_pointer(input_dfn, input_dfn_target)
subroutine set_param_pointer(input_dfn, input_dfn_target)
type(inputblockdefinitiontype) function, dimension(:), pointer, public prt_block_definitions(subcomponent)
This module contains the InputDefinitionModule.
type(inputparamdefinitiontype), dimension(*), parameter, public prt_dis_aggregate_definitions
Definition: prt-disidm.f90:289
type(inputblockdefinitiontype), dimension(*), parameter, public prt_dis_block_definitions
Definition: prt-disidm.f90:309
type(inputparamdefinitiontype), dimension(*), parameter, public prt_dis_param_definitions
Definition: prt-disidm.f90:270
logical, public prt_dis_multi_package
Definition: prt-disidm.f90:30
logical, public prt_disv_multi_package
Definition: prt-disvidm.f90:36
type(inputparamdefinitiontype), dimension(*), parameter, public prt_disv_aggregate_definitions
type(inputparamdefinitiontype), dimension(*), parameter, public prt_disv_param_definitions
type(inputblockdefinitiontype), dimension(*), parameter, public prt_disv_block_definitions
type(inputblockdefinitiontype), dimension(*), parameter, public prt_mip_block_definitions
Definition: prt-mipidm.f90:138
logical, public prt_mip_multi_package
Definition: prt-mipidm.f90:21
type(inputparamdefinitiontype), dimension(*), parameter, public prt_mip_aggregate_definitions
Definition: prt-mipidm.f90:118
type(inputparamdefinitiontype), dimension(*), parameter, public prt_mip_param_definitions
Definition: prt-mipidm.f90:108
type(inputblockdefinitiontype), dimension(*), parameter, public prt_nam_block_definitions
Definition: prt-namidm.f90:179
type(inputparamdefinitiontype), dimension(*), parameter, public prt_nam_param_definitions
Definition: prt-namidm.f90:144
logical, public prt_nam_multi_package
Definition: prt-namidm.f90:23
type(inputparamdefinitiontype), dimension(*), parameter, public prt_nam_aggregate_definitions
Definition: prt-namidm.f90:173
This module contains simulation methods.
Definition: Sim.f90:10
subroutine, public store_error(msg, terminate)
Store an error message.
Definition: Sim.f90:92