anchor.diff:  c       -2: no result obtained because of negative weights w
   c           or all weights equal to zero.
   cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc
  -      subroutine rmsd_score_all(ndim,w,n_str,Lch,x,y,z,amat, rmsd_delta,
  -     &                          rmsd_a)
  -c     REM: I, J, K, L, M, or N are int
  +      subroutine rmsd_score_all(ndim,nst,w,n_str,Lch,x,y,z,amat,
  +     &                          rmsd_delta,rmsd_a)
         implicit none
   c     Intent In
  -cjmht integer ndim,nst
  -      integer ndim
  +      integer ndim,nst ! dimenson of arrays
         integer n_str,Lch
         double precision w(ndim)
  -cjmht real x(ndim,nst),y(ndim,nst),z(ndim,nst)
  -      real, allocatable, intent(in) :: x(:,:), y(:,:), z(:,:)
  +      real x(ndim,nst),y(ndim,nst),z(ndim,nst)
   c     Intent Out
  -cjmht real amat(nst,nst)
  -      real, allocatable, intent(inout) :: amat(:,:)
  +      real amat(nst,nst)
         real rmsd_delta
         double precision rmsd_a
   c     Local variables
  
positive.code: c        1         2         3         4         5         6         7 !
  c 345678901234567890123456789012345678901234567890123456789012345678901234567
        program cluster
  
  cjmht Need to add interfaces for all subroutines we call with allocated arrays
        interface
        subroutine tm_score_all(ndim,n_str,Lch,x,y,z,amat,rmsd_delta,
       &                        rmsd_a)
          integer ndim
          integer n_str
          integer Lch
          real, allocatable, intent(in) :: x(:,:), y(:,:), z(:,:)
          real, allocatable, intent(inout) :: amat(:,:)
           real rmsd_delta
           double precision rmsd_a
        end subroutine tm_score_all
        end interface
        interface
  
        subroutine rmsd_score_all(ndim,w,n_str,Lch,x,y,z,amat,
       &                          rmsd_delta,rmsd_a)
          integer ndim
          double precision w(ndim)
          integer n_str
          integer Lch
          real, allocatable, intent(in) :: x(:,:), y(:,:), z(:,:)
          real, allocatable, intent(inout) :: amat(:,:)
           real rmsd_delta
           double precision rmsd_a
        end subroutine rmsd_score_all
        end interface
  cjmht  end of interfaces
  
        parameter(ndim=2000)      !Length
        parameter(nst=13000)      !number of used structure, maximum allowed
  c      parameter(nst=100)      !number of used structure, maximum allowed
  
negative.code:       return
        end
  
        subroutine tm_score_all(ndim,nst,n_str,Lch,x,y,z,amat,rmsd_delta,
       &                        rmsd_a)
        implicit none
  c     Intent In
        integer ndim
        integer n_str ! Number of structures in use
        integer nst ! Max number of structures
        integer Lch ! Chain length of the structures (all same)
        real x(ndim,nst),y(ndim,nst),z(ndim,nst)
  c     Intent Out
        real amat(nst,nst)
        real rmsd_delta
        double precision rmsd_a
  
  