MODFLOW 6 version 6.9.0.dev0
USGS Modular Hydrologic Model
Loading...
Searching...
No Matches
BaseGeometry.f90
Go to the documentation of this file.
2
3 use kindmodule, only: dp, i4b
4
5 implicit none
6 private
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
26contains
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
88end module basegeometrymodule
subroutine print_attributes(this, iout)
Print the attributes for this object.
real(dp) function perimeter_sat(this)
integer(i4b), parameter geonamelen
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