# LEO Dosimetry – SAA/GCR Separation Using ML - New subgroup

**URL:** <https://awg.osdr.space/t/leo-dosimetry-saa-gcr-separation-using-ml-new-subgroup/3665>\
**Category:** AIML AWG Open Projects\
**Tags:** radlab, proposals\
**Created:** [November 24, 2025, 7:20pm UTC](https://awg.osdr.space/t/leo-dosimetry-saa-gcr-separation-using-ml-new-subgroup/3665 "2025-11-24T19:20:24Z")\
**Posts on this page:** 15\
**Page:** 8

<div class="post-metadata">

**Author:** ![idildoga.turkmen](https://sea1.discourse-cdn.com/flex001/user_avatar/awg.osdr.space/idildoga.turkmen/32/4365_2.png) [@idildoga.turkmen](https://awg.osdr.space/u/idildoga.turkmen)\
**Post date:** [October 21, 2026, 6:09pm UTC](https://awg.osdr.space/t/leo-dosimetry-saa-gcr-separation-using-ml-new-subgroup/3665/144 "2026-10-21T18:09:15Z")

</div>

Thanks @martin, that clears things up a lot!

Got it on all three. I’ll drop the confidence flag and treat my marks as plain present/absent, and I’ll use your 24-day annotation as the training baseline. A few things I’m planning based on your notes:

- Because of the ~1 minute clock alignment, I’ll score boundary agreement with a ±1 min tolerance and report start/end offsets in minutes, so NASA SRAG and the ML outputs are judged fairly.
- I’ll compute all stats on continuous segments rather than per calendar day.
- As I go through the data, I’ll keep a separate list of any peaks that fall outside the NASA SRAG windows, with UTC times, in case they’re useful later. I’ll keep them out of the SAA labels.
- Once the comparison with Abhi is done on Friday, I’ll start on the XGBoost baseline trained on your annotations so we have a first model to evaluate against SRAG and the human marks.

Happy to adjust any of this if you’d like the evaluation set up differently.

---

<div class="post-metadata">

**Author:** ![rtscott2001](https://sea1.discourse-cdn.com/flex001/user_avatar/awg.osdr.space/rtscott2001/32/5_2.png) [@rtscott2001](https://awg.osdr.space/u/rtscott2001)\
**Post date:** [October 21, 2026, 6:13pm UTC](https://awg.osdr.space/t/leo-dosimetry-saa-gcr-separation-using-ml-new-subgroup/3665/145 "2026-10-21T18:13:29Z")

</div>

Wow, this project is quite exciting. Super kudos all!

---

<div class="post-metadata">

**Author:** ![aaatulpandey](https://sea1.discourse-cdn.com/flex001/user_avatar/awg.osdr.space/aaatulpandey/32/4958_2.png) [@aaatulpandey](https://awg.osdr.space/u/aaatulpandey)\
**Post date:** [October 21, 2026, 8:03pm UTC](https://awg.osdr.space/t/leo-dosimetry-saa-gcr-separation-using-ml-new-subgroup/3665/146 "2026-10-21T20:03:10Z")

</div>

Hello Martin, I’m interested in collaborating ..Im Atul AI and Cyber Security Student .Here’s my mail [aaatulpandey@gmail.com](mailto:aaatulpandey@gmail.com)

---

<div class="post-metadata">

**Author:** ![martin](https://sea1.discourse-cdn.com/flex001/user_avatar/awg.osdr.space/martin/32/3183_2.png) [@martin](https://awg.osdr.space/u/martin)\
**Post date:** [October 21, 2026, 8:33pm UTC](https://awg.osdr.space/t/leo-dosimetry-saa-gcr-separation-using-ml-new-subgroup/3665/147 "2026-10-21T20:33:36Z")

</div>

Hello, please read this: [LEO Dosimetry – SAA/GCR Separation Using ML - New subgroup - #131 by martin](https://awg.osdr.space/t/leo-dosimetry-saa-gcr-separation-using-ml-new-subgroup/3665/131)

---

<div class="post-metadata">

**Author:** ![idildoga.turkmen](https://sea1.discourse-cdn.com/flex001/user_avatar/awg.osdr.space/idildoga.turkmen/32/4365_2.png) [@idildoga.turkmen](https://awg.osdr.space/u/idildoga.turkmen)\
**Post date:** [October 22, 2026, 4:12pm UTC](https://awg.osdr.space/t/leo-dosimetry-saa-gcr-separation-using-ml-new-subgroup/3665/148 "2026-10-22T16:12:02Z")

</div>

@abhis01 here’s my pass through the 67 cases: [SAA review cases – İdil - Google Sheets](https://docs.google.com/spreadsheets/d/14ZzbZSsxQqdjdyG2GBru_hRFI9JLcR7iOkrlwuqpAas/edit)

Method: for each case I took the flagged stretch from the supplied data and compared it to the local GCR background (median over ±60 min, excluding the 10 min closest to the stretch), using a 3-sample rolling median for peaks so single spikes don’t count.

- Likely SAA: flux peak ≥3x background with median ≥1.5x (high confidence if peak ≥6x), or a fainter edge with peak ≥2.5x, median ≥1.8x, dose (ddsi) peak ≥3.5x, lasting ≥6 min
- Likely not SAA: peak \<1.6x and median \<1.2x
- Uncertain: everything in between

Result: 27 likely SAA, 21 likely not, 19 uncertain (flagged in the sheet with notes). Spectral hardening (channels 18–27) barely separated the cases, so the calls rest mainly on flux/dose amplitude and duration. Thresholds are hand-set, not tuned yet, and I’d like to calibrate them against the human labels next. Happy to go through the uncertain ones together and then start the boundary comparison.

---

<div class="post-metadata">

**Author:** ![martin](https://sea1.discourse-cdn.com/flex001/user_avatar/awg.osdr.space/martin/32/3183_2.png) [@martin](https://awg.osdr.space/u/martin)\
**Post date:** [October 23, 2026, 1:42pm UTC](https://awg.osdr.space/t/leo-dosimetry-saa-gcr-separation-using-ml-new-subgroup/3665/149 "2026-10-23T13:42:08Z")

</div>

@idildoga.turkmen Could you please make plots with the category labels (likely SAA, likely not SAA, uncertain) similar to the ones here: [reference\_days - Google Drive](https://drive.google.com/drive/folders/1lM8A-nRIFNv8jRKNn-SL_G_t06AIGeQu?usp=sharing) ?

---

<div class="post-metadata">

**Author:** ![lilmisscupcake](https://sea1.discourse-cdn.com/flex001/user_avatar/awg.osdr.space/lilmisscupcake/32/2889_2.png) [@lilmisscupcake](https://awg.osdr.space/u/lilmisscupcake)\
**Post date:** [October 24, 2026, 8:54am UTC](https://awg.osdr.space/t/leo-dosimetry-saa-gcr-separation-using-ml-new-subgroup/3665/150 "2026-10-24T08:54:19Z")

</div>

Thanks @idildoga.turkmen , this is a clear method, and the three way call (likely SAA, likely not, uncertain) avoids forcing weak cases. Some thoughts, and what I’m contributing:

1. Cross-check. I wrote a unit-tested scoring module (continuous time axis, +/-1 min tolerance, one-to-one event matching, start and end offsets in minutes, and blocked folds for ML).  
[GitHub - littlemissmuffins/saa-eval: Unit-tested scoring helpers for SAA interval annotations (cross-check for the NASA OSDR LEO Dosimetry SAA/GCR project) · GitHub](https://github.com/littlemissmuffins/saa-eval)  
Here’s the link so we can score the 67 cases and the XGBoost baseline with the same code. If our numbers agree on the 24 days we can trust them, and if not we’ll find the definition difference.
2. Thresholds. Since they are hand-set, it would help to report how the 27 / 21 / 19 split changes when each threshold moves by 10 to 20 percent, so we can see which calls are fragile. Calibrating them on Martin’s marks with leave-one-pass-out or blocked folds, not on all days at once, would avoid overfitting.
3. Uncertain cases. I’d score them separately (neither right nor wrong) and report results with and without them.
4. Background. A +/-60 min median spans more than one orbit. Could the background be compared at the same orbital phase, since GCR flux varies along the orbit?

Happy to go through the uncertain ones with you and @abhis01 after the boundary comparison.

---

<div class="post-metadata">

**Author:** ![idildoga.turkmen](https://sea1.discourse-cdn.com/flex001/user_avatar/awg.osdr.space/idildoga.turkmen/32/4365_2.png) [@idildoga.turkmen](https://awg.osdr.space/u/idildoga.turkmen)\
**Post date:** [October 24, 2026, 8:32pm UTC](https://awg.osdr.space/t/leo-dosimetry-saa-gcr-separation-using-ml-new-subgroup/3665/151 "2026-10-24T20:32:25Z")

</div>

@martin Done. I made the category-label plots for the 24 reference days (2020-10-15 to 2020-11-07), styled like your example plots.

Folder: [Idil category label plots - Google Drive](https://drive.google.com/drive/folders/18BMqyTDtfi94qMiRPcNKARUITVwWeFhw)

Each day shows the flux, NASA windows, your Kakona annotations, and (where I have them) my hand labels. The 67 review cases are overlaid in the three categories: 27 likely SAA (red), 21 likely not SAA (blue), 19 uncertain (orange).

Happy to also overlay model predictions on the same plots if that would help.

---

<div class="post-metadata">

**Author:** ![martin](https://sea1.discourse-cdn.com/flex001/user_avatar/awg.osdr.space/martin/32/3183_2.png) [@martin](https://awg.osdr.space/u/martin)\
**Post date:** [October 24, 2026, 9:39pm UTC](https://awg.osdr.space/t/leo-dosimetry-saa-gcr-separation-using-ml-new-subgroup/3665/152 "2026-10-24T21:39:11Z")

</div>

Thank you İdil, this is very interesting!

Two peaks look particularly suspicious: 31 October around 08:50 and 19 October 2020 around 11:55.

 ![image](https://us1.discourse-cdn.com/flex001/uploads/osdr/original/2X/0/01809adfc748f3590cb7714bde607fd30d364fa6.png)

 ![image](https://us1.discourse-cdn.com/flex001/uploads/osdr/original/2X/0/0d8910b0b66dbbce9b435689e1a820414b9ba5aa.png)

For 31 October, unfortunately no data from another instrument is available in RadLab for comparison. For 19 October, the same peak appears in DosTel data and it is certainly not an SAA pass.

 ![image](https://us1.discourse-cdn.com/flex001/uploads/osdr/original/2X/6/659297d18d33b8215ca08cf654c179b1721e4699.png)

It looks like a new discovery 😉

---

<div class="post-metadata">

**Author:** ![martin](https://sea1.discourse-cdn.com/flex001/user_avatar/awg.osdr.space/martin/32/3183_2.png) [@martin](https://awg.osdr.space/u/martin)\
**Post date:** [October 24, 2026, 9:46pm UTC](https://awg.osdr.space/t/leo-dosimetry-saa-gcr-separation-using-ml-new-subgroup/3665/153 "2026-10-24T21:46:46Z")

</div>

And I’m not sure how this is produced:

 ![image](https://us1.discourse-cdn.com/flex001/uploads/osdr/original/2X/c/cd8606d1c8858e5df8e6830a365ea3572eef16c4.png)

---

<div class="post-metadata">

**Author:** ![NaimaREJEB](https://sea1.discourse-cdn.com/flex001/user_avatar/awg.osdr.space/naimarejeb/32/4957_2.png) [@NaimaREJEB](https://awg.osdr.space/u/NaimaREJEB)\
**Post date:** [October 25, 2026, 1:01pm UTC](https://awg.osdr.space/t/leo-dosimetry-saa-gcr-separation-using-ml-new-subgroup/3665/154 "2026-10-25T13:01:33Z")

</div>

Hi @martin ,

I’m Naima, a recently graduated AI Engineer (Python, ML, LLM/RAG), and I recently joined the AI/ML AWG. I’ve read through the thread and I’m interested in the LEO Dosimetry project.

Would it be possible for me to contribute? If yes, I’d be glad to add myself to the participants list. I could start with something small, like the plots with the category labels (likely SAA, likely not SAA, uncertain), and then see where I can be useful.

Thank you,  
Naima

---

<div class="post-metadata">

**Author:** ![idildoga.turkmen](https://sea1.discourse-cdn.com/flex001/user_avatar/awg.osdr.space/idildoga.turkmen/32/4365_2.png) [@idildoga.turkmen](https://awg.osdr.space/u/idildoga.turkmen)\
**Post date:** [October 25, 2026, 4:29pm UTC](https://awg.osdr.space/t/leo-dosimetry-saa-gcr-separation-using-ml-new-subgroup/3665/155 "2026-10-25T16:29:56Z")

</div>

@martin Thanks for checking these against DosTel!

Cases 040 and 041 are on 2020-10-28 (040: 20:11:59–20:27:34 UTC, suggested uncertain; 041: 20:29:20–20:39:58 UTC, suggested likely SAA). They are in the review set only because the NASA SAA flag is on and there is no overlap with your marks. The rule does not look at flux, so the quiet stretch in your crop is expected (max about 0.25 and 0.37 counts/s). The ISS does cross the classic SAA box around 20:20 UTC near 35°S, 82°W, so the flag is on region even though SpaceDOS barely rises.

For 19 October: SpaceDOS peaks at 11:56:39 UTC at 1.066 counts/s (about 7.9x local background). NASA SAA is off, and there is no mark from you or me. Horizons puts the ISS near 45.3°S, 118.4°E, south of Western Australia, so outside the SAA. I do not have DosTel on hand, so that confirmation is from your note.

For 31 October: peak at 08:54:06 UTC at 1.767 counts/s (about 13.9x background). Again NASA SAA off and no Kakona mark. Horizons: about 51.7°S, 134.8°E in the Southern Ocean, also not SAA. I could not check a second instrument myself.

Across the 24 reference days, bright NASA SAA off peaks show up often at high southern latitude (for example 29 Oct 11:55, 1 Nov 11:09). That is a different population from the quiet NASA flag on review cases like 040/041. Happy to dig into more of those peaks if useful.

 ![cases_040_041_2020-10-28](https://us1.discourse-cdn.com/flex001/uploads/osdr/original/2X/1/1adc5298e7150fe019777941f42d1910c22c22e7.png)  
 ![peak_2020-10-19_1156](https://us1.discourse-cdn.com/flex001/uploads/osdr/original/2X/4/439d472fd2ffa06e58edb5610645ddfe93dc2394.png)  
 ![peak_2020-10-31_0854](https://us1.discourse-cdn.com/flex001/uploads/osdr/original/2X/7/7d229a72ae3a75e5cf6522efc395aef7eca28623.png)

---

<div class="post-metadata">

**Author:** ![lilmisscupcake](https://sea1.discourse-cdn.com/flex001/user_avatar/awg.osdr.space/lilmisscupcake/32/2889_2.png) [@lilmisscupcake](https://awg.osdr.space/u/lilmisscupcake)\
**Post date:** [October 27, 2026, 7:02am UTC](https://awg.osdr.space/t/leo-dosimetry-saa-gcr-separation-using-ml-new-subgroup/3665/156 "2026-10-27T07:02:52Z")

</div>

Thanks @idildoga.turkmen and @martin, the latitude check is useful. A quick idea for the SAA-off bright peaks you found (19 Oct, 29 Oct, 31 Oct, 1 Nov): since they sit at high southern latitude, could they relate to geomagnetic activity? It may be worth checking the geomagnetic index (Kp or Dst) and any outer-belt electron measurements for those dates, to see whether the peaks cluster on disturbed days. I haven’t checked this myself, so it is only a hypothesis.

For scoring, I have a unit-tested module (continuous time axis, +/-1 min tolerance, one-to-one event matching, offsets in minutes) at [GitHub - littlemissmuffins/saa-eval: Unit-tested scoring helpers for SAA interval annotations (cross-check for the NASA OSDR LEO Dosimetry SAA/GCR project) · GitHub](https://github.com/littlemissmuffins/saa-eval) . I’m also asking Lissandra whether we can compare it with her implementation on the 24 reference days, so we can see if independent implementations agree. A ‘bright peak, SAA off’ category could be added as a separate class, so these cases aren’t counted as errors against any annotator.

---

<div class="post-metadata">

**Author:** ![abhis01](https://avatars.discourse-cdn.com/v4/letter/a/bc79bd/32.png) [@abhis01](https://awg.osdr.space/u/abhis01)\
**Post date:** [October 27, 2026, 11:13pm UTC](https://awg.osdr.space/t/leo-dosimetry-saa-gcr-separation-using-ml-new-subgroup/3665/157 "2026-10-27T23:13:17Z")

</div>

Thanks İdil, all 67 IDs and source rows match. Could you add your final calls after checking the three panels and send the script too? Please keep the original timestamps.

---

<div class="post-metadata">

**Author:** ![idildoga.turkmen](https://sea1.discourse-cdn.com/flex001/user_avatar/awg.osdr.space/idildoga.turkmen/32/4365_2.png) [@idildoga.turkmen](https://awg.osdr.space/u/idildoga.turkmen)\
**Post date:** [October 28, 2026, 1:29am UTC](https://awg.osdr.space/t/leo-dosimetry-saa-gcr-separation-using-ml-new-subgroup/3665/158 "2026-10-28T01:29:46Z")

</div>

Thanks @lilmisscupcake, I ran the checks.

For the bright SAA off peaks in 2020 (19 Oct 11:56 UTC, 29 Oct 11:55, 31 Oct 08:54, 1 Nov 11:09), Kp at the peak bins is only about 2.0 to 3.3 and daily Ap is 5 to 12. Dst near those times sits between about −12 and −35 nT (day mins down to −37 on 31 Oct). None of them hit storm level Kp, and 19 Oct in particular is quiet (Kp 2, Ap 6, Dst about −15). Nearby comparison days without those named peaks can look as unsettled or more (26 Oct Ap 14). So a simple geomagnetic storm driver does not line up cleanly.

I also pulled GOES-16 \>2 MeV electrons (MPS-HI) for those windows. Flux is low on 19 Oct (~56) even though SpaceDOS (and DosTel, per Martin) see a clear peak, and elevated on 29/31 Oct, but the quiet comparison days 26/27/30 Oct are elevated too. Plots attached: Kp/Dst overview with the peak times marked, plus the GOES overlay. Happy to dig further if you have a preferred outer belt product.

I like the separate “bright peak, SAA off” class. It keeps these from counting as misses against any annotator and gives us a cleaner set to study.

On saa-eval: I re-ran compare\_marks on my labels vs Martin’s reference for the 10 overlap days (2020-10-26 to 11-04, +/-60 s, one to one). Same result as before: 62 matched, 0 extras, 29 Martin only (precision 1.00, recall 0.68, F1 0.81; start offset median −0.2 min, end +0.4 min). Good cross check alongside Lissandra’s implementation.

 ![geomag_electrons_dashboard](https://us1.discourse-cdn.com/flex001/uploads/osdr/original/2X/0/010e11f8f98c4c6e6f09d2e6f0a7cd318670e447.png)  
 ![kp_dst_peaks_overview](https://us1.discourse-cdn.com/flex001/uploads/osdr/original/2X/1/118c3f09f1f764f866b7028f7bee0b23a8f79584.png)  
 ![kp_dst_peak_zooms](https://us1.discourse-cdn.com/flex001/uploads/osdr/original/2X/1/1a360b18179bcdd05261306bad997726a070e8e7.png)  
 ![goes_electrons_peaks](https://us1.discourse-cdn.com/flex001/uploads/osdr/original/2X/8/8fa744f09fa5855778306194172951811412dd40.png)

[Previous page](https://awg.osdr.space/t/leo-dosimetry-saa-gcr-separation-using-ml-new-subgroup/3665.md?page=7)
