68 real(dp),
intent(in) :: depth
71 if (depth <=
dzero)
then
73 elseif (depth <= this%height)
then
92 real(dp),
intent(in) :: depth
95 if (depth <= dzero)
then
97 elseif (depth <= this%height)
then
116 character(len=LINELENGTH) :: errmsg
117 character(len=*),
intent(inout) :: line
119 integer(I4B) :: lloc, istart, istop, ival
124 call urword(line, lloc, istart, istop, 2, ival, rval, 0, 0)
128 call urword(line, lloc, istart, istop, 1, ival, rval, 0, 0)
129 select case (line(istart:istop))
131 call urword(line, lloc, istart, istop, 1, ival, rval, 0, 0)
132 this%name = line(istart:istop)
134 call urword(line, lloc, istart, istop, 3, ival, rval, 0, 0)
137 call urword(line, lloc, istart, istop, 3, ival, rval, 0, 0)
140 write (errmsg,
'(a,a)') &
141 'Unknown rectangular geometry attribute: ', line(istart:istop)
155 integer(I4B),
intent(in) :: iout
157 character(len=*),
parameter :: fmtnm =
"(4x,a,a)"
158 character(len=*),
parameter :: fmttd =
"(4x,a,1(1PG15.6))"
161 call this%BaseGeometryType%print_attributes(iout)
164 write (iout, fmttd)
'HEIGHT = ', this%height
165 write (iout, fmttd)
'WIDTH = ', this%width
166 write (iout, fmttd)
'SATURATED AREA = ', this%area_sat()
167 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.