Lorenz 96 model

The Lorenz 96 model is a dynamical system formulated by Edward Lorenz in 1996.[1] It is defined as follows. For :

where it is assumed that and . Here is the state of the system and is a forcing constant. is a common value known to cause chaotic behavior.

It is commonly used as a model problem in data assimilation.[2]

Python simulation

Plot of the first three variables of the simulation
from mpl_toolkits.mplot3d import Axes3D
from scipy.integrate import odeint
import matplotlib.pyplot as plt
import numpy as np

# These are our constants
N = 36  # Number of variables
F = 8  # Forcing

def lorenz96(x, t):
    """Lorenz 96 model."""
    # Compute state derivatives
    d = np.zeros(N)
    # First the 3 edge cases: i=1,2,N
    d[0] = (x[1] - x[N-2]) * x[N-1] - x[0]
    d[1] = (x[2] - x[N-1]) * x[0] - x[1]
    d[N-1] = (x[0] - x[N-3]) * x[N-2] - x[N-1]
    # Then the general case
    for i in range(2, N-1):
        d[i] = (x[i+1] - x[i-2]) * x[i-1] - x[i]
    # Add the forcing term
    d = d + F

    # Return the state derivatives
    return d

x0 = F * np.ones(N)  # Initial state (equilibrium)
x0[19] += 0.01  # Add small perturbation to 20th variable
t = np.arange(0.0, 30.0, 0.01)

x = odeint(lorenz96, x0, t)

# Plot the first three variables
fig = plt.figure()
ax = fig.gca(projection='3d')
ax.plot(x[:, 0], x[:, 1], x[:, 2])
ax.set_xlabel('$x_1$')
ax.set_ylabel('$x_2$')
ax.set_zlabel('$x_3$')
plt.show()
gollark: Just cut out one "m".
gollark: Yemmel is almost lemmmy backwards.
gollark: Also, does anyone know of good vertical transport methods other than stairs?
gollark: Space is now available for free in the giant cube, because nobody was using it, subject to reasonable restrictions. You can get a subclaim with full management access.
gollark: `[S] OakPlank: lol im breaking some1s house[S] OakPlank: xdgollark: Rule 1.-------------------- Server Rules --------------------1. Do not grief or deface the world.2. Do not attempt to crash the server or use excessive resources with malicious intent.3. Do not exploit or abuse bugs. If you find a bug, it must be reported.4. Do not spam the chat or advertise.5. Do not cheat in any way.6. Do not harass other players or exhibit hate speech.7. Do not steal or scam items or KST from other players. Above all, these rules are implied:- Use common decency.- Use common sense.------------------------ « » -------------------------GopherAtl: and his love for making penises?[S] OakPlank: i didnt[S] OakPlank: its unclaimedgollark: It never mentions claims.gollark: Griefing is griefing, claim or not.gollark: Please excuse me while I copy these chatlogs into discord or something.[S] OakPlank: ppft`

References

  1. Lorenz, Edward (1996). "Predictability – A problem partly solved" (PDF). Seminar on Predictability, Vol. I, ECMWF.
  2. Ott, Edward; et al. "A Local Ensemble Kalman Filter for Atmospheric Data Assimilation". arXiv:physics/0203058.
This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.