Nodes of different colours represent the following:
Solid arrows point from a submodule to the (sub)module which it is
descended from. Dashed arrows point from a module or program unit to
modules which it uses.
Where possible, edges connecting nodes are
given different colours to make them easier to distinguish in
large graphs.
~ ~ ~ PURPOSE ~ ~ ~
this subroutine distributes daily rainfall exponentially within the day
~ ~ ~ INCOMING VARIABLES ~ ~ ~
name |units |definition
~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~
hru_km(:) |km^2 |area of HRU in square kilometers
idg(:) |none |array location of random number seed
|used for a given process
jj |none |HRU number
rndseed(:,:) |none |random number generator seed
~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~
~ ~ ~ SUBROUTINES/FUNCTIONS CALLED ~ ~ ~
Intrinsic: Log
~ ~ ~ ~ ~ ~ END SPECIFICATIONS ~ ~ ~ ~ ~ ~
need peak rainfall rate
calculate peak rate using same method used for peak runoff
generate random number between 0.0 and 1.0
because all input set to constant value, vv always the same
vv => time to peak expressed as fraction of total storm duration
calculate storm duration
calculate amount of total rainfall fallen at time of peak
rainfall and time of peak rainfall in units of minutes
calculate constants for exponential rainfall distribution
equation
do before time of peak rainfall
do while pt less than rtp
after peak rainfall and before end of storm
at end of storm
Nodes of different colours represent the following:
Solid arrows point from a procedure to one which it calls. Dashed
arrows point from an interface to procedures which implement that interface.
This could include the module procedures in a generic interface or the
implementation in a submodule of an interface in a parent module.
Where possible, edges connecting nodes are
given different colours to make them easier to distinguish in
large graphs.