+++ /dev/null
-c===========================================================================
-c
-c This file is part of TISEAN
-c
-c Copyright (c) 1998-2007 Rainer Hegger, Holger Kantz, Thomas Schreiber
-c
-c TISEAN is free software; you can redistribute it and/or modify
-c it under the terms of the GNU General Public License as published by
-c the Free Software Foundation; either version 2 of the License, or
-c (at your option) any later version.
-c
-c TISEAN is distributed in the hope that it will be useful,
-c but WITHOUT ANY WARRANTY; without even the implied warranty of
-c MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-c GNU General Public License for more details.
-c
-c You should have received a copy of the GNU General Public License
-c along with TISEAN; if not, write to the Free Software
-c Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
-c
-c===========================================================================
-c multivariate i/o utilities for TISEAN f-sources
-c author T. Schreiber (1999)
-c===========================================================================
- subroutine xreadfile(nmax,mmax,nx,x,nexcl,icol,file,iverb)
-c read columns as seperate time series
- parameter(mline=1000)
- dimension x(nx,mmax), icol(mmax), dum(mline)
- character*(*) file
-
- iv=iv_io(iverb)
- if(iv.ne.0) write(istderr(),*)
- . 'reading from columns', (icol(i),i=1,mmax)
- call infile(file,iunit,iverb)
- mlast=0
- do 10 i=1,mmax
- 10 mlast=max(mlast,icol(i))
- if(mlast.gt.mline) stop "xreadfile: make mline larger."
- lc=0
- do 20 n=1,nexcl
- lc=lc+1
- 20 read(iunit,*,end=999)
- do 30 n=1,nmax
- 1 lc=lc+1
- read(iunit,*,err=2,end=999) (dum(i),i=1,mlast)
- do 40 i=1,mmax
- 40 x(n,i)=dum(icol(i))
- goto 30
- 2 if(iv.ne.0) write(istderr(),*) "data in line ", lc, " ignored"
- goto 1
- 30 continue
- if(iv.ne.0) write(istderr(),*) '*** readfile: warning:'//
- . ' maybe not the whole file has been used'
- 999 nmax=n-1
- if(iunit.ne.istdin()) close(iunit)
- if(iv.ne.0) call readreport(nmax,file)
- end
-
- subroutine xwritecfile(nmax,mmax,nx,x,file,iverb,comm)
-c write comment and nmax points
- dimension x(nx,mmax)
- character*(*) file,comm
-
- if(mmax.gt.1000) then
- write(istderr(),*) "xwritecfile: "//
- . "cannot write more than 1000 columns"
- stop
- endif
- call outfile(file,iunit,iverb)
- if(comm.ne." ") write(iunit,'(a)') comm
- do 10 n=1,nmax
- 10 write(iunit,'(1000g16.7)') (x(n,i),i=1,mmax)
- if(iunit.eq.istdout()) then
- write(iunit,*)
- write(iunit,*)
- else
- close(iunit)
- endif
- if(iv_io(iverb).eq.1) call writereport(nmax,file)
- end
-
- subroutine xwritefile(nmax,mmax,nx,x,file,iverb)
-c write nmax points
- dimension x(nx,mmax)
- character*(*) file
-
- call xwritecfile(nmax,mmax,nx,x,file,iverb," ")
- end
-
- subroutine columns(mc,mmax,icol)
- dimension icol(*)
-
- call imcan("c",mmax,mc,icol)
- icmax=0
- do 10 m=1,mc
- 10 icmax=max(icmax,icol(m))
- do 20 m=mc+1,mmax
- icmax=icmax+1
- 20 icol(m)=icmax
- end
-
-
-