More API#

pyCRO.analytic.RO_BWJ(par)#

Compute the Recharge Oscillator Bjerknes–Wyrtki–Jin (BWJ) indices (linear ENSO growth rate and oscillation frequency).

This function evaluates the linear stability of the recharge oscillator system, returning a complex eigenvalue composed of growth rate and oscillation frequency.

Mathematical formulation#

The BWJ system is defined as:

\[ \begin{align}\begin{aligned}BJ = \frac{R - \epsilon}{2}\\WF = \frac{1}{2} \sqrt{4 F_1 F_2 - (R + \epsilon)^2}\end{aligned}\end{align} \]

The complex eigenvalue is:

\[\lambda = BJ + i\,WF\]

where:

  • BJ: growth/decay rate

  • WF: oscillation frequency

param par:

Dictionary of model parameters. Must include:

Rndarray

Recharge/discharge feedback parameter.

F1ndarray

Coupling coefficient for zonal wind–SST feedback.

F2ndarray

Coupling coefficient for thermocline feedback.

epsilonndarray

Damping (linear dissipation) term.

Only the first element (annual mean value) is used.

type par:

dict

returns:

Complex eigenvalue of the BWJ system:

real part:

BJ (growth rate, 1/month)

imaginary part:

WF (oscillation frequency, 1/month)

rtype:

complex

Examples

>>> par = {
...     "R": [-0.07],
...     "F1": [0.018],
...     "F2": [1.29],
...     "epsilon": [0.009]
... }
>>> RO_BWJ(par)
(-0.04+0.11j)
pyCRO.analytic.RO_analytic_std(par)#

Compute analytical standard deviation of T and h for the Recharge Oscillator (RO) model. ONLY for linear RO model with white noise (annual mean parameters only)

Parameters:

par (dict) – Dictionary containing parameter arrays: ‘R’, ‘F1’, ‘epsilon’, ‘F2’, ‘sigma_T’, ‘sigma_h’.

Returns:

  • T_std (float) – Standard deviation of T.

  • h_std (float) – Standard deviation of h.