def METHOD_NAME(eta, u, v, h, f, nu, nonlin=True):
    # evaluate equations
    if nonlin:
        depth = eta + h
    else:
        depth = h
    div_hu = sympy.diff(depth*u, x) + sympy.diff(depth*v, y)
    res_elev = sympy.diff(eta, t) + div_hu
    u_x = sympy.diff(u, x)
    u_y = sympy.diff(u, y)
    v_x = sympy.diff(v, x)
    v_y = sympy.diff(v, y)
    if nonlin:
        adv_u = u*u_x + v*u_y
        adv_v = u*v_x + v*v_y
    else:
        adv_u = adv_v = 0
    cori_u = -f*v
    cori_v = f*u
    pg_u = g*sympy.diff(eta, x)
    pg_v = g*sympy.diff(eta, y)
    visc_u = -(2*sympy.diff(nu*sympy.diff(u, x), x)
               + sympy.diff(nu*sympy.diff(u, y), y)
               + sympy.diff(nu*sympy.diff(v, x), y))
    visc_v = -(2*sympy.diff(nu*sympy.diff(v, y), y)
               + sympy.diff(nu*sympy.diff(v, x), x)
               + sympy.diff(nu*sympy.diff(u, y), x))
    visc_u += -sympy.diff(depth, x)/depth * nu * 2 * sympy.diff(u, x)
    visc_v += -sympy.diff(depth, y)/depth * nu * 2 * sympy.diff(v, y)
    res_u = sympy.diff(u, t) + adv_u + cori_u + pg_u + visc_u
    res_v = sympy.diff(v, t) + adv_v + cori_v + pg_v + visc_v
    return res_elev, res_u, res_v