The general asymptotic theory for wave propagation in a slowly varying medium, classically known as the Wentzel–Kramers–Brillouin–Jeffreys (WKBJ) approximation, is revisited here with the aim of constructing a new data diagnostic technique useful in atmospheric and oceanic sciences. Using the Wigner transform, a kind of mapping that associates a linear operator with a function, we analytically decompose a flow field into mutually independent wave signals. This method takes account of the variations in the polarisation relations, an eigenvector that represents the kinematic characteristics of each wave component, so as to project the variables onto their eigenspace quasi-locally. The temporal evolution of a specific mode signal obeys a single wave equation characterised by the dispersion relation that also incorporates the effect from the local gradient in the medium. Combining this method with transport theory and applying them to numerical simulation data, we can detect the transfer of energy or other conserved quantities associated with the propagation of each wave signal in a wide variety of situations.