anchor.diff:  
     ! Now calculate d/dt of u, v, h and store as dhdtveryold, dudtveryold
     ! and dvdtveryold
  -  call evaluate_dhdt(dhdtveryold, hhalf, uhalf, vhalf, ah, dx, dy, nx, ny, layers, &
  -      spongeHTimeScale, spongeH, wetmask, RedGrav)
  +  call evaluate_dhdt(dhdtveryold, hhalf, uhalf, vhalf, ah, dx, dy, &
  +      nx, ny, layers, spongeHTimeScale, spongeH, wetmask, RedGrav)
   
     call evaluate_dudt(dudtveryold, hhalf, uhalf, vhalf, b, zeta, &
         wind_x, fu, au, ar, slip, dx, dy, hfacN, hfacS, nx, ny, layers, rho0, &
  
positive.code:   call evaluate_zeta(zeta, uhalf, vhalf, nx, ny, layers, dx, dy)
  
    ! Now calculate d/dt of u, v, h and store as dhdtold, dudtold and dvdtold
    call evaluate_dhdt(dhdtold, hhalf, uhalf, vhalf, ah, dx, dy, nx, ny, layers, &
        spongeHTimeScale, spongeH, wetmask, RedGrav)
    call evaluate_dudt(dudtold, hhalf, uhalf, vhalf, b, zeta, wind_x, &
        fu, au, ar, slip, dx, dy, hfacN, hfacS, nx, ny, layers, rho0, &
        spongeUTimeScale, spongeU, RedGrav, botDrag)
  
negative.code:               dvdt(i,j,k) = dvdt(i,j,k) - 1.0d0*botDrag*(v(i,j,k))
              end if
            else ! mid layer/s
              dvdt(i,j,k) = dvdt(i,j,k) - &
                  1.0d0*ar*(2.0d0*v(i,j,k) - 1.0d0*v(i,j,k-1) - 1.0d0*v(i,j,k+1))
            end if
          end if
        end do
  