Up: Size/memory estimation routines    Previous: local_map_size


get_local_data_sizes

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.)



Up: Size/memory estimation routines    Previous: local_map_size

radek stompor 2007-09-15