constants.py 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. """Numerical constants shared by the reorganized PKS algorithms and models.
  2. Values are copied verbatim from ``backend/scan_pks_fault_evolution.py`` so the
  3. rebuilt algorithms stay behaviourally identical to the original scanner.
  4. """
  5. from __future__ import annotations
  6. # --- shared hourly aggregation ---
  7. EXPECTED_PER_HOUR = 720
  8. MIN_HOUR_COVERAGE = 0.80
  9. MIN_DAILY_HOURS = 4
  10. MIN_HISTORY_HOURS = 24
  11. BASELINE_DAYS = 3
  12. RESET_GAP_HOURS = 12
  13. # --- pressure levels ---
  14. HOUR_ALARM_SAMPLE_RATIO = 0.20
  15. HOURLY_BASELINE_HOURS = 24
  16. HOURLY_TREND_HOURS = 6
  17. OIL_CONFIRM_HOURS = 3
  18. OIL_DOWNGRADE_HOURS = 2
  19. OIL_RECOVER_HOURS = 3
  20. OIL_STAGE_MERGE_GAP_HOURS = 6
  21. RESET_RISE_ABS = 0.04
  22. RESET_RISE_REL = 0.10
  23. # --- pressure stage-1 precursor / startup recovery ---
  24. OIL_PRECURSOR_DECLINE_HOURS = 6
  25. OIL_PRECURSOR_SLOPE = -0.001
  26. OIL_STARTUP_CANDIDATE_HOURS = 24
  27. OIL_STARTUP_OBSERVE_HOURS = 72
  28. OIL_STARTUP_STABLE_HOURS = 12
  29. OIL_STARTUP_RECOVERY_RATIO = 0.95
  30. # --- vibration ---
  31. VIBRATION_BASELINE_DAYS = 7
  32. VIBRATION_CONFIRM_HOURS = 3
  33. VIBRATION_MERGE_GAP_HOURS = 6
  34. VIBRATION_RESTART_GAP_HOURS = 12
  35. __all__ = [name for name in dir() if name.isupper()]