
c===============================================================================
c                          READ_MAP.INC
c===============================================================================

c Dieser Includefile erledigt fuer die Subroutinen 'READ_MAP_x' das Einlesen
c der Potentialmappe und falls notwendig die Fehlerausgabe.


	INCLUDE 'accel$sourcedirectory:COM_DIRS.INC'
	INCLUDE 'accel$sourcedirectory:COM_ACCEL.INC'

	integer   i,j,k, ihelp, iostat



c Einlesen der Potentialmappe:


	open (lunRead,file=mappenName//'_'//Nr,
     +		 defaultfile=mappenDir//':.MAPPE',status='old',
     +		 form='unformatted',recl=imax+1,readonly)
c     +           form='unformatted',recl=imax,readonly)
	write(*,*) 'reading '//mappenName(1:nameLength)//'_'//Nr//'.MAPPE  ...'
	do k = 0, kmax
      	    do j = 0, jmax
c      		read(lunREAD,iostat=iostat) (map(i,j,k),i=0,imax)
		ihelp = (k*(jmax+1)+j)*(imax+1)
		read(lunREAD,iostat=iostat) (map(ihelp+i),i=0,imax)
      		if (iostat.NE.0) then
		    write(*,*)
      		    write(*,999) i,j,k,iostat
		    STOP
      		endif
      	    enddo
	enddo
 	close(lunREAD)
999     format(x/'error reading grid point (i,j,k) = ('i4','i4','
     +        i4')'/'iostat = 'i4/)


c da die Anodenbereiche bei RELAX3D negativ kodiert sind, nimm die
c Absolutbetraege:

	ihelp = 0
	do k=0, kmax
	    do j=0, jmax
		do i=0, imax
c		    map(i,j,k) = abs(map(i,j,k))
		    map(ihelp) = abs(map(ihelp))
		    ihelp = ihelp + 1
		enddo
	    enddo
	enddo


	RETURN

