We present a method for assimilating current observations into a two-dimensional circulation model of Lake Michigan, based on the Princeton Ocean Model (POM) and driven by observed winds. Because measurements of surface level are not available, we require that the point-wise update to the forecast horizontal current does not change the forecast surface level. This requirement makes it possible to represent the current updates by a stream function. Given an appropriate covariance model of this stream function, the current updates are calculated by kriging interpolation using the observations and the corresponding model forecast. It isfurther required that the current updates do not create cross-shore flows; this is represented by the [...]