Пример #1
0
        public void LoadDaisyTest()
        {
            GroundWaterSource target = new GroundWaterSource();
            Stopwatch         sw     = new Stopwatch();

            sw.Start();

            target.LoadDaisyData(@"F:\Oplandsmodel\NLES\SoilFarms_dmi10kmgrid_daily2000.txt");
            sw.Stop();
            var ts = sw.Elapsed;

            sw.Reset();
            sw.Start();

            using (StreamReader sr = new StreamReader(@"F:\Oplandsmodel\NLES\SoilFarms_dmi10kmgrid_daily2000.txt"))
            {
                while (!sr.EndOfStream)
                {
                    sr.ReadLine();
                }
            }
            sw.Stop();

//      Assert.AreEqual(0.3305, target.leachdata.Grids[16510].TimeData.GetValues(new DateTime(2008, 4, 1), new DateTime(2009, 4, 1)).First(),0.0001);


            int k = 0;
        }
Пример #2
0
        public void CreateLeachFile()
        {
            var gwsource = new GroundWaterSource();

            gwsource.DaisyFiles.Add(new SafeFile()
            {
                FileName = @"D:\DK_information\TestData\FileStructure\DaisyLeaching\SoilFarms_dmi10kmgrid_daily1990.txt"
            });
            gwsource.DaisyFiles.Add(new SafeFile()
            {
                FileName = @"D:\DK_information\TestData\FileStructure\DaisyLeaching\SoilFarms_dmi10kmgrid_daily1991.txt"
            });
            gwsource.DaisyFiles.Add(new SafeFile()
            {
                FileName = @"D:\DK_information\TestData\FileStructure\DaisyLeaching\SoilFarms_dmi10kmgrid_daily1992.txt"
            });
            gwsource.DaisyFiles.Add(new SafeFile()
            {
                FileName = @"D:\DK_information\TestData\FileStructure\DaisyLeaching\SoilFarms_dmi10kmgrid_daily1993.txt"
            });
            gwsource.DaisyFiles.Add(new SafeFile()
            {
                FileName = @"D:\DK_information\TestData\FileStructure\DaisyLeaching\SoilFarms_dmi10kmgrid_daily1994.txt"
            });
            gwsource.DaisyFiles.Add(new SafeFile()
            {
                FileName = @"D:\DK_information\TestData\FileStructure\DaisyLeaching\SoilFarms_dmi10kmgrid_daily1995.txt"
            });
            gwsource.DaisyFiles.Add(new SafeFile()
            {
                FileName = @"D:\DK_information\TestData\FileStructure\DaisyLeaching\SoilFarms_dmi10kmgrid_daily1996.txt"
            });
            gwsource.DaisyFiles.Add(new SafeFile()
            {
                FileName = @"D:\DK_information\TestData\FileStructure\DaisyLeaching\SoilFarms_dmi10kmgrid_daily1997.txt"
            });
            gwsource.DaisyFiles.Add(new SafeFile()
            {
                FileName = @"D:\DK_information\TestData\FileStructure\DaisyLeaching\SoilFarms_dmi10kmgrid_daily1998.txt"
            });
            gwsource.DaisyFiles.Add(new SafeFile()
            {
                FileName = @"D:\DK_information\TestData\FileStructure\DaisyLeaching\SoilFarms_dmi10kmgrid_daily1999.txt"
            });
            gwsource.DaisyFiles.Add(new SafeFile()
            {
                FileName = @"D:\DK_information\TestData\FileStructure\DaisyLeaching\SoilFarms_dmi10kmgrid_daily2000.txt"
            });
            gwsource.DaisyFiles.Add(new SafeFile()
            {
                FileName = @"D:\DK_information\TestData\FileStructure\DaisyLeaching\SoilFarms_dmi10kmgrid_daily2001.txt"
            });
            gwsource.DaisyFiles.Add(new SafeFile()
            {
                FileName = @"D:\DK_information\TestData\FileStructure\DaisyLeaching\SoilFarms_dmi10kmgrid_daily2002.txt"
            });
            gwsource.DaisyFiles.Add(new SafeFile()
            {
                FileName = @"D:\DK_information\TestData\FileStructure\DaisyLeaching\SoilFarms_dmi10kmgrid_daily2003.txt"
            });
            gwsource.DaisyFiles.Add(new SafeFile()
            {
                FileName = @"D:\DK_information\TestData\FileStructure\DaisyLeaching\SoilFarms_dmi10kmgrid_daily2004.txt"
            });
            gwsource.DaisyFiles.Add(new SafeFile()
            {
                FileName = @"D:\DK_information\TestData\FileStructure\DaisyLeaching\SoilFarms_dmi10kmgrid_daily2005.txt"
            });
            gwsource.DaisyFiles.Add(new SafeFile()
            {
                FileName = @"D:\DK_information\TestData\FileStructure\DaisyLeaching\SoilFarms_dmi10kmgrid_daily2006.txt"
            });
            gwsource.DaisyFiles.Add(new SafeFile()
            {
                FileName = @"D:\DK_information\TestData\FileStructure\DaisyLeaching\SoilFarms_dmi10kmgrid_daily2007.txt"
            });
            gwsource.DaisyFiles.Add(new SafeFile()
            {
                FileName = @"D:\DK_information\TestData\FileStructure\DaisyLeaching\SoilFarms_dmi10kmgrid_daily2008.txt"
            });
            gwsource.DaisyFiles.Add(new SafeFile()
            {
                FileName = @"D:\DK_information\TestData\FileStructure\DaisyLeaching\SoilFarms_dmi10kmgrid_daily2009.txt"
            });
            gwsource.DaisyFiles.Add(new SafeFile()
            {
                FileName = @"D:\DK_information\TestData\FileStructure\DaisyLeaching\SoilFarms_dmi10kmgrid_daily2010.txt"
            });
            gwsource.DaisyFiles.Add(new SafeFile()
            {
                FileName = @"D:\DK_information\TestData\FileStructure\DaisyLeaching\SoilFarms_dmi10kmgrid_daily2011.txt"
            });

            gwsource.SoilCodes = new SafeFile()
            {
                FileName = @"D:\DK_information\TestData\FileStructure\DaisyLeaching\DKDomainNodes_LU_Soil_codes.shp"
            };

            gwsource.ParticleFiles.Add(new SafeFile()
            {
                FileName = @"D:\DK_information\TestData\FileStructure\Particles\PTReg_Extraction_1_20131007_dk2.shp"
            });
            gwsource.ParticleFiles.Last().Parameters.Add(100);

            MainModel mv = new MainModel();

            mv.LoadCatchments(@"D:\DK_information\TestData\FileStructure\id15_NSTmodel.shp");

            Stopwatch sw = new Stopwatch();

            sw.Start();
            gwsource.Initialize(new DateTime(1991, 1, 1), new DateTime(2010, 1, 1), mv.AllCatchments.Values);
            sw.Stop();


            var ts = sw.Elapsed;

            //using (HydroNumerics.Geometry.Shapes.ShapeWriter sw = new Geometry.Shapes.ShapeWriter(@"D:\DK_information\TestData\leach1990MontlyPar"))
            //{
            //  System.Data.DataTable dt = new System.Data.DataTable();

            //  dt.Columns.Add("ID15", typeof(int));
            //  dt.Columns.Add("Januar", typeof(double));
            //  dt.Columns.Add("Februar", typeof(double));
            //  dt.Columns.Add("Marts", typeof(double));
            //  dt.Columns.Add("April", typeof(double));
            //  dt.Columns.Add("Maj", typeof(double));
            //  dt.Columns.Add("Juni", typeof(double));
            //  dt.Columns.Add("Juli", typeof(double));
            //  dt.Columns.Add("August", typeof(double));
            //  dt.Columns.Add("September", typeof(double));
            //  dt.Columns.Add("Oktober", typeof(double));
            //  dt.Columns.Add("November", typeof(double));
            //  dt.Columns.Add("December", typeof(double));

            //  foreach (var c in mv.AllCatchments.Values)
            //  {
            //    var dr = dt.NewRow();
            //    dr[0] = c.ID;
            //    var data = CatchLeach[c.ID];

            //    for (int i = 0; i < 12; i++)
            //      dr[i + 1] = data[i];
            //    sw.Write(new HydroNumerics.Geometry.GeoRefData() { Geometry = c.Geometry, Data = dr });
            //  }
            //}

            //using (HydroNumerics.Geometry.Shapes.ShapeWriter sw = new Geometry.Shapes.ShapeWriter(@"D:\DK_information\TestData\leachYearlyscaledPar"))
            //{
            //  System.Data.DataTable dt = new System.Data.DataTable();

            //  dt.Columns.Add("ID15", typeof(int));

            //  for (int i= Start.Year; i<= End.Year;i++)
            //  {
            //    dt.Columns.Add(i.ToString(), typeof(double));
            //  }

            //  foreach (var c in mv.AllCatchments.Values)
            //  {
            //    var dr = dt.NewRow();
            //    dr[0] = c.ID;
            //    var data = CatchLeach[c.ID];

            //    for (int i = 0; i < End.Year - Start.Year; i++)
            //      dr[i + 1] = data.Skip(i * 12).Take(12).Sum()/((HydroNumerics.Geometry.IXYPolygon)c.Geometry).GetArea();
            //    sw.Write(new HydroNumerics.Geometry.GeoRefData() { Geometry = c.Geometry, Data = dr });
            //  }
            //}



            //double sum = CatchLeach.Values.Sum(c=>c.Sum(v=>v));
        }