10.8.1 Initialize_Collected_Array Procedure

The Initialize_Collected_Array procedure allocates and initializes a Collected_Array object. There are two ways to initialize an Collected_Array object, depending on whether or not the underlying Distributed_Vector object is internally created.

Calling syntax:

call Initialize (CA, OV, Name, status) or
call Initialize (CA, Many_of_One_Index, Dimensionality, Name, status, dim1, dim2, dim3)  

Input variables:

 CA  The Collected_Array object to be initialized.
 OV  An Overlapped_Vector object which the Collected_Array is to be based on. Note that the Collected_Array will not contain the Overlapped_Vector or require the Overlapped_Vector to be used in an assignment statement, but rather the Collected_Array will have a structure that is compatible with the Overlapped_Vector and will be set to the Overlapped_Vector during initialization.
 Many_of_One_Index  An index giving the relationship of the ``Many'' and ``One'' axes to each other for this Collected_Array.
 Dimensionality  The number of dimensions that the ``array'' has, including the dimension that is spread over the processors (the One_Axis), but not including the Many_Axis, if it is present. ``Ragged_Right'' vectors are signified by a Dimensionality of -1.
 Name  The name for this variable (especially useful in a vector of Collected Arrays). [Optional]
 dim{n}  The dimensions for this ``array''. There must be dimensions specified up to a number one less than the Dimensionality. These are only needed in the second form of the call. [Optional]

Output variables:

 CA  The Collected_Array object has been allocated and initialized.
 status  If present, the status variable is set to either 'Memory Error' or 'Success' depending on program execution. If not present, the procedure aborts if unsuccessful when the DEBUG_LEVEL is set high enough.

Internal variables:

 allocate_status  Allocation Status.
 consolidated_status  Consolidated Status.

The Initialize_Collected_Array code listing contains additional documentation.

Michael L. Hall