public void Get_Conc_WS_Test() { Continuum thisInst = new Continuum(""); string Filename = testingFolder + "\\MetDataFilter Archbold testing.cfm"; thisInst.Open(Filename); Met thisMet = thisInst.metList.metItem[0]; Met_Data_Filter.Anem_Data anemA = new Met_Data_Filter.Anem_Data(); Met_Data_Filter.Anem_Data anemB = new Met_Data_Filter.Anem_Data(); thisMet.metData.startDate = Convert.ToDateTime("1/6/2009 3:00"); thisMet.metData.endDate = Convert.ToDateTime("4/15/2009 16:00"); Met_Data_Filter.Conc_WS_Data thisConcData = thisMet.metData.GetConcWS(30, "Filtered", thisInst, thisMet.name, anemA, anemB); Assert.AreEqual(thisConcData.anemA_WS.Length, 11166, 0, "Wrong number in Test 1"); thisMet.metData.startDate = Convert.ToDateTime("12/15/2008 18:00"); thisMet.metData.endDate = Convert.ToDateTime("2/16/2009 4:00"); thisConcData = thisMet.metData.GetConcWS(40, "Filtered", thisInst, thisMet.name, anemA, anemB); Assert.AreEqual(thisConcData.anemA_WS.Length, 7369, 0, "Wrong number in Test 2"); thisMet.metData.startDate = Convert.ToDateTime("3/3/2009 22:00"); thisMet.metData.endDate = Convert.ToDateTime("3/31/2009 1:00"); thisConcData = thisMet.metData.GetConcWS(50, "Filtered", thisInst, thisMet.name, anemA, anemB); Assert.AreEqual(thisConcData.anemA_WS.Length, 2895, 0, "Wrong number in Test 3"); thisInst.Close(); }
public void CalcAvgWS_by_WD_Test() { Continuum thisInst = new Continuum(""); string Filename = testingFolder + "\\MetDataFilter Archbold testing.cfm"; thisInst.Open(Filename); Met thisMet = thisInst.metList.metItem[0]; Met_Data_Filter.Anem_Data anem = thisMet.metData.anems[0]; Met_Data_Filter.Vane_Data vane = thisMet.metData.vanes[0]; double[] thisWS = thisMet.metData.Calc_Avg_WS_by_WD(Convert.ToDateTime("6/24/2008 15:00"), Convert.ToDateTime("6/30/2009 23:50"), anem, vane, "Filtered"); Assert.AreEqual(thisWS[12], 4.09828434, 0.0001, "Wrong avg WS Test 1"); thisWS = thisMet.metData.Calc_Avg_WS_by_WD(Convert.ToDateTime("10/28/2008 19:20"), Convert.ToDateTime("4/15/2009 2:50"), anem, vane, "Unfiltered"); Assert.AreEqual(thisWS[63], 4.670447715, 0.0001, "Wrong avg WS Test 2"); thisInst.Close(); }
public void CalcPercentAnemFiltered_Test() { Continuum thisInst = new Continuum(""); string Filename = testingFolder + "\\MetDataFilter Archbold testing.cfm"; thisInst.Open(Filename); Met thisMet = thisInst.metList.metItem[0]; Met_Data_Filter.Anem_Data thisAnem = new Met_Data_Filter.Anem_Data(); for (int i = 0; i < thisMet.metData.GetNumAnems(); i++) { if (thisMet.metData.anems[i].height == 30 && thisMet.metData.anems[i].ID == 'A') { thisAnem = thisMet.metData.anems[i]; break; } } double thisPercFilt = thisMet.metData.CalcPercentAnemFiltered(thisAnem, Met_Data_Filter.Filter_Flags.minAnemSD) + thisMet.metData.CalcPercentAnemFiltered(thisAnem, Met_Data_Filter.Filter_Flags.maxAnemSD); Assert.AreEqual(thisPercFilt, 0.000913, 0.00001, "Wrong SD Filt at 30m Test 1"); thisPercFilt = thisMet.metData.CalcPercentAnemFiltered(thisAnem, Met_Data_Filter.Filter_Flags.Icing); Assert.AreEqual(thisPercFilt, 0.0161339, 0.00001, "Wrong Icing Filt at 30m Test 2"); thisPercFilt = thisMet.metData.CalcPercentAnemFiltered(thisAnem, Met_Data_Filter.Filter_Flags.maxAnemRange); Assert.AreEqual(thisPercFilt, 0.00000, 0.00001, "Wrong max Range Filt at 30m Test 3"); for (int i = 0; i < thisMet.metData.GetNumAnems(); i++) { if (thisMet.metData.anems[i].height == 40 && thisMet.metData.anems[i].ID == 'B') { thisAnem = thisMet.metData.anems[i]; break; } } thisPercFilt = thisMet.metData.CalcPercentAnemFiltered(thisAnem, Met_Data_Filter.Filter_Flags.minAnemSD) + thisMet.metData.CalcPercentAnemFiltered(thisAnem, Met_Data_Filter.Filter_Flags.maxAnemSD); Assert.AreEqual(thisPercFilt, 0.0006088, 0.00001, "Wrong SD Filt at 40m Test 4"); thisPercFilt = thisMet.metData.CalcPercentAnemFiltered(thisAnem, Met_Data_Filter.Filter_Flags.Icing); Assert.AreEqual(thisPercFilt, 0.0145167, 0.00001, "Wrong Icing Filt at 40m Test 5"); thisPercFilt = thisMet.metData.CalcPercentAnemFiltered(thisAnem, Met_Data_Filter.Filter_Flags.maxAnemRange); Assert.AreEqual(thisPercFilt, 0.00000, 0.00001, "Wrong max Range Filt at 40m Test 6"); for (int i = 0; i < thisMet.metData.GetNumAnems(); i++) { if (thisMet.metData.anems[i].height == 50 && thisMet.metData.anems[i].ID == 'B') { thisAnem = thisMet.metData.anems[i]; break; } } thisInst.Close(); }
public void CalcAvgWS_Test() { Continuum thisInst = new Continuum(""); string Filename = testingFolder + "\\MetDataFilter Archbold testing.cfm"; thisInst.Open(Filename); Met thisMet = thisInst.metList.metItem[0]; Met_Data_Filter.Anem_Data thisAnem = new Met_Data_Filter.Anem_Data(); for (int i = 0; i < thisMet.metData.GetNumAnems(); i++) { if (thisMet.metData.anems[i].height == 30 && thisMet.metData.anems[i].ID == 'B') { thisAnem = thisMet.metData.anems[i]; break; } } double thisAvg = thisMet.metData.CalcAvgWS(thisAnem, false); Assert.AreEqual(thisAvg, 4.39565913, 0.001, "Wrong avg 30m unfilt WS Test 1"); thisAvg = thisMet.metData.CalcAvgWS(thisAnem, true); Assert.AreEqual(thisAvg, 4.5700187, 0.001, "Wrong avg 30m filt WS Test 2"); for (int i = 0; i < thisMet.metData.GetNumAnems(); i++) { if (thisMet.metData.anems[i].height == 40 && thisMet.metData.anems[i].ID == 'B') { thisAnem = thisMet.metData.anems[i]; break; } } thisAvg = thisMet.metData.CalcAvgWS(thisAnem, false); Assert.AreEqual(thisAvg, 4.68654658, 0.001, "Wrong avg 40m unfilt WS Test 3"); thisAvg = thisMet.metData.CalcAvgWS(thisAnem, true); Assert.AreEqual(thisAvg, 4.85966632, 0.001, "Wrong avg 40m filt WS Test 4"); for (int i = 0; i < thisMet.metData.GetNumAnems(); i++) { if (thisMet.metData.anems[i].height == 50 && thisMet.metData.anems[i].ID == 'B') { thisAnem = thisMet.metData.anems[i]; break; } } thisAvg = thisMet.metData.CalcAvgWS(thisAnem, false); Assert.AreEqual(thisAvg, 5.02178275, 0.001, "Wrong avg 50m unfilt WS Test 5"); thisAvg = thisMet.metData.CalcAvgWS(thisAnem, true); Assert.AreEqual(thisAvg, 5.20731192, 0.001, "Wrong avg 50m filt WS Test 6"); thisMet.metData.startDate = Convert.ToDateTime("10/31/2008"); thisMet.metData.endDate = Convert.ToDateTime("4/14/2009"); thisAvg = thisMet.metData.CalcAvgWS(thisMet.metData.anems[0], true); Assert.AreEqual(thisAvg, 5.28296651, 0.001, "Wrong avg 30m filt WS Test 7"); thisAvg = thisMet.metData.CalcAvgWS(thisMet.metData.anems[2], true); Assert.AreEqual(thisAvg, 5.540579327, 0.001, "Wrong avg 40m filt WS Test 8"); thisAvg = thisMet.metData.CalcAvgWS(thisMet.metData.anems[4], true); Assert.AreEqual(thisAvg, 5.877799401, 0.001, "Wrong avg 50m filt WS Test 9"); thisInst.Close(); }