The rotating giants of the atmosphere, known as cyclones, are both fascinating and destructive natural phenomena. Understanding their genesis and behaviour is essential for disaster preparedness and weather forecasting. A fairly straightforward model created with Python and Fortran allows us to investigate the basic physics of cyclones, whereas the more complex weather models utilized by experts demand enormous amounts of processing power. This article explores the development of such a model, highlighting the elegance of atmospheric dynamics and the strength of numerical techniques.
At its core, a cyclone's rotation arises from the interplay of a few key forces:
Pressure Gradient Force (PGF): Air moves from areas of high pressure to areas of low pressure. In a cyclone, this force points inward, towards the low-pressure center.
Coriolis Force: Due to the Earth's rotation, moving objects (including air) are deflected to the right in the Northern Hemisphere and to the left in the Southern Hemisphere. This force is crucial for establishing the cyclonic (counter-clockwise in the Northern Hemisphere) rotation.
Friction: Friction between the air and the Earth's surface slows down the wind and causes it to spiral inward towards the low-pressure center.
This model simplifies the atmosphere to a two-dimensional plane, but captures these essential forces.
This model simulates the evolution of a two-dimensional, non-divergent, barotropic (or shallow water) cyclone on an f-plane (constant Coriolis parameter). The model is based on the shallow water equations, representing the horizontal momentum balance, coupled with a simplified thermodynamic equation representing temperature changes.
Pressure Gradient Force: The primary driving force, accelerating air from high to low pressure.
Coriolis Force: The force due to the Earth's rotation, deflecting the wind to the right in the Northern Hemisphere (left in the Southern Hemisphere), essential for cyclonic rotation.
Friction: A linear damping term (-k * velocity) representing surface friction, which opposes the wind and leads to inflow.
Adiabatic Cooling/Warming: Vertical motion (inferred from horizontal convergence/divergence) results in adiabatic temperature changes, based on a constant lapse rate.
Latent Heat Release (Simplified): A parametrization that releases heat proportional to horizontal convergence, simulating the warming associated with condensation in rising air. This creates a positive feedback, deepening the low pressure.
Diffusion: Horizontal diffusion of temperature is also included for stability.
Hydrostatic Balance (Simplified): A linearized form of the hydrostatic equation is used to update the pressure field in response to temperature changes.
∂u/∂t = - (1/ρ) * ∂P/∂x + f * v - k * u
∂v/∂t = - (1/ρ) * ∂P/∂y - f * u - k * v
dT/dt = - w * Γ - (Lc/Cp) * (∂u/∂x + ∂v/∂y) + κ * (∂²T/∂x² + ∂²T/∂y²)
P = P_top * exp( (g * H) / (Rd * T) )
Where:
u, v: Wind velocities in the x and y directions.
P: Atmospheric pressure.
ρ: Air density (assumed constant in our basic model).
f: Coriolis parameter.
k: Friction coefficient.
T: Temperature
Γ: Adiabatic lapse rate.
Lc: Latent heat release coefficient.
Cp: Specific heat at constant pressure
w: Vertical velocity
κ: Thermal diffusivity.
H: Depth of the layer (1000 m)
g: Gravity (9.8 m/s**2)
P_top: Fixed top pressure (Assumed 500 hPa)
Rd: Specific Gas constant for dry air (287 J/kg-K)
Simplified values are assumed for parameter in order to simplify calculations. Many important processes such as phase change, individual clouds, thunderstorms, or small-scale turbulence are not resolved, hence simplified parameters are assumed to represent bulk fluxes.
To solve these equations numerically, we use a technique called the finite difference method.