Appendix A. Description of PARSIM v1.0: an individual-based population model.
We developed a computer program (PARSIM v1.0) to estimate the expected number of parent-offspring dyads and the number of full sibling dyads in a population under different population models. Models implemented in PARSIM are stochastic and individual-based in that they simulate the fates of individual animals and keep track of familial relationships as populations are projected forward through time. Models are parameterized with annual, age-specific birth, survival, immigration, and emigration rates that have been estimated from field data or other sources. A description of model parameters is provide in Table A1. Models use discrete, one-year time steps and census populations following the birth pulse (i.e., a post-breeding model).
A monogamous mating system is assumed in PARSIM. Once individuals reach the age of first breeding (set by the user), they are randomly paired with a member of the opposite sex that has also reached the age of first breeding. Pairs remain together until one member dies, and individuals re-mate if their original mate dies and a new mate is available.
Simulations proceed as follows. At an initial time step, the user specifies a starting number of unrelated individuals and determines how individuals are divided among ages up to the maximum lifespan. For each year in a given model run, each individual in the population can survive to the next year, age, emigrate from the population, and produce young based on probabilities set by the user (rates are constant among years for a given model run). At the start of each model run, the probability of an individual of age class a dying is set to da and the probability of an individual emigrating out of the population is set to ea. These probabilities are then compared with random numbers generated between 0 and 1 from a uniform distribution for each individual to determine if mortality and then emigration occurs. Survivors that remain in the population then age one year and, if above the age of first breeding and paired, produce a number of young with a mean of b and associated standard deviation. Following reproduction, the number of immigrants from other populations recruiting into age class a in year t is determined by Ia,t = iaNa,t-1, where ia is the immigration rate for age class a (number of immigrants in age class a in year t per individual in age class a-1 in year t-1) and Na,t-1 is the number of individuals in age class a in year t-1. All immigrants are assumed to be unrelated to one another and to individuals already in the population (i.e., source populations are considered to be very large). The sex ratio in the initial population as well as that of newborns, immigrants, and emigrants can be specified by the user.
Model output (population size, parent-offspring dyads, and full sibling dyads) varies among model runs due the random nature of individual survival, reproductive, emigration, and immigration events (i.e., demographic stochasticity) that occur in each time step. The user can also incorporate uncertainty in demographic parameters estimated from field data on model output by randomly generating different vital rates for each model run based on specified means and standard deviations.
The program identifies, tallies, and outputs all living parent-offspring dyads, the number of living full sibling dyads, and the population size at the end of each model run. A stable number of parent-offspring dyads is usually reached by 25 years (Fig. A1). The user can also specify the number of individuals to sample at the end of the simulations, as well as the number of years over which sampling occurs.
![]() |
FIG. A1. The number of parent-offspring dyads in a population of 660 individuals as a function of the number of years the population was projected forward in time using the population model implemented in program PARSIM v1.0. The number of dyads was standardized by dividing the number of dyads by population size because population size changed slightly as the population was projected forward in time. The closed population model described in the text was parameterized with a non-juvenile annual survival rate of 0.88, a juvenile annual survival rate 70% of non-juvenile survival, a birth rate of 0.55, and zero immigration and emigration. The sink population model was parameterized with the same values except annual per capita immigration was set to 0.16 and the birth rate was set to 0.08. |
TABLE A1. Description of parameters for input file for program PARSIM v1.0.
Parameter |
Description |
numYearsToSimulate |
Number or years to project the population for each model run (25 years often results in stable numbers of parent-offspring dyads). |
numYearsToSample |
Number of years to sample individuals and identify parent-offspring dyads at the end of model simulations. |
numBirdsPerSampleXX |
Number of individuals to sample in each year XX of sampling. “XX” is the suffix for year where the sample size for year #1 should be written as numBirdsPerSample01 and the sample size for year #2 should be written as numBirdsPerSample02, etc... A separate line is required for each year of sampling and the number of lines must equal numYearsToSample. A value >0 must be used. |
initialPopulation |
Population size at beginning of model runs. |
minFinalPop |
Minimum ending population size (at last year of model run) for inclusion in parent-offspring calculations. Model runs where the ending population size is less than this parameter will be ignored. |
maxFinalPop |
Maximum ending population size (at last year of model run) for inclusion in parent-offspring calculations. Model runs where the ending population size is greater than this parameter will be ignored. |
numExperimentsToReportOn |
Number of model runs to report. Reported runs will only include those runs with ending population sizes between the minimum and maximum population sizes. |
maxExperimentsToRun |
Maximum number of model runs. If fewer runs have ending populations sizes between the minimum and maximum ending population sizes than the number of simulations requested to run, the number of runs reported will be fewer than requested. |
MarriageableAge |
Age at which an individual pairs with a member of the opposite sex and are old enough to breed (i.e., age of first breeding). |
MaxLifeSpanInYears |
Maximum life span in years (must be between 3-20). |
InitialPopAgeDistributionValuesXX |
Proportion of individuals of age XX in the initial year of the population simulation. If MaxLifeSpanInYears = 10, there are 10 InitialPopAgeDistributionValuesXX parameters ranging from InitialPopAgeDistributionValues01 to InitialPopAgeDistributionValues10. |
maxNumChildrenPerBirth |
Maximum number of children a pair can produce in a given year. |
If maxNumChildrenPerBirth = 1 then the following three reproductive parameters are used… |
|
meanForMeanProbOfOneChild |
If maxNumChildrenPerBirth = 1, this parameter is used as the probability that a pair of mated individuals will produce an offspring. |
stdDevForMeanProbOfOneChild |
If maxNumChildrenPerBirth = 1, this parameter is used as the standard deviation in for meanForMeanProbOfOneChild across model runs. Inputting a parameter >0 results in variation in mean reproductive success among runs. Among run variation allows the user to incorporate the effect of uncertainty in reproductive success on the number of parent-offspring dyads in the population. |
stdDevForProbOfOneChild |
If maxNumChildrenPerBirth = 1, this parameter is used as the standard deviation for individual reproductive success. Inputting a parameter >0 results in variation in reproductive success among pairs (i.e., reproductive skew) within a given model run. |
If maxNumChildrenPerBirth > 1 then the following three reproductive parameters are used… |
|
meanForMeanNumChildrenPerBirth |
If maxNumChildrenPerBirth > 1, this parameter is used as the mean number of offspring produced per mated pair. |
stdDevForMeanForNumChildrenPerBirth |
If maxNumChildrenPerBirth > 1, this parameter is used as the standard deviation for meanForMeanNumChildrenPerBirth across model runs. Inputting a parameter >0 results in variation in mean reproductive success among runs. Among run variation allows the user to incorporate the effect of uncertainty in reproductive success on the number of parent-offspring dyads in the population. |
stdDevForNumChildrenPerBirth |
If maxNumChildrenPerBirth > 1, this standard deviation for individual reproductive success. Inputting a parameter >0 results in variation in reproductive success among pairs (i.e., reproductive skew) within a given model run. |
meanForProbOfDyingFirstYear |
Probability of 0-year old individuals dying during a given time step. |
stdDevForProbOfDyingFirstYear |
Standard deviation for 0-year old death rate across runs. Inputting a parameter >0 results in variation in survival rates of 0 year olds among runs. Among run variation allows the user to incorporate the effect of uncertainty in survival on the number of first-order dyads in the population. |
meanForProbOfDyingAfterFirstYear |
Probability of >1-year old individuals dying during a given time step. |
stdDevForProbOfDyingAfterFirstYear |
Standard deviation for >1-year old death rate across runs. Inputting a parameter >0 results in variation in the survival of >1 year olds among runs. Among run variation allows the user to incorporate the effect of uncertainty in survival on the number of first-order dyads in the population. |
meanForProbOfImmFirstYear |
Mean immigration rate for 0 year old individuals (enter the population at 1 year of age). |
stdDevForProbOfImmFirstYear |
Standard deviation for immigration rate of 0 year old individuals across runs. Inputting a parameter >0 results in immigration of 0 year olds among runs. Among simulation variation allows the user to incorporate the effect of uncertainty in immigration on the number of first-order dyads in the population. |
meanForProbOfImmAfterFirstYear |
Mean immigration rate for >1 year old individuals. |
stdDevForProbOfImmAfterFirstYear |
Standard deviation for immigration rate of >1 year old individuals across runs. Standard deviation for immigration rate of 0 year old individuals across runs. Inputting a parameter >0 results in variation immigration of >1 year olds among runs. Among simulation variation allows the user to incorporate the effect of uncertainty in immigration on the number of first-order dyads in the population. |
meanForProbOfEmFirstYear |
Mean emigration rate for >0 year old individuals. |
stdDevForProbOfEmFirstYear |
Standard deviation for emigration rate of >0 year old individuals across runs. Inputting a parameter >0 results variation in emigration by 0 year olds among runs. Among run variation allows the user to incorporate the effect of uncertainty in emigration on the number of first-order dyads in the population. |
meanForProbOfEmAfterFirstYear |
Mean emigration rate for >1 year old individuals. |
stdDevForProbOfEmAfterFirstYear |
Standard deviation for emigration rate of >1 year old individuals across runs. Inputting a parameter >0 results variation in emigration by >1 year olds among runs. Among run variation allows the user to incorporate the effect of uncertainty in emigration on the number of first-order dyads in the population. |
InitialPopGenderDistributionValuesMale |
Proportion of males in the initial time step. |
InitialPopGenderDistributionValuesFemale |
Proportion of females in the initial time step. |
NativeBornGenderDistributionValuesMale |
Probability of a newborn in the population being a male. |
NativeBornGenderDistributionValuesFemale |
Probability of a newborn in the population being a female. |
ImmigrationGenderDistributionValuesMale |
Proportion of immigrants that are male. |
ImmigrationGenderDistributionValuesFemale |
Proportion of immigrants that are female. |
ProbabilityOfEmigratingForGenderMale |
Multiplier used to produce different emigration rates for males. Given an age, the probability of emigration = ProbabilityOfEmigratingForGenderMale TIMES ProbabilityOfEmigratingAtAge. Set ProbabilityOfEmigratingForGenderMale equal to 1.0 to make the probability of emigration equal to ProbabilityOfEmigratingAtAge. |
ProbabilityOfEmigratingForGenderFemale |
Multiplier used to produce different emigration rates for females. Given an age, the probability of emigration = ProbabilityOfEmigratingForGenderFemale TIMES ProbabilityOfEmigratingAtAge. Set ProbabilityOfEmigratingForGenderFemale equal to 1.0 to make the probability of emigration equal to ProbabilityOfEmigratingAtAge. |