MODFLOW 6  version 6.5.0.dev2
MODFLOW 6 Code Documentation
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  !
36  ! -- Return
37  return
38  end function area_sat
39 
40  function perimeter_sat(this)
41  ! -- return
42  real(dp) :: perimeter_sat
43  ! -- dummy
44  class(basegeometrytype) :: this
45  !
46  perimeter_sat = 0.d0
47  !
48  ! -- Return
49  return
50  end function perimeter_sat
51 
52  function area_wet(this, depth)
53  ! -- return
54  real(dp) :: area_wet
55  ! -- dummy
56  class(basegeometrytype) :: this
57  real(dp), intent(in) :: depth
58  !
59  area_wet = 0.d0
60  !
61  ! -- Return
62  return
63  end function area_wet
64 
65  function perimeter_wet(this, depth)
66  ! -- return
67  real(dp) :: perimeter_wet
68  ! -- dummy
69  class(basegeometrytype) :: this
70  real(dp), intent(in) :: depth
71  !
72  perimeter_wet = 0.d0
73  !
74  ! -- Return
75  return
76  end function perimeter_wet
77 
78  subroutine set_attribute(this, line)
79  ! -- dummy
80  class(basegeometrytype) :: this
81  character(len=*), intent(inout) :: line
82  !
83  ! -- Return
84  return
85  end subroutine set_attribute
86 
87  !> @brief Print the attributes for this object
88  !<
89  subroutine print_attributes(this, iout)
90  ! -- dummy
91  class(basegeometrytype) :: this
92  ! -- local
93  integer(I4B), intent(in) :: iout
94  ! -- formats
95  character(len=*), parameter :: fmtid = "(4x,a,i0)"
96  character(len=*), parameter :: fmtnm = "(4x,a,a)"
97  !
98  write (iout, fmtid) 'ID = ', this%id
99  write (iout, fmtnm) 'NAME = ', trim(adjustl(this%name))
100  write (iout, fmtnm) 'GEOMETRY TYPE = ', trim(adjustl(this%geo_type))
101  !
102  ! -- Return
103  return
104  end subroutine print_attributes
105 
106 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