anchor.diff:       call dumpstatus(klok, message, 'status.txt')
        do i=1,nrects
           call pmhist(xpi,xfn(:,rect_n_start(i):rect_n_end(i)), &
  -             frc(:,rect_n_start(i):rect_n_end(i)),10240.d0/fnrect)
  +             frc(:,rect_n_start(i):rect_n_end(i)),10240.d0/fnrectnodes)
        end do
        if (nrects > 0) call inhist(xfn, firstn, number, nextn)
        
  
positive.code:   IMPLICIT NONE
  
    ! This interface block is needed to pass dynamically allocated arrays
    interface
       subroutine inhist(xfn, firstn, number, nextn)
         double precision :: xfn(:,:)
  
negative.code:   !     Start variable declaration
    !**********************************************************************
  
  
    ! ngx_im1 is the number of grid nodes in the i-direction, minus one.
    ! This is only really useful for the z-direction.
    ! nbx_i is ngx_i+2, which is only really useful in the x and y directions.
    ! lx_ing is the log_2(ngx_i)
    integer, parameter :: lxng=$lngx$, lyng=lxng, lzng=lxng
    ! ngx_i is the number of fluid grid nodes in the i-direction
    integer, parameter :: NGX=2**LXNG,NGY=2**LYNG,NGZ=2**LZNG
    integer, parameter :: nbx=ngx+2,nby=ngy+2,nbz=ngz+2
    integer, parameter :: ngxm1=ngx-1,ngym1=ngy-1,ngzm1=ngz-1
  
    ! These are just the ngx_i in double precision
    double precision, PARAMETER :: FLNGX=NGX,FLNGY=NGY,FLNGZ=NGZ
  
    ! nfsize is the number of solid nodes
    ! nfsize2 is the number of elements
    integer nfsize, nfsize2
  
    integer nrects
    integer nrectnodes
    double precision fnrectnodes
    INTEGER KLOK,KLOK1,KLOKEND,NSTEP
    double precision :: T,H,h64,TD,VSC,TIME,RHO,PI,RADX,FOSTAR
    double precision, allocatable :: rad(:)
  