MODFLOW 6  version 6.5.0.dev2
MODFLOW 6 Code Documentation
modelpackageinputmodule Module Reference

This module contains the ModelPackageInputModule. More...

Functions/Subroutines

subroutine, public supported_model_packages (mtype, pkgtypes, numpkgs)
 set supported package types for model More...
 
logical(lgp) function, public multi_package_type (mtype_component, ptype_component, pkgtype)
 Is the package multi-instance. More...
 

Detailed Description

Add an input model type to routines in this module to integrate the Model with IDM.

Function/Subroutine Documentation

◆ multi_package_type()

logical(lgp) function, public modelpackageinputmodule::multi_package_type ( character(len=lenftype), intent(in)  mtype_component,
character(len=lenftype), intent(in)  ptype_component,
character(len=lenftype), intent(in)  pkgtype 
)

Definition at line 78 of file ModelPackageInput.f90.

80  ! -- modules
81  ! -- dummy
82  character(len=LENFTYPE), intent(in) :: mtype_component
83  character(len=LENFTYPE), intent(in) :: ptype_component
84  character(len=LENFTYPE), intent(in) :: pkgtype
85  ! -- return
86  logical(LGP) :: multi_package
87  ! -- local
88  integer(I4B) :: n
89  !
90  multi_package = .false.
91  !
92  select case (mtype_component)
93  case ('GWF')
94  do n = 1, gwf_nmultipkg
95  if (gwf_multipkg(n) == pkgtype) then
96  multi_package = .true.
97  exit
98  end if
99  end do
100  !
101  case ('GWT')
102  do n = 1, gwt_nmultipkg
103  if (gwt_multipkg(n) == pkgtype) then
104  multi_package = .true.
105  exit
106  end if
107  end do
108  !
109  case ('GWE')
110  do n = 1, gwe_nmultipkg
111  if (gwe_multipkg(n) == pkgtype) then
112  multi_package = .true.
113  exit
114  end if
115  end do
116  !
117  case ('PRT')
118  do n = 1, prt_nmultipkg
119  if (prt_multipkg(n) == pkgtype) then
120  multi_package = .true.
121  exit
122  end if
123  end do
124  !
125  case default
126  end select
127  !
128  ! -- return
129  return
Here is the caller graph for this function:

◆ supported_model_packages()

subroutine, public modelpackageinputmodule::supported_model_packages ( character(len=lenftype), intent(in)  mtype,
character(len=lenpackagetype), dimension(:), intent(inout), allocatable  pkgtypes,
integer(i4b), intent(inout)  numpkgs 
)

Allocate a list of package types supported by the model. Base packages should be listed first as list determines load order.

Definition at line 39 of file ModelPackageInput.f90.

40  ! -- modules
41  ! -- dummy
42  character(len=LENFTYPE), intent(in) :: mtype
43  character(len=LENPACKAGETYPE), dimension(:), allocatable, &
44  intent(inout) :: pkgtypes
45  integer(I4B), intent(inout) :: numpkgs
46  ! -- local
47  !
48  select case (mtype)
49  case ('GWF6')
50  numpkgs = gwf_nbasepkg + gwf_nmultipkg
51  allocate (pkgtypes(numpkgs))
52  pkgtypes = [gwf_basepkg, gwf_multipkg]
53  case ('GWT6')
54  numpkgs = gwt_nbasepkg + gwt_nmultipkg
55  allocate (pkgtypes(numpkgs))
56  pkgtypes = [gwt_basepkg, gwt_multipkg]
57  case ('GWE6')
58  numpkgs = gwe_nbasepkg + gwe_nmultipkg
59  allocate (pkgtypes(numpkgs))
60  pkgtypes = [gwe_basepkg, gwe_multipkg]
61  case ('PRT6')
62  numpkgs = prt_nbasepkg + prt_nmultipkg
63  allocate (pkgtypes(numpkgs))
64  pkgtypes = [prt_basepkg, prt_multipkg]
65  case ('SWF6')
66  numpkgs = swf_nbasepkg + swf_nmultipkg
67  allocate (pkgtypes(numpkgs))
68  pkgtypes = [swf_basepkg, swf_multipkg]
69  case default
70  end select
71  !
72  ! -- return
73  return
Here is the caller graph for this function: