epygram.spectra — Class and functions for spectra¶
This module contains:
- a class to handle variance spectrum; 
- a function to compute DCT spectrum from a 2D field; 
- a function to sort spectra with regards to their name; 
- a function to plot a series of spectra; 
- a function to read a dumped spectrum; 
- a function to create a spectral geometry, e.g., for GRIBs. 
Classes¶
- class epygram.spectra.Spectrum(variances, name=None, resolution=None, mean2=None, **kwargs)[source]¶
- Bases: - RecursiveObject- A spectrum can be seen as a quantification of a signal’s variance with regards to scale. If the signal is defined in physical space on N points, its spectral representation will be a squared mean value (wavenumber 0) and variances for N-1 wavenumbers. For details and documentation, see - Denis et al. (2002) : ‘Spectral Decomposition of Two-Dimensional Atmospheric Fields on Limited-Area Domains Using the Discrete Cosine Transform (DCT)’ - Parameters:
- variances – variances of the spectrum, from wavenumber 1 to N-1. 
- name – an optional name for the spectrum. 
- resolution – an optional resolution for the field represented by the spectrum. It is used to compute the according wavelengths. Resolution unit is arbitrary, to the will of the user. 
- mean2 – the optional mean^2 of the field, i.e. variance of wavenumber 0 of the spectrum. 
 
 - plotspectrum(together_with=[], over=(None, None), slopes=[{'exp': -3, 'label': '-3', 'offset': 1}, {'exp': -1.6666666666666667, 'label': '-5/3', 'offset': 1}], zoom=None, unit='SI', title=None, figsize=None, takeover=False)[source]¶
- Plot the spectrum. - Parameters:
- together_with – another spectrum or list of spectra to plot on the same ax. 
 - Cf. function plotspectra() of this module for other arguments. 
 - property wavelengths¶
- Gets the wavelengths of the spectrum. 
 - property wavenumbers¶
- Gets the wavenumbers of the spectrum. 
 
Functions¶
- epygram.spectra.dctspectrum(x, verbose=False, log=None)[source]¶
- Function dctspectrum takes a 2D-array as argument and returns its 1D DCT ellipse spectrum. - For details and documentation, see
- Denis et al. (2002) : ‘Spectral Decomposition of Two-Dimensional Atmospheric Fields on Limited-Area Domains Using the Discrete Cosine Transform (DCT).’ 
 - Parameters:
- verbose – verbose mode 
- log – an optional logging.Logger instance to which print info in verbose case. 
 
 
- epygram.spectra.global_spectrum(field)[source]¶
- Return variance spectrum of a global spectral field on a GaussGeometry, from its spectral coefficients. 
- epygram.spectra.plotspectra(spectra, over=(None, None), slopes=[{'exp': -3, 'label': '-3', 'offset': 1}, {'exp': -1.6666666666666667, 'label': '-5/3', 'offset': 1}], zoom=None, unit='SI', title=None, figsize=None, takeover=False)[source]¶
- To plot a series of spectra. - Parameters:
- over – any existing figure and/or ax to be used for the plot, given as a tuple (fig, ax), with None for missing objects. fig is the frame of the matplotlib figure, containing eventually several subplots (axes); ax is the matplotlib axes on which the drawing is done. When given (is not None), these objects must be coherent, i.e. ax being one of the fig axes. 
- spectra – a Spectrum instance or a list of. 
- unit – string accepting LaTeX-mathematical syntaxes 
- slopes – - list of dict( - exp=x where x is exposant of a A*k**-x slope - offset=A where A is logscale offset in a A*k**-x slope; - a offset=1 is fitted to intercept the first spectra at wavenumber = 2 - label=(optional label) appearing ‘k = label’ in legend) 
 
- zoom – dict(xmin=,xmax=,ymin=,ymax=) 
- title – title for the plot 
- figsize – figure sizes in inches, e.g. (5, 8.5). Default figsize is config.plotsizes. 
- takeover – give the user more access to the objects used in the plot, by returning a dict containing them instead of only fig/ax