/// <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; }
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); } }
/// <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; } }
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; }