File:Lorenz 96.svg
Summary
| Description |
English: Plot of 3 variables in a Lorenz 96 model simulation with 36 variables and . Created using the code below from Lorenz 96 model. |
| Date | |
| Source | Generated using code from Lorenz 96 model, added by anonymous user with IP 163.1.81.7 |
| Author | Anonymous |
| SVG development | |
| Source code | Python codefrom 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):
# 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 first three variables
from mpl_toolkits.mplot3d import Axes3D
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()
|
Licensing
This file is licensed under the Creative Commons Attribution-Share Alike 3.0 Unported license.
- You are free:
- to share – to copy, distribute and transmit the work
- to remix – to adapt the work
- Under the following conditions:
- attribution – You must give appropriate credit, provide a link to the license, and indicate if changes were made. You may do so in any reasonable manner, but not in any way that suggests the licensor endorses you or your use.
- share alike – If you remix, transform, or build upon the material, you must distribute your contributions under the same or compatible license as the original.