In the first part of this talk, I discuss the generation of meshes adapted to a prescribed scalar 'monitor' function. This is done through equidistribution, so that the volume of a cell is inversely proportional to the monitor function. We supplement this with an optimal transport condition, which aids with mesh regularity, and guarantees existence and uniqueness of such a mesh. The resulting mesh can be obtained by solving a Monge-Ampère equation, a scalar nonlinear elliptic PDE. This optimal transport also approach generalizes naturally from Euclidean space to manifolds such as the sphere. In the second part of this talk, I discuss the integration of moving mesh adaptivity into a finite element shallow water model, in the wider cont...