Next:
Compilation    Previous: alm distribution    Up: Data distribution


Ring weights distribution

The ring weights are used by the direct harmonic transforms as implemented in the map2alm routines. A single weight is assigned to every iso-latitudinal ring of pixels. As the symmetry with respect to the equatorial plane is assumed, there are only n/2 or n/2+1 different weights to be stored in the cases with or without an equatorial ring of pixels. Here n is a number of all rings.

Given that each proc stores in the memory only a part of the entire map corresponding to a subinterval of all rings as defined by two integer variables, first_ring to last_ring, see map distribution, it needs only last_ring-first_ring+1 weights corresponding to the rings from first_ring to last_ring. This is how the full weights vector is distributed over procs, with each processor keeping only a subset of weights corresponding to the map rings it is supposed to process.

Different weights are allowed for different Stokes parameters but the same weights are assumed for all maps processed simultaneously.

In Fortran 90 the local weights are stored as a two-dimensional array of double precision numbers with sizes given by (1:last_ring-first_ring+1,1:nstokes).

In C this is stored as a vector in the column-wise order with the index running from 0 to (last_ring-first_ring+1)*nstokes-1.



Next: Compilation    Previous: alm distribution    Up: Data distribution

radek stompor 2009-10-15