diff --git a/src/adam_core/propagator/adam_assist.py b/src/adam_core/propagator/adam_assist.py index 63333e6..db5d516 100644 --- a/src/adam_core/propagator/adam_assist.py +++ b/src/adam_core/propagator/adam_assist.py @@ -12,6 +12,7 @@ import quivr as qv import rebound import urllib3 +from adam_core.constants import KM_P_AU, Constants from adam_core.coordinates import CartesianCoordinates, Origin, transform_coordinates from adam_core.coordinates.origin import OriginCodes from adam_core.dynamics.impacts import EarthImpacts, ImpactMixin @@ -30,7 +31,9 @@ DATA_DIR = os.getenv("ASSIST_DATA_DIR", "~/.adam_assist_data") -EARTH_RADIUS_KM = 6371.0 +# Use the Earth's equatorial radius as used in DE4XX ephemerides +# adam_core defines it in au but we need it in km +EARTH_RADIUS_KM = Constants.R_EARTH * KM_P_AU def download_jpl_ephemeris_files(data_dir: str = DATA_DIR) -> None: @@ -444,7 +447,8 @@ def _detect_impacts( diff = time_step_results.coordinates.values - earth_geo.values # Calculate the distance in KM - normalized_distance = np.linalg.norm(diff[:, :3], axis=1) * 149597870.691 + # We use the IAU definition of the astronomical unit (149_597_870.7 km) + normalized_distance = np.linalg.norm(diff[:, :3], axis=1) * KM_P_AU # Calculate which particles are within an Earth radius within_radius = normalized_distance < EARTH_RADIUS_KM