Primitive upwind numerical methods for hyperbolic partial differential equations