In this paper, we present a novel approach to compression of two-dimensional Gaussian random fields. We build upon a circulant embedding method to effectively decompose and generate sample realisations. By employing the structure of the resulting circulant matrix we propose a truncation algorithm that controls energy through rank and values of retained spectral components. In contrast with naive truncation, such construction ensures that the covariance matrix remains realisable. We discuss the properties and efficiency of the algorithm with numerical examples.