Migration is treated with a pooled approach, which means that the model does not determine the flows between any two countries, but rather the net inward migration (MIGRANTS) to each country, making sure that new inflows and outflows balance globally. It is driven by an exogenous parameter ( migrater ), which we derive from the migration forecasts of other organizations such as the UN Population Division or the International Institute of Applied Systems Analysis, specifying the net percentage of the population migrating each year (negative values indicate immigration and positive values indicate emigration). The user can increase or decrease global migration as a whole with a world migration multiplier, wmigrm . The first step is to swap the parameter values into an internal model calculation of the migration rate (MIGRATE).
The full global set of migration rates is unlikely, however, to provide a balanced global total of immigrants and emigrants. The next step is thus to calculate those totals, even though they are likely to be unequal.
After calculation of the world sums of immigrants and emigrants, the total world migration is assumed to be the average of the two. Then that total world migration is imposed on net immigrant and net emigrant regions through normalization.
Although the above equation assures that the global sum of migrants will be zero (immigration equals emigration), it is important to recompute the actual migration rate, so that it represents the true inflow or outflow of migrants after that balancing. Note that the computed migration rates (MIGRATE) will almost certainly be a bit different from the input parameter (migrater).
The migration specification in IFs is, as indicated above, basically exogenous. Different series can be pulled from IFsHistSeries.mdb to drive it. The active series is determined by specification within IFsInit.mdb, Table IFsInit, variables MigrantsTbl and MigrationRateTbl. For instance, those two variables have values of SeriesForecastNetMigrationUNPD and SeriesForecastNetMigrationRateUNPD to pull in the migration data from the UN Population Division.