Example #1
0
        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();
        }
Example #2
0
        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();
        }
Example #3
0
        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();
        }
Example #4
0
        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();
        }