In order to allow the number of processors to be scaled up or down in future parallel model versions designed for PVM, the landscape map is partitioned dynamically, after the 500m habitat data has been read from an input file. After an initial data partitioning according to the number of rows, each processor creates and initializes a pixels array for each row assigned to that processor, as the habitat data is read. The map data is then dynamically repartitioned according to area.
The landscape partitioning strategy allows for simple
repartitioning by sending an entire row's contents as a message to a
north or south processor. The repartitioning phase steps though processor
pairs, beginning with PN
and PN
, followed by PN
and PN
,
sending and receiving map rows between pair members
until each processor contains an approximately equal area. Since
map rows must be complete, an equal area on each processor is not possible
with the shape of the current landscape map.