Пример #1
0
        public void LoadTree()
        {
            m_db.SuspendTreeUpdates();
            var colNames = xls.ColumnNames("Run0");
            var sc       = m_db.GetSeriesCatalog();

            var root = m_db.AddFolder("URGWOM");
            var sr   = m_db.GetNewSeriesRow();
            int id   = sr.id;

            foreach (var item in colNames)
            {
                Series s = new UrgwomSeries(excelFilename, "Run0", item);
                s.ConnectionString = ConnectionStringUtility.MakeFileNameRelative(s.ConnectionString, m_db.DataSource);
                s.Name             = item;
                s.Parameter        = item;
                sc.AddSeriesCatalogRow(s, id, root.ID, "");
                id++;
            }

            m_db.Server.SaveTable(sc);
            m_db.ResumeTreeUpdates();
        }
Пример #2
0
        // ENTRY POINT FOR PROCESSING
        static void ProcessRogueBiOP(DateTime t1, DateTime t2, string piscesFile)
        {
            // Toggle to read flagged data
            HydrometInstantSeries.KeepFlaggedData = true;

            // Create pisces database to store data
            if (File.Exists(piscesFile))
                File.Delete(piscesFile);
            var DB = new SQLiteServer(piscesFile);
            var pDB = new TimeSeriesDatabase(DB);

            // PROCESS INSTANT DATA
            PiscesFolder rFldr = pDB.AddFolder("RawData");
            Console.Write("Processing Instant Series... ");
            var emiQ = GetInstantSeries("EMI", "Q", t1, t2, pDB, rFldr);
            var emiQC = GetInstantSeries("EMI", "QC", t1, t2, pDB, rFldr);

            var basoQ = GetInstantSeries("BASO", "Q", t1, t2, pDB, rFldr);
            var taloQC = GetInstantSeries("TALO", "QC", t1, t2, pDB, rFldr);
            var bctoQ = GetInstantSeries("BCTO", "Q", t1, t2, pDB, rFldr);
            var phxoQC = GetInstantSeries("PHXO", "QC", t1, t2, pDB, rFldr);

            var giloQ = GetInstantSeries("GILO", "Q", t1, t2, pDB, rFldr);
            var giloGH = GetInstantSeries("GILO", "GH", t1, t2, pDB, rFldr);
            var dicoQC = GetInstantSeries("DICO", "QC", t1, t2, pDB, rFldr);
            var slboQC = GetInstantSeries("SLBO", "QC", t1, t2, pDB, rFldr);

            var antoQ = GetInstantSeries("ANTO", "Q", t1, t2, pDB, rFldr);
            var antoQC = GetInstantSeries("ANTO", "QC", t1, t2, pDB, rFldr);
            var antoGH = GetInstantSeries("ANTO", "GH", t1, t2, pDB, rFldr);

            Console.WriteLine("Done importing instant data!");

            // PROCESS HOURLY DATA
            PiscesFolder dFldr = pDB.AddFolder("HourlyData");
            Console.WriteLine("");
            Console.Write("Processing Hourly Series... ");
            var emiQ_h = ProcessHourlySeries(emiQ, "EMI_Q", pDB, dFldr);
            var emiQC_h = ProcessHourlySeries(emiQC, "EMI_QC", pDB, dFldr);

            var basoQ_h = ProcessHourlySeries(basoQ, "BASO_Q", pDB, dFldr);
            var taloQC_h = ProcessHourlySeries(taloQC, "TALO_QC", pDB, dFldr);
            var bctoQ_h = ProcessHourlySeries(bctoQ, "BCTO_Q", pDB, dFldr);
            var phxoQC_h = ProcessHourlySeries(phxoQC, "PHXO_QC", pDB, dFldr);

            var giloQ_h = ProcessHourlySeries(giloQ, "GILO_Q", pDB, dFldr);
            var giloGH_h = ProcessHourlySeries(giloGH, "GILO_GH", pDB, dFldr);
            var dicoQC_h = ProcessHourlySeries(dicoQC, "DICO_QC", pDB, dFldr);
            var slboQC_h = ProcessHourlySeries(slboQC, "SLBO_QC", pDB, dFldr);

            var antoQ_h = ProcessHourlySeries(antoQ, "ANTO_Q", pDB, dFldr);
            var antoQC_h = ProcessHourlySeries(antoQC, "ANTO_QC", pDB, dFldr);
            var antoGH_h = ProcessHourlySeries(antoGH, "ANTO_GH", pDB, dFldr);

            Console.WriteLine("Done computing hourly data!");

            // CHECK BIOP STUFF
            Console.WriteLine("");
            Console.WriteLine("Data Processing: Checking Ramping Rates and Flows...");
            Console.WriteLine("");
            PiscesFolder ckFldr = pDB.AddFolder("RampingRateChecks");

            Console.WriteLine("Checking EMI flows");
            Series EMIHourlyDownRamp = CheckEMIHourlyDownRampingRate(emiQ_h);
            EMIHourlyDownRamp = CheckSourceSeries(emiQ_h, EMIHourlyDownRamp);
            pDB.AddSeries(EMIHourlyDownRamp, ckFldr);

            Series EMIDailyDownRamp = CheckEMIDailyDownRampingRate(emiQ_h);
            EMIDailyDownRamp = CheckSourceSeries(emiQ_h, EMIDailyDownRamp);
            pDB.AddSeries(EMIDailyDownRamp, ckFldr);

            Series EMIHourlyUpRamp = CheckEMIUpRampingRate(emiQ_h);
            EMIHourlyUpRamp = CheckSourceSeries(emiQ_h, EMIHourlyUpRamp);
            pDB.AddSeries(EMIHourlyUpRamp, ckFldr);

            Console.WriteLine("Checking BASO flows");
            Series BASOHourlyDownRamp = CheckBASODownRampingRate(basoQ_h, taloQC_h);
            BASOHourlyDownRamp = CheckSourceSeries(basoQ_h, BASOHourlyDownRamp);
            BASOHourlyDownRamp = CheckSourceSeries(taloQC_h, BASOHourlyDownRamp);
            pDB.AddSeries(BASOHourlyDownRamp, ckFldr);

            Console.WriteLine("Checking BCTO flows");
            Series BCTOHourlyDownRamp = CheckBCTODownRampingRate(bctoQ_h, phxoQC_h);
            BCTOHourlyDownRamp = CheckSourceSeries(bctoQ_h, BCTOHourlyDownRamp);
            BCTOHourlyDownRamp = CheckSourceSeries(phxoQC_h, BCTOHourlyDownRamp);
            pDB.AddSeries(BCTOHourlyDownRamp, ckFldr);

            Console.WriteLine("Checking GILO flows and gage height");
            Series GILOUpRamp = new Series(); Series GILODownRamp = new Series();
            CheckGILOFlowRampingRate(giloQ_h, slboQC_h, dicoQC_h, out GILODownRamp, out GILOUpRamp);
            GILODownRamp = CheckSourceSeries(giloQ_h, GILODownRamp);
            GILODownRamp = CheckSourceSeries(slboQC_h, GILODownRamp);
            GILODownRamp = CheckSourceSeries(dicoQC_h, GILODownRamp);
            GILOUpRamp = CheckSourceSeries(giloQ_h, GILOUpRamp);
            GILOUpRamp = CheckSourceSeries(slboQC_h, GILOUpRamp);
            GILOUpRamp = CheckSourceSeries(dicoQC_h, GILOUpRamp);
            pDB.AddSeries(GILOUpRamp, ckFldr);
            pDB.AddSeries(GILODownRamp, ckFldr);

            Series GILOGageUpRamp = CheckGILOGageRampingRate(giloGH_h, slboQC_h, dicoQC_h);
            GILOGageUpRamp = CheckSourceSeries(giloGH_h, GILOGageUpRamp);
            GILOGageUpRamp = CheckSourceSeries(slboQC_h, GILOGageUpRamp);
            GILOGageUpRamp = CheckSourceSeries(dicoQC_h, GILOGageUpRamp);
            pDB.AddSeries(GILOGageUpRamp, ckFldr);

            Console.WriteLine("Checking ANTO flows and gage height");
            Series ANTOUpRamp = new Series(); Series ANTODownRamp = new Series();
            CheckANTOFlowRampingRate(antoQ_h, antoQC_h, out ANTODownRamp, out ANTOUpRamp);
            ANTODownRamp = CheckSourceSeries(antoQ_h, ANTODownRamp);
            ANTODownRamp = CheckSourceSeries(antoQC_h, ANTODownRamp);
            ANTOUpRamp = CheckSourceSeries(antoQ_h, ANTOUpRamp);
            ANTOUpRamp = CheckSourceSeries(antoQC_h, ANTOUpRamp);
            pDB.AddSeries(ANTOUpRamp, ckFldr);
            pDB.AddSeries(ANTODownRamp, ckFldr);

            Series ANTOGageUpRamp = CheckANTOGageRampingRate(antoGH_h, antoQC_h);
            ANTOGageUpRamp = CheckSourceSeries(antoGH_h, ANTOGageUpRamp);
            ANTOGageUpRamp = CheckSourceSeries(antoQC_h, ANTOGageUpRamp);
            pDB.AddSeries(ANTOGageUpRamp, ckFldr);
        }
Пример #3
0
 public PiscesFolder AddFolder(string name)
 {
     return(m_db.AddFolder(this, name));
 }