62 real(dp),
intent(in) :: depth
65 if (depth <=
dzero)
then
67 elseif (depth <= this%height)
then
83 real(dp),
intent(in) :: depth
86 if (depth <= dzero)
then
88 elseif (depth <= this%height)
then
104 character(len=LINELENGTH) :: errmsg
105 character(len=*),
intent(inout) :: line
107 integer(I4B) :: lloc, istart, istop, ival
112 call urword(line, lloc, istart, istop, 2, ival, rval, 0, 0)
116 call urword(line, lloc, istart, istop, 1, ival, rval, 0, 0)
117 select case (line(istart:istop))
119 call urword(line, lloc, istart, istop, 1, ival, rval, 0, 0)
120 this%name = line(istart:istop)
122 call urword(line, lloc, istart, istop, 3, ival, rval, 0, 0)
125 call urword(line, lloc, istart, istop, 3, ival, rval, 0, 0)
128 write (errmsg,
'(a,a)') &
129 'Unknown rectangular geometry attribute: ', line(istart:istop)
140 integer(I4B),
intent(in) :: iout
142 character(len=*),
parameter :: fmtnm =
"(4x,a,a)"
143 character(len=*),
parameter :: fmttd =
"(4x,a,1(1PG15.6))"
146 call this%BaseGeometryType%print_attributes(iout)
149 write (iout, fmttd)
'HEIGHT = ', this%height
150 write (iout, fmttd)
'WIDTH = ', this%width
151 write (iout, fmttd)
'SATURATED AREA = ', this%area_sat()
152 write (iout, fmttd)
'SATURATED WETTED PERIMETER = ', this%perimeter_sat()
This module contains simulation constants.
integer(i4b), parameter linelength
maximum length of a standard line
real(dp), parameter dpi
real constant
real(dp), parameter dzero
real constant zero
real(dp), parameter dtwo
real constant 2
This module defines variable data types.
real(dp) function perimeter_sat(this)
Return saturated perimeter.
real(dp) function perimeter_wet(this, depth)
Return wetted perimeter.
subroutine set_attribute(this, line)
Set a parameter for this rectangular object.
subroutine print_attributes(this, iout)
Print the attributes for this object.
real(dp) function area_sat(this)
Return saturated area.
real(dp) function area_wet(this, depth)
Return wetted area.
This module contains simulation methods.
subroutine, public store_error(msg, terminate)
Store an error message.
integer(i4b) function, public count_errors()
Return number of errors.