anchor.diff:    double precision eta(0:nx+1, 0:ny+1)
     double precision freesurfFac
     double precision v(0:nx+1, 0:ny+1, layers)
  -  double precision vb(0:nx+1, 0:ny+1)
  +  double precision vb(nx, ny+1)
   
     vb = 0d0
   
  
positive.code:   allocate(dvdtveryold(0:nx+1, 0:ny+1, layers))
    allocate(vnew(0:nx+1, 0:ny+1, layers))
    allocate(dvdt_bt(0:nx, ny))
    allocate(vb(nx+1, ny))
    allocate(vhalf(0:nx+1, 0:ny+1, layers))
    allocate(vav(0:nx+1, 0:ny+1, layers))
  
  
negative.code:   integer i, j
    double precision eta(0:nx+1, 0:ny+1)
    double precision etastar(0:nx+1, 0:ny+1)
    double precision ub(nx+1, ny)
    double precision vb(nx, ny+1)
    double precision freesurfFac, dx, dy, dt
  
    etastar = 0d0
  