Skip to content

NRLMSISE-00

NRLMSISE-00 (Naval Research Laboratory Mass Spectrometer and Incoherent Scatter Radar Exosphere) atmospheric density model.

Note

For conceptual explanations, see Atmospheric Drag in the Learn section.

density_nrlmsise00 builtin

density_nrlmsise00(epc: Epoch, x_ecef: ndarray) -> float

Compute atmospheric density using the NRLMSISE-00 model from ECEF coordinates.

This function computes atmospheric density using the NRLMSISE-00 empirical model, automatically retrieving space weather data for the given epoch. The ECEF position is converted to geodetic coordinates internally.

Parameters:

Name Type Description Default
epc Epoch

Epoch of computation (used to lookup space weather data)

required
x_ecef ndarray

Position in ECEF frame. Units: (m)

required

Returns:

Name Type Description
float float

Atmospheric density. Units: (kg/m³)

Example
import brahe as bh
import numpy as np

# Initialize EOP and space weather data
bh.initialize_eop()
bh.initialize_sw()

# Define epoch and ECEF position (400 km altitude over equator)
epc = bh.Epoch.from_date(2020, 6, 1, bh.TimeSystem.UTC)
x_ecef = np.array([bh.R_EARTH + 400e3, 0.0, 0.0])

# Compute density
density = bh.density_nrlmsise00(epc, x_ecef)
print(f"Density: {density:.2e} kg/m³")

density_nrlmsise00_geod builtin

density_nrlmsise00_geod(epc: Epoch, geod: ndarray) -> float

Compute atmospheric density using the NRLMSISE-00 model from geodetic coordinates.

This function computes atmospheric density using the NRLMSISE-00 empirical model, automatically retrieving space weather data for the given epoch. Takes geodetic coordinates directly.

Parameters:

Name Type Description Default
epc Epoch

Epoch of computation (used to lookup space weather data)

required
geod ndarray

Geodetic position as [longitude, latitude, altitude] where longitude and latitude are in degrees, and altitude is in meters

required

Returns:

Name Type Description
float float

Atmospheric density. Units: (kg/m³)

Example
import brahe as bh
import numpy as np

# Initialize EOP and space weather data
bh.initialize_eop()
bh.initialize_sw()

# Define epoch and geodetic position
epc = bh.Epoch.from_date(2020, 6, 1, bh.TimeSystem.UTC)
geod = np.array([-74.0, 40.7, 400e3])  # NYC area, 400 km altitude

# Compute density
density = bh.density_nrlmsise00_geod(epc, geod)
print(f"Density: {density:.2e} kg/m³")

See Also