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.