anchor.diff:  subroutine evaluate_dvdt(dvdt, h,u,v,b,zeta,wind_y,fv, &
       au,ar,slip,dx,dy,hfacW,hfacE,nx,ny,layers,rho0, &
       spongeTimeScale,spongeV,RedGrav,botDrag)
  +  implicit none
  +
     ! dvdt(i,j) is evaluated at the centre of the bottom edge of the
     ! grid box, the same place as v(i,j)
     integer nx,ny,layers
  
positive.code: !! timestepped with the tendencies excluding the free surface
  !! pressure gradient.
  subroutine calc_eta_star(ub,vb,eta,etastar,freesurfFac,nx,ny,dx,dy,dt)
    integer nx,ny,layers
    integer i,j,k
    double precision eta(0:nx+1,0:ny+1)
  
negative.code: !> Check to see if there are any NaNs in the data field and stop the
  !! calculation if any are found.
  subroutine break_if_NaN(data,nx,ny,layers,n)
    implicit none
  
    ! To stop the program if it detects at NaN in the variable being checked
  
    integer nx,ny,layers,n,i,j,k
    double precision data(0:nx+1, 0:ny+1,layers)
  
    do k=1,layers
  