
	SUBROUTINE LIST

--------ARRAY INFO SET AND RETRIEVE------

subroutine AL_set_global_size(gdim,sz,ndim)

subroutine AL_get_global_size(gdim,sz,ndim)

subroutine AL_get_local_size(ldim,sz,ndim)

subroutine AL_get_array_bounds(sx,ex,sxgp,exgp,dim,sz)

--------MAXIMA AND MINIMA--------------

function AL_get_max(x,sz,ndim)

--------PROC ID AND NUMBER SET----------

subroutine AL_set_id(proc)

subroutine AL_set_nproc(proc)

--------GET THE PGM POINTER TO A GIVEN DECOMPOSITION----

subroutine AL_get_pgm(pgm,sz,ndim,proc,NBYTES)  /* NBYTES = 8 as for real*8 */

subroutine AL_free_pgm(pgm)

--------ARRAY DECOMPOSITION ROUTINES-------

*... DECOMP_ARRAY_ ....
*.... Find the array decomposition and assign local array
*.... dimensions.
*.... NOTE: must call set_global_size() first.
*
* If opt is:
*     0 => define my own decomposition
*     1 => use the PETSc routine
*     2 => force a decomposition (must uncomment the lines below) 
*
c      proc(p_npx) = 8
c      proc(p_npy) = 8
c      proc(p_npz) = 8

subroutine AL_decomp_array(sz,ndim,proc,stencil,opt)

subroutine AL_find_decomp(sz,proc,ndim)

subroutine AL_decomp_3d(sz,proc)

subroutine AL_decomp_2d(nproc,nx,ny,nprocx,nprocy)

--------


##################################################################

	ROUTINES IN THE MG_UTIL LIB.

*/*F
* MG_FIND_LEVELS -- Find the level for the multigrid.
*
*     integer function mg_find_levels(sz,mg,ndim,proc)
*
* Inputs: sz   The array which contains the descriptor of the
decompostition
*
*         mg   The returned array with the relevant information
*              (see meshf.h for a description of the entries
* 
*         ndim the number of dimensions.
*
*         proc The array which contains the processor information
*
* On output, mg_find_lev returns the number of levels.
*
*F*/
      integer function mg_find_levels(sz,proc,mg,ndim)

------------------

*/*F
* MG_FIND_BUFFERS
*
* Find the size of the local and global buffers.
* And set the mg structure to those values. 
* 
*F*/
	subroutine mg_find_buffers(sz,mg,ndim,proc,igbuf,ilbuf)

-----------------
*/*F
*
* subroutine MG_SET_TYPE
*
* Set the type of multigrid: "linear" "nonlinear"
*
*F*/
	subroutine mg_set_type(mg,ndim,type)
