A technique for analyzing dispersion properties of numerical schemes is proposed. The method is able to deal with both non dispersive or dispersive waves, i.e. waves for which the phase speed varies with wavenumber. It can be applied to unstructured grids and to finite domains with or without periodic boundary conditions. We consider the discrete version L of a linear differential operator L. An eigenvalue analysis of L gives eigenfunctions and eigenvalues (l(i), lambda(i) ). The spatially resolved modes are found out using a standard a posteriori error estimation procedure applied to eigenmodes. Resolved eigenfunctions l(i) 's are used to determine numerical wavenumbers k(i) 's. Eigenvalues' imaginary parts are the wave frequencies omega(i) and a discrete dispersion relation omega(i) = f(k(i) ) is constructed and compared with the exact dispersion relation of the continuous operator L. Real parts of eigenvalues lambda(i) 's allow to compute dissipation errors of the scheme for each given class of wave. The method is applied to the discontinuous Galerkin discretization of shallow water equations in a rotating framework with a variable Coriolis force. Such a model exhibits three families of dispersive waves, including the slow Rossby waves that are usually difficult to analyze. In this paper, we present dissipation and dispersion errors for Rossby, Poincare and Kelvin waves. We exhibit the strong superconvergence of numerical wave numbers issued of discontinuous Galerkin discretizations for all families of waves. In particular, the theoretical superconvergent rates, demonstrated for a one dimensional linear transport equation, for dissipation and dispersion errors are obtained in this two dimensional model with a variable Coriolis parameter for the Kelvin and Poincare waves.