コード例 #1
0
ファイル: UnitTest.cs プロジェクト: zur003/APSIM.Cloud
        public void GenerateWeatherFile50Years()
        {
            // name of old style validation xml file.
            // NB: This is a real YP validation XML file from 2004.
            string fileName = Path.Combine(filesDirectory, "TestValidation.xml");

            // Create a YieldProphet object from our YP xml file
            YieldProphet spec = YieldProphetUtility.YieldProphetFromFile(fileName);

            // Read in the rainfall data
            Utility.ApsimTextFile observedDataFile = new Utility.ApsimTextFile();
            observedDataFile.Open(Path.Combine(filesDirectory, "TestValidation.rain"));
            DataTable observedData = observedDataFile.ToTable();

            observedDataFile.Close();

            // Write the weather file.
            string      rainFileName = Path.Combine(workingDirectory, spec.Paddock[0].Name) + ".met";
            WeatherFile weatherFiles = new WeatherFile();

            weatherFiles.CreateLongTerm(rainFileName, spec.Paddock[0].StationNumber,
                                        spec.Paddock[0].StartSeasonDate,
                                        spec.Paddock[0].StartSeasonDate.AddDays(300),
                                        new DateTime(2004, 6, 1),
                                        observedData, 50);

            Assert.AreEqual(weatherFiles.FilesCreated.Length, 50);

            Assert.AreEqual(Path.GetFileName(weatherFiles.FilesCreated[0]), "2004;A and R Weidemann;Wep 11954.met");
            Utility.ApsimTextFile weatherFile = new Utility.ApsimTextFile();
            weatherFile.Open(Path.Combine(workingDirectory, weatherFiles.FilesCreated[0]));
            DataTable weatherData = weatherFile.ToTable();

            weatherFile.Close();
            Assert.AreEqual(weatherData.Rows.Count, 301);
            Assert.AreEqual(weatherData.Rows[0]["codes"], "SSSO");
            Assert.AreEqual(weatherData.Rows[61]["codes"], "SSSO");
            Assert.AreEqual(weatherData.Rows[62]["codes"], "HHHH");
        }
コード例 #2
0
        public void GenerateWeatherFile50Years()
        {
            // name of old style validation xml file.
            // NB: This is a real YP validation XML file from 2004.
            string fileName = Path.Combine(filesDirectory, "TestValidation.xml");

            // Create a YieldProphet object from our YP xml file
            YieldProphet spec = YieldProphetUtility.YieldProphetFromFile(fileName);

            // Read in the rainfall data
            Utility.ApsimTextFile observedDataFile = new Utility.ApsimTextFile();
            observedDataFile.Open(Path.Combine(filesDirectory, "TestValidation.rain"));
            DataTable observedData = observedDataFile.ToTable();
            observedDataFile.Close();

            // Write the weather file.
            string rainFileName = Path.Combine(workingDirectory, spec.Paddock[0].Name) + ".met";
            WeatherFile weatherFiles = new WeatherFile();
            weatherFiles.CreateLongTerm(rainFileName, spec.Paddock[0].StationNumber,
                                        spec.Paddock[0].StartSeasonDate,
                                        spec.Paddock[0].StartSeasonDate.AddDays(300),
                                        new DateTime(2004, 6, 1),
                                        observedData, 50);

            Assert.AreEqual(weatherFiles.FilesCreated.Length, 50);

            Assert.AreEqual(Path.GetFileName(weatherFiles.FilesCreated[0]), "2004;A and R Weidemann;Wep 11954.met");
            Utility.ApsimTextFile weatherFile = new Utility.ApsimTextFile();
            weatherFile.Open(Path.Combine(workingDirectory, weatherFiles.FilesCreated[0]));
            DataTable weatherData = weatherFile.ToTable();
            weatherFile.Close();
            Assert.AreEqual(weatherData.Rows.Count, 301);
            Assert.AreEqual(weatherData.Rows[0]["codes"], "SSSO");
            Assert.AreEqual(weatherData.Rows[61]["codes"], "SSSO");
            Assert.AreEqual(weatherData.Rows[62]["codes"], "HHHH");
        }