Hi Shu-ping,
The trouble here is that the migration matrix you want to set is:
0 1 0
0 0 0 <- no migrants entering pop1 after t1
1 0 0
0 0 0 <- no migrants entering pop2 after t1
0 0 0 <- no migrants entering pop3 before t1
0 0 0 <- no migrants entering pop3 after t1
But you can only go as far as:
0 1 0
0 0 0 <- no migrants entering pop1 after t1
1 0 0
1 0 0 <- MIGRANTS HAVE TO BE SET TO ENTER pop2 EVEN AFTER t1
0 0 0 <- no migrants entering pop3 before t1
0 0 0 <- no migrants entering pop3 after t1
The way the population trees are set is that pop1 becomes popA1 after
joining with pop3 (from present to past). So you can set a "no
migration" prior for this population, thus, the second line in the
migration weights matrix can be all 0s. For pop2 you can only set the
migration prior once. This "branch" will always be labelled pop2. If
you set a prior so that there are migrants entering the population you
cannot set the migration weights to be all 0s. As for pop3, because
the migration prior is always set to be 0 you can specify all 0s for
the last and the one before the last lines of the migration weights
matrix.
The prior you have used states a unidirectional migration rate from
pop1 (popA1 then) to pop2.
Great effort, though!
Best,
Joao