The maps (or map-like objects) are (and have to be) distributed in such a way that each processor contains a subset of consecutive, complete iso-latitude pixel rings. Moreover, the rings stored in the memory of the ith proc need to precede those stored in the memory of the i+1th proc. No overlaps are allowed. Due to the assumed equatorial symmetry of the pixelization schemes permitted by s2hat, only rings from one hemisphere (typically assumed to be the Northern one) plus the equatorial ring are explicitly considered in the distribution process. However, the ring is considered "observed" if at least one pixel of the ring or of its symmetric counterpart is included in the map.
The range of rings assigned to a processor is defined is defined by two numbers: first_ring and last_ring defining the first and last ring (both inclusive) assigned to the proc. Therefore all the rings with numbers first_ring ≤ j ≤ last_ring will be processed by this processor. There must be at least one ring assigned to each proc.
If the total number of rings is given by n then,
- 1 ≤ first_ring ≤ last_ring ≤ n/2 for the pixelizations, which do not have the equatorial row;
or
- 1 ≤ first_ring ≤ last_ring ≤ n/2+1 for the pixelizations, which have the equatorial row.
N.B.,
In Fortran 90 the local submap is stored as a three-dimensional array of double precision numbers and sizes,
(0:map_size-1,1:nstokes,1:nmaps).
In C those arrays are stored as a vector in the column-wise order, i.e., the last index varies the last.
See the Sections of the manual describing S2HAT Data Objects for more details.
Next:
alm distribution
 
Previous:
Data distribution
radek stompor
2009-10-15
|