anchor.diff:        dimension order(nst)
         dimension ires(ndim)
         double precision rmsd_a,rmsd2_a
  -      
  -cjmht dimension x1(ndim),y1(ndim),z1(ndim),nn1(ndim)
  -cjmht dimension x2(ndim),y2(ndim),z2(ndim),nn2(ndim)
  -      real, allocatable :: x1(:),y1(:),z1(:)
  -      real, allocatable :: x2(:),y2(:),z2(:)
  -      integer, allocatable :: nn1(:), nn2(:)
  +      dimension x1(ndim),y1(ndim),z1(ndim),nn1(ndim)
  +      dimension x2(ndim),y2(ndim),z2(ndim),nn2(ndim)
   
   cjmht
         integer score_type
  
positive.code:       allocate(y(Lch,n_str_all))
        allocate(z(Lch,n_str_all))
        allocate(amat(n_str_all,n_str_all))
  cjmht check this will be sufficient for native if used for that
        allocate(x1(Lch),y1(Lch),z1(Lch))
        allocate(x2(Lch),y2(Lch),z2(Lch))
        allocate(nn1(Lch))
        allocate(nn2(Lch))
        
  cccccccccccc read native structure cccccccccccccccccccc
        i=0
  
negative.code: cjmht Compiling with OpenMP changes where variables are stored and can cause the
  cjmht stack to get overloaded. To prevent this happening on Linux I had to set
  cjmht 'ulimit -s unlimited' when running. To get it to work on OSX, I had to add
  cjmht the compiler flags: -Wl,-stack_size,0x2000000 (32Mb - empirically determined)
  cjmht The OMP_STACKSIZE variables controls the stack for _additional_ variables,
  cjmht not the main OMP thread - the default is the ulimit option on Linux or the
  cjmht compile-time option on OSX (I think)
  