MODFLOW 6  version 6.7.0.dev2
USGS Modular Hydrologic Model
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...
 

Variables

integer(i4b), parameter, public nmodel = 10
 Valid simulation model types. More...
 
character(len=lenpackagetype), dimension(nmodel), public modflow6models
 

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 89 of file ModelPackageInput.f90.

91  ! -- modules
92  ! -- dummy
93  character(len=LENFTYPE), intent(in) :: mtype_component
94  character(len=LENFTYPE), intent(in) :: ptype_component
95  character(len=LENFTYPE), intent(in) :: pkgtype
96  ! -- return
97  logical(LGP) :: multi_package
98  ! -- local
99  integer(I4B) :: n
100  !
101  multi_package = .false.
102  !
103  select case (mtype_component)
104  case ('CHF')
105  do n = 1, chf_nmultipkg
106  if (chf_multipkg(n) == pkgtype) then
107  multi_package = .true.
108  exit
109  end if
110  end do
111  !
112  case ('GWE')
113  do n = 1, gwe_nmultipkg
114  if (gwe_multipkg(n) == pkgtype) then
115  multi_package = .true.
116  exit
117  end if
118  end do
119  !
120  case ('GWF')
121  do n = 1, gwf_nmultipkg
122  if (gwf_multipkg(n) == pkgtype) then
123  multi_package = .true.
124  exit
125  end if
126  end do
127  !
128  case ('GWT')
129  do n = 1, gwt_nmultipkg
130  if (gwt_multipkg(n) == pkgtype) then
131  multi_package = .true.
132  exit
133  end if
134  end do
135  !
136  case ('OLF')
137  do n = 1, olf_nmultipkg
138  if (olf_multipkg(n) == pkgtype) then
139  multi_package = .true.
140  exit
141  end if
142  end do
143  !
144  case ('PRT')
145  do n = 1, prt_nmultipkg
146  if (prt_multipkg(n) == pkgtype) then
147  multi_package = .true.
148  exit
149  end if
150  end do
151  !
152  case default
153  end select
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 49 of file ModelPackageInput.f90.

50  ! -- modules
51  ! -- dummy
52  character(len=LENFTYPE), intent(in) :: mtype
53  character(len=LENPACKAGETYPE), dimension(:), allocatable, &
54  intent(inout) :: pkgtypes
55  integer(I4B), intent(inout) :: numpkgs
56  ! -- local
57  !
58  select case (mtype)
59  case ('CHF6')
60  numpkgs = chf_nbasepkg + chf_nmultipkg
61  allocate (pkgtypes(numpkgs))
62  pkgtypes = [chf_basepkg, chf_multipkg]
63  case ('GWE6')
64  numpkgs = gwe_nbasepkg + gwe_nmultipkg
65  allocate (pkgtypes(numpkgs))
66  pkgtypes = [gwe_basepkg, gwe_multipkg]
67  case ('GWF6')
68  numpkgs = gwf_nbasepkg + gwf_nmultipkg
69  allocate (pkgtypes(numpkgs))
70  pkgtypes = [gwf_basepkg, gwf_multipkg]
71  case ('GWT6')
72  numpkgs = gwt_nbasepkg + gwt_nmultipkg
73  allocate (pkgtypes(numpkgs))
74  pkgtypes = [gwt_basepkg, gwt_multipkg]
75  case ('OLF6')
76  numpkgs = olf_nbasepkg + olf_nmultipkg
77  allocate (pkgtypes(numpkgs))
78  pkgtypes = [olf_basepkg, olf_multipkg]
79  case ('PRT6')
80  numpkgs = prt_nbasepkg + prt_nmultipkg
81  allocate (pkgtypes(numpkgs))
82  pkgtypes = [prt_basepkg, prt_multipkg]
83  case default
84  end select
Here is the caller graph for this function:

Variable Documentation

◆ modflow6models

character(len=lenpackagetype), dimension(nmodel), public modelpackageinputmodule::modflow6models

Definition at line 36 of file ModelPackageInput.f90.

36  character(len=LENPACKAGETYPE), dimension(NMODEL) :: MODFLOW6MODELS

◆ nmodel

integer(i4b), parameter, public modelpackageinputmodule::nmodel = 10

Definition at line 35 of file ModelPackageInput.f90.

35  integer(I4B), parameter :: NMODEL = 10