Пример #1
0
        //Calculate what breakpoint index to use
        public static int BreakpointIndexCalculation(double Pollutant, BreakPointTable B)
        {
            int breakPointIndex = 0;

            if (Pollutant != 0)
            {
                for (int i = 0; i < 6; i++)
                {
                    double low  = B.Low[i];
                    double high = B.High[i];

                    if (Pollutant >= low && Pollutant <= high)
                    {
                        breakPointIndex = i;
                        break;
                    }
                }
            }
            else
            {
                breakPointIndex = int.MaxValue;
            }

            return(breakPointIndex);
        }
Пример #2
0
        public static double AQIEquation(double pollutantReading, int breakpointIndex, BreakPointTable breakPoint)
        {
            //index 7 in breakpoint table is the AQI
            double Ihi   = breakPointTable[7].High[breakpointIndex];
            double Ilo   = breakPointTable[7].Low[breakpointIndex];
            double BPhi  = breakPoint.High[breakpointIndex];
            double BPlow = breakPoint.Low[breakpointIndex];
            double Cp    = pollutantReading;

            double AQIForPollutant = ((Ihi - Ilo) / (BPhi - BPlow)) * (Cp - BPlow) + Ilo;

            return(AQIForPollutant);
        }