The WV_CWT function returns the one-dimensional continuous wavelet transform of the input array. The transform is done using a user-inputted wavelet function.

## Example

`; Assume we have monthly random data.`

`n = 500`

dt = 1d/12 ; time sampling

`seed = 999`

`data = RANDOMN(seed, n)`

time = 1960 + dt*FINDGEN(n)

`; Compute the wavelet transform and the power.`

wave = WV_CWT(data, 'Morlet', 6, /PAD, SCALE=scales)

wavePower = ABS(wave^2)

`; Convert scales to time units.`

scales *= dt

`; Contour visualization.`

c = CONTOUR(wavePower, time, scales, YRANGE=[20,0.25], $

C_VALUE=FINDGEN(7)+1, $

` /FILL, RGB_TABLE=39, $`

` YTITLE='Scale (years)', $`

` TITLE='Wavelet Power')`

## Syntax

*Result* = WV_CWT(*Array, Family, Order* [, /DOUBLE] [, DSCALE=*scalar*] [, NSCALE=*scalar*] [, /PAD] [, SCALE=*variable*] [, START_SCALE=scalar])

## Return Value

The result is a two-dimensional array of type complex or double complex, containing the continuous wavelet transform of the input *Array*.

## Arguments

### Array

A one-dimensional array of length N, of floating-point or complex type.

### Family

A scalar string giving the name of the wavelet function to use for the transform.

### Order

The order number, or parameter, for the wavelet function given by *Family*.

## Keywords

### DOUBLE

Set this keyword to force the computation to be done in double-precision arithmetic.

### DSCALE

Set this keyword to a scalar value giving the spacing between scale values, in logarithmic units. The default is 0.25, which gives four subscales within each major scale.

### NSCALE

Set this keyword to a scalar value giving the total number of scale values to use for the wavelet transform. The default is [log_{2}(N/START_SCALE)]/DSCALE+1.

### PAD

Set this keyword to force *Array* to be padded with zeroes before computing the transform. Enough zeroes are added to make the total length of *Array* equal to the next-higher power-of-two greater than 2N. Padding with zeroes prevents wraparound of the *Array* and speeds up the fast Fourier transform.

**Note: **Padding with zeroes reduces, but does not eliminate, edge effects caused by the discontinuities at the start and end of the data.

### SCALE

Set this keyword to a named variable in which to return the scale values used for the continuous wavelet transform. The SCALE values range from START_SCALE up to START_SCALE·2^[(NSCALE–1)DSCALE].

### START_SCALE

Set this keyword to a scalar value giving the starting scale, in non-dimensional units. The default is 2, which gives a starting scale that is twice the spacing between *Array* elements.

## Reference

Torrence and Compo, 1998: A Practical Guide to Wavelet Analysis. *Bull. Amer. Meteor. Soc.*, **79**, 61–78.

## Version History

5.4 |
Introduced |

## See Also

WV_DWT, WV_FN_GAUSSIAN, WV_FN_MORLET, WV_FN_PAUL