Example #1
0
 /// <summary>
 /// Constructor method to initialize flags
 /// </summary>
 public IslandingAnalyzer()
 {
     m_islandingFlag = IslandingFlag.NoIslandingConditionExists;
     m_locationFlag  = LocationFlag.NoIslandingCondition;
     m_severityFlag  = SeverityFlag.LowSeverity;
     m_stabilityFlag = StabilityFlag.Stable;
 }
Example #2
0
 public Message(
     long position,
     long endPosition,
     IThread t,
     MessageTimestamp time,
     StringSlice text,
     SeverityFlag s,
     StringSlice rawText = new StringSlice(),
     int?maxLineLen      = null
     )
 {
     if (endPosition < position)
     {
         throw new ArgumentException("bad message positions");
     }
     this.thread      = t;
     this.time        = time;
     this.position    = position;
     this.endPosition = endPosition;
     this.text        = text;
     this.rawText     = rawText;
     this.flags       = (MessageFlag)s;
     if (maxLineLen != null)
     {
         this.rawText = this.rawText.Wrap(maxLineLen.Value);
         this.text    = this.text.Wrap(maxLineLen.Value);
     }
 }
Example #3
0
        /// <summary>
        /// Use the data to determine the severity and stability of the islanding condition.
        /// </summary>
        /// <param name="data">Data processed by <see cref="IslandingAnalyzer.varCovariance"/></param>
        public void severityRanking(double[] data)
        {
            if (m_locationFlag == LocationFlag.Chesterfield) /// Chesterfield
            {
                if ((data[83] <= -0.112008 && (data[70] > -3.419310 || (data[70] <= -3.419310 &&
                                                                        ((data[55] <= -0.313085 && data[80] > -0.101498) || (data[55] > -0.313085 &&
                                                                                                                             (data[42] > 1.045836 && (data[42] <= -1.045836 && data[80] > -0.109491 &&
                                                                                                                                                      data[63] > 0.823080)))))) || ((data[83] > -0.10491 && data[8] > 1.035872) &&
                                                                                                                                                                                    ((data[77] <= 0.392381 && data[82] > -0.089507) || (data[77] > 0.392381 && data[82] > -0.077481)))))
                {
                    m_stabilityFlag = StabilityFlag.Stable;
                }
                else
                {
                    m_stabilityFlag = StabilityFlag.Unstable;
                    m_severityFlag  = SeverityFlag.MostSevere;
                }

                if (m_stabilityFlag == StabilityFlag.Stable)
                {
                    if (data[70] <= -3.359188 && ((data[83] <= -0.108398 && data[74] > -0.140426 &&
                                                   data[83] > -0.115381 && (data[62] > 0.019962 || (data[62] <= 0.019962 &&
                                                                                                    data[61] > 0.209909))) || (data[83] > -0.115381 && data[70] > -3.921112 &&
                                                                                                                               data[70] <= -3.787080 && data[61] > 0.077426)))
                    {
                        m_severityFlag = SeverityFlag.MediumSeverity;
                    }
                    else if (data[70] > -3.359188)
                    {
                        m_severityFlag = SeverityFlag.MediumSeverity;
                    }
                    else if (data[70] <= -3.359188 && data[83] > -0.108398 && (data[70] <= -3.921112 ||
                                                                               (data[70] > -3.921112 && ((data[70] <= -3.787080 && data[61] <= 0.077426) ||
                                                                                                         (data[70] > -3.787080 && data[46] <= 1.043135)))))
                    {
                        m_severityFlag = SeverityFlag.MediumHighSeverity;
                    }

                    else if (data[70] <= -3.359188 && data[83] <= -0.108398 && data[74] > -0.140426 &&
                             ((data[83] <= -0.115381 && data[77] > 0.430919) || (data[83] > -0.115381 &&
                                                                                 data[62] <= 0.019962 && data[61] <= 0.209909)))
                    {
                        m_severityFlag = SeverityFlag.HighSeverity;
                    }
                    else
                    {
                        m_severityFlag = SeverityFlag.MostSevere;
                    }
                }
            }

            if (m_locationFlag == LocationFlag.Chesapeake) ///Chesapeake
            {
                if (data[83] <= 0.268115 && data[84] > 0.480919 && (data[59] <= 0.243917 ||
                                                                    (data[59] > 0.243917 && (data[14] > 1.047064 || (data[14] <= 1.047064 &&
                                                                                                                     ((data[4] <= 1.058651 && (data[2] > 1.050963 || (data[2] <= 1.050963 &&
                                                                                                                                                                      data[82] <= 0.262220 && data[50] <= 1.045673))) || (data[4] > 1.059237 &&
                                                                                                                                                                                                                          data[54] > -2.548871)))))))
                {
                    m_stabilityFlag = StabilityFlag.Stable;
                }
                else
                {
                    m_severityFlag = SeverityFlag.MostSevere;
                }

                if (m_stabilityFlag == StabilityFlag.Stable)
                {
                    if (data[40] <= 1.043518 && data[59] > 0.271239 && data[50] > 1.046591)
                    {
                        m_severityFlag = SeverityFlag.MediumSeverity;
                    }
                    else
                    {
                        m_severityFlag = SeverityFlag.HighSeverity;
                    }
                }
            }

            if (m_locationFlag == LocationFlag.Yorktown) /// Yorktown
            {
                m_severityFlag = SeverityFlag.MediumSeverity;
            }
        }
Example #4
0
 public Content(long position, long endPosition, IThread t, MessageTimestamp time, StringSlice msg, SeverityFlag s, StringSlice rawText = new StringSlice())
     :
     base(position, endPosition, t, time, rawText)
 {
     this.message = msg;
     this.flags   = MessageFlag.Content | (MessageFlag)s;
 }