How Bogus P3 jumps are determined and handled

The methodology used to track Solar electron and proton flux and
fluence, as written in 2000, is very convoluted and messy. Boiled down
to its essentials, with a bit of oversimplification, every 5 minutes
the following occurs:

  1. Scrape the Flux values from the ACE EPAM web page.
  2. Get the latest values from the web page
  3. Write out the old flux and fluence data to ACIS_FLUENCE.dat
  4. Calculate the new fluence value including any attenuation
    factors such as Gratings status and who is in the Focal Plane.
  5. Write out the new flux and fluence data to ACE-flux.dat

After a while we were getting bogus values from the ACE EPAM page
- the flux would go from, say, 59 to 200,000 and then back to 59 in
three consecutive readings. These huge jumps set off alarms which
were....undesireable.

So around 2010 or so I modified acis-P3-fluence.pl to compare those old and
new values and if the absolute value of the delta between them were
over a certain value, to ignore that new value, and re-use the old
value. The delta selected was 100,000. This eliminated bogus alerts
without missing any real jumps.

The ACE EPAM file is updated every 5 minutes, and so is acis-P3-fluence.pl. So a few bogus values
would result in re-using the old value a few times but the typical
delta in the real, nominal case isn't that much.

When a bogus jump is detected, the "new" value is set to the "old"
value, that old value gets written out in Step 5 above. So if the subsequent 5 minute entry in the ACE EPAM file is also bogus, or comes back down to "normal" (i.e. less than 100,000 away from the "old" value) it will be used.

The pseudo-code for this is:

  1. Read NEW Flux ($P2f) from the fluence file: ACE-flux.dat
  2. Read OLD flux and ACTUAL fluence from file: ACIS_FLUENCE.dat ($OLDACISFLUXP2F and $OLDACISP2F)
  3. Get abs value of difference between old and new FLUX
  4. If difference is >= bogus limit
      set new to old
    else
      keep new as read from ACE EPAM
  5. Calculate attenuated flux (gratings etc) and use it for calculating actual fluence increase.
  6. Write out flux and fluence to ACIS_FLUENCE.dat

The contents of ACE-flux.dat is updated by another program.