Mountain-Wave
- AnelasticMassContinuity
model
atmospheric_dynamics
clark1977
Anelastic mass continuity equation from Clark (1977), Eq. 2.4. The component forms the three density-weighted velocity components rho_u = ρ̄u, rho_v = ρ̄v, rho_w = ρ̄w from the base-state density ρ̄ and the velocity field (u, v, w), and computes the anelastic mass-continuity residual mass_continuity as the sum of the three externally-supplied density-weighted divergence terms ∂(ρ̄u)/∂x + ∂(ρ̄v)/∂y + ∂(ρ̄w)/∂z. The anelastic approximation constrains this residual to zero, filtering acoustic (sound) waves from the dynamics by replacing the geometric velocity divergence with the density-weighted one. Four purely-algebraic equations, no time integration. Migrated from AtmosphericDynamics.jl@816cc391 src/clark1977.jl:369 (`AnelasticMassContinuity` @component).
- AnelasticMomentum
model
atmospheric_dynamics
clark1977
Anelastic momentum equations from Clark (1977), 'A Small-Scale Dynamic Model Using a Terrain-Following Coordinate Transformation', Journal of Computational Physics 24, 186-215. A diagnostic (purely algebraic) component that evaluates the residuals of the three nonlinear anelastic momentum equations (Eqs. 2.1-2.3) in Cartesian coordinates. Given the velocity components (u, v, w), their material derivatives (du/dt, dv/dt, dw/dt), the perturbation-pressure gradients (∂p'/∂x, ∂p'/∂y, ∂p'/∂z), the base-state and perturbation densities (ρ̄, ρ'), the Reynolds-stress divergences ((∇·τ)₁, (∇·τ)₂, (∇·τ)₃), the Coriolis parameter f and the Rayleigh-friction time scale τ_R, it returns the three momentum-equation residuals mom_u, mom_v, mom_w. Each residual is the sum of the inertial term ρ̄·(dV/dt), the Coriolis term ρ̄·V·f (horizontal components only), the perturbation-pressure gradient, the negative Reynolds-stress divergence, the buoyancy term ρ'·g (vertical component only) and the negative Rayleigh-friction sink ρ̄·V/τ_R; the residual vanishes when the momentum balance is exactly satisfied. The model has 3 algebraic variables (no time integration), 3 equations and 17 parameters (1 physical constant + 16 inputs). All quantities are SI. Migrated from AtmosphericDynamics.jl@816cc391 src/clark1977.jl:282 (`AnelasticMomentum` @component).
- AnelasticThermodynamics
model
atmospheric_dynamics
clark1977
Anelastic thermodynamics equation (the first law of thermodynamics) with Smagorinsky turbulent heat flux, from Clark (1977), 'A Small-Scale Dynamic Model Using a Terrain-Following Coordinate Transformation'. Given the base-state air density rho_bar, the eddy heat diffusivity K_H, and the potential-temperature gradients, the component computes the three turbulent heat-flux components H1, H2, H3 = rho_bar*K_H*grad(theta) (Eq. 2.19), the heat-flux divergence term div_H = -div(H), and the residual of the anelastic thermodynamic equation rho_bar*dtheta/dt = -div(H) (Eq. 2.14) — which vanishes for an energy-conserving solution. Five purely-algebraic equations, no time integration. Migrated from AtmosphericDynamics.jl@816cc391 src/clark1977.jl:426 (`AnelasticThermodynamics` @component).
- Clark1977AnelasticSystem
model
atmospheric_dynamics
clark1977
Complete 3D anelastic atmospheric dynamics system in terrain-following coordinates from Clark (1977), 'A Small-Scale Dynamic Model Using a Terrain-Following Coordinate Transformation', Journal of Computational Physics 24, 186-215. The full nonlinear Clark (1977) model assembled as a hierarchical composition of eight subsystems: the isentropic base state (Eqs. 2.6-2.9), Witch-of-Agnesi mountain topography (Eq. 7.1), the terrain-following coordinate transformation (Eqs. 2.20-2.27), the Smagorinsky turbulence closure (Eqs. 2.15-2.19), the anelastic momentum residuals (Eqs. 2.1-2.3), anelastic mass continuity (Eq. 2.4), anelastic thermodynamics with turbulent heat flux (Eq. 2.14) and the diagnostic pressure equation (Section 4). Migrated from AtmosphericDynamics.jl@816cc391 src/clark1977.jl:582 (`Clark1977AnelasticSystem` @component) — a pure subsystem composition (`System(Equation[], t; systems=[...])`, no coupling equations): the eight subsystems are inlined verbatim under `subsystems` (ESS spec §4.7) and remain dynamically independent. Purely algebraic — every subsystem is a diagnostic (observed-only) system with no time derivative. SI units throughout.
- IsentropicBaseState
model
atmospheric_dynamics
clark1977
Isentropic base-state atmosphere for the Clark (1977) terrain-following mountain-wave model, "A Small-Scale Dynamic Model Using a Terrain-Following Coordinate Transformation", Eqs. 2.6-2.9. The base state assumes a constant potential temperature Θ — the deep, isentropic reference atmosphere of Ogura and Phillips (1962) adopted in Clark (1977) Eq. 2.6 — and derives the height-dependent thermodynamic profiles that satisfy hydrostatic balance: from the reference potential temperature Θ, the surface pressure P_0, and the height above the surface z, the component computes the isentropic scale height H_s = c_p*Θ/g, the base-state temperature T_bar = Θ*(1 - z/H_s) (Eq. 2.7), the base-state pressure p_bar = P_0*(1 - z/H_s)^(c_p/R_d) (Eq. 2.8), and the base-state density ρ_bar = P_0/(R_d*Θ)*(1 - z/H_s)^(c_p/R_d - 1) (Eq. 2.9). Temperature falls linearly with height while pressure and density fall as powers of the same (1 - z/H_s) factor, all three vanishing at the top of the isentropic atmosphere z = H_s. Four purely-algebraic equations, no time integration. Migrated from AtmosphericDynamics.jl@816cc391 src/clark1977.jl:49 (`IsentropicBaseState` @component); the five upstream @constants — g, R_d, c_p and the derived exponents inv_kappa = c_p/R_d and inv_kappa_m1 = c_p/R_d - 1 — are declared as fixed-default parameters.
- WitchOfAgnesi
model
atmospheric_dynamics
clark1977
"Witch of Agnesi" bell-shaped mountain topography from Clark (1977) "A Small-Scale Dynamic Model Using a Terrain-Following Coordinate Transformation", Equation 7.1 — the canonical idealized terrain for mountain-wave simulations. Algebraic component: from the mountain half-width a, peak height h_mtn, and horizontal position x relative to the mountain center it computes the terrain surface height z_s = a^2 h_mtn / (a^2 + x^2) (Eq. 7.1) and the terrain slope dz_s_dx = d(z_s)/dx. Migrated from AtmosphericDynamics.jl@816cc391 src/clark1977.jl:107 (`WitchOfAgnesi` @component); z_s and dz_s_dx are upstream `@variables` bound by algebraic equations and migrate as state-typed variables.