MODFLOW 6  version 6.5.0.dev2
MODFLOW 6 Code Documentation
IdmSimDfnSelector.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
10 
11  implicit none
12  private
13  public :: sim_param_definitions
15  public :: sim_block_definitions
16  public :: sim_idm_multi_package
17  public :: sim_idm_integrated
18 
19 contains
20 
21  subroutine set_param_pointer(input_dfn, input_dfn_target)
22  type(inputparamdefinitiontype), dimension(:), pointer :: input_dfn
23  type(inputparamdefinitiontype), dimension(:), target :: input_dfn_target
24  input_dfn => input_dfn_target
25  end subroutine set_param_pointer
26 
27  subroutine set_block_pointer(input_dfn, input_dfn_target)
28  type(inputblockdefinitiontype), dimension(:), pointer :: input_dfn
29  type(inputblockdefinitiontype), dimension(:), target :: input_dfn_target
30  input_dfn => input_dfn_target
31  end subroutine set_block_pointer
32 
33  function sim_param_definitions(subcomponent) result(input_definition)
34  character(len=*), intent(in) :: subcomponent
35  type(inputparamdefinitiontype), dimension(:), pointer :: input_definition
36  nullify (input_definition)
37  select case (subcomponent)
38  case ('NAM')
39  call set_param_pointer(input_definition, sim_nam_param_definitions)
40  case ('TDIS')
41  call set_param_pointer(input_definition, sim_tdis_param_definitions)
42  case default
43  end select
44  return
45  end function sim_param_definitions
46 
47  function sim_aggregate_definitions(subcomponent) result(input_definition)
48  character(len=*), intent(in) :: subcomponent
49  type(inputparamdefinitiontype), dimension(:), pointer :: input_definition
50  nullify (input_definition)
51  select case (subcomponent)
52  case ('NAM')
53  call set_param_pointer(input_definition, sim_nam_aggregate_definitions)
54  case ('TDIS')
56  case default
57  end select
58  return
59  end function sim_aggregate_definitions
60 
61  function sim_block_definitions(subcomponent) result(input_definition)
62  character(len=*), intent(in) :: subcomponent
63  type(inputblockdefinitiontype), dimension(:), pointer :: input_definition
64  nullify (input_definition)
65  select case (subcomponent)
66  case ('NAM')
67  call set_block_pointer(input_definition, sim_nam_block_definitions)
68  case ('TDIS')
69  call set_block_pointer(input_definition, sim_tdis_block_definitions)
70  case default
71  end select
72  return
73  end function sim_block_definitions
74 
75  function sim_idm_multi_package(subcomponent) result(multi_package)
76  character(len=*), intent(in) :: subcomponent
77  logical :: multi_package
78  select case (subcomponent)
79  case ('NAM')
80  multi_package = sim_nam_multi_package
81  case ('TDIS')
82  multi_package = sim_tdis_multi_package
83  case default
84  call store_error('Idm selector subcomponent not found; '//&
85  &'component="SIM"'//&
86  &', subcomponent="'//trim(subcomponent)//'".', .true.)
87  end select
88  return
89  end function sim_idm_multi_package
90 
91  function sim_idm_integrated(subcomponent) result(integrated)
92  character(len=*), intent(in) :: subcomponent
93  logical :: integrated
94  integrated = .false.
95  select case (subcomponent)
96  case ('NAM')
97  integrated = .true.
98  case ('TDIS')
99  integrated = .true.
100  case default
101  end select
102  return
103  end function sim_idm_integrated
104 
105 end module idmsimdfnselectormodule
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) function, dimension(:), pointer, public sim_block_definitions(subcomponent)
logical function, public sim_idm_multi_package(subcomponent)
subroutine set_param_pointer(input_dfn, input_dfn_target)
type(inputparamdefinitiontype) function, dimension(:), pointer, public sim_aggregate_definitions(subcomponent)
subroutine set_block_pointer(input_dfn, input_dfn_target)
type(inputparamdefinitiontype) function, dimension(:), pointer, public sim_param_definitions(subcomponent)
logical function, public sim_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
logical, public sim_nam_multi_package
Definition: sim-namidm.f90:37
type(inputblockdefinitiontype), dimension(*), parameter, public sim_nam_block_definitions
Definition: sim-namidm.f90:481
type(inputparamdefinitiontype), dimension(*), parameter, public sim_nam_param_definitions
Definition: sim-namidm.f90:396
type(inputparamdefinitiontype), dimension(*), parameter, public sim_nam_aggregate_definitions
Definition: sim-namidm.f90:473
logical, public sim_tdis_multi_package
Definition: sim-tdisidm.f90:26
type(inputparamdefinitiontype), dimension(*), parameter, public sim_tdis_param_definitions
type(inputparamdefinitiontype), dimension(*), parameter, public sim_tdis_aggregate_definitions
type(inputblockdefinitiontype), dimension(*), parameter, public sim_tdis_block_definitions