Index: EXAMPLES/parallel_tempering_s.f
===================================================================
--- EXAMPLES/parallel_tempering_s.f	(revision 2ebb8b629686fca2f81260a5ca88a8e21e0c1572)
+++ EXAMPLES/parallel_tempering_s.f	(revision bd2278d6d1ff11d5a913fabac7fcc16d05c02a33)
@@ -20,21 +20,21 @@
       integer switch
 
-c =================================================== Energy setup
+! =================================================== Energy setup
 
-c            Directory for SMMP libraries
-c     Change the following directory path to where you want to put SMMP
-c     libraries of residues. 
+!            Directory for SMMP libraries
+!     Change the following directory path to where you want to put SMMP
+!     libraries of residues. 
       libdir='../SMMP/'
 
-c      The switch in the following line is now not used.
+!      The switch in the following line is now not used.
       flex=.false.        ! .true. for Flex  / .false. for ECEPP
 
-c     Choose energy type with the following switch instead ...
+!     Choose energy type with the following switch instead ...
       ientyp = 0
-c        0  => ECEPP2 or ECEPP3 depending on the value of sh2
-c        1  => FLEX 
-c        2  => Lund force field
-c        3  => ECEPP with Abagyan corrections
-c
+!        0  => ECEPP2 or ECEPP3 depending on the value of sh2
+!        1  => FLEX 
+!        2  => Lund force field
+!        3  => ECEPP with Abagyan corrections
+!
 
       sh2=.false.         ! .true. for ECEPP/2; .false. for ECEPP3
@@ -48,5 +48,5 @@
       call init_energy(libdir)
 
-c ================================================= Structure setup
+! ================================================= Structure setup
 
       grpn = 'nh2' ! N-terminal group
@@ -59,5 +59,5 @@
       ntlml = 0
       write (*,*) 'Solvent: ', itysol
-c     Initialize random number generator.
+!     Initialize random number generator.
       call sgrnd(31433)
       
@@ -69,8 +69,8 @@
 
       call init_molecule(iabin,grpn,grpc,seqfile,varfile)
-c Decide if and when to use BGS, and initialize Lund data structures 
+! Decide if and when to use BGS, and initialize Lund data structures 
       bgsprob=0.75   ! Prob for BGS, given that it is possible
-c upchswitch= 0 => No BGS 1 => BGS with probability bgsprob 
-c 2 => temperature dependent choice 
+! upchswitch= 0 => No BGS 1 => BGS with probability bgsprob 
+! 2 => temperature dependent choice 
       upchswitch=1
       rndord=.true.
@@ -80,5 +80,5 @@
       
 
-c ========================================  Add your task down here
+! ========================================  Add your task down here
       num_rep = 5
       nequi = 100
@@ -87,5 +87,5 @@
       newsta = .true.
       switch = 1
-c     parallel tempering on a single CPU
+!     parallel tempering on a single CPU
       eol = energy()
       write (*,*) "Energy before randomization:", eol
@@ -94,4 +94,4 @@
       write (*,*) "Final energy:", eol
 
-c ========================================  End of main      
+! ========================================  End of main      
        end
Index: EXAMPLES/partem_p.f
===================================================================
--- EXAMPLES/partem_p.f	(revision 2ebb8b629686fca2f81260a5ca88a8e21e0c1572)
+++ EXAMPLES/partem_p.f	(revision bd2278d6d1ff11d5a913fabac7fcc16d05c02a33)
@@ -1,30 +1,30 @@
-c**************************************************************
-c     
-c This file contains the subroutines: partem_p 
-C Compared to the version in the main distribution, this
-C routine doesn't write the rmsd nor native contacts to the time
-C series.
-c     
-c Copyright 2003-2005  Frank Eisenmenger, U.H.E. Hansmann,
-c                      Shura Hayryan, Chin-Ku Hu
-c Copyright 2007       Frank Eisenmenger, U.H.E. Hansmann,
-c                      Jan H. Meinke, Sandipan Mohanty
-c     
-c     **************************************************************
+!**************************************************************
+!     
+! This file contains the subroutines: partem_p 
+! Compared to the version in the main distribution, this
+! routine doesn't write the rmsd nor native contacts to the time
+! series.
+!     
+! Copyright 2003-2005  Frank Eisenmenger, U.H.E. Hansmann,
+!                      Shura Hayryan, Chin-Ku Hu
+! Copyright 2007       Frank Eisenmenger, U.H.E. Hansmann,
+!                      Jan H. Meinke, Sandipan Mohanty
+!     
+!     **************************************************************
 
       subroutine  partem_p(num_rep, nequi, nswp, nmes, nsave, newsta,
      &                     switch, rep_id, partem_comm)
-C     
-C     PURPOSE: SIMULATION OF PROTEINS BY PARALLEL TEMPERING ALGORITHM 
-C     ON PARALLEL COMPUTERS USING MPI
-C     
-C     switch: Choses the starting configuration:
-C     -1 - stretched configuration
-C     0 - don't change anything
-C     1 - random start configuration
-C     
-c     CALLS:  addang,contacts,energy,hbond,helix,iendst,metropolis,
-c     outvar,(rand),rgyr
-C     
+!     
+!     PURPOSE: SIMULATION OF PROTEINS BY PARALLEL TEMPERING ALGORITHM 
+!     ON PARALLEL COMPUTERS USING MPI
+!     
+!     switch: Choses the starting configuration:
+!     -1 - stretched configuration
+!     0 - don't change anything
+!     1 - random start configuration
+!     
+!     CALLS:  addang,contacts,energy,hbond,helix,iendst,metropolis,
+!     outvar,(rand),rgyr
+!     
       include '../INCL.H'
       include '../INCP.H'
@@ -37,8 +37,8 @@
       external can_weight
 
-C     nequi:  number of Monte Carlo sweeps for thermalization
-C     nswp:   number of Monte Carlo sweeps
-C     nmes:   number of Monte Carlo sweeps between measurments
-C     newsta: .true. for new simulations, .false. for re-start
+!     nequi:  number of Monte Carlo sweeps for thermalization
+!     nswp:   number of Monte Carlo sweeps
+!     nmes:   number of Monte Carlo sweeps between measurments
+!     newsta: .true. for new simulations, .false. for re-start
 
       dimension  eavm(MAX_PROC),sph(MAX_PROC),intem(MAX_PROC),
@@ -50,23 +50,23 @@
       double precision    e_min, e_minp(MAX_PROC), e_minpt(MAX_PROC)
       integer   h_max, h_maxp(MAX_PROC)
-c     Order of replica exchange
+!     Order of replica exchange
       integer   odd
 !     Counter to keep random number generators in sync
       integer randomCount
       
-c     Collect partial energies. Only the root writes to disk. We have to
-c     collect the information from the different replicas and provide 
-c     arrays to store them.
-c     eyslr    storage array for solvent energy
-c     eyelp     -      "        - coulomb energy
-c     eyvwp     -      "        - van-der-Waals energy
-c     eyhbp     -      "        - hydrogen bonding energy
-c     eysmi    -      "        - intermolecular interaction energy
+!     Collect partial energies. Only the root writes to disk. We have to
+!     collect the information from the different replicas and provide 
+!     arrays to store them.
+!     eyslr    storage array for solvent energy
+!     eyelp     -      "        - coulomb energy
+!     eyvwp     -      "        - van-der-Waals energy
+!     eyhbp     -      "        - hydrogen bonding energy
+!     eysmi    -      "        - intermolecular interaction energy
       double precision eyslr(MAX_PROC)
       double precision eyelp(MAX_PROC),eyvwp(MAX_PROC),eyhbp(MAX_PROC), 
      &     eyvrp(MAX_PROC),eysmip(MAX_PROC)
-c     Collect information about accessible surface and van-der-Waals volume
-c     asap      storage array for solvent accessible surface
-c     vdvolp     storage array for van-der-Waals volume
+!     Collect information about accessible surface and van-der-Waals volume
+!     asap      storage array for solvent accessible surface
+!     vdvolp     storage array for van-der-Waals volume
       double precision asap(MAX_PROC), vdvolp(MAX_PROC)
 
@@ -75,11 +75,11 @@
       integer imhbp(MAX_PROC)
       character*80 filebase, fileNameMP, tbase0,tbase1
-c     frame     frame number for writing configurations
-c     trackID   configuration that should be tracked and written out
-c     dir          direction in random walk
-c     -1 - visited highest temperature last
-c     1 - visited lowest temperature last
-c     0 - haven't visited the boundaries yet.
-c     dirp      storage array for directions.
+!     frame     frame number for writing configurations
+!     trackID   configuration that should be tracked and written out
+!     dir          direction in random walk
+!     -1 - visited highest temperature last
+!     1 - visited lowest temperature last
+!     0 - haven't visited the boundaries yet.
+!     dirp      storage array for directions.
       integer frame, trackID, dir
       integer dirp(MAX_PROC)
@@ -92,7 +92,7 @@
      &            rep_id, num_rep, partem_comm, myrank
       call flush(6)
-C     
-c     
-C     File with temperatures 
+!     
+!     
+!     File with temperatures 
       open(11,file='temperatures_abeta',status='old')
       
@@ -100,9 +100,9 @@
       open(18,file=fileNameMP(tbase0,5,9,rep_id),status='unknown')
       if (rep_id.eq.0.and.myrank.eq.0) then
-c     File with time series of simulation
+!     File with time series of simulation
          open(14,file='ts.d',status='unknown')
       endif
       
-C     READ IN TEMPERATURES
+!     READ IN TEMPERATURES
       do i=1,num_rep
          read(11,*) j,temp
@@ -111,8 +111,8 @@
       close(11)
 
-c     nresi:  number of residues
+!     nresi:  number of residues
       nresi=irsml2(1)-irsml1(1)+1
-C     
-C     Initialize variables
+!     
+!     Initialize variables
       do i=1,num_rep      
          acx1(i) = 0.0d0
@@ -132,5 +132,5 @@
       dir = dirp(rep_id + 1)
 
-c     _________________________________ Initialize Variables
+!     _________________________________ Initialize Variables
       if(newsta) then
          iold=0
@@ -139,5 +139,5 @@
             intem(i) = i
          end do
-c     _________________________________ initialize starting configuration
+!     _________________________________ initialize starting configuration
          if (switch.ne.0) then
             do i=1,nvr
@@ -173,9 +173,9 @@
          CALL MPI_BCAST(INODE,num_rep,MPI_INTEGER,0,MPI_COMM_WORLD,IERR)
          CALL MPI_BCAST(YOL,num_rep,MPI_DOUBLE_PRECISION,0,
-     #        MPI_COMM_WORLD,IERR)
+     &        MPI_COMM_WORLD,IERR)
          CALL MPI_BCAST(E_MINP, num_rep, MPI_DOUBLE_PRECISION, 0, 
-     #        MPI_COMM_WORLD, IERR)
+     &        MPI_COMM_WORLD, IERR)
          CALL MPI_BCAST(h_maxp,num_rep,MPI_INTEGER,0,MPI_COMM_WORLD,
-     $        IERR)
+     &        IERR)
       end if
       
@@ -189,8 +189,8 @@
          write(*,*) rep_id, yol(rep_id + 1), eol
       endif
-C     Start of simulation
+!     Start of simulation
       write (*,*) '[',rep_id, myrank, beta, partem_comm,
      &            '] Energy before equilibration:', eol
-c     =====================Equilibration by canonical Metropolis
+!     =====================Equilibration by canonical Metropolis
       do nsw=1,nequi
          call metropolis(eol,acz,can_weight)
@@ -199,9 +199,9 @@
       write (*,*) '[',rep_id,'] Energy after equilibration:', eol
       call flush(6)
-C     
-C======================Multiple Markov Chains
+!     
+!======================Multiple Markov Chains
       acz = 0
       do nsw=1,nswp
-c------------First ordinary Metropolis 
+!------------First ordinary Metropolis 
          call metropolis(eol,acz,can_weight)
          iold = iold + 1	
@@ -214,10 +214,10 @@
             endif
             acz0 = acz
-C     Measure global radius of gyration
+!     Measure global radius of gyration
             call rgyr(0,rgy,ee)  
             rgyp = rgy
-C     Measure Helicity and Sheetness
+!     Measure Helicity and Sheetness
             call helix(nhel,mhel,nbet,mbet)
-C     Measure Number of hydrogen bonds
+!     Measure Number of hydrogen bonds
             mhb = 0
             do i = 1, ntlml
@@ -226,10 +226,10 @@
             enddo
             call interhbond(imhb) 
-C     Measure total number of contacts (NCTOT) and number of
-C     native contacts (NCNAT)
+!     Measure total number of contacts (NCTOT) and number of
+!     native contacts (NCNAT)
             call contacts(nctot,ncnat,dham)
-c     Add tracking of lowest energy configuration
+!     Add tracking of lowest energy configuration
             if (eol.lt.e_min) then
-c     Write out configuration
+!     Write out configuration
                i=rep_id+1
                j=inode(i)
@@ -248,7 +248,7 @@
                close(15)
             endif
-c     Add tracking of configuration with larges hydrogen contents.
+!     Add tracking of configuration with larges hydrogen contents.
             if ((mhb + imhb).gt.h_max) then
-c     Write out configuration
+!     Write out configuration
                i = rep_id + 1
                j = inode(i)
@@ -268,6 +268,6 @@
             endif
 
-C     
-C--------------------Gather measurement data
+!     
+!--------------------Gather measurement data
 ! I only use the master node of each replica for data collection. The
 ! variable partem_comm provides the appropriate communicator.
@@ -310,10 +310,10 @@
      &              MPI_DOUBLE_PRECISION,0,partem_comm,IERR)
 
-c     Write trajectory
+!     Write trajectory
                write (18,*) '@@@',iold,inode(rep_id+1)
                call outvbs(0,18)
                write (18,*) '###'
 !                call flush(18)
-c     Write current configuration
+!     Write current configuration
                if ((mod(iold, nsave).eq.0)) then
                   filebase = "conf_0000.var"
@@ -324,15 +324,15 @@
             if(rep_id.eq.0.and.myrank.eq.0) then
                randomCount = 0
-c  Update acceptance, temperature wise average of E and E^2 used to calculate
-c  specific heat. 
+!  Update acceptance, temperature wise average of E and E^2 used to calculate
+!  specific heat. 
                do i=1,num_rep
                   j=intem(i)
                   acy(i)=0.0
-c  Above: contents of acy1 are added to acy(i) a few lines down. 
-c  acy1(intem(i)) contains information received from the node at temperature
-c  i, on how many updates have been accepted in node intem(i). Since acz
-c  is not reset to 0 every cycle, acy(i) must be set to 0 here. Else, there 
-c  will be serious double counting and the values of acceptance printed 
-c  will be simply wrong.
+!  Above: contents of acy1 are added to acy(i) a few lines down. 
+!  acy1(intem(i)) contains information received from the node at temperature
+!  i, on how many updates have been accepted in node intem(i). Since acz
+!  is not reset to 0 every cycle, acy(i) must be set to 0 here. Else, there 
+!  will be serious double counting and the values of acceptance printed 
+!  will be simply wrong.
                   e_minpt(i)=e_minp(intem(i))
                end do
@@ -346,5 +346,5 @@
 
 
-C     Write measurements to the time series file ts.d
+!     Write measurements to the time series file ts.d
                do i=1,num_rep
                   j=intem(i)
@@ -354,5 +354,5 @@
                       
                end do
-c     Write the current parallel tempering information into par_R.in
+!     Write the current parallel tempering information into par_R.in
                if ((mod(iold, nsave).eq.0))
      &         then
@@ -363,6 +363,6 @@
      &                    h_maxp(i)
                   end do
-C     -------------------------- Various statistics of current run
-c               swp=nswp-nequi
+!     -------------------------- Various statistics of current run
+!               swp=nswp-nequi
                   swp=nsw
                   write(13,*) 'Acceptance rate for change of chains:'
@@ -370,7 +370,7 @@
                      temp=1.0d0/pbe(k1)/0.00198773
                      write(13,*) temp, acx1(k1)*2.0d0*nmes/swp 
-c  Above: it's the acceptance rate of exchange of replicas. Since a 
-c  replica exchange is attempted only once every nmes sweeps, the 
-c  rate should be normalized with (nmes/swp).
+!  Above: it's the acceptance rate of exchange of replicas. Since a 
+!  replica exchange is attempted only once every nmes sweeps, the 
+!  rate should be normalized with (nmes/swp).
                   end do 
                   write(13,*)
@@ -381,12 +381,12 @@
                      geavm(k1) = nmes*eavm(k1)/swp
                      gsph(k1)  = (nmes*sph(k1)/swp-geavm(k1)**2)
-     #                    *beta*beta/nresi
+     &                    *beta*beta/nresi
                      write(13,'(a,2f9.2,i4,f12.3)') 
      &                    'Temperature, Node,local acceptance rate:',
      &                    beta,temp,k,acy(k1)/dble(nsw*nvr)
-c  Above: Changed (nswp-nequi) in the denominator of acceptance as 
-c  acceptance values are initialized to 0 after equilibration cycles are
-c  finished. Note also that since this is being written in the middle of
-c  the simulation, it is normalized to nsw instead of nswp.
+!  Above: Changed (nswp-nequi) in the denominator of acceptance as 
+!  acceptance values are initialized to 0 after equilibration cycles are
+!  finished. Note also that since this is being written in the middle of
+!  the simulation, it is normalized to nsw instead of nswp.
                      write(13,'(a,3f12.2)') 
      &                    'Last Energy, Average Energy, Spec. Heat:', 
@@ -401,10 +401,10 @@
                end if   
 
-C--------------------Parallel Tempering  update
-c     Swap with right neighbor (odd, even)            
+!--------------------Parallel Tempering  update
+!     Swap with right neighbor (odd, even)            
                if(odd.eq.1) then
                   nu=1
                   no1 = num_rep-1
-c     Swap with left neighbor (even, odd)
+!     Swap with left neighbor (even, odd)
                else
                   nu = 2
@@ -413,5 +413,5 @@
                do i=nu,no1,2
                   j=i+1
-c     Periodic bc for swaps
+!     Periodic bc for swaps
                   if(i.eq.num_rep) j=1
                   iidx=intem(i)
@@ -429,13 +429,13 @@
                   end if
                end do
-c     ---------------- End Loop over nodes which creates a new temperature
-c     map for all nodes, at the node with rank 0. 
-c     
+!     ---------------- End Loop over nodes which creates a new temperature
+!     map for all nodes, at the node with rank 0. 
+!     
                odd = 1 - odd
             end if
-c     End of "if (myrank.eq.0) ...". The block above includes PT update and 
-c     writing of observables into the time series file etc. 
+!     End of "if (myrank.eq.0) ...". The block above includes PT update and 
+!     writing of observables into the time series file etc. 
            
-c     Below: Communicate new temperature-node map to all nodes
+!     Below: Communicate new temperature-node map to all nodes
             CALL MPI_BCAST(INTEM,num_rep,MPI_INTEGER,0,MPI_COMM_WORLD,
      &           IERR)
@@ -446,5 +446,5 @@
             CALL MPI_BCAST(H_MAXP,num_rep,MPI_INTEGER,0,MPI_COMM_WORLD,
      &           IERR)
-c Synchronize random number generators for replica 0
+! Synchronize random number generators for replica 0
             if (rep_id.eq.0) then
                CALL MPI_BCAST(randomCount,1,MPI_INTEGER,0,my_mpi_comm,
@@ -467,10 +467,10 @@
 
          endif
-c        End of "if (mod(iold,nmes).eq.0) ..."
+!        End of "if (mod(iold,nmes).eq.0) ..."
       end do
-c-----------End Loop over sweeps
-c     
-C     OUTPUT:
-C--------------------For Re-starts:
+!-----------End Loop over sweeps
+!     
+!     OUTPUT:
+!--------------------For Re-starts:
       nu = rep_id + 1
       filebase = "conf_0000.var"
@@ -484,7 +484,7 @@
       if (partem_comm.ne.MPI_COMM_NULL) then
          CALL MPI_GATHER(EOL0,1,MPI_DOUBLE_PRECISION,YOL,1,
-     #        MPI_DOUBLE_PRECISION,0,partem_comm,IERR)
+     &        MPI_DOUBLE_PRECISION,0,partem_comm,IERR)
          CALL MPI_GATHER(acz0,1,MPI_DOUBLE_PRECISION,acy1,1,
-     #     MPI_DOUBLE_PRECISION,0,partem_comm,IERR)
+     &     MPI_DOUBLE_PRECISION,0,partem_comm,IERR)
       endif
       
@@ -496,5 +496,5 @@
             write(13,*) i,inode(i),intem(i),yol(i),e_minp(i),h_maxp(i)
          end do
-C     -------------------------- Various statistics of current run
+!     -------------------------- Various statistics of current run
          swp=nswp
          write(13,*) 'Acceptance rate for change of chains:'
@@ -519,9 +519,9 @@
          end do
          close(13)
-c         close(16)
+!         close(16)
       end if
       close(18)
 
-c     =====================
+!     =====================
       CALL MPI_BARRIER(MPI_COMM_WORLD,IERR)
 
Index: INCP.H
===================================================================
--- INCP.H	(revision 2ebb8b629686fca2f81260a5ca88a8e21e0c1572)
+++ INCP.H	(revision bd2278d6d1ff11d5a913fabac7fcc16d05c02a33)
@@ -1,52 +1,52 @@
-c ......................
-c contents of a PDB file
-c ......................
+! ......................
+! contents of a PDB file
+! ......................
 
       parameter (MXCHP =100,    ! max. no. of polypeptide chains
-     #           MXRSP =1000,   ! max. no. of residues
-     #           MXATP =10000)  ! max. no. of atoms
+     &           MXRSP =1000,   ! max. no. of residues
+     &           MXATP =10000)  ! max. no. of atoms
 
-c   nchp      - no. of polypeptide chains
-c   nchrsp()  - no. of residues / chain
-c   nrsp      - total no. of residues
-c   irsatp()  - index of 1st atom / res.
-c   nrsatp()  - no. of atoms / res.
-c   natp      - total no. of selected atoms
-c   noatp()   - atom numbers
+!   nchp      - no. of polypeptide chains
+!   nchrsp()  - no. of residues / chain
+!   nrsp      - total no. of residues
+!   irsatp()  - index of 1st atom / res.
+!   nrsatp()  - no. of atoms / res.
+!   natp      - total no. of selected atoms
+!   noatp()   - atom numbers
 
       common /pdb_i/ nchp,nchrsp(MXCHP),
-     #               nrsp,irsatp(MXRSP),nrsatp(MXRSP),
-     #               natp,noatp(MXATP)
+     &               nrsp,irsatp(MXRSP),nrsatp(MXRSP),
+     &               natp,noatp(MXATP)
       save /pdb_i/
 
-c   chnp()  - chain identifiers
-c   rsidp() - residue identifiers (number + insertion code)
-c   rsnmp() - residues (sequence, 3-letter code)
-c   atnmp() - atom names
+!   chnp()  - chain identifiers
+!   rsidp() - residue identifiers (number + insertion code)
+!   rsnmp() - residues (sequence, 3-letter code)
+!   atnmp() - atom names
 
       character chnp(MXCHP),
-     #          rsidp(MXRSP)*5,rsnmp(MXRSP)*3,
-     #          atnmp(MXATP)*4
+     &          rsidp(MXRSP)*5,rsnmp(MXRSP)*3,
+     &          atnmp(MXATP)*4
 
       common /pdb_c/ chnp,rsnmp,rsidp,atnmp
       save /pdb_c/
 
-c     xatp,yatp,zatp - atom coordinates
+!     xatp,yatp,zatp - atom coordinates
 
       common /pdb_r/ xatp(MXATP),yatp(MXATP),zatp(MXATP)
       save /pdb_r/
 
-c ------------------- code to list all PDB information
-c      ir=0
-c      do i=1,nchp
-c        write(*,*) ' ===== chain |',chnp(i),'|'
-c        do j=1,nchrsp(i)
-c          ir=ir+1
-c          write(*,*) ' ----- ',rsidp(ir),' ',rsnmp(ir),' ',nrsatp(ir)
-c          k1=irsatp(ir)
-c          k2=k1+nrsatp(ir)-1
-c          do k=k1,k2
-c            write(*,*) ' ',noatp(k),' ',atnmp(k),' ',(xyzp(l,k),l=1,3)
-c          enddo
-c        enddo
-c      enddo
+! ------------------- code to list all PDB information
+!      ir=0
+!      do i=1,nchp
+!        write(*,*) ' ===== chain |',chnp(i),'|'
+!        do j=1,nchrsp(i)
+!          ir=ir+1
+!          write(*,*) ' ----- ',rsidp(ir),' ',rsnmp(ir),' ',nrsatp(ir)
+!          k1=irsatp(ir)
+!          k2=k1+nrsatp(ir)-1
+!          do k=k1,k2
+!            write(*,*) ' ',noatp(k),' ',atnmp(k),' ',(xyzp(l,k),l=1,3)
+!          enddo
+!        enddo
+!      enddo
Index: SMMP.kdevelop
===================================================================
--- SMMP.kdevelop	(revision 2ebb8b629686fca2f81260a5ca88a8e21e0c1572)
+++ SMMP.kdevelop	(revision bd2278d6d1ff11d5a913fabac7fcc16d05c02a33)
@@ -132,5 +132,5 @@
       <filetype>*.h</filetype>
       <filetype>*.H</filetype>
-      <filetype>*.hh</filetype>
+      <filetype>*.f90</filetype>
       <filetype>*.hxx</filetype>
       <filetype>*.hpp</filetype>
@@ -143,4 +143,6 @@
       <filetype>Makefile</filetype>
       <filetype>CMakeLists.txt</filetype>
+      <filetype>*.py</filetype>
+      <filetype>*.f</filetype>
     </filetypes>
     <blacklist/>
Index: SMMP.kdevelop.filelist
===================================================================
--- SMMP.kdevelop.filelist	(revision bd2278d6d1ff11d5a913fabac7fcc16d05c02a33)
+++ SMMP.kdevelop.filelist	(revision bd2278d6d1ff11d5a913fabac7fcc16d05c02a33)
@@ -0,0 +1,87 @@
+# KDevelop Custom Project File List
+addend.f
+algorithms.py
+anneal.f
+bgs.f
+bldmol.f
+callbacktest.f
+canon.f
+cnteny.f
+contacts.f
+difang.f
+dihedr.f
+doc
+doc/Makefile
+energy.f
+eninteract.f
+enyflx.f
+enylun.f
+enyreg.f
+enyshe.f
+enyshe_p.f
+enysol.f
+enysol_p.f
+esolan.f
+EXAMPLES
+EXAMPLES/annealing.f
+EXAMPLES/Makefile
+EXAMPLES/minimization.f
+EXAMPLES/multicanonical.f
+EXAMPLES/parallel_tempering_p.f
+EXAMPLES/parallel_tempering_s.f
+EXAMPLES/partem_p.f
+EXAMPLES/Python
+EXAMPLES/Python/annealing.py
+EXAMPLES/Python/gui_example.py
+EXAMPLES/Python/minimization.py
+EXAMPLES/Python/muca.py
+EXAMPLES/Python/regularization.py
+EXAMPLES/regularization.f
+eyabgn.f
+getmol.f
+gradient.f
+hbond.f
+helix.f
+INCL.H
+incl_lund.h
+INCP.H
+init_energy.f
+init_molecule.f
+main_bgl_p.f
+main.f
+main_p.f
+main.py
+Makefile
+metropolis.f
+mincjg.f
+minim.f
+minqsn.f
+mklist.f
+mulcan_par.f
+mulcan_par_mod.f90
+mulcan_sim.f
+nursvr.f
+opeflx.f
+opereg.f
+opeshe.f
+opesol.f
+outpdb.f
+outvar.f
+partem_p.f
+partem_s.f
+pdbread.f
+protein.py
+redseq.f
+redstr.f
+redvar.f
+regul.f
+restoreexclpoint.py
+rgyr.f
+rmexclpoint.py
+rmsdfun.f
+setmvs.f
+setvar.f
+twister.f
+universe.py
+utilities.f
+zimmer.f
Index: addend.f
===================================================================
--- addend.f	(revision 2ebb8b629686fca2f81260a5ca88a8e21e0c1572)
+++ addend.f	(revision bd2278d6d1ff11d5a913fabac7fcc16d05c02a33)
@@ -1,24 +1,24 @@
-c **************************************************************
-c
-c
-c This file contains the subroutines:  addend, redchg, rplgrp
-c
-c Copyright 2003-2005  Frank Eisenmenger, U.H.E. Hansmann,
-c                      Shura Hayryan, Chin-Ku 
-c Copyright 2007       Frank Eisenmenger, U.H.E. Hansmann,
-c                      Jan H. Meinke, Sandipan Mohanty
-c
-c $Id: addend.f 334 2007-08-07 09:23:59Z meinke $
-c **************************************************************
+! **************************************************************
+!
+!
+! This file contains the subroutines:  addend, redchg, rplgrp
+!
+! Copyright 2003-2005  Frank Eisenmenger, U.H.E. Hansmann,
+!                      Shura Hayryan, Chin-Ku 
+! Copyright 2007       Frank Eisenmenger, U.H.E. Hansmann,
+!                      Jan H. Meinke, Sandipan Mohanty
+!
+! $Id: addend.f 334 2007-08-07 09:23:59Z meinke $
+! **************************************************************
       subroutine addend(nml,grpn,grpc)
 
-c ..............................................................
-c  PURPOSE:  modify terminal residues to complete bonding scheme
-c            with residue 'grpn' at N- and residue 'grpc' at C-terminus
-c            ! need initial co-ordinates for residues to modify
-c            ! for N-terminus: may add only simple groups
-c
-c  CALLS:  rplgrp,tolost,redchg
-c ..............................................................
+! ..............................................................
+!  PURPOSE:  modify terminal residues to complete bonding scheme
+!            with residue 'grpn' at N- and residue 'grpc' at C-terminus
+!            ! need initial co-ordinates for residues to modify
+!            ! for N-terminus: may add only simple groups
+!
+!  CALLS:  rplgrp,tolost,redchg
+! ..............................................................
  
       include 'INCL.H'
@@ -35,13 +35,13 @@
 
       if (grn(:3).eq.'ace'.or.grc(:3).eq.'ace'
-     #.or.grn(:3).eq.'nme'.or.grc(:3).eq.'nme') then
+     &.or.grn(:3).eq.'nme'.or.grc(:3).eq.'nme') then
 
         write(*,'(2a)') ' addend> N-Acetyl (ace) or N-Methylamide (nme)'
-     #   ,' should be put in SEQUENCE file, not added as end groups'
+     &   ,' should be put in SEQUENCE file, not added as end groups'
 
         stop
       endif
 
-c __________________________________________ N-terminus
+! __________________________________________ N-terminus
       ifirs=irsml1(nml)
       rpat='n   '
@@ -55,5 +55,5 @@
             else
               write (*,'(2a)') ' addend> ',
-     #         ' No N-terminal Hyp possible with ECEPP/3 dataset'
+     &         ' No N-terminal Hyp possible with ECEPP/3 dataset'
               stop
             endif
@@ -83,5 +83,5 @@
 
           write(*,'(2a)') ' addend> Can add only ',
-     *     'nh2 or nh3+ to N-terminus'
+     &     'nh2 or nh3+ to N-terminus'
           stop
 
@@ -94,8 +94,8 @@
 
         write(*,'(2a)') ' addend> Acetyl group',
-     #     ' at N-terminus not modified'
-      endif
-
-c __________________________________________ C-terminus
+     &     ' at N-terminus not modified'
+      endif
+
+! __________________________________________ C-terminus
       ilars=irsml2(nml)
       rpat='c   '
@@ -124,5 +124,5 @@
 
           write(*,'(2a)') ' addend> Can add only ',
-     #     'cooh or coo- to C-terminus'
+     &     'cooh or coo- to C-terminus'
           stop
 
@@ -135,9 +135,9 @@
 
         write(*,'(2a)') ' addend> N-Methylamide',
-     #     ' at C-terminus not modified'
-
-      endif
-
-c ----------------------------- net charge of molecule
+     &     ' at C-terminus not modified'
+
+      endif
+
+! ----------------------------- net charge of molecule
       cg = 0.d0
       do i=iatrs1(irsml1(nml)),iatrs2(irsml2(nml))
@@ -145,24 +145,24 @@
       enddo
       if (abs(cg).gt.1.d-5) write(*,'(a,i2,a,f7.3,/)')
-     #        ' addend> Net charge of molecule #'
-     #        ,nml,': ',cg
+     &        ' addend> Net charge of molecule #'
+     &        ,nml,': ',cg
 
       return
       end
-c ****************************************
+! ****************************************
       subroutine rplgrp(nml,nrs,rpat,sbrs)
 
-c ...............................................................
-c PURPOSE: replace atom(s) rooted at atom 'rpat' in residue
-c          'nrs' of molecule 'nml' by atom(s) rooted at 
-c          'rpat' of residue 'sbrs' (same name of root
-c          atom 'rpat' maintains bonding geometry for
-c          preceeding atoms in 'nrs')
-c
-c          is NOT performed if 'rpat' is within mainchain,
-c          except it is first/last mainchain atom of 'nml'
-c
-c CALLS: dihedr,iopfil,iendst,eyring,fndbrn,redres,setsys,valang
-c ...............................................................
+! ...............................................................
+! PURPOSE: replace atom(s) rooted at atom 'rpat' in residue
+!          'nrs' of molecule 'nml' by atom(s) rooted at 
+!          'rpat' of residue 'sbrs' (same name of root
+!          atom 'rpat' maintains bonding geometry for
+!          preceeding atoms in 'nrs')
+!
+!          is NOT performed if 'rpat' is within mainchain,
+!          except it is first/last mainchain atom of 'nml'
+!
+! CALLS: dihedr,iopfil,iendst,eyring,fndbrn,redres,setsys,valang
+! ...............................................................
 
       include 'INCL.H'
@@ -180,5 +180,5 @@
       nfi=iatrs1(nrs)
       nla=iatrs2(nrs)
-c __________________________ indices of atoms to be replaced
+! __________________________ indices of atoms to be replaced
       do i=nfi,nla
         if (rpat.eq.nmat(i)) then
@@ -188,5 +188,5 @@
       enddo
       write (*,'(4a,i4,a,i4)') ' rplgrp> cannot find atom >',rpat,
-     #'< to be replaced in residue ',seq(nrs),nrs,' of molecule ',nml
+     &'< to be replaced in residue ',seq(nrs),nrs,' of molecule ',nml
       stop
 
@@ -218,6 +218,6 @@
               if (ibdrg.ne.0) then
                 write (*,'(2a,i3)') 
-     #             ' rplgrp> Can handle only simple ring at 1st',
-     #             ' atom of molecule #',nml
+     &             ' rplgrp> Can handle only simple ring at 1st',
+     &             ' atom of molecule #',nml
                 stop
               endif
@@ -245,25 +245,25 @@
         else
           write (*,'(4a,i4,a,i4)') 
-     #      ' rplgrp> Cannot replace BACKBONE atom ',rpat,
-     #      ' of residue ',seq(nrs),nrs,' in molecule #',nml
+     &      ' rplgrp> Cannot replace BACKBONE atom ',rpat,
+     &      ' of residue ',seq(nrs),nrs,' in molecule #',nml
           stop
         endif
 
       endif  ! N-terminus
-c _________________________________ previous atoms
+! _________________________________ previous atoms
     2 if (nfirp.eq.nfi.and.nrs.eq.ifirs) goto 11
       nxtbb1=iowat(nfirp)
       if (nxtbb1.eq.nfi.and.nrs.eq.ifirs) goto 11
       nxtbb2=iowat(nxtbb1)
-c _______________________________ get data for substituent atoms
+! _______________________________ get data for substituent atoms
     3 if (iopfil(lunlib,reslib,'old','formatted').le.izero) then
         write (*,'(a,/,a,i3,2a)') 
-     #    ' rplgrp> ERROR opening library of residues:',
-     #    ' LUN=',lunlib,' FILE=',reslib(1:iendst(reslib))
+     &    ' rplgrp> ERROR opening library of residues:',
+     &    ' LUN=',lunlib,' FILE=',reslib(1:iendst(reslib))
         stop
       endif
       call redres(sbrs,natsb,nxtsb,nvrsb)
       close (lunlib)
-c __________________________ indices of substituent atoms
+! __________________________ indices of substituent atoms
       do i=1,natsb
         if (rpat.eq.nmath(i)) then
@@ -273,5 +273,5 @@
       enddo
       write (*,'(4a)') ' rplgrp> Cannot find atom >',rpat,
-     #'< in substituent residue ',sbrs
+     &'< in substituent residue ',sbrs
       stop
 
@@ -288,5 +288,5 @@
         enddo  ! ... branch atoms
     5 enddo  ! ... branches
-c _________________________________________________ local axes at 'nfirp'
+! _________________________________________________ local axes at 'nfirp'
       call setsys(nxtbb1,nfirp,nxtbb2,x1,x2,x3,y1,y2,y3,z1,z2,z3)
 
@@ -298,5 +298,5 @@
       zbaat(nfirp)=z3
 
-c _____________________ add virtual atoms
+! _____________________ add virtual atoms
       if (ntbb) then
 
@@ -306,5 +306,5 @@
         sa=snbaat(nxtbb1)
 
-c ------------------- Eyring
+! ------------------- Eyring
         h2=-sa*ct
         h3=-sa*st
@@ -331,5 +331,5 @@
         st=sntoat(nxtbb1)
 
-c -------------------- Eyring with b.angle = 90 deg.
+! -------------------- Eyring with b.angle = 90 deg.
         xat(-ione)=xat(izero)-ct*(z2*x3-z3*x2)-st*z1
         yat(-ione)=yat(izero)-ct*(z3*x1-z1*x3)-st*z2
@@ -337,5 +337,5 @@
 
       endif
-c _____________________________________________ Shift atom data
+! _____________________________________________ Shift atom data
       nrp=nlarp-nfirp
       nsb=nlasb-nfisb
@@ -407,5 +407,5 @@
 
         enddo
-c ____________________________________________ Shift residue data
+! ____________________________________________ Shift residue data
         do i=nrs+1,irsml2(ntlml)
           iatrs1(i)=iatrs1(i)+nsh
@@ -418,5 +418,5 @@
         nsh=0
       endif
-c _________________________________________ Correct data of 'nfirp'
+! _________________________________________ Correct data of 'nfirp'
       ish=nfirp-nfisb
       ityat(nfirp)=ityath(nfisb)
@@ -450,8 +450,8 @@
           if (nb.gt.mxbd) then
             write (*,'(6a,/,2a,3(i4,a))')
-     #      ' rplgrp> Cannot add atoms following ',rpat,
-     #      ' from group ',sbrs,' to atom ',rpat,
-     #      ' of residue ',seq(nrs),nrs,' in molecule #',nml,
-     #      ' because need >',(mxbd+1),' bonds'
+     &      ' rplgrp> Cannot add atoms following ',rpat,
+     &      ' from group ',sbrs,' to atom ',rpat,
+     &      ' of residue ',seq(nrs),nrs,' in molecule #',nml,
+     &      ' because need >',(mxbd+1),' bonds'
             stop
           endif
@@ -474,5 +474,5 @@
       endif
       nbdat(nfirp)=nb
-c _________________________________________ Add data for substituent
+! _________________________________________ Add data for substituent
       ii=nfirp
       do i=nfisb+1,nlasb
@@ -527,6 +527,6 @@
 
       enddo  ! substituent atoms
-c ___________________________________________________ Take care of Variables
-c (assume variables of replaced group/substituent to be stored CONSECUTIVELY)
+! ___________________________________________________ Take care of Variables
+! (assume variables of replaced group/substituent to be stored CONSECUTIVELY)
 
       ilavr=ivrml1(ntlml)+nvrml(ntlml)-1
@@ -610,28 +610,28 @@
 
       return
-c __________________________________________ Errors
+! __________________________________________ Errors
    10 write (*,'(3a,/,2a,i4,a,i4,/,2a)') 
-     #   ' rplgrp> Cannot replace atom(s) following ',rpat,
-     #   ' from INSIDE a ring','    in residue: ',seq(nrs),nrs,
-     #   ' in molecule #',nml,' or in substitute: ',sbrs
+     &   ' rplgrp> Cannot replace atom(s) following ',rpat,
+     &   ' from INSIDE a ring','    in residue: ',seq(nrs),nrs,
+     &   ' in molecule #',nml,' or in substitute: ',sbrs
       stop
    11 write (*,'(4a,i4,a,i4,/,a)') 
-     #   ' rplgrp> Cannot replace atom(s) following ',rpat,
-     #   ' of residue ',seq(nrs),nrs,' in molecule #',nml,
-     #   ' since necessary 2 previous atoms are not available' 
+     &   ' rplgrp> Cannot replace atom(s) following ',rpat,
+     &   ' of residue ',seq(nrs),nrs,' in molecule #',nml,
+     &   ' since necessary 2 previous atoms are not available' 
       stop
 
       end
-c ****************************************
+! ****************************************
       subroutine redchg(nml,nrs,rpat,sbrs)
 
-c .........................................................
-c PURPOSE: read and place atomic point charges from residue
-c          'sbrs' to residue 'nrs' of molecule 'nml'
-c          from library 'chglib' with LUN=lunchg, if ilib=1
-c                       'reslib' with LUN=lunlib, if ilib=2
-c
-c CALLS: iopfil,iendst,tolost
-c ........................................................
+! .........................................................
+! PURPOSE: read and place atomic point charges from residue
+!          'sbrs' to residue 'nrs' of molecule 'nml'
+!          from library 'chglib' with LUN=lunchg, if ilib=1
+!                       'reslib' with LUN=lunlib, if ilib=2
+!
+! CALLS: iopfil,iendst,tolost
+! ........................................................
 
       include 'INCL.H'
@@ -677,6 +677,6 @@
         if (iopfil(lunchg,chgfil,'old','formatted').le.izero) then
           write (*,'(a,/,a,i3,2a)') 
-     #      ' redchg> ERROR opening library of charges:',
-     #      ' LUN=',lunchg,' FILE=',chgfil(1:iendst(chgfil))
+     &      ' redchg> ERROR opening library of charges:',
+     &      ' LUN=',lunchg,' FILE=',chgfil(1:iendst(chgfil))
           stop
         endif
@@ -701,6 +701,6 @@
               enddo
               write (*,'(6a)') ' redchg> Cannot find atom: ',atnm,
-     #                        ' for entry: ',cgty,' in library: ',
-     #                        chgfil(1:iendst(chgfil))
+     &                        ' for entry: ',cgty,' in library: ',
+     &                        chgfil(1:iendst(chgfil))
               stop
     2       enddo
@@ -708,6 +708,6 @@
           else
             write (*,'(4a)')
-     #       ' redchg> must increase MXATH to read data for entry: ',
-     #        cgty,' in library: ',chgfil(1:iendst(chgfil))
+     &       ' redchg> must increase MXATH to read data for entry: ',
+     &        cgty,' in library: ',chgfil(1:iendst(chgfil))
             close(lunchg)
             stop
@@ -716,6 +716,6 @@
         goto 1
     3   write (*,'(4a)')
-     #   ' redchg> Cannot find entry: ',cgty,' in library: ',
-     #      chgfil(1:iendst(chgfil))
+     &   ' redchg> Cannot find entry: ',cgty,' in library: ',
+     &      chgfil(1:iendst(chgfil))
         close(lunchg)
         stop
@@ -725,6 +725,6 @@
         if (iopfil(lunlib,reslib,'old','formatted').le.izero) then
           write (*,'(a,/,a,i3,2a)') 
-     #      ' redchg> ERROR opening library of residues:',
-     #      ' LUN=',lunlib,' FILE=',reslib(1:iendst(reslib))
+     &      ' redchg> ERROR opening library of residues:',
+     &      ' LUN=',lunlib,' FILE=',reslib(1:iendst(reslib))
           stop
         endif
@@ -748,6 +748,6 @@
               enddo
               write (*,'(6a)') ' redchg> Cannot find atom: ',atnm,
-     #                        ' for entry: ',cgty,' in library: ',
-     #                        reslib(1:iendst(reslib))
+     &                        ' for entry: ',cgty,' in library: ',
+     &                        reslib(1:iendst(reslib))
               stop
     5       enddo
@@ -755,6 +755,6 @@
           else
             write (*,'(4a)')
-     #       ' redchg> must increase MXATH to read data for entry: ',
-     #        cgty,' in library: ',reslib(1:iendst(reslib))
+     &       ' redchg> must increase MXATH to read data for entry: ',
+     &        cgty,' in library: ',reslib(1:iendst(reslib))
             close(lunchg)
             stop
@@ -763,6 +763,6 @@
         goto 4
     6   write (*,'(4a)')
-     #   ' redchg> Cannot find entry: ',cgty,' in library: ',
-     #      reslib(1:iendst(reslib))
+     &   ' redchg> Cannot find entry: ',cgty,' in library: ',
+     &      reslib(1:iendst(reslib))
         close(lunchg)
         stop
@@ -771,6 +771,6 @@
 
    10 write (*,'(4a)')
-     #    ' redchg> Do not have charges for N/C-terminal residue ',
-     #    res,' modified with group :',sbrs
+     &    ' redchg> Do not have charges for N/C-terminal residue ',
+     &    res,' modified with group :',sbrs
       stop
 
Index: anneal.f
===================================================================
--- anneal.f	(revision 2ebb8b629686fca2f81260a5ca88a8e21e0c1572)
+++ anneal.f	(revision bd2278d6d1ff11d5a913fabac7fcc16d05c02a33)
@@ -1,59 +1,59 @@
-c **************************************************************
-c
-c This file contains the subroutines:  anneal
-c
-c Copyright 2003-2005  Frank Eisenmenger, U.H.E. Hansmann,
-c                      Shura Hayryan, Chin-Ku 
-c Copyright 2007       Frank Eisenmenger, U.H.E. Hansmann,
-c                      Jan H. Meinke, Sandipan Mohanty
-c
-c $Id: anneal.f 334 2007-08-07 09:23:59Z meinke $
-c **************************************************************
+! **************************************************************
+!
+! This file contains the subroutines:  anneal
+!
+! Copyright 2003-2005  Frank Eisenmenger, U.H.E. Hansmann,
+!                      Shura Hayryan, Chin-Ku 
+! Copyright 2007       Frank Eisenmenger, U.H.E. Hansmann,
+!                      Jan H. Meinke, Sandipan Mohanty
+!
+! $Id: anneal.f 334 2007-08-07 09:23:59Z meinke $
+! **************************************************************
 
       subroutine  anneal(nequi, nswp, nmes, tmax, tmin, lrand)
 
-C --------------------------------------------------------------
-C PURPOSE: SIMULATED ANNEALING SEARCH OF LOWEST-POTENTIAL-ENERGY
-C          CONFORMATIONS OF PROTEINS
-C
-C CALLS: addang,energy,metropolis,outvar,outpdb,rgyr,setvar,zimmer
-C
-C ---------------------------------------------------------------
+! --------------------------------------------------------------
+! PURPOSE: SIMULATED ANNEALING SEARCH OF LOWEST-POTENTIAL-ENERGY
+!          CONFORMATIONS OF PROTEINS
+!
+! CALLS: addang,energy,metropolis,outvar,outpdb,rgyr,setvar,zimmer
+!
+! ---------------------------------------------------------------
  
       include 'INCL.H'
 
-cf2py intent(in) nequi
-cf2py intent(in) nswp
-cf2py intent(in) nmes
-cf2py intent(in) Tmax
-cf2py intent(in) Tmin
-cf2py logical optional, intent(in):: lrand = 1
+!f2py intent(in) nequi
+!f2py intent(in) nswp
+!f2py intent(in) nmes
+!f2py intent(in) Tmax
+!f2py intent(in) Tmin
+!f2py logical optional, intent(in):: lrand = 1
 
-c     external rand
+!     external rand
       external can_weight
-c      parameter(lrand=.true.)
-c      parameter(nequi=100, nswp=100000,nmes=1000)
-c      parameter(tmax=1000.0,tmin=100.0)
-C     lrand=.true.: creates random start configuration 
+!      parameter(lrand=.true.)
+!      parameter(nequi=100, nswp=100000,nmes=1000)
+!      parameter(tmax=1000.0,tmin=100.0)
+!     lrand=.true.: creates random start configuration 
       logical lrand
-C     nequi: Number of sweeps for equilibrisation of system
+!     nequi: Number of sweeps for equilibrisation of system
       integer nequi
-C     nswp:  Number of sweeps for simulation run
+!     nswp:  Number of sweeps for simulation run
       integer nswp
-c     nmes:  Number of sweeps between measurments
+!     nmes:  Number of sweeps between measurments
       integer nmes
-C     tmax: Start temperature
+!     tmax: Start temperature
       double precision tmax
-C     tmin: Final temperature
+!     tmin: Final temperature
       double precision tmin
      
       
 !      common/bet/beta
-C
+!
       dimension vlvrm(mxvr)
 
      
  
-c     Define files for output:
+!     Define files for output:
       open(14,file='time.d')
       write(14, *) '# $Id: anneal.f 334 2007-08-07 09:23:59Z meinke $'
@@ -64,8 +64,8 @@
       db = exp(log(bmax/bmin)/nswp)
 
-c     nresi: Number of residues
-c FIXME: Should loop over all proteins
+!     nresi: Number of residues
+! FIXME: Should loop over all proteins
       nresi=irsml2(ntlml)-irsml1(1)+1
-c _________________________________ random start
+! _________________________________ random start
       if(lrand) then
        do i=1,nvr
@@ -80,8 +80,8 @@
       write (*,'(a,e12.5,/)')  'energy of start configuration: ',eol
 
-C Write start configuration in pdb-format into file
+! Write start configuration in pdb-format into file
         call outpdb(0, "start.pdb")
 
-c =====================Equilibration by  Metropolis
+! =====================Equilibration by  Metropolis
       beta =  bmin
       do nsw=1,nequi
@@ -90,5 +90,5 @@
       write(*,*) 'Energy after  equilibration:',eol
 
-C======================Simulation by simulated annealing
+!======================Simulation by simulated annealing
       acz = 0.0d0
       ymin = eol
@@ -96,10 +96,10 @@
         beta = bmin*db**nsw
         call metropolis(eol,acz,can_weight)
-c Store lowest-energy conformation
+! Store lowest-energy conformation
         if(eol.lt.ymin) then
          ymin = eol
          nemin = nsw
          call outvar(0,'global.var')
-C     Output of lowest-energy conformation as pdb-file
+!     Output of lowest-energy conformation as pdb-file
          call outpdb(0,"global.pdb")
          do j=1,nvr
@@ -108,11 +108,11 @@
          end do
         end if
-c
+!
         if(mod(nsw,nmes).eq.0) then
-C Measure radius of gyration and end-to-end distance
+! Measure radius of gyration and end-to-end distance
          call rgyr(1, rgy, ee)
-C Determine Zimmerman code of actual conformation
+! Determine Zimmerman code of actual conformation
          call zimmer(nresi)
-C Write down information on actual conformation
+! Write down information on actual conformation
          temp =  1.0d0/beta/0.00198773
          write(14,'(i6,13f12.3,1x,a)')  
@@ -121,5 +121,5 @@
      &   eyhb, eyvw, eyel, eyvr, zimm(1:nresi)
         end if
-C
+!
       end do
 
@@ -127,15 +127,15 @@
       write(*,*) 'acceptance rate:',acz
       write(*,*)
-c ------------ Output Dihedreals of final configuration
+! ------------ Output Dihedreals of final configuration
       write(*,*) 'last energy',eol
       call outvar(0,' ')
-C     Output final conformation as pdb-file
+!     Output final conformation as pdb-file
       call outpdb(0,"final.pdb")
       write(*,*)
 
-c ------------ Output Dihedreals of conformation with lowest energy
+! ------------ Output Dihedreals of conformation with lowest energy
       write(*,*) 'lowest energy ever found:',nemin,ymin
       close(14)
-c =====================
+! =====================
 
 
Index: bgs.f
===================================================================
--- bgs.f	(revision 2ebb8b629686fca2f81260a5ca88a8e21e0c1572)
+++ bgs.f	(revision bd2278d6d1ff11d5a913fabac7fcc16d05c02a33)
@@ -156,5 +156,5 @@
             bv(nph,3)=xiv(nph,3)-zat(iN(icurraa))
             ab(nph)=bv(nph,1)*bv(nph,1)+bv(nph,2)*bv(nph,2)
-     #           +bv(nph,3)*bv(nph,3)
+     &           +bv(nph,3)*bv(nph,3)
             iph(nph)=iphi(icurraa)
          endif 
@@ -168,5 +168,5 @@
             bv(nph,3)=xiv(nph,3)-zat(iCa(icurraa))
             ab(nph)=bv(nph,1)*bv(nph,1)+bv(nph,2)*bv(nph,2)
-     #           +bv(nph,3)*bv(nph,3)
+     &           +bv(nph,3)*bv(nph,3)
             iph(nph)=ipsi(icurraa)
          endif
@@ -185,9 +185,9 @@
          do j=1,nph
             dv(i,j,1)=(1.0/ab(j))*(bv(j,2)*(rv(i,3)-xiv(j,3))-
-     c           bv(j,3)*(rv(i,2)-xiv(j,2)))
+     &           bv(j,3)*(rv(i,2)-xiv(j,2)))
             dv(i,j,2)=(-1.0/ab(j))*(bv(j,1)*(rv(i,3)-xiv(j,3))-
-     c           bv(j,3)*(rv(i,1)-xiv(j,1)))
+     &           bv(j,3)*(rv(i,1)-xiv(j,1)))
             dv(i,j,3)=(1.0/ab(j))*(bv(j,1)*(rv(i,2)-xiv(j,2))-
-     c           bv(j,2)*(rv(i,1)-xiv(j,1)))
+     &           bv(j,2)*(rv(i,1)-xiv(j,1)))
          enddo
       enddo
@@ -273,5 +273,5 @@
             bv(nph,3)=xiv(nph,3)-zat(iN(icurraa))
             ab(nph)=bv(nph,1)*bv(nph,1)+bv(nph,2)*bv(nph,2)
-     #           +bv(nph,3)*bv(nph,3)
+     &           +bv(nph,3)*bv(nph,3)
             iph(nph)=iphi(icurraa)
          endif 
@@ -285,5 +285,5 @@
             bv(nph,3)=xiv(nph,3)-zat(iCa(icurraa))
             ab(nph)=bv(nph,1)*bv(nph,1)+bv(nph,2)*bv(nph,2)
-     #           +bv(nph,3)*bv(nph,3)
+     &           +bv(nph,3)*bv(nph,3)
             iph(nph)=ipsi(icurraa)
          endif
@@ -302,9 +302,9 @@
          do j=1,nph
             dv(i,j,1)=(1.0/ab(j))*(bv(j,2)*(rv(i,3)-xiv(j,3))-
-     c           bv(j,3)*(rv(i,2)-xiv(j,2)))
+     &           bv(j,3)*(rv(i,2)-xiv(j,2)))
             dv(i,j,2)=(-1.0/ab(j))*(bv(j,1)*(rv(i,3)-xiv(j,3))-
-     c           bv(j,3)*(rv(i,1)-xiv(j,1)))
+     &           bv(j,3)*(rv(i,1)-xiv(j,1)))
             dv(i,j,3)=(1.0/ab(j))*(bv(j,1)*(rv(i,2)-xiv(j,2))-
-     c           bv(j,2)*(rv(i,1)-xiv(j,1)))
+     &           bv(j,2)*(rv(i,1)-xiv(j,1)))
          enddo
       enddo
Index: bldmol.f
===================================================================
--- bldmol.f	(revision 2ebb8b629686fca2f81260a5ca88a8e21e0c1572)
+++ bldmol.f	(revision bd2278d6d1ff11d5a913fabac7fcc16d05c02a33)
@@ -1,30 +1,30 @@
-c **************************************************************
-c
-c This file contains the subroutines:  bldmol, fnd3ba,eyring,
-c                                      setsys,setgbl
-c
-c Copyright 2003-2005  Frank Eisenmenger, U.H.E. Hansmann,
-c                      Shura Hayryan, Chin-Ku 
-c Copyright 2007       Frank Eisenmenger, U.H.E. Hansmann,
-c                      Jan H. Meinke, Sandipan Mohanty
-c
-c **************************************************************
+! **************************************************************
+!
+! This file contains the subroutines:  bldmol, fnd3ba,eyring,
+!                                      setsys,setgbl
+!
+! Copyright 2003-2005  Frank Eisenmenger, U.H.E. Hansmann,
+!                      Shura Hayryan, Chin-Ku 
+! Copyright 2007       Frank Eisenmenger, U.H.E. Hansmann,
+!                      Jan H. Meinke, Sandipan Mohanty
+!
+! **************************************************************
 
       subroutine bldmol(nml)
 
-c .................................................
-c PURPOSE: calculate coordinates for molecule 'nml'
-c
-c OUTPUT:  xat,yat,zat,xbaat,ybaat,zbaat,xtoat,ytoat,
-c          ztoat (via 'eyring')
-c
-c          1st backbone atom of 1st residue of 'nml': 
-c
-c          - it's position: from 'gbpr(1-3,nml)'
-c          - it's axes: from 'setgbl' according to
-c            global angles 'gbpr(4-5,nml)'
-c
-c CALLS: eyring, fnd3ba,setgbl,setsys
-c .................................................
+! .................................................
+! PURPOSE: calculate coordinates for molecule 'nml'
+!
+! OUTPUT:  xat,yat,zat,xbaat,ybaat,zbaat,xtoat,ytoat,
+!          ztoat (via 'eyring')
+!
+!          1st backbone atom of 1st residue of 'nml': 
+!
+!          - it's position: from 'gbpr(1-3,nml)'
+!          - it's axes: from 'setgbl' according to
+!            global angles 'gbpr(4-5,nml)'
+!
+! CALLS: eyring, fnd3ba,setgbl,setsys
+! .................................................
 
       include 'INCL.H'
@@ -34,10 +34,10 @@
 
       call fnd3ba(nml,i1,i2,i3)
-c ------------------------------ first 3 bb atoms of 'nml'
+! ------------------------------ first 3 bb atoms of 'nml'
       ixrfpt(1,nml)=i1
       ixrfpt(2,nml)=i2
       ixrfpt(3,nml)=i3
 
-c ------------------------------ position of 1st bb atom
+! ------------------------------ position of 1st bb atom
       xat(i1) = gbpr(1,nml)
       yat(i1) = gbpr(2,nml)
@@ -86,13 +86,13 @@
       return
       end
-c ***********************************
+! ***********************************
       subroutine fnd3ba(nml,i1,i2,i3)
  
-c .................................................
-c PURPOSE: return indices 'i1,i2,i3' of
-c          first 3 backbone atoms in molecule 'nml'
-c
-c CALLS:   fndbrn
-c .................................................
+! .................................................
+! PURPOSE: return indices 'i1,i2,i3' of
+!          first 3 backbone atoms in molecule 'nml'
+!
+! CALLS:   fndbrn
+! .................................................
  
       include 'INCL.H'
@@ -104,13 +104,13 @@
       irs=irsml1(nml)
 
-c --------------------------- 1st bb atom
+! --------------------------- 1st bb atom
       i1=iatrs1(irs)
 
       call fndbrn(nml,irs,i1,i,ix,i2,bb)
 
-c --------------------------- 2nd bb atom
+! --------------------------- 2nd bb atom
       i2=i+1
 
-c ------------------------ check for ring
+! ------------------------ check for ring
 
       ibd(1)=iowat(i1)
@@ -126,6 +126,6 @@
           if (ix.ne.0) then
             write (*,'(2a,i3)') 
-     #         ' fnd3ba> Can handle only simple ring at 1st',
-     #         ' atom of molecule #',nml
+     &         ' fnd3ba> Can handle only simple ring at 1st',
+     &         ' atom of molecule #',nml
             stop
           endif
@@ -135,5 +135,5 @@
       enddo
 
-c --------------------------- 3rd bb atom
+! --------------------------- 3rd bb atom
 
       ix=ixatrs(irs)
@@ -158,22 +158,22 @@
 
       write (*,'(4a,i4,a,i4)') 
-     #   ' fnd3ba> Cannot find backbone atom following ',nmat(i2),
-     #   ' of residue ',seq(irs),irs,' in molecule #',nml
+     &   ' fnd3ba> Cannot find backbone atom following ',nmat(i2),
+     &   ' of residue ',seq(irs),irs,' in molecule #',nml
       stop
 
       end
-c ***************************
+! ***************************
       subroutine eyring(i,ia)
 
-c .........................................................
-c PURPOSE:  calculate cartesian coordinates of atom 'i'
-c           using EYRING's algorithm
-c INPUT:    i - index of atom to be constructed
-c               for 'i': blat,csbaat,snbaat,cstoat,sntoat
-c           ia- index of atom from which 'i' is to be built
-c OUTPUT:   for 'i': xat,yat,zat,xbaat,ybaat,zbaat,xtoat,ytoat,ztoat
-c
-c CALLS: none
-c .........................................................
+! .........................................................
+! PURPOSE:  calculate cartesian coordinates of atom 'i'
+!           using EYRING's algorithm
+! INPUT:    i - index of atom to be constructed
+!               for 'i': blat,csbaat,snbaat,cstoat,sntoat
+!           ia- index of atom from which 'i' is to be built
+! OUTPUT:   for 'i': xat,yat,zat,xbaat,ybaat,zbaat,xtoat,ytoat,ztoat
+!
+! CALLS: none
+! .........................................................
 
       include 'INCL.H'
@@ -228,22 +228,22 @@
       return
       end
-c ***********************************************************
+! ***********************************************************
       subroutine setsys(i1,i2,i3, x1,x2,x3,y1,y2,y3,z1,z2,z3)
 
-c ..........................................................
-c  PURPOSE:  calculate axes X,Y,Z of right-handed orthogonal
-c            system given by three atom positions R1, R2, R3
-c
-c            X = (R2-R1)/ |( )|
-c            Z = {X x (R2-R3)} / |{ }|
-c            Y = Z x X
-c
-c  INPUT:    i1, i2, i3 - indices of three atoms
-c  OUTPUT:   x1,x2,x3 |
-c            y1,y2,y3 | -direction cosines of X,Y,Z
-c            z1,z2,z3 |
-c
-c  CALLS:    none
-c ...................................................
+! ..........................................................
+!  PURPOSE:  calculate axes X,Y,Z of right-handed orthogonal
+!            system given by three atom positions R1, R2, R3
+!
+!            X = (R2-R1)/ |( )|
+!            Z = {X x (R2-R3)} / |{ }|
+!            Y = Z x X
+!
+!  INPUT:    i1, i2, i3 - indices of three atoms
+!  OUTPUT:   x1,x2,x3 |
+!            y1,y2,y3 | -direction cosines of X,Y,Z
+!            z1,z2,z3 |
+!
+!  CALLS:    none
+! ...................................................
 
 
@@ -283,27 +283,27 @@
       end
 
-c *****************************************
+! *****************************************
       subroutine setgbl(nml,i1,i2,i3,xg,zg)
 
-c ...................................................
-c
-c PURPOSE: 1. Obtain global axes (J,K,L)
-c             related to x(1 0 0),y(0 1 0),z(0 0 1)
-c             by 3 rotations (gbl. parameters #4-#6):
-c
-c             - round z by angle alpha 
-c	      - round x' by a. beta 
-c	      - round y" by a. gamma
-c
-c          2. Return x-axis (xg) & z-axis (zg)
-c             for atom #1 in order to orientate J
-c             along the bond from backbone atom #1
-c             to bb.a. #2 and L according to the
-c             cross product [ bond(#1->#2) x
-c             bond(#2->#3) ] when using Eyring's
-c             algorithm to get the coordinates
-c
-c CALLS:   none
-c ..............................................
+! ...................................................
+!
+! PURPOSE: 1. Obtain global axes (J,K,L)
+!             related to x(1 0 0),y(0 1 0),z(0 0 1)
+!             by 3 rotations (gbl. parameters #4-#6):
+!
+!             - round z by angle alpha 
+!	      - round x' by a. beta 
+!	      - round y" by a. gamma
+!
+!          2. Return x-axis (xg) & z-axis (zg)
+!             for atom #1 in order to orientate J
+!             along the bond from backbone atom #1
+!             to bb.a. #2 and L according to the
+!             cross product [ bond(#1->#2) x
+!             bond(#2->#3) ] when using Eyring's
+!             algorithm to get the coordinates
+!
+! CALLS:   none
+! ..............................................
 
       include 'INCL.H'
@@ -319,5 +319,5 @@
       sg = sin(gbpr(6,nml))
 
-c ----------------------------- J
+! ----------------------------- J
       x1 =  ca*cg - sa*sb*sg
       x2 =  sa*cg + ca*sb*sg
@@ -328,5 +328,5 @@
       ag(2,1) = x2/d
       ag(3,1) = x3/d
-c ----------------------------- K
+! ----------------------------- K
       y1 = -sa*cb
       y2 =  ca*cb
@@ -337,5 +337,5 @@
       ag(2,2) = y2/d
       ag(3,2) = y3/d
-c ----------------------------- L
+! ----------------------------- L
       z1 =  ca*sg + sa*sb*cg
       z2 =  sa*sg - ca*sb*cg
@@ -347,5 +347,5 @@
       ag(3,3) = z3/d
 
-c ------------------------------------ X1
+! ------------------------------------ X1
       ct2 = cstoat(i2)
       st2 = sntoat(i2)
@@ -360,5 +360,5 @@
       x2 = x2/dx
       x3 = x3/dx
-c ------------------------------------- Z1
+! ------------------------------------- Z1
       st3 = sntoat(i3)
       ct3 = cstoat(i3)
@@ -372,9 +372,9 @@
       z2 = z2/dz
       z3 = z3/dz
-c ------------------------------------- Y1
+! ------------------------------------- Y1
       y1 = z2 * x3 - z3 * x2
       y3 = z1 * x2 - z2 * x1  ! do not need y2
 
-c ----------------------------- into global system
+! ----------------------------- into global system
 
       xg(1) = ag(1,1)*x1 + ag(1,2)*y1 + ag(1,3)*z1
Index: callbacktest.f
===================================================================
--- callbacktest.f	(revision 2ebb8b629686fca2f81260a5ca88a8e21e0c1572)
+++ callbacktest.f	(revision bd2278d6d1ff11d5a913fabac7fcc16d05c02a33)
@@ -1,5 +1,5 @@
       subroutine metropolis(eol,enw,dummy)
-cf2py real*8 intent(in,out) eol
-cf2py real*8 intent(in,out) enw
+!f2py real*8 intent(in,out) eol
+!f2py real*8 intent(in,out) enw
         external dummy
         delta =  dummy(enw) - dummy(eol)
Index: canon.f
===================================================================
--- canon.f	(revision 2ebb8b629686fca2f81260a5ca88a8e21e0c1572)
+++ canon.f	(revision bd2278d6d1ff11d5a913fabac7fcc16d05c02a33)
@@ -1,50 +1,50 @@
-c **************************************************************
-c
-c This file contains the subroutines: canon,can_weight 
-c
-c Copyright 2003-2005  Frank Eisenmenger, U.H.E. Hansmann,
-c                      Shura Hayryan, Chin-Ku 
-c Copyright 2007       Frank Eisenmenger, U.H.E. Hansmann,
-c                      Jan H. Meinke, Sandipan Mohanty
-c
-c **************************************************************
+! **************************************************************
+!
+! This file contains the subroutines: canon,can_weight 
+!
+! Copyright 2003-2005  Frank Eisenmenger, U.H.E. Hansmann,
+!                      Shura Hayryan, Chin-Ku 
+! Copyright 2007       Frank Eisenmenger, U.H.E. Hansmann,
+!                      Jan H. Meinke, Sandipan Mohanty
+!
+! **************************************************************
 
       subroutine  canon(nequi, nswp, nmes, temp, lrand)
-C -----------------------------------------------------------------
-C PURPOSE: CANONICAL SIMULATION OF PROTEINS USING METROPOLIS UPDATES
-C
-C CALLS:  addang,energy,metropolis,hbond,helix,outvar,outpdb,rgyr
-C
-C-------------------------------------------------------------------
+! -----------------------------------------------------------------
+! PURPOSE: CANONICAL SIMULATION OF PROTEINS USING METROPOLIS UPDATES
+!
+! CALLS:  addang,energy,metropolis,hbond,helix,outvar,outpdb,rgyr
+!
+!-------------------------------------------------------------------
       include 'INCL.H'
 
-cf2py intent(in) nequi
-cf2py intent(in) nswp
-cf2py intent(in) nmes
-cf2py intent(in) temp
-cf2py logical optional, intent(in):: lrand = 1
+!f2py intent(in) nequi
+!f2py intent(in) nswp
+!f2py intent(in) nmes
+!f2py intent(in) temp
+!f2py logical optional, intent(in):: lrand = 1
 
-c     external rand
+!     external rand
       external can_weight
      
       logical lrand
-c      parameter(lrand=.false.)
-c      parameter(nequi=10, nswp=1000,nmes=10)
-c      parameter(temp=300.0)
-C     lrand=.true.: creates random start configuration 
-C     nequi: Number of sweeps for equilibrisation of system
+!      parameter(lrand=.false.)
+!      parameter(nequi=10, nswp=1000,nmes=10)
+!      parameter(temp=300.0)
+!     lrand=.true.: creates random start configuration 
+!     nequi: Number of sweeps for equilibrisation of system
       integer nequi
-C     nswp:  Number of sweeps for simulation run
+!     nswp:  Number of sweeps for simulation run
       integer nswp
-c     nmes:  Number of sweeps between measurments
+!     nmes:  Number of sweeps between measurments
       integer nmes
-C     temp:  Temperature of simulation
+!     temp:  Temperature of simulation
       double precision temp
-C
+!
 !      common/bet/beta
 
       character*80 file
 
-c     Define files for output:
+!     Define files for output:
       open(13,file='time.d')
 
@@ -52,5 +52,5 @@
       beta=1.0/ ( temp * 1.98773d-3 )
 
-c _________________________________ random start
+! _________________________________ random start
       if(lrand) then
        do i=1,nvr
@@ -65,8 +65,8 @@
       write (*,'(a,e12.5,/)')  'energy of start configuration:',eol
 
-C Write start configuration in pdb-format into file
+! Write start configuration in pdb-format into file
       call outpdb(0,'start.pdb')
 
-c =====================Equilibration by  Metropolis
+! =====================Equilibration by  Metropolis
       acz = 0.0d0
       do nsw=1,nequi
@@ -75,29 +75,29 @@
       write(*,*) 'Energy after equilibration:',eol
 
-C======================Simulation in canonical ensemble
+!======================Simulation in canonical ensemble
       acz = 0.0d0
       do nsw=0,nswp
         call metropolis(eol,acz,can_weight)
-c
+!
         if(mod(nsw,nmes).eq.0) then
-C Measure radius of gyration and end-to-end distance
-C rgy: radius of gyration
-C ee:  end-to-end distance
+! Measure radius of gyration and end-to-end distance
+! rgy: radius of gyration
+! ee:  end-to-end distance
          call rgyr(1,rgy,ee)
-C Measure helicity 
-C nhel: number of helical residues
-c mhel: number of helical segments
-c nbet: number of sheet-like residues
-c mbet: number of sheet-like segments
+! Measure helicity 
+! nhel: number of helical residues
+! mhel: number of helical segments
+! nbet: number of sheet-like residues
+! mbet: number of sheet-like segments
          call helix(nhel,mhel,nbet,mbet) 
-C Measure number of hydrogen bonds (mhb)
+! Measure number of hydrogen bonds (mhb)
         do i=1,ntlml
          call hbond(i,mhb,0)
         end do
-C Write down information on actual conformation
+! Write down information on actual conformation
          write(13,'(i5,2f12.3,5i7)')  nsw,  eol, rgy,
      &                              nhel,mhel,nbet,mbet,mhb
         end if
-C
+!
       end do
 
@@ -105,8 +105,8 @@
       write(*,*) 'acceptance rate:',acz
       write(*,*)
-c ------------ Output Dihedreals of final configuration
+! ------------ Output Dihedreals of final configuration
       write(*,*) 'last energy',eol
       call outvar(0,'lastconf.var')
-C     Output final conformation as pdb-file
+!     Output final conformation as pdb-file
       call outpdb(0,'final.pdb')
 
@@ -114,14 +114,14 @@
       close(12)
       close(13)
-c =====================
+! =====================
 
 
        end
 
-c ********************************************************
+! ********************************************************
       real*8 function can_weight(x)
-c
-c CALLS: none
-c
+!
+! CALLS: none
+!
 
       implicit real*8 (a-h,o-z) 
Index: cnteny.f
===================================================================
--- cnteny.f	(revision 2ebb8b629686fca2f81260a5ca88a8e21e0c1572)
+++ cnteny.f	(revision bd2278d6d1ff11d5a913fabac7fcc16d05c02a33)
@@ -1,20 +1,20 @@
-c **************************************************************
-c
-c This file contains the subroutines: cnteny
-c
-c Copyright 2005       Frank Eisenmenger, U.H.E. Hansmann,
-c                      Shura Hayryan, Chin-Ku 
-c Copyright 2007       Frank Eisenmenger, U.H.E. Hansmann,
-c                      Jan H. Meinke, Sandipan Mohanty
-c
-c **************************************************************
+! **************************************************************
+!
+! This file contains the subroutines: cnteny
+!
+! Copyright 2005       Frank Eisenmenger, U.H.E. Hansmann,
+!                      Shura Hayryan, Chin-Ku 
+! Copyright 2007       Frank Eisenmenger, U.H.E. Hansmann,
+!                      Jan H. Meinke, Sandipan Mohanty
+!
+! **************************************************************
 
       subroutine cnteny(nml)
 
-c ................................................................................
-c PURPOSE: Calculate atomic contact energy of molecule 'nml' with ECEPP parameters
-c
-c CALLS: nursat
-c ................................................................................
+! ................................................................................
+! PURPOSE: Calculate atomic contact energy of molecule 'nml' with ECEPP parameters
+!
+! CALLS: nursat
+! ................................................................................
 
       include 'INCL.H'
@@ -31,5 +31,5 @@
       if (ntlvr.eq.0) then
         write (*,'(a,i4)')
-     #           ' cnteny> No variables defined in molecule #',nml
+     &           ' cnteny> No variables defined in molecule #',nml
         return
       endif
@@ -178,5 +178,5 @@
           ir=nursat(i)
           write(*,'(1x,i4,1x,a4,1x,a4,a2,e11.4)') ir,seq(ir),nmat(i),
-     #                                            ': ',ey
+     &                                            ': ',ey
         endif
       enddo
Index: contacts.f
===================================================================
--- contacts.f	(revision 2ebb8b629686fca2f81260a5ca88a8e21e0c1572)
+++ contacts.f	(revision bd2278d6d1ff11d5a913fabac7fcc16d05c02a33)
@@ -1,24 +1,24 @@
-c **************************************************************
-c
-c This file contains the subroutines: contacts,c_alfa,c_cont
-c
-c Copyright 2003-2005  Frank Eisenmenger, U.H.E. Hansmann,
-c                      Shura Hayryan, Chin-Ku 
-c Copyright 2007       Frank Eisenmenger, U.H.E. Hansmann,
-c                      Jan H. Meinke, Sandipan Mohanty
-c
-c **************************************************************
+! **************************************************************
+!
+! This file contains the subroutines: contacts,c_alfa,c_cont
+!
+! Copyright 2003-2005  Frank Eisenmenger, U.H.E. Hansmann,
+!                      Shura Hayryan, Chin-Ku 
+! Copyright 2007       Frank Eisenmenger, U.H.E. Hansmann,
+!                      Jan H. Meinke, Sandipan Mohanty
+!
+! **************************************************************
       
        subroutine contacts(ncn,nham2,dham)
 
-c ..............................................................
-c
-c CALCULATES NUMBER OF CONTACTS IN GIVEN CONFORMATION, NUMBER OF
-c CONTACTS WHICH ARE THE SAME IN GIVEN AND REFERENCE ONFORMATION,
-c AND THE HAMMING DISTANCE BETWEEN GIVEN  CONFORMATION AND THE 
-c REFERENCE CONFORMATIONa
-c
-c CALLS: c_cont
-c ..............................................................
+! ..............................................................
+!
+! CALCULATES NUMBER OF CONTACTS IN GIVEN CONFORMATION, NUMBER OF
+! CONTACTS WHICH ARE THE SAME IN GIVEN AND REFERENCE ONFORMATION,
+! AND THE HAMMING DISTANCE BETWEEN GIVEN  CONFORMATION AND THE 
+! REFERENCE CONFORMATIONa
+!
+! CALLS: c_cont
+! ..............................................................
 
       include 'INCL.H'
@@ -55,20 +55,20 @@
 
 
-c ********************************* 
+! ********************************* 
       subroutine c_alfa(nmol,ncode)
 
-c ......................................................
-c    Calculates the indices of C-alpha atoms and 
-c    stores in the array ind_alf(mxrs)
-c                        
-c    Usage: call c_alfa(nmol,ncode)
-c
-c           nmol - index of the molecule
-c           ncode ---> not in use in the current version
-c
-c    OUTPUT:  ind_alf(mxrs)
-c
-c CALLS: none
-c ......................................................
+! ......................................................
+!    Calculates the indices of C-alpha atoms and 
+!    stores in the array ind_alf(mxrs)
+!                        
+!    Usage: call c_alfa(nmol,ncode)
+!
+!           nmol - index of the molecule
+!           ncode ---> not in use in the current version
+!
+!    OUTPUT:  ind_alf(mxrs)
+!
+! CALLS: none
+! ......................................................
 
       include 'INCL.H'
@@ -77,5 +77,5 @@
         do ia=iatrs1(n_res),iatrs2(n_res) ! Over the atoms of res. 
 
-c     Check for C_alpha atoms
+!     Check for C_alpha atoms
 
          if (nmat(ia)(1:2).eq.'ca') then
@@ -89,41 +89,41 @@
       end
 
-c **********************************
+! **********************************
       subroutine c_cont (nmol,ncode)
 
-c..............................................................
-c  Calculates the matrix of contacts between aminoacid residues 
-c  of the molecule "nmol" according to  L.Mirny and E.Domany, 
-c  PROTEINS:Structure, Function, and Genetics 26:391-410 (1996)
-c                
-c  Two residues are in contact if their C_alpha atoms are
-c  closer than 8.5 Angstrem
-c
-c  Usage: call c_cont(nmol,ncode)
-c
-c       Where nmol is the index of the molecule (always 1, in the 
-c       current version of SMM)
-c       ncode ---> not in use in the current version
-c
-c  IMPORTANT: Before the first call of this subroutine  "c_alfa"
-c          must be called to calculate the inices of C_alpha atoms.
-c          (ONLY ONCE)
-c
-c   OUTPUT: The output of this routine is the contact matrix
-c          ijcont(mxrs,mxrs) 
-c
-c              ijcont(i,j)=0---> residues i and j are not in contact
-c              ijcont(i,j)=1---> ---------''----- are in contact
-c              ijcont(i,j)=2---> residues i and j are adjacent
-c
-c    NOTE:  Adjacent residues are always in contact (and therefore not
-c           counted)
-c
-c         Here "mxrs" is the maximum number of residues for SMM
-c         Obviously, this subroutine calculates only NxN part
-c         of that matrix, N -is the number of res. in "nmol"
-c 
-c CALLS:  none
-c..............................................................
+!..............................................................
+!  Calculates the matrix of contacts between aminoacid residues 
+!  of the molecule "nmol" according to  L.Mirny and E.Domany, 
+!  PROTEINS:Structure, Function, and Genetics 26:391-410 (1996)
+!                
+!  Two residues are in contact if their C_alpha atoms are
+!  closer than 8.5 Angstrem
+!
+!  Usage: call c_cont(nmol,ncode)
+!
+!       Where nmol is the index of the molecule (always 1, in the 
+!       current version of SMM)
+!       ncode ---> not in use in the current version
+!
+!  IMPORTANT: Before the first call of this subroutine  "c_alfa"
+!          must be called to calculate the inices of C_alpha atoms.
+!          (ONLY ONCE)
+!
+!   OUTPUT: The output of this routine is the contact matrix
+!          ijcont(mxrs,mxrs) 
+!
+!              ijcont(i,j)=0---> residues i and j are not in contact
+!              ijcont(i,j)=1---> ---------''----- are in contact
+!              ijcont(i,j)=2---> residues i and j are adjacent
+!
+!    NOTE:  Adjacent residues are always in contact (and therefore not
+!           counted)
+!
+!         Here "mxrs" is the maximum number of residues for SMM
+!         Obviously, this subroutine calculates only NxN part
+!         of that matrix, N -is the number of res. in "nmol"
+! 
+! CALLS:  none
+!..............................................................
 
        include 'INCL.H'
@@ -146,5 +146,5 @@
            do nr_j=nr_i+3,irsml2(nmol) ! Over res. j 
 
-c             write(*,'(2i3)'),nr_i,nr_j
+!             write(*,'(2i3)'),nr_i,nr_j
 
               ic=0
@@ -154,9 +154,9 @@
 
               rij2=(xat(ialf)-xat(jalf))**2
-     #              +(yat(ialf)-yat(jalf))**2
-     #                   + (zat(ialf)-zat(jalf))**2
+     &              +(yat(ialf)-yat(jalf))**2
+     &                   + (zat(ialf)-zat(jalf))**2
               if(sqrt(rij2).lt.rcut) ic=1
 
-c             write(*,'(2i3)'),nr_i,nr_j
+!             write(*,'(2i3)'),nr_i,nr_j
 
               ijcont(nr_i,nr_j)=ic
Index: difang.f
===================================================================
--- difang.f	(revision 2ebb8b629686fca2f81260a5ca88a8e21e0c1572)
+++ difang.f	(revision bd2278d6d1ff11d5a913fabac7fcc16d05c02a33)
@@ -1,28 +1,28 @@
-c **************************************************************
-c
-c This file contains the subroutines: difang,addang
-c
-c Copyright 2003       Frank Eisenmenger, U.H.E. Hansmann,
-c                      Shura Hayryan, Chin-Ku 
-c Copyright 2007       Frank Eisenmenger, U.H.E. Hansmann,
-c                      Jan H. Meinke, Sandipan Mohanty
-c
-c **************************************************************
+! **************************************************************
+!
+! This file contains the subroutines: difang,addang
+!
+! Copyright 2003       Frank Eisenmenger, U.H.E. Hansmann,
+!                      Shura Hayryan, Chin-Ku 
+! Copyright 2007       Frank Eisenmenger, U.H.E. Hansmann,
+!                      Jan H. Meinke, Sandipan Mohanty
+!
+! **************************************************************
 
       real*8 function difang(a1,a2)
 
-c ......................................................
-c  PURPOSE:  difang = a2 - a1  with:  -pi < difang <= pi
-c            
-c  INPUT:    a1,a2-two angles [rad.]
-c
-c  CALLS: none
-c
-c ......................................................
+! ......................................................
+!  PURPOSE:  difang = a2 - a1  with:  -pi < difang <= pi
+!            
+!  INPUT:    a1,a2-two angles [rad.]
+!
+!  CALLS: none
+!
+! ......................................................
 
       implicit real*8 (a-h,o-z)
 
       parameter (pi=3.141592653589793d0,
-     #           pi2=2.d0*pi)
+     &           pi2=2.d0*pi)
 
       d=mod((a2-a1),pi2)
@@ -35,20 +35,20 @@
       return
       end
-c *********************************
+! *********************************
       real*8 function addang(a1,a2)
 
-c ......................................................
-c  PURPOSE:  addang = a1 + a2  with:  -pi < addang <= pi
-c            
-c  INPUT:    a1,a2-two angles [rad.]
-c
-c  CALLS: none
-c
-c ......................................................
+! ......................................................
+!  PURPOSE:  addang = a1 + a2  with:  -pi < addang <= pi
+!            
+!  INPUT:    a1,a2-two angles [rad.]
+!
+!  CALLS: none
+!
+! ......................................................
 
       implicit real*8 (a-h,o-z)
 
       parameter (pi=3.141592653589793d0,
-     #           pi2=2.d0*pi)
+     &           pi2=2.d0*pi)
 
       d=mod((a1+a2),pi2)
Index: dihedr.f
===================================================================
--- dihedr.f	(revision 2ebb8b629686fca2f81260a5ca88a8e21e0c1572)
+++ dihedr.f	(revision bd2278d6d1ff11d5a913fabac7fcc16d05c02a33)
@@ -1,23 +1,23 @@
-c **************************************************************
-c
-c This file contains the subroutines: dihedr,valang
-c
-c Copyright 2003-2005  Frank Eisenmenger, U.H.E. Hansmann,
-c                      Shura Hayryan, Chin-Ku 
-c Copyright 2007       Frank Eisenmenger, U.H.E. Hansmann,
-c                      Jan H. Meinke, Sandipan Mohanty
-c
-c **************************************************************
+! **************************************************************
+!
+! This file contains the subroutines: dihedr,valang
+!
+! Copyright 2003-2005  Frank Eisenmenger, U.H.E. Hansmann,
+!                      Shura Hayryan, Chin-Ku 
+! Copyright 2007       Frank Eisenmenger, U.H.E. Hansmann,
+!                      Jan H. Meinke, Sandipan Mohanty
+!
+! **************************************************************
 
       real*8 function dihedr(i1,i2,i3,i4)
 
-c .............................................
-c  PURPOSE: return dihedral angle (i1,i2,i3,i4)
-c           [in rad.]
-c
-c  INPUT:   i1,i2,i3,i4 - indices of four atoms
-c
-c  CALLS:   none
-c .............................................
+! .............................................
+!  PURPOSE: return dihedral angle (i1,i2,i3,i4)
+!           [in rad.]
+!
+!  INPUT:   i1,i2,i3,i4 - indices of four atoms
+!
+!  CALLS:   none
+! .............................................
 
       include 'INCL.H'
@@ -49,12 +49,12 @@
         dihedr=acos(a)
         if (ux1*(uy2*z2-uz2*y2)+uy1*(uz2*x2-ux2*z2)+
-     #      uz1*(ux2*y2-uy2*x2).lt.zero) dihedr =-dihedr
+     &      uz1*(ux2*y2-uy2*x2).lt.zero) dihedr =-dihedr
         return
       else
         write (*,'(a,4i5)')' dihedr> Error in coordinates of atoms #: '
-     #                     ,i1,i2,i3,i4
+     &                     ,i1,i2,i3,i4
 
         write (*,*) 'stored coordinates are xvals :',
-     #       xat(i1),xat(i2),xat(i3),xat(i4) 
+     &       xat(i1),xat(i2),xat(i3),xat(i4) 
         write (*,*) 'yvals:', yat(i1),yat(i2),yat(i3),yat(i4) 
         write (*,*) 'zvals:', zat(i1),zat(i2),zat(i3),zat(i4) 
@@ -64,15 +64,15 @@
 
       end
-c ************************************
+! ************************************
       real*8 function valang(i1,i2,i3)
 
-c .........................................
-c  PURPOSE: return valence angle (i1,i2,i3)
-c           [in rad.] with 'i2' as vertex
-c
-c  INPUT:   i1,i2,i3 - indices of 3 atoms
-c
-c  CALLS:   none
-c .............................................
+! .........................................
+!  PURPOSE: return valence angle (i1,i2,i3)
+!           [in rad.] with 'i2' as vertex
+!
+!  INPUT:   i1,i2,i3 - indices of 3 atoms
+!
+!  CALLS:   none
+! .............................................
 
       include 'INCL.H'
@@ -101,7 +101,7 @@
       else
         write (*,'(a,3i5)')' valang> Error in coordinates of atoms #: '
-     #                     ,i1,i2,i3
+     &                     ,i1,i2,i3
         write (*,*) 'stored coordinates are xvals :',
-     #       xat(i1),xat(i2),xat(i3) 
+     &       xat(i1),xat(i2),xat(i3) 
         write (*,*) 'yvals:', yat(i1),yat(i2),yat(i3) 
         write (*,*) 'zvals:', zat(i1),zat(i2),zat(i3) 
Index: eninteract.f
===================================================================
--- eninteract.f	(revision 2ebb8b629686fca2f81260a5ca88a8e21e0c1572)
+++ eninteract.f	(revision bd2278d6d1ff11d5a913fabac7fcc16d05c02a33)
@@ -1,15 +1,15 @@
-c *********************************************************************
-c This file contains eninteract
-c
-c Copyright 2007       Frank Eisenmenger, U.H.E. Hansmann,
-c                      Jan H. Meinke, Sandipan Mohanty
-c
-c
-c Description: Calculates the interaction energy between molecules
-c The function assumes that all molecules are up-to-date. If in doubt
-c call energy first.
-c The energy function is based on the ECEPP/3 dataset.
-c
-c TODO: Intermolecular interaction energy for FLEX and ECEPP/2
+! *********************************************************************
+! This file contains eninteract
+!
+! Copyright 2007       Frank Eisenmenger, U.H.E. Hansmann,
+!                      Jan H. Meinke, Sandipan Mohanty
+!
+!
+! Description: Calculates the interaction energy between molecules
+! The function assumes that all molecules are up-to-date. If in doubt
+! call energy first.
+! The energy function is based on the ECEPP/3 dataset.
+!
+! TODO: Intermolecular interaction energy for FLEX and ECEPP/2
       real*8 function eninteract()
 
@@ -26,9 +26,9 @@
               do jres= irsml1(jml), irsml2(jml)
                 do iat = iatrs1(ires), iatrs2(ires)
-c Atom class of current atom
+! Atom class of current atom
                   ity=ityat(iat)
-c Point charge at current atom
+! Point charge at current atom
                   cqi=conv*cgat(iat)
-c Cartesian coordinates of current atom
+! Cartesian coordinates of current atom
                   xi=xat(iat)
                   yi=yat(iat)
@@ -36,7 +36,7 @@
 
                   do jat = iatrs1(jres), iatrs2(jres)
-c Atom type of partner
+! Atom type of partner
                     jty=ityat(jat)
-c Differences in cartesian coordinates
+! Differences in cartesian coordinates
                     xj=xat(jat)
                     yj=yat(jat)
@@ -46,10 +46,10 @@
                     yij=yat(jat)-yi
                     zij=zat(jat)-zi
-c Cartesian distance and higher powers
+! Cartesian distance and higher powers
                     rij2=xij*xij+yij*yij+zij*zij
                     rij4=rij2*rij2
                     rij6=rij4*rij2
                     rij=sqrt(rij2)
-c Are we using a distance dependent dielectric constant?
+! Are we using a distance dependent dielectric constant?
                     if(epsd) then
                       sr=slp*rij
@@ -58,14 +58,14 @@
                       ep = 1.0d0
                     end if
-c Coulomb interaction
+! Coulomb interaction
                     eyeli=eyeli+cqi*cgat(jat)/(rij*ep)
-c If the two atoms cannot form a hydrogen bond use 6-12 Lennard-Jones potential
+! If the two atoms cannot form a hydrogen bond use 6-12 Lennard-Jones potential
                     if (ihbty(ity,jty).eq.0) then
                       eyvwi=eyvwi+aij(ity,jty)/(rij6*rij6)
-     #                          -cij(ity,jty)/rij6
+     &                          -cij(ity,jty)/rij6
                     else
-c For hydrogen bonding use 10-12 Lennard-Jones potential
+! For hydrogen bonding use 10-12 Lennard-Jones potential
                       eyhbi=eyhbi+ahb(ity,jty)/(rij6*rij6)
-     #                          -chb(ity,jty)/(rij6*rij4)
+     &                          -chb(ity,jty)/(rij6*rij4)
                     endif
                   enddo 
Index: enyflx.f
===================================================================
--- enyflx.f	(revision 2ebb8b629686fca2f81260a5ca88a8e21e0c1572)
+++ enyflx.f	(revision bd2278d6d1ff11d5a913fabac7fcc16d05c02a33)
@@ -1,23 +1,23 @@
-c **************************************************************
-c
-c This file contains the subroutines: enyflx
-c
-c Copyright 2003       Frank Eisenmenger, U.H.E. Hansmann,
-c                      Shura Hayryan, Chin-Ku 
-c Copyright 2007       Frank Eisenmenger, U.H.E. Hansmann,
-c                      Jan H. Meinke, Sandipan Mohanty
-c
-c **************************************************************
+! **************************************************************
+!
+! This file contains the subroutines: enyflx
+!
+! Copyright 2003       Frank Eisenmenger, U.H.E. Hansmann,
+!                      Shura Hayryan, Chin-Ku 
+! Copyright 2007       Frank Eisenmenger, U.H.E. Hansmann,
+!                      Jan H. Meinke, Sandipan Mohanty
+!
+! **************************************************************
 
 
       real*8 function enyflx(nml)
 
-c .......................................................................
-c
-c  PURPOSE: Calculate internal energy of molecule 'nml' with FLEX dataset
-c
-c  CALLS: none
-c
-c .......................................................................
+! .......................................................................
+!
+!  PURPOSE: Calculate internal energy of molecule 'nml' with FLEX dataset
+!
+!  CALLS: none
+!
+! .......................................................................
 
       include 'INCL.H'
@@ -26,5 +26,5 @@
       if (ntlvr.eq.0) then
         write (*,'(a,i4)')
-     #           ' enyflx> No variables defined in molecule #',nml
+     &           ' enyflx> No variables defined in molecule #',nml
         return
       endif
@@ -92,5 +92,5 @@
                 rij=sqrt(rij2)
                 if(epsd) then
-c --------------------------------- distance dependent dielectric constant
+! --------------------------------- distance dependent dielectric constant
                 sr=slp_f*rij
                 ep=plt-(sr*sr+2.0*sr+2.0)*(plt-1.0)*exp(-sr)/2.0
@@ -119,10 +119,10 @@
 
                   cth=(xij*px+yij*py+zij*pz)/(rij*
-     #                 sqrt(px*px+py*py+pz*pz))
+     &                 sqrt(px*px+py*py+pz*pz))
 
                   if (cth.gt.0.0) then
                     eyhb=eyhb+ evw + cth*(
-     #                   (ahb(ity,jty)-aij(ity,jty))/rij12-
-     #                   (chb(ity,jty)-cij(ity,jty))/rij6 )
+     &                   (ahb(ity,jty)-aij(ity,jty))/rij12-
+     &                   (chb(ity,jty)-cij(ity,jty))/rij6 )
                   else                             ! No Hydrogen Bond
                     eyvw=eyvw + evw
@@ -153,5 +153,5 @@
               rij=sqrt(rij2)
               if(epsd) then
-c --------------------------------- distance dependent dielectric constant
+! --------------------------------- distance dependent dielectric constant
               sr=slp_f*rij
               ep=plt-(sr*sr+2.0*sr+2.0)*(plt-1.)*exp(-sr)/2.0
@@ -180,10 +180,10 @@
 
                 cth=(xij*px+yij*py+zij*pz)/(rij*
-     #               sqrt(px*px+py*py+pz*pz))
+     &               sqrt(px*px+py*py+pz*pz))
 
                 if (cth.gt.0.0) then
                   eyhb=eyhb+ evw + cth*(
-     #                 (ahb(ity,jty)-a14(ity,jty))/rij12-
-     #                 (chb(ity,jty)-cij(ity,jty))/rij6 )
+     &                 (ahb(ity,jty)-a14(ity,jty))/rij12-
+     &                 (chb(ity,jty)-cij(ity,jty))/rij6 )
                 else                             ! No Hydrogen Bond
                   eyvw=eyvw + evw
Index: enylun.f
===================================================================
--- enylun.f	(revision 2ebb8b629686fca2f81260a5ca88a8e21e0c1572)
+++ enylun.f	(revision bd2278d6d1ff11d5a913fabac7fcc16d05c02a33)
@@ -1,13 +1,13 @@
-c *******************************************************************
-c SMMP version of Anders Irback's force field, to be called the Lund
-c force field. This file contains the function enylun, which in turn 
-c calls all the terms in the energy function. The terms Bias (ebias), 
-c Hydrogen bonds (ehbmm and ehbms), Hydrophobicity (ehp) and the 
-c Excluded volume (eexvol and eloexv) are also implemented in this 
-c file.
-c
-c Copyright 2007       Frank Eisenmenger, U.H.E. Hansmann,
-c                      Jan H. Meinke, Sandipan Mohanty
-c
+! *******************************************************************
+! SMMP version of Anders Irback's force field, to be called the Lund
+! force field. This file contains the function enylun, which in turn 
+! calls all the terms in the energy function. The terms Bias (ebias), 
+! Hydrogen bonds (ehbmm and ehbms), Hydrophobicity (ehp) and the 
+! Excluded volume (eexvol and eloexv) are also implemented in this 
+! file.
+!
+! Copyright 2007       Frank Eisenmenger, U.H.E. Hansmann,
+!                      Jan H. Meinke, Sandipan Mohanty
+!
       subroutine init_lundff
       include 'INCL.H'
@@ -17,11 +17,11 @@
 
       print *,'initializing Lund forcefield'
-c     Some parameters in the Lund force field.
-c     The correspondence between internal energy scale and kcal/mol
+!     Some parameters in the Lund force field.
+!     The correspondence between internal energy scale and kcal/mol
       eunit=1.3315
-c     Bias
+!     Bias
       kbias=100.0*eunit
-c      print *,'Bias'
-c     Hydrogen bonds
+!      print *,'Bias'
+!     Hydrogen bonds
       epshb1=3.1*eunit
       epshb2=2.0*eunit
@@ -37,7 +37,7 @@
       cacc=(1.0/1.23)**powb
       csacc=(1.0/1.25)**powb
-c      print *,'Hydrogen bonds'
-c     Hydrophobicity
-c      print *,'Hydrophobicity with nhptyp = ',nhptyp
+!      print *,'Hydrogen bonds'
+!     Hydrophobicity
+!      print *,'Hydrophobicity with nhptyp = ',nhptyp
 
       hpstrg(1)=0.0*eunit
@@ -61,6 +61,6 @@
          call tolost(mynm)
          if ((mynm.eq.'pro').or.(mynm.eq.'cpro')
-     #           .or.(mynm.eq.'cpru').or.(mynm.eq.'prou')
-     #           .or.(mynm.eq.'pron').or.(mynm.eq.'pro+')) then
+     &           .or.(mynm.eq.'cpru').or.(mynm.eq.'prou')
+     &           .or.(mynm.eq.'pron').or.(mynm.eq.'pro+')) then
             prlvr=.true.        ! residue i is a proline variant
          else 
@@ -125,7 +125,7 @@
          endif
       enddo
-c      print *,'Hydrophobicity'
-
-c     Excluded volume and local pair excluded volume terms
+!      print *,'Hydrophobicity'
+
+!     Excluded volume and local pair excluded volume terms
       exvk=0.1*eunit
       exvcut=4.3
@@ -158,5 +158,5 @@
          enddo
       enddo
-c      print *,'Local pair excluded volume constants'
+!      print *,'Local pair excluded volume constants'
 
       exvlam=0.75
@@ -171,16 +171,16 @@
          enddo
       enddo
-c      print *,'General excluded volume constants'
-
-c     Initialization of the connections matrix matcon(i,j). The index
-c     i runs from -mxconr to +mxconr, and j from 1 to mxat. 
-c     matcon(i2-i1,i1) = 0, if the distance between atoms i1 and i2 is fixed
-c                      = 2, if atoms i1 and i2 are separated by 3 covalent
-c                           bonds and their distance can change
-c                      = 1, for all other pairs
-c     if abs(i2-i1) > mxconr, the atoms are assumed to be separated by 
-c     many bonds, and with no restriction on their distances. On a protein 
-c     molecule made of natural amino acids, atoms with indices separated
-c     by more than 35 can not be connected by three covalent bonds.
+!      print *,'General excluded volume constants'
+
+!     Initialization of the connections matrix matcon(i,j). The index
+!     i runs from -mxconr to +mxconr, and j from 1 to mxat. 
+!     matcon(i2-i1,i1) = 0, if the distance between atoms i1 and i2 is fixed
+!                      = 2, if atoms i1 and i2 are separated by 3 covalent
+!                           bonds and their distance can change
+!                      = 1, for all other pairs
+!     if abs(i2-i1) > mxconr, the atoms are assumed to be separated by 
+!     many bonds, and with no restriction on their distances. On a protein 
+!     molecule made of natural amino acids, atoms with indices separated
+!     by more than 35 can not be connected by three covalent bonds.
 
       do i=1,mxat
@@ -190,5 +190,5 @@
          matcon(0,i)=0
       enddo
-c     continued...
+!     continued...
       do iml=1,ntlml
          do iat1=iatrs1(irsml1(iml)),iatrs2(irsml2(iml))
@@ -224,9 +224,9 @@
          enddo
 
-c         print *,'going to initialize connections for first residue'
-c         print *,'iN,iCa,iC =',iN(irsml1(iml)),
-c     #        iCa(irsml1(iml)),iC(irsml1(iml))
+!         print *,'going to initialize connections for first residue'
+!         print *,'iN,iCa,iC =',iN(irsml1(iml)),
+!     #        iCa(irsml1(iml)),iC(irsml1(iml))
          do iat1=iN(irsml1(iml))+1,iCa(irsml1(iml))-1
-c            print *,'connections for iat1 = ',iat1
+!            print *,'connections for iat1 = ',iat1
             matcon(iat1-iN(irsml1(iml)),iN(irsml1(iml)))=0
             matcon(iN(irsml1(iml))-iat1,iat1)=0
@@ -242,7 +242,7 @@
          enddo
 
-c     Below: for certain residues, some atoms separated by 3 or more bonds
-c     do not change distance. So, the connection matrix term for such pairs
-c     should be zero. 
+!     Below: for certain residues, some atoms separated by 3 or more bonds
+!     do not change distance. So, the connection matrix term for such pairs
+!     should be zero. 
 
          do irs=irsml1(iml),irsml2(iml)
@@ -260,6 +260,6 @@
             call tolost(mynm)
             if ((mynm.eq.'pro').or.(mynm.eq.'cpro')
-     #              .or.(mynm.eq.'cpru').or.(mynm.eq.'prou')
-     #              .or.(mynm.eq.'pron').or.(mynm.eq.'pro+')) then
+     &              .or.(mynm.eq.'cpru').or.(mynm.eq.'prou')
+     &              .or.(mynm.eq.'pron').or.(mynm.eq.'pro+')) then
                prlvr=.true.     ! residue i is a proline variant
             else 
@@ -275,5 +275,5 @@
                enddo
             else if ((mynm.eq.'his').or.(mynm.eq.'hise')
-     #              .or.(mynm.eq.'hisd').or.(mynm.eq.'his+')) then
+     &              .or.(mynm.eq.'hisd').or.(mynm.eq.'his+')) then
                do iat1=iatoff+iatrs1(irs)+7,iatrs2(irs)-2-iatmrg
                   do iat2=iat1+1,iatrs2(irs)-2-iatmrg
@@ -306,6 +306,6 @@
                enddo
             else if (prlvr) then
-c           Proline. Many more distances are fixed because of the fixed 
-c           phi angle
+!           Proline. Many more distances are fixed because of the fixed 
+!           phi angle
                do iat1=iatoff+iatrs1(irs),iatrs2(irs)-2-iatmrg
                   do iat2=iat1+1,iatrs2(irs)-2-iatmrg
@@ -314,5 +314,5 @@
                   enddo
                enddo
-c           distances to the C' atom of the previous residue are also fixed
+!           distances to the C' atom of the previous residue are also fixed
                if (irs.ne.irsml1(iml)) then
                   iat1=iowat(iatrs1(irs))
@@ -325,8 +325,8 @@
          enddo
       enddo
-c     finished initializing matrix conmat
-c      print *,'Connections matrix'
-
-c     Local pair excluded volume
+!     finished initializing matrix conmat
+!      print *,'Connections matrix'
+
+!     Local pair excluded volume
       do i=1,mxml
          ilpst(i)=1
@@ -342,5 +342,5 @@
             do iat2=iat1+1,iatrs2(irsml2(iml))
                if ((iat2-iat1.le.mxconr).and.
-     #                 matcon(iat2-iat1,iat1).eq.2) then
+     &                 matcon(iat2-iat1,iat1).eq.2) then
                   ilp=ilp+1
                   lcp1(ilp)=iat1
@@ -354,10 +354,10 @@
             ilpst(iml+1)=ilp+1
          endif
-c         print *,'molecule ',iml,' lc pair range ',ilpst(iml),ilpnd(iml)
-c         print *,'local pair list'
+!         print *,'molecule ',iml,' lc pair range ',ilpst(iml),ilpnd(iml)
+!         print *,'local pair list'
          do lci=ilpst(iml),ilpnd(iml)
             iat1=lcp1(lci)
             iat2=lcp2(lci)
-c            print *,lci,iat1,iat2,matcon(iat2-iat1,iat1)
+!            print *,lci,iat1,iat2,matcon(iat2-iat1,iat1)
          enddo
       enddo
@@ -375,10 +375,10 @@
          ityp=1
       else if ((mynm.eq.'val').or.(mynm.eq.'leu').or.(mynm.eq.'ile')
-     #        .or.(mynm.eq.'met').or.(mynm.eq.'pro').or.(mynm.eq.'cpro')
-     #        .or.(mynm.eq.'cpru').or.(mynm.eq.'prou')
-     #        .or.(mynm.eq.'pron').or.(mynm.eq.'pro+')) then
+     &        .or.(mynm.eq.'met').or.(mynm.eq.'pro').or.(mynm.eq.'cpro')
+     &        .or.(mynm.eq.'cpru').or.(mynm.eq.'prou')
+     &        .or.(mynm.eq.'pron').or.(mynm.eq.'pro+')) then
          ityp=2
       else if ((mynm.eq.'phe').or.(mynm.eq.'tyr').or.(mynm.eq.'trp')) 
-     #        then
+     &        then
          ityp=3
       endif
@@ -408,6 +408,6 @@
       return
       end
-c     Evaluates backbone backbone hydrogen bond strength for residues 
-c     i and j, taking the donor from residue i and acceptor from residue j
+!     Evaluates backbone backbone hydrogen bond strength for residues 
+!     i and j, taking the donor from residue i and acceptor from residue j
       real*8 function ehbmmrs(i,j)
       include 'INCL.H'
@@ -424,6 +424,6 @@
       r2=dx*dx+dy*dy+dz*dz
       if (r2.gt.cthb2) then 
-c         print *,'hbmm = 0 ',cthb2,r2,a1,a2,d1,d2
-c         print *,'a1,a2,d1,d2,r2 = ',a1,a2,d1,d2,r2,sighb2,cthb
+!         print *,'hbmm = 0 ',cthb2,r2,a1,a2,d1,d2
+!         print *,'a1,a2,d1,d2,r2 = ',a1,a2,d1,d2,r2,sighb2,cthb
          ehbmmrs=0
          return
@@ -432,10 +432,10 @@
       cb=(xat(a2)-xat(a1))*dx+(yat(a2)-yat(a1))*dy+(zat(a2)-zat(a1))*dz
       if (powa.gt.0.and.ca.le.0) then
-c         print *,'hbmm, returning 0 because of angle a'
+!         print *,'hbmm, returning 0 because of angle a'
          ehbmmrs=0
          return
       endif
       if (powb.gt.0.and.cb.le.0) then
-c         print *,'hbmm, returning 0 because of angle b'
+!         print *,'hbmm, returning 0 because of angle b'
          ehbmmrs=0
          return
@@ -446,11 +446,11 @@
       evlu=((ca*ca/r2)**(0.5*powa))*((cb*cb/r2)**(0.5*powb))
       evlu=evlu*(r6*(5*r6-6*r4)+alhb+blhb*r2)
-c      print *,'found hbmm contribution ',evlu
+!      print *,'found hbmm contribution ',evlu
       ehbmmrs=epshb1*evlu
       return
       end
       real*8 function enylun(nml)
-c     nml = 1 .. ntlml. No provision exists to handle out of range values
-c     for nml inside this function.
+!     nml = 1 .. ntlml. No provision exists to handle out of range values
+!     for nml inside this function.
       include 'INCL.H'
       include 'incl_lund.h'
@@ -462,17 +462,17 @@
       eyvr=0.0   ! Local pair excluded volume, in a sense a variable potential
       eyvw=0.0   ! atom-atom repulsion, excluded volume
-c     atom-atom repulsion is calculated on a system wide basis, instead of
-c     molecule by molecule for efficiency. Look into function exvlun.
+!     atom-atom repulsion is calculated on a system wide basis, instead of
+!     molecule by molecule for efficiency. Look into function exvlun.
 
       istres=irsml1(nml)
       indres=irsml2(nml)
 
-c     First, all terms that can be calculated on a residue by residue basis
+!     First, all terms that can be calculated on a residue by residue basis
       do i=istres,indres
          mynm=seq(i)
          call tolost(mynm)
          if ((mynm.eq.'pro').or.(mynm.eq.'cpro')
-     #           .or.(mynm.eq.'cpru').or.(mynm.eq.'prou')
-     #           .or.(mynm.eq.'pron').or.(mynm.eq.'pro+')) then
+     &           .or.(mynm.eq.'cpru').or.(mynm.eq.'prou')
+     &           .or.(mynm.eq.'pron').or.(mynm.eq.'pro+')) then
             prlvr=.true.        ! residue i is a proline variant
          else 
@@ -480,17 +480,17 @@
          endif 
 
-c     Bias, or local electrostatic term. Excluded from the list are
-c     residues at the ends of the chain, glycine and all proline variants
+!     Bias, or local electrostatic term. Excluded from the list are
+!     residues at the ends of the chain, glycine and all proline variants
          if ((i.ne.istres).and.(i.ne.indres).and.
-     #           .not.prlvr.and.mynm.ne.'gly') then
+     &           .not.prlvr.and.mynm.ne.'gly') then
             eyel=eyel+ebiasrs(i)
          endif
-c     Backbone--backbone hydrogen bonds
+!     Backbone--backbone hydrogen bonds
          shbm1=1.0
          shbm2=1.0
          if ((i.eq.istres).or.(i.eq.indres)) shbm1=0.5
-c     Residue i contributes the donor, and j, the acceptor, so both i and
-c     j run over the whole set of amino acids.
-c     No terms for residue i, if it is a proline variant.
+!     Residue i contributes the donor, and j, the acceptor, so both i and
+!     j run over the whole set of amino acids.
+!     No terms for residue i, if it is a proline variant.
          if (.not.prlvr) then  
             do j=istres,indres
@@ -500,9 +500,9 @@
             enddo
          endif
-c     Hydrophobicity, only if residue i is hydrophobic to start with
+!     Hydrophobicity, only if residue i is hydrophobic to start with
          ihpi=ihptype(i)
          if (ihpi.ge.0) then 
-c        Unlike hydrogen bonds, the hydrophobicity potential is symmetric
-c        in i and j. So, the loop for j runs from i+1 to the end.
+!        Unlike hydrogen bonds, the hydrophobicity potential is symmetric
+!        in i and j. So, the loop for j runs from i+1 to the end.
 
             do j=i+1,indres
@@ -518,9 +518,9 @@
       enddo
 
-c     Terms that are not calculated residue by residue ...
-
-c     Local pair or third-neighbour excluded volume
-c     Numerically this is normally the term with largest positive
-c     contribution to the energy in an equilibrated stystem. 
+!     Terms that are not calculated residue by residue ...
+
+!     Local pair or third-neighbour excluded volume
+!     Numerically this is normally the term with largest positive
+!     contribution to the energy in an equilibrated stystem. 
 
       i1=ilpst(nml)
@@ -546,6 +546,6 @@
             etmp=etmp+etmp1
          endif
-c         print *,'pair : ',iat1,iat2,' contribution ',etmp1 
-c         print *,exvcut2,r2
+!         print *,'pair : ',iat1,iat2,' contribution ',etmp1 
+!         print *,exvcut2,r2
       enddo
       eyvr=exvk*etmp
@@ -569,6 +569,6 @@
       b2=20.25
       a2=12.25
-c      ihp1=ihptype(i1)
-c      ihp2=ihptype(i2)
+!      ihp1=ihptype(i1)
+!      ihp2=ihptype(i2)
       if ((ihp1.le.0).or.(ihp2.le.0)) then
          ehp=0.0
@@ -609,10 +609,10 @@
       include 'INCL.H'
       include 'incl_lund.h'
-c     For multi-chain systems it makes little sense to split the calculation
-c     of this term into an 'interaction part' and a contribution from 
-c     individual molecules. So, normally this should always be called with
-c     argument nml=0. Only for diagnostic reasons, you might want to find
-c     the contribution from one molecule in a multi-chain system assuming 
-c     there was no other molecule.
+!     For multi-chain systems it makes little sense to split the calculation
+!     of this term into an 'interaction part' and a contribution from 
+!     individual molecules. So, normally this should always be called with
+!     argument nml=0. Only for diagnostic reasons, you might want to find
+!     the contribution from one molecule in a multi-chain system assuming 
+!     there was no other molecule.
       dimension isort(mxat),ngbr(mxat),locccl(mxat),incell(mxcell)
       dimension icell(mxat)
@@ -626,16 +626,16 @@
 
       eyvw=0.0
-c     The beginning part of this implementation is very similar to the 
-c     assignment of cells to the atoms during calculation of solvent 
-c     accessible surface area. So, much of that part is similar. But 
-c     unlike the accessible surface calculations, this term is symmetric
-c     in any two participating atoms. So, the part after the assignment
-c     of cells differs even in the structure of the code.
+!     The beginning part of this implementation is very similar to the 
+!     assignment of cells to the atoms during calculation of solvent 
+!     accessible surface area. So, much of that part is similar. But 
+!     unlike the accessible surface calculations, this term is symmetric
+!     in any two participating atoms. So, the part after the assignment
+!     of cells differs even in the structure of the code.
 
       do i=1,mxcell
          incell(i)=0
       enddo
-c      print *,'evaluating general excluded volume :',istat,',',indat
-c     Find minimal containing box
+!      print *,'evaluating general excluded volume :',istat,',',indat
+!     Find minimal containing box
       xmin=xat(istat)
       ymin=yat(istat)
@@ -666,5 +666,5 @@
       sizey=ymax-ymin
       sizez=zmax-zmin
-c     Number of cells along each directions that fit into the box.
+!     Number of cells along each directions that fit into the box.
       ndx=int(sizex/exvcutg)+1
       ndy=int(sizey/exvcutg)+1
@@ -673,12 +673,12 @@
       nxy=ndx*ndy
       ncell=nxy*ndz
-c      print *,'Number of cells along x,y,z = ',ndx,',',ndy,',',ndz
+!      print *,'Number of cells along x,y,z = ',ndx,',',ndy,',',ndz
       if (ncell.ge.mxcell) then
          print *,'exvlun> required number of cells',ncell,
-     #        ' exceeded the limit ',mxcell
+     &        ' exceeded the limit ',mxcell
          print *,'recompile with a higher mxcell.'
          stop
       endif
-c     Expand box to contain an integral number of cells along each direction
+!     Expand box to contain an integral number of cells along each direction
       shiftx=(dble(ndx)*exvcutg-sizex)/2.0
       shifty=(dble(ndy)*exvcutg-sizey)/2.0
@@ -691,6 +691,6 @@
       zmax=zmax+shiftz
 
-c     Set occupied cells to zero. Note that the maximum number of occupied
-c     cells is the number of atoms in the system.
+!     Set occupied cells to zero. Note that the maximum number of occupied
+!     cells is the number of atoms in the system.
       nocccl=0
       do i=1,mxat
@@ -698,5 +698,5 @@
       enddo
 
-c     Put atoms in cells
+!     Put atoms in cells
       do j=istat,indat
          mx=min(int(max((xat(j)-xmin)/exvcutg,0.0d0)),ndx-1)
@@ -710,5 +710,5 @@
          else 
             if (incell(icellj).eq.0) then 
-c           previously unoccupied cell
+!           previously unoccupied cell
                nocccl=nocccl+1
                locccl(nocccl)=icellj
@@ -717,11 +717,11 @@
          endif
       enddo
-c      print *,'finished assigning cells. nocccl = ',nocccl
-c     Cummulative occupancy of i'th cell
+!      print *,'finished assigning cells. nocccl = ',nocccl
+!     Cummulative occupancy of i'th cell
       do i=1,ncell
          incell(i+1)=incell(i+1)+incell(i)
       enddo
-c      print *,'finished making cumulative cell sums'
-c     Sorting atoms by their cell index
+!      print *,'finished making cumulative cell sums'
+!     Sorting atoms by their cell index
       do i=istat,indat
          j=icell(i)
@@ -730,15 +730,15 @@
          incell(j)=jj-1
       enddo
-c      print *,'sorted atoms by cell index'
+!      print *,'sorted atoms by cell index'
       etmp=0.0
       do icl=1,nocccl
-c     loop through occupied cells
+!     loop through occupied cells
          lcell=locccl(icl)
          ix=mod(lcell-1,ndx)
          iy=(mod(lcell-1,nxy)-ix)/ndx
          iz=(lcell-1-ix-ndx*iy)/nxy
-c         print *,'icl=',icl,'absolute index of cell = ',lcell
-c         print *,'iz,iy,ix = ',iz,iy,ix
-c     find all atoms in current cell and all its forward-going neighbours
+!         print *,'icl=',icl,'absolute index of cell = ',lcell
+!         print *,'iz,iy,ix = ',iz,iy,ix
+!     find all atoms in current cell and all its forward-going neighbours
          nex=min(ix+1,ndx-1)
          ney=min(iy+1,ndy-1)
@@ -751,8 +751,8 @@
                   jcl=jx+ndx*jy+nxy*jz+1
                   do ii=incell(jcl)+1,incell(jcl+1)
-c                    count the total number of neighbours
+!                    count the total number of neighbours
                      nngbr=nngbr+1
                      if (jx.eq.ix.and.jy.eq.iy.and.jz.eq.iz) then
-c                    count how many neighbours are from the same cell
+!                    count how many neighbours are from the same cell
                         nsame=nsame+1
                      endif
@@ -762,7 +762,7 @@
             enddo
          enddo
-c     A few more cells need to be searched, so that we cover 13 of the 26
-c     neighbouring cells. 
-c        1
+!     A few more cells need to be searched, so that we cover 13 of the 26
+!     neighbouring cells. 
+!        1
          jx=ix+1
          jy=iy
@@ -773,5 +773,5 @@
             ngbr(nngbr)=isort(ii)
          enddo
-c        2
+!        2
          jx=ix
          jy=iy-1
@@ -782,5 +782,5 @@
             ngbr(nngbr)=isort(ii)
          enddo
-c        3
+!        3
          jx=ix-1
          jy=iy+1
@@ -791,5 +791,5 @@
             ngbr(nngbr)=isort(ii)
          enddo
-c        4
+!        4
          jx=ix+1
          jy=iy+1
@@ -800,5 +800,5 @@
             ngbr(nngbr)=isort(ii)
          enddo
-c        5
+!        5
          jx=ix+1
          jy=iy-1
@@ -809,5 +809,5 @@
             ngbr(nngbr)=isort(ii)
          enddo
-c        6
+!        6
          jx=ix+1
          jy=iy-1
@@ -819,11 +819,11 @@
          enddo
 
-c         print *,'atoms in same cell ',nsame
-c         print *,'atoms in neighbouring cells ',nngbr
+!         print *,'atoms in same cell ',nsame
+!         print *,'atoms in neighbouring cells ',nngbr
          do i1=1,nsame
-c        Over all atoms from the original cell
+!        Over all atoms from the original cell
             iat1=ngbr(i1)
             do i2=i1,nngbr
-c           Over all atoms in the original+neighbouring cells
+!           Over all atoms in the original+neighbouring cells
                iat2=ngbr(i2)
                xij=xat(iat1)-xat(iat2)
@@ -834,5 +834,5 @@
                if (r2.le.exvcutg2) then 
                   if (abs(iat2-iat1).gt.mxconr.or.
-     #                 matcon(iat2-iat1,iat1).eq.1) then
+     &                 matcon(iat2-iat1,iat1).eq.1) then
                      iatt1=ityat(iat1)
                      iatt2=ityat(iat2)
@@ -840,11 +840,11 @@
                      r6=r6*r6*r6
                      etmp1=r6*r6+asaexv(iatt1,iatt2)
-     #                    +bsaexv(iatt1,iatt2)*r2
+     &                    +bsaexv(iatt1,iatt2)*r2
                      etmp=etmp+etmp1
-c                     if (etmp1.ge.2000) then
-c                        print *,'contribution ',iat1,iat2,etmp1
-c                        call outpdb(1,'EXAMPLES/clash.pdb')
-c                        stop
-c                     endif
+!                     if (etmp1.ge.2000) then
+!                        print *,'contribution ',iat1,iat2,etmp1
+!                        call outpdb(1,'EXAMPLES/clash.pdb')
+!                        stop
+!                     endif
                   endif
                endif
@@ -852,16 +852,16 @@
          enddo
       enddo
-c      irs=1
-c      do iat=iatrs1(irs),iatrs2(irs)
-c         do j=-mxconr,mxconr
-c            print *,iat,j,':',matcon(j,iat)
-c         enddo
-c      enddo
-c      irs=irsml2(1)
-c      do iat=iatrs1(irs),iatrs2(irs)
-c         do j=-mxconr,mxconr
-c            print *,iat,j,':',matcon(j,iat)
-c         enddo
-c      enddo
+!      irs=1
+!      do iat=iatrs1(irs),iatrs2(irs)
+!         do j=-mxconr,mxconr
+!            print *,iat,j,':',matcon(j,iat)
+!         enddo
+!      enddo
+!      irs=irsml2(1)
+!      do iat=iatrs1(irs),iatrs2(irs)
+!         do j=-mxconr,mxconr
+!            print *,iat,j,':',matcon(j,iat)
+!         enddo
+!      enddo
 
       eyvw=exvk*etmp
@@ -871,5 +871,5 @@
 
       real*8 function exvbrfc()
-c     Brute force excluded volume evaluation
+!     Brute force excluded volume evaluation
       include 'INCL.H'
       include 'incl_lund.h'
@@ -887,5 +887,5 @@
             if (r2.le.exvcutg2) then 
                if (abs(iat2-iat1).gt.mxconr.or.
-     #                 matcon(iat2-iat1,iat1).eq.1) then
+     &                 matcon(iat2-iat1,iat1).eq.1) then
                   iatt1=ityat(iat1)
                   iatt2=ityat(iat2)
@@ -893,5 +893,5 @@
                   r6=r6*r6*r6
                   etmp1=r6*r6+asaexv(iatt1,iatt2)
-     #                 +bsaexv(iatt1,iatt2)*r2
+     &                 +bsaexv(iatt1,iatt2)*r2
                   etmp=etmp+etmp1
                   if (iat1.eq.43.and.iat2.eq.785) then
@@ -903,10 +903,10 @@
                      print *,'bsa = ',bsaexv(iatt1,iatt2)
 
-c     call outpdb(1,'EXAMPLES/clash.pdb')
-c     stop
+!     call outpdb(1,'EXAMPLES/clash.pdb')
+!     stop
                   endif
                else 
-c                  print *,'atoms ', iat1,' and ',iat2,' were close',
-c     #                 'but matcon is ',matcon(iat2-iat1,iat1)
+!                  print *,'atoms ', iat1,' and ',iat2,' were close',
+!     #                 'but matcon is ',matcon(iat2-iat1,iat1)
                endif
             endif
Index: enyreg.f
===================================================================
--- enyreg.f	(revision 2ebb8b629686fca2f81260a5ca88a8e21e0c1572)
+++ enyreg.f	(revision bd2278d6d1ff11d5a913fabac7fcc16d05c02a33)
@@ -3,17 +3,17 @@
 ! Copyright 2007       Frank Eisenmenger, U.H.E. Hansmann,
 !                      Jan H. Meinke, Sandipan Mohanty
-c *******************************
+! *******************************
       real*8 function enyreg(nml)
 
-c ----------------------------------------------------
-c
-c PURPOSE: sum( ( R_i - R^ref_j )**2 )
-c
-c    with: R_i     - atom position i in SMMP structure
-c          R^ref_j - corresponding atom j in PDB str.
-c
-c CALLS: none
-c
-c ----------------------------------------------------
+! ----------------------------------------------------
+!
+! PURPOSE: sum( ( R_i - R^ref_j )**2 )
+!
+!    with: R_i     - atom position i in SMMP structure
+!          R^ref_j - corresponding atom j in PDB str.
+!
+! CALLS: none
+!
+! ----------------------------------------------------
 
       include 'INCL.H'
@@ -29,5 +29,5 @@
 
           eny = eny + (xat(i)-xatp(j))**2+(yat(i)-yatp(j))**2+
-     #                (zat(i)-zatp(j))**2
+     &                (zat(i)-zatp(j))**2
         endif
       enddo   ! atoms
Index: enyshe.f
===================================================================
--- enyshe.f	(revision 2ebb8b629686fca2f81260a5ca88a8e21e0c1572)
+++ enyshe.f	(revision bd2278d6d1ff11d5a913fabac7fcc16d05c02a33)
@@ -1,31 +1,31 @@
-c **************************************************************
-c
-c This file contains the subroutines: enyshe 
-c
-c Copyright 2003-2005  Frank Eisenmenger, U.H.E. Hansmann,
-c                      Shura Hayryan, Chin-Ku 
-c Copyright 2007       Frank Eisenmenger, U.H.E. Hansmann,
-c                      Jan H. Meinke, Sandipan Mohanty
-c
-c **************************************************************
+! **************************************************************
+!
+! This file contains the subroutines: enyshe 
+!
+! Copyright 2003-2005  Frank Eisenmenger, U.H.E. Hansmann,
+!                      Shura Hayryan, Chin-Ku 
+! Copyright 2007       Frank Eisenmenger, U.H.E. Hansmann,
+!                      Jan H. Meinke, Sandipan Mohanty
+!
+! **************************************************************
 
 
       real*8 function enyshe(nml)
 
-c ............................................................................
-c
-c PURPOSE: Calculate internal energy of molecule 'nml' with ECEPP parameters
-c
-c CALLS: none
-c
-c The function loops over all moving sets within the molecule. Within
-c this loop it loops over the van-der-Waals domains of each atom in the 
-c moving set and finally over the atoms that belong to the 1-4 interaction
-c set.
-c ............................................................................
+! ............................................................................
+!
+! PURPOSE: Calculate internal energy of molecule 'nml' with ECEPP parameters
+!
+! CALLS: none
+!
+! The function loops over all moving sets within the molecule. Within
+! this loop it loops over the van-der-Waals domains of each atom in the 
+! moving set and finally over the atoms that belong to the 1-4 interaction
+! set.
+! ............................................................................
 
       include 'INCL.H'
 
-c If nml == 0 calculate the interaction between all pairs.
+! If nml == 0 calculate the interaction between all pairs.
       if (nml.eq.0) then
           ntlvr = nvr
@@ -36,5 +36,5 @@
       if (ntlvr.eq.0) then
         write (*,'(a,i4)')
-     #           ' enyshe> No variables defined in molecule #',nml
+     &           ' enyshe> No variables defined in molecule #',nml
         return
       endif
@@ -49,76 +49,76 @@
         i1s = imsml1(ntlml) + nmsml(ntlml)
       else 
-c Index of first variable in molecule.
+! Index of first variable in molecule.
         ifivr=ivrml1(nml)
-c Index of last moving set in molecule
+! Index of last moving set in molecule
         i1s=imsml1(nml)+nmsml(nml)
       endif
-c Loop over moving sets/variables in reverse order     
+! Loop over moving sets/variables in reverse order     
       do io=ifivr+ntlvr-1,ifivr,-1  
-c The array iorvr contains the variables in an "apropriate" order.
+! The array iorvr contains the variables in an "apropriate" order.
         iv=iorvr(io)       
-c Index of the primary moving atom for the variable with index iv
+! Index of the primary moving atom for the variable with index iv
         ia=iatvr(iv)       
-c Get the type of variable iv (valence length, valence angle, dihedral angle)
+! Get the type of variable iv (valence length, valence angle, dihedral angle)
         it=ityvr(iv)       
-c Class of variable iv's potential  (Q: What are they)
+! Class of variable iv's potential  (Q: What are they)
         ic=iclvr(iv)       
-c If iv is a dihedral angle ...
+! If iv is a dihedral angle ...
         if (it.eq.3) then      
-c Barrier height * 1/2 of the potential of iv.
+! Barrier height * 1/2 of the potential of iv.
           e0=e0to(ic)
-c Calculate the periodic potential term. sgto is the sign of the barrier, rnto is
-c the periodicity and toat is torsion angle(?) associate with atom ia.
+! Calculate the periodic potential term. sgto is the sign of the barrier, rnto is
+! the periodicity and toat is torsion angle(?) associate with atom ia.
           if (e0.ne.0.) 
-     #         eyvr=eyvr+e0*(1.0+sgto(ic)*cos(toat(ia)*rnto(ic)))
-c else if iv is a valence angle ...
+     &         eyvr=eyvr+e0*(1.0+sgto(ic)*cos(toat(ia)*rnto(ic)))
+! else if iv is a valence angle ...
         elseif (it.eq.2) then  
-c vr is the valence angle of ia
+! vr is the valence angle of ia
           vr=baat(ia)
-c else if iv is a valence length...
+! else if iv is a valence length...
         elseif (it.eq.1) then  
-c vr is the length of the valence bond
+! vr is the length of the valence bond
           vr=blat(ia)
         endif
 
-c ============================================ Energies & Atomic forces
-c index of next to last moving set
+! ============================================ Energies & Atomic forces
+! index of next to last moving set
         i2s=i1s-1
-c index of first moving set associated with iv
+! index of first moving set associated with iv
         i1s=imsvr1(iv) 
-c Loop over all moving sets starting from the one associated with vr to the end.
+! Loop over all moving sets starting from the one associated with vr to the end.
         do ims=i1s,i2s  
-c First atom of the current moving set
+! First atom of the current moving set
           i1=latms1(ims)
-c Last atom of the current moving set
+! Last atom of the current moving set
           i2=latms2(ims)
-c Loop over all atoms of the current moving set.
+! Loop over all atoms of the current moving set.
           do i=i1,i2  
-c Atom class of current atom
+! Atom class of current atom
             ity=ityat(i)
-c Point charge at current atom
+! Point charge at current atom
             cqi=conv*cgat(i)
-c Cartesian coordinates of current atom
+! Cartesian coordinates of current atom
             xi=xat(i)
             yi=yat(i)
             zi=zat(i)
-c Loop over the atoms of the van der Waals domain belonging to atom i
+! Loop over the atoms of the van der Waals domain belonging to atom i
             do ivw=ivwat1(i),ivwat2(i)  
-c Loop over the atoms of the van der Waals domain of the atoms of the 
-c van der Waals domain of atom i
-c Q: Which atoms are in these domains?
+! Loop over the atoms of the van der Waals domain of the atoms of the 
+! van der Waals domain of atom i
+! Q: Which atoms are in these domains?
               do j=lvwat1(ivw),lvwat2(ivw)  
-c Atom type of partner
+! Atom type of partner
                 jty=ityat(j)
-c Differences in cartesian coordinates
+! Differences in cartesian coordinates
                 xij=xat(j)-xi
                 yij=yat(j)-yi
                 zij=zat(j)-zi
-c Cartesian distance and higher powers
+! Cartesian distance and higher powers
                 rij2=xij*xij+yij*yij+zij*zij
                 rij4=rij2*rij2
                 rij6=rij4*rij2
                 rij=sqrt(rij2)
-c Are we using a distance dependent dielectric constant?
+! Are we using a distance dependent dielectric constant?
                 if(epsd) then
                  sr=slp*rij
@@ -127,14 +127,14 @@
                  ep = 1.0d0
                 end if
-c Coulomb interaction
+! Coulomb interaction
                 eyel=eyel+cqi*cgat(j)/(rij*ep)
-c If the two atoms cannot form a hydrogen bond use 6-12 Lennard-Jones potential
+! If the two atoms cannot form a hydrogen bond use 6-12 Lennard-Jones potential
                 if (ihbty(ity,jty).eq.0) then
                   eyvw=eyvw+aij(ity,jty)/(rij6*rij6)
-     #                     -cij(ity,jty)/rij6
+     &                     -cij(ity,jty)/rij6
                 else
-c For hydrogen bonding use 10-12 Lennard-Jones potential
+! For hydrogen bonding use 10-12 Lennard-Jones potential
                   eyhb=eyhb+ahb(ity,jty)/(rij6*rij6)
-     #                     -chb(ity,jty)/(rij6*rij4)
+     &                     -chb(ity,jty)/(rij6*rij4)
                 endif
 
@@ -142,7 +142,7 @@
             enddo  
             
-c Loop over 1-4 interaction partners
-c The interactions between atoms that are three bonds apart in the protein are
-c dominated by quantum mechanical effects. They are treated separately.
+! Loop over 1-4 interaction partners
+! The interactions between atoms that are three bonds apart in the protein are
+! dominated by quantum mechanical effects. They are treated separately.
             do i14=i14at1(i),i14at2(i)   
               j=l14at(i14)
@@ -157,5 +157,5 @@
               rij6=rij4*rij2
               rij = sqrt(rij2)
-c Are we using a distance dependent dielectric constant?
+! Are we using a distance dependent dielectric constant?
               if(epsd) then
                sr=slp*rij
@@ -166,12 +166,12 @@
 
               eyel=eyel+cqi*cgat(j)/(rij*ep)
-c If hydrogen bonding is not possible use 6-12 Lennard-Jones potential.
+! If hydrogen bonding is not possible use 6-12 Lennard-Jones potential.
               if (ihbty(ity,jty).eq.0) then
                 eyvw=eyvw+a14(ity,jty)/(rij6*rij6)
-     #                   -cij(ity,jty)/rij6
+     &                   -cij(ity,jty)/rij6
               else
-c Use 10-12 Lennard-Jones potential for hydrogen bonds.
+! Use 10-12 Lennard-Jones potential for hydrogen bonds.
                 eyhb=eyhb+ahb(ity,jty)/(rij6*rij6)
-     #                   -chb(ity,jty)/(rij6*rij4)
+     &                   -chb(ity,jty)/(rij6*rij4)
               endif
 
Index: enyshe_p.f
===================================================================
--- enyshe_p.f	(revision 2ebb8b629686fca2f81260a5ca88a8e21e0c1572)
+++ enyshe_p.f	(revision bd2278d6d1ff11d5a913fabac7fcc16d05c02a33)
@@ -1,27 +1,27 @@
-c **************************************************************
-c
-c This file contains the subroutines: enyshe 
-c
-c Copyright 2003-2005  Frank Eisenmenger, U.H.E. Hansmann,
-c                      Shura Hayryan, Chin-Ku 
-c Copyright 2007       Frank Eisenmenger, U.H.E. Hansmann,
-c                      Jan H. Meinke, Sandipan Mohanty
-c
-c **************************************************************
+! **************************************************************
+!
+! This file contains the subroutines: enyshe 
+!
+! Copyright 2003-2005  Frank Eisenmenger, U.H.E. Hansmann,
+!                      Shura Hayryan, Chin-Ku 
+! Copyright 2007       Frank Eisenmenger, U.H.E. Hansmann,
+!                      Jan H. Meinke, Sandipan Mohanty
+!
+! **************************************************************
 
 
       real*8 function enyshe(nml)
 
-c     ............................................................................
-c     
-c     PURPOSE: Calculate internal energy of molecule 'nml' with ECEPP parameters
-c     
-c     CALLS: none
-c     
-c     The function loops over all moving sets within the molecule. Within
-c     this loop it loops over the van-der-Waals domains of each atom in the 
-c     moving set and finally over the atoms that belong to the 1-4 interaction
-c     set.
-c     ............................................................................
+!     ............................................................................
+!     
+!     PURPOSE: Calculate internal energy of molecule 'nml' with ECEPP parameters
+!     
+!     CALLS: none
+!     
+!     The function loops over all moving sets within the molecule. Within
+!     this loop it loops over the van-der-Waals domains of each atom in the 
+!     moving set and finally over the atoms that belong to the 1-4 interaction
+!     set.
+!     ............................................................................
 
       include 'INCL.H'
@@ -30,5 +30,5 @@
 
 
-c If nml == 0 calculate the interaction between all pairs.
+! If nml == 0 calculate the interaction between all pairs.
       if (nml.eq.0) then
          ntlvr = nvr
@@ -39,5 +39,5 @@
       if (ntlvr.eq.0) then
          write (*,'(a,i4)')
-     #        ' enyshe> No variables defined in molecule #',nml
+     &        ' enyshe> No variables defined in molecule #',nml
          return
       endif
@@ -57,14 +57,14 @@
          i1s = imsml1(ntlml) + nmsml(ntlml)
       else 
-c     Index of first variable in molecule.
+!     Index of first variable in molecule.
          ifivr=ivrml1(nml)
-c     Index of last moving set in molecule
+!     Index of last moving set in molecule
          i1s=imsml1(nml)+nmsml(nml)
       endif
-c     Loop over variables in reverse order     
-c     This is the first loop to parallize. We'll just split the moving sets
-c     over the number of available processors and sum the energy up in the end.
-
-c     Number of moving sets per processor
+!     Loop over variables in reverse order     
+!     This is the first loop to parallize. We'll just split the moving sets
+!     over the number of available processors and sum the energy up in the end.
+
+!     Number of moving sets per processor
       iend = ifivr
       istart = ifivr + ntlvr - 1
@@ -72,5 +72,5 @@
       startwtime = MPI_Wtime()
       loopcounter = 0
-c      do io=ifivr+ntlvr-1,ifivr,-1  
+!      do io=ifivr+ntlvr-1,ifivr,-1  
       do io = workPerProcessor(nml, myrank) - 1, 
      &        workPerProcessor(nml, myrank+1), -1
@@ -78,71 +78,71 @@
             i1s = imsvr1(iorvr(io + 1))
          endif
-c     The array iorvr contains the variables in an "apropriate" order.
+!     The array iorvr contains the variables in an "apropriate" order.
          iv=iorvr(io)       
-c     Index of the primary moving atom for the variable with index iv
+!     Index of the primary moving atom for the variable with index iv
          ia=iatvr(iv)       
-c     Get the type of variable iv (valence length, valence angle, dihedral angle)
+!     Get the type of variable iv (valence length, valence angle, dihedral angle)
          it=ityvr(iv)       
-c     Class of variable iv's potential  (Q: What are they)
+!     Class of variable iv's potential  (Q: What are they)
          ic=iclvr(iv)       
-c     If iv is a dihedral angle ...
+!     If iv is a dihedral angle ...
          if (it.eq.3) then      
-c     Barrier height * 1/2 of the potential of iv.
+!     Barrier height * 1/2 of the potential of iv.
             e0=e0to(ic)
-c     Calculate the periodic potential term. sgto is the sign of the barrier, rnto is
-c     the periodicity and toat is torsion angle(?) associate with atom ia.
+!     Calculate the periodic potential term. sgto is the sign of the barrier, rnto is
+!     the periodicity and toat is torsion angle(?) associate with atom ia.
             if (e0.ne.0.) 
-     #           teyvr=teyvr+e0*(1.0+sgto(ic)*cos(toat(ia)*rnto(ic)))
-c     else if iv is a valence angle ...
+     &           teyvr=teyvr+e0*(1.0+sgto(ic)*cos(toat(ia)*rnto(ic)))
+!     else if iv is a valence angle ...
          elseif (it.eq.2) then  
-c     vr is the valence angle of ia
+!     vr is the valence angle of ia
             vr=baat(ia)
-c     else if iv is a valence length...
+!     else if iv is a valence length...
          elseif (it.eq.1) then  
-c     vr is the length of the valence bond
+!     vr is the length of the valence bond
             vr=blat(ia)
          endif
 
-c     ============================================ Energies & Atomic forces
-c     index of next to last moving set
+!     ============================================ Energies & Atomic forces
+!     index of next to last moving set
          i2s=i1s-1
-c     index of first moving set associated with iv
+!     index of first moving set associated with iv
          i1s=imsvr1(iv) 
-c     Loop over all moving sets starting from the one associated with vr to the end.
+!     Loop over all moving sets starting from the one associated with vr to the end.
          do ims=i1s,i2s  
-c     First atom of the current moving set
+!     First atom of the current moving set
             i1=latms1(ims)
-c     Last atom of the current moving set
+!     Last atom of the current moving set
             i2=latms2(ims)
-c     Loop over all atoms of the current moving set.
+!     Loop over all atoms of the current moving set.
             do i=i1,i2  
-c     Atom class of current atom
+!     Atom class of current atom
                ity=ityat(i)
-c     Point charge at current atom
+!     Point charge at current atom
                cqi=conv*cgat(i)
-c     Cartesian coordinates of current atom
+!     Cartesian coordinates of current atom
                xi=xat(i)
                yi=yat(i)
                zi=zat(i)
-c     Loop over the atoms of the van der Waals domain belonging to atom i
+!     Loop over the atoms of the van der Waals domain belonging to atom i
                do ivw=ivwat1(i),ivwat2(i)  
-c     Loop over the atoms of the van der Waals domain of the atoms of the 
-c     van der Waals domain of atom i
-c     Q: Which atoms are in these domains?
+!     Loop over the atoms of the van der Waals domain of the atoms of the 
+!     van der Waals domain of atom i
+!     Q: Which atoms are in these domains?
                   do j=lvwat1(ivw),lvwat2(ivw)  
 
                      loopcounter = loopcounter + 1
-c     Atom type of partner
+!     Atom type of partner
                      jty=ityat(j)
-c     Differences in cartesian coordinates
+!     Differences in cartesian coordinates
                      xij=xat(j)-xi
                      yij=yat(j)-yi
                      zij=zat(j)-zi
-c     Cartesian distance and higher powers
+!     Cartesian distance and higher powers
                      rij2=xij*xij+yij*yij+zij*zij
                      rij4=rij2*rij2
                      rij6=rij4*rij2
                      rij=sqrt(rij2)
-c     Are we using a distance dependent dielectric constant?
+!     Are we using a distance dependent dielectric constant?
                      if(epsd) then
                         sr=slp*rij
@@ -151,14 +151,14 @@
                         ep = 1.0d0
                      end if
-c     Coulomb interaction
+!     Coulomb interaction
                      teyel=teyel+cqi*cgat(j)/(rij*ep)
-c     If the two atoms cannot form a hydrogen bond use 6-12 Lennard-Jones potential
+!     If the two atoms cannot form a hydrogen bond use 6-12 Lennard-Jones potential
                      if (ihbty(ity,jty).eq.0) then
                         teyvw=teyvw+aij(ity,jty)/(rij6*rij6)
-     #                       -cij(ity,jty)/rij6
+     &                       -cij(ity,jty)/rij6
                      else
-c     For hydrogen bonding use 10-12 Lennard-Jones potential
+!     For hydrogen bonding use 10-12 Lennard-Jones potential
                         teyhb=teyhb+ahb(ity,jty)/(rij6*rij6)
-     #                       -chb(ity,jty)/(rij6*rij4)
+     &                       -chb(ity,jty)/(rij6*rij4)
                      endif
 
@@ -166,7 +166,7 @@
                enddo  
                
-c     Loop over 1-4 interaction partners
-c     The interactions between atoms that are three bonds apart in the protein are
-c     dominated by quantum mechanical effects. They are treated separately.
+!     Loop over 1-4 interaction partners
+!     The interactions between atoms that are three bonds apart in the protein are
+!     dominated by quantum mechanical effects. They are treated separately.
                do i14=i14at1(i),i14at2(i)   
                   loopcounter = loopcounter + 1
@@ -182,5 +182,5 @@
                   rij6=rij4*rij2
                   rij = sqrt(rij2)
-c     Are we using a distance dependent dielectric constant?
+!     Are we using a distance dependent dielectric constant?
                   if(epsd) then
                      sr=slp*rij
@@ -191,12 +191,12 @@
 
                   teyel=teyel+cqi*cgat(j)/(rij*ep)
-c     If hydrogen bonding is not possible use 6-12 Lennard-Jones potential.
+!     If hydrogen bonding is not possible use 6-12 Lennard-Jones potential.
                   if (ihbty(ity,jty).eq.0) then
                      teyvw=teyvw+a14(ity,jty)/(rij6*rij6)
-     #                    -cij(ity,jty)/rij6
+     &                    -cij(ity,jty)/rij6
                   else
-c     Use 10-12 Lennard-Jones potential for hydrogen bonds.
+!     Use 10-12 Lennard-Jones potential for hydrogen bonds.
                      teyhb=teyhb+ahb(ity,jty)/(rij6*rij6)
-     #                    -chb(ity,jty)/(rij6*rij4)
+     &                    -chb(ity,jty)/(rij6*rij4)
                   endif
                enddo            ! ... 1-4-partners of i
@@ -209,5 +209,5 @@
       endwtime = MPI_Wtime()
 
-c     Collect energies from all nodes and sum them up
+!     Collect energies from all nodes and sum them up
       call MPI_ALLREDUCE(teysm, eysmsum, 1, MPI_DOUBLE_PRECISION,  
      &     MPI_SUM, my_mpi_comm, ierror)
Index: enysol.f
===================================================================
--- enysol.f	(revision 2ebb8b629686fca2f81260a5ca88a8e21e0c1572)
+++ enysol.f	(revision bd2278d6d1ff11d5a913fabac7fcc16d05c02a33)
@@ -1,12 +1,12 @@
-c **************************************************************
-c
-c This file contains the subroutines: enysol,tessel
-c
-c Copyright 2003-2005  Frank Eisenmenger, U.H.E. Hansmann,
-c                      Shura Hayryan, Chin-Ku 
-c Copyright 2007       Frank Eisenmenger, U.H.E. Hansmann,
-c                      Jan H. Meinke, Sandipan Mohanty
-c
-c **************************************************************
+! **************************************************************
+!
+! This file contains the subroutines: enysol,tessel
+!
+! Copyright 2003-2005  Frank Eisenmenger, U.H.E. Hansmann,
+!                      Shura Hayryan, Chin-Ku 
+! Copyright 2007       Frank Eisenmenger, U.H.E. Hansmann,
+!                      Jan H. Meinke, Sandipan Mohanty
+!
+! **************************************************************
 
       
@@ -14,15 +14,15 @@
 
       include 'INCL.H'
-c --------------------------------------------------------------
-c
-c     Double Cubic Lattice algorithm for calculating the
-c     solvation energy of proteins using 
-c     solvent accessible area method.
-c
-c     if nmol == 0 do solvation energy over all residues.
-c CALLS: nursat
-c
-c -------------------------------------------------------------
-c TODO: Check the solvent energy for multiple molecules     
+! --------------------------------------------------------------
+!
+!     Double Cubic Lattice algorithm for calculating the
+!     solvation energy of proteins using 
+!     solvent accessible area method.
+!
+!     if nmol == 0 do solvation energy over all residues.
+! CALLS: nursat
+!
+! -------------------------------------------------------------
+! TODO: Check the solvent energy for multiple molecules     
       dimension numbox(mxat),inbox(mxbox+1),indsort(mxat),look(mxat)
       dimension xyz(mxinbox,3),radb(mxinbox),radb2(mxinbox)
@@ -95,5 +95,5 @@
       diamax=2.d0*rmax
 
-c  The sizes of the big box
+!  The sizes of the big box
 
       sizex=xmax-xmin
@@ -101,5 +101,5 @@
       sizez=zmax-zmin
 
-c  How many maximal diameters in each size ?
+!  How many maximal diameters in each size ?
 
       ndx=sizex/diamax + 1
@@ -107,9 +107,9 @@
       ndz=sizez/diamax + 1
 
-c We may need the number of quadratic boxes in (X,Y) plane
+! We may need the number of quadratic boxes in (X,Y) plane
 
       nqxy=ndx*ndy
 
-c   The number of cubic boxes of the size "diamax"
+!   The number of cubic boxes of the size "diamax"
 
       ncbox=nqxy*ndz
@@ -119,5 +119,5 @@
       end if
         
-c Let us shift the borders to home all boxes
+! Let us shift the borders to home all boxes
 
       shiftx=(dble(ndx)*diamax-sizex)/2.d0
@@ -131,5 +131,5 @@
       zmax=zmax+shiftz
 
-c Finding the box of each atom
+! Finding the box of each atom
 
       do j=nlow,nup
@@ -153,5 +153,5 @@
       end do
 
-c  Summation over the boxes
+!  Summation over the boxes
 
       do i=1,ncbox
@@ -160,5 +160,5 @@
          
         
-c   Sorting the atoms by the their box numbers
+!   Sorting the atoms by the their box numbers
 
       do i=nlow,nup
@@ -169,5 +169,5 @@
       end do   
          
-c Getting started
+! Getting started
 
       do iz=0,ndz-1 ! Over the boxes along Z-axis
@@ -177,5 +177,5 @@
            ibox=ix+iy*ndx+iz*nqxy + 1
 
-c  Does this box contain atoms ?
+!  Does this box contain atoms ?
 
            lbn=inbox(ibox+1)-inbox(ibox)
@@ -189,5 +189,5 @@
              nez=min(iz+1,ndz-1)
                      
-c  Atoms in the boxes around
+!  Atoms in the boxes around
 
              jcnt=1
@@ -221,5 +221,5 @@
                      dr=1.0d0+akrad
                      dr=dr*dr
-cc if contact
+!c if contact
                      if(dd.le.dr) then
                        nnei=nnei+1
@@ -232,10 +232,10 @@
                    end if
                  end do
-cc
+!c
                   do il=1,npnt
                      surfc(il)=.false.
                   end do
 
-c  Check overlap
+!  Check overlap
 
                   lst=1
@@ -279,12 +279,12 @@
                  area   = sdr*dble(icount)
                  volume = sdr/3.0d0*(trad*dble(icount)
-     #                               +(xat(jbi)-avr_x)*dx
-     #                               +(yat(jbi)-avr_y)*dy
-     #                               +(zat(jbi)-avr_z)*dz)
+     &                               +(xat(jbi)-avr_x)*dx
+     &                               +(yat(jbi)-avr_y)*dy
+     &                               +(zat(jbi)-avr_z)*dz)
 
                  asa=asa+area
                  vdvol=vdvol+volume
                  eysl=eysl+area*sigma(jbi)
-c Separate hydrophilic (h) and hyrdophobic (p) contributions to eysl
+! Separate hydrophilic (h) and hyrdophobic (p) contributions to eysl
                  if (sigma(jbi).lt.0) then
                     eyslp = eyslp + area * sigma(jbi)
@@ -295,5 +295,5 @@
                     asah = asah + area
                  endif
-c Measure how much a residue is solvent accessible:
+! Measure how much a residue is solvent accessible:
                  jres = nursat(jbi)
                  surfres(jres) = surfres(jres) + area
@@ -305,5 +305,5 @@
        end do
 
-c
+!
        if (isolscl) then
           nhx=0
@@ -319,11 +319,10 @@
        return
        end
-c *********************
+! *********************
       subroutine tessel
       include 'INCL.H'
       character lin*80
 
-c    Skipping comment lines, which begin with '!'  
-
+!    Skipping comment lines, which begin with '!'  
       read(20,'(a)') lin
       do while(lin(1:1).eq.'!')
@@ -331,15 +330,14 @@
       end do
 
-c   The first non-comment line is the number of the surface points
+!   The first non-comment line is the number of the surface points
 
       read(lin(1:5),'(i5)') npnt
-c        write(*,'(a,i5)') 'the number of points---->',npnt
-
-c    Read the surface points   
+!       write(*,'(a,i5)') 'the number of points---->',npnt
+
+!    Read the surface points   
 
       do i=1,npnt
          read(20,'(3f20.10)') spoint(i,1),spoint(i,2),spoint(i,3)
-         
-c        write(31,'(3f20.10)') spoint(i,1),spoint(i,2),spoint(i,3)
+!          write(31,'(3f20.10)') spoint(i,1),spoint(i,2),spoint(i,3)
       end do
  
Index: enysol_p.f
===================================================================
--- enysol_p.f	(revision 2ebb8b629686fca2f81260a5ca88a8e21e0c1572)
+++ enysol_p.f	(revision bd2278d6d1ff11d5a913fabac7fcc16d05c02a33)
@@ -1,12 +1,12 @@
-c **************************************************************
-c
-c This file contains the subroutines: enysol,tessel
-c
-c Copyright 2003-2005  Frank Eisenmenger, U.H.E. Hansmann,
-c                      Shura Hayryan, Chin-Ku 
-c Copyright 2007       Frank Eisenmenger, U.H.E. Hansmann,
-c                      Jan H. Meinke, Sandipan Mohanty
-c
-c **************************************************************
+! **************************************************************
+!
+! This file contains the subroutines: enysol,tessel
+!
+! Copyright 2003-2005  Frank Eisenmenger, U.H.E. Hansmann,
+!                      Shura Hayryan, Chin-Ku 
+! Copyright 2007       Frank Eisenmenger, U.H.E. Hansmann,
+!                      Jan H. Meinke, Sandipan Mohanty
+!
+! **************************************************************
 
       
@@ -16,15 +16,15 @@
       include 'mpif.h'
 
-c --------------------------------------------------------------
-c
-c     Double Cubic Lattice algorithm for calculating the
-c     solvation energy of proteins using 
-c     solvent accessible area method.
-c
-c     if nmol == 0 do solvation energy over all residues.
-c CALLS: nursat
-c
-c -------------------------------------------------------------
-c TODO: Check the solvent energy for multiple molecules     
+! --------------------------------------------------------------
+!
+!     Double Cubic Lattice algorithm for calculating the
+!     solvation energy of proteins using 
+!     solvent accessible area method.
+!
+!     if nmol == 0 do solvation energy over all residues.
+! CALLS: nursat
+!
+! -------------------------------------------------------------
+! TODO: Check the solvent energy for multiple molecules     
       dimension numbox(mxat),inbox(mxbox+1),indsort(mxat),look(mxat)
       dimension xyz(mxinbox,3),radb(mxinbox),radb2(mxinbox)
@@ -101,5 +101,5 @@
       diamax=2.d0*rmax
 
-c  The sizes of the big box
+!  The sizes of the big box
 
       sizex=xmax-xmin
@@ -107,5 +107,5 @@
       sizez=zmax-zmin
 
-c  How many maximal diameters in each size ?
+!  How many maximal diameters in each size ?
 
       ndx=sizex/diamax + 1
@@ -113,9 +113,9 @@
       ndz=sizez/diamax + 1
 
-c We may need the number of quadratic boxes in (X,Y) plane
+! We may need the number of quadratic boxes in (X,Y) plane
 
       nqxy=ndx*ndy
 
-c   The number of cubic boxes of the size "diamax"
+!   The number of cubic boxes of the size "diamax"
 
       ncbox=nqxy*ndz
@@ -125,5 +125,5 @@
       end if
         
-c Let us shift the borders to home all boxes
+! Let us shift the borders to home all boxes
 
       shiftx=(dble(ndx)*diamax-sizex)/2.d0
@@ -137,5 +137,5 @@
       zmax=zmax+shiftz
 
-c Finding the box of each atom
+! Finding the box of each atom
 
       do j=nlow,nup
@@ -159,5 +159,5 @@
       end do
 
-c  Summation over the boxes
+!  Summation over the boxes
 
       do i=1,ncbox
@@ -166,5 +166,5 @@
          
         
-c   Sorting the atoms by the their box numbers
+!   Sorting the atoms by the their box numbers
 
       do i=nlow,nup
@@ -175,6 +175,6 @@
       end do   
          
-c    Getting started
-c    We have to loop over ncbox boxes and have no processors available
+!    Getting started
+!    We have to loop over ncbox boxes and have no processors available
       boxpp = 1.0 * ncbox / no
       iboxmin = boxpp * myrank
@@ -191,5 +191,5 @@
 !     ibox=ix+iy*ndx+iz*nqxy + 1
 
-c  Does this box contain atoms ?
+!  Does this box contain atoms ?
 
            lbn=inbox(ibox+1)-inbox(ibox)
@@ -203,5 +203,5 @@
              nez=min(iz+1,ndz-1)
                      
-c  Atoms in the boxes around
+!  Atoms in the boxes around
 
              jcnt=1
@@ -235,5 +235,5 @@
                      dr=1.0d0+akrad
                      dr=dr*dr
-cc if contact
+!c if contact
                      if(dd.le.dr) then
                        nnei=nnei+1
@@ -246,10 +246,10 @@
                    end if
                  end do
-cc
+!c
                   do il=1,npnt
                      surfc(il)=.false.
                   end do
 
-c  Check overlap
+!  Check overlap
 
                   lst=1
@@ -293,12 +293,12 @@
                  area   = sdr*dble(icount)
                  volume = sdr/3.0d0*(trad*dble(icount)
-     #                               +(xat(jbi)-avr_x)*dx
-     #                               +(yat(jbi)-avr_y)*dy
-     #                               +(zat(jbi)-avr_z)*dz)
+     &                               +(xat(jbi)-avr_x)*dx
+     &                               +(yat(jbi)-avr_y)*dy
+     &                               +(zat(jbi)-avr_z)*dz)
 
                  asa=asa+area
                  vdvol=vdvol+volume
                  eysl=eysl+area*sigma(jbi)
-c Separate hydrophilic (h) and hyrdophobic (p) contributions to eysl
+! Separate hydrophilic (h) and hyrdophobic (p) contributions to eysl
                  if (sigma(jbi).lt.0) then
                     eyslp = eyslp + area * sigma(jbi)
@@ -309,5 +309,5 @@
                     asah = asah + area
                  endif
-c Measure how much a residue is solvent accessible:
+! Measure how much a residue is solvent accessible:
                  jres = nursat(jbi)
                  surfres(jres) = surfres(jres) + area
@@ -332,5 +332,5 @@
      &               endwtime - startwtime, "s"
       endif
-c
+!
        if (isolscl) then
           nhx=0
@@ -346,10 +346,10 @@
        return
        end
-c *********************
+! *********************
       subroutine tessel
       include 'INCL.H'
       character lin*80
 
-c    Skipping comment lines, which begin with '!'  
+!    Skipping comment lines, which begin with '!'  
 
       read(20,'(a)') lin
@@ -358,15 +358,15 @@
       end do
 
-c   The first non-comment line is the number of the surface points
+!   The first non-comment line is the number of the surface points
 
       read(lin(1:5),'(i5)') npnt
-c        write(*,'(a,i5)') 'the number of points---->',npnt
-
-c    Read the surface points   
+!        write(*,'(a,i5)') 'the number of points---->',npnt
+
+!    Read the surface points   
 
       do i=1,npnt
          read(20,'(3f20.10)') spoint(i,1),spoint(i,2),spoint(i,3)
          
-c        write(31,'(3f20.10)') spoint(i,1),spoint(i,2),spoint(i,3)
+!        write(31,'(3f20.10)') spoint(i,1),spoint(i,2),spoint(i,3)
       end do
  
Index: esolan.f
===================================================================
--- esolan.f	(revision 2ebb8b629686fca2f81260a5ca88a8e21e0c1572)
+++ esolan.f	(revision bd2278d6d1ff11d5a913fabac7fcc16d05c02a33)
@@ -48,10 +48,10 @@
       
       dimension neib(0:mxat),vertex(ks0,4),ax(ks0,2),
-     1          pol(mxat),neibp(0:mxat),as(mxat),ayx(ks0,2),
-     2          ayx1(ks0),probe(ks0),dd(mxat),ddat(mxat,4),ivrx(ks0)
+     &          pol(mxat),neibp(0:mxat),as(mxat),ayx(ks0,2),
+     &          ayx1(ks0),probe(ks0),dd(mxat),ddat(mxat,4),ivrx(ks0)
        
       dimension grad(mxat,mxat,3),dadx(4,3),gp(4),dalp(4),dbet(4),
-     1   daalp(4),dabet(4),vrx(ks0,4),dv(4),dx(4),dy(4),dz(4),dt(4),
-     2   di(4),dii(4,3),ss(mxat),dta(4),dtb(4),di1(4),di2(4),gs(3)
+     &   daalp(4),dabet(4),vrx(ks0,4),dv(4),dx(4),dy(4),dz(4),dt(4),
+     &   di(4),dii(4,3),ss(mxat),dta(4),dtb(4),di1(4),di2(4),gs(3)
       dimension xold(-1:mxat),yold(-1:mxat),zold(-1:mxat)
       integer ta2(0:mxat),ta3(0:mxat),fullarc(0:mxat),al(0:ks2)
Index: eyabgn.f
===================================================================
--- eyabgn.f	(revision 2ebb8b629686fca2f81260a5ca88a8e21e0c1572)
+++ eyabgn.f	(revision bd2278d6d1ff11d5a913fabac7fcc16d05c02a33)
@@ -1,17 +1,17 @@
-c *********************************************************************
-c This file contains eyrccr, init_abgn, eyentr, eyabgn
-c
-c Copyright 2007       Frank Eisenmenger, U.H.E. Hansmann,
-c                      Jan H. Meinke, Sandipan Mohanty
-c
-c Corrections to ECEPP energy terms due to R. A. Abagyan et al. 
-c 
-c Two terms are calculated: eyrccr and eyentr, representing respectively
-c c a term to slightly shift the backbone dihedral angle preferences in 
-c the ECEPP potential slightly away from the helix region, and another
-c term to estimate the side-chain entropy from a given configuration. 
-c
-c
-c *********************************************************************
+! *********************************************************************
+! This file contains eyrccr, init_abgn, eyentr, eyabgn
+!
+! Copyright 2007       Frank Eisenmenger, U.H.E. Hansmann,
+!                      Jan H. Meinke, Sandipan Mohanty
+!
+! Corrections to ECEPP energy terms due to R. A. Abagyan et al. 
+! 
+! Two terms are calculated: eyrccr and eyentr, representing respectively
+! c a term to slightly shift the backbone dihedral angle preferences in 
+! the ECEPP potential slightly away from the helix region, and another
+! term to estimate the side-chain entropy from a given configuration. 
+!
+!
+! *********************************************************************
       real*8 function eyrccr(nml)
       include 'INCL.H'
@@ -29,10 +29,10 @@
       endif
       et=0.0
-c      print *,'***********'
+!      print *,'***********'
       do i=istres,indres
          mynm=seq(i)
          call tolost(mynm)
          if ((mynm.eq.'val').or.(mynm.eq.'ile').or.
-     #           (mynm.eq.'thr')) then 
+     &           (mynm.eq.'thr')) then 
             rsscl=1.0
          else 
@@ -40,10 +40,10 @@
          endif
          et=et+rsscl*(1.0-sin(vlvr(ipsi(i))))
-c         print *,'  contribution = ',rsscl*(1.0-sin(vlvr(ipsi(i))))
-c         print *,'obtained using scale ',rsscl,' and angle ',
-c     #        vlvr(ipsi(i))
+!         print *,'  contribution = ',rsscl*(1.0-sin(vlvr(ipsi(i))))
+!         print *,'obtained using scale ',rsscl,' and angle ',
+!     #        vlvr(ipsi(i))
       enddo
-c      print *,'abagyan dihedral term = ',et
-c      print *,'***********'
+!      print *,'abagyan dihedral term = ',et
+!      print *,'***********'
       eyrccr=et
       return
@@ -56,37 +56,37 @@
       dimension xarea(nrsty),estrg(nrsty)
       character mynm*4
-c      print *,'Initialization of Abagyan entropic term'
-c     Maximum accessible surface areas for different residue types
+!      print *,'Initialization of Abagyan entropic term'
+!     Maximum accessible surface areas for different residue types
       data (xarea(i),i=1,nrsty)/
-c             1         2         3         4         5
-     #     117.417 , 244.686 , 245.582 , 146.467 , 144.485 ,
-c             6         7         8         9        10
-     #     144.192 , 142.805 , 147.568 , 183.103 , 177.094 ,
-c            11       12        13        14        15
-     #     186.293 , 83.782 , 187.864 , 187.864 , 187.864 ,
-c            16       17        18        19        20
-     #     187.864 , 160.887 , 161.741 , 184.644 , 179.334 ,
-c            21       22        23        24        25
-     #     209.276 , 209.276 , 203.148 , 208.902 , 153.124 ,
-c            26       27        28        29        30
-     #     153.973 , 153.037 , 158.695 , 157.504 , 157.504 ,
-c            31       32        33        34        35
-     #     119.786 , 146.488 , 238.641 , 223.299 , 160.283 /
-c     Entropic contribution for maximally exposed residue
+!             1         2         3         4         5
+     &     117.417 , 244.686 , 245.582 , 146.467 , 144.485 ,
+!             6         7         8         9        10
+     &     144.192 , 142.805 , 147.568 , 183.103 , 177.094 ,
+!            11       12        13        14        15
+     &     186.293 , 83.782 , 187.864 , 187.864 , 187.864 ,
+!            16       17        18        19        20
+     &     187.864 , 160.887 , 161.741 , 184.644 , 179.334 ,
+!            21       22        23        24        25
+     &     209.276 , 209.276 , 203.148 , 208.902 , 153.124 ,
+!            26       27        28        29        30
+     &     153.973 , 153.037 , 158.695 , 157.504 , 157.504 ,
+!            31       32        33        34        35
+     &     119.786 , 146.488 , 238.641 , 223.299 , 160.283 /
+!     Entropic contribution for maximally exposed residue
       data (estrg(i),i=1,nrsty)/
-c             1ala      2arg      3arg+     4asn      5asp
-     #       0.0   ,   2.13  ,   2.13  ,   0.81  ,   0.61  ,
-c             6asp-     7cys      8cyss     9gln     10glu
-     #       0.61  ,   1.14  ,   1.14  ,   2.02  ,   1.65  ,
-c            11glu-   12gly     13his     14hise    15hisd
-     #       1.65  ,  0.0    ,   0.99  ,   0.99  ,   0.99  ,
-c            16his+   17hyp     18hypu    19ile     20leu
-     #       0.99  ,   0.99  ,   0.99  ,  0.75   ,   0.75  ,
-c            21lys    22lys+     23met     24phe     25cpro
-     #       2.21  ,   2.21  ,   1.53  ,   0.58  ,   0.0   ,
-c            26pro     27cpru    28prou    29pron    30pro+
-     #       0.0   ,   0.0   ,   0.0   ,   0.0   ,   0.0   ,
-c            31ser     32thr     33trp     34tyr     35val
-     #       1.19  ,   1.12  ,   0.97  ,   0.99  ,   0.50  /
+!             1ala      2arg      3arg+     4asn      5asp
+     &       0.0   ,   2.13  ,   2.13  ,   0.81  ,   0.61  ,
+!             6asp-     7cys      8cyss     9gln     10glu
+     &       0.61  ,   1.14  ,   1.14  ,   2.02  ,   1.65  ,
+!            11glu-   12gly     13his     14hise    15hisd
+     &       1.65  ,  0.0    ,   0.99  ,   0.99  ,   0.99  ,
+!            16his+   17hyp     18hypu    19ile     20leu
+     &       0.99  ,   0.99  ,   0.99  ,  0.75   ,   0.75  ,
+!            21lys    22lys+     23met     24phe     25cpro
+     &       2.21  ,   2.21  ,   1.53  ,   0.58  ,   0.0   ,
+!            26pro     27cpru    28prou    29pron    30pro+
+     &       0.0   ,   0.0   ,   0.0   ,   0.0   ,   0.0   ,
+!            31ser     32thr     33trp     34tyr     35val
+     &       1.19  ,   1.12  ,   0.97  ,   0.99  ,   0.50  /
       do i=1,mxrs
          rsstrg(i)=0.0
@@ -100,5 +100,5 @@
          do j=1,nrsty
             if (rsnmcd(j).eq.mynm) imytyp=j
-c            print *,'comparing ',mynm,' with ',rsnmcd(j),imytyp
+!            print *,'comparing ',mynm,' with ',rsnmcd(j),imytyp
          enddo
          if (imytyp.eq.0) then 
@@ -109,6 +109,6 @@
             rsstrg(i)=estrg(imytyp)/xarea(imytyp)
          endif
-c         print *,'residue ',i,seq(i),' type ',imytyp
-c         print *, 'strength for residue ',i,seq(i),' is ',rsstrg(i) 
+!         print *,'residue ',i,seq(i),' type ',imytyp
+!         print *, 'strength for residue ',i,seq(i),' is ',rsstrg(i) 
       enddo
       print *, 'initialized Abagyan corrections to ECEPP force field'
@@ -129,21 +129,21 @@
          indres=irsml2(nml)
       endif
-c      print *,'residue range ',istres,indres
-c      print *,'for molecule ',nml
+!      print *,'residue range ',istres,indres
+!      print *,'for molecule ',nml
       do i=istres, indres
          aars=surfres(i)
          strh=rsstrg(i)
-c        The maximal burial entropies were estimated at temperature 300k
-c        The values in the array estrg are k_B * T (=300k) * Entropy
-c        Presently we need it at temperature 1/beta, so we need to 
-c        multiply the strengths in estrg with (1/beta)/(300 kelvin)
-c        300 kelvin is approximately 0.59576607 kcal/mol.
+!        The maximal burial entropies were estimated at temperature 300k
+!        The values in the array estrg are k_B * T (=300k) * Entropy
+!        Presently we need it at temperature 1/beta, so we need to 
+!        multiply the strengths in estrg with (1/beta)/(300 kelvin)
+!        300 kelvin is approximately 0.59576607 kcal/mol.
          eentr=eentr+aars*strh/(0.59576607*beta)
-c         print *,'contribution = ',aars*strh/(0.59576607*beta)
-c         print *,'residue, exposed area = ',i,aars
-c         print *,'strength = ',strh,' for residue index = ',i
-c         print *,'beta = ',beta
+!         print *,'contribution = ',aars*strh/(0.59576607*beta)
+!         print *,'residue, exposed area = ',i,aars
+!         print *,'strength = ',strh,' for residue index = ',i
+!         print *,'beta = ',beta
       enddo
-c      print *,'abagyan entropic term = ',eentr
+!      print *,'abagyan entropic term = ',eentr
       eyentr=eentr
       return
@@ -153,5 +153,5 @@
       include 'INCL.H'
       eyabgn=eyrccr(nml)+eyentr(nml)
-c      print *,'Abagyan term = ',eyabgn
+!      print *,'Abagyan term = ',eyabgn
       return
       end
Index: getmol.f
===================================================================
--- getmol.f	(revision 2ebb8b629686fca2f81260a5ca88a8e21e0c1572)
+++ getmol.f	(revision bd2278d6d1ff11d5a913fabac7fcc16d05c02a33)
@@ -1,39 +1,39 @@
-c **************************
-c **************************************************************
-c
-c This file contains the subroutines: getmol,redres
-c
-c Copyright 2003-2005  Frank Eisenmenger, U.H.E. Hansmann,
-c                      Shura Hayryan, Chin-Ku 
-c Copyright 2007       Frank Eisenmenger, U.H.E. Hansmann,
-c                      Jan H. Meinke, Sandipan Mohanty
-c
-c **************************************************************
+! **************************
+! **************************************************************
+!
+! This file contains the subroutines: getmol,redres
+!
+! Copyright 2003-2005  Frank Eisenmenger, U.H.E. Hansmann,
+!                      Shura Hayryan, Chin-Ku 
+! Copyright 2007       Frank Eisenmenger, U.H.E. Hansmann,
+!                      Jan H. Meinke, Sandipan Mohanty
+!
+! **************************************************************
 
 
       subroutine getmol(nml)
 
-c ...................................................................
-c PURPOSE:  assemble data for molecule 'nml' according to
-c           its sequence using residue library 'reslib'
-c
-c ! Molecules must be assembled in sequential order (1 -> ntlml)
-c            (or number of atoms & variables must remain the same)
-c
-c INPUT:    irsml1(nml),irsml2(nml),seq(irsml1()...irsml2())
-c           nml>1: irsml1(nml-1),iatrs2(irsml2(nml-1))
-c                  ivrrs1(irsml2(nml-1)),nvrrs(irsml2(nml-1))
-c
-c OUTPUT:   molecule  - ivrml1,nvrml
-c           residues  - iatrs1,ixatrs,iatrs2,ivrrs1,nvrrs
-c           atoms     - nmat,ityat,cgat,blat,baat,csbaat,snbaat,
-c                       toat,cstoat,sntoat
-c           bonds     - nbdat,iowat,iyowat,ibdat(1-mxbd,),iybdat(1-mxbd,)
-c                       ! 1st atom of 'nml': iowat indicates 1st bond
-c                          to a FOLLOWING atom (not previous) !
-c           variables - ityvr,iclvr,iatvr,nmvr
-c                                    
-c CALLS:    iopfil,redres,iendst
-c ...................................................................
+! ...................................................................
+! PURPOSE:  assemble data for molecule 'nml' according to
+!           its sequence using residue library 'reslib'
+!
+! ! Molecules must be assembled in sequential order (1 -> ntlml)
+!            (or number of atoms & variables must remain the same)
+!
+! INPUT:    irsml1(nml),irsml2(nml),seq(irsml1()...irsml2())
+!           nml>1: irsml1(nml-1),iatrs2(irsml2(nml-1))
+!                  ivrrs1(irsml2(nml-1)),nvrrs(irsml2(nml-1))
+!
+! OUTPUT:   molecule  - ivrml1,nvrml
+!           residues  - iatrs1,ixatrs,iatrs2,ivrrs1,nvrrs
+!           atoms     - nmat,ityat,cgat,blat,baat,csbaat,snbaat,
+!                       toat,cstoat,sntoat
+!           bonds     - nbdat,iowat,iyowat,ibdat(1-mxbd,),iybdat(1-mxbd,)
+!                       ! 1st atom of 'nml': iowat indicates 1st bond
+!                          to a FOLLOWING atom (not previous) !
+!           variables - ityvr,iclvr,iatvr,nmvr
+!                                    
+! CALLS:    iopfil,redres,iendst
+! ...................................................................
 
       include 'INCL.H'
@@ -43,6 +43,6 @@
       if (iopfil(lunlib,reslib,'old','formatted').le.izero) then
         write (*,'(a,/,a,i3,2a)') 
-     #    ' getmol> ERROR opening library of residues:',
-     #    ' LUN=',lunlib,' FILE=',reslib(1:iendst(reslib))
+     &    ' getmol> ERROR opening library of residues:',
+     &    ' LUN=',lunlib,' FILE=',reslib(1:iendst(reslib))
         stop
       endif
@@ -68,10 +68,10 @@
         if (res(:3).eq.'nme'.and.nrs.ne.ilars) then
           write (*,'(3a)') ' getmol> residue >',res,
-     #                     '< allowed at C-terminus only !'
+     &                     '< allowed at C-terminus only !'
           close(lunlib)
           stop
         elseif (res(:3).eq.'ace'.and.nrs.ne.ifirs) then
           write (*,'(3a)') ' getmol> residue >',res,
-     #                     '< allowed at N-terminus only !'
+     &                     '< allowed at N-terminus only !'
           close(lunlib)
           stop
@@ -93,5 +93,5 @@
         rewind lunlib
 
-c ___________________________________________________________ Atoms
+! ___________________________________________________________ Atoms
         do i=1,nat
           n=i+ntlat
@@ -108,5 +108,5 @@
           cstoat(n)=cos(to)
           sntoat(n)=sin(to)
-c ______________________________ bonds to previous & following atoms
+! ______________________________ bonds to previous & following atoms
           iow=iowath(i)
           if (iow.eq.0) then          ! 1st atom of residue
@@ -129,16 +129,16 @@
               iyowat(n)=1         !!! only single bonds assumed !!!
 
-c ___________________________ correct atom to 'next' res.
+! ___________________________ correct atom to 'next' res.
               nbd=nbdat(nh)
               if (nbd.eq.mxbd) then
                 write(*,'(a,i2,a,i4,2a,i4,a)') 
-     #           ' getmol> need ',(mxbd+2),
-     #           'th bond to connect residues ',
-     #           nrs-1,seq(nrs-1),' and ',nrs,seq(nrs)
+     &           ' getmol> need ',(mxbd+2),
+     &           'th bond to connect residues ',
+     &           nrs-1,seq(nrs-1),' and ',nrs,seq(nrs)
                 close(lunlib)
                 stop
               else  !  correct atom to 'next' res.
-c _______________________________!! dihedrals for atoms bound to 'nh'
-c                                   are assumed to be phase angles !!
+! _______________________________!! dihedrals for atoms bound to 'nh'
+!                                   are assumed to be phase angles !!
                 do j=1,nbd
 
@@ -148,7 +148,7 @@
                   if (t.eq.0.0) then
                     write (*,'(3a,/,2a)') 
-     #               ' getmol> DIHEDRAL for atom ',nmat(nj),
-     #               ' should be PHASE angle with respect to atom ',
-     #               nmat(n),' & therefore must be not 0.0 !!'
+     &               ' getmol> DIHEDRAL for atom ',nmat(nj),
+     &               ' should be PHASE angle with respect to atom ',
+     &               nmat(n),' & therefore must be not 0.0 !!'
                     close(lunlib)
                     stop
@@ -197,5 +197,5 @@
         enddo  ! ... atoms
 
-c ________________________________________________________ Variables
+! ________________________________________________________ Variables
         ivrrs1(nrs)=ntlvr+1
         mvr=0
@@ -206,8 +206,8 @@
 
             iat=iatvrh(i)
-c ____________________________________ Exclude all variables for 1st atom
-c                                       & torsion for atoms bound to it
+! ____________________________________ Exclude all variables for 1st atom
+!                                       & torsion for atoms bound to it
             if ( iat.eq.1.or.
-     #        (iowath(iat).eq.1.and.ityvrh(i).eq.3)) goto 1
+     &        (iowath(iat).eq.1.and.ityvrh(i).eq.3)) goto 1
 
           endif
@@ -233,5 +233,5 @@
       close(lunlib)
 
-c _______________________________ Variables
+! _______________________________ Variables
       if (nml.eq.1) then
         nvrml(nml)=ntlvr
@@ -242,30 +242,30 @@
       return
       end
-c **************************************
+! **************************************
       subroutine redres(res,nat,nxt,nvrr)
 
-c .......................................................
-c PURPOSE:  read atom data for residue 'res' from library
-c           (file 'lunlib' 'reslib' opened in routine calling
-c            this one)
-c
-c OUTPUT:   nat   - number of atoms in residue
-c           nxt   - atom which may bind to following residue
-c           nvrr  - number of variables in residue
-c           for atoms     - nmath,blath,baath(rad),toath(rad),
-c                           ityath,iyowath,iowath (INSIDE residue,
-c                                                  =0 if 1st atom)
-c           for variables - ityvrh (1=bl/2=ba/3=to),iclvrh,iatvrh,nmvrh
-c
-c LIBRARY:  residue-lines:
-c            '#', res, nat, nxt;  Format: a1,a4,2i4
-c           atom-lines:
-c           nmat,3{"fix" =' ', clvr,nmvr, blat/baat(deg)/toat(deg)},
-c             cgat, ityat, iowat,ibdat1,ibdat2,ibdat3;
-c           Format: a4, 3(1x,i2,a1,a3,f9.3), f7.4, i4,4i4
-c
-C CALLS: iendst,tolost
-c
-c .......................................................
+! .......................................................
+! PURPOSE:  read atom data for residue 'res' from library
+!           (file 'lunlib' 'reslib' opened in routine calling
+!            this one)
+!
+! OUTPUT:   nat   - number of atoms in residue
+!           nxt   - atom which may bind to following residue
+!           nvrr  - number of variables in residue
+!           for atoms     - nmath,blath,baath(rad),toath(rad),
+!                           ityath,iyowath,iowath (INSIDE residue,
+!                                                  =0 if 1st atom)
+!           for variables - ityvrh (1=bl/2=ba/3=to),iclvrh,iatvrh,nmvrh
+!
+! LIBRARY:  residue-lines:
+!            '#', res, nat, nxt;  Format: a1,a4,2i4
+!           atom-lines:
+!           nmat,3{"fix" =' ', clvr,nmvr, blat/baat(deg)/toat(deg)},
+!             cgat, ityat, iowat,ibdat1,ibdat2,ibdat3;
+!           Format: a4, 3(1x,i2,a1,a3,f9.3), f7.4, i4,4i4
+!
+! CALLS: iendst,tolost
+!
+! .......................................................
 
       include 'INCL.H'
@@ -285,5 +285,5 @@
       call tolost(resl)  ! ensure lower case for residue name
 
-c ________________________________ find residue 'resl'
+! ________________________________ find residue 'resl'
     1 line=blnk
       nln=nln+1
@@ -293,5 +293,5 @@
 
       if (lg.ge.13.and.line(1:1).eq.'#'.and.line(2:5).eq.resl) then
-c _____________________________________________ read atom data for 'resl'
+! _____________________________________________ read atom data for 'resl'
         read (line(6:13),'(2i4)',err=3) nat,nxt
 
@@ -308,7 +308,7 @@
 
           read (lunlib,'(a4,3(1x,i2,a1,a3,d9.3),d7.4,i4,4i4)',
-     #                 end=3,err=3)
-     #     nmath(i),icl(1),fix(1),nm(1),blath(i),icl(2),fix(2),nm(2),ba,
-     #     icl(3),fix(3),nm(3),to,cgath(i),ity,iow,(ibd(j),j=1,mxbd)
+     &                 end=3,err=3)
+     &     nmath(i),icl(1),fix(1),nm(1),blath(i),icl(2),fix(2),nm(2),ba,
+     &     icl(3),fix(3),nm(3),to,cgath(i),ity,iow,(ibd(j),j=1,mxbd)
 
           if (ity.le.0.or.ity.gt.mxtyat) goto 6
@@ -326,8 +326,8 @@
             if (i.eq.jow) then
               write (*,'(5a)') ' redres> atom ',nmath(i),' of ',
-     #                          resl,' cannot preceed itself '
+     &                          resl,' cannot preceed itself '
             else
               write (*,'(5a,i4)') ' redres> atom ',nmath(i),' of ',
-     #                    resl,' should be placed AFTER atom #',jow
+     &                    resl,' should be placed AFTER atom #',jow
             endif
             goto 5
@@ -336,6 +336,6 @@
           iowath(i)=jow
           iyowath(i)=sign(1,iow)
-c ____________________________________ check order & find number of bonds
-c                                      (bonds closing ring must be last !)
+! ____________________________________ check order & find number of bonds
+!                                      (bonds closing ring must be last !)
           ib1=abs(ibd(1))
           ib2=abs(ibd(2))
@@ -354,10 +354,10 @@
             else
               if ( ib2.eq.jow.or.ib2.eq.ib1.or.
-     #            (ib2.gt.i.and.ib2.lt.ib1) ) goto 4
+     &            (ib2.gt.i.and.ib2.lt.ib1) ) goto 4
               if (ib3.eq.0) then
                 nbdath(i)=2
               else
                 if (ib3.eq.jow.or.ib3.eq.ib1.or.ib3.eq.ib2.or.
-     #              (ib3.gt.i.and.(ib3.lt.ib1.or.ib3.lt.ib2)) ) goto 4
+     &              (ib3.gt.i.and.(ib3.lt.ib1.or.ib3.lt.ib2)) ) goto 4
                 nbdath(i)=3
               endif
@@ -373,5 +373,5 @@
           toath(i)=to*cdr
 
-c ______________________________ internal degrees of freedom
+! ______________________________ internal degrees of freedom
           do j=1,3
             if (fix(j).ne.blnk) then
@@ -380,5 +380,5 @@
               if (nvrr.gt.mxvrh) then
                 write (*,'(a,i5)') ' redres> number of variables > ',
-     #                             mxvrh
+     &                             mxvrh
                 close(lunlib)
                 stop
@@ -388,7 +388,7 @@
 
               if ( ic.le.0    
-     #         .or.(j.eq.3.and.ic.gt.mxtyto)           ! dihedral
-     #         .or.(j.eq.2.and.ic.gt.mxtyba)           ! bond angle
-     #         .or.(j.eq.1.and.ic.gt.mxtybl) ) goto 7  ! b. length
+     &         .or.(j.eq.3.and.ic.gt.mxtyto)           ! dihedral
+     &         .or.(j.eq.2.and.ic.gt.mxtyba)           ! bond angle
+     &         .or.(j.eq.1.and.ic.gt.mxtybl) ) goto 7  ! b. length
 
               ityvrh(nvrr)=j
@@ -407,30 +407,30 @@
       goto 1
 
-c ____________________________________________________________ ERRORS
+! ____________________________________________________________ ERRORS
     2 write (*,'(4a)') ' redres> residue >',resl,'< NOT FOUND in ',
-     #reslib(1:iendst(reslib))
+     &reslib(1:iendst(reslib))
       close(lunlib)
       stop
 
     3 write (*,'(a,i4,2a)') ' redres> ERROR reading line No. ',nln,
-     #' in ',reslib(1:iendst(reslib))
+     &' in ',reslib(1:iendst(reslib))
       close(lunlib)
       stop
 
     4 write (*,'(4a)') ' redres> Incorrect order of bonds for atom ',
-     #                      nmath(i),' of ',resl
+     &                      nmath(i),' of ',resl
 
     5 write (*,'(8x,2a)') '... must correct ',
-     #                      reslib(1:iendst(reslib))
+     &                      reslib(1:iendst(reslib))
       close(lunlib)
       stop
 
     6 write (*,'(a,i2,4a)') ' redres> unknown type :',ity,
-     #                   ': for atom ',nmath(i),' in residue ',resl
+     &                   ': for atom ',nmath(i),' in residue ',resl
       close(lunlib)
       stop
 
     7 write (*,'(a,i2,4a)') ' redres> unknown class :',ic,
-     #                   ': for variable ',nm(j),' in residue ',resl
+     &                   ': for variable ',nm(j),' in residue ',resl
       close(lunlib)
       stop
Index: gradient.f
===================================================================
--- gradient.f	(revision 2ebb8b629686fca2f81260a5ca88a8e21e0c1572)
+++ gradient.f	(revision bd2278d6d1ff11d5a913fabac7fcc16d05c02a33)
@@ -1,21 +1,21 @@
-C **************************************************************
-c
-c This file contains the subroutines: gradient
-c
-c Copyright 2003-2005  Frank Eisenmenger, U.H.E. Hansmann,
-c                      Shura Hayryan, Chin-Ku 
-c Copyright 2007       Frank Eisenmenger, U.H.E. Hansmann,
-c                      Jan H. Meinke, Sandipan Mohanty
-c
-c **************************************************************
+! **************************************************************
+!
+! This file contains the subroutines: gradient
+!
+! Copyright 2003-2005  Frank Eisenmenger, U.H.E. Hansmann,
+!                      Shura Hayryan, Chin-Ku 
+! Copyright 2007       Frank Eisenmenger, U.H.E. Hansmann,
+!                      Jan H. Meinke, Sandipan Mohanty
+!
+! **************************************************************
 
 
       subroutine gradient()
 
-c -------------------------------------------
-c PURPOSE: calculate energy & gradients
-c
-c CALLS:   opeflx,opereg,opeshe,opesol,setvar
-c -------------------------------------------
+! -------------------------------------------
+! PURPOSE: calculate energy & gradients
+!
+! CALLS:   opeflx,opereg,opeshe,opesol,setvar
+! -------------------------------------------
 
       include 'INCL.H'
Index: hbond.f
===================================================================
--- hbond.f	(revision 2ebb8b629686fca2f81260a5ca88a8e21e0c1572)
+++ hbond.f	(revision bd2278d6d1ff11d5a913fabac7fcc16d05c02a33)
@@ -1,37 +1,37 @@
-c**************************************************************
-c
-c This file contains the subroutines: hbond,chhb,ishybd,
-c                                     ishybdo,nursat,interhbond
-c
-c Copyright 2003-2005  Frank Eisenmenger, U.H.E. Hansmann,
-c                      Shura Hayryan, Chin-Ku 
-c Copyright 2007       Frank Eisenmenger, U.H.E. Hansmann,
-c                      Jan H. Meinke, Sandipan Mohanty
-c
-c **************************************************************
+!**************************************************************
+!
+! This file contains the subroutines: hbond,chhb,ishybd,
+!                                     ishybdo,nursat,interhbond
+!
+! Copyright 2003-2005  Frank Eisenmenger, U.H.E. Hansmann,
+!                      Shura Hayryan, Chin-Ku 
+! Copyright 2007       Frank Eisenmenger, U.H.E. Hansmann,
+!                      Jan H. Meinke, Sandipan Mohanty
+!
+! **************************************************************
 
 
       subroutine hbond(nml,mhb,ipr)
-c .................................................................
-c PURPOSE: find hydrogen bonds in molecule 'nml'
-c
-c          prints HBonds, if ipr > 0
-c
-c OUTPUT: mhb - number of hyd.bds. of type i->i+4
-c  
-c   to INCL.H:
-c
-c         ntyhb  - number of different types of hyd. bds. found
-c         nutyhb - number of hyd.bds. found for each type
-c         ixtyhb - index for each type of hyd. bd. composed as
-c                  (atom idx. of H) * 1000 + atm.idx. of acceptor
-c
-c CALLS: chhb,ishybd  (ishybdo),nursat
-C
-c................................................................
-
-      include 'INCL.H'
-
-cf2py intent(out) mhb  
+! .................................................................
+! PURPOSE: find hydrogen bonds in molecule 'nml'
+!
+!          prints HBonds, if ipr > 0
+!
+! OUTPUT: mhb - number of hyd.bds. of type i->i+4
+!  
+!   to INCL.H:
+!
+!         ntyhb  - number of different types of hyd. bds. found
+!         nutyhb - number of hyd.bds. found for each type
+!         ixtyhb - index for each type of hyd. bd. composed as
+!                  (atom idx. of H) * 1000 + atm.idx. of acceptor
+!
+! CALLS: chhb,ishybd  (ishybdo),nursat
+!
+!................................................................
+
+      include 'INCL.H'
+
+!f2py intent(out) mhb  
       parameter (atbase=mxat)      
       logical ishb
@@ -50,32 +50,32 @@
         if (ntlvr.eq.0) then
           write (*,'(a,i4)')
-     #           ' hbond> No variables defined in molecule #',nml
+     &           ' hbond> No variables defined in molecule #',nml
           return
         endif
 
         ifivr=ivrml1(nml)
-c Index of last moving set
+! Index of last moving set
         i1s=imsml1(nml)+nmsml(nml)
       endif 
-c Loop over all variables
+! Loop over all variables
       do io=ifivr+ntlvr-1,ifivr,-1  
-c Get index of variable
+! Get index of variable
         iv=iorvr(io)       
-c Index of next to last moving set
+! Index of next to last moving set
         i2s=i1s-1      
-c Index of moving set belonging to iv
+! Index of moving set belonging to iv
         i1s=imsvr1(iv) 
-c Loop over all moving sets between the one belonging to iv and the 
-c next to last one
+! Loop over all moving sets between the one belonging to iv and the 
+! next to last one
         do ims=i1s,i2s  
-c First atom in moving set
+! First atom in moving set
           i1=latms1(ims)
-c Last atom in moving set
+! Last atom in moving set
           i2=latms2(ims)
-c Loop over all atoms in moving set.
+! Loop over all atoms in moving set.
           do i=i1,i2  
-c Loop over van der Waals domains of atom i
+! Loop over van der Waals domains of atom i
             do ivw=ivwat1(i),ivwat2(i)
-c Loop over atoms in van der Waals domain.  
+! Loop over atoms in van der Waals domain.  
               do j=lvwat1(ivw),lvwat2(ivw)  
 
@@ -111,5 +111,5 @@
 
               call ishybd(i,j,ishb,ih,ia)   ! Thornton criteria
-c              call ishybdo(i,j,ishb,ih,ia)  
+!              call ishybdo(i,j,ishb,ih,ia)  
 
               if (ishb) then
@@ -144,7 +144,7 @@
       mhb=0
 
-c     do inhb=1,ntyhb
-c      mhb = mhb+nutyhb(inhb)
-c     enddo
+!     do inhb=1,ntyhb
+!      mhb = mhb+nutyhb(inhb)
+!     enddo
 
       if (ipr.gt.0) write(*,'(1x,a,/)') ' hbond>  Hydrogen Bonds:'
@@ -173,12 +173,12 @@
               if (n.gt.0) then
                 write(*,'(1x,i3,a2,a4,a3,i3,1x,a4,a7,a4,a3,i3,1x,a4,a9,
-     #                    i2)')
-     #           ii,') ',nmat(ia),' ( ',na,seq(na),' ) <-- ',nmat(id),
-     #           ' ( ', nd,seq(nd),' ) = i +',n
+     &                    i2)')
+     &           ii,') ',nmat(ia),' ( ',na,seq(na),' ) <-- ',nmat(id),
+     &           ' ( ', nd,seq(nd),' ) = i +',n
               else
                 write(*,'(1x,i3,a2,a4,a3,i3,1x,a4,a7,a4,a3,i3,1x,a4,a9,
-     #                    i2)')
-     #           ii,') ',nmat(ia),' ( ',na,seq(na),' ) <-- ',nmat(id),
-     #           ' ( ', nd,seq(nd),' ) = i -',abs(n)
+     &                    i2)')
+     &           ii,') ',nmat(ia),' ( ',na,seq(na),' ) <-- ',nmat(id),
+     &           ' ( ', nd,seq(nd),' ) = i -',abs(n)
               endif
 
@@ -192,19 +192,19 @@
       return
       end
-c .....................................................................
-c Calculates hydrogen bonds between different chains.
-c 
-c @return number of intermolecular hydrogen bonds. Returns 0 if only 
-c         one molecule is present. The value is returned in the 
-c         variable mhb.
-c
-c @author Jan H. Meinke <j.meinke@fz-juelich.de>
-c                                            
-c .....................................................................
+! .....................................................................
+! Calculates hydrogen bonds between different chains.
+! 
+! @return number of intermolecular hydrogen bonds. Returns 0 if only 
+!         one molecule is present. The value is returned in the 
+!         variable mhb.
+!
+! @author Jan H. Meinke <j.meinke@fz-juelich.de>
+!                                            
+! .....................................................................
       subroutine interhbond(mhb)
 
       include 'INCL.H'
       
-cf2py intent(out) mhb     
+!f2py intent(out) mhb     
       
       logical ishb
@@ -233,5 +233,5 @@
       
       end ! subroutine interhbond
-c ************************
+! ************************
       subroutine chhb(i,j)
 
@@ -249,10 +249,10 @@
 
       dah=sqrt((xat(ih)-xat(ia))**2+(yat(ih)-yat(ia))**2+
-     #          (zat(ih)-zat(ia))**2)
+     &          (zat(ih)-zat(ia))**2)
 
       id=iowat(ih)
 
       dad=sqrt((xat(id)-xat(ia))**2+(yat(id)-yat(ia))**2+
-     #          (zat(id)-zat(ia))**2)
+     &          (zat(id)-zat(ia))**2)
       adha=valang(id,ih,ia)*crd
 
@@ -269,31 +269,31 @@
       return
       end
-c *************************************
+! *************************************
       subroutine ishybd(i,j,ishb,ih,ia)
       
 
-c ..........................................................
-c  PURPOSE: checks for hydrogen bond between atoms 'i' & 'j'
-c           according to geometric criteria
-c 
-c  OUTPUT:  logical 'ishb' - true, if have Hydrogen bond
-c           ih - index of Hydrogen atom
-c           ia - index of Acceptor atom
-c
-c  [I.K.McDonald,J.M.Thornton,Satisfying hydrogen bond
-c   potential in proteins.J.Mol.Biol.238(5),777-793 (1994)]
-c
-c  D: hydrogen(=H) donor, A: acceptor, B: atom bound to A
-c
-c  Dis_HA <= 2.5 & Dis_DA <= 3.9 & Angle(D-H-A) > 90 &
-c  Angle(H-A-B) > 90 & Angle(D-A-B) > 90
-c ..........................................................
+! ..........................................................
+!  PURPOSE: checks for hydrogen bond between atoms 'i' & 'j'
+!           according to geometric criteria
+! 
+!  OUTPUT:  logical 'ishb' - true, if have Hydrogen bond
+!           ih - index of Hydrogen atom
+!           ia - index of Acceptor atom
+!
+!  [I.K.McDonald,J.M.Thornton,Satisfying hydrogen bond
+!   potential in proteins.J.Mol.Biol.238(5),777-793 (1994)]
+!
+!  D: hydrogen(=H) donor, A: acceptor, B: atom bound to A
+!
+!  Dis_HA <= 2.5 & Dis_DA <= 3.9 & Angle(D-H-A) > 90 &
+!  Angle(H-A-B) > 90 & Angle(D-A-B) > 90
+! ..........................................................
 
       include 'INCL.H'
 
       parameter (cdad=3.9d0,
-     #           cdah=2.5d0,
-     #           cang=110.d0)
-c     #           cang=90.d0)
+     &           cdah=2.5d0,
+     &           cang=110.d0)
+!     #           cang=90.d0)
 
       logical ishb
@@ -318,40 +318,40 @@
 
       if (sqrt((xat(ih)-xat(ia))**2+(yat(ih)-yat(ia))**2+
-     #         (zat(ih)-zat(ia))**2).gt.cdah) return
+     &         (zat(ih)-zat(ia))**2).gt.cdah) return
 
       id=iowat(ih)
 
       if (id.le.0.or.sqrt((xat(id)-xat(ia))**2+(yat(id)-yat(ia))**2+
-     #                    (zat(id)-zat(ia))**2).gt.cdad
-     #           .or.valang(id,ih,ia).lt.cahb) return
+     &                    (zat(id)-zat(ia))**2).gt.cdad
+     &           .or.valang(id,ih,ia).lt.cahb) return
 
       ib=iowat(ia)
 
       if (ib.gt.0.and.valang(ih,ia,ib).ge.cahb
-     #           .and.valang(id,ia,ib).ge.cahb) ishb=.true.
+     &           .and.valang(id,ia,ib).ge.cahb) ishb=.true.
 
       return
       end
-c **************************************
+! **************************************
 
       subroutine ishybdo(i,j,ishb,ih,ia)
 
-c ..........................................................
-c  PURPOSE: checks for hydrogen bond between atoms 'i' & 'j'
-c           according to geometric criteria
-c 
-c  OUTPUT:  logical 'ishb' - true, if have Hydrogen bond
-c           ih - index of Hydrogen atom
-c           ia - index of Acceptor atom
-c
-c  D: hydrogen(=H) donor, A: acceptor
-c
-c    Dis_AH <= 2.5 & Angle(D-H-A) >= 160
-c ...........................................................
+! ..........................................................
+!  PURPOSE: checks for hydrogen bond between atoms 'i' & 'j'
+!           according to geometric criteria
+! 
+!  OUTPUT:  logical 'ishb' - true, if have Hydrogen bond
+!           ih - index of Hydrogen atom
+!           ia - index of Acceptor atom
+!
+!  D: hydrogen(=H) donor, A: acceptor
+!
+!    Dis_AH <= 2.5 & Angle(D-H-A) >= 160
+! ...........................................................
 
       include 'INCL.H'
 
       parameter (cdah=2.5d0,
-     #           cang=140.d0)
+     &           cang=140.d0)
 
       logical ishb
@@ -377,5 +377,5 @@
 
       if (sqrt((xat(ih)-xat(ia))**2+(yat(ih)-yat(ia))**2+
-     #         (zat(ih)-zat(ia))**2).gt.cdah) return
+     &         (zat(ih)-zat(ia))**2).gt.cdah) return
 
       id=iowat(ih)
Index: helix.f
===================================================================
--- helix.f	(revision 2ebb8b629686fca2f81260a5ca88a8e21e0c1572)
+++ helix.f	(revision bd2278d6d1ff11d5a913fabac7fcc16d05c02a33)
@@ -1,28 +1,28 @@
-c **************************************************************
-c
-c This file contains the subroutines: helix
-c
-c Copyright 2003       Frank Eisenmenger, U.H.E. Hansmann,
-c                      Shura Hayryan, Chin-Ku 
-c Copyright 2007       Frank Eisenmenger, U.H.E. Hansmann,
-c                      Jan H. Meinke, Sandipan Mohanty
-c
-c **************************************************************
+! **************************************************************
+!
+! This file contains the subroutines: helix
+!
+! Copyright 2003       Frank Eisenmenger, U.H.E. Hansmann,
+!                      Shura Hayryan, Chin-Ku 
+! Copyright 2007       Frank Eisenmenger, U.H.E. Hansmann,
+!                      Jan H. Meinke, Sandipan Mohanty
+!
+! **************************************************************
 
 
       subroutine helix(nhel,mhel,nbet,mbet) 
-c---------------------------------------------------------------
-c
-c   PURPOSE: simple identification of secondary structure content
-c
-c   CALLS: none
-c
-c ---------------------------------------------------------------
+!---------------------------------------------------------------
+!
+!   PURPOSE: simple identification of secondary structure content
+!
+!   CALLS: none
+!
+! ---------------------------------------------------------------
       include 'INCL.H'
 
-cf2py intent(out) nhel
-cf2py intent(out) mhel
-cf2py intent(out) nbet
-cf2py intent(out) mbet
+!f2py intent(out) nhel
+!f2py intent(out) mhel
+!f2py intent(out) nbet
+!f2py intent(out) mbet
            
       logical lhel,lbet
@@ -42,5 +42,5 @@
          xphi = vlvr(iv)*crd
          xpsi = vlvr(idvr(i+1))*crd
-C Helicity
+! Helicity
          if(abs(xphi-philim).le.hlim) then
           lbet=.false.
@@ -52,5 +52,5 @@
             lhel = .false.
           end if
-C Sheetness
+! Sheetness
          else if(abs(xphi-philim2).le.hlim2) then
           lhel = .false.
Index: incl_lund.h
===================================================================
--- incl_lund.h	(revision 2ebb8b629686fca2f81260a5ca88a8e21e0c1572)
+++ incl_lund.h	(revision bd2278d6d1ff11d5a913fabac7fcc16d05c02a33)
@@ -8,5 +8,5 @@
       double precision alhb,blhb,sighb2,cdon,cacc,casc
 
-c -----Probability for using BGS when it is possible
+! -----Probability for using BGS when it is possible
       double precision abgs,bbgs, dph(8)
       integer bgsnvar,bgsvar(mxrs), iph(8)
@@ -32,13 +32,13 @@
 
       common /lundff/kbias,
-     #     epshb1,epshb2,powa,powb,sighb,cthb,
-     #     cthb2,
-     #     alhb,blhb,sighb2,cdon,cacc,casc,
-     #     ihpat,nhpat,hpstrg,
-     #     exvk,exvcut,exvcut2,
-     #     matcon,
-     #     sigsa,sig2lcp,asalcp,bsalcp,
-     #     lcp1,lcp2,ilpst,ilpnd,
-     #     exvlam,exvcutg,exvcutg2,
-     #     sig2exv,asaexv,bsaexv
+     &     epshb1,epshb2,powa,powb,sighb,cthb,
+     &     cthb2,
+     &     alhb,blhb,sighb2,cdon,cacc,casc,
+     &     ihpat,nhpat,hpstrg,
+     &     exvk,exvcut,exvcut2,
+     &     matcon,
+     &     sigsa,sig2lcp,asalcp,bsalcp,
+     &     lcp1,lcp2,ilpst,ilpnd,
+     &     exvlam,exvcutg,exvcutg2,
+     &     sig2exv,asaexv,bsaexv
       save /lundff/
Index: init_energy.f
===================================================================
--- init_energy.f	(revision 2ebb8b629686fca2f81260a5ca88a8e21e0c1572)
+++ init_energy.f	(revision bd2278d6d1ff11d5a913fabac7fcc16d05c02a33)
@@ -1,29 +1,29 @@
-c **************************************************************
-c
-c This file contains the subroutines: init_energy,setpar
-C This file contains a BLOCK DATA statement
-c
-c Copyright 2003-2005  Frank Eisenmenger, U.H.E. Hansmann,
-c                      Shura Hayryan, Chin-Ku 
-c Copyright 2007       Frank Eisenmenger, U.H.E. Hansmann,
-c                      Jan H. Meinke, Sandipan Mohanty
-c
-c **************************************************************
+! **************************************************************
+!
+! This file contains the subroutines: init_energy,setpar
+! This file contains a BLOCK DATA statement
+!
+! Copyright 2003-2005  Frank Eisenmenger, U.H.E. Hansmann,
+!                      Shura Hayryan, Chin-Ku 
+! Copyright 2007       Frank Eisenmenger, U.H.E. Hansmann,
+!                      Jan H. Meinke, Sandipan Mohanty
+!
+! **************************************************************
 
 
       subroutine init_energy(libdir)
 
-c ----------------------------------------------
-c PURPOSE: initialize energy parameters
-c        0  => ECEPP2 or ECEPP3 depending on the value of sh2
-c        1  => FLEX 
-c        2  => Lund force field
-c        3  => ECEPP with Abagyan corrections
-c
-c
-c CALLS:   setpar, tessel,iendst
-c
-c contains: BLOCK DATA
-c ----------------------------------------------
+! ----------------------------------------------
+! PURPOSE: initialize energy parameters
+!        0  => ECEPP2 or ECEPP3 depending on the value of sh2
+!        1  => FLEX 
+!        2  => Lund force field
+!        3  => ECEPP with Abagyan corrections
+!
+!
+! CALLS:   setpar, tessel,iendst
+!
+! contains: BLOCK DATA
+! ----------------------------------------------
 
       include 'INCL.H'
@@ -59,5 +59,5 @@
 
 
-C----Initialize solvation part if necessary
+!----Initialize solvation part if necessary
       write (*,*) 'init_energy: itysol = ',itysol
       write(*,*) 'init_energy: esol_scaling = ',isolscl
@@ -69,9 +69,6 @@
         ll=iendst(libdir)
         tesfil = libdir(1:ll)//'tes.dat'
-
         open(unit=20,file=tesfil,status='old',err=10)
-
         call tessel()
-
         close(20)
 
@@ -85,5 +82,5 @@
       endif
 
-c ___________________________ initialise COMMON 'con_r'
+! ___________________________ initialise COMMON 'con_r'
       idloa=ichar('a')
       idloz=ichar('z')
@@ -98,13 +95,13 @@
       end
 
-c *********************
+! *********************
       subroutine setpar
 
-c __________________________________________________________
-c PURPOSE: initialize parameter set for empirical potentials
-c          depending on variable 'flex'
-c
-c CALLS:   None
-c __________________________________________________________
+! __________________________________________________________
+! PURPOSE: initialize parameter set for empirical potentials
+!          depending on variable 'flex'
+!
+! CALLS:   None
+! __________________________________________________________
 
       include 'INCL.H'
@@ -116,5 +113,5 @@
       tesgrd = .false.  ! numerical check of analytical gradients
 
-c ______________________________________ Lennard-Jones parameters
+! ______________________________________ Lennard-Jones parameters
       if (flex) then
 
@@ -166,6 +163,6 @@
           ai=atpl(i)
           aei=sqrt(ai/efel(i))
-cc          aic=ai/ehm             !!  ICM
-cc          do j=i,mxtyat          !!  -"-
+!c          aic=ai/ehm             !!  ICM
+!c          do j=i,mxtyat          !!  -"-
           aic=ai*ehm                 !!  comment for ICM:
           cij(i,i)=aic*ai/(aei+aei)  !!        -"-
@@ -175,9 +172,9 @@
           do j=i+1,mxtyat            !!
             aj=atpl(j)
-c _______ Constant for 6-12 attractive term (Slater-Kirkwood formula)
+! _______ Constant for 6-12 attractive term (Slater-Kirkwood formula)
             c=aic*aj/(aei+sqrt(aj/efel(j)))
             cij(i,j)=c
             cij(j,i)=c
-c ____________________________ repulsive term (form. 3 & 6 of ref 2)
+! ____________________________ repulsive term (form. 3 & 6 of ref 2)
             rij=.5*(ri+rmin(j))
             a=.5*c*rij**6
@@ -192,5 +189,5 @@
         enddo
 
-c +++++++++++++++++++++++++++++++++
+! +++++++++++++++++++++++++++++++++
         cij(1,1)=45.5d0
         aij(1,1)=14090.0d0
@@ -229,12 +226,12 @@
         cij(18,18)=370.5d0
         aij(18,18)=909000.0d0
-c +++++++++++++++++++++++++++++++++
+! +++++++++++++++++++++++++++++++++
         do i=1,mxtyat
           a14(i,i)=.5*aij(i,i)
         enddo
-c +++++++++++++++++++++++++++++++++
+! +++++++++++++++++++++++++++++++++
 
         do i=1,mxtyat
-c	  write( *, '(18f14.6)' )  ( a14(i,j), j = 1, mxtyat )
+!	  write( *, '(18f14.6)' )  ( a14(i,j), j = 1, mxtyat )
         enddo
 
@@ -254,5 +251,5 @@
 
       endif
-c -------------------------------------------- Hydrogen Bond Parameters
+! -------------------------------------------- Hydrogen Bond Parameters
       do i=1,mxtyat
         do j=1,mxtyat
@@ -303,297 +300,297 @@
       return
       end
-c **************
+! **************
       BLOCK DATA
 
       include 'INCL.H'
 
-c  Atom types ------------------------------------------------------------
-c                                    Original types  -Scheraga:  -Flex:
-c  H  1 - with aliphatic carbon                               1      12
-c     2 - with aromatic carbon                                3      13
-c     3 - with non-sp3 types of nitrogen                      2       1
-c     4 - with sp3-hybr. nitrogen                             2       2
-c     5 - with oxygen                                         4       1
-c     6 - with sulfur                                         3(was 5)1
-c  C  7 - sp3-hybr. carbon                                    6,9     3
-c     8 - sp2-carbon (carbonyl,carboxyl,carboxylate)          7,11    4
-c     9 - aromatic carbon                                     8,10    4
-c  O 10 - hydroxyl, ester oxygen (inc. water)                 18,19   8
-c    11 - carbonyl oxygen                                     17      9
-c    12 - carboxylate oxygen                                  18,19  10
-c  N 13 - aliph. nitrogen with 0/1 hydrogen & charged N       13-15   6
-c    14 - nitrogen with two hydrogens                         13-15   5
-c    15 - all other nitrogens (+ sp2-hybrid. in heteroc.)     13-15   7
-c  S 16 - any sulfur                                          20,21  18,19
-c  H 17 - H-delta of Pro, Hyp of ECEPP/3 dataset               5(new) -
-c  C 18 - C-delta of Pro, Hyp of ECEPP/3 dataset              12(new) -
-
-c  Classes for torsional potential ---------------------------------------
-c
-c   1 : 'Omega' = C'(pept.)-N(pept.)  [Cpept-Npept]
-c   2 : 'Phi'   = N(pept.)-C(sp3)     [C4-Npept]
-c   3 : 'Psi'   = C(sp3)-C'(pept.)    [C4-Cpept]
-c   4 : 'Chi1'  = C(sp3)-C(sp3)       [C4-C4]
-c   5 : C(sp3)-OH (Hydroxyl)          [C4-OH]
-c   6 : C(sp3)-NH2                    [C4-NH2]
-c   7 : C(sp3)-NH3+                   [C4-NH3+]
-c   8 : C(sp3)-NH-(guanidyl)          [C4-NHX]
-c   9 : C(sp3)-COOH(carboxyl)         [C4-COO]
-c  10 : C(sp3)-COO-(carboxylate)      [C4-COO]
-c  11 : C(sp3)-CO(sp2 of amide)       [C4-Cpept]
-c  12 : C(sp3)-C(aromatic ring)       [C4-C3]
-c  13 : C(sp3)-S                      [C4-SC4]
-c  14 : C(sp3)-SH                     [C4-SH]
-c  15 : C(aromatic ring)-OH           [C3-OH]
-c ________________________________________________ "rigid" torsions:
-c  16 : C(carboxyl)-OH                [C3-OH]
-c  17 : -NH-C(sp2 of guanidyl)        [C3-NHX]
-c  18 : -C(sp3)-NH2 (guanidyl)        [not in Flex]
-c  19 : -C(sp3)-NH2 (amide)           [Cpept-Npept]
+!  Atom types ------------------------------------------------------------
+!                                    Original types  -Scheraga:  -Flex:
+!  H  1 - with aliphatic carbon                               1      12
+!     2 - with aromatic carbon                                3      13
+!     3 - with non-sp3 types of nitrogen                      2       1
+!     4 - with sp3-hybr. nitrogen                             2       2
+!     5 - with oxygen                                         4       1
+!     6 - with sulfur                                         3(was 5)1
+!  C  7 - sp3-hybr. carbon                                    6,9     3
+!     8 - sp2-carbon (carbonyl,carboxyl,carboxylate)          7,11    4
+!     9 - aromatic carbon                                     8,10    4
+!  O 10 - hydroxyl, ester oxygen (inc. water)                 18,19   8
+!    11 - carbonyl oxygen                                     17      9
+!    12 - carboxylate oxygen                                  18,19  10
+!  N 13 - aliph. nitrogen with 0/1 hydrogen & charged N       13-15   6
+!    14 - nitrogen with two hydrogens                         13-15   5
+!    15 - all other nitrogens (+ sp2-hybrid. in heteroc.)     13-15   7
+!  S 16 - any sulfur                                          20,21  18,19
+!  H 17 - H-delta of Pro, Hyp of ECEPP/3 dataset               5(new) -
+!  C 18 - C-delta of Pro, Hyp of ECEPP/3 dataset              12(new) -
+
+!  Classes for torsional potential ---------------------------------------
+!
+!   1 : 'Omega' = C'(pept.)-N(pept.)  [Cpept-Npept]
+!   2 : 'Phi'   = N(pept.)-C(sp3)     [C4-Npept]
+!   3 : 'Psi'   = C(sp3)-C'(pept.)    [C4-Cpept]
+!   4 : 'Chi1'  = C(sp3)-C(sp3)       [C4-C4]
+!   5 : C(sp3)-OH (Hydroxyl)          [C4-OH]
+!   6 : C(sp3)-NH2                    [C4-NH2]
+!   7 : C(sp3)-NH3+                   [C4-NH3+]
+!   8 : C(sp3)-NH-(guanidyl)          [C4-NHX]
+!   9 : C(sp3)-COOH(carboxyl)         [C4-COO]
+!  10 : C(sp3)-COO-(carboxylate)      [C4-COO]
+!  11 : C(sp3)-CO(sp2 of amide)       [C4-Cpept]
+!  12 : C(sp3)-C(aromatic ring)       [C4-C3]
+!  13 : C(sp3)-S                      [C4-SC4]
+!  14 : C(sp3)-SH                     [C4-SH]
+!  15 : C(aromatic ring)-OH           [C3-OH]
+! ________________________________________________ "rigid" torsions:
+!  16 : C(carboxyl)-OH                [C3-OH]
+!  17 : -NH-C(sp2 of guanidyl)        [C3-NHX]
+!  18 : -C(sp3)-NH2 (guanidyl)        [not in Flex]
+!  19 : -C(sp3)-NH2 (amide)           [Cpept-Npept]
 
       data conv/332.d0/  ! to convert electrost. energy into [kcal/mole]
 
-c ------------------------- ECEPP/3 potential --------------------------------
-c 1) Momany F.A McGuire R.F Burgess A.W Scheraga H.A J Phys Chem v79 2361-2381
-c    1975
-c 2) Nemethy G Pottle M.S Scheraga H.A, J Phys Chem v87 1883-1887 1983
-c 3) Sippl M.J Nemethy G Scheraga H.A J Phys Chem v88 6231-6233 1984
-c 4) Nemethy G Gibson K.D Palmer K.A Yoon C.N Paterlini G Zagari A Rumsey S
-c    Scheraga H.A J Phys Chem v96 6472-6484 1992
-c ----------------------------------------------------------------------------
+! ------------------------- ECEPP/3 potential --------------------------------
+! 1) Momany F.A McGuire R.F Burgess A.W Scheraga H.A J Phys Chem v79 2361-2381
+!    1975
+! 2) Nemethy G Pottle M.S Scheraga H.A, J Phys Chem v87 1883-1887 1983
+! 3) Sippl M.J Nemethy G Scheraga H.A J Phys Chem v88 6231-6233 1984
+! 4) Nemethy G Gibson K.D Palmer K.A Yoon C.N Paterlini G Zagari A Rumsey S
+!    Scheraga H.A J Phys Chem v96 6472-6484 1992
+! ----------------------------------------------------------------------------
 
       data eps_s/2.d0/  ! Distance-INdependent diel. constant
-c     data eps_s/6.d0/  ! Distance-INdependent diel. constant
+!     data eps_s/6.d0/  ! Distance-INdependent diel. constant
       data plt/78.d0/,  slp/0.3d0/   ! Parameters for Epsilon(R)
 
       data ehm /362.55d0/  !  Angstrom**2/3 * kcal / mol  ! from KONF90
-cc      data ehm /362.09561409d0/  !  Angstrom**2/3 * kcal / mol
-c From:
-c   1.5
-c * elementary charge       = 4.80325   *e+2  Angstrom**3/2 * g**1/2 * s**(-1)
-c * Planck's constant/2*Pi  = 1.0545887 *e-34 Joule * s
-c * Avogadro's number       = 6.022045  *e+23 mol**(-1)
-c / sqrt (mass of electron) = sqrt (9.109534  *e-28 g )
-c / thermal equivalent      = 4.1868    *e+3  Joule * kcal**(-1)
-cc      data ehm /362.36d0/         ! calculated using Tab II in ref. 2
-cc      data 1/ehm /2.757670d-3/    ! 3*sqrt(m)/(2*e*h) taken from ICM
-
-c ---------------------- atomic polarizabilties (*100,[Angstrom**3])
-c                1   2   3   4   5   6   7    8    9  10  11  12
+!      data ehm /362.09561409d0/  !  Angstrom**2/3 * kcal / mol
+! From:
+!   1.5
+! * elementary charge       = 4.80325   *e+2  Angstrom**3/2 * g**1/2 * s**(-1)
+! * Planck's constant/2*Pi  = 1.0545887 *e-34 Joule * s
+! * Avogadro's number       = 6.022045  *e+23 mol**(-1)
+! / sqrt (mass of electron) = sqrt (9.109534  *e-28 g )
+! / thermal equivalent      = 4.1868    *e+3  Joule * kcal**(-1)
+!      data ehm /362.36d0/         ! calculated using Tab II in ref. 2
+!      data 1/ehm /2.757670d-3/    ! 3*sqrt(m)/(2*e*h) taken from ICM
+
+! ---------------------- atomic polarizabilties (*100,[Angstrom**3])
+!                1   2   3   4   5   6   7    8    9  10  11  12
       data atpl/42.,42.,42.,42.,42.,42.,93.,151.,115.,59.,84.,59.,
-c               13  14  15   16  17  18
-     #          93.,93.,93.,220.,42.,93./
-c ---------------------- effective numbers of electrons (*100,ref. 2)
-c                1   2   3   4   5   6    7    8    9   10   11   12
+!               13  14  15   16  17  18
+     &          93.,93.,93.,220.,42.,93./
+! ---------------------- effective numbers of electrons (*100,ref. 2)
+!                1   2   3   4   5   6    7    8    9   10   11   12
       data efel/85.,85.,85.,85.,85.,85.,520.,520.,520.,700.,700.,700.,
-c                13   14   15    16  17   18
-     #          610.,610.,610.,1480.,85.,520./
-c ------------------------- min. pairwise 6-12 energy (*1000,[kcal/mol])
-c                1   2   3   4   5   6   7    8   9  10   11  12
+!                13   14   15    16  17   18
+     &          610.,610.,610.,1480.,85.,520./
+! ------------------------- min. pairwise 6-12 energy (*1000,[kcal/mol])
+!                1   2   3   4   5   6   7    8   9  10   11  12
       data emin/37.,36.,61.,61.,44.,36.,38.,140.,99.,94.,200.,94.,
-c                13   14   15   16  17  18
-     #          107.,107.,107.,223.,99.,38./
-c ---------------------------- opt. pairwise distance (*100,[Angstrom])
-c                 1    2    3    4    5    6    7    8    9   10   11
+!                13   14   15   16  17  18
+     &          107.,107.,107.,223.,99.,38./
+! ---------------------------- opt. pairwise distance (*100,[Angstrom])
+!                 1    2    3    4    5    6    7    8    9   10   11
       data rmin/292.,293.,268.,268.,283.,293.,412.,374.,370.,324.,312.,
-c                12   13   14   15   16   17   18
-     #          324.,351.,351.,351.,415.,248.,412./
-c ---------------------------------------------- Hydrogen-bond donors
-c                  1       2       3      4      5      6
+!                12   13   14   15   16   17   18
+     &          324.,351.,351.,351.,415.,248.,412./
+! ---------------------------------------------- Hydrogen-bond donors
+!                  1       2       3      4      5      6
       data do_s/.false.,.false.,.true.,.true.,.true.,.false.,
-c                  7       8       9      10      11      12
-     #          .false.,.false.,.false.,.false.,.false.,.false.,
-c                 13      14      15      16      17      18
-     #          .false.,.false.,.false.,.false.,.false.,.false./
-c -------------------------------------------- Hydrogen-bond acceptors
-c                  1       2       3       4       5       6
+!                  7       8       9      10      11      12
+     &          .false.,.false.,.false.,.false.,.false.,.false.,
+!                 13      14      15      16      17      18
+     &          .false.,.false.,.false.,.false.,.false.,.false./
+! -------------------------------------------- Hydrogen-bond acceptors
+!                  1       2       3       4       5       6
       data ac_s/.false.,.false.,.false.,.false.,.false.,.false.,
-c                  7       8       9      10     11     12
-     #          .false.,.false.,.false.,.true.,.true.,.true.,
-c                 13     14     15     16      17      18
-     #          .true.,.true.,.true.,.false.,.false.,.false./
-cc     #        .false.,.true.,.true.,.false.,.false.,.false./ !! ICM
-c --------------------------------- HB-parameters (/1000,attraction)
+!                  7       8       9      10     11     12
+     &          .false.,.false.,.false.,.true.,.true.,.true.,
+!                 13     14     15     16      17      18
+     &          .true.,.true.,.true.,.false.,.false.,.false./
+!     &        .false.,.true.,.true.,.false.,.false.,.false./ !! ICM
+! --------------------------------- HB-parameters (/1000,attraction)
       data chb_s/2624.,2624.,4610.,.0,  ! given as:
-     #           4014.,4014.,5783.,.0,  !  (ac_typ x do_typ)
-     #           2624.,2624.,4610.,.0,  ! to be used:
-     #           8244.,8244.,8244.,.0,  !  (DO_typ x AC_typ)
-     #           8244.,8244.,8244.,.0,  ! i.e.:
-     #           8244.,8244.,8244.,.0/  !  ( 3-5 x 10-15 )
-c --------------------------------- HB-parameters (/1000,repulsion)
+     &           4014.,4014.,5783.,.0,  !  (ac_typ x do_typ)
+     &           2624.,2624.,4610.,.0,  ! to be used:
+     &           8244.,8244.,8244.,.0,  !  (DO_typ x AC_typ)
+     &           8244.,8244.,8244.,.0,  ! i.e.:
+     &           8244.,8244.,8244.,.0/  !  ( 3-5 x 10-15 )
+! --------------------------------- HB-parameters (/1000,repulsion)
       data ahb_s/ 5890., 5890.,11220.,.0,
-     #           12040.,12040.,16583.,.0,  ! 13344 -> 16583 = Ref. 3
-     #            5890., 5890.,11220.,.0,
-     #           32897.,32897.,32897.,.0,
-     #           32897.,32897.,32897.,.0,
-     #           32897.,32897.,32897.,.0/
-
-c                   1  2  3   4   5   6   7  8  9 10 11 12 13  14  15
+     &           12040.,12040.,16583.,.0,  ! 13344 -> 16583 = Ref. 3
+     &            5890., 5890.,11220.,.0,
+     &           32897.,32897.,32897.,.0,
+     &           32897.,32897.,32897.,.0,
+     &           32897.,32897.,32897.,.0/
+
+!                   1  2  3   4   5   6   7  8  9 10 11 12 13  14  15
       data e0to_s /20.,0.,0.,2.7,.6,1.8,1.8,0.,0.,0.,0.,0.,2.,1.5,3.5
-c                   16 17  18  19
-     #             ,8.,18.,20.,15./
+!                   16 17  18  19
+     &             ,8.,18.,20.,15./
       data sgto_s /-1.,0.,0., 1.,1., 1., 1.,0.,0.,0.,0.,0.,1., 1.,-1.
-     #            ,-1.,-1.,-1.,-1./
+     &            ,-1.,-1.,-1.,-1./
       data rnto_s / 2.,0.,0., 3.,3., 3., 3.,0.,0.,0.,0.,0.,3., 3., 2.
-     #             ,2., 2., 2., 2./
-
-c ---------------------------- Flex potential ----------------------------------
-c Lavery R Sklenar H Zakrzewska K Pullman B J Biomol Struct Dyn v3 989-1014 1986
-c VdW-parameters from: Zhurkin V.B Poltiev V.I Florent'ev V.L Molekulyarnaya
-c                      Biologiya v14 116 1980
-c ------------------------------------------------------------------------------
+     &             ,2., 2., 2., 2./
+
+! ---------------------------- Flex potential ----------------------------------
+! Lavery R Sklenar H Zakrzewska K Pullman B J Biomol Struct Dyn v3 989-1014 1986
+! VdW-parameters from: Zhurkin V.B Poltiev V.I Florent'ev V.L Molekulyarnaya
+!                      Biologiya v14 116 1980
+! ------------------------------------------------------------------------------
 
       data plt_f/78.d0/,  slp_f/0.16d0/   ! Parameters for Epsilon(R)
       data cohb_f/6.d0/  ! Cut-off distance betw. H- & acceptor atom for HB
       data c_f/  ! ----------- Lennard-Jones C6-parameters (attraction)
-     #40.,40.,40.,40.,40.,40.,100.,126.,126.,86.,121.,105.,126.,105.,
-     #146.,213.1,3*0.,40.,40.,40.,40.,40.,100.,126.,126.,86.,121.,105.,
-     #126.,105.,146.,213.1,4*0.,40.,40.,40.,40.,100.,126.,126.,86.,121.,
-     #105.,126.,105.,146.,213.1,5*0.,40.,40.,40.,100.,126.,126.,86.,121.
-     #,105.,126.,105.,146.,213.1,6*0.,40.,40.,100.,126.,126.,86.,121.,
-     #105.,126.,105.,146.,213.1,7*0.,40.,100.,126.,126.,86.,121.,105.,
-     #126.,105.,146.,213.1,8*0.,250.,316.,316.,217.,305.,264.,316.,264.,
-     #367.,489.,9*0.,400.,400.,274.,385.,334.,400.,334.,464.,537.4,10*0.
-     #,400.,274.,385.,334.,400.,334.,464.,537.4,11*0.,200.,283.,245.,
-     #278.,233.,330.,424.,12*0.,400.,347.,391.,327.,465.,583.,13*0.,300.
-     #,339.,284.,403.,530.,14*0.,400.,334.,467.,556.5,15*0.,280.,391.,
-     #484.,16*0.,550.,673.4,17*0.,246.,38*0./
+     &40.,40.,40.,40.,40.,40.,100.,126.,126.,86.,121.,105.,126.,105.,
+     &146.,213.1,3*0.,40.,40.,40.,40.,40.,100.,126.,126.,86.,121.,105.,
+     &126.,105.,146.,213.1,4*0.,40.,40.,40.,40.,100.,126.,126.,86.,121.,
+     &105.,126.,105.,146.,213.1,5*0.,40.,40.,40.,100.,126.,126.,86.,121.
+     &,105.,126.,105.,146.,213.1,6*0.,40.,40.,100.,126.,126.,86.,121.,
+     &105.,126.,105.,146.,213.1,7*0.,40.,100.,126.,126.,86.,121.,105.,
+     &126.,105.,146.,213.1,8*0.,250.,316.,316.,217.,305.,264.,316.,264.,
+     &367.,489.,9*0.,400.,400.,274.,385.,334.,400.,334.,464.,537.4,10*0.
+     &,400.,274.,385.,334.,400.,334.,464.,537.4,11*0.,200.,283.,245.,
+     &278.,233.,330.,424.,12*0.,400.,347.,391.,327.,465.,583.,13*0.,300.
+     &,339.,284.,403.,530.,14*0.,400.,334.,467.,556.5,15*0.,280.,391.,
+     &484.,16*0.,550.,673.4,17*0.,246.,38*0./
       data a_f/  ! ---- Lennard-Jones A12-parameters (/1000,repulsion)
-     #7.74,7.74,7.74,7.74,7.74,7.74,70.6,81.6,81.6,31.3,42.2,36.6,71.4,
-     #62.,78.3,189.3,3*0.,7.74,7.74,7.74,7.74,7.74,70.6,61.7,61.7,31.3,
-     #17.8,15.4,53.7,62.,58.7,189.3,4*0.,7.74,7.74,7.74,7.74,70.6,81.6,
-     #81.6,31.3,42.2,36.6,71.4,62.,78.3,189.3,5*0.,7.74,7.74,7.74,70.6,
-     #61.7,61.7,31.3,17.8,15.4,53.7,62.,58.7,189.3,6*0.,7.74,7.74,70.6,
-     #81.6,81.6,31.3,42.2,36.6,71.4,62.,78.3,189.3,7*0.,7.74,70.6,81.6,
-     #81.6,31.3,42.2,36.6,71.4,62.,78.3,189.3,8*0.,512.,601.,601.,256.,
-     #349.,302.,538.,464.,598.,1196.,9*0.,704.,704.,298.,406.,351.,630.,
-     #544.,699.,1203.5,10*0.,704.,298.,406.,351.,630.,544.,699.,1203.5,
-     #11*0.,129.,176.,153.,269.,233.,303.,561.8,12*0.,240.,208.,366.,
-     #317.,413.,772.5,13*0.,180.,317.,274.,358.,702.3,14*0.,565.,488.,
-     #629.,1105.8,15*0.,421.,544.,976.8,16*0.,705.,1259.5,17*0.,503.3,
-     #38*0./
-c ---------------------------------------------- Hydrogen-bond donors
-c                  1       2       3      4      5      6
+     &7.74,7.74,7.74,7.74,7.74,7.74,70.6,81.6,81.6,31.3,42.2,36.6,71.4,
+     &62.,78.3,189.3,3*0.,7.74,7.74,7.74,7.74,7.74,70.6,61.7,61.7,31.3,
+     &17.8,15.4,53.7,62.,58.7,189.3,4*0.,7.74,7.74,7.74,7.74,70.6,81.6,
+     &81.6,31.3,42.2,36.6,71.4,62.,78.3,189.3,5*0.,7.74,7.74,7.74,70.6,
+     &61.7,61.7,31.3,17.8,15.4,53.7,62.,58.7,189.3,6*0.,7.74,7.74,70.6,
+     &81.6,81.6,31.3,42.2,36.6,71.4,62.,78.3,189.3,7*0.,7.74,70.6,81.6,
+     &81.6,31.3,42.2,36.6,71.4,62.,78.3,189.3,8*0.,512.,601.,601.,256.,
+     &349.,302.,538.,464.,598.,1196.,9*0.,704.,704.,298.,406.,351.,630.,
+     &544.,699.,1203.5,10*0.,704.,298.,406.,351.,630.,544.,699.,1203.5,
+     &11*0.,129.,176.,153.,269.,233.,303.,561.8,12*0.,240.,208.,366.,
+     &317.,413.,772.5,13*0.,180.,317.,274.,358.,702.3,14*0.,565.,488.,
+     &629.,1105.8,15*0.,421.,544.,976.8,16*0.,705.,1259.5,17*0.,503.3,
+     &38*0./
+! ---------------------------------------------- Hydrogen-bond donors
+!                  1       2       3      4      5      6
       data do_f/.false.,.false.,.true.,.true.,.true.,.true.,
-c                  7       8       9      10      11      12
-     #          .false.,.false.,.false.,.false.,.false.,.false.,
-c                 13      14      15      16      17      18
-     #          .false.,.false.,.false.,.false.,.false.,.false./
-c -------------------------------------------- Hydrogen-bond acceptors
-c                  1       2       3       4       5       6
+!                  7       8       9      10      11      12
+     &          .false.,.false.,.false.,.false.,.false.,.false.,
+!                 13      14      15      16      17      18
+     &          .false.,.false.,.false.,.false.,.false.,.false./
+! -------------------------------------------- Hydrogen-bond acceptors
+!                  1       2       3       4       5       6
       data ac_f/.false.,.false.,.false.,.false.,.false.,.false.,
-c                  7       8       9      10     11     12
-     #          .false.,.false.,.false.,.true.,.true.,.true.,
-c                 13      14      15     16     17      18
-     #          .false.,.false.,.true.,.true.,.false.,.false./
-c --------------------------------- HB-parameters (/1000,attraction)
+!                  7       8       9      10     11     12
+     &          .false.,.false.,.false.,.true.,.true.,.true.,
+!                 13      14      15     16     17      18
+     &          .false.,.false.,.true.,.true.,.false.,.false./
+! --------------------------------- HB-parameters (/1000,attraction)
       data chb_f/180.,180.,160. ,226.8,  ! given as  (ac_typ x do_typ)
-     #           175.,175.,150. ,305.8,  ! to be used as:
-     #           100.,100., 85. , 85. ,  !   (Do_typ x Ac_typ)
-     #           165.,165.,150. ,305.8,  ! i.e.:
-     #           720.,720.,643.1,845.6,  !   ( 3-6 x 10-12,15,16 )
-     #             0.,  0.,  0. ,  0. /
-c --------------------------------- HB-parameters (/1000,repulsion)
+     &           175.,175.,150. ,305.8,  ! to be used as:
+     &           100.,100., 85. , 85. ,  !   (Do_typ x Ac_typ)
+     &           165.,165.,150. ,305.8,  ! i.e.:
+     &           720.,720.,643.1,845.6,  !   ( 3-6 x 10-12,15,16 )
+     &             0.,  0.,  0. ,  0. /
+! --------------------------------- HB-parameters (/1000,repulsion)
       data ahb_f/  6600.,  6600.,  6200., 12855.,
-     #             6400.,  6400.,  7100., 29216.,
-     #             2400.,  2400.,  2400.,  2000.,
-     #             6200.,  6200.,  7100., 29216.,
-     #           185000.,185000.,172301.,308235.,
-     #                0.,      0.,    0.,     0./
-
-c                   1  2   3   4  5   6   7  8   9 10 11  12  13 14  15
+     &             6400.,  6400.,  7100., 29216.,
+     &             2400.,  2400.,  2400.,  2000.,
+     &             6200.,  6200.,  7100., 29216.,
+     &           185000.,185000.,172301.,308235.,
+     &                0.,      0.,    0.,     0./
+
+!                   1  2   3   4  5   6   7  8   9 10 11  12  13 14  15
       data e0to_f /20.,2.,.8,2.6,.6,2.1,1.8,3.2,.5,.5,.8,1.2,1.3,1.,6.2
-c                  16  17 18 19
-     #           ,6.2, 8.,0.,20./
+!                  16  17 18 19
+     &           ,6.2, 8.,0.,20./
       data sgto_f /-1.,1.,-1., 1.,1., 1., 1.,1.,1.,1.,-1.,1., 1.,1.,-1.
-     #           ,-1.,-1.,0.,-1./
+     &           ,-1.,-1.,0.,-1./
       data rnto_f / 2.,3., 3., 3.,3., 6., 3.,3.,6.,6., 3.,6., 3.,3., 2.
-     #            ,2., 2.,0.,2./
+     &            ,2., 2.,0.,2./
 
       data (rsnmcd(i),i=1,nrsty)/  ! Names for all amino acid residue types
-     # 'ala ','arg ','arg+','asn ','asp ','asp-','cys ','cyss','gln ',
-     # 'glu ','glu-','gly ','his ','hise','hisd','his+','hyp ','hypu',
-     # 'ile ','leu ','lys ','lys+','met ','phe ','cpro','pro ','cpru',
-     # 'prou','pron','pro+','ser ','thr ','trp ','tyr ','val ' /
+     & 'ala ','arg ','arg+','asn ','asp ','asp-','cys ','cyss','gln ',
+     & 'glu ','glu-','gly ','his ','hise','hisd','his+','hyp ','hypu',
+     & 'ile ','leu ','lys ','lys+','met ','phe ','cpro','pro ','cpru',
+     & 'prou','pron','pro+','ser ','thr ','trp ','tyr ','val ' /
   
       data (onltcd(i),i=1,nrsty)/  ! One-letter codes for amino acid types
-     # 'A',   'R',   'R',   'N',   'D',   'D',   'C',   'C',   'Q',
-     # 'E',   'E',   'G',   'H',   'H',   'H',   'H',   'P',   'P',
-     # 'I',   'L',   'K',   'K',   'M',   'F',   'P',   'P',   'P',
-     # 'P',   'P',   'P',   'S',   'T',   'W',   'Y',   'V' /
-
-c     The vdW radii (in Angstr.) for the atomic groups and
-c      coefficients for their solvation free energy (kcal/molxA**2)
-
-c  Method: 
-
-c  itysol=1 : OONS --> T.Ooi, et al, 
-c                      Proc. Natl. Acad. Sci. USA 8 (1987) 3086-3090.
-C  itysol=2 : JRF  --> J.Vila, et al, 
-c                      PROTEINS: Struct Funct Genet 10(1991) 199-218.
-C  itysol=3 : WE92 --> L.Wesson, D.Eisenberg, 
-c                      Protein Science 1 (1992) 227-235.
-C  itysol=4 : SCH1 --> D.Eisenberg, et al,
-c                      Chem Scrip 29A (1989) 217-221.
-C  itysol=5 : SCH2 --> A.H.Juffer, et al,
-c                      Proteine Science 4 (1995) 2499-2509.
-C  itysol=6 : SCH3 --> L.Wesson, D.Eisenberg, 
-c                      Protein Science 1 (1992) 227-235.
-C  itysol=7 : SCH4 --> C.A. Schiffer, et al,
-c                      Mol. Simul. 10(1993) 121-149.
-C  itysol=8 : EM86 --> D.Eisenberg, A.D. Mclachlan, 
-c                      Nature 319 (1986) 199-203.
-C  itysol=9 : BM   --> B. Freyberg, et al,
-c                      J. Mol. Biol. 233 (1993) 275-292.
-
-c ATOM
-c TYPE OONS    JRF     WE92    SCH1    SCH2    SCH3    SCH4   EM86   BM
-
-c 1   0.0000  0.0000  0.0000  0.0000  0.0000  0.0000  0.0000  0.000 0.000
-c 2   0.0000  0.0000  0.0000  0.0000  0.0000  0.0000  0.0000  0.000 0.000
-c 3   0.0000  0.0000  0.0000  0.0000  0.0000  0.0000  0.0000  0.000 0.000
-c 4   0.0000  0.0000  0.0000  0.0000  0.0000  0.0000  0.0000  0.000 0.000
-c 5   0.0000  0.0000  0.0000  0.0000  0.0000  0.0000  0.0000  0.000 0.000
-c 6   0.0000  0.0000  0.0000  0.0000  0.0000  0.0000  0.0000  0.000 0.000
-c 7   0.0080  0.2160  0.0120  0.0180  0.0130  0.0040  0.0325  0.016 1.000
-c 8   0.4270 -0.7320  0.0120  0.0180  0.0130  0.0040  0.0325  0.016 1.000
-c 9  -0.0080 -0.6780  0.0120  0.0180  0.0130  0.0040  0.0325  0.016 1.000
-c10  -0.1720 -0.9100 -0.1160 -0.0090 -0.0070 -0.1130 -0.0175 -0.006 0.000
-c11  -0.0380 -0.2620 -0.1750 -0.0090 -0.0070 -0.1660 -0.2800 -0.006 0.000
-c12  -0.0380 -0.9100 -0.1750 -0.0370 -0.1120 -0.1660 -0.2800 -0.024 0.000
-c13  -0.1320 -0.3120 -0.1860 -0.0380 -0.0870 -0.1690 -0.2175 -0.05  0.000
-c14  -0.1320 -0.3120 -0.1160 -0.0090 -0.0070 -0.1130 -0.0175 -0.006 0.000
-c15  -0.1320 -0.3120 -0.1160 -0.0090 -0.0070 -0.1130 -0.0175 -0.006 0.000
-c16  -0.0210 -0.2810 -0.0180  0.0050 -0.0036 -0.0170 -0.0090  0.021 0.000
-c17   0.0000  0.0000  0.0000  0.0000  0.0000  0.0000  0.0000  0.000 0.000
-c18   0.0080  0.2160  0.0120  0.0180  0.0130  0.0040  0.0325  0.016 1.000
+     & 'A',   'R',   'R',   'N',   'D',   'D',   'C',   'C',   'Q',
+     & 'E',   'E',   'G',   'H',   'H',   'H',   'H',   'P',   'P',
+     & 'I',   'L',   'K',   'K',   'M',   'F',   'P',   'P',   'P',
+     & 'P',   'P',   'P',   'S',   'T',   'W',   'Y',   'V' /
+
+!     The vdW radii (in Angstr.) for the atomic groups and
+!      coefficients for their solvation free energy (kcal/molxA**2)
+
+!  Method: 
+
+!  itysol=1 : OONS --> T.Ooi, et al, 
+!                      Proc. Natl. Acad. Sci. USA 8 (1987) 3086-3090.
+!  itysol=2 : JRF  --> J.Vila, et al, 
+!                      PROTEINS: Struct Funct Genet 10(1991) 199-218.
+!  itysol=3 : WE92 --> L.Wesson, D.Eisenberg, 
+!                      Protein Science 1 (1992) 227-235.
+!  itysol=4 : SCH1 --> D.Eisenberg, et al,
+!                      Chem Scrip 29A (1989) 217-221.
+!  itysol=5 : SCH2 --> A.H.Juffer, et al,
+!                      Proteine Science 4 (1995) 2499-2509.
+!  itysol=6 : SCH3 --> L.Wesson, D.Eisenberg, 
+!                      Protein Science 1 (1992) 227-235.
+!  itysol=7 : SCH4 --> C.A. Schiffer, et al,
+!                      Mol. Simul. 10(1993) 121-149.
+!  itysol=8 : EM86 --> D.Eisenberg, A.D. Mclachlan, 
+!                      Nature 319 (1986) 199-203.
+!  itysol=9 : BM   --> B. Freyberg, et al,
+!                      J. Mol. Biol. 233 (1993) 275-292.
+
+! ATOM
+! TYPE OONS    JRF     WE92    SCH1    SCH2    SCH3    SCH4   EM86   BM
+
+! 1   0.0000  0.0000  0.0000  0.0000  0.0000  0.0000  0.0000  0.000 0.000
+! 2   0.0000  0.0000  0.0000  0.0000  0.0000  0.0000  0.0000  0.000 0.000
+! 3   0.0000  0.0000  0.0000  0.0000  0.0000  0.0000  0.0000  0.000 0.000
+! 4   0.0000  0.0000  0.0000  0.0000  0.0000  0.0000  0.0000  0.000 0.000
+! 5   0.0000  0.0000  0.0000  0.0000  0.0000  0.0000  0.0000  0.000 0.000
+! 6   0.0000  0.0000  0.0000  0.0000  0.0000  0.0000  0.0000  0.000 0.000
+! 7   0.0080  0.2160  0.0120  0.0180  0.0130  0.0040  0.0325  0.016 1.000
+! 8   0.4270 -0.7320  0.0120  0.0180  0.0130  0.0040  0.0325  0.016 1.000
+! 9  -0.0080 -0.6780  0.0120  0.0180  0.0130  0.0040  0.0325  0.016 1.000
+!10  -0.1720 -0.9100 -0.1160 -0.0090 -0.0070 -0.1130 -0.0175 -0.006 0.000
+!11  -0.0380 -0.2620 -0.1750 -0.0090 -0.0070 -0.1660 -0.2800 -0.006 0.000
+!12  -0.0380 -0.9100 -0.1750 -0.0370 -0.1120 -0.1660 -0.2800 -0.024 0.000
+!13  -0.1320 -0.3120 -0.1860 -0.0380 -0.0870 -0.1690 -0.2175 -0.05  0.000
+!14  -0.1320 -0.3120 -0.1160 -0.0090 -0.0070 -0.1130 -0.0175 -0.006 0.000
+!15  -0.1320 -0.3120 -0.1160 -0.0090 -0.0070 -0.1130 -0.0175 -0.006 0.000
+!16  -0.0210 -0.2810 -0.0180  0.0050 -0.0036 -0.0170 -0.0090  0.021 0.000
+!17   0.0000  0.0000  0.0000  0.0000  0.0000  0.0000  0.0000  0.000 0.000
+!18   0.0080  0.2160  0.0120  0.0180  0.0130  0.0040  0.0325  0.016 1.000
 
        data coef_sl/54*0.0,
-     # 0.008, 0.216, 0.012, 0.018, 0.013, 0.004, 0.0325, 0.016,1.000,
-     # 0.427,-0.732, 0.012, 0.018, 0.013, 0.004, 0.0325, 0.016,1.000,
-     # -.008,-0.678, 0.012, 0.018, 0.013, 0.004, 0.0325, 0.016,1.000,
-     # -.172,-0.910,-0.116,-0.009,-0.007,-0.113,-0.0175,-0.006,0.000,
-     # -.038,-0.262,-0.116,-0.009,-0.007,-0.113,-0.0175,-0.006,0.000,
-     # -.038,-0.910,-0.175,-0.037,-0.112,-0.166,-0.2800,-0.024,0.000,
-     # -.132,-0.312,-0.186,-0.038,-0.087,-0.169,-0.2175,-0.05, 0.000,
-     # -.132,-0.312,-0.116,-0.009,-0.007,-0.113,-0.0175,-0.006,0.000,
-     # -.132,-0.312,-0.116,-0.009,-0.007,-0.113,-0.0175,-0.006,0.000,
-     # -.021,-0.281,-0.018, 0.005,-.0036,-0.017,-0.0090, 0.021,0.000,
-     #  9*0.0,
-     # 0.008, 0.216, 0.012, 0.018, 0.013, 0.004, 0.0325, 0.016,1.000/
+     & 0.008, 0.216, 0.012, 0.018, 0.013, 0.004, 0.0325, 0.016,1.000,
+     & 0.427,-0.732, 0.012, 0.018, 0.013, 0.004, 0.0325, 0.016,1.000,
+     & -.008,-0.678, 0.012, 0.018, 0.013, 0.004, 0.0325, 0.016,1.000,
+     & -.172,-0.910,-0.116,-0.009,-0.007,-0.113,-0.0175,-0.006,0.000,
+     & -.038,-0.262,-0.116,-0.009,-0.007,-0.113,-0.0175,-0.006,0.000,
+     & -.038,-0.910,-0.175,-0.037,-0.112,-0.166,-0.2800,-0.024,0.000,
+     & -.132,-0.312,-0.186,-0.038,-0.087,-0.169,-0.2175,-0.05, 0.000,
+     & -.132,-0.312,-0.116,-0.009,-0.007,-0.113,-0.0175,-0.006,0.000,
+     & -.132,-0.312,-0.116,-0.009,-0.007,-0.113,-0.0175,-0.006,0.000,
+     & -.021,-0.281,-0.018, 0.005,-.0036,-0.017,-0.0090, 0.021,0.000,
+     &  9*0.0,
+     & 0.008, 0.216, 0.012, 0.018, 0.013, 0.004, 0.0325, 0.016,1.000/
 
        data rad_vdw/54*0.,
-     #              2*2.0,6*1.9,2.0,
-     #              2*1.55,6*1.9,1.5,
-     #              2*1.75,6*1.9,1.85,
-     #              9*1.4,
-     #              9*1.4,
-     #              9*1.4,
-     #              2*1.55,6*1.7,1.5,
-     #              2*1.55,6*1.7,1.5,
-     #              2*1.55,6*1.7,1.5,
-     #              2*2.0,6*1.8,1.85,
-     #              9*0.,
-     #              2*2.0,6*1.9,2.0/
+     &              2*2.0,6*1.9,2.0,
+     &              2*1.55,6*1.9,1.5,
+     &              2*1.75,6*1.9,1.85,
+     &              9*1.4,
+     &              9*1.4,
+     &              9*1.4,
+     &              2*1.55,6*1.7,1.5,
+     &              2*1.55,6*1.7,1.5,
+     &              2*1.55,6*1.7,1.5,
+     &              2*2.0,6*1.8,1.85,
+     &              9*0.,
+     &              2*2.0,6*1.9,2.0/
 
       end
Index: init_molecule.f
===================================================================
--- init_molecule.f	(revision 2ebb8b629686fca2f81260a5ca88a8e21e0c1572)
+++ init_molecule.f	(revision bd2278d6d1ff11d5a913fabac7fcc16d05c02a33)
@@ -1,37 +1,37 @@
-c **************************************************************
-c
-c This file contains the subroutines: init_molecule
-c
-c Copyright 2003-2005  Frank Eisenmenger, U.H.E. Hansmann,
-c                      Shura Hayryan, Chin-Ku 
-c Copyright 2007       Frank Eisenmenger, U.H.E. Hansmann,
-c                      Jan H. Meinke, Sandipan Mohanty
-c
-c **************************************************************
-c FIXME: Data in varfile determines which molecule is changed.
+! **************************************************************
+!
+! This file contains the subroutines: init_molecule
+!
+! Copyright 2003-2005  Frank Eisenmenger, U.H.E. Hansmann,
+!                      Shura Hayryan, Chin-Ku 
+! Copyright 2007       Frank Eisenmenger, U.H.E. Hansmann,
+!                      Jan H. Meinke, Sandipan Mohanty
+!
+! **************************************************************
+! FIXME: Data in varfile determines which molecule is changed.
 
       subroutine init_molecule(iabin,grpn,grpc,seqfile,varfile)
 
-c ----------------------------------------------------------
-c PURPOSE: construct starting structure of molecule(s)
-c
-c          iabin = 1  : ab Initio using sequence & 
-c                       variables given in input files
-c          iabin != 1 : sequence, variable information
-c                       from PDB-file
-c
-c          grpn:        N-terminal group
-c          grpc:        C-terminal group
-c
-c CALLS:   addend,bldmol,c_alfa,getmol,iendst, mklist, nursvr,
-C          pdbread,pdbvars,redseq,redvar,setmvs
-C
-c ----------------------------------------------------------
+! ----------------------------------------------------------
+! PURPOSE: construct starting structure of molecule(s)
+!
+!          iabin = 1  : ab Initio using sequence & 
+!                       variables given in input files
+!          iabin != 1 : sequence, variable information
+!                       from PDB-file
+!
+!          grpn:        N-terminal group
+!          grpc:        C-terminal group
+!
+! CALLS:   addend,bldmol,c_alfa,getmol,iendst, mklist, nursvr,
+!          pdbread,pdbvars,redseq,redvar,setmvs
+!
+! ----------------------------------------------------------
 
       include 'INCL.H'
       include 'INCP.H'
 
-cf2py character*80 optional, intent(in) :: seqfile = ' '
-cf2py character*80 optional, intent(in) :: varfile = ' ' 
+!f2py character*80 optional, intent(in) :: seqfile = ' '
+!f2py character*80 optional, intent(in) :: varfile = ' ' 
       
       character grpn*4,grpc*4
@@ -47,5 +47,5 @@
       if (iabin.eq.1) then  
          
-c     ----------------------------------------- get sequence for molecule(s)
+!     ----------------------------------------- get sequence for molecule(s)
          lunseq=11
          if (ntlml.gt.0) then
@@ -64,6 +64,6 @@
          write (*,*) 'File with sequence is ', seqfil(1:iendst(seqfil))
          
-c     --------------------------------- read & assemble data from libraries
-c     initial coordinates, interaction lists
+!     --------------------------------- read & assemble data from libraries
+!     initial coordinates, interaction lists
          
          ntl = ntlml
@@ -85,8 +85,8 @@
          enddo
          
-c     --------------------------- Read the initial conformation if necessary
+!     --------------------------- Read the initial conformation if necessary
          if(readFromStdin) then 
             write (*,'(a,$)') ' file with VARIABLES:'
-c     
+!     
             varfil=' '
             read(*,'(a)',end=2,err=2) varfil
@@ -105,5 +105,5 @@
  2       write(*,*) ' '
          
-c     -------------------- get: nvr,idvr, vlvr, olvlvr
+!     -------------------- get: nvr,idvr, vlvr, olvlvr
          nvr = 0
          do i=1,ivrml1(ntlml)+nvrml(ntlml)-1
@@ -149,5 +149,5 @@
       endif
       
-c     -------------------------- set var. amplitudes for simulations
+!     -------------------------- set var. amplitudes for simulations
       
       do i=1,ivrml1(ntlml)+nvrml(ntlml)-1
@@ -162,16 +162,16 @@
             if (                         navr(1:2).eq.'om'
             
-     #     .or.nars(1:3).eq.'arg'.and.(navr(1:2).eq.'x5'
-     #           .or.navr(1:2).eq.'x6')
-            
-     #           .or.(nars(1:3).eq.'asn'.or.nars(1:3).eq.'asp')
-     #           .and.navr(1:2).eq.'x3'
-            
-     #           .or.(nars(1:3).eq.'gln'.or.nars(1:3).eq.'glu')
-     #           .and.navr(1:2).eq.'x4'
-            
-     #           ) then
-            
-c     axvr(i) = pi/9.d0  ! 20 deg.
+     &     .or.nars(1:3).eq.'arg'.and.(navr(1:2).eq.'x5'
+     &           .or.navr(1:2).eq.'x6')
+            
+     &           .or.(nars(1:3).eq.'asn'.or.nars(1:3).eq.'asp')
+     &           .and.navr(1:2).eq.'x3'
+            
+     &           .or.(nars(1:3).eq.'gln'.or.nars(1:3).eq.'glu')
+     &           .and.navr(1:2).eq.'x4'
+            
+     &           ) then
+            
+!     axvr(i) = pi/9.d0  ! 20 deg.
             axvr(i) = pi2       ! Trying out 360 deg. for these as well
             
@@ -186,5 +186,5 @@
       enddo                     ! vars.
       
-c     --------------------- initialize solvation pars. if necessary
+!     --------------------- initialize solvation pars. if necessary
 
       if (itysol.ne.0) then
Index: main.f
===================================================================
--- main.f	(revision 2ebb8b629686fca2f81260a5ca88a8e21e0c1572)
+++ main.f	(revision bd2278d6d1ff11d5a913fabac7fcc16d05c02a33)
@@ -1,19 +1,19 @@
-c **************************************************************
-c This file contains the:  main (SINGLE PROCESSOR JOBS ONLY,
-C                                FOR PARALLEL JOBS USE pmain)
-c
-c Copyright 2003-2005  Frank Eisenmenger, U.H.E. Hansmann,
-c                      Shura Hayryan, Chin-Ku 
-c Copyright 2007       Frank Eisenmenger, U.H.E. Hansmann,
-c                      Jan H. Meinke, Sandipan Mohanty
-c
-C CALLS: init_energy,init_molecule
-C CALLS TASK SUBROUTINE: anneal,canon,elp,minim,mulcan_par,
-c                        mulcan_sim,partem_s, or regul
-C CAN ALSO CALL MEASUREMENT ROUTINES: cnteny,contacts,helix,hbond,
-C                                    outpdb,outvar,rgyr,
-C                                    rmsinit and rsmdfun,zimmer
-c $Id: main.f 334 2007-08-07 09:23:59Z meinke $
-c **************************************************************
+! **************************************************************
+! This file contains the:  main (SINGLE PROCESSOR JOBS ONLY,
+!                                FOR PARALLEL JOBS USE pmain)
+!
+! Copyright 2003-2005  Frank Eisenmenger, U.H.E. Hansmann,
+!                      Shura Hayryan, Chin-Ku 
+! Copyright 2007       Frank Eisenmenger, U.H.E. Hansmann,
+!                      Jan H. Meinke, Sandipan Mohanty
+!
+! CALLS: init_energy,init_molecule
+! CALLS TASK SUBROUTINE: anneal,canon,elp,minim,mulcan_par,
+!                        mulcan_sim,partem_s, or regul
+! CAN ALSO CALL MEASUREMENT ROUTINES: cnteny,contacts,helix,hbond,
+!                                    outpdb,outvar,rgyr,
+!                                    rmsinit and rsmdfun,zimmer
+! $Id: main.f 334 2007-08-07 09:23:59Z meinke $
+! **************************************************************
       
       program main
@@ -26,21 +26,21 @@
       logical lrand,bgsposs
 
-c =================================================== Energy setup
+! =================================================== Energy setup
 
-c            Directory for SMMP libraries
-c     Change the following directory path to where you want to put SMMP
-c     libraries of residues. 
+!            Directory for SMMP libraries
+!     Change the following directory path to where you want to put SMMP
+!     libraries of residues. 
       libdir='./SMMP/'
 
-c      The switch in the following line is now not used.
+!      The switch in the following line is now not used.
       flex=.false.        ! .true. for Flex  / .false. for ECEPP
 
-c     Choose energy type with the following switch instead ...
+!     Choose energy type with the following switch instead ...
       ientyp = 0
-c        0  => ECEPP2 or ECEPP3 depending on the value of sh2
-c        1  => FLEX 
-c        2  => Lund force field
-c        3  => ECEPP with Abagyan corrections
-c
+!        0  => ECEPP2 or ECEPP3 depending on the value of sh2
+!        1  => FLEX 
+!        2  => Lund force field
+!        3  => ECEPP with Abagyan corrections
+!
 
       sh2=.false.         ! .true. for ECEPP/2; .false. for ECEPP3
@@ -54,5 +54,5 @@
       call init_energy(libdir)
 
-c ================================================= Structure setup
+! ================================================= Structure setup
 
       grpn = 'nh2' ! N-terminal group
@@ -67,5 +67,5 @@
       ntlml = 0
       write (*,*) 'Solvent: ', itysol
-c     Initialize random number generator.
+!     Initialize random number generator.
       call sgrnd(31433)
       
@@ -78,8 +78,8 @@
       call init_molecule(iabin,grpn,grpc,seqfile,varfile)
 
-c Decide if and when to use BGS, and initialize Lund data structures 
+! Decide if and when to use BGS, and initialize Lund data structures 
       bgsprob=0.75   ! Prob for BGS, given that it is possible
-c upchswitch= 0 => No BGS 1 => BGS with probability bgsprob 
-c 2 => temperature dependent choice 
+! upchswitch= 0 => No BGS 1 => BGS with probability bgsprob 
+! 2 => temperature dependent choice 
       upchswitch=1
       rndord=.true.
@@ -89,5 +89,5 @@
       
 
-c ========================================  Add your task down here
+! ========================================  Add your task down here
 
       imin = 1 ! Quasi-Newton
@@ -95,5 +95,5 @@
       eps = 1.0d-7 ! requested precision
       call minim(imin, maxit, eps)
-c     To do a canonical Monte Carlo simulation uncomment the lines below
+!     To do a canonical Monte Carlo simulation uncomment the lines below
 !       nequi = 100
 !       nsweep = 50000
@@ -101,11 +101,11 @@
 !       temp = 300.0
 !       lrand = .true.
-c      Canonical Monte Carlo
+!      Canonical Monte Carlo
 !       call canon(nequi, nsweep, nmes, temp, lrand)
 
-c      For simulated annealing uncomment the lines below
+!      For simulated annealing uncomment the lines below
 !      tmin = 200.0
 !      tmax = 500.0
 !      call anneal(nequi, nsweep, nmes, tmax, tmin, lrand);
-c ========================================  End of main      
+! ========================================  End of main      
        end
Index: main_bgl_p.f
===================================================================
--- main_bgl_p.f	(revision 2ebb8b629686fca2f81260a5ca88a8e21e0c1572)
+++ main_bgl_p.f	(revision bd2278d6d1ff11d5a913fabac7fcc16d05c02a33)
@@ -1,17 +1,17 @@
-c     **************************************************************
-c     
-c     This file contains the   main (PARALLEL TEMPERING  JOBS ONLY,
-C     FOR SINGULAR PROCESSOR JOBS USE main)
-C     
-C     This file contains also the subroutine: p_init_molecule
-c     
-c     Copyright 2003-2005  Frank Eisenmenger, U.H.E. Hansmann,
-c     Shura Hayryan, Chin-Ku 
-c Copyright 2007       Frank Eisenmenger, U.H.E. Hansmann,
-c                      Jan H. Meinke, Sandipan Mohanty
-c     
-C     CALLS init_energy,p_init_molecule,partem_p
-C     
-c     **************************************************************
+!     **************************************************************
+!     
+!     This file contains the   main (PARALLEL TEMPERING  JOBS ONLY,
+!     FOR SINGULAR PROCESSOR JOBS USE main)
+!     
+!     This file contains also the subroutine: p_init_molecule
+!     
+!     Copyright 2003-2005  Frank Eisenmenger, U.H.E. Hansmann,
+!     Shura Hayryan, Chin-Ku 
+! Copyright 2007       Frank Eisenmenger, U.H.E. Hansmann,
+!                      Jan H. Meinke, Sandipan Mohanty
+!     
+!     CALLS init_energy,p_init_molecule,partem_p
+!     
+!     **************************************************************
       program pmain
 
@@ -28,20 +28,20 @@
       logical newsta
 
-cc    Number of replicas 
+!c    Number of replicas 
       integer num_replica
-cc    Number of processors per replica
+!c    Number of processors per replica
       integer num_ppr
-cc    Range of processor for crating communicators
+!c    Range of processor for crating communicators
       integer proc_range(3)
-cc    Array of MPI groups
+!c    Array of MPI groups
       integer group(MAX_REPLICA), group_partem
-cc    Array of MPI communicators
+!c    Array of MPI communicators
       integer comm(MAX_REPLICA), partem_comm
-cc    Array of nodes acting as masters for the energy calculation.
+!c    Array of nodes acting as masters for the energy calculation.
       integer ranks(MAX_REPLICA)
-cc    Configuration switch
+!c    Configuration switch
       integer switch
       integer rep_id
-c     set number of replicas
+!     set number of replicas
       double precision eols(MAX_REPLICA)
       integer ndims, nldims, log2ppr, color
@@ -53,5 +53,5 @@
 
 
-c     MPI stuff, and random number generator initialisation
+!     MPI stuff, and random number generator initialisation
 
       call mpi_init(ierr)
@@ -88,18 +88,18 @@
       call sgrnd(seed)          ! Initialize the random number generator
 
-c     =================================================== Energy setup
+!     =================================================== Energy setup
       libdir='SMMP/'      
-c     Directory for SMMP libraries
-
-c     The switch in the following line is now not used.
+!     Directory for SMMP libraries
+
+!     The switch in the following line is now not used.
       flex=.false.              ! .true. for Flex  / .false. for ECEPP
 
-c     Choose energy type with the following switch instead ...
+!     Choose energy type with the following switch instead ...
       ientyp = 0
-c     0  => ECEPP2 or ECEPP3 depending on the value of sh2
-c     1  => FLEX 
-c     2  => Lund force field
-c     3  => ECEPP with Abagyan corrections
-c     
+!     0  => ECEPP2 or ECEPP3 depending on the value of sh2
+!     1  => FLEX 
+!     2  => Lund force field
+!     3  => ECEPP with Abagyan corrections
+!     
 
       sh2=.false.               ! .true. for ECEPP/2; .false. for ECEPP3
@@ -114,9 +114,9 @@
       call init_energy(libdir)
 
-c     calculate CPU time using MPI_Wtime()
+!     calculate CPU time using MPI_Wtime()
       startwtime = MPI_Wtime()
 
 
-c     ================================================= Structure setup
+!     ================================================= Structure setup
       grpn = 'nh2'              ! N-terminal group
       grpc = 'cooh'             ! C-terminal group
@@ -153,16 +153,16 @@
       ntlml = 0
 
-c Decide if and when to use BGS, and initialize Lund data structures 
+! Decide if and when to use BGS, and initialize Lund data structures 
       bgsprob=0.6    ! Prob for BGS, given that it is possible
-c upchswitch= 0 => No BGS 1 => BGS with probability bgsprob 
-c 2 => temperature dependent choice 
+! upchswitch= 0 => No BGS 1 => BGS with probability bgsprob 
+! 2 => temperature dependent choice 
       upchswitch=1
       rndord=.true.
       if (ientyp.eq.2) call init_lundff
-c     =================================================================
-c     Distribute nodes to parallel tempering tasks
-c     I assume that the number of nodes available is an integer 
-c     multiple n of the number of replicas. Each replica then gets n
-c     processors to do its energy calculation.
+!     =================================================================
+!     Distribute nodes to parallel tempering tasks
+!     I assume that the number of nodes available is an integer 
+!     multiple n of the number of replicas. Each replica then gets n
+!     processors to do its energy calculation.
       num_ppr = num_proc / num_replica
 
@@ -206,6 +206,6 @@
 !      call mpi_comm_group(mpi_comm_world,  group_world, error)
 
-c     The current version doesn't require a separate variable j. I
-c     could just use i * num_ppr but this way it's more flexible.
+!     The current version doesn't require a separate variable j. I
+!     could just use i * num_ppr but this way it's more flexible.
 !       j = 0
 !       do i = 1, num_replica 
@@ -277,7 +277,7 @@
       nml = 1
 
-c     RRRRRRRRRRMMMMMMMMMMMMSSSSSSSSSSDDDDDDDDDDDDD
+!     RRRRRRRRRRMMMMMMMMMMMMSSSSSSSSSSDDDDDDDDDDDDD
       call rmsinit(nml,ref_pdb)
-c     RRRRRRRRRRMMMMMMMMMMMMSSSSSSSSSSDDDDDDDDDDDDD
+!     RRRRRRRRRRMMMMMMMMMMMMSSSSSSSSSSDDDDDDDDDDDDD
 
 !     READ  REFERENCE CONTACT MAP
@@ -294,5 +294,5 @@
       end do
 
-c     ========================================  start of parallel tempering run
+!     ========================================  start of parallel tempering run
       write (*,*) "There are ", no,
      &            " processors available for ",rep_id
@@ -303,6 +303,6 @@
       call partem_p(num_replica, nequi, nswp, nmes, nsave, newsta,
      &              switch, rep_id, partem_comm)
-c     ========================================  end of parallel tempering run
-c     calculate CPU time using MPI_Wtime()
+!     ========================================  end of parallel tempering run
+!     calculate CPU time using MPI_Wtime()
       endwtime = MPI_Wtime()
 
@@ -319,5 +319,5 @@
       enddo
 
-c     ========================================  End of main
+!     ========================================  End of main
       CALL mpi_finalize(ierr)
 
Index: main_p.f
===================================================================
--- main_p.f	(revision 2ebb8b629686fca2f81260a5ca88a8e21e0c1572)
+++ main_p.f	(revision bd2278d6d1ff11d5a913fabac7fcc16d05c02a33)
@@ -1,17 +1,17 @@
-c     **************************************************************
-c     
-c     This file contains the   main (PARALLEL TEMPERING  JOBS ONLY,
-C     FOR SINGULAR PROCESSOR JOBS USE main)
-C     
-C     This file contains also the subroutine: p_init_molecule
-c     
-c     Copyright 2003-2005  Frank Eisenmenger, U.H.E. Hansmann,
-c     Shura Hayryan, Chin-Ku 
-c Copyright 2007       Frank Eisenmenger, U.H.E. Hansmann,
-c                      Jan H. Meinke, Sandipan Mohanty
-c     
-C     CALLS init_energy,p_init_molecule,partem_p
-C     
-c     **************************************************************
+!     **************************************************************
+!     
+!     This file contains the   main (PARALLEL TEMPERING  JOBS ONLY,
+!     FOR SINGULAR PROCESSOR JOBS USE main)
+!     
+!     This file contains also the subroutine: p_init_molecule
+!     
+!     Copyright 2003-2005  Frank Eisenmenger, U.H.E. Hansmann,
+!     Shura Hayryan, Chin-Ku 
+! Copyright 2007       Frank Eisenmenger, U.H.E. Hansmann,
+!                      Jan H. Meinke, Sandipan Mohanty
+!     
+!     CALLS init_energy,p_init_molecule,partem_p
+!     
+!     **************************************************************
       program pmain
 
@@ -28,20 +28,20 @@
       logical newsta
 
-cc    Number of replicas 
+!c    Number of replicas 
       integer num_replica
-cc    Number of processors per replica
+!c    Number of processors per replica
       integer num_ppr
-cc    Range of processor for crating communicators
+!c    Range of processor for crating communicators
       integer proc_range(3)
-cc    Array of MPI groups
+!c    Array of MPI groups
       integer group(MAX_REPLICA), group_partem
-cc    Array of MPI communicators
+!c    Array of MPI communicators
       integer comm(MAX_REPLICA), partem_comm
-cc    Array of nodes acting as masters for the energy calculation.
+!c    Array of nodes acting as masters for the energy calculation.
       integer ranks(MAX_REPLICA)
-cc    Configuration switch
+!c    Configuration switch
       integer switch
       integer rep_id
-c     set number of replicas
+!     set number of replicas
       double precision eols(MAX_REPLICA)
 
@@ -50,5 +50,5 @@
 
 
-c     MPI stuff, and random number generator initialisation
+!     MPI stuff, and random number generator initialisation
 
       call mpi_init(ierr)
@@ -61,18 +61,18 @@
       call sgrnd(seed)          ! Initialize the random number generator
 
-c     =================================================== Energy setup
+!     =================================================== Energy setup
       libdir='SMMP/'      
-c     Directory for SMMP libraries
-
-c     The switch in the following line is now not used.
+!     Directory for SMMP libraries
+
+!     The switch in the following line is now not used.
       flex=.false.              ! .true. for Flex  / .false. for ECEPP
 
-c     Choose energy type with the following switch instead ...
+!     Choose energy type with the following switch instead ...
       ientyp = 0
-c     0  => ECEPP2 or ECEPP3 depending on the value of sh2
-c     1  => FLEX 
-c     2  => Lund force field
-c     3  => ECEPP with Abagyan corrections
-c     
+!     0  => ECEPP2 or ECEPP3 depending on the value of sh2
+!     1  => FLEX 
+!     2  => Lund force field
+!     3  => ECEPP with Abagyan corrections
+!     
 
       sh2=.false.               ! .true. for ECEPP/2; .false. for ECEPP3
@@ -87,9 +87,9 @@
       call init_energy(libdir)
 
-c     calculate CPU time using MPI_Wtime()
+!     calculate CPU time using MPI_Wtime()
       startwtime = MPI_Wtime()
 
 
-c     ================================================= Structure setup
+!     ================================================= Structure setup
       grpn = 'nh2'              ! N-terminal group
       grpc = 'cooh'             ! C-terminal group
@@ -121,22 +121,22 @@
       ntlml = 0
 
-c Decide if and when to use BGS, and initialize Lund data structures 
+! Decide if and when to use BGS, and initialize Lund data structures 
       bgsprob=0.6    ! Prob for BGS, given that it is possible
-c upchswitch= 0 => No BGS 1 => BGS with probability bgsprob 
-c 2 => temperature dependent choice 
+! upchswitch= 0 => No BGS 1 => BGS with probability bgsprob 
+! 2 => temperature dependent choice 
       upchswitch=1
       rndord=.true.
       if (ientyp.eq.2) call init_lundff
-c     =================================================================
-c     Distribute nodes to parallel tempering tasks
-c     I assume that the number of nodes available is an integer 
-c     multiple n of the number of replicas. Each replica then gets n
-c     processors to do its energy calculation.
+!     =================================================================
+!     Distribute nodes to parallel tempering tasks
+!     I assume that the number of nodes available is an integer 
+!     multiple n of the number of replicas. Each replica then gets n
+!     processors to do its energy calculation.
       num_ppr = num_proc / num_replica
 
       call mpi_comm_group(mpi_comm_world,  group_world, error)
 
-c     The current version doesn't require a separate variable j. I
-c     could just use i * num_ppr but this way it's more flexible.
+!     The current version doesn't require a separate variable j. I
+!     could just use i * num_ppr but this way it's more flexible.
       j = 0
       do i = 1, num_replica 
@@ -163,5 +163,5 @@
       enddo
 
-c     Setup the communicator used for parallel tempering
+!     Setup the communicator used for parallel tempering
       write (*,*) "PTGroup=", ranks(:num_replica)
       call flush(6)
@@ -194,7 +194,7 @@
       nml = 1
 
-c     RRRRRRRRRRMMMMMMMMMMMMSSSSSSSSSSDDDDDDDDDDDDD
+!     RRRRRRRRRRMMMMMMMMMMMMSSSSSSSSSSDDDDDDDDDDDDD
       call rmsinit(nml,'EXAMPLES/1bdd.pdb')
-c     RRRRRRRRRRMMMMMMMMMMMMSSSSSSSSSSDDDDDDDDDDDDD
+!     RRRRRRRRRRMMMMMMMMMMMMSSSSSSSSSSDDDDDDDDDDDDD
 
 !     READ  REFERENCE CONTACT MAP
@@ -211,5 +211,5 @@
       end do
 
-c     ========================================  start of parallel tempering run
+!     ========================================  start of parallel tempering run
       write (*,*) "There are ", no,
      &            " processors available for ",rep_id
@@ -220,6 +220,6 @@
       call partem_p(num_replica, nequi, nswp, nmes, nsave, newsta,
      &              switch, rep_id, partem_comm)
-c     ========================================  end of parallel tempering run
-c     calculate CPU time using MPI_Wtime()
+!     ========================================  end of parallel tempering run
+!     calculate CPU time using MPI_Wtime()
       endwtime = MPI_Wtime()
 
@@ -236,5 +236,5 @@
       enddo
 
-c     ========================================  End of main
+!     ========================================  End of main
       CALL mpi_finalize(ierr)
 
Index: metropolis.f
===================================================================
--- metropolis.f	(revision 2ebb8b629686fca2f81260a5ca88a8e21e0c1572)
+++ metropolis.f	(revision bd2278d6d1ff11d5a913fabac7fcc16d05c02a33)
@@ -1,20 +1,20 @@
-c **************************************************************
-c
-c This file contains the subroutines:  metropolis
-c
-c Copyright 2003-2005  Frank Eisenmenger, U.H.E. Hansmann,
-c                      Shura Hayryan, Chin-Ku 
-c Copyright 2007       Frank Eisenmenger, U.H.E. Hansmann,
-c                      Jan H. Meinke, Sandipan Mohanty
-c
-c **************************************************************
+! **************************************************************
+!
+! This file contains the subroutines:  metropolis
+!
+! Copyright 2003-2005  Frank Eisenmenger, U.H.E. Hansmann,
+!                      Shura Hayryan, Chin-Ku 
+! Copyright 2007       Frank Eisenmenger, U.H.E. Hansmann,
+!                      Jan H. Meinke, Sandipan Mohanty
+!
+! **************************************************************
 
 
       subroutine metropolis(eol1,acz,dummy)
-C
-C SUBROUTINE FOR METROPOLIS UPDATE OF CONFIGURATIONS
-C
-C CALLS: energy,addang,grnd,dummy (function provided as argument)
-C
+!
+! SUBROUTINE FOR METROPOLIS UPDATE OF CONFIGURATIONS
+!
+! CALLS: energy,addang,grnd,dummy (function provided as argument)
+!
       include 'INCL.H'
       include 'INCP.H'
@@ -25,11 +25,11 @@
       integer updtch1, updtch2,bgs
       double precision vrol(mxvr), gbol
-cf2py intent(in, out) eol
-cf2py intent(in, out) acz
+!f2py intent(in, out) eol
+!f2py intent(in, out) acz
       eol = energy()
-c     external rand
+!     external rand
       do nsw=1,nvr
-c Loop over dihedrals
-c
+! Loop over dihedrals
+!
          iupstate=0
          iupt=1
@@ -54,16 +54,16 @@
             iupstate=bgs(eol,dummy)
          else
-c           Simple twist of 
-c           Get Proposal configuration
+!           Simple twist of 
+!           Get Proposal configuration
             vrol=vlvr!(jv)  
             dv=axvr(jv)*(grnd()-0.5)
             vlvr(jv)=addang(vrol(jv),dv)
-c
-c           Get dummy of proposal configuration
-c
+!
+!           Get dummy of proposal configuration
+!
             enw = energy()
-c
+!
             delta =  dummy(enw) - dummy(eol)
-c           ___________________________ check acceptance criteria
+!           ___________________________ check acceptance criteria
             if (delta.le.0.0d0) then
                eol=enw  
@@ -90,5 +90,5 @@
       end do
 
-c Updates on relative position of different molecules when there are many      
+! Updates on relative position of different molecules when there are many      
       if (ntlml.gt.1) then
          do iml=1, ntlml
@@ -104,13 +104,13 @@
                   endif
                endif
-c     
-c              Get dummy of proposal configuration
-c     
+!     
+!              Get dummy of proposal configuration
+!     
                enw = energy()
-c
+!
                delta =  dummy(enw) - dummy(eol)
-c     
-c              ____________________________ check acceptance criteria
-c     
+!     
+!              ____________________________ check acceptance criteria
+!     
                if (delta.le.0.0d0) then
                   eol=enw
@@ -138,13 +138,13 @@
                   gbpr(i, iml) = (grnd()-0.5) * pi2
                endif
-c     
-c              Get dummy of proposal configuration
-c     
+!     
+!              Get dummy of proposal configuration
+!     
                enw = energy()
-c     
+!     
                delta =  dummy(enw) - dummy(eol)
-c     
-c              ____________________________ check acceptance criteria
-c     
+!     
+!              ____________________________ check acceptance criteria
+!     
                if (delta.le.0.0d0) then
                   eol=enw
@@ -166,7 +166,7 @@
          enddo
       endif
-c     
-c     Re-calculate energy
-c     
+!     
+!     Re-calculate energy
+!     
       enw = energy()
       if(abs(eol-enw).gt.0.000001)  then
@@ -176,8 +176,8 @@
          endif
       endif
-c     
+!     
       eol1 = eol
       return
-c     
+!     
       end
       
Index: mincjg.f
===================================================================
--- mincjg.f	(revision 2ebb8b629686fca2f81260a5ca88a8e21e0c1572)
+++ mincjg.f	(revision bd2278d6d1ff11d5a913fabac7fcc16d05c02a33)
@@ -1,42 +1,42 @@
-c **************************************************************
-c
-c This file contains the subroutines: mincjg
-c
-c Copyright 2003-2005  Frank Eisenmenger, U.H.E. Hansmann,
-c                      Shura Hayryan, Chin-Ku 
-c Copyright 2007       Frank Eisenmenger, U.H.E. Hansmann,
-c                      Jan H. Meinke, Sandipan Mohanty
-c
-c ********************************************************************
+! **************************************************************
+!
+! This file contains the subroutines: mincjg
+!
+! Copyright 2003-2005  Frank Eisenmenger, U.H.E. Hansmann,
+!                      Shura Hayryan, Chin-Ku 
+! Copyright 2007       Frank Eisenmenger, U.H.E. Hansmann,
+!                      Jan H. Meinke, Sandipan Mohanty
+!
+! ********************************************************************
       subroutine mincjg(n,mxn,x,f,g,acur,d,xa,ga,dt,yt,gt,maxfun,nfun)
 
-c ....................................................................
-c
-c  Conjugate Gradient Minimizer
-c
-c  INPUT:   X,F,G - variables, value of FUNC, gradient at START/
-c           ACUR - convergence is assumed if ACUR > SUM ( G(I)**2 )
-c           MAXFUN - maximum overall number of function calls
-c
-c  OUTPUT:  X,F,G - variables, value of FUNC, gradient at MINIMUM
-c           NFUN  - overall number of function calls used
-c
-c  ARRAYS:  D,XA,GA,YT,DT,GT - dimension N
-c
-c  CALLS:   MOVE - calculate function & its gradients for current X
-c
-c  PARAMETERS:  AMF    - rough estimate of first reduction in F, used
-c                        to guess initial step of 1st line search
-c               MXFCON - see 'ier=4'
-c               MAXLIN -
-c
-c  DIAGNOSTICS (ier)
-c
-c           = 0: minimization completed successfully
-c           = 1: number of steps reached MAXFUN
-c           = 2: line search was abandoned
-c           = 3: search direction is uphill
-c           = 4: two consecutive line searches failed to reduce F
-c ....................................................................
+! ....................................................................
+!
+!  Conjugate Gradient Minimizer
+!
+!  INPUT:   X,F,G - variables, value of FUNC, gradient at START/
+!           ACUR - convergence is assumed if ACUR > SUM ( G(I)**2 )
+!           MAXFUN - maximum overall number of function calls
+!
+!  OUTPUT:  X,F,G - variables, value of FUNC, gradient at MINIMUM
+!           NFUN  - overall number of function calls used
+!
+!  ARRAYS:  D,XA,GA,YT,DT,GT - dimension N
+!
+!  CALLS:   MOVE - calculate function & its gradients for current X
+!
+!  PARAMETERS:  AMF    - rough estimate of first reduction in F, used
+!                        to guess initial step of 1st line search
+!               MXFCON - see 'ier=4'
+!               MAXLIN -
+!
+!  DIAGNOSTICS (ier)
+!
+!           = 0: minimization completed successfully
+!           = 1: number of steps reached MAXFUN
+!           = 2: line search was abandoned
+!           = 3: search direction is uphill
+!           = 4: two consecutive line searches failed to reduce F
+! ....................................................................
 
       implicit real*8 (a-h,o-z)
@@ -44,11 +44,11 @@
 
       parameter (AMF = 10.d0,
-     #           MXFCON = 2,
-     #           MAXLIN = 5,
-     #           TOL = 1.d-7,  ! controls 'stepch'
-     #           EPS = .7d0)
+     &           MXFCON = 2,
+     &           MAXLIN = 5,
+     &           TOL = 1.d-7,  ! controls 'stepch'
+     &           EPS = .7d0)
 
       dimension x(mxn),g(mxn),
-     #          d(mxn),xa(mxn),ga(mxn),dt(mxn),yt(mxn),gt(mxn)
+     &          d(mxn),xa(mxn),ga(mxn),dt(mxn),yt(mxn),gt(mxn)
 
 
@@ -154,5 +154,5 @@
 
         if ( nfun .gt. (nfbeg + 1) .or.
-     #       abs(gdmi/gdit) .gt. EPS ) then
+     &       abs(gdmi/gdit) .gt. EPS ) then
 
           ier=2
@@ -205,5 +205,5 @@
 
       if ( (gdmi * gspln) .lt. 0.d0 )  stepch = stepch * gdmi /
-     #                                          (gdmi - gspln)
+     &                                          (gdmi - gspln)
 
       goto 2
@@ -242,5 +242,5 @@
 
         if (iterrs .ne. 0 .and. (iter - iterrs) .lt. (n-1) .and.
-     #      abs(sum) .lt. gsq2 ) then
+     &      abs(sum) .lt. gsq2 ) then
 
           gama = 0.d0
Index: minim.f
===================================================================
--- minim.f	(revision 2ebb8b629686fca2f81260a5ca88a8e21e0c1572)
+++ minim.f	(revision bd2278d6d1ff11d5a913fabac7fcc16d05c02a33)
@@ -1,34 +1,34 @@
-c **************************************************************
-c
-c This file contains the subroutines: minim,move
-c
-c Copyright 2003-2005  Frank Eisenmenger, U.H.E. Hansmann,
-c                      Shura Hayryan, Chin-Ku 
-c Copyright 2007       Frank Eisenmenger, U.H.E. Hansmann,
-c                      Jan H. Meinke, Sandipan Mohanty
-c
-c **************************************************************
+! **************************************************************
+!
+! This file contains the subroutines: minim,move
+!
+! Copyright 2003-2005  Frank Eisenmenger, U.H.E. Hansmann,
+!                      Shura Hayryan, Chin-Ku 
+! Copyright 2007       Frank Eisenmenger, U.H.E. Hansmann,
+!                      Jan H. Meinke, Sandipan Mohanty
+!
+! **************************************************************
 
 
       subroutine minim(imin, maxit, eps)
 
-c ......................................................................
-c PURPOSE: Use minimizers
-c
-c          imin = 1:  use Quasi-Newton
-c          imin = 2:  use Conjugated Gradients
-c
-c          @param maxit maximum number of iterations 
-c          @param eps acceptance criterium
-cInstitute
-c CALLS: difang,energy,gradient, mincjg,minqsn, nursvr
-c ......................................................................
+! ......................................................................
+! PURPOSE: Use minimizers
+!
+!          imin = 1:  use Quasi-Newton
+!          imin = 2:  use Conjugated Gradients
+!
+!          @param maxit maximum number of iterations 
+!          @param eps acceptance criterium
+!Institute
+! CALLS: difang,energy,gradient, mincjg,minqsn, nursvr
+! ......................................................................
 
       include 'INCL.H'
-cf2py intent(in) imin
-cf2py intent(in) maxit
-cf2py intent(in) eps
+!f2py intent(in) imin
+!f2py intent(in) maxit
+!f2py intent(in) eps
       parameter (msvmx=mxvr*(mxvr+5)/(2*(2*mxvr+1)),   
-     #            msv  = 50 )                             
+     &            msv  = 50 )                             
 
       dimension w(mxvr*(mxvr+13)/2)
@@ -36,5 +36,5 @@
       dimension vlvrn(mxvr),vlvro(mxvr),gdvr(mxvr),scl(mxvr)
 
-c --------------------------- new
+! --------------------------- new
       dimension gbpro(6,mxml)
 
@@ -47,5 +47,5 @@
       endif
 
-c ----------------------- energy & gradient
+! ----------------------- energy & gradient
 
       call gradient()
@@ -56,7 +56,7 @@
 
         write (*,'(a,e12.5,/,3(a,e11.4),/,2(a,e11.4),/)') ' Total: ',
-     #    eysm,
-     #    '   Coulomb: ',eyel,' Lennard-Jones: ',eyvw,' HB: ',eyhb,
-     #    '   Variables: ',eyvr,'  Solvatation: ',eysl
+     &    eysm,
+     &    '   Coulomb: ',eyel,' Lennard-Jones: ',eyvw,' HB: ',eyhb,
+     &    '   Variables: ',eyvr,'  Solvatation: ',eysl
 
        else
@@ -64,12 +64,12 @@
 
         write (*,'(a,e12.5,/,3(a,e11.4),/,3(a,e11.4),/)') ' Total: ',
-     #    wtey*eysm + wtrg*eyrg,
-     #    '   Coulomb: ',eyel,' Lennard-Jones: ',eyvw,' HB: ',eyhb,
-     #    '   Variables: ',eyvr,'  Solvatation: ',eysl,
-     #    ' Regularization: ',eyrg
+     &    wtey*eysm + wtrg*eyrg,
+     &    '   Coulomb: ',eyel,' Lennard-Jones: ',eyvw,' HB: ',eyhb,
+     &    '   Variables: ',eyvr,'  Solvatation: ',eysl,
+     &    ' Regularization: ',eyrg
 
        endif
 
-c --------------------------------------- variables
+! --------------------------------------- variables
 
       ntlvr=ivrml1(ntlml)+nvrml(ntlml)-1
@@ -129,11 +129,11 @@
         enddo
 
-c        if (abs(wtrg-1.d0).gt.1.d-4.and.abs(wtey-1.d0).gt.1.d-4) then
-c          gdey2 = max(acc,gdey2)
-c          gdrg2 = max(acc,gdrg2)
-c          wtrg = wtrg * sqrt(gdey2/gdrg2)
-c          write(*,*)  ' -->    Wt_energy = ',wtey,'  Wt_regul. = ',wtrg
-c          write(*,*)  '  '
-c        endif
+!        if (abs(wtrg-1.d0).gt.1.d-4.and.abs(wtey-1.d0).gt.1.d-4) then
+!          gdey2 = max(acc,gdey2)
+!          gdrg2 = max(acc,gdrg2)
+!          wtrg = wtrg * sqrt(gdey2/gdrg2)
+!          write(*,*)  ' -->    Wt_energy = ',wtey,'  Wt_regul. = ',wtrg
+!          write(*,*)  '  '
+!        endif
 
         esm=wtey*eysm+wtrg*eyrg
@@ -152,5 +152,5 @@
 
         call minqsn(n,mxvr,vlvrn,esm,gdvr,scl,acc,w,w(n1),w(n2),
-     #              w(n3),w(n4),w(n5),w(n6),mxop,nop)
+     &              w(n3),w(n4),w(n5),w(n6),mxop,nop)
 
       elseif (imin.eq.2) then ! Conjugated Gradients
@@ -163,5 +163,5 @@
 
         call mincjg(n,mxvr,vlvrn,esm,gdvr,acc,w,w(n1),w(n2),  ! no 'scl'
-     #              w(n3),w(n4),w(n5),mxop,nop)
+     &              w(n3),w(n4),w(n5),mxop,nop)
 
       endif
@@ -176,5 +176,5 @@
 
       write (*,'(/,2a,/)') ' Final energies ',
-     # '__________________________________________________'
+     & '__________________________________________________'
 
       eysm = energy()
@@ -183,14 +183,14 @@
 
         write (*,'(a,e12.5,/,3(a,e11.4),/,2(a,e11.4))') ' Total: ',eysm,
-     #  '   Coulomb: ',eyel,' Lennard-Jones: ',eyvw,' HB: ',eyhb,
-     #  '   Variables: ',eyvr,'  Solvatation: ',eysl
+     &  '   Coulomb: ',eyel,' Lennard-Jones: ',eyvw,' HB: ',eyhb,
+     &  '   Variables: ',eyvr,'  Solvatation: ',eysl
 
       else
 
         write (*,'(a,e12.5,/,3(a,e11.4),/,3(a,e11.4))') ' Total: ',
-     #      wtey*eysm + wtrg*eyrg,
-     #  '   Coulomb: ',eyel,' Lennard-Jones: ',eyvw,' HB: ',eyhb,
-     #  '   Variables: ',eyvr,'  Solvatation: ',eysl,
-     #  ' Regularization: ',eyrg
+     &      wtey*eysm + wtrg*eyrg,
+     &  '   Coulomb: ',eyel,' Lennard-Jones: ',eyvw,' HB: ',eyhb,
+     &  '   Variables: ',eyvr,'  Solvatation: ',eysl,
+     &  ' Regularization: ',eyrg
 
       endif
@@ -207,5 +207,5 @@
 
           write (*,'(1x,a,1x,i4,f8.1,a,f5.1,a)') nmvr(i),nursvr(i),
-     #        vr*crd,'    (',abs(difang(vr,vlvro(i)))*crd,')'
+     &        vr*crd,'    (',abs(difang(vr,vlvro(i)))*crd,')'
 
           vlvr(i) = vr
@@ -231,5 +231,5 @@
 
       write (*,'(/,2a)') ' Gradient ',
-     # '______________________________________________________________'
+     & '______________________________________________________________'
 
       write (*,'(8(1x,f8.3))') (gdvr(i),i=1,nv)
@@ -244,9 +244,9 @@
       return
       end
-c ********************************************
+! ********************************************
       subroutine move(nop,nvr1,esm,vlvrn,gdvr)
-c
-c CALLS: gradient
-c
+!
+! CALLS: gradient
+!
       include 'INCL.H'
 
@@ -254,5 +254,5 @@
 
 
-c ------------------------ compile & new variables
+! ------------------------ compile & new variables
 
       ntlvr=ivrml1(ntlml)+nvrml(ntlml)-1
@@ -278,5 +278,5 @@
       endif
 
-c -------------------------- new minimz. gradient
+! -------------------------- new minimz. gradient
 
       call gradient()
@@ -309,5 +309,5 @@
 
         write (*,'(a,i5,a,2(e13.6,a))') ' Step ',nop,': energy ',esm
-     #                                 ,'  (',gdsmey,' )'
+     &                                 ,'  (',gdsmey,' )'
 
       else
@@ -328,5 +328,5 @@
 
         write (*,'(a,i5,a,3(e13.6,a))') ' Step ',nop,': energy ',esm
-     #                                 ,'  (',gdsmey,',',gdsmrg,' )'
+     &                                 ,'  (',gdsmey,',',gdsmrg,' )'
 
       endif
Index: minqsn.f
===================================================================
--- minqsn.f	(revision 2ebb8b629686fca2f81260a5ca88a8e21e0c1572)
+++ minqsn.f	(revision bd2278d6d1ff11d5a913fabac7fcc16d05c02a33)
@@ -1,58 +1,58 @@
-c **************************************************************
-c
-c This file contains the subroutines: minqsn,mc11a,mc11e
-c
-c Copyright 2003-2005  Frank Eisenmenger, U.H.E. Hansmann,
-c                      Shura Hayryan, Chin-Ku 
-c Copyright 2007       Frank Eisenmenger, U.H.E. Hansmann,
-c                      Jan H. Meinke, Sandipan Mohanty
-c
-c **************************************************************
+! **************************************************************
+!
+! This file contains the subroutines: minqsn,mc11a,mc11e
+!
+! Copyright 2003-2005  Frank Eisenmenger, U.H.E. Hansmann,
+!                      Shura Hayryan, Chin-Ku 
+! Copyright 2007       Frank Eisenmenger, U.H.E. Hansmann,
+!                      Jan H. Meinke, Sandipan Mohanty
+!
+! **************************************************************
 
       subroutine minqsn(n,mxn,x,f,g,scal,acur,h,d,w,xa,ga,xb,gb,maxfun,
-     #                  nfun)
-
-c .............................................................
-c  PURPOSE: Quasi-Newton minimizer
-c
-c           Unconstrained local minimization of function FUNC
-c           vs. N variables by quasi-Newton method using BFGS-
-c           formula to update hessian matrix; approximate line
-c           searches performed using cubic extra-/interpolation
-c           [see Gill P.E., Murray W., Wright M.H., Practical
-c            Optimization, Ch. 2.2.5.7, 4.3.2.1 ff.,4.4.2.2.,
-c            4.5.2.1]
-c
-c  INPUT:   X,F,G - variables, value of FUNC, gradient at START
-c           SCAL  - factors to reduce(increase) initial step &
-c                   its lower bound for line searches, diagonal
-c                   elements of initial hessian matrix
-c           MXN - maximal overall number of function calls
-c
-c  OUTPUT:  X,F,G - variables, value of FUNC, gradient at MINIMUM
-c           NFUN  - overall number of function calls used
-c  
-c  ARRAYS:  H - approximate hessian matrix in symmetric storage
-c               (dimension N(N+1)/2)
-c           W,D,XA,XB,GA,GB - dimension N
-c
-c  CALLS:   MOVE - external to calculate function for current X
-c                  and its gradients
-c           MC11E- solve system H*D=-G for search direction D, where
-c                  H is given in Cholesky-factorization
-c           MC11A- update H using BFGS formula, factorizise new H
-c                  according to Cholesky (modified to maintain its
-c                  positive definiteness)
-c
-c  PARAMETERS:
-c  
-c  EPS1 - checks reduction of FUNC during line search
-c         ( 0.0001 <= EPS1 < 0.5 )
-c  EPS2 - controls accuracy of line search (reduce to increase
-c         accuracy; EPS1 < EPS2 <= 0.9 )
-c  ACUR - fractional precision for determination of variables
-c         (should not be smaller than sqrt of machine accuracy)
-c  TINY - prevent division by zero during cubic extrapolation
-c .............................................................
+     &                  nfun)
+
+! .............................................................
+!  PURPOSE: Quasi-Newton minimizer
+!
+!           Unconstrained local minimization of function FUNC
+!           vs. N variables by quasi-Newton method using BFGS-
+!           formula to update hessian matrix; approximate line
+!           searches performed using cubic extra-/interpolation
+!           [see Gill P.E., Murray W., Wright M.H., Practical
+!            Optimization, Ch. 2.2.5.7, 4.3.2.1 ff.,4.4.2.2.,
+!            4.5.2.1]
+!
+!  INPUT:   X,F,G - variables, value of FUNC, gradient at START
+!           SCAL  - factors to reduce(increase) initial step &
+!                   its lower bound for line searches, diagonal
+!                   elements of initial hessian matrix
+!           MXN - maximal overall number of function calls
+!
+!  OUTPUT:  X,F,G - variables, value of FUNC, gradient at MINIMUM
+!           NFUN  - overall number of function calls used
+!  
+!  ARRAYS:  H - approximate hessian matrix in symmetric storage
+!               (dimension N(N+1)/2)
+!           W,D,XA,XB,GA,GB - dimension N
+!
+!  CALLS:   MOVE - external to calculate function for current X
+!                  and its gradients
+!           MC11E- solve system H*D=-G for search direction D, where
+!                  H is given in Cholesky-factorization
+!           MC11A- update H using BFGS formula, factorizise new H
+!                  according to Cholesky (modified to maintain its
+!                  positive definiteness)
+!
+!  PARAMETERS:
+!  
+!  EPS1 - checks reduction of FUNC during line search
+!         ( 0.0001 <= EPS1 < 0.5 )
+!  EPS2 - controls accuracy of line search (reduce to increase
+!         accuracy; EPS1 < EPS2 <= 0.9 )
+!  ACUR - fractional precision for determination of variables
+!         (should not be smaller than sqrt of machine accuracy)
+!  TINY - prevent division by zero during cubic extrapolation
+! .............................................................
 
       implicit real*8 (a-h,o-z)
@@ -60,18 +60,18 @@
 
       parameter ( eps1=0.1d0,
-     #            eps2=0.7d0,
-     #            tiny=1.d-32,
-
-     #            zero=0.d0,
-     #            izero=0,
-     #            ione=1 )
+     &            eps2=0.7d0,
+     &            tiny=1.d-32,
+
+     &            zero=0.d0,
+     &            izero=0,
+     &            ione=1 )
 
       dimension x(mxn),g(mxn),scal(mxn),h(mxn*(mxn+1)/2),d(mxn),w(mxn),
-     #          xa(mxn),ga(mxn),xb(mxn),gb(mxn)
+     &          xa(mxn),ga(mxn),xb(mxn),gb(mxn)
 
       nfun=0
       itr=0
       dff=0.
-c _______________ hessian to a diagonal matrix depending on scale
+! _______________ hessian to a diagonal matrix depending on scale
       c=0.
       do i=1,n
@@ -102,5 +102,5 @@
     2 itr=itr+1    ! Start New Line-search from A
 
-c ______________ search direction of the iteration
+! ______________ search direction of the iteration
       do i=1,n
         d(i)=-ga(i)
@@ -126,5 +126,5 @@
       steplb=acur*c       ! lower bound on step
 
-c ________________________ initial step of the line search
+! ________________________ initial step of the line search
       if (dff.gt.0.) then
         step=min(1.d0,(dff+dff)/(-dga))
@@ -134,5 +134,5 @@
 
     3 if (nfun.ge.maxfun) then
-cc        write (*,*) ' minfor> exceeded max. number of function calls'
+!c        write (*,*) ' minfor> exceeded max. number of function calls'
         return
       endif
@@ -159,5 +159,5 @@
           if (gl2.ge.gl1) goto 4
         endif
-c ______________ store function value if it is smallest so far
+! ______________ store function value if it is smallest so far
         f=fb
         do i=1,n
@@ -182,5 +182,5 @@
         stepub=stepub-step      ! new upper bound on step
 
-c _______________________________ next step by extrapolation
+! _______________________________ next step by extrapolation
         if (stepub.gt.0.) then
           step=.5*stepub
@@ -244,9 +244,9 @@
       return
       end
-c ***********************************************
+! ***********************************************
       subroutine mc11a(a,n,mxn,z,sig,w,ir,mk,eps)
-c
-c CALLS: none
-c
+!
+! CALLS: none
+!
       implicit real*8 (a-h,o-z)
       implicit integer*4 (i-n)
@@ -368,9 +368,9 @@
       return
       end
-c ************************************
+! ************************************
       subroutine mc11e(a,n,mxn,z,w,ir)
-c
-c CALLS: none
-c
+!
+! CALLS: none
+!
       implicit real*8 (a-h,o-z)
       implicit integer*4 (i-n)
Index: mklist.f
===================================================================
--- mklist.f	(revision 2ebb8b629686fca2f81260a5ca88a8e21e0c1572)
+++ mklist.f	(revision bd2278d6d1ff11d5a913fabac7fcc16d05c02a33)
@@ -1,32 +1,32 @@
-c **************************************************************
-c
-c This file contains the subroutines: mklist,quench
-c
-c Copyright 2003-2005  Frank Eisenmenger, U.H.E. Hansmann,
-c                      Shura Hayryan, Chin-Ku 
-c Copyright 2007       Frank Eisenmenger, U.H.E. Hansmann,
-c                      Jan H. Meinke, Sandipan Mohanty
-c
-c **************************************************************
+! **************************************************************
+!
+! This file contains the subroutines: mklist,quench
+!
+! Copyright 2003-2005  Frank Eisenmenger, U.H.E. Hansmann,
+!                      Shura Hayryan, Chin-Ku 
+! Copyright 2007       Frank Eisenmenger, U.H.E. Hansmann,
+!                      Jan H. Meinke, Sandipan Mohanty
+!
+! **************************************************************
 
       subroutine mklist(nml)
 
-c ......................................................................
-c PURPOSE: Compile interaction lists ('1-4' according to Scheraga)
-c
-c CALLS: quench
-c ......................................................................
-c TODO: Calculate van-der-Waals regions over all molecules.
+! ......................................................................
+! PURPOSE: Compile interaction lists ('1-4' according to Scheraga)
+!
+! CALLS: quench
+! ......................................................................
+! TODO: Calculate van-der-Waals regions over all molecules.
       include 'INCL.H'
 
       parameter (mxh=50,         ! max. # of atom regions
-     #           mx2=50)
+     &           mx2=50)
 
       logical ovlp,quench
 
       dimension l1st1(mxh),l1st2(mxh),l2nd1(mxh),l2nd2(mxh)
-     #         ,l1i(mxbd),l2i(mx2)
-
-c _______________________ indices of 1st vdw-region/14-partner for 'nml'
+     &         ,l1i(mxbd),l2i(mx2)
+
+! _______________________ indices of 1st vdw-region/14-partner for 'nml'
       if (nml.eq.1) then
         ivwml1(1)=1
@@ -40,5 +40,5 @@
       if (ntlms.eq.0) then
         write (*,'(a,i4)')
-     #           ' mklist> No mov. sets defined in molecule #',nml
+     &           ' mklist> No mov. sets defined in molecule #',nml
         nvwml(nml)=0
         n14ml(nml)=0
@@ -48,13 +48,13 @@
       nvw=ivwml1(nml)-1     ! # of vdw-regions we have so far
       n14=i14ml1(nml)-1     ! # of 14-partners      -"-
-c First atom in molecule
+! First atom in molecule
       ifiat=iatrs1(irsml1(nml))
-c Last atom in molecule
+! Last atom in molecule
       ilaat=iatrs2(irsml2(nml))
-c First variable in molecule
+! First variable in molecule
       ifivr=ivrml1(nml)
-c Last variable in molecule
+! Last variable in molecule
       ilavr=ifivr+nvrml(nml)-1
-c ____________________________ initialize: 1st vdw-region & 14-partner per atom 
+! ____________________________ initialize: 1st vdw-region & 14-partner per atom 
       do i=ifiat,ilaat
         ivwat1(i)=0         !!!  for some atoms ...
@@ -74,9 +74,9 @@
         if ((i2s-i1s+1).gt.0) then
 
-c ____________ exclude mov.sets of var. 'iv' from 1ST list of interact.partn.
+! ____________ exclude mov.sets of var. 'iv' from 1ST list of interact.partn.
           do is=i1s,i2s
             ovlp=quench(latms1(is),latms2(is),n1st,mxh,l1st1,l1st2)
           enddo
-c _______________________________ intitialize 2ND list with current 1ST list
+! _______________________________ intitialize 2ND list with current 1ST list
           do i=1,n1st
             l2nd1(i)=l1st1(i)
@@ -84,5 +84,5 @@
           enddo
           n2nd=n1st
-c _________________________________ exclude 'ib' of var. 'iv' from 2ND list
+! _________________________________ exclude 'ib' of var. 'iv' from 2ND list
           ib=iowat(iatvr(iv))
           ovlp=quench(ib,ib,n2nd,mxh,l2nd1,l2nd2)
@@ -94,13 +94,13 @@
             ovlp=quench(iob,iob,n2nd,mxh,l2nd1,l2nd2) ! & in 2ND list
 
-c _____ atoms branching from 'iob': into GENERAL list of 1-4 partners
+! _____ atoms branching from 'iob': into GENERAL list of 1-4 partners
             do i=1,nbdat(iob)
               ibd=ibdat(i,iob)
               if (ibd.ne.ib.and.iowat(ibd).eq.iob.and.
-     #            quench(ibd,ibd,n2nd,mxh,l2nd1,l2nd2) ) then
+     &            quench(ibd,ibd,n2nd,mxh,l2nd1,l2nd2) ) then
                 n2i=n2i+1
                 if (n2i.gt.mx2) then
                   write (*,'(a,i3,2a)')  ' mklist> Molecule # ',nml,
-     #                ': too many atoms bound to ',nmat(iob)
+     &                ': too many atoms bound to ',nmat(iob)
                   stop
                 endif
@@ -108,6 +108,6 @@
               endif
             enddo  ! ... branches of 'iob'
-c ____________________________ check for further '1-4' partners
-c                              connected to branches 'l2i'
+! ____________________________ check for further '1-4' partners
+!                              connected to branches 'l2i'
             do i=1,n2i
               ia=l2i(i)
@@ -116,9 +116,9 @@
                 do j=latms1(im),latms2(im)
                   if (ia.ne.j.and.
-     #                quench(j,j,n2nd,mxh,l2nd1,l2nd2) ) then
+     &                quench(j,j,n2nd,mxh,l2nd1,l2nd2) ) then
                     n2i=n2i+1
                     if (n2i.gt.mx2) then
                       write (*,'(a,i3,a)')  ' mklist> Molecule # '
-     #                         ,nml,': too many atoms in list L2I'
+     &                         ,nml,': too many atoms in list L2I'
                       stop
                     endif
@@ -129,5 +129,5 @@
             enddo
 
-c ____ If 'iow(iob)' exists and in 2ND list: into GENERAL list of 1-4 partners
+! ____ If 'iow(iob)' exists and in 2ND list: into GENERAL list of 1-4 partners
             ioiob=iowat(iob)    !  existence of iow( iow(base) )
             if (ioiob.gt.0) then
@@ -136,5 +136,5 @@
                 if (n2i.gt.mx2) then
                   write (*,'(a,i3,2a)')  ' mklist> Molecule # '
-     #             ,nml,': too many atoms bound to ',nmat(iob)
+     &             ,nml,': too many atoms bound to ',nmat(iob)
                   stop
                 endif
@@ -150,27 +150,27 @@
           endif
 
-c ______ Atoms bound to 'ib' & in 2ND list(=are NOT in m.s of 'iv'):
-c                    exclude from 2ND list & put in list 'l1i'
+! ______ Atoms bound to 'ib' & in 2ND list(=are NOT in m.s of 'iv'):
+!                    exclude from 2ND list & put in list 'l1i'
           n1i=0
           do i=1,nbdat(ib)
             ibd=ibdat(i,ib)
             if (iowat(ibd).eq.ib.and.
-     #        quench(ibd,ibd,n2nd,mxh,l2nd1,l2nd2) ) then
+     &        quench(ibd,ibd,n2nd,mxh,l2nd1,l2nd2) ) then
               n1i=n1i+1
               if (n1i.gt.mxbd) then
                 write (*,'(a,i3,2a)')  ' mklist> Molecule # ',nml,
-     #             ': too many atoms bound to ',nmat(ib)
+     &             ': too many atoms bound to ',nmat(ib)
                 stop
               endif
               l1i(n1i)=ibd
-c _______ add atoms branching from 'l1i'-atoms to GENERAL list 1-4 partners
+! _______ add atoms branching from 'l1i'-atoms to GENERAL list 1-4 partners
               do j=1,nbdat(ibd)
                 jbd=ibdat(j,ibd)
                 if (iowat(jbd).eq.ibd.and.
-     #              quench(jbd,jbd,n2nd,mxh,l2nd1,l2nd2) ) then
+     &              quench(jbd,jbd,n2nd,mxh,l2nd1,l2nd2) ) then
                   n2i=n2i+1
                   if (n2i.gt.mx2) then
                     write (*,'(a,i3,2a)')  ' mklist> Molecule # ',nml,
-     #              ': too many atoms bound to branches of ',nmat(ib)
+     &              ': too many atoms bound to branches of ',nmat(ib)
                     stop
                   endif
@@ -180,6 +180,6 @@
             endif
           enddo
-c _____________________________ check for further '1-4' partners
-c                               belonging to moving set of base 'ib'
+! _____________________________ check for further '1-4' partners
+!                               belonging to moving set of base 'ib'
           im=ixmsat(ib)
           if (im.gt.0) then
@@ -189,5 +189,5 @@
                 if (n2i.gt.mx2) then
                   write (*,'(a,i3,a)')  ' mklist> Molecule # ',nml,
-     #            ': too many atoms n list L2I '
+     &            ': too many atoms n list L2I '
                   stop
                 endif
@@ -199,8 +199,8 @@
           do is=i1s,i2s
             do i=latms1(is),latms2(is)  ! ============= atoms in m.s of 'iv'
-c ________________________________________ Current 2ND list -> VdW-interact.
+! ________________________________________ Current 2ND list -> VdW-interact.
               if ((nvw+n2nd).gt.mxvw) then
                 write (*,'(a,i4,a,i5)') ' mklist> Molecule # ',nml,
-     #            ': Number of vdw-domains > ',mxvw
+     &            ': Number of vdw-domains > ',mxvw
                 stop
               endif
@@ -213,5 +213,5 @@
                 lvwat2(nvw)=l2nd2(j)
               enddo  ! ... vdW-domains
-c _________________________________________ General list of 1-4 partners
+! _________________________________________ General list of 1-4 partners
               if ((n14+n2i).gt.mx14) goto 1
               i14at1(i)=n14+1
@@ -221,6 +221,6 @@
                 l14at(n14)=l2i(j)
               enddo
-c __________________________________ Special cases of 1-4 interactions
-c                                    (list l1i, atoms iob,ib)
+! __________________________________ Special cases of 1-4 interactions
+!                                    (list l1i, atoms iob,ib)
               iow=iowat(i)
               if (iow.ne.ib) then
@@ -253,5 +253,5 @@
       nvwml(nml)=nvw-ivwml1(nml)+1
       n14ml(nml)=n14-i14ml1(nml)+1
-c _________________________________ some cleaning up
+! _________________________________ some cleaning up
       do i=ifiat,ilaat
         if (ivwat1(i).le.0) then
@@ -265,42 +265,42 @@
       enddo
 
-c ____________________________________________ Summary
-c      do i=ifiat,ilaat
-c        write (*,'(3a,i5,a)') ' ######## atom ',nmat(i),'(',i,')'
-c        iv1=ivwat1(i)
-c        iv2=ivwat2(i)
-c        if (iv1.le.iv2) then
-c          write(*,'(a)') ' ---> vdW :'
-c          do j=iv1,iv2
-c            write (*,'(i5,a,i5)') lvwat1(j),'-',lvwat2(j)
-c          enddo
-c        endif
-c        i41=i14at1(i)
-c        i42=i14at2(i)
-c        if (i41.le.i42) then
-c          write(*,'(a)') ' ---> 1-4 :'
-c          write(*,'(10i5)') (l14at(j),j=i41,i42)
-c        endif
-c      enddo
+! ____________________________________________ Summary
+!      do i=ifiat,ilaat
+!        write (*,'(3a,i5,a)') ' ######## atom ',nmat(i),'(',i,')'
+!        iv1=ivwat1(i)
+!        iv2=ivwat2(i)
+!        if (iv1.le.iv2) then
+!          write(*,'(a)') ' ---> vdW :'
+!          do j=iv1,iv2
+!            write (*,'(i5,a,i5)') lvwat1(j),'-',lvwat2(j)
+!          enddo
+!        endif
+!        i41=i14at1(i)
+!        i42=i14at2(i)
+!        if (i41.le.i42) then
+!          write(*,'(a)') ' ---> 1-4 :'
+!          write(*,'(10i5)') (l14at(j),j=i41,i42)
+!        endif
+!      enddo
 
       return
 
     1 write (*,'(a,i4,a,i5)') ' mklist> Molecule # ',nml,
-     #                     ': Number of 1-4 interactions > ',mx14
+     &                     ': Number of 1-4 interactions > ',mx14
       stop
       end
-c *********************************************
+! *********************************************
       logical function quench(i1,i2,n,mx,l1,l2)
 
-c ....................................................
-c PURPOSE:  Correct size/number (n) of index ranges
-c           given by lists 'l1' & 'l2' in order to
-c           EXCLUDE overlaps with range 'i1-i2'
-c
-c           quench = true, if any overlap was obtained
-c
-c CALLS: none
-c
-c ....................................................
+! ....................................................
+! PURPOSE:  Correct size/number (n) of index ranges
+!           given by lists 'l1' & 'l2' in order to
+!           EXCLUDE overlaps with range 'i1-i2'
+!
+!           quench = true, if any overlap was obtained
+!
+! CALLS: none
+!
+! ....................................................
 
       implicit integer*4 (i-n)
Index: mulcan_par.f
===================================================================
--- mulcan_par.f	(revision 2ebb8b629686fca2f81260a5ca88a8e21e0c1572)
+++ mulcan_par.f	(revision bd2278d6d1ff11d5a913fabac7fcc16d05c02a33)
@@ -5,6 +5,6 @@
 ! Copyright 2003-2005  Frank Eisenmenger, U.H.E. Hansmann,
 !                      Shura Hayryan, Chin-Ku 
-c Copyright 2007       Frank Eisenmenger, U.H.E. Hansmann,
-c                      Jan H. Meinke, Sandipan Mohanty
+! Copyright 2007       Frank Eisenmenger, U.H.E. Hansmann,
+!                      Jan H. Meinke, Sandipan Mohanty
 !
 ! **************************************************************
Index: mulcan_sim.f
===================================================================
--- mulcan_sim.f	(revision 2ebb8b629686fca2f81260a5ca88a8e21e0c1572)
+++ mulcan_sim.f	(revision bd2278d6d1ff11d5a913fabac7fcc16d05c02a33)
@@ -1,24 +1,24 @@
-c **************************************************************
-c
-c This file contains the subroutines: mulcan_sim,muca_weight2
-c
-c Copyright 2003-2005  Frank Eisenmenger, U.H.E. Hansmann,
-c                      Shura Hayryan, Chin-Ku 
-c Copyright 2007       Frank Eisenmenger, U.H.E. Hansmann,
-c                      Jan H. Meinke, Sandipan Mohanty
-c
-c **************************************************************
+! **************************************************************
+!
+! This file contains the subroutines: mulcan_sim,muca_weight2
+!
+! Copyright 2003-2005  Frank Eisenmenger, U.H.E. Hansmann,
+!                      Shura Hayryan, Chin-Ku 
+! Copyright 2007       Frank Eisenmenger, U.H.E. Hansmann,
+!                      Jan H. Meinke, Sandipan Mohanty
+!
+! **************************************************************
 
       subroutine  mulcan_sim
-C
-C PURPOSE: PERFORM A MULTICANONICAL SIMULATION
-C REQUIRES AS INPUT THE MULTICANONICAL PARAMETER AS CALCULATED
-C BY THE SUBROUTINE mulcan_par
-C
-c CALLS: addang, contacts,energy,metropolis
-c
+!
+! PURPOSE: PERFORM A MULTICANONICAL SIMULATION
+! REQUIRES AS INPUT THE MULTICANONICAL PARAMETER AS CALCULATED
+! BY THE SUBROUTINE mulcan_par
+!
+! CALLS: addang, contacts,energy,metropolis
+!
       include 'INCL.H'
 
-c     external rand
+!     external rand
       external muca_weight2
 
@@ -29,15 +29,15 @@
       parameter(nsweep=100000,nequi=100)
       Parameter(nsave=1000,nmes=10)
-C
-C     restart: .true. =  restart of simulation
-C              .false. = start of simulation with random configuration
-C     kmin,kmax: Range of multicanonical parameter
-C     ebin:      bin size for multicanonical parameter
-C     nequi: Number of sweeps for equilibrisation
-C     nsweep:  Number of sweeps for simulation run
-C     nsave:  Number of sweeps after which actual configuration is saved
-C             for re-starts
-C     nmes: Number of sweeps between measurments
-C
+!
+!     restart: .true. =  restart of simulation
+!              .false. = start of simulation with random configuration
+!     kmin,kmax: Range of multicanonical parameter
+!     ebin:      bin size for multicanonical parameter
+!     nequi: Number of sweeps for equilibrisation
+!     nsweep:  Number of sweeps for simulation run
+!     nsave:  Number of sweeps after which actual configuration is saved
+!             for re-starts
+!     nmes: Number of sweeps between measurments
+!
 
       dimension xhist(kmin:kmax),ihist(kmin:kmax)
@@ -45,11 +45,11 @@
 
  
-C FILE with last conformation (for re-starts)
+! FILE with last conformation (for re-starts)
       open(8,file='EXAMPLES/start.d')
-C File with contact map of reference configuration
+! File with contact map of reference configuration
       open(9,file='EXAMPLES/enkefa.ref')
-C File with multicanonical parameter
+! File with multicanonical parameter
       open(10,file='EXAMPLES/muca.d')
-C Result file: Time series of certain quantities
+! Result file: Time series of certain quantities
       open(11, file='EXAMPLES/time.d')
 
@@ -60,7 +60,7 @@
 
       nresi=irsml2(1)-irsml1(1) + 1
-c     nresi:  Number of residues
-
-C READ  REFERENCE CONTACT MAP
+!     nresi:  Number of residues
+
+! READ  REFERENCE CONTACT MAP
       nci = 0
       do i=1,nresi
@@ -74,9 +74,9 @@
       write(*,*) 'Number of contacts in reference conformation:',nci
 
-C READ IN FIELDS WITH MULTICANONICAL PARAMETER
+! READ IN FIELDS WITH MULTICANONICAL PARAMETER
       Do j=kmin,kmax
        read(10,*) i,b(i),alpha(i)
       end do
-C
+!
 
       if(restart) then
@@ -90,5 +90,5 @@
        write(*,*) 'Last iteration, energy:',nswm,eol_old
       else
-c _________________________________ random start
+! _________________________________ random start
        do i=1,nvr
         iv=idvr(i)  ! provides index of non-fixed variable
@@ -98,5 +98,5 @@
        enddo
       end if
-c
+!
       eol = energy()
       write (*,'(e12.5,/)')  eol
@@ -109,9 +109,9 @@
       end do
       write(*,*)
-C
+!
 
       
       if(.not.restart) then
-c =====================Equilibrization by  Metropolis
+! =====================Equilibrization by  Metropolis
        do nsw=1,nequi
         call metropolis(eol,acz,muca_weight2)
@@ -123,15 +123,15 @@
       end if
 
-C======================Simulation
+!======================Simulation
       acz = 0.0d0
-C LOOP OVER SWEEPS
+! LOOP OVER SWEEPS
       do nsw=nswm,nsweep
-C
-C METROPOLIS UPDATE
+!
+! METROPOLIS UPDATE
        call metropolis(eol,acz,muca_weight2)
        muold = min(kmax,max(kmin,int(eol/ebin+sign(0.5d0,eol))))
        ihist(muold) = ihist(muold) + 1
-C
-C  SAVE ACTUAL CONFORMATIONS FOR RE-STARTS:
+!
+!  SAVE ACTUAL CONFORMATIONS FOR RE-STARTS:
        if(mod(nsw,nsave).eq.0) then
         rewind 8
@@ -143,30 +143,30 @@
         end do
        end if
-C Measurements after NMES sweeps
+! Measurements after NMES sweeps
        if(mod(nsw,nmes).eq.0) then
-C Take a histogram of energy
+! Take a histogram of energy
         do i=kmin,kmax
          xhist(i) = xhist(i) + ihist(i)
          ihist(i) = 0
         end do
-c Calculate contacts in actual configuartion and compare with reference
-C configuration
-c       call contacts(nhx,nhy,dham)
-C nhx : Number of contcats in actual conformation
-C nhy : Number of contacts which are identical in actual and reference 
-C       configuration
-C dham:  Hamming distance between actual and reference configuration      
-C
+! Calculate contacts in actual configuartion and compare with reference
+! configuration
+!       call contacts(nhx,nhy,dham)
+! nhx : Number of contcats in actual conformation
+! nhy : Number of contacts which are identical in actual and reference 
+!       configuration
+! dham:  Hamming distance between actual and reference configuration      
+!
         write(11,'(i7,f12.2,2i8,f12.4)')  nsw,eol,nhx,nhy,dham
        end if
       end do
-C END OF SIMULATION
-
-C FINAL OUTPUT:
+! END OF SIMULATION
+
+! FINAL OUTPUT:
       acz = acz/dble(nsw*nvr)
       write(*,*) 'last energy',eol
       write(*,*) 'aczeptance rate:',acz
 
-C WRITE DOWN (UN-REWEIGHTED) HISTOGRAM OF MULTICANONICAL SIMULATION
+! WRITE DOWN (UN-REWEIGHTED) HISTOGRAM OF MULTICANONICAL SIMULATION
       do i=kmin,kmax
        if(xhist(i).gt.0.0d0) then
@@ -174,5 +174,5 @@
        end if
       end do
-c =====================
+! =====================
       close(8)
       close(9)
@@ -183,5 +183,5 @@
       end
 
-c ************************************************************
+! ************************************************************
       real*8 function muca_weight2(x)
 
Index: nursvr.f
===================================================================
--- nursvr.f	(revision 2ebb8b629686fca2f81260a5ca88a8e21e0c1572)
+++ nursvr.f	(revision bd2278d6d1ff11d5a913fabac7fcc16d05c02a33)
@@ -1,20 +1,20 @@
-c**************************************************************
-c
-c This file contains the subroutines: nursvr, nursat
-c
-c Copyright 2003-2005  Frank Eisenmenger, U.H.E. Hansmann,
-c                      Shura Hayryan, Chin-Ku 
-c Copyright 2007       Frank Eisenmenger, U.H.E. Hansmann,
-c                      Jan H. Meinke, Sandipan Mohanty
-c
-c **************************************************************
+!**************************************************************
+!
+! This file contains the subroutines: nursvr, nursat
+!
+! Copyright 2003-2005  Frank Eisenmenger, U.H.E. Hansmann,
+!                      Shura Hayryan, Chin-Ku 
+! Copyright 2007       Frank Eisenmenger, U.H.E. Hansmann,
+!                      Jan H. Meinke, Sandipan Mohanty
+!
+! **************************************************************
       integer*4 function nursvr(ivr)
 
-c ...........................................................
-c  PURPOSE: defines index of residue for given variable 'ivr'
-c
-c  CALLS: none
-c
-c ...........................................................
+! ...........................................................
+!  PURPOSE: defines index of residue for given variable 'ivr'
+!
+!  CALLS: none
+!
+! ...........................................................
       include 'INCL.H'
 
@@ -36,10 +36,10 @@
       end
 
-c **********************************
+! **********************************
       integer*4 function nursat(iat)
 
-c .......................................................
-c  PURPOSE: defines index of residue for given atom 'iat'
-c .......................................................
+! .......................................................
+!  PURPOSE: defines index of residue for given atom 'iat'
+! .......................................................
 
       include 'INCL.H'
Index: opeflx.f
===================================================================
--- opeflx.f	(revision 2ebb8b629686fca2f81260a5ca88a8e21e0c1572)
+++ opeflx.f	(revision bd2278d6d1ff11d5a913fabac7fcc16d05c02a33)
@@ -1,34 +1,34 @@
-c **************************************************************
-c
-c This file contains the subroutines: opeflx,gdtflx
-c
-c Copyright 2003-2005  Frank Eisenmenger, U.H.E. Hansmann,
-c                      Shura Hayryan, Chin-Ku 
-c Copyright 2007       Frank Eisenmenger, U.H.E. Hansmann,
-c                      Jan H. Meinke, Sandipan Mohanty
-c
-c **************************************************************
+! **************************************************************
+!
+! This file contains the subroutines: opeflx,gdtflx
+!
+! Copyright 2003-2005  Frank Eisenmenger, U.H.E. Hansmann,
+!                      Shura Hayryan, Chin-Ku 
+! Copyright 2007       Frank Eisenmenger, U.H.E. Hansmann,
+!                      Jan H. Meinke, Sandipan Mohanty
+!
+! **************************************************************
 
       subroutine opeflx(nml)
 
-c ......................................................................
-c PURPOSE: Calculate internal energy for FLEX dataset and its partial
-c          derivatives vs. variables using recursive algorithm from:
-c          Noguti T, Go N, J Phys Soc (Japan) v52 3685-3690 1984; Abe H,
-c          Braun W, Noguti T, Go N, Comp Chem v8 239-247 1984; Mazur A K,
-c          Abagyan R A, J Biomol Struct Dyn v6 815-832, which I modified
-c          for atomic forces instead of simple derivatives (see Lavery R,
-c          Sklenar H, Zakrzewska K, Pullman B, J Biomol Struct Dyn v3
-c          989-1014 1986)
-c
-c CALLS:   gdtflx
-c ......................................................................
+! ......................................................................
+! PURPOSE: Calculate internal energy for FLEX dataset and its partial
+!          derivatives vs. variables using recursive algorithm from:
+!          Noguti T, Go N, J Phys Soc (Japan) v52 3685-3690 1984; Abe H,
+!          Braun W, Noguti T, Go N, Comp Chem v8 239-247 1984; Mazur A K,
+!          Abagyan R A, J Biomol Struct Dyn v6 815-832, which I modified
+!          for atomic forces instead of simple derivatives (see Lavery R,
+!          Sklenar H, Zakrzewska K, Pullman B, J Biomol Struct Dyn v3
+!          989-1014 1986)
+!
+! CALLS:   gdtflx
+! ......................................................................
 
       include 'INCL.H'
 
       dimension xfat(mxat),yfat(mxat),zfat(mxat),
-     #          xtat(mxat),ytat(mxat),ztat(mxat),
-     #          xfvr(mxvr),yfvr(mxvr),zfvr(mxvr),
-     #          xfrvr(mxvr),yfrvr(mxvr),zfrvr(mxvr)
+     &          xtat(mxat),ytat(mxat),ztat(mxat),
+     &          xfvr(mxvr),yfvr(mxvr),zfvr(mxvr),
+     &          xfrvr(mxvr),yfrvr(mxvr),zfrvr(mxvr)
 
 
@@ -42,5 +42,5 @@
       if (ntlvr.eq.0) then
         write (*,'(a,i4)')
-     #           ' opeflx> No variables defined in molecule #',nml
+     &           ' opeflx> No variables defined in molecule #',nml
         return
       endif
@@ -117,5 +117,5 @@
         endif
 
-c ============================================ Energies & Atomic forces
+! ============================================ Energies & Atomic forces
 
         xfiv=0.d0
@@ -249,5 +249,5 @@
                     yfji=yfji+ dhb*py+ hhb*yij
                     zfji=zfji+ dhb*pz+ hhb*zij
-c __________________________________________________ No Hydrogen Bond
+! __________________________________________________ No Hydrogen Bond
                   else
                     eyvw=eyvw+eyrp-eyds
@@ -365,5 +365,5 @@
                   yfji=yfji+ dhb*py+ hhb*yij
                   zfji=zfji+ dhb*pz+ hhb*zij
-c __________________________________________________ No Hydrogen Bond
+! __________________________________________________ No Hydrogen Bond
                 else
                   eyvw=eyvw+eyrp-eyds
@@ -424,6 +424,6 @@
 
           gdeyvr(iv)= (ey*zb-ez*yb)*xfiv+(ez*xb-ex*zb)*yfiv+
-     #                (ex*yb-ey*xb)*zfiv
-     #               +ex*xfriv+ey*yfriv+ez*zfriv -fvr
+     &                (ex*yb-ey*xb)*zfiv
+     &               +ex*xfriv+ey*yfriv+ez*zfriv -fvr
 
         elseif (it.eq.1) then         ! b.length
@@ -441,14 +441,14 @@
       return
       end
-c *****************************
+! *****************************
       subroutine gdtflx(nml,iv)
 
-c .....................................................................
-c PURPOSE: calculate partial derivative of internal energy for molecule
-c          'nml' vs. variable 'iv' NUMERICALLY and compare with
-c          its value obtained analytically
-c
-c CALLS:  setvar, enyflx
-c .....................................................................
+! .....................................................................
+! PURPOSE: calculate partial derivative of internal energy for molecule
+!          'nml' vs. variable 'iv' NUMERICALLY and compare with
+!          its value obtained analytically
+!
+! CALLS:  setvar, enyflx
+! .....................................................................
 
       include 'INCL.H'
@@ -458,5 +458,5 @@
       dimension vlvrx(mxvr)
 
-c ____________________________ get & save values of variables
+! ____________________________ get & save values of variables
       do i=1,ivrml1(ntlml)+nvrml(ntlml)-1
         it=ityvr(i)  ! type
@@ -481,7 +481,7 @@
 
       write (*,'(1x,2a,2(e12.6,a))') nmvr(iv),': ',gda,' (',
-     #       abs(gda-gdn),')'
-
-c _________________________ restore
+     &       abs(gda-gdn),')'
+
+! _________________________ restore
       vlvrx(iv)=ovr
       call setvar(nml,vlvrx)
Index: opereg.f
===================================================================
--- opereg.f	(revision 2ebb8b629686fca2f81260a5ca88a8e21e0c1572)
+++ opereg.f	(revision bd2278d6d1ff11d5a913fabac7fcc16d05c02a33)
@@ -1,33 +1,33 @@
-c **************************************************************
-c
-c This file contains the subroutines: opereg,gdtgbl,gdtreg
-c
-c Copyright 2003-2005  Frank Eisenmenger, U.H.E. Hansmann,
-c                      Shura Hayryan, Chin-Ku 
-c Copyright 2007       Frank Eisenmenger, U.H.E. Hansmann,
-c                      Jan H. Meinke, Sandipan Mohanty
-c
-c **************************************************************
+! **************************************************************
+!
+! This file contains the subroutines: opereg,gdtgbl,gdtreg
+!
+! Copyright 2003-2005  Frank Eisenmenger, U.H.E. Hansmann,
+!                      Shura Hayryan, Chin-Ku 
+! Copyright 2007       Frank Eisenmenger, U.H.E. Hansmann,
+!                      Jan H. Meinke, Sandipan Mohanty
+!
+! **************************************************************
 
       subroutine opereg(nml)
 
-c .......................................................................
-c PURPOSE: calculate regul. energy & it's partial derivatives
-c          for molecule 'nml' vs. variables 'iv'
-c
-c  NB: if the unit axis for an internal variable coincides with a
-c      global axis (i.e. for torsion or bond length variation round
-c      or along 'xrfax', respectively, and bd. angle var. round
-c      'zrfax'): VdW & 14 interaction partners of moving set atoms
-c      should be used for calculation, instead of the mov. sets,
-c      with opposite sign.
-c
-c      Example: By the the way the molecule-fixed system is set up,
-c               changes in Phi_1 affect atomic positions BEFORE the
-c               N-C^alpha bond relatively to the space-fixed system,
-c               not the moving set of Phi_1.
-c
-c CALLS:    gdtgbl, gdtreg
-c ......................................................................
+! .......................................................................
+! PURPOSE: calculate regul. energy & it's partial derivatives
+!          for molecule 'nml' vs. variables 'iv'
+!
+!  NB: if the unit axis for an internal variable coincides with a
+!      global axis (i.e. for torsion or bond length variation round
+!      or along 'xrfax', respectively, and bd. angle var. round
+!      'zrfax'): VdW & 14 interaction partners of moving set atoms
+!      should be used for calculation, instead of the mov. sets,
+!      with opposite sign.
+!
+!      Example: By the the way the molecule-fixed system is set up,
+!               changes in Phi_1 affect atomic positions BEFORE the
+!               N-C^alpha bond relatively to the space-fixed system,
+!               not the moving set of Phi_1.
+!
+! CALLS:    gdtgbl, gdtreg
+! ......................................................................
 
       include 'INCL.H'
@@ -35,8 +35,8 @@
 
       dimension xfat(mxat),yfat(mxat),zfat(mxat),
-     #          xfrat(mxat),yfrat(mxat),zfrat(mxat),
-
-     #          xfvr(mxvr),yfvr(mxvr),zfvr(mxvr),
-     #          xfrvr(mxvr),yfrvr(mxvr),zfrvr(mxvr)
+     &          xfrat(mxat),yfrat(mxat),zfrat(mxat),
+
+     &          xfvr(mxvr),yfvr(mxvr),zfvr(mxvr),
+     &          xfrvr(mxvr),yfrvr(mxvr),zfrvr(mxvr)
 
       logical   lnb
@@ -46,5 +46,5 @@
       if (ntlvr.eq.0) then
         write (*,'(a,i4)')
-     #           ' opereg> No variables defined in molecule #',nml
+     &           ' opereg> No variables defined in molecule #',nml
         return
       endif
@@ -55,5 +55,5 @@
       ilavr=ifivr+ntlvr-1       ! last var. of 'nml'
 
-c --------------------------- initializations
+! --------------------------- initializations
       do i=ifivr,ilavr
         gdeyrg(i)=0.d0
@@ -107,5 +107,5 @@
           dz = 2.d0 * zji
 
-c =============================================== global pars.
+! =============================================== global pars.
 
           gdeygb(ii+1) = gdeygb(ii+1) - dx   ! d(E_ij) / d(x_i)
@@ -113,5 +113,5 @@
           gdeygb(ii+3) = gdeygb(ii+3) - dz   ! d(E_ij) / d(z_i)
 
-c -------------------------- r = r_i - r_1
+! -------------------------- r = r_i - r_1
           x = xi - x1
           y = yi - y1
@@ -123,7 +123,7 @@
 
           gdeygb(ii+6) = gdeygb(ii+6) +dx*(zk*y-yk*z)+dy*(xk*z-zk*x)  !  d(E_ij) / d(g)
-     #                                +dz*(yk*x-xk*y)
-
-c =============================================== for internal vars.
+     &                                +dz*(yk*x-xk*y)
+
+! =============================================== for internal vars.
 
           xfat(i) = dx
@@ -164,5 +164,5 @@
         zb=zat(ib)
 
-c ---------------------------------------- axis for var.
+! ---------------------------------------- axis for var.
 
         if (it.eq.3) then      ! torsion
@@ -279,6 +279,6 @@
 
           gdeyrg(iv)= (ey*zb-ez*yb)*xfiv+(ez*xb-ex*zb)*yfiv+
-     #                (ex*yb-ey*xb)*zfiv
-     #               +ex*xfriv+ey*yfriv+ez*zfriv
+     &                (ex*yb-ey*xb)*zfiv
+     &               +ex*xfriv+ey*yfriv+ez*zfriv
 
         elseif (it.eq.1) then         ! b.length
@@ -294,10 +294,10 @@
       return
       end
-c **************************
+! **************************
       subroutine gdtgbl(nml)
-C
-C CALLS: bldmol,enyreg
-c
-c -------------------------- gradtest for 'gbpr'
+!
+! CALLS: bldmol,enyreg
+!
+! -------------------------- gradtest for 'gbpr'
 
       include 'INCL.H'
@@ -310,5 +310,5 @@
       do i = 1,6
 
-c ----------------------------- modify
+! ----------------------------- modify
         pro = gbpr(i,nml)
         gbpr(i,nml) = pro+del
@@ -318,6 +318,6 @@
 
         write (*,*) ' Gb. var #',(ii+i),': ',gdeygb(ii+i),gdn,
-     #                                   abs(gdn-gdeygb(ii+i))
-c ----------------------------- restore
+     &                                   abs(gdn-gdeygb(ii+i))
+! ----------------------------- restore
         gbpr(i,nml) = pro
         call bldmol(nml)
@@ -327,14 +327,14 @@
       return
       end
-c *****************************
+! *****************************
       subroutine gdtreg(nml,iv)
 
-c .................................................................
-c PURPOSE: calculate partial derivative of reg. energy for molecule
-c          'nml' vs. variable 'iv' NUMERICALLY and compare with
-c          its value obtained analytically
-c
-c CALLS:  setvar, enyreg
-c .................................................................
+! .................................................................
+! PURPOSE: calculate partial derivative of reg. energy for molecule
+!          'nml' vs. variable 'iv' NUMERICALLY and compare with
+!          its value obtained analytically
+!
+! CALLS:  setvar, enyreg
+! .................................................................
 
       include 'INCL.H'
@@ -344,5 +344,5 @@
       dimension vlvrx(mxvr)
 
-c ____________________________ get & save values of variables
+! ____________________________ get & save values of variables
       do i=1,ivrml1(ntlml)+nvrml(ntlml)-1
         it=ityvr(i)  ! type
@@ -366,7 +366,7 @@
 
       write (*,'(1x,2a,2(e12.6,a))') nmvr(iv),': ',gda,' (',
-     #       abs(gda-gdn),')'
-
-c _________________________ restore vars
+     &       abs(gda-gdn),')'
+
+! _________________________ restore vars
       vlvrx(iv)=ovr
       call setvar(nml,vlvrx)
Index: opeshe.f
===================================================================
--- opeshe.f	(revision 2ebb8b629686fca2f81260a5ca88a8e21e0c1572)
+++ opeshe.f	(revision bd2278d6d1ff11d5a913fabac7fcc16d05c02a33)
@@ -1,33 +1,33 @@
-c **************************************************************
-c
-c This file contains the subroutines: opeshe,gdtshe
-c
-c Copyright 2003-2005  Frank Eisenmenger, U.H.E. Hansmann,
-c                      Shura Hayryan, Chin-Ku 
-c Copyright 2007       Frank Eisenmenger, U.H.E. Hansmann,
-c                      Jan H. Meinke, Sandipan Mohanty
-c
-c **************************************************************
+! **************************************************************
+!
+! This file contains the subroutines: opeshe,gdtshe
+!
+! Copyright 2003-2005  Frank Eisenmenger, U.H.E. Hansmann,
+!                      Shura Hayryan, Chin-Ku 
+! Copyright 2007       Frank Eisenmenger, U.H.E. Hansmann,
+!                      Jan H. Meinke, Sandipan Mohanty
+!
+! **************************************************************
 
       subroutine opeshe(nml)
 
-c ......................................................................
-c PURPOSE: Calculate internal energy for ECEPP/3 dataset and its partial
-c          derivatives vs. variables using recursive algorithm from:
-c          Noguti T, Go N, J Phys Soc (Japan) v52 3685-3690 1984; Abe H,
-c          Braun W, Noguti T, Go N, Comp Chem v8 239-247 1984; Mazur A K,
-c          Abagyan R A, J Biomol Struct Dyn v6 815-832, which I modified
-c          for atomic forces instead of simple derivatives (see Lavery R,
-c          Sklenar H, Zakrzewska K, Pullman B, J Biomol Struct Dyn v3
-c          989-1014 1986)
-c
-c CALLS:   gdtshe 
-c ......................................................................
+! ......................................................................
+! PURPOSE: Calculate internal energy for ECEPP/3 dataset and its partial
+!          derivatives vs. variables using recursive algorithm from:
+!          Noguti T, Go N, J Phys Soc (Japan) v52 3685-3690 1984; Abe H,
+!          Braun W, Noguti T, Go N, Comp Chem v8 239-247 1984; Mazur A K,
+!          Abagyan R A, J Biomol Struct Dyn v6 815-832, which I modified
+!          for atomic forces instead of simple derivatives (see Lavery R,
+!          Sklenar H, Zakrzewska K, Pullman B, J Biomol Struct Dyn v3
+!          989-1014 1986)
+!
+! CALLS:   gdtshe 
+! ......................................................................
 
       include 'INCL.H'
 
       dimension xfat(mxat),yfat(mxat),zfat(mxat),
-     #          xfvr(mxvr),yfvr(mxvr),zfvr(mxvr),
-     #          xfrvr(mxvr),yfrvr(mxvr),zfrvr(mxvr)
+     &          xfvr(mxvr),yfvr(mxvr),zfvr(mxvr),
+     &          xfrvr(mxvr),yfrvr(mxvr),zfrvr(mxvr)
 
 
@@ -41,5 +41,5 @@
       if (ntlvr.eq.0) then
         write (*,'(a,i4)')
-     #           ' opeshe> No variables defined in molecule #',nml
+     &           ' opeshe> No variables defined in molecule #',nml
         return
       endif
@@ -116,5 +116,5 @@
         endif
 
-c ============================================ Energies & Atomic forces
+! ============================================ Energies & Atomic forces
 
         xfiv=0.d0
@@ -303,6 +303,6 @@
 
           gdeyvr(iv)= (ey*zb-ez*yb)*xfiv+(ez*xb-ex*zb)*yfiv+
-     #                (ex*yb-ey*xb)*zfiv
-     #               +ex*xfriv+ey*yfriv+ez*zfriv -fvr
+     &                (ex*yb-ey*xb)*zfiv
+     &               +ex*xfriv+ey*yfriv+ez*zfriv -fvr
 
         elseif (it.eq.1) then         ! b.length
@@ -320,14 +320,14 @@
       return
       end
-c *****************************
+! *****************************
       subroutine gdtshe(nml,iv)
 
-c .....................................................................
-c PURPOSE: calculate partial derivative of internal energy for molecule
-c          'nml' vs. variable 'iv' NUMERICALLY and compare with
-c          its value obtained analytically
-c
-c CALLS:  setvar, enyshe
-c .....................................................................
+! .....................................................................
+! PURPOSE: calculate partial derivative of internal energy for molecule
+!          'nml' vs. variable 'iv' NUMERICALLY and compare with
+!          its value obtained analytically
+!
+! CALLS:  setvar, enyshe
+! .....................................................................
 
       include 'INCL.H'
@@ -337,5 +337,5 @@
       dimension vlvrx(mxvr)
 
-c ____________________________ get & save values of variables
+! ____________________________ get & save values of variables
       do i=1,ivrml1(ntlml)+nvrml(ntlml)-1
         it=ityvr(i)  ! type
@@ -360,7 +360,7 @@
 
       write (*,'(1x,2a,2(e12.6,a))') nmvr(iv),': ',gda,' (',
-     #       abs(gda-gdn),')'
-
-c _________________________ restore
+     &       abs(gda-gdn),')'
+
+! _________________________ restore
       vlvrx(iv)=ovr
       call setvar(nml,vlvrx)
Index: opesol.f
===================================================================
--- opesol.f	(revision 2ebb8b629686fca2f81260a5ca88a8e21e0c1572)
+++ opesol.f	(revision bd2278d6d1ff11d5a913fabac7fcc16d05c02a33)
@@ -1,41 +1,41 @@
-c **************************************************************
-c
-c This file contains the subroutines:  opesol,gdtsol
-c
-c Copyright 2003-2005  Frank Eisenmenger, U.H.E. Hansmann,
-c                      Shura Hayryan, Chin-Ku 
-c Copyright 2007       Frank Eisenmenger, U.H.E. Hansmann,
-c                      Jan H. Meinke, Sandipan Mohanty
-c
-c **************************************************************
+! **************************************************************
+!
+! This file contains the subroutines:  opesol,gdtsol
+!
+! Copyright 2003-2005  Frank Eisenmenger, U.H.E. Hansmann,
+!                      Shura Hayryan, Chin-Ku 
+! Copyright 2007       Frank Eisenmenger, U.H.E. Hansmann,
+!                      Jan H. Meinke, Sandipan Mohanty
+!
+! **************************************************************
 
       subroutine opesol(nml)
 
-c ......................................................................
-c PURPOSE:  derivatives of solvatation energy vs. internal variables for
-c           molecule 'nml'
-c
-c  NB: if the unit axis for an internal variable coincides with a
-c      global axis (i.e. for torsion or bond length variation round
-c      or along 'xrfax', respectively, and bd. angle var. round
-c      'zrfax'): VdW & 14 interaction partners of moving set atoms
-c      should be used for calculation, instead of the mov. sets,
-c      with opposite sign.
-c
-c      Example: By the the way the molecule-fixed system is set up,
-c               changes in Phi_1 affect atomic positions BEFORE the
-c               N-C^alpha bond relatively to the space-fixed system,
-c               not the moving set of Phi_1.
-c
-c CALLS:    esolan, gdtsol
-c ......................................................................
+! ......................................................................
+! PURPOSE:  derivatives of solvatation energy vs. internal variables for
+!           molecule 'nml'
+!
+!  NB: if the unit axis for an internal variable coincides with a
+!      global axis (i.e. for torsion or bond length variation round
+!      or along 'xrfax', respectively, and bd. angle var. round
+!      'zrfax'): VdW & 14 interaction partners of moving set atoms
+!      should be used for calculation, instead of the mov. sets,
+!      with opposite sign.
+!
+!      Example: By the the way the molecule-fixed system is set up,
+!               changes in Phi_1 affect atomic positions BEFORE the
+!               N-C^alpha bond relatively to the space-fixed system,
+!               not the moving set of Phi_1.
+!
+! CALLS:    esolan, gdtsol
+! ......................................................................
 
       include 'INCL.H'
 
       dimension xfat(mxat),yfat(mxat),zfat(mxat),
-     #          xfrat(mxat),yfrat(mxat),zfrat(mxat),
-
-     #          xfvr(mxvr),yfvr(mxvr),zfvr(mxvr),
-     #          xfrvr(mxvr),yfrvr(mxvr),zfrvr(mxvr)
+     &          xfrat(mxat),yfrat(mxat),zfrat(mxat),
+
+     &          xfvr(mxvr),yfvr(mxvr),zfvr(mxvr),
+     &          xfrvr(mxvr),yfrvr(mxvr),zfrvr(mxvr)
 
       logical   lnb
@@ -45,5 +45,5 @@
       if (ntlvr.eq.0) then
         write (*,'(a,i4)')
-     #           ' opesol> No variables defined in molecule #',nml
+     &           ' opesol> No variables defined in molecule #',nml
         return
       endif
@@ -66,5 +66,5 @@
       eysl = esolan(nml)
 
-c -------------------------------------------------- f & g for atoms
+! -------------------------------------------------- f & g for atoms
 
       do i=iatrs1(irsml1(nml)),iatrs2(irsml2(nml))
@@ -217,6 +217,6 @@
 
           gdeysl(iv)= (ey*zb-ez*yb)*xfiv+(ez*xb-ex*zb)*yfiv+
-     #                 (ex*yb-ey*xb)*zfiv
-     #                +ex*xfriv+ey*yfriv+ez*zfriv
+     &                 (ex*yb-ey*xb)*zfiv
+     &                +ex*xfriv+ey*yfriv+ez*zfriv
 
         elseif (it.eq.1) then         ! b.length
@@ -232,14 +232,14 @@
       return
       end
-c *****************************
+! *****************************
       subroutine gdtsol(nml,iv)
 
-c .....................................................................
-c PURPOSE: calculate partial derivative of solvation energy for molecule
-c          'nml' vs. variable 'iv' NUMERICALLY and compare with
-c          its value obtained analytically
-c
-c CALLS:  setvar, esolan
-c .....................................................................
+! .....................................................................
+! PURPOSE: calculate partial derivative of solvation energy for molecule
+!          'nml' vs. variable 'iv' NUMERICALLY and compare with
+!          its value obtained analytically
+!
+! CALLS:  setvar, esolan
+! .....................................................................
 
       include 'INCL.H'
@@ -250,5 +250,5 @@
 
 
-c ____________________________ get & save values of variables
+! ____________________________ get & save values of variables
       do i=1,ivrml1(ntlml)+nvrml(ntlml)-1
         it=ityvr(i)  ! type
@@ -272,7 +272,7 @@
 
       write (*,'(1x,2a,2(e12.6,a))') nmvr(iv),': ',gda,' (',
-     #       abs(gda-gdn),')'
-
-c _________________________ restore vars
+     &       abs(gda-gdn),')'
+
+! _________________________ restore vars
       vlvrx(iv)=ovr
 
Index: outpdb.f
===================================================================
--- outpdb.f	(revision 2ebb8b629686fca2f81260a5ca88a8e21e0c1572)
+++ outpdb.f	(revision bd2278d6d1ff11d5a913fabac7fcc16d05c02a33)
@@ -1,25 +1,25 @@
-c **************************************************************
-c
-c This file contains the subroutines: outpdb
-c
-c Copyright 2003-2005  Frank Eisenmenger, U.H.E. Hansmann,
-c                      Shura Hayryan, Chin-Ku 
-c Copyright 2007       Frank Eisenmenger, U.H.E. Hansmann,
-c                      Jan H. Meinke, Sandipan Mohanty
-c
-c **************************************************************
+! **************************************************************
+!
+! This file contains the subroutines: outpdb
+!
+! Copyright 2003-2005  Frank Eisenmenger, U.H.E. Hansmann,
+!                      Shura Hayryan, Chin-Ku 
+! Copyright 2007       Frank Eisenmenger, U.H.E. Hansmann,
+!                      Jan H. Meinke, Sandipan Mohanty
+!
+! **************************************************************
 
       subroutine outpdb(nml,fileName)
 
-c ..............................................
-c  PURPOSE:  write coordinates of molecule 'nml'
-c            in PDB-format (with specialities for hydrogens)
-c
-c  INPUT:    nml - number of molecule
-c
-c            npdb - unit of output-file
-c
-c  CALLS:    toupst,iendst
-c ..............................................
+! ..............................................
+!  PURPOSE:  write coordinates of molecule 'nml'
+!            in PDB-format (with specialities for hydrogens)
+!
+!  INPUT:    nml - number of molecule
+!
+!            npdb - unit of output-file
+!
+!  CALLS:    toupst,iendst
+! ..............................................
 
       include 'INCL.H'
@@ -90,5 +90,5 @@
               j = iendst(atnm)
               if (ichar(atnm(j:j)).ge.i0.and.
-     #            ichar(atnm(j:j)).le.i9) then
+     &            ichar(atnm(j:j)).le.i9) then
                 atnm(1:1)=atnm(j:j)
                 atnm(j:j)=' '
@@ -102,5 +102,5 @@
             linout = ' '
             write (linout,1) linty,iat,atnm,res(1:3),chid,irs,cdin,
-     #                       xat(i),yat(i),zat(i),occ,bva
+     &                       xat(i),yat(i),zat(i),occ,bva
             write(iout,'(a80)') linout
 
@@ -115,6 +115,6 @@
       enddo  ! molecules
 
-c ______________________________________ connectivity
-c                                        ( only bonds i-j with i<j)
+! ______________________________________ connectivity
+!                                        ( only bonds i-j with i<j)
 
       do iml = im1,im2
Index: outvar.f
===================================================================
--- outvar.f	(revision 2ebb8b629686fca2f81260a5ca88a8e21e0c1572)
+++ outvar.f	(revision bd2278d6d1ff11d5a913fabac7fcc16d05c02a33)
@@ -5,6 +5,6 @@
 ! Copyright 2005       Frank Eisenmenger, U.H.E. Hansmann,
 !                      Shura Hayryan, Chin-Ku 
-c Copyright 2007       Frank Eisenmenger, U.H.E. Hansmann,
-c                      Jan H. Meinke, Sandipan Mohanty
+! Copyright 2007       Frank Eisenmenger, U.H.E. Hansmann,
+!                      Jan H. Meinke, Sandipan Mohanty
 !
 ! **************************************************************
@@ -70,9 +70,9 @@
 
         if ( gbpr(1,iml).ne.zero
-     #   .or.gbpr(2,iml).ne.zero
-     #   .or.gbpr(3,iml).ne.zero
-     #   .or.gbpr(4,iml).ne.zero
-     #   .or.gbpr(5,iml).ne.zero
-     #   .or.gbpr(6,iml).ne.zero ) then
+     &   .or.gbpr(2,iml).ne.zero
+     &   .or.gbpr(3,iml).ne.zero
+     &   .or.gbpr(4,iml).ne.zero
+     &   .or.gbpr(5,iml).ne.zero
+     &   .or.gbpr(6,iml).ne.zero ) then
 
           do i = 1,3
@@ -84,6 +84,6 @@
 
           write(iout,'(1x,2a,1x,12a)')
-     #    '@ ',mlfd,(strg(i)(ibegst(strg(i)):),',',i=1,5),
-     #    strg(6)(ibegst(strg(6)):)
+     &    '@ ',mlfd,(strg(i)(ibegst(strg(i)):),',',i=1,5),
+     &    strg(6)(ibegst(strg(6)):)
 
         endif
@@ -97,5 +97,5 @@
 
             write(iout,'(3x,a,i3,1x,a,1x,a,1x,a,1x,f10.3)')
-     #        mlfd,(nursvr(i)-is),':',nmvr(i),':',vlvr(i)*crd
+     &        mlfd,(nursvr(i)-is),':',nmvr(i),':',vlvr(i)*crd
           else
 
@@ -105,6 +105,6 @@
 
               write(iout,'(3x,a,i3,1x,a,1x,a,1x,a,1x,f10.3,1x,a)')
-     #          mlfd,(nursvr(i)-is),':',nmvr(i),':',vlvr(i)*crd
-     #          ,' &'
+     &          mlfd,(nursvr(i)-is),':',nmvr(i),':',vlvr(i)*crd
+     &          ,' &'
             endif
 
Index: partem_p.f
===================================================================
--- partem_p.f	(revision 2ebb8b629686fca2f81260a5ca88a8e21e0c1572)
+++ partem_p.f	(revision bd2278d6d1ff11d5a913fabac7fcc16d05c02a33)
@@ -1,28 +1,28 @@
-c**************************************************************
-c     
-c This file contains the subroutines: partem_p 
-C USE WITH main_p, NOT WITH main!!!!!!
-c     
-c Copyright 2003-2005  Frank Eisenmenger, U.H.E. Hansmann,
-c                      Shura Hayryan, Chin-Ku 
-c Copyright 2007       Frank Eisenmenger, U.H.E. Hansmann,
-c                      Jan H. Meinke, Sandipan Mohanty
-c     
-c     **************************************************************
+!**************************************************************
+!     
+! This file contains the subroutines: partem_p 
+! USE WITH main_p, NOT WITH main!!!!!!
+!     
+! Copyright 2003-2005  Frank Eisenmenger, U.H.E. Hansmann,
+!                      Shura Hayryan, Chin-Ku 
+! Copyright 2007       Frank Eisenmenger, U.H.E. Hansmann,
+!                      Jan H. Meinke, Sandipan Mohanty
+!     
+!     **************************************************************
 
       subroutine  partem_p(num_rep, nequi, nswp, nmes, nsave, newsta,
      &                     switch, rep_id, partem_comm)
-C     
-C     PURPOSE: SIMULATION OF PROTEINS BY PARALLEL TEMPERING ALGORITHM 
-C     ON PARALLEL COMPUTERS USING MPI
-C     
-C     switch: Choses the starting configuration:
-C     -1 - stretched configuration
-C     0 - don't change anything
-C     1 - random start configuration
-C     
-c     CALLS:  addang,contacts,energy,hbond,helix,iendst,metropolis,
-c     outvar,(rand),rgyr
-C     
+!     
+!     PURPOSE: SIMULATION OF PROTEINS BY PARALLEL TEMPERING ALGORITHM 
+!     ON PARALLEL COMPUTERS USING MPI
+!     
+!     switch: Choses the starting configuration:
+!     -1 - stretched configuration
+!     0 - don't change anything
+!     1 - random start configuration
+!     
+!     CALLS:  addang,contacts,energy,hbond,helix,iendst,metropolis,
+!     outvar,(rand),rgyr
+!     
       include 'INCL.H'
       include 'INCP.H'
@@ -31,11 +31,11 @@
       logical newsta
       integer switch, partem_comm, rep_id, nsave
-c     external rand
+!     external rand
       external can_weight
 
-C     nequi:  number of Monte Carlo sweeps for thermalization
-C     nswp:   number of Monte Carlo sweeps
-C     nmes:   number of Monte Carlo sweeps between measurments
-C     newsta: .true. for new simulations, .false. for re-start
+!     nequi:  number of Monte Carlo sweeps for thermalization
+!     nswp:   number of Monte Carlo sweeps
+!     nmes:   number of Monte Carlo sweeps between measurments
+!     newsta: .true. for new simulations, .false. for re-start
 
       dimension  eavm(MAX_PROC),sph(MAX_PROC),intem(MAX_PROC),
@@ -47,24 +47,24 @@
       double precision    e_min, e_minp(MAX_PROC), e_minpt(MAX_PROC)
       integer   h_max, h_maxp(MAX_PROC)
-c     Order of replica exchange
+!     Order of replica exchange
       integer   odd
 !     Counter to keep random number generators in sync
       integer randomCount
       
-c     Collect partial energies. Only the root writes to disk. We have to
-c     collect the information from the different replicas and provide 
-c     arrays to store them.
-c     eyslr    storage array for solvent energy
-c     eyelp     -      "        - coulomb energy
-c     eyvwp     -      "        - van-der-Waals energy
-c     eyhbp     -      "        - hydrogen bonding energy
-c     eysmi    -      "        - intermolecular interaction energy
-c     eyabp     -      "        - Abagyan correction term
+!     Collect partial energies. Only the root writes to disk. We have to
+!     collect the information from the different replicas and provide 
+!     arrays to store them.
+!     eyslr    storage array for solvent energy
+!     eyelp     -      "        - coulomb energy
+!     eyvwp     -      "        - van-der-Waals energy
+!     eyhbp     -      "        - hydrogen bonding energy
+!     eysmi    -      "        - intermolecular interaction energy
+!     eyabp     -      "        - Abagyan correction term
       double precision eyslr(MAX_PROC)
       double precision eyelp(MAX_PROC),eyvwp(MAX_PROC),eyhbp(MAX_PROC), 
      &     eyvrp(MAX_PROC),eysmip(MAX_PROC), eyabp(MAX_PROC)
-c     Collect information about accessible surface and van-der-Waals volume
-c     asap      storage array for solvent accessible surface
-c     vdvolp     storage array for van-der-Waals volume
+!     Collect information about accessible surface and van-der-Waals volume
+!     asap      storage array for solvent accessible surface
+!     vdvolp     storage array for van-der-Waals volume
       double precision asap(MAX_PROC), vdvolp(MAX_PROC)
 
@@ -73,11 +73,11 @@
       integer imhbp(MAX_PROC)
       character*80 filebase, fileNameMP, tbase0,tbase1
-c     frame     frame number for writing configurations
-c     trackID   configuration that should be tracked and written out
-c     dir          direction in random walk
-c     -1 - visited highest temperature last
-c     1 - visited lowest temperature last
-c     0 - haven't visited the boundaries yet.
-c     dirp      storage array for directions.
+!     frame     frame number for writing configurations
+!     trackID   configuration that should be tracked and written out
+!     dir          direction in random walk
+!     -1 - visited highest temperature last
+!     1 - visited lowest temperature last
+!     0 - haven't visited the boundaries yet.
+!     dirp      storage array for directions.
       integer frame, trackID, dir
       integer dirp(MAX_PROC)
@@ -90,19 +90,19 @@
      &            rep_id, num_rep, partem_comm, myrank
       call flush(6)
-C     
-c     
-C     File with temperatures 
+!     
+!     
+!     File with temperatures 
       open(11,file='temperatures',status='old')
-C     File with reference conformation
+!     File with reference conformation
       tbase0='trj_00000'
       open(18,file=fileNameMP(tbase0,5,9,rep_id),status='unknown')
       if (rep_id.eq.0.and.myrank.eq.0) then
-c     File with time series of simulation
+!     File with time series of simulation
          open(14,file='ts.d',status='unknown')
-c     Track weights
-c      open(16, file='weights.dat', status='unknown')
+!     Track weights
+!      open(16, file='weights.dat', status='unknown')
       endif
       
-C     READ IN TEMPERATURES
+!     READ IN TEMPERATURES
       do i=1,num_rep
          read(11,*) j,temp
@@ -111,8 +111,8 @@
       close(11)
 
-c     nresi:  number of residues
+!     nresi:  number of residues
       nresi=irsml2(1)-irsml1(1)+1
-C     
-C     Initialize variables
+!     
+!     Initialize variables
       do i=1,num_rep      
          acx1(i) = 0.0d0
@@ -132,5 +132,5 @@
       dir = dirp(rep_id + 1)
 
-c     _________________________________ Initialize Variables
+!     _________________________________ Initialize Variables
       if(newsta) then
          iold=0
@@ -139,5 +139,5 @@
             intem(i) = i
          end do
-c     _________________________________ initialize starting configuration
+!     _________________________________ initialize starting configuration
          if (switch.ne.0) then
             do i=1,nvr
@@ -178,9 +178,9 @@
          CALL MPI_BCAST(INODE,num_rep,MPI_INTEGER,0,MPI_COMM_WORLD,IERR)
          CALL MPI_BCAST(YOL,num_rep,MPI_DOUBLE_PRECISION,0,
-     #        MPI_COMM_WORLD,IERR)
+     &        MPI_COMM_WORLD,IERR)
          CALL MPI_BCAST(E_MINP, num_rep, MPI_DOUBLE_PRECISION, 0, 
-     #        MPI_COMM_WORLD, IERR)
+     &        MPI_COMM_WORLD, IERR)
          CALL MPI_BCAST(h_maxp,num_rep,MPI_INTEGER,0,MPI_COMM_WORLD,
-     $        IERR)
+     &        IERR)
       end if
       
@@ -194,8 +194,8 @@
          write(*,*) rep_id, yol(rep_id + 1), eol
       endif
-C     Start of simulation
+!     Start of simulation
       write (*,*) '[',rep_id, myrank, beta, partem_comm,
      &            '] Energy before equilibration:', eol
-c     =====================Equilibration by canonical Metropolis
+!     =====================Equilibration by canonical Metropolis
       do nsw=1,nequi
          call metropolis(eol,acz,can_weight)
@@ -204,9 +204,9 @@
       write (*,*) '[',rep_id,'] Energy after equilibration:', eol
       call flush(6)
-C     
-C======================Multiple Markov Chains
+!     
+!======================Multiple Markov Chains
       acz = 0
       do nsw=1,nswp
-c------------First ordinary Metropolis 
+!------------First ordinary Metropolis 
          call metropolis(eol,acz,can_weight)
          iold = iold + 1	
@@ -223,15 +223,15 @@
             endif
             acz0 = acz
-c     Evaluate RMSD
+!     Evaluate RMSD
             nml = 1
             rmsv = rmsdfun(nml,irsml1(nml),irsml2(nml),ixatp,xatp,yatp, &
      &             zatp,0)
-c            print *,myrank,'received RMSD,energy ',rmsv,eyab,beta
-C     Measure global radius of gyration
+!            print *,myrank,'received RMSD,energy ',rmsv,eyab,beta
+!     Measure global radius of gyration
             call rgyr(0,rgy,ee)  
             rgyp = rgy
-C     Measure Helicity and Sheetness
+!     Measure Helicity and Sheetness
             call helix(nhel,mhel,nbet,mbet)
-C     Measure Number of hydrogen bonds
+!     Measure Number of hydrogen bonds
             mhb = 0
             do i = 1, ntlml
@@ -240,10 +240,10 @@
             enddo
             call interhbond(imhb) 
-C     Measure total number of contacts (NCTOT) and number of
-C     native contacts (NCNAT)
+!     Measure total number of contacts (NCTOT) and number of
+!     native contacts (NCNAT)
             call contacts(nctot,ncnat,dham)
-c     Add tracking of lowest energy configuration
+!     Add tracking of lowest energy configuration
             if (eol.lt.e_min) then
-c     Write out configuration
+!     Write out configuration
                i=rep_id+1
                j=inode(i)
@@ -262,7 +262,7 @@
                close(15)
             endif
-c     Add tracking of configuration with larges hydrogen contents.
+!     Add tracking of configuration with larges hydrogen contents.
             if ((mhb + imhb).gt.h_max) then
-c     Write out configuration
+!     Write out configuration
                i = rep_id + 1
                j = inode(i)
@@ -282,15 +282,15 @@
             endif
 
-C     
-C--------------------Gather measurement data
+!     
+!--------------------Gather measurement data
 ! I only use the master node of each replica for data collection. The
 ! variable partem_comm provides the appropriate communicator.
             if (partem_comm.ne.MPI_COMM_NULL) then
                CALL MPI_GATHER(rmsv,1,MPI_DOUBLE_PRECISION,rmsdp,1,
-     #              MPI_DOUBLE_PRECISION, 0,partem_comm,IERR)
+     &              MPI_DOUBLE_PRECISION, 0,partem_comm,IERR)
                CALL MPI_GATHER(eyab,1,MPI_DOUBLE_PRECISION,eyabp,1,
-     #              MPI_DOUBLE_PRECISION, 0,partem_comm,IERR)
+     &              MPI_DOUBLE_PRECISION, 0,partem_comm,IERR)
                CALL MPI_GATHER(RGYP,1,MPI_DOUBLE_PRECISION,RGYRP,1,
-     #              MPI_DOUBLE_PRECISION, 0,partem_comm,IERR)
+     &              MPI_DOUBLE_PRECISION, 0,partem_comm,IERR)
                CALL MPI_GATHER(NHEL,1,MPI_INTEGER,NHELP,1,MPI_INTEGER,
      &              0,partem_comm,IERR)
@@ -335,10 +335,10 @@
 !     &                0,MPI_COMM_WORLD, IERR)                
 
-c     Write trajectory
+!     Write trajectory
                write (18,*) '@@@',iold,inode(rep_id+1)
                call outvbs(0,18)
                write (18,*) '###'
 !                call flush(18)
-c     Write current configuration
+!     Write current configuration
                if ((mod(iold, nsave).eq.0)) then
                   filebase = "conf_0000.var"
@@ -349,15 +349,15 @@
             if(rep_id.eq.0.and.myrank.eq.0) then
                randomCount = 0
-c  Update acceptance, temperature wise average of E and E^2 used to calculate
-c  specific heat. 
+!  Update acceptance, temperature wise average of E and E^2 used to calculate
+!  specific heat. 
                do i=1,num_rep
                   j=intem(i)
                   acy(i)=0.0
-c  Above: contents of acy1 are added to acy(i) a few lines down. 
-c  acy1(intem(i)) contains information received from the node at temperature
-c  i, on how many updates have been accepted in node intem(i). Since acz
-c  is not reset to 0 every cycle, acy(i) must be set to 0 here. Else, there 
-c  will be serious double counting and the values of acceptance printed 
-c  will be simply wrong.
+!  Above: contents of acy1 are added to acy(i) a few lines down. 
+!  acy1(intem(i)) contains information received from the node at temperature
+!  i, on how many updates have been accepted in node intem(i). Since acz
+!  is not reset to 0 every cycle, acy(i) must be set to 0 here. Else, there 
+!  will be serious double counting and the values of acceptance printed 
+!  will be simply wrong.
                   e_minpt(i)=e_minp(intem(i))
                end do
@@ -371,5 +371,5 @@
 
 
-C     Write measurements to the time series file ts.d
+!     Write measurements to the time series file ts.d
                do i=1,num_rep
                   j=intem(i)
@@ -382,5 +382,5 @@
 !                      call flush(14)
                end do
-c     Write the current parallel tempering information into par_R.in
+!     Write the current parallel tempering information into par_R.in
 !               timeLeft = llwrem(2) ! Time left till hard limit
 !               if ((mod(iold, nsave).eq.0).or.(timeLeft.lt.minTimeLeft)
@@ -393,6 +393,6 @@
      &                    h_maxp(i)
                   end do
-C     -------------------------- Various statistics of current run
-c               swp=nswp-nequi
+!     -------------------------- Various statistics of current run
+!               swp=nswp-nequi
                   swp=nsw
                   write(13,*) 'Acceptance rate for change of chains:'
@@ -400,7 +400,7 @@
                      temp=1.0d0/pbe(k1)/0.00198773
                      write(13,*) temp, acx1(k1)*2.0d0*nmes/swp 
-c  Above: it's the acceptance rate of exchange of replicas. Since a 
-c  replica exchange is attempted only once every nmes sweeps, the 
-c  rate should be normalized with (nmes/swp).
+!  Above: it's the acceptance rate of exchange of replicas. Since a 
+!  replica exchange is attempted only once every nmes sweeps, the 
+!  rate should be normalized with (nmes/swp).
                   end do 
                   write(13,*)
@@ -411,12 +411,12 @@
                      geavm(k1) = nmes*eavm(k1)/swp
                      gsph(k1)  = (nmes*sph(k1)/swp-geavm(k1)**2)
-     #                    *beta*beta/nresi
+     &                    *beta*beta/nresi
                      write(13,'(a,2f9.2,i4,f12.3)') 
      &                    'Temperature, Node,local acceptance rate:',
      &                    beta,temp,k,acy(k1)/dble(nsw*nvr)
-c  Above: Changed (nswp-nequi) in the denominator of acceptance as 
-c  acceptance values are initialized to 0 after equilibration cycles are
-c  finished. Note also that since this is being written in the middle of
-c  the simulation, it is normalized to nsw instead of nswp.
+!  Above: Changed (nswp-nequi) in the denominator of acceptance as 
+!  acceptance values are initialized to 0 after equilibration cycles are
+!  finished. Note also that since this is being written in the middle of
+!  the simulation, it is normalized to nsw instead of nswp.
                      write(13,'(a,3f12.2)') 
      &                    'Last Energy, Average Energy, Spec. Heat:', 
@@ -431,10 +431,10 @@
                end if
 
-C--------------------Parallel Tempering  update
-c     Swap with right neighbor (odd, even)            
+!--------------------Parallel Tempering  update
+!     Swap with right neighbor (odd, even)            
                if(odd.eq.1) then
                   nu=1
                   no1 = num_rep-1
-c     Swap with left neighbor (even, odd)
+!     Swap with left neighbor (even, odd)
                else
                   nu = 2
@@ -443,5 +443,5 @@
                do i=nu,no1,2
                   j=i+1
-c     Periodic bc for swaps
+!     Periodic bc for swaps
                   if(i.eq.num_rep) j=1
                   in=intem(i)
@@ -449,17 +449,17 @@
                   wij=exp(-pbe(i)*yol(jn)-pbe(j)*yol(in)
      &                 +pbe(i)*yol(in)+pbe(j)*yol(jn))
-c The random number generator is getting out of sync here, because
-c        the swap is only done on node 0!
+! The random number generator is getting out of sync here, because
+!        the swap is only done on node 0!
 ! Keep track of number of random numbers used.
                   rd=grnd()
                   randomCount = randomCount + 1
-c                  write (16,*) '>', iold, i,j
-c     &            ,pbe(i),yol(in), pbe(j), yol(jn), wij, rd
+!                  write (16,*) '>', iold, i,j
+!     &            ,pbe(i),yol(in), pbe(j), yol(jn), wij, rd
                   if(wij.ge.rd) then
-c Next line: Replica exchange only happens after equilibration, 
-c which takes place outside this loop over nsw. So, I think nsw.gt.nequi
-c is irrelevant for the calculation of acceptance of replica exchanges.
-c /Sandipan
-c                     if(nsw.gt.nequi) 
+! Next line: Replica exchange only happens after equilibration, 
+! which takes place outside this loop over nsw. So, I think nsw.gt.nequi
+! is irrelevant for the calculation of acceptance of replica exchanges.
+! /Sandipan
+!                     if(nsw.gt.nequi) 
                      acx1(i) = acx1(i)+1
                      intem(i) = jn
@@ -469,13 +469,13 @@
                   end if
                end do
-c     ---------------- End Loop over nodes which creates a new temperature
-c     map for all nodes, at the node with rank 0. 
-c     
+!     ---------------- End Loop over nodes which creates a new temperature
+!     map for all nodes, at the node with rank 0. 
+!     
                odd = 1 - odd
             end if
-c     End of "if (myrank.eq.0) ...". The block above includes PT update and 
-c     writing of observables into the time series file etc. 
+!     End of "if (myrank.eq.0) ...". The block above includes PT update and 
+!     writing of observables into the time series file etc. 
            
-c     Below: Communicate new temperature-node map to all nodes
+!     Below: Communicate new temperature-node map to all nodes
             CALL MPI_BCAST(INTEM,num_rep,MPI_INTEGER,0,MPI_COMM_WORLD,
      &           IERR)
@@ -486,5 +486,5 @@
             CALL MPI_BCAST(H_MAXP,num_rep,MPI_INTEGER,0,MPI_COMM_WORLD,
      &           IERR)
-c Synchronize random number generators for replica 0
+! Synchronize random number generators for replica 0
             if (rep_id.eq.0) then
                CALL MPI_BCAST(randomCount,1,MPI_INTEGER,0,my_mpi_comm,
@@ -507,10 +507,10 @@
 
          endif
-c        End of "if (mod(iold,nmes).eq.0) ..."
+!        End of "if (mod(iold,nmes).eq.0) ..."
       end do
-c-----------End Loop over sweeps
-c     
-C     OUTPUT:
-C--------------------For Re-starts:
+!-----------End Loop over sweeps
+!     
+!     OUTPUT:
+!--------------------For Re-starts:
       nu = rep_id + 1
       filebase = "conf_0000.var"
@@ -524,7 +524,7 @@
       if (partem_comm.ne.MPI_COMM_NULL) then
          CALL MPI_GATHER(EOL0,1,MPI_DOUBLE_PRECISION,YOL,1,
-     #        MPI_DOUBLE_PRECISION,0,partem_comm,IERR)
+     &        MPI_DOUBLE_PRECISION,0,partem_comm,IERR)
          CALL MPI_GATHER(acz0,1,MPI_DOUBLE_PRECISION,acy1,1,
-     #     MPI_DOUBLE_PRECISION,0,partem_comm,IERR)
+     &     MPI_DOUBLE_PRECISION,0,partem_comm,IERR)
       endif
       
@@ -536,5 +536,5 @@
             write(13,*) i,inode(i),intem(i),yol(i),e_minp(i),h_maxp(i)
          end do
-C     -------------------------- Various statistics of current run
+!     -------------------------- Various statistics of current run
          swp=nswp
          write(13,*) 'Acceptance rate for change of chains:'
@@ -559,9 +559,9 @@
          end do
          close(13)
-c         close(16)
+!         close(16)
       end if
       close(18)
 
-c     =====================
+!     =====================
       CALL MPI_BARRIER(MPI_COMM_WORLD,IERR)
 
Index: partem_s.f
===================================================================
--- partem_s.f	(revision 2ebb8b629686fca2f81260a5ca88a8e21e0c1572)
+++ partem_s.f	(revision bd2278d6d1ff11d5a913fabac7fcc16d05c02a33)
@@ -5,6 +5,6 @@
 ! Copyright 2003-2005  Frank Eisenmenger, U.H.E. Hansmann,
 !                      Shura Hayryan, Chin-Ku 
-c Copyright 2007       Frank Eisenmenger, U.H.E. Hansmann,
-c                      Jan H. Meinke, Sandipan Mohanty
+! Copyright 2007       Frank Eisenmenger, U.H.E. Hansmann,
+!                      Jan H. Meinke, Sandipan Mohanty
 !
 !
Index: pdbread.f
===================================================================
--- pdbread.f	(revision 2ebb8b629686fca2f81260a5ca88a8e21e0c1572)
+++ pdbread.f	(revision bd2278d6d1ff11d5a913fabac7fcc16d05c02a33)
@@ -1,23 +1,23 @@
-c **************************************************************
-c
-c This file contains the subroutines: pdbread,pdbvars,atixpdb,getpar
-c
-c Copyright 2003-2005  Frank Eisenmenger, U.H.E. Hansmann,
-c                      Shura Hayryan, Chin-Ku 
-c Copyright 2007       Frank Eisenmenger, U.H.E. Hansmann,
-c                      Jan H. Meinke, Sandipan Mohanty
-c
-c **************************************************************
+! **************************************************************
+!
+! This file contains the subroutines: pdbread,pdbvars,atixpdb,getpar
+!
+! Copyright 2003-2005  Frank Eisenmenger, U.H.E. Hansmann,
+!                      Shura Hayryan, Chin-Ku 
+! Copyright 2007       Frank Eisenmenger, U.H.E. Hansmann,
+!                      Jan H. Meinke, Sandipan Mohanty
+!
+! **************************************************************
 
       subroutine pdbread(pdbfil,ier)
 
-c ....................................................
-c PURPOSE: read protein atom coordinates from 'pdbfil'
-c          (no Hydrogens, only ATOM records)
-c
-c RETURNS: 0 = no errors / 1 = error
-c
-c CALLS: iopfil,iendst
-c ......................................................
+! ....................................................
+! PURPOSE: read protein atom coordinates from 'pdbfil'
+!          (no Hydrogens, only ATOM records)
+!
+! RETURNS: 0 = no errors / 1 = error
+!
+! CALLS: iopfil,iendst
+! ......................................................
 
       implicit real*8 (a-h,o-z)
@@ -26,10 +26,10 @@
       include 'INCP.H'
 
-c -------------------------- input
+! -------------------------- input
       character*(*) pdbfil
-c -------------------------- local
+! -------------------------- local
       dimension cor(3)
       character atm*4,rsn*3,rsno*3,chn,chno,
-     #          rsid*5,rsido*5,line*132
+     &          rsid*5,rsido*5,line*132
 
       natp=0
@@ -48,5 +48,5 @@
       else
         write (*,'(a)') 
-     #    ' pdbread> empty file name to read pdb-structure'
+     &    ' pdbread> empty file name to read pdb-structure'
 
         return
@@ -57,6 +57,6 @@
       if (io.le.0) then
         write (*,'(a,/,a)') 
-     #  ' pdbread> ERROR opening file to read pdb-structure: ',
-     #  pdbfil(1:iendst(pdbfil))
+     &  ' pdbread> ERROR opening file to read pdb-structure: ',
+     &  pdbfil(1:iendst(pdbfil))
 
         return
@@ -70,7 +70,7 @@
       if ( line(17:17).ne.' ' )  then
         write (*,'(a,/,a,/,a,/,2a)') 
-     #  ' pdbread> found alternate atom location: ',
-     #  '                !',
-     #  line(:l),' in file: ',pdbfil(1:iendst(pdbfil))
+     &  ' pdbread> found alternate atom location: ',
+     &  '                !',
+     &  line(:l),' in file: ',pdbfil(1:iendst(pdbfil))
 
         close(lunpdb)
@@ -86,6 +86,6 @@
       if ((natp+1).gt.MXATP) then
         write (*,'(a,i5,a,/,a)') 
-     #  ' pdbread>  >MXATP (',MXATP,') ATOM lines in PDB file ',
-     #  pdbfil(1:iendst(pdbfil))
+     &  ' pdbread>  >MXATP (',MXATP,') ATOM lines in PDB file ',
+     &  pdbfil(1:iendst(pdbfil))
 
         close(lunpdb)
@@ -97,6 +97,6 @@
         if ((nchp+1).gt.MXCHP) then
           write (*,'(a,i3,a,/,a)') 
-     #    ' pdbread>  >MXCHP (',MXCHP,') chains in PDB file ',
-     #    pdbfil(1:iendst(pdbfil))
+     &    ' pdbread>  >MXCHP (',MXCHP,') chains in PDB file ',
+     &    pdbfil(1:iendst(pdbfil))
 
           close(lunpdb)
@@ -106,6 +106,6 @@
         if ((nrsp+1).gt.MXRSP) then
           write (*,'(a,i3,a,/,a)') 
-     #    ' pdbread>  >MXRSP (',MXRSP,') residues in PDB file ',
-     #    pdbfil(1:iendst(pdbfil))
+     &    ' pdbread>  >MXRSP (',MXRSP,') residues in PDB file ',
+     &    pdbfil(1:iendst(pdbfil))
 
           close(lunpdb)
@@ -141,6 +141,6 @@
         if ((nrsp+1).gt.MXRSP) then
           write (*,'(a,i3,a,/,a)') 
-     #    ' pdbread>  >MXRSP (',MXRSP,') residues in PDB file ',
-     #    pdbfil(1:iendst(pdbfil))
+     &    ' pdbread>  >MXRSP (',MXRSP,') residues in PDB file ',
+     &    pdbfil(1:iendst(pdbfil))
 
           close(lunpdb)
@@ -172,7 +172,7 @@
 
     2 write (*,'(a,/,a,/,2a)') 
-     #  ' pdbread> ERROR reading ATOM line ',
-     #  line(:l),
-     #  ' from file ',pdbfil(1:iendst(pdbfil))
+     &  ' pdbread> ERROR reading ATOM line ',
+     &  line(:l),
+     &  ' from file ',pdbfil(1:iendst(pdbfil))
 
       close(lunpdb)
@@ -195,6 +195,6 @@
 
         write (*,'(a,/,a)') 
-     #  ' pdbread> NO atom coordinates selected from file ',
-     #  pdbfil(1:iendst(pdbfil))
+     &  ' pdbread> NO atom coordinates selected from file ',
+     &  pdbfil(1:iendst(pdbfil))
 
       endif
@@ -205,22 +205,22 @@
 
       end
-c **************************************************************
+! **************************************************************
 
       subroutine pdbvars()
 
-c --------------------------------------------------------------------
-c PURPOSE: sequence,indices for selected atoms (data in INCP.H)
-c          & torsions from PDB to be used to build SMMP structure
-c
-c          ixatp(i,)
-c          = indices for SMMP atoms pointing to PDB atoms
-c            (=0, if atom not selected)
-c
-c --------------------------------- ref. point & axes
-c         ixrfpt(3,),rfpt(3,),xrfax(3,),yrfax(3,),zrfax(3,)
-c
-c CALLS:  tolost,getmol,bldmol,addend,atixpdb,setmvs,mklist,
-c         dihedr,fnd3ba,setsys,getpar,setvar,rmsdopt
-c --------------------------------------------------------------------
+! --------------------------------------------------------------------
+! PURPOSE: sequence,indices for selected atoms (data in INCP.H)
+!          & torsions from PDB to be used to build SMMP structure
+!
+!          ixatp(i,)
+!          = indices for SMMP atoms pointing to PDB atoms
+!            (=0, if atom not selected)
+!
+! --------------------------------- ref. point & axes
+!         ixrfpt(3,),rfpt(3,),xrfax(3,),yrfax(3,),zrfax(3,)
+!
+! CALLS:  tolost,getmol,bldmol,addend,atixpdb,setmvs,mklist,
+!         dihedr,fnd3ba,setsys,getpar,setvar,rmsdopt
+! --------------------------------------------------------------------
 
       include 'INCL.H'
@@ -236,20 +236,20 @@
       do nc=1,nchp  ! PDB chains
 
-c =============================== SMMP molecule
+! =============================== SMMP molecule
         nml=nml+1
         if (nml.gt.mxml) then
           write(*,'(a,i4,2a)')' pdbvars> NUMBER of chains > '
-     #                          ,mxml,' in ',' ?'
+     &                          ,mxml,' in ',' ?'
           stop
         endif
         ntlml=nml
-c ----------------------------- 'nmml' = ChainID
+! ----------------------------- 'nmml' = ChainID
         nmml(nml)=chnp(nc)
 
-c ======================================== get sequence
+! ======================================== get sequence
 
         irb=nrs+1
         ire=nrs+nchrsp(nc)
-c ----------------------------- # of 1st & last residue
+! ----------------------------- # of 1st & last residue
         irsml1(nml)=irb
         irsml2(nml)=ire
@@ -261,5 +261,5 @@
           if (nrs.gt.mxrs) then
             write(*,'(a,i4,2a)') ' pdbvars> NUMBER of residues > '
-     #                       ,mxrs,' in ',' ?'
+     &                       ,mxrs,' in ',' ?'
             stop
           endif
@@ -271,10 +271,10 @@
 
           if (.not.flex.and.irs.eq.irb.and.seq(nrs)(1:3).eq.'pro')
-     #      seq(nrs)='pron'  ! only ECEPP/3
+     &      seq(nrs)='pron'  ! only ECEPP/3
 
         enddo ! residues
 
-c ======================== get initial coords. for molecule 'nml'
-c                          with library values for deg. of freedom
+! ======================== get initial coords. for molecule 'nml'
+!                          with library values for deg. of freedom
 
         call getmol(nml)   ! assemble res. data from libraries
@@ -289,9 +289,9 @@
         call atixpdb(nml)  ! get 'ixatp'
 
-c -------------------------- 'load' SMMP variable information
+! -------------------------- 'load' SMMP variable information
         call setmvs(nml)   ! moving sets
         call mklist(nml)   ! interaction lists
 
-c ================================= get variables for 'nml'
+! ================================= get variables for 'nml'
 
         ii=ivrml1(nml)
@@ -356,11 +356,11 @@
         nvr = ivrml1(ntlml)+nvrml(ntlml)-1
 
-c ================================= global parameters for 'nml'
-
-c +++++++++++
+! ================================= global parameters for 'nml'
+
+! +++++++++++
        inew=0
 
        if (inew.eq.1) then
-c ++++++++++++++++++++++++
+! ++++++++++++++++++++++++
 
         call setvar(nml,vlvr)
@@ -369,6 +369,6 @@
         call rmsdopt(nml,1,nrs,ixatp,xatp,yatp,zatp,0,rm,av1,av2,rmsd)
 
-c ---------------------------- retrieve ref. coords.
-c                     & transform acc. to opt. rmsd
+! ---------------------------- retrieve ref. coords.
+!                     & transform acc. to opt. rmsd
         do i=1,3
           ii=ixrfpt(i,nml)
@@ -396,7 +396,7 @@
         call bldmol(nml)  ! finally build SMMP molecule
 
-c ++++++++++++++++
+! ++++++++++++++++
        else  ! old
-c ++++++++++++++++
+! ++++++++++++++++
 
         call fnd3ba(nml,i1,i2,i3)  ! three 1st bb atoms in SMMP (e.g. n,ca,c')
@@ -406,5 +406,5 @@
         ixrfpt(3,nml)=i3
 
-c -------------------------------- retrieve ref. coords.
+! -------------------------------- retrieve ref. coords.
         do i=1,3
           ii=ixrfpt(i,nml)
@@ -416,5 +416,5 @@
           else
             write(*,'(3a)') ' pdbvars> missing PDB atom ',nmat(ii),
-     #       ' is ref. point for SMMP - cannot proceed !'
+     &       ' is ref. point for SMMP - cannot proceed !'
           endif
         enddo
@@ -426,7 +426,7 @@
         call rmsdopt(nml,1,nrs,ixatp,xatp,yatp,zatp,0,rm,av1,av2,rmsd)
 
-c ++++++++++
+! ++++++++++
        endif
-c ++++++++++
+! ++++++++++
 
        write(*,*) ' '
@@ -437,14 +437,14 @@
       return
       end
-c ***************************
+! ***************************
       subroutine atixpdb(nml)
 
-c --------------------------------------------------------------------
-c PURPOSE: get ixatp - pointer of each SMMP atom to corresponding atom
-c                      of reference structure loaded in 'INCP.H'
-c                      (=0 if no corr. atom in ref. str.)
-c
-c CALLS:   toupst
-c --------------------------------------------------------------------
+! --------------------------------------------------------------------
+! PURPOSE: get ixatp - pointer of each SMMP atom to corresponding atom
+!                      of reference structure loaded in 'INCP.H'
+!                      (=0 if no corr. atom in ref. str.)
+!
+! CALLS:   toupst
+! --------------------------------------------------------------------
 
       include 'INCL.H'
@@ -477,6 +477,6 @@
             enddo
                
-c            write(*,'(8a)') ' pdbvars> ',atm,' not found in '
-c     #       ,chnp(nc),' ',rsidp(irs),' ',rsnmp(irs)
+!            write(*,'(8a)') ' pdbvars> ',atm,' not found in '
+!     #       ,chnp(nc),' ',rsidp(irs),' ',rsnmp(irs)
 
           endif
@@ -489,5 +489,5 @@
       return
       end
-c **************************
+! **************************
       subroutine getpar(nml)
 
@@ -496,15 +496,15 @@
       parameter (TOL = 1.d-12)
 
-c Obtain molecule-fixed system (J,K,L) for 1st 3 bb-atoms,
-c -> determine global parameters: shifts dX,dY,dZ
-c & angles alpha,beta,gamma [rad], put into 'gbpr'
-c 
-c CALLS: none
-c
+! Obtain molecule-fixed system (J,K,L) for 1st 3 bb-atoms,
+! -> determine global parameters: shifts dX,dY,dZ
+! & angles alpha,beta,gamma [rad], put into 'gbpr'
+! 
+! CALLS: none
+!
 
       i1=ixrfpt(1,nml)  ! from 'INCL.H'
       i2=ixrfpt(2,nml)
       i3=ixrfpt(3,nml)
-c -------------------------------------- Shifts
+! -------------------------------------- Shifts
       gbpr(1,nml) = xat(i1)
       gbpr(2,nml) = yat(i1)
@@ -514,5 +514,5 @@
         gbpr(i,nml) = 0.d0
       enddo
-c --------------------------------- J
+! --------------------------------- J
       h1=xat(i2)
       h2=yat(i2)
@@ -528,5 +528,5 @@
       x2=x2/d
       x3=x3/d
-c --------------------------------- L
+! --------------------------------- L
       h1=xat(i3)-h1
       h2=yat(i3)-h2
@@ -543,5 +543,5 @@
       z3=z3/d
 
-c ---------------------------------- K
+! ---------------------------------- K
       y1=z2*x3-z3*x2
       y2=z3*x1-z1*x3
@@ -550,5 +550,5 @@
       if ( ( 1.d0 - abs(y3) ) .gt. TOL )  then       ! ============ |beta| < PI/2
 
-c ----------------------------------------------- Y'
+! ----------------------------------------------- Y'
         d = sqrt( y1 * y1 + y2 * y2 )
         yp1= y1 / d
Index: redseq.f
===================================================================
--- redseq.f	(revision 2ebb8b629686fca2f81260a5ca88a8e21e0c1572)
+++ redseq.f	(revision bd2278d6d1ff11d5a913fabac7fcc16d05c02a33)
@@ -1,28 +1,28 @@
-c**************************************************************
-c
-c This file contains the subroutines: redseq
-c
-c Copyright 2003-2005  Frank Eisenmenger, U.H.E. Hansmann,
-c                      Shura Hayryan, Chin-Ku 
-c Copyright 2007       Frank Eisenmenger, U.H.E. Hansmann,
-c                      Jan H. Meinke, Sandipan Mohanty
-c
-c **************************************************************
+!**************************************************************
+!
+! This file contains the subroutines: redseq
+!
+! Copyright 2003-2005  Frank Eisenmenger, U.H.E. Hansmann,
+!                      Shura Hayryan, Chin-Ku 
+! Copyright 2007       Frank Eisenmenger, U.H.E. Hansmann,
+!                      Jan H. Meinke, Sandipan Mohanty
+!
+! **************************************************************
 
 
       subroutine redseq
 
-c ............................................................
-c PURPOSE: read 'lunseq' 'seqfil', extract names of molecules,
-c          sequences
-c
-c Molecules are separated by lines containing char. '#',
-c           a name for the molecule may follow '#' on this line
-c Residue   names can be of 1-4 characters to be separated by ' '
-c
-c Returns: ntlml,nmml,irsml1,irsml2,seq
-c
-c CALLS:   ibegst,iendst,iopfil,tolost
-c ............................................................
+! ............................................................
+! PURPOSE: read 'lunseq' 'seqfil', extract names of molecules,
+!          sequences
+!
+! Molecules are separated by lines containing char. '#',
+!           a name for the molecule may follow '#' on this line
+! Residue   names can be of 1-4 characters to be separated by ' '
+!
+! Returns: ntlml,nmml,irsml1,irsml2,seq
+!
+! CALLS:   ibegst,iendst,iopfil,tolost
+! ............................................................
 
       include 'INCL.H'
@@ -33,10 +33,10 @@
       if (iopfil(lunseq,seqfil,'old','formatted').le.izero) then
         write (*,'(a,/,a,i3,2a)') 
-     #    ' redseq> ERROR opening sequence file:',
-     #      ' LUN=',lunseq,' FILE=',seqfil(1:iendst(seqfil))
+     &    ' redseq> ERROR opening sequence file:',
+     &      ' LUN=',lunseq,' FILE=',seqfil(1:iendst(seqfil))
         stop
       endif
 
-c      ntlml=0
+!      ntlml=0
       if (ntlml.gt.0) then
         nrs = irsml2(ntlml)
@@ -56,5 +56,5 @@
         if (ic.gt.0) then  ! found '#'
 
-c ____________________________________ new molecule
+! ____________________________________ new molecule
 
           if (ntlml.gt.0) then   ! check previous molecule
@@ -64,5 +64,5 @@
             if ((nrs-irsml1(ntlml)+1).eq.0) then
               write(*,'(2a)') ' redseq> IGNORE molecule: ',
-     #                        nmml(ntlml)(1:iendst(nmml(ntlml)))
+     &                        nmml(ntlml)(1:iendst(nmml(ntlml)))
               ntlml=ntlml-1
             endif
@@ -71,5 +71,5 @@
           if (ntlml.gt.mxml) then
             write(*,'(a,i4,2a)')' redseq> NUMBER of molecules > '
-     #                          ,mxml,' in ',seqfil(1:iendst(seqfil))
+     &                          ,mxml,' in ',seqfil(1:iendst(seqfil))
             close(lunseq)
             stop
@@ -80,5 +80,5 @@
 
           if (ic.le.lg) then
-c ___________________________________ extract name of molecule
+! ___________________________________ extract name of molecule
 
             hlin=blnk
@@ -99,5 +99,5 @@
         else  ! no '#'
 
-c _________________________________________ sequence
+! _________________________________________ sequence
 
           ib=ibegst(line)
@@ -110,5 +110,5 @@
 
           ie=iendst(line)
-c ___________________________________ extract names of residues
+! ___________________________________ extract names of residues
     2     id=index(line(ib:ie),blnk)-1   ! find next separator
           if (id.gt.0) then
@@ -121,6 +121,6 @@
           if (id.gt.4) then
             write (*,'(4a)') ' redseq> INVALID residue NAME >',
-     #                       line(ib:ii),'< in ',
-     #      seqfil(1:iendst(seqfil))
+     &                       line(ib:ii),'< in ',
+     &      seqfil(1:iendst(seqfil))
             close(lunseq)
             stop
@@ -130,5 +130,5 @@
             if (nrs.gt.mxrs) then
               write(*,'(a,i4,2a)') ' redseq> NUMBER of residues > '
-     #                       ,mxrs,' in ',seqfil(1:iendst(seqfil))
+     &                       ,mxrs,' in ',seqfil(1:iendst(seqfil))
               close(lunseq)
               stop
@@ -155,9 +155,9 @@
 
     3 close(lunseq)
-c ___________________________________ output
+! ___________________________________ output
 
       if (nrs.eq.0) then
         write (*,'(2a)') ' redseq> no residues found in ',
-     #                   seqfil(1:iendst(seqfil))
+     &                   seqfil(1:iendst(seqfil))
         stop
       else
@@ -176,9 +176,9 @@
             if ((nrs-ifirs+1).eq.0) then
               write(*,'(2a)') ' redseq> IGNORE molecule '
-     #                        ,nmml(ntlml)(1:iendst(nmml(ntlml)))
+     &                        ,nmml(ntlml)(1:iendst(nmml(ntlml)))
               ntlml=ntlml-1
               if (ntlml.eq.0) then
                 write (*,'(2a)') ' redseq> no residues found in ',
-     #          seqfil(1:iendst(seqfil))
+     &          seqfil(1:iendst(seqfil))
                 stop
               endif
@@ -188,8 +188,8 @@
           endif
 
-cc          write (*,'(/,a,i4,2a)') ' redseq> ',irsml2(i)-irsml1(i)+1,
-cc     #           ' residue(s) in molecule: ',
-cc     #           nmml(i)(1:iendst(nmml(i)))
-cc          write (*,'(15(1x,a))') (seq(j),j=irsml1(i),irsml2(i))
+!          write (*,'(/,a,i4,2a)') ' redseq> ',irsml2(i)-irsml1(i)+1,
+!     &           ' residue(s) in molecule: ',
+!     &           nmml(i)(1:iendst(nmml(i)))
+!          write (*,'(15(1x,a))') (seq(j),j=irsml1(i),irsml2(i))
 
         enddo
@@ -197,8 +197,8 @@
       endif
       return
-c _______________________________________________ error
+! _______________________________________________ error
 
     4 write (*,'(a,i4,2a)') ' redseq> ERROR reading line No. ',nln,
-     #' in ',seqfil(1:iendst(seqfil))
+     & ' in ',seqfil(1:iendst(seqfil))
       close(lunseq)
       stop
Index: redstr.f
===================================================================
--- redstr.f	(revision 2ebb8b629686fca2f81260a5ca88a8e21e0c1572)
+++ redstr.f	(revision bd2278d6d1ff11d5a913fabac7fcc16d05c02a33)
@@ -1,29 +1,29 @@
-c**************************************************************
-c
-c This file contains the subroutines: extstr,ibegst,iendst,
-c                                     iredin,iredrl,iopfil,
-c                                     tolost,toupst
-c
-c Copyright 2003-2005  Frank Eisenmenger, U.H.E. Hansmann,
-c                      Shura Hayryan, Chin-Ku 
-c Copyright 2007       Frank Eisenmenger, U.H.E. Hansmann,
-c                      Jan H. Meinke, Sandipan Mohanty
-c
-c **************************************************************
+!**************************************************************
+!
+! This file contains the subroutines: extstr,ibegst,iendst,
+!                                     iredin,iredrl,iopfil,
+!                                     tolost,toupst
+!
+! Copyright 2003-2005  Frank Eisenmenger, U.H.E. Hansmann,
+!                      Shura Hayryan, Chin-Ku 
+! Copyright 2007       Frank Eisenmenger, U.H.E. Hansmann,
+!                      Jan H. Meinke, Sandipan Mohanty
+!
+! **************************************************************
 
 
       subroutine extstr(spr,ib,ie,str,strn,l)
 
-c ..........................................................
-c PURPOSE:  Extract substring preceeding separator 'spr'
-c           from 'str' searching from position 'ib' up to
-c           position 'ie' and put it into 'strn(1:l)'.
-c           'ib' is shifted to position following 'spr' or
-c           to 'ie+1', if 'spr' is not found
-c
-c          ! 'spr' should not be blank
-c
-c CALLS: ibegst,iendst
-c ..........................................................
+! ..........................................................
+! PURPOSE:  Extract substring preceeding separator 'spr'
+!           from 'str' searching from position 'ib' up to
+!           position 'ie' and put it into 'strn(1:l)'.
+!           'ib' is shifted to position following 'spr' or
+!           to 'ie+1', if 'spr' is not found
+!
+!          ! 'spr' should not be blank
+!
+! CALLS: ibegst,iendst
+! ..........................................................
 
       implicit integer*4 (i-n)
@@ -64,5 +64,5 @@
         l=0
         strn=blnk
-c ____________________________ make string in 'strn' left justified
+! ____________________________ make string in 'strn' left justified
       elseif (i.gt.1) then
         j=iendst(strn)
@@ -75,18 +75,18 @@
 
       return
-c ______________________________________________________________ Error
+! ______________________________________________________________ Error
     1 write (*,'(a)') ' extstr> Substring to be extracted is too long !'
       stop
 
       end
-c **********************************
+! **********************************
       integer*4 function ibegst(str)
 
-c .............................................................
-c PURPOSE: returns position of 1st non-blank character in 'str'
-c
-c CALLS: none
-c
-c .............................................................
+! .............................................................
+! PURPOSE: returns position of 1st non-blank character in 'str'
+!
+! CALLS: none
+!
+! .............................................................
 
       implicit integer*4 (i-n)
@@ -106,13 +106,13 @@
       return
       end
-c **********************************
+! **********************************
       integer*4 function iendst(str)
 
-c ..............................................................
-c PURPOSE: returns position of last non-blank character in 'str'
-c
-c CALLS: none
-c
-c ..............................................................
+! ..............................................................
+! PURPOSE: returns position of last non-blank character in 'str'
+!
+! CALLS: none
+!
+! ..............................................................
 
       implicit integer*4 (i-n)
@@ -132,16 +132,16 @@
       return
       end
-c **************************************
+! **************************************
       integer*4 function iredin(line,in)
 
-c ..........................................
-c PURPOSE: Read integer*4 value 'in' from 'line'
-c          with format 'i9'
-c
-c          iredin=0 : error status
-c          iredin=1 : success
-c
-c CALLS: ibegst,iendst
-c ..........................................
+! ..........................................
+! PURPOSE: Read integer*4 value 'in' from 'line'
+!          with format 'i9'
+!
+!          iredin=0 : error status
+!          iredin=1 : success
+!
+! CALLS: ibegst,iendst
+! ..........................................
 
       implicit integer*4 (i-n)
@@ -172,22 +172,22 @@
     1 return
       end
-c *************************************
+! *************************************
       integer*4 function iredrl(line,r)
 
-c ..........................................
-c PURPOSE: Read real*8 value 'r' from 'line'
-c          with format 'd17.6'
-c
-c          iredrl=0 : error status
-c          iredrl=1 : success
-c
-c CALLS: ibegst,iendst
-c ..........................................
+! ..........................................
+! PURPOSE: Read real*8 value 'r' from 'line'
+!          with format 'd17.6'
+!
+!          iredrl=0 : error status
+!          iredrl=1 : success
+!
+! CALLS: ibegst,iendst
+! ..........................................
 
       implicit integer*4 (i-n)
 
       parameter (mxd =17,   ! max. # of digits
-     #           mxap= 6,   ! max. # of digits after period
-     #           mxip=mxd-mxap)
+     &           mxap= 6,   ! max. # of digits after period
+     &           mxip=mxd-mxap)
  
       real*8 r
@@ -222,12 +222,12 @@
     1 return
       end
-c **************************
+! **************************
       subroutine tolost(str)
 
-c ..........................................
-c  PURPOSE:  converts 'string' to lower-case
-c  INPUT:    str - string to be converted
-c  CALLS:    ibegst,iendst
-c ..........................................
+! ..........................................
+!  PURPOSE:  converts 'string' to lower-case
+!  INPUT:    str - string to be converted
+!  CALLS:    ibegst,iendst
+! ..........................................
 
       include 'INCL.H'
@@ -246,12 +246,12 @@
       return
       end
-c **************************
+! **************************
       subroutine toupst(str)
 
-c ..........................................
-c  PURPOSE:  converts 'string' to upper-case
-c  INPUT:    str - string to be converted
-c  CALLS:    ibegst,iendst
-c ..........................................
+! ..........................................
+!  PURPOSE:  converts 'string' to upper-case
+!  INPUT:    str - string to be converted
+!  CALLS:    ibegst,iendst
+! ..........................................
 
       include 'INCL.H'
@@ -270,16 +270,16 @@
       return
       end
-c *****************************************************
+! *****************************************************
       integer*4 function iopfil(lun,filnam,stat,format)
 
-c ........................................................
-c PURPOSE: open 'lun' with 'filnam' 'stat' 'format'
-c
-c          returns: 1 = file successful opened
-c                   0 = error during open of existing file
-c                  -1 = file does not exist
-c
-c CALLS: ibegst
-c ........................................................
+! ........................................................
+! PURPOSE: open 'lun' with 'filnam' 'stat' 'format'
+!
+!          returns: 1 = file successful opened
+!                   0 = error during open of existing file
+!                  -1 = file does not exist
+!
+! CALLS: ibegst
+! ........................................................
 
       implicit integer*4 (i-n)
@@ -299,5 +299,5 @@
             if (j.gt.0.and.k.gt.0) then
               open(lun,file=filnam(i:),status=stat(j:),
-     #             form=format(k:),err=1)
+     &             form=format(k:),err=1)
               iopfil=1
             endif
Index: redvar.f
===================================================================
--- redvar.f	(revision 2ebb8b629686fca2f81260a5ca88a8e21e0c1572)
+++ redvar.f	(revision bd2278d6d1ff11d5a913fabac7fcc16d05c02a33)
@@ -1,94 +1,94 @@
-c**************************************************************
-c
-c This file contains the subroutines: redvar
-c
-c Copyright 2003-2005  Frank Eisenmenger, U.H.E. Hansmann,
-c                      Shura Hayryan, Chin-Ku 
-c Copyright 2007       Frank Eisenmenger, U.H.E. Hansmann,
-c                      Jan H. Meinke, Sandipan Mohanty
-c
-c **************************************************************
+!**************************************************************
+!
+! This file contains the subroutines: redvar
+!
+! Copyright 2003-2005  Frank Eisenmenger, U.H.E. Hansmann,
+!                      Shura Hayryan, Chin-Ku 
+! Copyright 2007       Frank Eisenmenger, U.H.E. Hansmann,
+!                      Jan H. Meinke, Sandipan Mohanty
+!
+! **************************************************************
 
 
       subroutine redvar
 
-c ...................................................................
-c
-c PURPOSE: Read global parameters for molecules from lines
-c
-c          +--------------------------------------------------+
-c          |@ molecule no. : six floats separated by commas   |
-c          +--------------------------------------------------+
-c
-c          NB: 1) if omit field with molecule no. assume: nml=1
-c              2) last 3 float are angles in deg.
-c
-c          Read and interpret file to SET and FIX internal variables
-c          by commands:
-c
-c          +-----------------------------------------+
-c          |  molecule : residue : variable : value  |
-c          +-----------------------------------------+
-c
-c        * Lines containing '&' assign FIXED variable(s), they will
-c          not be varied during subsequent minimization etc.
-c
-c        * Empty LINES or lines containing '#' are ignored
-c        * Several commands on same line must be separated by ';'
-c        * Empty COMMANDS, i.e. ' : : ' are ignored
-c        * All spaces are not significant and are therefore ignored
-c
-c        * A command consists of up to 4 (maxfld) fields, separated
-c          by ':'
-c
-c        - last field     : value for VARIABLE (REAL)
-c                           ! should never be empty
-c        - 1st before last: name(s) (CHAR) or index(ices) of VARIABLE(S)
-c        - 2nd before last: name(s) or index(ices) of RESIDUE(S)
-c        - 3rd before last: name or number(ices) of MOLECULE(S)
-c
-c        * molecules, residues, variables can be identified, either by,
-c          INDICES (zones 'n1-n2' possible) or NAMES
-c
-c        * several identifiers in a field can be separated by ','
-c
-c        * INDICES: for residues  - refer to numbering within molecule
-c                 : for variables - refer to numbering within residue
-c        * ZONES:   '-n2' indicates '1-n2'
-c                   'n1-' indicates 'n1-(all)'
-c        * NAMES or their ends can be indicated by wild-card '*'
-c                are case-sensitive
-c
-c        Example:  phi:-65; psi:-45  >set all phi=-65, all psi=-45
-c                  om*: 180 &  >set all omg, omt ... to 180 & fix them
-c                  5 : x* : -60  >set all xi-angles of residue 5 to 60
-c
-c CALLS: setvar,extstr,iendst,ibegst,iopfil,iredin,iredrl
-c ......................................................................
+! ...................................................................
+!
+! PURPOSE: Read global parameters for molecules from lines
+!
+!          +--------------------------------------------------+
+!          |@ molecule no. : six floats separated by commas   |
+!          +--------------------------------------------------+
+!
+!          NB: 1) if omit field with molecule no. assume: nml=1
+!              2) last 3 float are angles in deg.
+!
+!          Read and interpret file to SET and FIX internal variables
+!          by commands:
+!
+!          +-----------------------------------------+
+!          |  molecule : residue : variable : value  |
+!          +-----------------------------------------+
+!
+!        * Lines containing '&' assign FIXED variable(s), they will
+!          not be varied during subsequent minimization etc.
+!
+!        * Empty LINES or lines containing '#' are ignored
+!        * Several commands on same line must be separated by ';'
+!        * Empty COMMANDS, i.e. ' : : ' are ignored
+!        * All spaces are not significant and are therefore ignored
+!
+!        * A command consists of up to 4 (maxfld) fields, separated
+!          by ':'
+!
+!        - last field     : value for VARIABLE (REAL)
+!                           ! should never be empty
+!        - 1st before last: name(s) (CHAR) or index(ices) of VARIABLE(S)
+!        - 2nd before last: name(s) or index(ices) of RESIDUE(S)
+!        - 3rd before last: name or number(ices) of MOLECULE(S)
+!
+!        * molecules, residues, variables can be identified, either by,
+!          INDICES (zones 'n1-n2' possible) or NAMES
+!
+!        * several identifiers in a field can be separated by ','
+!
+!        * INDICES: for residues  - refer to numbering within molecule
+!                 : for variables - refer to numbering within residue
+!        * ZONES:   '-n2' indicates '1-n2'
+!                   'n1-' indicates 'n1-(all)'
+!        * NAMES or their ends can be indicated by wild-card '*'
+!                are case-sensitive
+!
+!        Example:  phi:-65; psi:-45  >set all phi=-65, all psi=-45
+!                  om*: 180 &  >set all omg, omt ... to 180 & fix them
+!                  5 : x* : -60  >set all xi-angles of residue 5 to 60
+!
+! CALLS: setvar,extstr,iendst,ibegst,iopfil,iredin,iredrl
+! ......................................................................
 
 
       include 'INCL.H'
 
-c maxfld: max. # of fields in one command
-c maxide: max. # of identifiers in a field
-c maxcmd: max. # of commands to be interpreted
-c ilrg:   a large integer
+! maxfld: max. # of fields in one command
+! maxide: max. # of identifiers in a field
+! maxcmd: max. # of commands to be interpreted
+! ilrg:   a large integer
 
       parameter (maxfld=4,
-     #           maxide=30,
-     #           maxcmd=5000,
-     #           ilrg=1000000)
+     &           maxide=30,
+     &           maxcmd=5000,
+     &           ilrg=1000000)
 
       character spcm,spfd,spcc,sphy,cmt,wdc,sfix,blnk, sglp,
-     #          line*132,lincmd*132,linfld(maxfld)*132,linide*132,
-     #          linh*132,strg(6)*17
+     &          line*132,lincmd*132,linfld(maxfld)*132,linide*132,
+     &          linh*132,strg(6)*17
       dimension ifdend(maxfld),vlvrx(mxvr),rn(6)
       logical fix,did,exa,forml(mxml),forrs(mxrs),forvr(mxvr),
-     #        stvr(mxvr)
+     &        stvr(mxvr)
       data spcm/';'/,spfd/':'/,spcc/','/,sphy/'-'/,cmt/'#'/,wdc/'*'/,
-     #     sfix/'&'/,blnk/' '/, sglp/'@'/
-
-
-c ___________________________________ Checks
+     &     sfix/'&'/,blnk/' '/, sglp/'@'/
+
+
+! ___________________________________ Checks
       ntlvr=ivrml1(ntlml)+nvrml(ntlml)-1
       if (ntlvr.eq.0) then
@@ -96,16 +96,16 @@
         return
       endif
-c ___________________________________ Initialize
+! ___________________________________ Initialize
 
       io=iopfil(lunvar,varfil,'old','formatted')
       if (io.eq.0) then
         write (*,'(a,/,a,i3,2a)') 
-     #    ' redvar> ERROR opening file to set variables:',
-     #    ' LUN=',lunvar,' FILE=',varfil(1:iendst(varfil))
+     &    ' redvar> ERROR opening file to set variables:',
+     &    ' LUN=',lunvar,' FILE=',varfil(1:iendst(varfil))
         stop
       elseif (io.eq.-1) then
         return
       endif
-c ___________________________________ Initialization
+! ___________________________________ Initialization
       do i=1,ntlml
         forml(i)=.true.
@@ -138,8 +138,8 @@
     1 read (lunvar,'(a)',end=2) line
       ile=iendst(line)
-c _________________________________ ! ignore empty and commentary lines
+! _________________________________ ! ignore empty and commentary lines
       if (ile.gt.0.and.index(line(1:ile),cmt).le.0) then
 
-c _________________________________________ Global variables
+! _________________________________________ Global variables
         ilb = index(line(1:ile),sglp)+1
         if (ilb.ge.2) then
@@ -150,8 +150,8 @@
 
             if (iredin(lincmd,nml).le.0.or.
-     #          nml.le.0.or.nml.gt.ntlml) then
+     &          nml.le.0.or.nml.gt.ntlml) then
               write (*,*) 'redvar> ','Incorrect molecule number >',
-     #                    lincmd(1:l),'<  Must be in range [1,',
-     #                    ntlml,'] !'
+     &                    lincmd(1:l),'<  Must be in range [1,',
+     &                    ntlml,'] !'
               close(lunvar)
               stop
@@ -179,9 +179,9 @@
           if (iredrl(linh,rn(6)).le.0) goto 105
 
-c ---------------------------------------- check global angles
+! ---------------------------------------- check global angles
           if (  abs(rn(4)).gt.(1.8d2+1d-6)
-     #     .or. abs(rn(5)).gt.(9d1+1d-6) 
-     #     .or. abs(rn(6)).gt.(1.8d2+1d-6)
-     #    ) goto 106
+     &     .or. abs(rn(5)).gt.(9d1+1d-6) 
+     &     .or. abs(rn(6)).gt.(1.8d2+1d-6)
+     &    ) goto 106
            
           do i = 1,3
@@ -221,5 +221,5 @@
             endif
 
-c _________________________________________ Extract Command Fields
+! _________________________________________ Extract Command Fields
             nfld=0
             icb=1
@@ -235,5 +235,5 @@
 
             enddo
-c _______________________________ Interpret Command Fields (except last)
+! _______________________________ Interpret Command Fields (except last)
             do i=1,nfld-1
               ii=i
@@ -255,5 +255,5 @@
                 enddo
               endif
-c __________________________________ Identifiers in field
+! __________________________________ Identifiers in field
               nide=0
               ifb=1
@@ -299,5 +299,5 @@
                       if (ifld.eq.3) then        !  Mol.
 
-c ################### impossible # (inum) of molecule
+! ################### impossible # (inum) of molecule
 
                         if (inum.le.0.or.inum.gt.ntlml) then
@@ -313,5 +313,5 @@
                             k=inum+nfi-1
 
-c ################### impossible # of residue (inum) in molecule
+! ################### impossible # of residue (inum) in molecule
 
                             if (k.lt.nfi.or.k.gt.irsml2(j)) then
@@ -331,8 +331,8 @@
                                 l=inum+nfi-1
 
-c ################### impossible # of variable (inum) in residue
+! ################### impossible # of variable (inum) in residue
 
                                 if (l.lt.nfi.or.
-     #                              l.gt.nfi+nvrrs(k)-1) then
+     &                              l.gt.nfi+nvrrs(k)-1) then
                                   write (*,*) ' # 3: ',inum
                                   goto 104
@@ -364,7 +364,7 @@
                             linh(1:ieh1)=nmml(j)(ib:ieh)
                             if (((exa.and.ieh1.eq.id).or.
-     #                         (.not.exa.and.ieh1.ge.id)).and.
-     #                         linh(1:id).eq.linide(1:id))
-     #                         forml(j)=.true.
+     &                         (.not.exa.and.ieh1.ge.id)).and.
+     &                         linh(1:id).eq.linide(1:id))
+     &                         forml(j)=.true.
                           endif
                         enddo        
@@ -380,7 +380,7 @@
                                 linh(1:ieh1)=seq(k)(ib:ieh)
                                 if (((exa.and.ieh1.eq.id).or.
-     #                             (.not.exa.and.ieh1.ge.id))
-     #                          .and.linh(1:id).eq.linide(1:id))
-     #                            forrs(k)=.true.
+     &                             (.not.exa.and.ieh1.ge.id))
+     &                          .and.linh(1:id).eq.linide(1:id))
+     &                            forrs(k)=.true.
                               endif
                             enddo
@@ -401,7 +401,7 @@
                                     linh(1:ieh1)=nmvr(l)(ib:ieh)
                                     if (((exa.and.ieh1.eq.id)
-     #                         .or.(.not.exa.and.ieh1.ge.id))
-     #                          .and.linh(1:id).eq.linide(1:id))
-     #                              forvr(l)=.true.
+     &                         .or.(.not.exa.and.ieh1.ge.id))
+     &                          .and.linh(1:id).eq.linide(1:id))
+     &                              forvr(l)=.true.
                                   endif
                                 enddo
@@ -416,5 +416,5 @@
                   else                                       ! ___ Zone
 
-c ################### impossible zone '-' (without integer)
+! ################### impossible zone '-' (without integer)
 
                     if (ide.eq.1.and.ihy.eq.ide) then
@@ -429,8 +429,8 @@
                       linh=linide(1:ihy-1)
 
-c ################### impossible (to read) integer before '-'
+! ################### impossible (to read) integer before '-'
 
                       if (iredin(linh,ibz).le.0.or.ibz.le.0)
-     #                  then
+     &                  then
                         write (*,*) ' # 5 '
                         goto 104
@@ -444,8 +444,8 @@
                       linh=linide(ihy+1:ide)
 
-c ################### impossible (to read) integer after '-'
+! ################### impossible (to read) integer after '-'
 
                       if (iredin(linh,iez).le.0.or.iez.le.0.or.
-     #                  iez.lt.ibz) then
+     &                  iez.lt.ibz) then
                         write (*,*) ' # 6 '
                         goto 104
@@ -502,5 +502,5 @@
             enddo  ! ... Fields (excl. value)
 
-c _____________________________________________________ Execute Command
+! _____________________________________________________ Execute Command
 
             if (iredrl(linfld(nfld),val).gt.izero) then  ! Read Value
@@ -517,6 +517,6 @@
               enddo
               if (.not.did) write (*,'(3a)')
-     #          ' redvar> No variables affected by command >',
-     #          lincmd(1:ice),'<'
+     &          ' redvar> No variables affected by command >',
+     &          lincmd(1:ice),'<'
             else
 
@@ -524,5 +524,5 @@
               ll2=iendst(linfld(nfld))
               write (*,*) 'll1,ll2, linfld(nfld): ',ll1,ll2,
-     #           '>',linfld(nfld)(ll1:ll2),'<'
+     &           '>',linfld(nfld)(ll1:ll2),'<'
 
               goto 102
@@ -535,5 +535,5 @@
 
     2 close(lunvar)
-c __________________________ Summary
+! __________________________ Summary
       iv=0
       do i=1,ntlml
@@ -552,6 +552,6 @@
 
              write (*,'(3a,/,1x,5(a,2x),a)') ' redvar> ',nmml(i)(1:ie),
-     #                                    ' with global parameters:',
-     #                              (strg(k)(ibegst(strg(k)):),k=1,6)
+     &                                    ' with global parameters:',
+     &                              (strg(k)(ibegst(strg(k)):),k=1,6)
              call setvar(i,vlvrx)
              goto 3
@@ -572,14 +572,14 @@
                 if (fxvr(iv)) then
                   write (*,'(3a,i4,1x,4a,f10.3,a)') ' redvar> ',
-     #                nmml(i)(1:ie),': residue ',j-jb,seq(j),
-     #                ': ',nmvr(iv),' set ',vlvrx(iv),'   Fixed'
+     &                nmml(i)(1:ie),': residue ',j-jb,seq(j),
+     &                ': ',nmvr(iv),' set ',vlvrx(iv),'   Fixed'
                 else
                   write (*,'(3a,i4,1x,4a,f10.3)') ' redvar> ',
-     #                nmml(i)(1:ie),': residue ',j-jb,seq(j),
-     #                ': ',nmvr(iv),' set ',vlvrx(iv)
+     &                nmml(i)(1:ie),': residue ',j-jb,seq(j),
+     &                ': ',nmvr(iv),' set ',vlvrx(iv)
                 endif
                 ity=ityvr(iv)
                 if (ity.eq.3.or.ity.eq.2)
-     #            vlvrx(iv)=vlvrx(iv)*cdr             ! angles
+     &            vlvrx(iv)=vlvrx(iv)*cdr             ! angles
                   
               else
@@ -590,10 +590,10 @@
           if (did) then
             if (in.gt.0) write (*,'(3a,i5,a)')
-     #        ' redvar> Molecule ',nmml(i)(1:ie),': ',in,
-     #        ' variable(s) remain unchanged'
+     &        ' redvar> Molecule ',nmml(i)(1:ie),': ',in,
+     &        ' variable(s) remain unchanged'
             call setvar(iml,vlvrx)
           else
             write (*,'(3a)') ' redvar> Molecule ',
-     #        nmml(i)(1:ie),': No internal variables changed'
+     &        nmml(i)(1:ie),': No internal variables changed'
           endif
         endif
@@ -601,7 +601,7 @@
 
       return
-c ____________________________________________________________ Errors
+! ____________________________________________________________ Errors
   100 write (*,'(3a)') ' redvar> Cannot interpret command >',
-     #                 lincmd(1:ice),'<'
+     &                 lincmd(1:ice),'<'
       close(lunvar)
       stop
@@ -610,24 +610,24 @@
       stop
   102 write (*,'(3a)') ' redvar> Cannot read value from >',
-     #                   lincmd(1:ice),'<'
+     &                   lincmd(1:ice),'<'
       close(lunvar)
       stop
   103 write (*,'(a,i3,3a)') ' redvar> Cannot read >',maxide,
-     #         ' identifiers from >',linfld(ii)(1:ife),'<'
+     &         ' identifiers from >',linfld(ii)(1:ife),'<'
       close(lunvar)
       stop
   104 write (*,'(5a)') ' redvar> Error in identifier >',
-     #            linide(1:ide),'< of command >',lincmd(1:ice),'<'
+     &            linide(1:ide),'< of command >',lincmd(1:ice),'<'
       close(lunvar)
       stop
   105 write (*,'(a,/,a,/,2a,/)') ' redvar> line with global paramters:',
-     #                           line(1:ile),' must contain 6 floating',
-     #                           ' point numbers separated by commas !'
+     &                           line(1:ile),' must contain 6 floating',
+     &                           ' point numbers separated by commas !'
       close(lunvar)
       stop
 
   106 write (*,'(a,/,a,/,2a,/)') ' redvar> line with global paramters:',
-     #                           line(1:ile),' angles must be inside ',
-     #'ranges [-180,180], [-90,90], and [-180,180] Deg., respectively !'
+     &                           line(1:ile),' angles must be inside ',
+     &'ranges [-180,180], [-90,90], and [-180,180] Deg., respectively !'
       close(lunvar)
       stop
Index: regul.f
===================================================================
--- regul.f	(revision 2ebb8b629686fca2f81260a5ca88a8e21e0c1572)
+++ regul.f	(revision bd2278d6d1ff11d5a913fabac7fcc16d05c02a33)
@@ -1,34 +1,34 @@
-c**************************************************************
-c
-c This file contains the subroutines: regul
-c
-c Copyright 2003-2005  Frank Eisenmenger, U.H.E. Hansmann,
-c                      Shura Hayryan, Chin-Ku 
-c Copyright 2007       Frank Eisenmenger, U.H.E. Hansmann,
-c                      Jan H. Meinke, Sandipan Mohanty
-c
-c **************************************************************
+!**************************************************************
+!
+! This file contains the subroutines: regul
+!
+! Copyright 2003-2005  Frank Eisenmenger, U.H.E. Hansmann,
+!                      Shura Hayryan, Chin-Ku 
+! Copyright 2007       Frank Eisenmenger, U.H.E. Hansmann,
+!                      Jan H. Meinke, Sandipan Mohanty
+!
+! **************************************************************
 
       
       subroutine regul(nml, iter, nsteps, acc)
 
-c ----------------------------------------------------------
-c PURPOSE: regularization of PDB-structure into SMMP geometry
-c
-c          @param nml molecule to be regularized
-c          @param iter number of iterations during regularization
-c          @param nsteps maximum number of steps in minimization
-c          @param acc acceptance criterium for minimization
-c
-c CALLS:   minim, cnteny, outvar,rmsdopt
-c ----------------------------------------------------------
+! ----------------------------------------------------------
+! PURPOSE: regularization of PDB-structure into SMMP geometry
+!
+!          @param nml molecule to be regularized
+!          @param iter number of iterations during regularization
+!          @param nsteps maximum number of steps in minimization
+!          @param acc acceptance criterium for minimization
+!
+! CALLS:   minim, cnteny, outvar,rmsdopt
+! ----------------------------------------------------------
 
       include 'INCL.H'
       include 'INCP.H'
       
-cf2py intent(in) nml
-cf2py intent(in) iter
-cf2py intent(in) nsteps
-cf2py intent(in) acc
+!f2py intent(in) nml
+!f2py intent(in) iter
+!f2py intent(in) nsteps
+!f2py intent(in) acc
 
       dimension rm(3,3),av1(3),av2(3)
@@ -41,6 +41,6 @@
 
       write(*,'(/,a,2(a,f4.2),/)')
-     #  ' ====================== Regularization only',
-     #  '   Wt(energy) = ',wtey,'  Wt(regul.) = ',wtrg
+     &  ' ====================== Regularization only',
+     &  '   Wt(energy) = ',wtey,'  Wt(regul.) = ',wtrg
 
       call minim(1, nsteps, acc)
@@ -57,5 +57,5 @@
       write(*,*) ' RMSD = ',rmsd
 
-c --------------------------------------- fix vars. defined in PDB
+! --------------------------------------- fix vars. defined in PDB
 
 
@@ -67,6 +67,6 @@
 
       write(*,'(/,a,2(a,f4.2),/)')
-     #  ' ====================== Internal Energy for Hydrogens only',
-     #  '   Wt(energy) = ',wtey,'  Wt(regul.) = ',wtrg
+     &  ' ====================== Internal Energy for Hydrogens only',
+     &  '   Wt(energy) = ',wtey,'  Wt(regul.) = ',wtrg
 
       call minim(1, nsteps, acc)
@@ -95,6 +95,6 @@
 
         write(*,'(/,a,i2,2(a,e11.3),/)')
-     #    ' ================ Minimization #',it,
-     #        '   Wt(energy) = ',wtey,'  Wt(regul.) = ',wtrg
+     &    ' ================ Minimization #',it,
+     &        '   Wt(energy) = ',wtey,'  Wt(regul.) = ',wtrg
 
         call minim(1, nsteps, acc)
@@ -113,7 +113,7 @@
       call cnteny(nml)
 
-c      call outpdb(nml,12)
+!      call outpdb(nml,12)
 
-c Output of dihedral angles of the regularized structure
+! Output of dihedral angles of the regularized structure
       write(*,*) 'Dihedral angles of the regularized structure;'
       call outvar(nml, 'regd.var')
Index: rgyr.f
===================================================================
--- rgyr.f	(revision 2ebb8b629686fca2f81260a5ca88a8e21e0c1572)
+++ rgyr.f	(revision bd2278d6d1ff11d5a913fabac7fcc16d05c02a33)
@@ -1,31 +1,31 @@
-c**************************************************************
-c
-c This file contains the subroutines: rgyr
-c
-c Copyright 2003-2005  Frank Eisenmenger, U.H.E. Hansmann,
-c                      Shura Hayryan, Chin-Ku 
-c Copyright 2007       Frank Eisenmenger, U.H.E. Hansmann,
-c                      Jan H. Meinke, Sandipan Mohanty
-c
-c **************************************************************
+!**************************************************************
+!
+! This file contains the subroutines: rgyr
+!
+! Copyright 2003-2005  Frank Eisenmenger, U.H.E. Hansmann,
+!                      Shura Hayryan, Chin-Ku 
+! Copyright 2007       Frank Eisenmenger, U.H.E. Hansmann,
+!                      Jan H. Meinke, Sandipan Mohanty
+!
+! **************************************************************
 
 
       subroutine rgyr(nml, rgy, ee)
 
-C CALCULATES THE RADIUS-OF-GYRATION AND THE END-TO-END DISTANCE
-C FOR A GIVEN PROTEIN CONFORMATION
-C If nml == 0, calculate the radius of gyration for all molecules
-C
-C     rgy  = radius-of-gyration
-C     ee   = end-to-end distance
-C
-C REQUIREMENTS: c_alfa has to be called BEFORE call of this subroutine
-C
-C CALLS: NONE
-C
+! CALCULATES THE RADIUS-OF-GYRATION AND THE END-TO-END DISTANCE
+! FOR A GIVEN PROTEIN CONFORMATION
+! If nml == 0, calculate the radius of gyration for all molecules
+!
+!     rgy  = radius-of-gyration
+!     ee   = end-to-end distance
+!
+! REQUIREMENTS: c_alfa has to be called BEFORE call of this subroutine
+!
+! CALLS: NONE
+!
       include 'INCL.H'
-cf2py intent(in) nml
-cf2py intent(out) rgy
-cf2py intent(out) ee
+!f2py intent(in) nml
+!f2py intent(out) rgy
+!f2py intent(out) ee
       integer typ
       if (nml.eq.0) then
@@ -42,5 +42,5 @@
       if (nat.le.0) then
         write (*,'(a,i4)')
-     #     ' rgyr> No atoms found for molecule #',nml
+     &     ' rgyr> No atoms found for molecule #',nml
         return 
       endif
@@ -128,5 +128,5 @@
 
       ee = sqrt((xat(i2)-xat(i1))**2+(yat(i2)-yat(i1))**2
-     #         +(zat(i2)-zat(i1))**2)
+     &         +(zat(i2)-zat(i1))**2)
 
       return
Index: rmsdfun.f
===================================================================
--- rmsdfun.f	(revision 2ebb8b629686fca2f81260a5ca88a8e21e0c1572)
+++ rmsdfun.f	(revision bd2278d6d1ff11d5a913fabac7fcc16d05c02a33)
@@ -1,31 +1,31 @@
-c **************************************************************
-c
-c This file contains the subroutines: rmsdfun,rmsdopt,fitmol,
-c                                     jacobi,rmsinit
-c
-c Copyright 2003-2005  Frank Eisenmenger, U.H.E. Hansmann,
-c                      Shura Hayryan, Chin-Ku 
-c Copyright 2007       Frank Eisenmenger, U.H.E. Hansmann,
-c                      Jan H. Meinke, Sandipan Mohanty
-c
-c **************************************************************
+! **************************************************************
+!
+! This file contains the subroutines: rmsdfun,rmsdopt,fitmol,
+!                                     jacobi,rmsinit
+!
+! Copyright 2003-2005  Frank Eisenmenger, U.H.E. Hansmann,
+!                      Shura Hayryan, Chin-Ku 
+! Copyright 2007       Frank Eisenmenger, U.H.E. Hansmann,
+!                      Jan H. Meinke, Sandipan Mohanty
+!
+! **************************************************************
 
       real*8 function rmsdfun(nml,ir1,ir2,ixat,xrf,yrf,zrf,isl)
-C
-C --------------------------------------------------------------
-c Wrapping function for calculating rmsd
-c
-c LIMITATION: requires call of rmsinit BEFORE calling this function
-c
-c CALLS: rmsdopt
-c
-c ---------------------------------------------------------------
-c
+!
+! --------------------------------------------------------------
+! Wrapping function for calculating rmsd
+!
+! LIMITATION: requires call of rmsinit BEFORE calling this function
+!
+! CALLS: rmsdopt
+!
+! ---------------------------------------------------------------
+!
       include 'INCL.H'
       include 'INCP.H'
-c
-c Input
+!
+! Input
       dimension ixat(mxat),xrf(mxatp),yrf(mxatp),zrf(mxatp)
-c Local
+! Local
       dimension rm(3,3),av1(3),av2(3)
       call rmsdopt(nml,ir1,ir2,ixat,xrf,yrf,zrf,isl,rm,av1,av2,rssd)
@@ -37,35 +37,35 @@
       end
 
-c*******************************************************************
+!*******************************************************************
       subroutine rmsdopt(nml,ir1,ir2,ixat,xrf,yrf,zrf,isl,
-     #                   rm,av1,av2,rmsd)
-
-c ---------------------------------------------------------------
-c PURPOSE: root mean square deviation (rmsd) between current SMMP
-c          structure and reference atom coordinates 'x,y,zrf()'
-c          for range of SMMP residues [ir1,ir2] in molecule 'nml'
-c
-c          ixat(i) - points to the atom in ref. coords., which is
-c                    equivalent to atom i of SMMP structure
-c                    (=0 if no equivalent in ref. structure exists)
-c
-c          isl = 0  : select all heavy atoms
-c          isl = 1  : backbone atoms n,ca,c
-c          isl = 2  : only ca atoms
-c
-c CALLS:   fitmol [S.K.Kearsley, Acta Cryst. 1989, A45, 208-210]
-c
-c      NB  uncomment last lines in 'fitmol' to return coordinates
-c          in 'x2' after fitting the ref. str. onto SMMP structure 
-c ----------------------------------------------------------------
+     &                   rm,av1,av2,rmsd)
+
+! ---------------------------------------------------------------
+! PURPOSE: root mean square deviation (rmsd) between current SMMP
+!          structure and reference atom coordinates 'x,y,zrf()'
+!          for range of SMMP residues [ir1,ir2] in molecule 'nml'
+!
+!          ixat(i) - points to the atom in ref. coords., which is
+!                    equivalent to atom i of SMMP structure
+!                    (=0 if no equivalent in ref. structure exists)
+!
+!          isl = 0  : select all heavy atoms
+!          isl = 1  : backbone atoms n,ca,c
+!          isl = 2  : only ca atoms
+!
+! CALLS:   fitmol [S.K.Kearsley, Acta Cryst. 1989, A45, 208-210]
+!
+!      NB  uncomment last lines in 'fitmol' to return coordinates
+!          in 'x2' after fitting the ref. str. onto SMMP structure 
+! ----------------------------------------------------------------
 
       include 'INCL.H'
       include 'INCP.H'
 
-c-------------------------------------------------------- input
+!-------------------------------------------------------- input
       dimension ixat(mxat),xrf(mxatp),yrf(mxatp),zrf(mxatp)
-c-------------------------------------------------------- output
+!-------------------------------------------------------- output
       dimension rm(3,3),av1(3),av2(3)
-c-------------------------------------------------------- local
+!-------------------------------------------------------- local
       dimension x1(3,mxat),x2(3,mxat)
       character*4 atnm
@@ -99,14 +99,14 @@
                 if ( isl.eq.0
 
-     #               .or.
-
-     #              (isl.eq.1.and.(index(atnm,'n   ').gt.0 .or.
-     #                             index(atnm,'ca  ').gt.0 .or.
-     #                             index(atnm,'c   ').gt.0 ))
-     #               .or.
-
-     #              (isl.eq.2.and.index(atnm,'ca  ').gt.0)
-
-     #          ) then
+     &               .or.
+
+     &              (isl.eq.1.and.(index(atnm,'n   ').gt.0 .or.
+     &                             index(atnm,'ca  ').gt.0 .or.
+     &                             index(atnm,'c   ').gt.0 ))
+     &               .or.
+
+     &              (isl.eq.2.and.index(atnm,'ca  ').gt.0)
+
+     &          ) then
 
                   n=n+1
@@ -136,27 +136,27 @@
       return
       end
-c *********************************************
+! *********************************************
       subroutine fitmol(n,x1,x2, rm,a1,a2,rmsd)
-c      real*8 function fitmol(n,x1,x2)
-
-c .......................................................
-c PURPOSE: compute RMSD of n positions in x1(3,) & x2(3,)
-c          [S.K.Kearsley Acta Cryst. 1989,A45,208-210]
-c
-c CALLS: jacobi
-c .......................................................
-cf2py intent(out) rmsd
+!      real*8 function fitmol(n,x1,x2)
+
+! .......................................................
+! PURPOSE: compute RMSD of n positions in x1(3,) & x2(3,)
+!          [S.K.Kearsley Acta Cryst. 1989,A45,208-210]
+!
+! CALLS: jacobi
+! .......................................................
+!f2py intent(out) rmsd
                     
       include 'INCL.H'
-c      implicit real*8 (a-h,o-z)
-c      implicit integer*4 (i-n)
+!      implicit real*8 (a-h,o-z)
+!      implicit integer*4 (i-n)
  
-c ------------------------------------------- input/output
+! ------------------------------------------- input/output
       dimension x1(3,mxat),x2(3,mxat)
-c -------------------------------------------------- local
+! -------------------------------------------------- local
       dimension e(4),q(4,4),v(4,4),dm(3),dp(3),a1(3),a2(3),rm(3,3)
 
       dn=dble(n)
-c ------------------- average of coordinates
+! ------------------- average of coordinates
       do i=1,3
         a1(i) = 0.d0
@@ -169,5 +169,5 @@
         a2(i) = a2(i)/dn
       enddo
-c ------------------------- compile quaternion
+! ------------------------- compile quaternion
       do i=1,4
         do j=1,4
@@ -208,8 +208,8 @@
         enddo
       enddo
-c ------------------------------ eigenvalues & -vectors
+! ------------------------------ eigenvalues & -vectors
       ndim4=4
       call jacobi(q,ndim4,e,v)
-c --------------------------- lowest eigenvalue
+! --------------------------- lowest eigenvalue
       im=1
       em=e(1)
@@ -223,7 +223,7 @@
       rmsd = sqrt(em/dn)
 
-c ================= uncomment following lines to fit molecule 2 onto 1
-
-c ---------------------------------------------------rotation matrix
+! ================= uncomment following lines to fit molecule 2 onto 1
+
+! ---------------------------------------------------rotation matrix
       rm(1,1) = v(1,im)**2+v(2,im)**2-v(3,im)**2-v(4,im)**2
       rm(1,2) = 2.d0*( v(2,im)*v(3,im)-v(1,im)*v(4,im) )
@@ -236,38 +236,38 @@
       rm(3,3) = v(1,im)**2+v(4,im)**2-v(2,im)**2-v(3,im)**2
 
-c      do i=1,n
-c        do j=1,3
-c          dm(j) = x2(j,i) - a2(j)
-c        enddo
-c        do j=1,3
-c          dp(j) = a1(j)
-c          do k=1,3
-c            dp(j) = dp(j) + rm(j,k) * dm(k)
-c          enddo
-c          x2(j,i) = dp(j)
-c        enddo
-c      enddo
-
-c      fitmol=rmsd
+!      do i=1,n
+!        do j=1,3
+!          dm(j) = x2(j,i) - a2(j)
+!        enddo
+!        do j=1,3
+!          dp(j) = a1(j)
+!          do k=1,3
+!            dp(j) = dp(j) + rm(j,k) * dm(k)
+!          enddo
+!          x2(j,i) = dp(j)
+!        enddo
+!      enddo
+
+!      fitmol=rmsd
 
       return
       end
-c ******************************
+! ******************************
       subroutine jacobi(a,n,d,v)
 
-c ......................................................
-c PURPOSE: for given symmetric matrix 'a(n,n)
-c          compute eigenvalues 'd' & eigenvectors 'v(,)'
-c
-c  [W.H.Press,S.A.Teukolsky,W.T.Vetterling,
-c   B.P.Flannery, Numerical Recipes in FORTRAN,
-c   Cambridge Univ. Press, 2nd Ed. 1992, 456-462]
-c
-c CALLS: none
-c
-c ......................................................
-
-cf2py intent(out) d
-cf2py intent(out) v
+! ......................................................
+! PURPOSE: for given symmetric matrix 'a(n,n)
+!          compute eigenvalues 'd' & eigenvectors 'v(,)'
+!
+!  [W.H.Press,S.A.Teukolsky,W.T.Vetterling,
+!   B.P.Flannery, Numerical Recipes in FORTRAN,
+!   Cambridge Univ. Press, 2nd Ed. 1992, 456-462]
+!
+! CALLS: none
+!
+! ......................................................
+
+!f2py intent(out) d
+!f2py intent(out) v
       parameter (NMAX=500)
       
@@ -276,5 +276,5 @@
 
       real*8 a(n,n),d(n),v(n,n),
-     #       c,g,h,s,sm,t,tau,theta,tresh,b(NMAX),z(NMAX),smeps
+     &       c,g,h,s,sm,t,tau,theta,tresh,b(NMAX),z(NMAX),smeps
 
       smeps=1.0d-6
@@ -318,5 +318,5 @@
             if((i.gt.4).and.(abs(d(ip))+
 
-     #g.eq.abs(d(ip))).and.(abs(d(iq))+g.eq.abs(d(iq))))then
+     &g.eq.abs(d(ip))).and.(abs(d(iq))+g.eq.abs(d(iq))))then
               a(ip,iq)=0.d0
 
@@ -393,17 +393,17 @@
       end
 
-c ***********************************************************
+! ***********************************************************
 
       subroutine rmsinit(nml,string)
-c
-c------------------------------------------------------------------------------
-c Reads in pdb-file 'string' into INCP.H and initalizes 
-c the files that 'rmdsopt' needs to calculate the rmsd
-c of a configuration with the pdb-configuration
-C
-c CALLS: pdbread,atixpdb
-c
-c ----------------------------------------------------------------------------
-c
+!
+!------------------------------------------------------------------------------
+! Reads in pdb-file 'string' into INCP.H and initalizes 
+! the files that 'rmdsopt' needs to calculate the rmsd
+! of a configuration with the pdb-configuration
+!
+! CALLS: pdbread,atixpdb
+!
+! ----------------------------------------------------------------------------
+!
       include 'INCL.H'
       include 'INCP.H'
@@ -412,7 +412,7 @@
  
       if(string.eq.'smmp') then
-c
-c Compare with a smmp-structure
-c
+!
+! Compare with a smmp-structure
+!
         do i=iatrs1(irsml1(nml)),iatrs2(irsml2(nml))
          if(nmat(i)(1:1).ne.'h') then
@@ -422,13 +422,13 @@
          end if
         enddo
-c
+!
        else
-c
-c Reference structure is read in from pdb-file
-c
+!
+! Reference structure is read in from pdb-file
+!
          call pdbread(string,ier)
          if(ier.ne.0) stop 
          call atixpdb(nml)
-c
+!
       end if
       print *,'RMSD initialized with ',string
Index: setmvs.f
===================================================================
--- setmvs.f	(revision 2ebb8b629686fca2f81260a5ca88a8e21e0c1572)
+++ setmvs.f	(revision bd2278d6d1ff11d5a913fabac7fcc16d05c02a33)
@@ -1,48 +1,48 @@
-c**************************************************************
-c
-c This file contains the subroutines: setmvs,fndbrn
-c
-c Copyright 2003-2005  Frank Eisenmenger, U.H.E. Hansmann,
-c                      Shura Hayryan, Chin-Ku 
-c Copyright 2007       Frank Eisenmenger, U.H.E. Hansmann,
-c                      Jan H. Meinke, Sandipan Mohanty
-c
-c **************************************************************
+!**************************************************************
+!
+! This file contains the subroutines: setmvs,fndbrn
+!
+! Copyright 2003-2005  Frank Eisenmenger, U.H.E. Hansmann,
+!                      Shura Hayryan, Chin-Ku 
+! Copyright 2007       Frank Eisenmenger, U.H.E. Hansmann,
+!                      Jan H. Meinke, Sandipan Mohanty
+!
+! **************************************************************
 
 
       subroutine setmvs(nml)
 
-c ......................................................................
-c PURPOSE: 1. ORDER variables according to rules:
-c             variables with same base: 1st comes TORSION (can be only
-c               one with this base, since PHASE a. assumed to be FIXED),
-c               after this, for atoms branching from this base:
-c               for a b.angle & b.length with common primary moving
-c               atom=branch atom - b.angle comes 1st
-c
-c             iorvr(i), i=i_fivr_ml,i_lavr_ml -> indices of ordered var.
-c
-c          2. define NON-OVERLAPPING moving sets of atoms in molecule
-c             'nml' related to local variables
-c
-c             nmsml(i_ml) - number of moving sets per molecule
-c             imsvr1(i_vr),imsvr2() - indices of 1st/last m.s for var. 'i_vr'
-c                                     in 'latms1' & 'latms2'
-c             latms1(i_ms),latms2() - range of atoms of i-th m.s
-c
-c          3. define indices of next-following variables for each var.,
-c             which complete its physical moving set ('added' variables)
-c          
-c             nadml(i_ml) - number of 'added' var.s per molecule
-c             iadvr1(i_vr),iadvr2() - indices of 1st/last 'added' var. for
-c                                     var. 'i_vr' in 'ladvr'
-c             ladvr() - indices of 'added' variables
-c
-c          4. define index of corresponding variable for each atom
-c
-c ! routine must be called successively for molecules 1 -> ntlml
-c
-c CALLS: fndbrn, nursvr
-c ......................................................................
+! ......................................................................
+! PURPOSE: 1. ORDER variables according to rules:
+!             variables with same base: 1st comes TORSION (can be only
+!               one with this base, since PHASE a. assumed to be FIXED),
+!               after this, for atoms branching from this base:
+!               for a b.angle & b.length with common primary moving
+!               atom=branch atom - b.angle comes 1st
+!
+!             iorvr(i), i=i_fivr_ml,i_lavr_ml -> indices of ordered var.
+!
+!          2. define NON-OVERLAPPING moving sets of atoms in molecule
+!             'nml' related to local variables
+!
+!             nmsml(i_ml) - number of moving sets per molecule
+!             imsvr1(i_vr),imsvr2() - indices of 1st/last m.s for var. 'i_vr'
+!                                     in 'latms1' & 'latms2'
+!             latms1(i_ms),latms2() - range of atoms of i-th m.s
+!
+!          3. define indices of next-following variables for each var.,
+!             which complete its physical moving set ('added' variables)
+!          
+!             nadml(i_ml) - number of 'added' var.s per molecule
+!             iadvr1(i_vr),iadvr2() - indices of 1st/last 'added' var. for
+!                                     var. 'i_vr' in 'ladvr'
+!             ladvr() - indices of 'added' variables
+!
+!          4. define index of corresponding variable for each atom
+!
+! ! routine must be called successively for molecules 1 -> ntlml
+!
+! CALLS: fndbrn, nursvr
+! ......................................................................
 
       include 'INCL.H'
@@ -70,13 +70,13 @@
       if (ntlvr.eq.0) then
         write (*,'(a,i4)')
-     #           ' setmvs> No variables defined in molecule #',nml
+     &           ' setmvs> No variables defined in molecule #',nml
         nmsml(nml)=0
         nadml(nml)=0
         return
       endif
-c _________________ Take index of primary atom for each variable 
-c                   (i.e. index of atom moved by variable) to
-c                   sort variables, handling variables with same base:
-c                   modify indices to obtain appropriate order
+! _________________ Take index of primary atom for each variable 
+!                   (i.e. index of atom moved by variable) to
+!                   sort variables, handling variables with same base:
+!                   modify indices to obtain appropriate order
 
       ifirs=irsml1(nml)
@@ -108,8 +108,8 @@
         enddo  ! ... Variables
       enddo  ! ... Residues
-c ___________________________________ Sort variables in ascending order
-c                        (i.e. from start of molecule/base of branches)
-c array 'iorvr' gives indices of (1st,2nd, ... ,n-th) variables;
-c as can be found in arrays for variables (example: ityvr(iorvr())
+! ___________________________________ Sort variables in ascending order
+!                        (i.e. from start of molecule/base of branches)
+! array 'iorvr' gives indices of (1st,2nd, ... ,n-th) variables;
+! as can be found in arrays for variables (example: ityvr(iorvr())
       k=ilavr
       l=ifivr+ntlvr/2
@@ -143,6 +143,6 @@
       iorvr(i)=io
       goto 1
-c ______________________________ Find non-overlapping ranges of atoms (moving
-c                                sets) for each variable
+! ______________________________ Find non-overlapping ranges of atoms (moving
+!                                sets) for each variable
    2  nms=imsml1(nml)-1
 
@@ -152,5 +152,5 @@
         ia=iatvr(iv)      ! primary mov. atom
         ib=iowat(ia)      ! base
-c __________________________ First, determine complete mov. set for 'iv'
+! __________________________ First, determine complete mov. set for 'iv'
         it=ityvr(iv)
         if (it.eq.3) then       ! torsion
@@ -164,7 +164,7 @@
                 if (j.gt.(i2+1).or.k.lt.(i1-1)) then
                   write (*,'(3a,/,2a,i4,a,i3)') 
-     #             ' setmvs> Cannot combine disjunct ranges of atom',
-     #             ' indices for torsion ',nmvr(iv),' in residue ',
-     #             seq(ir),ir,' of molecule # ',nml
+     &             ' setmvs> Cannot combine disjunct ranges of atom',
+     &             ' indices for torsion ',nmvr(iv),' in residue ',
+     &             seq(ir),ir,' of molecule # ',nml
                   stop
                 else
@@ -186,5 +186,5 @@
         if ((nms+1).gt.mxms) then
           write (*,'(a,i4,a,i5)') ' setmvs> Molecule # ',nml,
-     #    ': Number of moving sets > ',mxms
+     &    ': Number of moving sets > ',mxms
           stop
         endif
@@ -193,6 +193,6 @@
         imsvr2(iv)=nms+1  !        & last m.s for var. 'iv'
 
-c ______________ Next, exclude overlaps between mov. set for 'iv' and the
-c                m.s. for 'previous' variables by reducing/splitting those
+! ______________ Next, exclude overlaps between mov. set for 'iv' and the
+!                m.s. for 'previous' variables by reducing/splitting those
 
         do jo=ifivr,io-1  ! prev. variables ...
@@ -219,5 +219,5 @@
                   if (nms.gt.mxms) then
                     write (*,'(a,i4,a,i5)') ' setmvs> Molecule # ',
-     #               nml,': Number of moving sets > ',mxms
+     &               nml,': Number of moving sets > ',mxms
                      stop
                   endif
@@ -259,5 +259,5 @@
 
         enddo  ! prev. variables
-c _______________________________ Finally, add moving set for 'iv'
+! _______________________________ Finally, add moving set for 'iv'
         nms=nms+1
         latms1(nms)=i1
@@ -265,5 +265,5 @@
       enddo  ! variables
       nmsml(nml)=nms-imsml1(nml)+1
-c _____________________________ Determine index of moving set for each atom
+! _____________________________ Determine index of moving set for each atom
       do ia=ifiat,ilaat
         ixmsat(ia)=0
@@ -274,7 +274,7 @@
         enddo
       enddo
-c _____________________________ Determine indices of variables which moving
-c                               set sets have to be added (=are related) to
-c                               those of a given variable
+! _____________________________ Determine indices of variables which moving
+!                               set sets have to be added (=are related) to
+!                               those of a given variable
 
       i=iorvr(ifivr)  ! initialize index of CURRENT var.
@@ -300,5 +300,5 @@
           jb=iowat(ja)       ! its base
 
-c _______________ current var. is torsion & shares base with var. 'j'
+! _______________ current var. is torsion & shares base with var. 'j'
           if (it.eq.3.and.jb.eq.ib) then
             do k=n,nad  !  ? has this branch been registered before ?
@@ -308,5 +308,5 @@
             if (nad.gt.mxvr) then
               write (*,'(a,i4,a,i5)') ' setmvs> Molecule # ',nml,
-     #                         ': Number of added variables > ',mxvr
+     &                         ': Number of added variables > ',mxvr
               stop
             endif
@@ -323,5 +323,5 @@
                 if (nad.gt.mxvr) then
                   write (*,'(a,i4,a,i5)') ' setmvs> Molecule # ',nml,
-     #                         ': Number of added variables > ',mxvr
+     &                         ': Number of added variables > ',mxvr
                   stop
                 endif
@@ -337,5 +337,5 @@
               if (nad.gt.mxvr) then
                 write (*,'(a,i4,a,i5)') ' setmvs> Molecule # ',nml,
-     #                       ': Number of added variables > ',mxvr
+     &                       ': Number of added variables > ',mxvr
                 stop
               endif
@@ -351,63 +351,63 @@
 
       nadml(nml)=nad-iadml1(nml)+1
-c _____________________________________ Summary
-c      do io=ilavr,ifivr,-1
-c        iv=iorvr(io)
-c        ib=iowat(iatvr(iv))
-c        i1s=imsvr1(iv)
-c        i2s=imsvr2(iv)
-c        if (i1s.le.i2s) then
-c          do i=i1s,i2s
-c            i1=latms1(i)
-c            i2=latms2(i)
-c            if (i.eq.i1s) then
-c              write (*,'(a,i3,7a,i4,3a,i4,a)') 'res # ',nursvr(iv),
-c     #        ' var: ',nmvr(iv),' base:',nmat(ib),'    atoms= ',
-c     #        nmat(i1),'(',i1,') - ',nmat(i2),'(',i2,')'
-c            else
-c              write (*,'(39x,2a,i4,3a,i4,a)')
-c     #        nmat(i1),'(',i1,') - ',nmat(i2),'(',i2,')'
-c            endif
-c          enddo
-c        else
-c          write (*,'(a,i3,5a)') 'res # ',nursvr(iv),
-c     #    ' var: ',nmvr(iv),' base:',nmat(ib),'  No atoms'
-c        endif
-c        i1a=iadvr1(iv)
-c        i2a=iadvr2(iv)
-c        if (i1a.le.i2a) then
-c          write (*,'(a,30(1x,a))') ' Depending variables:',
-c     #                    (nmvr(ladvr(i)),i=i1a,i2a)
-c        else
-c          write (*,'(a)') ' No dep. variables'
-c        endif
-c      enddo
-c _____________________________________ Summary - End
+! _____________________________________ Summary
+!      do io=ilavr,ifivr,-1
+!        iv=iorvr(io)
+!        ib=iowat(iatvr(iv))
+!        i1s=imsvr1(iv)
+!        i2s=imsvr2(iv)
+!        if (i1s.le.i2s) then
+!          do i=i1s,i2s
+!            i1=latms1(i)
+!            i2=latms2(i)
+!            if (i.eq.i1s) then
+!              write (*,'(a,i3,7a,i4,3a,i4,a)') 'res # ',nursvr(iv),
+!     #        ' var: ',nmvr(iv),' base:',nmat(ib),'    atoms= ',
+!     #        nmat(i1),'(',i1,') - ',nmat(i2),'(',i2,')'
+!            else
+!              write (*,'(39x,2a,i4,3a,i4,a)')
+!     #        nmat(i1),'(',i1,') - ',nmat(i2),'(',i2,')'
+!            endif
+!          enddo
+!        else
+!          write (*,'(a,i3,5a)') 'res # ',nursvr(iv),
+!     #    ' var: ',nmvr(iv),' base:',nmat(ib),'  No atoms'
+!        endif
+!        i1a=iadvr1(iv)
+!        i2a=iadvr2(iv)
+!        if (i1a.le.i2a) then
+!          write (*,'(a,30(1x,a))') ' Depending variables:',
+!     #                    (nmvr(ladvr(i)),i=i1a,i2a)
+!        else
+!          write (*,'(a)') ' No dep. variables'
+!        endif
+!      enddo
+! _____________________________________ Summary - End
  
       return
 
     6 write (*,'(a,i4,/,2(a,i5),a)') 
-     # ' setmvs> Error in atom numbering of molecule # ',nml,
-     # ': atom ranges for variables # ',iv,' and # ',jv,
-     # ' overlap only PARTLY'
+     & ' setmvs> Error in atom numbering of molecule # ',nml,
+     & ': atom ranges for variables # ',iv,' and # ',jv,
+     & ' overlap only PARTLY'
       stop
 
       end
-c *******************************************************
+! *******************************************************
       subroutine fndbrn(nml,nrs,ifirg,ilarg,irg1,irg2,bb)
 
-c .........................................................
-c PURPOSE: determine range [ifirg,ilarg] of atom indices
-c          for branch starting from atom 'ifirg' of residue
-c          'nrs' in molecule 'nml'
-c OUTPUT:  BB          - .t. if 'ifirg' is a backbone atom
-c          IRG1 & IRG2 - atom indices of ring-closing bond,
-c                        if 'ifirg' is INSIDE a ring, but NOT
-c                        its 1st atom ( in 'multiple' rings
-c                        only LAST closing bond is given !)
-c
-c CALLS: none
-c
-c .........................................................
+! .........................................................
+! PURPOSE: determine range [ifirg,ilarg] of atom indices
+!          for branch starting from atom 'ifirg' of residue
+!          'nrs' in molecule 'nml'
+! OUTPUT:  BB          - .t. if 'ifirg' is a backbone atom
+!          IRG1 & IRG2 - atom indices of ring-closing bond,
+!                        if 'ifirg' is INSIDE a ring, but NOT
+!                        its 1st atom ( in 'multiple' rings
+!                        only LAST closing bond is given !)
+!
+! CALLS: none
+!
+! .........................................................
 
       include 'INCL.H'
Index: setvar.f
===================================================================
--- setvar.f	(revision 2ebb8b629686fca2f81260a5ca88a8e21e0c1572)
+++ setvar.f	(revision bd2278d6d1ff11d5a913fabac7fcc16d05c02a33)
@@ -1,24 +1,24 @@
-c**************************************************************
-c
-c This file contains the subroutines: setvar
-c
-c Copyright 2003-2005  Frank Eisenmenger, U.H.E. Hansmann,
-c                      Shura Hayryan, Chin-Ku 
-c Copyright 2007       Frank Eisenmenger, U.H.E. Hansmann,
-c                      Jan H. Meinke, Sandipan Mohanty
-c
-c **************************************************************
+!**************************************************************
+!
+! This file contains the subroutines: setvar
+!
+! Copyright 2003-2005  Frank Eisenmenger, U.H.E. Hansmann,
+!                      Shura Hayryan, Chin-Ku 
+! Copyright 2007       Frank Eisenmenger, U.H.E. Hansmann,
+!                      Jan H. Meinke, Sandipan Mohanty
+!
+! **************************************************************
 
       
       subroutine setvar(nml,vlvrx)
 
-c ..............................................................
-c PURPOSE: Reset variables in molecule 'nml' to new values given
-c          in 'vlvrx' and rebuild molecule
-c          
-c ! assure constant PHASE angles for branches from same atom
-c
-c CALLS: bldmol,difang
-c ....................................................
+! ..............................................................
+! PURPOSE: Reset variables in molecule 'nml' to new values given
+!          in 'vlvrx' and rebuild molecule
+!          
+! ! assure constant PHASE angles for branches from same atom
+!
+! CALLS: bldmol,difang
+! ....................................................
 
       include 'INCL.H'
Index: universe.py
===================================================================
--- universe.py	(revision 2ebb8b629686fca2f81260a5ca88a8e21e0c1572)
+++ universe.py	(revision bd2278d6d1ff11d5a913fabac7fcc16d05c02a33)
@@ -112,2 +112,5 @@
         """Saves the state of this Universe."""
         pass
+
+if __name__ == '__main__':
+    u=Universe()
Index: utilities.f
===================================================================
--- utilities.f	(revision 2ebb8b629686fca2f81260a5ca88a8e21e0c1572)
+++ utilities.f	(revision bd2278d6d1ff11d5a913fabac7fcc16d05c02a33)
@@ -114,31 +114,31 @@
       end subroutine distributeWorkLoad
       
-c-----------------------------------------------------------------------
-c     The function fileNameMP takes a template of a file name in the
-c     variable base. The position of the first and last character that
-c     may be replaced by rank in the string are given in i1 (first) and
-c     i2 (last).
-c     The function returns an empty string if the rank would need more
-c     characters than is allowed by the template.
-c     For example,
-c     \code
-c     rank = 11
-c     fileName = fileNameMP('base_0000.dat', 6, 9, rank)
-c     write (*,*), fileName
-c     \endcode
-c     will output base_0011.dat.
-c     
-c     @param base the base file name, e.g., base_0000.dat.
-c     @param i1 index of the first character that may be replaced
-c     @param i2 index of the last character that may be replaced
-c     @param rank the number that should be inserted into the file name.
-c     
-c     @return file name for rank
-c-----------------------------------------------------------------------
+!-----------------------------------------------------------------------
+!     The function fileNameMP takes a template of a file name in the
+!     variable base. The position of the first and last character that
+!     may be replaced by rank in the string are given in i1 (first) and
+!     i2 (last).
+!     The function returns an empty string if the rank would need more
+!     characters than is allowed by the template.
+!     For example,
+!     \code
+!     rank = 11
+!     fileName = fileNameMP('base_0000.dat', 6, 9, rank)
+!     write (*,*), fileName
+!     \endcode
+!     will output base_0011.dat.
+!     
+!     @param base the base file name, e.g., base_0000.dat.
+!     @param i1 index of the first character that may be replaced
+!     @param i2 index of the last character that may be replaced
+!     @param rank the number that should be inserted into the file name.
+!     
+!     @return file name for rank
+!-----------------------------------------------------------------------
       character*80 function fileNameMP(base, i1, i2, rank)
 
       character*(*) base
-c     i1, i2: Index of first and last character that can be replaced
-c     rank: rank of node
+!     i1, i2: Index of first and last character that can be replaced
+!     rank: rank of node
       integer i1, i2, rank
 
@@ -150,5 +150,5 @@
       endif
 
-c     TODO: Allow arbitrary rank
+!     TODO: Allow arbitrary rank
 
       if (rank.lt.10) then
@@ -166,4 +166,4 @@
       endif
       end function fileNameMP 
-c     End fileNameMP
+!     End fileNameMP
 
Index: zimmer.f
===================================================================
--- zimmer.f	(revision 2ebb8b629686fca2f81260a5ca88a8e21e0c1572)
+++ zimmer.f	(revision bd2278d6d1ff11d5a913fabac7fcc16d05c02a33)
@@ -1,42 +1,42 @@
-c**************************************************************
-c
-c This file contains the subroutines: zimmer
-c
-c Copyright 2003-2005  Frank Eisenmenger, U.H.E. Hansmann,
-c                      Shura Hayryan, Chin-Ku 
-c Copyright 2007       Frank Eisenmenger, U.H.E. Hansmann,
-c                      Jan H. Meinke, Sandipan Mohanty
-c
-c CALLS: none
-c
-c **************************************************************
+!**************************************************************
+!
+! This file contains the subroutines: zimmer
+!
+! Copyright 2003-2005  Frank Eisenmenger, U.H.E. Hansmann,
+!                      Shura Hayryan, Chin-Ku 
+! Copyright 2007       Frank Eisenmenger, U.H.E. Hansmann,
+!                      Jan H. Meinke, Sandipan Mohanty
+!
+! CALLS: none
+!
+! **************************************************************
 
       
          subroutine zimmer(nresi) 
 
-C Calculates the Zimmerman-code of a configuration (Zimmerman et. al.
-C Macromolecules, vol. 10 (1977) 1-9.)
-C
-C Note the difference in Notations:
-C    SMMP:                      Zimmerman, et.al.:
-C         A                                       A
-C         B                                       B
-C         C                                       C
-C         D                                       D
-C         E                                       E
-C         F                                       F
-C         G                                       G
-C         H                                       H
-C         a                                       A*
-C         b                                       B*
-C         c                                       C*
-C         d                                       D*
-C         e                                       E*
-C         f                                       F*
-C         g                                       G*
-C         h                                       H*
-C
+! Calculates the Zimmerman-code of a configuration (Zimmerman et. al.
+! Macromolecules, vol. 10 (1977) 1-9.)
+!
+! Note the difference in Notations:
+!    SMMP:                      Zimmerman, et.al.:
+!         A                                       A
+!         B                                       B
+!         C                                       C
+!         D                                       D
+!         E                                       E
+!         F                                       F
+!         G                                       G
+!         H                                       H
+!         a                                       A*
+!         b                                       B*
+!         c                                       C*
+!         d                                       D*
+!         e                                       E*
+!         f                                       F*
+!         g                                       G*
+!         h                                       H*
+!
       include 'INCL.H'
-cf2py intent(in) nresi
+!f2py intent(in) nresi
       character*1 zim
 
