There are two ways to specify emigration. If an emi.table is provided (a
square matrix of dimension of the populations that specifies the emigration
from column x to row y), then emigration is deterministic in terms of numbers
of individuals as specified in the table. If perc.mig and emi.m are provided,
then emigration is probabilistic. The number of emigrants is determined by
the population size times the perc.mig and then the population where to
migrate to is taken from the relative probability in the columns of the emi.m
table.
Be aware if the diagonal is non zero then migration can occur into the same
patch. So most often you want to set the diagonal of the emi.m matrix to
zero. Which individuals is moved is random, but the order is in the order of
populations. It is possible that an individual moves twice within an
emigration call(as there is no check, so an individual moved from population
1 to 2 can move again from population 2 to 3).