28 character(len=LENFTYPE) ::
ftype =
'API'
29 character(len=LENPACKAGENAME) ::
text =
' API'
48 subroutine api_create(packobj, id, ibcnum, inunit, iout, namemodel, pakname)
50 class(
bndtype),
pointer :: packobj
51 integer(I4B),
intent(in) :: id
52 integer(I4B),
intent(in) :: ibcnum
53 integer(I4B),
intent(in) :: inunit
54 integer(I4B),
intent(in) :: iout
55 character(len=*),
intent(in) :: namemodel
56 character(len=*),
intent(in) :: pakname
58 type(
apitype),
pointer :: apiobj
65 call packobj%set_names(ibcnum, namemodel, pakname,
ftype)
69 call packobj%allocate_scalars()
72 call packobj%pack_initialize()
74 packobj%inunit = inunit
77 packobj%ibcnum = ibcnum
90 class(
apitype),
intent(inout) :: this
91 character(len=*),
intent(inout) :: option
92 logical,
intent(inout) :: found
98 write (this%iout,
'(4x,A)')
'MOVER OPTION ENABLED'
116 class(
apitype),
intent(inout) :: this
125 subroutine api_fc(this, rhs, ia, idxglo, matrix_sln)
128 real(DP),
dimension(:),
intent(inout) :: rhs
129 integer(I4B),
dimension(:),
intent(in) :: ia
130 integer(I4B),
dimension(:),
intent(in) :: idxglo
139 if (this%imover == 1)
then
140 call this%pakmvrobj%fc()
144 do i = 1, this%nbound
146 rhs(n) = rhs(n) + this%rhs(i)
148 call matrix_sln%add_value_pos(idxglo(ipos), this%hcof(i))
152 qusr = this%rhs(i) - this%hcof(i) * this%xnew(n)
153 if (this%imover == 1 .and. qusr >
dzero)
then
154 call this%pakmvrobj%accumulate_qformvr(i, qusr)
187 call this%obs%StoreObsType(
'api', .true., indx)
192 call this%obs%StoreObsType(
'to-mvr', .true., indx)
This module contains the API package methods.
subroutine api_options(this, option, found)
@ brief Read additional options for package
character(len=lenpackagename) text
subroutine, public api_create(packobj, id, ibcnum, inunit, iout, namemodel, pakname)
@ brief Create a new package object
character(len=lenftype) ftype
subroutine api_rp(this)
@ brief Read and prepare stress period data for package
logical function api_obs_supported(this)
Determine if observations are supported.
subroutine api_df_obs(this)
Define the observation types available in the package.
subroutine api_fc(this, rhs, ia, idxglo, matrix_sln)
@ brief Fill A and r for the package
This module contains the base boundary package.
This module contains simulation constants.
integer(i4b), parameter lenpackagename
maximum length of the package name
integer(i4b), parameter lenftype
maximum length of a package type (DIS, WEL, OC, etc.)
real(dp), parameter dzero
real constant zero
This module defines variable data types.
character(len=lenmempath) function create_mem_path(component, subcomponent, context)
returns the path to the memory object
This module contains the derived type ObsType.
subroutine, public defaultobsidprocessor(obsrv, dis, inunitobs, iout)
@ brief Process IDstring provided for each observation
type(timeserieslinktype) function, pointer, public gettimeserieslinkfromlist(list, indx)
Get time series link from a list.