SUBROUTINE graf_s(start, delta, psi, npts, filename, nds, ider) USE Numeric_Kinds_Module !----------------------------------------------------------------------- ! This routine was written by G. A. Parker ! IF you find an error or have an improvement please send a messge to ! parker@phyast.nhn.uoknor.edu !----------------------------------------------------------------------- IMPLICIT NONE INTEGER, PARAMETER :: Graf_Unit=39 CHARACTER(len=*) :: filename INTEGER :: npts, ip, nds, nstart, ider, istat REAL(dp) :: start, delta, psi(nds:npts) REAL(sp) :: xval, pltf !----------------------------------------------------------------------- ! outputs results for subsequent plotting. !----------------------------------------------------------------------- nstart=0 OPEN(UNIT=Graf_Unit,FILE=filename,IOSTAT=istat,STATUS='replace',ACTION='write') IF (istat.ne.0) STOP 'OPEN failed - graf_s' IF(nds.eq.1)THEN nstart=1 ELSE IF(nds.eq.0)THEN nstart=-npts ELSE STOP 'Graf' ENDIF DO ip=nstart,npts xval=start+(ip-1)*delta IF(ip.lt.0)THEN pltf=psi(-ip)*(-1)**ider ELSE pltf=psi(ip) ENDIF WRITE(Graf_Unit,'(1x,6(1pe14.6,","))')xval,pltf ENDDO CLOSE(Unit=Graf_Unit,IOSTAT=istat,STATUS='keep') IF (istat.ne.0) STOP 'CLOSE failed - graf_s' RETURN END SUBROUTINE graf_s