utils.forcing.create_sinusoid_forcing

utils.forcing.create_sinusoid_forcing(A, period, y0=0.0, duration=None)

Build a sinusoidal forcing: f(t) = y0 + A * sin(2π t / period).

Parameters

A : float

Amplitude.

period : float

Period (same time units as the model). Must be > 0.

y0 : float = 0.0

Constant offset. Default 0.0.

duration : float = None

If given, returns a :class:~climatecritters.core.ForcingElement. If omitted, returns an indefinite :class:~climatecritters.core.Forcing.

Returns

: Forcing or ForcingElement

Raises

: ValueError

If period ≤ 0.

Examples

import matplotlib.pyplot as plt
from climatecritters.utils.forcing import create_sinusoid_forcing

f = create_sinusoid_forcing(A=0.5, period=1.0)
fig, ax = f.plot(t_span=(0, 2))
plt.savefig('docs/reference/figures/create_sinusoid_forcing_example.png',
            dpi=150, bbox_inches='tight')

create_sinusoid_forcing example output