We are interested in characterizing a 2D surface $z(x,y)$, where $(x,y)$ is the regular 2D Cartesian grid. Let $\nabla z = (z_x, z_y)$ denote the gradient. The surface is a "general" one, that is, devoid of any special symmetries.

We know the isocontours of constant $z$ and the isocontours of constant $|| \nabla z ||$ at every point. To what extent does this information characterize the surface? (For example, we can the call the surface completely characterized if we know the values of $z$ at every point $(x,y)$ up to a global multiplicative scale and additive offset, or the exact values of the gradient $(z_x, z_y)$ at every point.)

Note that the surface is "general", so at least some isocontours of constant $z$ and constant $|| \nabla z ||$ can be assumed to intersect.

To look at the problem in another way, knowing the isocontours of constant $z$ is the same as knowing the direction of the gradient, that is the ratio $\displaystyle\frac{z_y}{z_x}$, at every point. The surface will be completely specified if, in addition, we also know the magnitude of the gradient, $|| \nabla z ||$, at every point. Instead, all we know are the isocontours of constant $|| \nabla z ||$. Is there an elegant characterization of the ambiguity to which we can infer the values of $z$?