SIMPDEL program flow is illustrated in Figure 3.
Input files are read by subroutine input, and simulation variables
initialized in initsim. Hydrology and vegetation updates are
performed once every seven days by subroutines hydrology and
vegetation. The deer component is simulated daily by subroutine
deer, which invokes dage, drepro, and dforage,
in sequence. Subroutine dage increments deer ages daily for deer
months of age, and monthly for all others, and calls ddisperse
for all male deer turning eighteen months of age. Subroutine ddisperse
simulates the dispersal process by randomly selecting dispersal locations
and analyzing the locations for suitability. The reproduction process
is handled by drepro, which simulates deer mating and fawn birth,
and calls ddisperse for all male deer whose mothers are giving birth
to new fawns.
The foraging process is comprised of subroutines dforage, dmove,
dgraze, and dmovelow. Subroutine dmove locates a new 500m
grid cell position with available forage and dgraze simulates deer
grazing on the 100m grid cells within the selected 500m cell.
Subroutine dmovelow selects a 500m grid cell along a deer's
distance perimeter, and is called only after no high or medium quality
forage is found. Finally, after each deer's foraging process is completed,
subroutine dgrow updates the deer's body weight based on daily
energy expenditures and invokes dmortality if death results
from weight loss or other factors.