예제 #1
0
        public void CalcAvgWS_Diffs_by_WD_Test()
        {
            string filename = testingFolder + "\\CalcAvgWS_DiffsByWD\\WS Diffs and WD.csv";

            StreamReader file = new StreamReader(filename);
            string       line;

            char[] delims = { ',' };

            Met_Data_Filter.WS_Ratio_WD_Data theseDiffs = new Met_Data_Filter.WS_Ratio_WD_Data();
            int Diff_Count = 0;

            while ((line = file.ReadLine()) != null)
            {
                String[] Data = line.Split(delims);

                if (Data[0] != "" & Data[1] != "")
                {
                    Diff_Count++;
                    Array.Resize(ref theseDiffs.WS_Ratio, Diff_Count);
                    Array.Resize(ref theseDiffs.WD, Diff_Count);
                    theseDiffs.WS_Ratio[Diff_Count - 1] = Convert.ToSingle(Data[0]);
                    theseDiffs.WD[Diff_Count - 1]       = Convert.ToDouble(Data[1]);
                }
            }

            Met_Data_Filter thisMetData = new Met_Data_Filter();

            double[] theseAvgDiffs = thisMetData.CalcAvgWS_DiffsByWD(theseDiffs);

            Assert.AreEqual(theseAvgDiffs[0], -0.075307018, 0.0001, "Wrong avg Diff Test 1");
            Assert.AreEqual(theseAvgDiffs[13], 0.367984064, 0.0001, "Wrong avg Diff Test 2");
            Assert.AreEqual(theseAvgDiffs[27], 0.376872093, 0.0001, "Wrong avg Diff Test 3");
            Assert.AreEqual(theseAvgDiffs[179], -0.051792271, 0.0001, "Wrong avg Diff Test 4");
        }
예제 #2
0
        public void ConvertToMPS_Test()
        {
            Continuum thisInst = new Continuum("");

            string Filename = testingFolder + "\\MetDataFilter New Bremen testing.cfm";

            thisInst.Open(Filename);

            Met_Data_Filter thisQC = thisInst.metList.metItem[0].metData;

            Assert.AreEqual(thisQC.anems[0].windData[20].avg, 1.56459544, 0.001, "Wind speed not converted to m/s correctly");
            Assert.AreEqual(thisQC.anems[0].windData[20].SD, 0.447027269, 0.001, "Wind speed not converted to m/s correctly");
            Assert.AreEqual(thisQC.anems[0].windData[20].max, 2.637460885, 0.001, "Wind speed not converted to m/s correctly");
            Assert.AreEqual(thisQC.anems[0].windData[20].min, 0.357621815, 0.001, "Wind speed not converted to m/s correctly");
        }
예제 #3
0
        public void FindMinMaxWS_Diff_Test()
        {
            double[] avg_WS = new double[10];
            avg_WS[0] = 0.03;
            avg_WS[1] = 0.029;
            avg_WS[2] = 0.250;
            avg_WS[3] = 0.052;
            avg_WS[4] = 0.036;
            avg_WS[5] = 0.092;
            avg_WS[6] = 0.046;
            avg_WS[7] = 0.084;
            avg_WS[8] = -0.539;
            avg_WS[9] = 0.044;

            Met_Data_Filter thisMetData = new Met_Data_Filter();
            int             thisMin     = thisMetData.FindMinMaxWS_Diff(avg_WS, "min");
            int             thisMax     = thisMetData.FindMinMaxWS_Diff(avg_WS, "max");

            Assert.AreEqual(thisMin, 288, 0);
            Assert.AreEqual(thisMax, 72, 0);
        }
예제 #4
0
        public void FindShadowMinMax_Test()
        {
            double[] avg_WS = new double[10];
            avg_WS[0] = 0.03;
            avg_WS[1] = 0.029;
            avg_WS[2] = 0.250;
            avg_WS[3] = 0.052;
            avg_WS[4] = 0.036;
            avg_WS[5] = 0.092;
            avg_WS[6] = 0.046;
            avg_WS[7] = 0.084;
            avg_WS[8] = 0.039;
            avg_WS[9] = 0.044;

            Met_Data_Filter thisMetData = new Met_Data_Filter();

            int[] Shadow_inds = thisMetData.FindShadowMinMax(avg_WS, 72);

            Assert.AreEqual(36, Shadow_inds[0]);
            Assert.AreEqual(108, Shadow_inds[1]);
        }
예제 #5
0
        public void GetAvgAlpha_from_Valid_WS_Test()
        {
            double[] avg_WS  = new double[] { 0.447, 0.8495, 2.4585 };
            double[] heights = new double[] { 30, 40, 50 };

            Met_Data_Filter thisMetData = new Met_Data_Filter();
            double          avg_Alpha   = thisMetData.GetAvgAlphaFromValidWS(avg_WS, heights);

            Assert.AreEqual(avg_Alpha, 2.231941, 0.001, "Wrong avg Alpha Test 1");

            avg_WS    = new double[] { 2.146, 2.146, 2.28 };
            avg_Alpha = thisMetData.GetAvgAlphaFromValidWS(avg_WS, heights);
            Assert.AreEqual(avg_Alpha, 0.1300, 0.001, "Wrong avg Alpha Test 2");

            avg_WS    = new double[] { 1.9, 1.8105, 1.833 };
            avg_Alpha = thisMetData.GetAvgAlphaFromValidWS(avg_WS, heights);
            Assert.AreEqual(avg_Alpha, -0.06088, 0.001, "Wrong avg Alpha Test 3");

            avg_WS    = new double[] { 3.263, 3.2635, 3.487 };
            avg_Alpha = thisMetData.GetAvgAlphaFromValidWS(avg_WS, heights);
            Assert.AreEqual(avg_Alpha, 0.142455, 0.001, "Wrong avg Alpha Test 4");
        }