MODFLOW 6  version 6.7.0.dev0
USGS Modular Hydrologic Model
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_subpackages
20  public :: prt_idm_integrated
21 
22 contains
23 
24  subroutine set_param_pointer(input_dfn, input_dfn_target)
25  type(inputparamdefinitiontype), dimension(:), pointer :: input_dfn
26  type(inputparamdefinitiontype), dimension(:), target :: input_dfn_target
27  input_dfn => input_dfn_target
28  end subroutine set_param_pointer
29 
30  subroutine set_block_pointer(input_dfn, input_dfn_target)
31  type(inputblockdefinitiontype), dimension(:), pointer :: input_dfn
32  type(inputblockdefinitiontype), dimension(:), target :: input_dfn_target
33  input_dfn => input_dfn_target
34  end subroutine set_block_pointer
35 
36  subroutine set_subpkg_pointer(subpkg_list, subpkg_list_target)
37  character(len=16), dimension(:), pointer :: subpkg_list
38  character(len=16), dimension(:), target :: subpkg_list_target
39  subpkg_list => subpkg_list_target
40  end subroutine set_subpkg_pointer
41 
42  function prt_param_definitions(subcomponent) result(input_definition)
43  character(len=*), intent(in) :: subcomponent
44  type(inputparamdefinitiontype), dimension(:), pointer :: input_definition
45  nullify (input_definition)
46  select case (subcomponent)
47  case ('NAM')
48  call set_param_pointer(input_definition, prt_nam_param_definitions)
49  case ('DIS')
50  call set_param_pointer(input_definition, prt_dis_param_definitions)
51  case ('DISV')
52  call set_param_pointer(input_definition, prt_disv_param_definitions)
53  case ('MIP')
54  call set_param_pointer(input_definition, prt_mip_param_definitions)
55  case default
56  end select
57  return
58  end function prt_param_definitions
59 
60  function prt_aggregate_definitions(subcomponent) result(input_definition)
61  character(len=*), intent(in) :: subcomponent
62  type(inputparamdefinitiontype), dimension(:), pointer :: input_definition
63  nullify (input_definition)
64  select case (subcomponent)
65  case ('NAM')
66  call set_param_pointer(input_definition, prt_nam_aggregate_definitions)
67  case ('DIS')
68  call set_param_pointer(input_definition, prt_dis_aggregate_definitions)
69  case ('DISV')
71  case ('MIP')
72  call set_param_pointer(input_definition, prt_mip_aggregate_definitions)
73  case default
74  end select
75  return
76  end function prt_aggregate_definitions
77 
78  function prt_block_definitions(subcomponent) result(input_definition)
79  character(len=*), intent(in) :: subcomponent
80  type(inputblockdefinitiontype), dimension(:), pointer :: input_definition
81  nullify (input_definition)
82  select case (subcomponent)
83  case ('NAM')
84  call set_block_pointer(input_definition, prt_nam_block_definitions)
85  case ('DIS')
86  call set_block_pointer(input_definition, prt_dis_block_definitions)
87  case ('DISV')
88  call set_block_pointer(input_definition, prt_disv_block_definitions)
89  case ('MIP')
90  call set_block_pointer(input_definition, prt_mip_block_definitions)
91  case default
92  end select
93  return
94  end function prt_block_definitions
95 
96  function prt_idm_multi_package(subcomponent) result(multi_package)
97  character(len=*), intent(in) :: subcomponent
98  logical :: multi_package
99  select case (subcomponent)
100  case ('NAM')
101  multi_package = prt_nam_multi_package
102  case ('DIS')
103  multi_package = prt_dis_multi_package
104  case ('DISV')
105  multi_package = prt_disv_multi_package
106  case ('MIP')
107  multi_package = prt_mip_multi_package
108  case default
109  call store_error('Idm selector subcomponent not found; '//&
110  &'component="PRT"'//&
111  &', subcomponent="'//trim(subcomponent)//'".', .true.)
112  end select
113  return
114  end function prt_idm_multi_package
115 
116  function prt_idm_subpackages(subcomponent) result(subpackages)
117  character(len=*), intent(in) :: subcomponent
118  character(len=16), dimension(:), pointer :: subpackages
119  select case (subcomponent)
120  case ('NAM')
121  call set_subpkg_pointer(subpackages, prt_nam_subpackages)
122  case ('DIS')
123  call set_subpkg_pointer(subpackages, prt_dis_subpackages)
124  case ('DISV')
125  call set_subpkg_pointer(subpackages, prt_disv_subpackages)
126  case ('MIP')
127  call set_subpkg_pointer(subpackages, prt_mip_subpackages)
128  case default
129  end select
130  return
131  end function prt_idm_subpackages
132 
133  function prt_idm_integrated(subcomponent) result(integrated)
134  character(len=*), intent(in) :: subcomponent
135  logical :: integrated
136  integrated = .false.
137  select case (subcomponent)
138  case ('NAM')
139  integrated = .true.
140  case ('DIS')
141  integrated = .true.
142  case ('DISV')
143  integrated = .true.
144  case ('MIP')
145  integrated = .true.
146  case default
147  end select
148  return
149  end function prt_idm_integrated
150 
151 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_subpkg_pointer(subpkg_list, subpkg_list_target)
subroutine set_block_pointer(input_dfn, input_dfn_target)
character(len=16) function, dimension(:), pointer, public prt_idm_subpackages(subcomponent)
subroutine set_param_pointer(input_dfn, input_dfn_target)
type(inputblockdefinitiontype) function, dimension(:), pointer, public prt_block_definitions(subcomponent)
This module contains the InputDefinitionModule.
character(len=16), dimension(*), parameter, public prt_dis_subpackages
Definition: prt-disidm.f90:38
type(inputparamdefinitiontype), dimension(*), parameter, public prt_dis_aggregate_definitions
Definition: prt-disidm.f90:410
type(inputblockdefinitiontype), dimension(*), parameter, public prt_dis_block_definitions
Definition: prt-disidm.f90:431
type(inputparamdefinitiontype), dimension(*), parameter, public prt_dis_param_definitions
Definition: prt-disidm.f90:386
logical, public prt_dis_multi_package
Definition: prt-disidm.f90:36
logical, public prt_disv_multi_package
Definition: prt-disvidm.f90:42
type(inputparamdefinitiontype), dimension(*), parameter, public prt_disv_aggregate_definitions
type(inputparamdefinitiontype), dimension(*), parameter, public prt_disv_param_definitions
character(len=16), dimension(*), parameter, public prt_disv_subpackages
Definition: prt-disvidm.f90:44
type(inputblockdefinitiontype), dimension(*), parameter, public prt_disv_block_definitions
type(inputblockdefinitiontype), dimension(*), parameter, public prt_mip_block_definitions
Definition: prt-mipidm.f90:131
logical, public prt_mip_multi_package
Definition: prt-mipidm.f90:21
type(inputparamdefinitiontype), dimension(*), parameter, public prt_mip_aggregate_definitions
Definition: prt-mipidm.f90:110
type(inputparamdefinitiontype), dimension(*), parameter, public prt_mip_param_definitions
Definition: prt-mipidm.f90:101
character(len=16), dimension(*), parameter, public prt_mip_subpackages
Definition: prt-mipidm.f90:23
type(inputblockdefinitiontype), dimension(*), parameter, public prt_nam_block_definitions
Definition: prt-namidm.f90:194
type(inputparamdefinitiontype), dimension(*), parameter, public prt_nam_param_definitions
Definition: prt-namidm.f90:158
logical, public prt_nam_multi_package
Definition: prt-namidm.f90:24
type(inputparamdefinitiontype), dimension(*), parameter, public prt_nam_aggregate_definitions
Definition: prt-namidm.f90:188
character(len=16), dimension(*), parameter, public prt_nam_subpackages
Definition: prt-namidm.f90:26
This module contains simulation methods.
Definition: Sim.f90:10
subroutine, public store_error(msg, terminate)
Store an error message.
Definition: Sim.f90:92