module: lorenz_96

class lorenz_96.Lorenz96(model_size=40, delta_t=0.05, forcing=8)

This class implements the Lorenz 96 model, a simplified atmospheric model designed by Edward Lorenz. It is commonly used in the study of atmospheric dynamics and chaos theory. The model simulates the behavior of a set of variables that could represent atmospheric quantities over a range of spatial positions on a circular domain. The dynamics of the model are governed by a set of differential equations that exhibit chaotic solutions under certain conditions, making it a useful tool for research in numerical weather prediction and theoretical meteorology.

model_size

Specifies the number of spatial points in the model, representing the system’s dimensionality.

Type:

int

delta_t

The time step used for numerical integration.

Type:

float

forcing

A constant term in the differential equations that acts as an external forcing, influencing the system’s chaotic behavior.

Type:

float

__init__(self, model_size=36, delta_t=0.01, forcing=8.0)

Initializes a new instance of the Lorenz96 model with optional parameters for model size, time step, and external forcing.

step(x)

Does a single time step advance for Lorenz 96 model using four-step Runge-Kutta time step.

Parameters: - x: The model_size state.

self.forcing: The forcing term self.delta_t: The time step.

Returns: - x_new: The new state vector after the time step.

comp_dt(x)

Computes the derivative of the state vector using numpy operations for efficiency.

Parameters: - x: The state vector.

self.forcing: The forcing term.

Returns: - dt: The derivative of the state vector.