subroutine get_local_data_sizes( precompute_plms, pixelization, scan, nmmax, myid, numprocs, nmvals, first_ring, last_ring, map_size, nplm, root, comm)
Purpose:
Given the pixelization, pixelization, and the scan, scan, the routine estimates the sizes of all the local data objects
for a work-load balanced data distribution.
It is just a wrapper performing all the calls explained in this section. Its output suffices to perform all the allocations
needed for the transforms.
To be called by each proc.
Parameters:
input:
- precompute_plms- [integer(i4b)], if non-zero estimates the
number of l,m coeffs to be stored on a proc, in fact it may somewhat overestimate on a proc root;
- pixelization- [pixeltype], a S2HAT structure storing the info about the pixelization;
- scan- [scandef], a S2HAT structure storing the info about the sky coverage;
- nlmax- [integer(i4b)], maximum value of l considered (included);
- nmmax- [integer(i4b)], maximum
value of m considered (included);
- numprocs- [integer(i4b)], total number of procs used;
- myid- [integer(i4b)], proc id (0,...,numprocs-1);
- root(*)-- [integer(i4b)], defines root processor on which the
alm coefficients are stored in a non-distributed form;
- comm(*)-- [MPI_Comm], an mpi communicator for the numprocs procs.
output:
- nmvals- [integer(i4b)], a number of
m values to be stored on a given proc;
(see also nummvals.)
- first_ring, last_ring- [integer(i4b)], numbers of a first and last ring of the Northern hemisphere which define a sub map (both included) to be stored on a given proc;
(see also find_ring_range.)
- map_size- [integer(i4b)[, a number of pixels in a submap stored on a given proc and corresponding to a set of rings defined by first_ring and last_ring above. Both Northern
and corresponding Southern hemisphere rings are included and all the pixels of rings even only partially
observed are counted.
(see also local_map_size.
- nplm- [integer(i8b)], a total number of
Plm
of a single type to be stored on a proc, irrelevant if precompute_plms == 0.
(see also nummmodes.)
|