source: outvar.f

Last change on this file was 38d77eb, checked in by baerbaer <baerbaer@…>, 14 years ago

Redirected standard out to logString.

SMMP produced a lot of log messages. This became an issue when run in massively
parallel environments. I replaced all writes to standard out to a write to logString.
The next step is to pass this string to a function that writes the messages to a log
file according to their importance and the chosen log level.

git-svn-id: svn+ssh://svn.berlios.de/svnroot/repos/smmp/trunk@34 26dc1dd8-5c4e-0410-9ffe-d298b4865968

  • Property mode set to 100644
File size: 2.9 KB
Line 
1! **************************************************************
2!
3! This file contains the subroutines: outvar
4!
5! Copyright 2005 Frank Eisenmenger, U.H.E. Hansmann,
6! Shura Hayryan, Chin-Ku
7! Copyright 2007 Frank Eisenmenger, U.H.E. Hansmann,
8! Jan H. Meinke, Sandipan Mohanty
9!
10! **************************************************************
11
12 subroutine outvar(nml,fileName)
13
14!--------------------------------------------------------------------
15! Output of variables of the current protein conformation
16!-
17! nml != 0 : molecule index
18! nml = 0 : all molecules
19! fileName = '' : write to standard output
20! fileName != '' : write into file with name
21!
22! CALLS: iendst,iopfil,ibegst,nursvr
23!-------------------------------------------------------------------
24
25 include 'INCL.H'
26
27 integer nml, ibegst, iout
28
29 character*(*) fileName
30
31 if (nml.lt.0.or.nml.gt.ntlml) then
32 write (logString, *) ' outvar> No such molecule #',nml,' !'
33 return
34 endif
35
36 if (ibegst(fileName).gt.0) then
37 iout = 98
38 open(iout, file=fileName, status='unknown')
39 else
40 iout = 6
41 endif
42
43 call outvbs(nml, iout)
44
45 if (iout.ne.6) close(iout)
46
47 return
48 end
49
50 subroutine outvbs(nml, iout)
51
52 include 'INCL.H'
53
54 integer nml, im1, im2, iml, i, iout, ibegst, ifivr, is, nursvr, it
55
56 character mlfd*7,strg(6)*17
57
58 if (nml.lt.0.or.nml.gt.ntlml) then
59 write (logString, *) ' outvbs> No such molecule #',nml,' !'
60 return
61 elseif (nml.gt.0) then
62 im1 = nml
63 im2 = nml
64 else
65 im1 = 1
66 im2 = ntlml
67 endif
68
69 do iml = im1,im2
70
71 write(mlfd,'(i4,a3)') iml,' : '
72
73! --------------------------------- global pars.
74
75 if ( gbpr(1,iml).ne.zero
76 & .or.gbpr(2,iml).ne.zero
77 & .or.gbpr(3,iml).ne.zero
78 & .or.gbpr(4,iml).ne.zero
79 & .or.gbpr(5,iml).ne.zero
80 & .or.gbpr(6,iml).ne.zero ) then
81
82 do i = 1,3
83 write(strg(i),'(f17.6)') gbpr(i,iml)
84 enddo
85 do i = 4,6
86 write(strg(i),'(f17.6)') (gbpr(i,iml)*crd)
87 enddo
88
89 write(iout,'(1x,2a,1x,12a)')
90 & '@ ',mlfd,(strg(i)(ibegst(strg(i)):),',',i=1,5),
91 & strg(6)(ibegst(strg(6)):)
92
93 endif
94
95 ifivr = ivrml1(iml)
96 is = irsml1(iml)-1
97
98 do i = ifivr,ifivr+nvrml(iml)-1
99
100 if (.not.fxvr(i)) then
101
102 write(iout,'(3x,a,i3,1x,a,1x,a,1x,a,1x,f10.3)')
103 & mlfd,(nursvr(i)-is),':',nmvr(i),':',vlvr(i)*crd
104 else
105
106 it=ityvr(i)
107
108 if (it.eq.3) then
109
110 write(iout,'(3x,a,i3,1x,a,1x,a,1x,a,1x,f10.3,1x,a)')
111 & mlfd,(nursvr(i)-is),':',nmvr(i),':',vlvr(i)*crd
112 & ,' &'
113 endif
114
115 endif
116
117 enddo ! internal vars
118
119 enddo ! molecules
120
121 end subroutine outvbs
Note: See TracBrowser for help on using the repository browser.