added nanostructures energy to wham, no differs
[unres.git] / source / wham / src-M / openunits.F
1       subroutine openunits
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
13 #endif
14       include 'COMMON.IOUNITS'
15       integer lenpre,lenpot,ilen
16       external ilen
17
18 #ifdef MPI
19       MyRank=Me
20 #endif
21       call mygetenv('PREFIX',prefix)
22       call mygetenv('SCRATCHDIR',scratchdir)
23       call mygetenv('POT',pot)
24       lenpre=ilen(prefix)
25       lenpot=ilen(pot)
26       call mygetenv('POT',pot)
27       entname=prefix(:lenpre)//'_'//pot(:lenpot)//'.entr'
28 C Get the names and open the input files
29       open (1,file=prefix(:ilen(prefix))//'.inp',status='old')
30 C Get parameter filenames and open the parameter files.
31       call mygetenv('BONDPAR',bondname)
32       open (ibond,file=bondname,status='old')
33       call mygetenv('THETPAR',thetname)
34       open (ithep,file=thetname,status='old')
35       call mygetenv('ROTPAR',rotname)
36       open (irotam,file=rotname,status='old')
37       call mygetenv('TORPAR',torname)
38       open (itorp,file=torname,status='old')
39       call mygetenv('TORDPAR',tordname)
40       open (itordp,file=tordname,status='old')
41       call mygetenv('FOURIER',fouriername)
42       open (ifourier,file=fouriername,status='old')
43       call mygetenv('SCCORPAR',sccorname)
44       open (isccor,file=sccorname,status='old')
45       call mygetenv('ELEPAR',elename)
46       open (ielep,file=elename,status='old')
47       call mygetenv('SIDEPAR',sidename)
48       open (isidep,file=sidename,status='old')
49       call mygetenv('SIDEP',sidepname)
50       open (isidep1,file=sidepname,status="old")
51       call mygetenv('LIPTRANPAR',liptranname)
52       open (iliptranpar,file=liptranname,status='old',action='read')
53       call mygetenv('TUBEPAR',tubename)
54       open (itube,file=tubename,status='old')
55
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       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       print *,'OpenUnits: processor',MyRank
70       call numstr(MyRank,liczba)
71       outname=prefix(:lenpre)//'.out_'//pot(:lenpot)//liczba
72 #else
73       outname=prefix(:lenpre)//'.out_'//pot(:lenpot)
74 #endif
75       open(iout,file=outname,status='unknown')
76       write (iout,'(80(1h-))')
77       write (iout,'(30x,a)') "FILE ASSIGNMENT"
78       write (iout,'(80(1h-))')
79       write (iout,*) "Input file                      : ",
80      &  prefix(:ilen(prefix))//'.inp'
81       write (iout,*) "Output file                     : ",
82      &  outname(:ilen(outname))
83       write (iout,*)
84       write (iout,*) "Sidechain potential file        : ",
85      &  sidename(:ilen(sidename))
86 #ifndef OLDSCP
87       write (iout,*) "SCp potential file              : ",
88      &  scpname(:ilen(scpname))
89 #endif  
90       write (iout,*) "Electrostatic potential file    : ",
91      &  elename(:ilen(elename))
92       write (iout,*) "Cumulant coefficient file       : ",
93      &  fouriername(:ilen(fouriername))
94       write (iout,*) "Torsional parameter file        : ",
95      &  torname(:ilen(torname))
96       write (iout,*) "Double torsional parameter file : ",
97      &  tordname(:ilen(tordname))
98       write (iout,*) "Backbone-rotamer parameter file : ",
99      &  sccorname(:ilen(sccorname))
100       write (iout,*) "Bond & inertia constant file    : ",
101      &  bondname(:ilen(bondname))
102       write (iout,*) "Bending parameter file          : ",
103      &  thetname(:ilen(thetname))
104       write (iout,*) "Rotamer parameter file          : ",
105      &  rotname(:ilen(rotname))
106       write (iout,'(80(1h-))')
107       write (iout,*)
108       return
109       end
110