Skip to content

Atmospheric Density Models

Atmospheric density model implementations for drag calculations.

density_harris_priester builtin

density_harris_priester(r_tod: ndarray, r_sun: ndarray) -> float

Computes atmospheric density using the Harris-Priester model.

The Harris-Priester model accounts for diurnal density variations caused by solar heating. Valid for altitudes between 100 km and 1000 km. Returns 0.0 outside this range.

Parameters:

Name Type Description Default
r_tod ndarray

Satellite position in true-of-date frame. Units: (m)

required
r_sun ndarray

Sun position in true-of-date frame. Units: (m)

required

Returns:

Name Type Description
float float

Atmospheric density at the satellite position. Units: (kg/m³)

Example
1
2
3
4
5
6
7
8
9
import brahe as bh
import numpy as np

epc = bh.Epoch.from_date(2024, 1, 1, bh.TimeSystem.UTC)
r_sat = np.array([bh.R_EARTH + 400e3, 0.0, 0.0])
r_sun = bh.sun_position(epc)

density = bh.density_harris_priester(r_sat, r_sun)
print(f"Density: {density:.2e} kg/m³")

See Also