Merge branch 'prerelease-3.2.1' into czarek
[unres.git] / source / cluster / wham / src / read_coords.F
index 2a21cbe..cf98db7 100644 (file)
@@ -218,10 +218,19 @@ c          call flush(iout)
             call xdrfint_(ixdrf, nss, iret)
             if (iret.eq.0) goto 101
             do j=1,nss
-              call xdrfint_(ixdrf, ihpb(j), iret)
-              if (iret.eq.0) goto 101
-              call xdrfint_(ixdrf, jhpb(j), iret)
-              if (iret.eq.0) goto 101
+cc              if (dyn_ss) then
+cc                call xdrfint_(ixdrf, idssb(j), iret)
+cc                if (iret.eq.0) goto 101
+cc                call xdrfint_(ixdrf, jdssb(j), iret)
+cc                if (iret.eq.0) goto 101
+cc             idssb(j)=idssb(j)-nres
+cc             jdssb(j)=jdssb(j)-nres
+cc              else
+                call xdrfint_(ixdrf, ihpb(j), iret)
+                if (iret.eq.0) goto 101
+                call xdrfint_(ixdrf, jhpb(j), iret)
+                if (iret.eq.0) goto 101
+cc              endif
             enddo
             call xdrffloat_(ixdrf,reini,iret)
             if (iret.eq.0) goto 101
@@ -243,10 +252,20 @@ c            write (iout,*) "nss",nss
             call flush(iout)
             if (iret.eq.0) goto 101
             do k=1,nss
-              call xdrfint(ixdrf, ihpb(k), iret)
-              if (iret.eq.0) goto 101
-              call xdrfint(ixdrf, jhpb(k), iret)
-              if (iret.eq.0) goto 101
+cc              if (dyn_ss) then
+cc                call xdrfint(ixdrf, idssb(k), iret)
+cc                if (iret.eq.0) goto 101
+cc               call xdrfint(ixdrf, jdssb(k), iret)
+cc                if (iret.eq.0) goto 101
+cc                idssb(k)=idssb(k)-nres
+cc                jdssb(k)=jdssb(k)-nres
+cc              write(iout,*) "TUTU", idssb(k),jdssb(k)
+cc              else
+                call xdrfint(ixdrf, ihpb(k), iret)
+                if (iret.eq.0) goto 101
+                call xdrfint(ixdrf, jhpb(k), iret)
+                if (iret.eq.0) goto 101
+cc              endif
             enddo
             call xdrffloat(ixdrf,reini,iret)
             if (iret.eq.0) goto 101
@@ -258,7 +277,9 @@ c            write (iout,*) "nss",nss
             if (iret.eq.0) goto 101
 #endif
             energy(jj+1)=reini
-            entfac(jj+1)=refree
+cc         write(iout,*) 'reini=', reini, jj+1
+            entfac(jj+1)=dble(refree)
+cc         write(iout,*) 'refree=', refree,jj+1
             rmstb(jj+1)=rmsdev
             do k=1,nres
               do l=1,3
@@ -639,10 +660,17 @@ c
         write (iout,*) "Reading binary file, record",iii," ii",ii
         call flush(iout)
 #endif
+        if (dyn_ss) then
+        read(icbase,rec=iii) ((allcart(j,i,ij),j=1,3),i=1,nres),
+     &    ((allcart(j,i,ij),j=1,3),i=nnt+nres,nct+nres),
+c     &    nss_all(ij),(ihpb_all(i,ij),jhpb_all(i,ij),i=1,nss),
+     &    entfac(ii),rmstb(ii)
+        else
         read(icbase,rec=iii) ((allcart(j,i,ij),j=1,3),i=1,nres),
      &    ((allcart(j,i,ij),j=1,3),i=nnt+nres,nct+nres),
      &    nss_all(ij),(ihpb_all(i,ij),jhpb_all(i,ij),i=1,nss),
      &    entfac(ii),rmstb(ii)
+        endif
 #ifdef DEBUG
         write (iout,*) ii,iii,ij,entfac(ii)
         write (iout,'(8f10.5)') ((allcart(j,i,ij),j=1,3),i=1,nres)
@@ -696,10 +724,17 @@ c
         write (iout,*) "Writing binary file, record",iii," ii",ii
         call flush(iout)
 #endif
+       if (dyn_ss) then
+        write(unit_out,rec=iii) ((allcart(j,i,ij),j=1,3),i=1,nres),
+     &    ((allcart(j,i,ij),j=1,3),i=nnt+nres,nct+nres),
+c     &    nss_all(ij),(ihpb_all(i,ij),jhpb_all(i,ij),i=1,nss_all(ij))
+     &    entfac(ii),rmstb(ii)
+        else
         write(unit_out,rec=iii) ((allcart(j,i,ij),j=1,3),i=1,nres),
      &    ((allcart(j,i,ij),j=1,3),i=nnt+nres,nct+nres),
      &    nss_all(ij),(ihpb_all(i,ij),jhpb_all(i,ij),i=1,nss_all(ij)),
      &    entfac(ii),rmstb(ii)
+        endif
 #ifdef DEBUG
         write (iout,'(8f10.5)') ((allcart(j,i,ij),j=1,3),i=1,nres)
         write (iout,'(8f10.4)') ((allcart(j,i,ij),j=1,3),i=nnt+nres,