Physical Forcings

ERF includes the following forcing terms as options:

Buoyancy

If

use_gravity == true

then buoyancy is included in the momentum equations in the form

\[(0, 0, -\rho^\prime g)\]

Coriolis Forcing

If

use_coriolis == true

then Coriolis forcing is included in the momentum equations, i.e. :

\[\mathbf{F} = (C_f \; (\rho v \sin{\phi} - \rho w \cos{\phi}), -C_f \; \rho u \sin{\phi}, C_f \; \rho u \cos{\phi})\]

where \(C_f = 4 \pi / P_{rot}\) is the Coriolis factor with \(P_{rot}\) the rotational period (measured in seconds), and \(\phi\) the latitude.

There is no dependence on the radial distance from the center of the earth, thus the curvature of the earth is neglected.

Rayleigh Damping

If

use_rayleigh_damping == true

then explicit Rayleigh damping is included in the energy and momentum equations as described in Section 4.4.3 of the WRF Model Version 4 documentation (p40), i.e. :

\[\mathbf{F} = - \tau(z) \rho \; (u - \overline{u}, v - \overline{v}, 0)\]

and

\[F_{\rho \theta} = - \tau(z) \rho (\theta - \overline{\theta})\]

where \((\overline{u}, \overline{v}, 0)\) is the reference state velocity, typically defined as the initial horizontally homogeneous fields in idealized simulations, and \(\overline{\theta}\) is the reference state potential temperature. As in the WRF model, the reference state vertical velocity is assumed to be zero.

Problem-Specific Forcing

There are two ways to specify background conditions to drive the simulation:

Pressure Gradient

If

abl_driver_type == "PressureGradient"

then

\[\mathbf{F} = (\nabla p_{x,ext}, \nabla p_{y,ext}, \nabla p_{z,ext})\]

where \((\nabla p_{x,ext}, \nabla p_{y,ext}, \nabla p_{z,ext})\) are user-specified through erf.abl_pressure_grad.

Geostrophic Forcing

If

abl_driver_type == "GeostrophicWind"

then geostrophic forcing is included in the forcing terms, i.e.

\[\mathbf{F} = (-C_f \; v_{geo}, C_f \; u_{geo}, 0)\]

where \(C_f = 4 \pi / P_{rot}\) is the Coriolis factor with \(P_{rot}\) the rotational period (measured in seconds), and the geostrophic wind \((u_{geo}, v_{geo}, 0)\) is user-specified through erf.abl_geo_wind. Note that if geostrophic forcing is enabled, Coriolis forcing must also be included.