update new files
[unres.git] / source / maxlik / src_FPy / openunits.F
1       subroutine openunits(mepython)
2 #ifdef WIN
3       use dfport
4 #endif
5       implicit real*8 (a-h,o-z)
6       include 'DIMENSIONS'    
7       include 'DIMENSIONS.ZSCOPT'
8 #ifdef MPI
9       include 'mpif.h'
10       include 'COMMON.MPI'
11       integer MyRank
12       character*3 liczba,liczbap
13       character*256 procname
14 #endif
15       include 'COMMON.IOUNITS'
16       integer lenpre,lenpot,ilen,mepython
17       external ilen
18
19 #ifdef MPI
20       MyRank=Me
21 #endif
22       call mygetenv('PREFIX',prefix)
23 c      print *,me," prefix",prefix
24       call mygetenv('SCRATCHDIR',scratchdir)
25       call mygetenv('POT',pot)
26       lenpre=ilen(prefix)
27       lenpot=ilen(pot)
28       call mygetenv('POT',pot)
29       entname=prefix(:lenpre)//'_'//pot(:lenpot)//'.entr'
30 C Get the names and open the input files
31       open (1,file=prefix(:ilen(prefix))//'.inp',status='old')
32 c      print *,me," input ",prefix(:ilen(prefix))//'.inp'
33 C Get parameter filenames and open the parameter files.
34       call mygetenv('BONDPAR',bondname)
35 c      open (ibond,file=bondname,status='old')
36       call mygetenv('THETPAR',thetname)
37 c      open (ithep,file=thetname,status='old')
38       call mygetenv('ROTPAR',rotname)
39 c      open (irotam,file=rotname,status='old')
40       call mygetenv('TORPAR',torname)
41 c      open (itorp,file=torname,status='old')
42       call mygetenv('TORDPAR',tordname)
43 c      open (itordp,file=tordname,status='old')
44       call mygetenv('FOURIER',fouriername)
45 c      open (ifourier,file=fouriername,status='old')
46       call mygetenv('ELEPAR',elename)
47 c      open (ielep,file=elename,status='old')
48       call mygetenv('SCCORPAR',sccorname)
49 c      open (isccor,file=sccorname,status='old')
50       call mygetenv('SIDEPAR',sidename)
51 c      open (isidep,file=sidename,status='old')
52       call mygetenv('SIDEP',sidepname)
53       open (isidep1,file=sidepname,status="old")
54       call mygetenv('LIPTRANPAR',liptranname)
55       open (iliptranpar,file=liptranname,status='old',action='read')
56 #ifndef OLDSCP
57 C
58 C 8/9/01 In the newest version SCp interaction constants are read from a file
59 C Use -DOLDSCP to use hard-coded constants instead.
60 C
61       call mygetenv('SCPPAR',scpname)
62 c      open (iscpp,file=scpname,status='old')
63 #endif
64 #ifdef MPL
65       if (MyID.eq.BossID) then
66       MyRank = MyID/fgProcs
67 #endif
68 #ifdef MPI
69 c      print *,'OpenUnits: processor',MyID,' MyRank=',MyRank
70       call MPI_Get_processor_name(procname, len_procname,ierr) 
71       call numstr(MyRank,liczba)
72       call numstr(mepython,liczbap)
73       outname=prefix(:lenpre)//'.out_'//pot(:lenpot)//liczba//
74      &  "_"//liczbap
75       intname=prefix(:lenpre)//'_'//pot(:lenpot)//liczba//'.int'
76       pdbname=prefix(:lenpre)//'_'//pot(:lenpot)//liczba//'.pdb'
77       mol2name=prefix(:lenpre)//'_'//pot(:lenpot)//liczba//'.mol2'
78       statname=prefix(:lenpre)//'_'//pot(:lenpot)//liczba//'.stat'
79 #else
80       outname=prefix(:lenpre)//'.out_'//pot(:lenpot)
81       intname=prefix(:lenpre)//'_'//pot(:lenpot)//'.int'
82       pdbname=prefix(:lenpre)//'_'//pot(:lenpot)//'.pdb'
83       mol2name=prefix(:lenpre)//'_'//pot(:lenpot)//'.mol2'
84       statname=prefix(:lenpre)//'_'//pot(:lenpot)//'.stat'
85 #endif
86 #if defined(AIX) || defined(PGI)
87 c      open(iout,file=outname,status='unknown')
88 c      if(me.eq.Master) then
89 c      open(igeom,file=intname,status='unknown',position='append')
90 c      open(ipdb,file=pdbname,status='unknown')
91 c      open(imol2,file=mol2name,status='unknown')
92 c      open(istat,file=statname,status='unknown',position='append')
93 c      endif
94 #else
95 c      open(iout,file=outname,status='unknown')
96 c      if(me.eq.Master) then
97 c      open(igeom,file=intname,status='unknown',access='append')
98 c      open(ipdb,file=pdbname,status='unknown')
99 c      open(imol2,file=mol2name,status='unknown')
100 c      open(istat,file=statname,status='unknown',access='append')
101 c      endif
102 #endif
103 #ifdef MPL
104       endif ! (MyID.eq.BossID)
105 #endif
106       csa_rbank=prefix(:lenpre)//'.CSA.rbank'
107       csa_seed=prefix(:lenpre)//'.CSA.seed'
108       csa_history=prefix(:lenpre)//'.CSA.history'
109       csa_bank=prefix(:lenpre)//'.CSA.bank'
110       csa_bank1=prefix(:lenpre)//'.CSA.bank1'
111       csa_alpha=prefix(:lenpre)//'.CSA.alpha'
112       csa_alpha1=prefix(:lenpre)//'.CSA.alpha1'
113       csa_bankt=prefix(:lenpre)//'.CSA.bankt'
114       csa_int=prefix(:lenpre)//'.int'
115       csa_bank_reminimized=prefix(:lenpre)//'.CSA.bank_reminimized'
116       csa_native_int=prefix(:lenpre)//'.CSA.native.int'
117       csa_in=prefix(:lenpre)//'.CSA.in'
118 c      write (iout,'(80(1h-))')
119 c      write (iout,'(30x,a)') "FILE ASSIGNMENT"
120 c      write (iout,'(80(1h-))')
121 c      write (iout,*) "Input file                      : ",
122 c     &  prefix(:ilen(prefix))//'.inp'
123 c      write (iout,*) "Output file                     : ",
124 c     &  outname(:ilen(outname))
125 c      write (iout,*)
126 c      write (iout,*) "Sidechain potential file        : ",
127 c     &  sidename(:ilen(sidename))
128 c#ifndef OLDSCP
129 c      write (iout,*) "SCp potential file              : ",
130 c     &  scpname(:ilen(scpname))
131 c#endif  
132 c      write (iout,*) "Electrostatic potential file    : ",
133 c     &  elename(:ilen(elename))
134 c      write (iout,*) "Cumulant coefficient file       : ",
135 c     &  fouriername(:ilen(fouriername))
136 c      write (iout,*) "Torsional parameter file        : ",
137 c     &  torname(:ilen(torname))
138 c      write (iout,*) "Double torsional parameter file : ",
139 c     &  tordname(:ilen(tordname))
140 c      write (iout,*) "Backbone-rotamer parameter file : ",
141 c     &  sccorname(:ilen(sccorname))
142 c      write (iout,*) "Bond & inertia constant file    : ",
143 c     &  bondname(:ilen(bondname))
144 c      write (iout,*) "Bending parameter file          : ",
145 c     &  thetname(:ilen(thetname))
146 c      write (iout,*) "Rotamer parameter file          : ",
147 c     &  rotname(:ilen(rotname))
148 c      write (iout,'(80(1h-))')
149 c      write (iout,*)
150       return
151       end
152