diff --git a/imap_processing/lo/l2/lo_l2.py b/imap_processing/lo/l2/lo_l2.py index 8785d5485..0b332b79a 100644 --- a/imap_processing/lo/l2/lo_l2.py +++ b/imap_processing/lo/l2/lo_l2.py @@ -762,12 +762,20 @@ def populate_geometric_factors( "geometric_factor_stat_uncert": f"GF_Trpl_{species.upper()}_unc", } if species == "h": - # NOTE: From an e-mail from Nathan on 2025-09-11 - energy_delta_hires_values = [5.43, 10.02, 18.61, 33.31, 64.98, 131.64, 262.35] - energy_delta_hithr_values = [8.81, 16.04, 28.50, 53.13, 105.60, 219.67, 413.60] + # NOTE: From an e-mail from Nathan on 2025-09-11 (values converted to keV) + energy_delta_hires_values = ( + np.array([5.43, 10.02, 18.61, 33.31, 64.98, 131.64, 262.35]) * 1e-3 + ) + energy_delta_hithr_values = ( + np.array([8.81, 16.04, 28.50, 53.13, 105.60, 219.67, 413.60]) * 1e-3 + ) else: # species == "o" - energy_delta_hires_values = [5.82, 11.10, 21.78, 41.47, 85.61, 180.67, 361.93] - energy_delta_hithr_values = [9.45, 17.84, 33.51, 66.61, 139.95, 302.24, 569.48] + energy_delta_hires_values = ( + np.array([5.82, 11.10, 21.78, 41.47, 85.61, 180.67, 361.93]) * 1e-3 + ) + energy_delta_hithr_values = ( + np.array([9.45, 17.84, 33.51, 66.61, 139.95, 302.24, 569.48]) * 1e-3 + ) # Get ESA mode from the map (assuming it's constant or we take the first) # TODO: Figure out how to handle esa_mode properly @@ -786,6 +794,7 @@ def populate_geometric_factors( dataset[var].values = gf_dataset[col].values # Update delta_minus and delta_plus based on ESA mode + # converting eV to keV if esa_mode == 0: # HiRes dataset["energy_delta_minus"].values = energy_delta_hires_values dataset["energy_delta_plus"].values = energy_delta_hires_values diff --git a/imap_processing/tests/lo/test_lo_l2.py b/imap_processing/tests/lo/test_lo_l2.py index 9690dba21..3083a262c 100644 --- a/imap_processing/tests/lo/test_lo_l2.py +++ b/imap_processing/tests/lo/test_lo_l2.py @@ -1770,6 +1770,9 @@ def test_populate_geometric_factors( assert result["geometric_factor_stat_uncert"].values[i] == ( 1.5e-5 * (i + 1) ) + # Ensure that energy_deltas are in units of keV + assert np.all(result["energy_delta_plus"].values < 1) + assert np.all(result["energy_delta_minus"].values < 1) def test_populate_geometric_factors_no_gf_species(self): """Test population for species without geometric factors."""