lgrp=(index(controlcard,'LGRP').gt.0)
caonly=(index(controlcard,'CA_ONLY').gt.0)
print_dist=(index(controlcard,'PRINT_DIST').gt.0)
+ print *,"print_dist",print_dist
call multreada(controlcard,'CUTOFF',rcutoff,ncut,-1.0d0)
call readi(controlcard,'IOPT',iopt,2)
+ print *,"iopt",iopt
lside = index(controlcard,"SIDE").gt.0
efree = index(controlcard,"EFREE").gt.0
+ print *,controlcard
+ call readi(controlcard,'ISTART',is,1)
+ print *,"is",is
+ call readi(controlcard,'IEND',ie,10000000)
+ print *,"ie",ie
+ call readi(controlcard,'ISAMPL',isampl,1)
+ print *,"isampl",isampl
+ call reada(controlcard,'TS',ts,1.0d10)
+ call reada(controlcard,'TE',te,1.0d10)
+ print *,"is",is," ie",ie
if (min_var) iopt=1
return
end
return
end
c----------------------------------------------------------------------------
+ subroutine split_string(rekord,tablica,dim,nsub)
+ implicit none
+ integer dim,nsub,i,ii,ll,kk
+ character*(*) tablica(dim)
+ character*(*) rekord
+ integer ilen
+ external ilen
+ do i=1,dim
+ tablica(i)=" "
+ enddo
+ ii=1
+ ll = ilen(rekord)
+ nsub=0
+ do i=1,dim
+C Find the start of term name
+ kk = 0
+ do while (ii.le.ll .and. rekord(ii:ii).eq." ")
+ ii = ii+1
+ enddo
+C Parse the name into TABLICA(i) until blank found
+ do while (ii.le.ll .and. rekord(ii:ii).ne." ")
+ kk = kk+1
+ tablica(i)(kk:kk)=rekord(ii:ii)
+ ii = ii+1
+ enddo
+ if (kk.gt.0) nsub=nsub+1
+ if (ii.gt.ll) return
+ enddo
+ return
+ end
+c----------------------------------------------------------------------------
subroutine card_concat(card)
include 'DIMENSIONS'
include 'COMMON.IOUNITS'
call getenv('PDB',cfrom_pdb)
call getenv('PRINTCOOR',cprint)
from_cart = index(ucase(cfrom_pdb),'CART').gt.0
- lprint_cart = index(ucase(cprint),'PRINT_CART').gt.0
- lprint_int = index(ucase(cprint),'PRINT_INT').gt.0
- if (from_cart .and. .not.lprint_int) then
- lprint_cart=.true.
- lprint_int=.false.
- endif
- if (.not.lprint_cart .and. .not.lprint_int) lprint_int=.true.
+ from_cx = index(ucase(cfrom_pdb),'CX').gt.0
+ lprint_cart = index(ucase(cprint),'CART').gt.0
+ lprint_int = index(ucase(cprint),'INT').gt.0
+c if (.not.lprint_cart .and. .not.lprint_int) lprint_int=.true.
lenpre=ilen(prefix)
lenout=ilen(prefout)
lenint=ilen(prefintin)
C Get the names and open the input files
open (inp,file=prefix(:ilen(prefix))//'.inp',status='old')
outname=prefout(:lenout)//'_clust.out'
- if (lprint_cart) then
- intname=prefintin(:lenint)//'_clust'//'.x'
+ if (from_cart) then
intinname=prefintin(:lenint)//'.x'
+ else if (from_cx) then
+ write (iout,*) "cx files: ",prefintin(:ilen(prefintin))
+ call split_string(prefintin,cxfiles(1),maxfiles,nfiles)
+ write (iout,*) "nfiles",nfiles
+ write (iout,*) "Split cxfiles"
+ do i=1,nfiles
+ cxfiles(i)=cxfiles(i)(:ilen(cxfiles(i)))//'.cx'
+ write (iout,*) cxfiles(i)(:ilen(cxfiles(i)))
+ enddo
else
intname=prefintin(:lenint)//'_clust'//'.int'
intinname=prefintin(:lenint)//'.int'
endif
+ if (lprint_cart) then
+ if (.not. from_cx) then
+ intname=prefintin(:lenint)//'_clust'//'.x'
+ else
+ intname=cxfiles(1)(:ilen(cxfiles(1)))//'_clust'//'.x'
+ endif
+ else if (lprint_int) then
+ if (.not. from_cx) then
+ intname=prefintin(:lenint)//'_clust'//'.int'
+ else
+ intname=cxfiles(1)(:ilen(cxfiles(1)))//'_clust'//'.int'
+ endif
+ endif
rmsname=prefintin(:lenint)//'.rms'
statinname=prefintin(:lenint)//'.stat'
print *,statinname
open (jplot,file=prefout(:ilen(prefout))//'.tex',
& status='unknown')
print *,'unit',jplot,' opened'
- open (intin,file=intinname,status='old')
+ if (.not. from_cx) open (intin,file=intinname,status='old')
print *,'unit',intin,' opened'
open (jrms,file=rmsname,status='unknown')
open (jstatin,file=statinname,status='unknown')