public TimeSeriesComplexType[] AllInputSeries()
        {
            var result = new List <TimeSeriesComplexType>();

            foreach (string fn in inputTimeSeriesFile)
            {
                result.AddRange(FEWSPIProxy.ReadTimeSeries(fn).series);
            }

            return(result.ToArray());
        }
Пример #2
0
        public static void Run(RunComplexType runSettings, Diagnostics diagnostics, string[] args)
        {
            TimeSeries[] results =
                (TimeSeries[])
                NonInteractiveIO.Load(runSettings.workDir + "\\" + runSettings.Property(Keys.OUTPUT_FILE));
            diagnostics.Log(3, string.Format("Loaded {0} time series", results.Length));

            string forcedTimeStep = runSettings.Property(Keys.FORCED_TIMESTAMP);
            TimeSeriesCollectionComplexType fewsTimeSeriesCollection = TIMEProxy.FromTimeSeriesCollection(results, runSettings.timeZone, forcedTimeStep);
            string outputFn = runSettings.outputTimeSeriesFile[0];

            FEWSPIProxy.WriteTimeSeriesCollection(outputFn, fewsTimeSeriesCollection);
            diagnostics.Log(3, string.Format("Written {0} time series to {1}", fewsTimeSeriesCollection.series.Length, outputFn));

            diagnostics.Log(3, "All Done");
        }
Пример #3
0
        public static void Run(RunComplexType runSettings, Diagnostics diagnostics, string[] args)
        {
            var inputSeries = runSettings.AllInputSeries();

            Array.Sort(inputSeries,
                       ((x, y) =>
            {
                int locationCompare = String.Compare(x.header.locationId, y.header.locationId,
                                                     StringComparison.Ordinal);
                return(locationCompare == 0
                                          ? String.Compare(x.header.parameterId, y.header.parameterId,
                                                           StringComparison.Ordinal)
                                          : locationCompare);
            }));

            Dictionary <string, CSVFileIO> outputSets = new Dictionary <string, CSVFileIO>();

            foreach (TimeSeriesComplexType fewsTS in inputSeries)
            {
                string destinationFn = runSettings.FilenameForTimeSeriesParameter(fewsTS.header.parameterId);
                if (!outputSets.ContainsKey(destinationFn))
                {
                    outputSets[destinationFn] = new CSVFileIO();
                }

                TimeSeries converted = FEWSPIProxy.ConvertTimeSeriesFromFEWS(fewsTS);
                outputSets[destinationFn].use(converted.name, converted);
            }

            Directory.CreateDirectory(runSettings.workDir);
            foreach (var outputSet in outputSets)
            {
                outputSet.Value.save(runSettings.workDir + "\\" + outputSet.Key);
            }

            diagnostics.Log(3, "All Done");
        }