MODFLOW 6  version 6.7.0.dev0
USGS Modular Hydrologic Model
BaseGeometry.f90
Go to the documentation of this file.
2 
3  use kindmodule, only: dp, i4b
4 
5  implicit none
6  private
7  public basegeometrytype
8 
9  integer(I4B), parameter :: geonamelen = 20
10 
12  character(len=20) :: geo_type = 'UNDEFINED'
13  integer(I4B) :: id = 0
14  character(len=GEONAMELEN) :: name = ''
15 
16  contains
17 
18  procedure :: area_sat
19  procedure :: perimeter_sat
20  procedure :: area_wet
21  procedure :: perimeter_wet
22  procedure :: set_attribute
23  procedure :: print_attributes
24  end type basegeometrytype
25 
26 contains
27 
28  function area_sat(this)
29  ! -- return
30  real(dp) :: area_sat
31  ! -- dummy
32  class(basegeometrytype) :: this
33  !
34  area_sat = 0.d0
35  end function area_sat
36 
37  function perimeter_sat(this)
38  ! -- return
39  real(dp) :: perimeter_sat
40  ! -- dummy
41  class(basegeometrytype) :: this
42  !
43  perimeter_sat = 0.d0
44  end function perimeter_sat
45 
46  function area_wet(this, depth)
47  ! -- return
48  real(dp) :: area_wet
49  ! -- dummy
50  class(basegeometrytype) :: this
51  real(dp), intent(in) :: depth
52  !
53  area_wet = 0.d0
54  end function area_wet
55 
56  function perimeter_wet(this, depth)
57  ! -- return
58  real(dp) :: perimeter_wet
59  ! -- dummy
60  class(basegeometrytype) :: this
61  real(dp), intent(in) :: depth
62  !
63  perimeter_wet = 0.d0
64  end function perimeter_wet
65 
66  subroutine set_attribute(this, line)
67  ! -- dummy
68  class(basegeometrytype) :: this
69  character(len=*), intent(inout) :: line
70  end subroutine set_attribute
71 
72  !> @brief Print the attributes for this object
73  !<
74  subroutine print_attributes(this, iout)
75  ! -- dummy
76  class(basegeometrytype) :: this
77  ! -- local
78  integer(I4B), intent(in) :: iout
79  ! -- formats
80  character(len=*), parameter :: fmtid = "(4x,a,i0)"
81  character(len=*), parameter :: fmtnm = "(4x,a,a)"
82  !
83  write (iout, fmtid) 'ID = ', this%id
84  write (iout, fmtnm) 'NAME = ', trim(adjustl(this%name))
85  write (iout, fmtnm) 'GEOMETRY TYPE = ', trim(adjustl(this%geo_type))
86  end subroutine print_attributes
87 
88 end module basegeometrymodule
subroutine print_attributes(this, iout)
Print the attributes for this object.
real(dp) function perimeter_sat(this)
integer(i4b), parameter geonamelen
Definition: BaseGeometry.f90:9
real(dp) function perimeter_wet(this, depth)
real(dp) function area_wet(this, depth)
real(dp) function area_sat(this)
subroutine set_attribute(this, line)
This module defines variable data types.
Definition: kind.f90:8