MODFLOW 6  version 6.6.0.dev0
USGS Modular Hydrologic Model
GwfBuyInputData.f90
Go to the documentation of this file.
2  use kindmodule, only: i4b, dp
4 
5  implicit none
6  private
7 
8  !> Data structure to transfer input configuration to the
9  !< BUY package, as opposed to reading from file
10  type, public :: gwfbuyinputdatatype
11 
12  ! options
13  integer(I4B) :: iform !< see BUY for description
14  real(dp) :: denseref !< see BUY for description
15  ! dim
16  integer(I4B) :: nrhospecies !< see BUY for description
17 
18  ! pkg data
19  real(dp), dimension(:), pointer, contiguous :: drhodc => null() !< see BUY for description
20  real(dp), dimension(:), pointer, contiguous :: crhoref => null() !< see BUY for description
21  character(len=LENMODELNAME), dimension(:), allocatable :: cmodelname !< see BUY for description
22  character(len=LENAUXNAME), dimension(:), allocatable :: cauxspeciesname !< see BUY for description
23 
24  contains
25  procedure, pass(this) :: construct
26  procedure, pass(this) :: destruct
27  end type gwfbuyinputdatatype
28 
29 contains
30 
31 !> @brief Allocate the input data
32 !<
33  subroutine construct(this, nrhospecies)
34  class(gwfbuyinputdatatype) :: this !< the input data block
35  integer(I4B) :: nrhospecies !< the number of species
36 
37  allocate (this%drhodc(nrhospecies))
38  allocate (this%crhoref(nrhospecies))
39  allocate (this%cmodelname(nrhospecies))
40  allocate (this%cauxspeciesname(nrhospecies))
41 
42  end subroutine construct
43 
44  !> @brief clean up
45  !<
46  subroutine destruct(this)
47  class(gwfbuyinputdatatype) :: this !< the input data block
48 
49  deallocate (this%drhodc)
50  deallocate (this%crhoref)
51  deallocate (this%cmodelname)
52  deallocate (this%cauxspeciesname)
53 
54  end subroutine destruct
55 
56 end module gwfbuyinputdatamodule
This module contains simulation constants.
Definition: Constants.f90:9
integer(i4b), parameter lenmodelname
maximum length of the model name
Definition: Constants.f90:22
integer(i4b), parameter lenauxname
maximum length of a aux variable
Definition: Constants.f90:35
real(dp), parameter dzero
real constant zero
Definition: Constants.f90:65
subroutine destruct(this)
clean up
subroutine construct(this, nrhospecies)
Allocate the input data.
This module defines variable data types.
Definition: kind.f90:8
Data structure to transfer input configuration to the.