utils.noise.from_param

utils.noise.from_param(
    method='uar1',
    noise_param=None,
    length=50,
    number=1,
    time_pattern='even',
    settings=None,
    seed=None,
    label=None,
)

Generate surrogate series from a parametric noise model.

Parameters

method : str = 'uar1'

Noise model. Supported values: 'ar1sim', 'uar1', 'CN' (colored noise). Default 'uar1'.

noise_param : list or None = None

Model parameters: - 'ar1sim' / 'uar1': [tau, sigma0] - 'CN': [beta] Default [1, 1].

length : int = 50

Length of each surrogate series. Default 50.

number : int = 1

Number of surrogate realizations to generate. Default 1.

time_pattern : str = 'even'

Time-axis generation pattern. One of: - 'even' — evenly spaced with spacing delta_t from settings (default 1.0) - 'random' — random spacing via delta_t_dist and param in settings - 'specified' — explicit time array passed in settings

settings : dict or None = None

Additional options forwarded to the surrogate generator. Default None.

seed : int or None = None

Random seed for reproducibility. Default None.

label : str or None = None

Label attached to the returned SurrogateSeries. Default None.

Returns

surr : pyleoclim.SurrogateSeries

Surrogate series object; surr.series_list contains number series.

See also

pyleoclim.SurrogateSeries : Underlying surrogate generator.

Examples

import matplotlib.pyplot as plt
from climatecritters.utils.noise import from_param

# Ten AR(1) realizations with tau=5, sigma=0.5
surr = from_param(method='ar1sim', noise_param=[5, 0.5],
                  length=200, number=10, seed=0)
fig, ax = plt.subplots(figsize=(8, 3))
for s in surr.series_list:
    ax.plot(s.time, s.value, lw=0.7, alpha=0.5)
ax.set_xlabel('time'); ax.set_ylabel('value')
ax.set_title('AR(1) surrogate realizations (τ=5, σ=0.5)')
plt.savefig('docs/reference/figures/from_param_example.png',
            dpi=150, bbox_inches='tight')

from_param example output