Beispiel #1
0
 private static void BuildRowHeader(Observable o, int runIndex, CsvOutputOptions outputOptions, StringBuilder header)
 {
     header.Clear();
     header.Append(o.Name);
     if (outputOptions.WriteRealizationIndex)
     {
         header.AppendFormat("{{{0}}}", runIndex);
     }
 }
Beispiel #2
0
        internal static CsvOutputOptions GetCsvOutputOptions(string prefix)
        {
            bool writeCsvFile          = Configuration.CurrentConfiguration.GetParameterWithDefault("output.writecsv", true);
            bool compressOutput        = Configuration.CurrentConfiguration.GetParameterWithDefault("output.compress", false);
            bool writeRealizationIndex = Configuration.CurrentConfiguration.GetParameterWithDefault("output.writerealizationindex", true);

            var csvOptions = new CsvOutputOptions
            {
                Filename              = prefix + ".csv",
                CompressOutput        = compressOutput,
                WriteCsvFile          = writeCsvFile,
                WriteRealizationIndex = writeRealizationIndex
            };

            return(csvOptions);
        }
Beispiel #3
0
        internal static void WriteCsvFile(SolverBase.Trajectories trajectories, CsvOutputOptions outputOptions)
        {
            TextWriter output;

            if (outputOptions.CompressOutput)
            {
                var fileStream = File.Open(outputOptions.Filename + ".gz", FileMode.OpenOrCreate, FileAccess.Write);
                var gZipStream = new GZipStream(fileStream, CompressionMode.Compress);
                output = new StreamWriter(gZipStream);
            }
            else
            {
                output = new StreamWriter(outputOptions.Filename);
            }

            using (output)
            {
                WriteVersionInfo(output);
                WriteSampleTimes(trajectories, output);
                WriteTrajectoryData(trajectories, outputOptions, output);
            }
        }
Beispiel #4
0
        private static void WriteTrajectoryData(SolverBase.Trajectories trajectories, CsvOutputOptions outputOptions, TextWriter output)
        {
            bool writeObservableInfo = GetPrivateStaticField("_writeObservableInfo", typeof(CsvOutputOptions));

            foreach (Observable o in trajectories.Keys)
            {
                float[][] observableTrajectories = trajectories[o];
                var       header = new StringBuilder();
                for (int runIndex = 0; runIndex < observableTrajectories.Length; runIndex++)
                {
                    if (writeObservableInfo)
                    {
                        BuildRowHeader(o, runIndex, outputOptions, header);
                        WriteRowHeader(header.ToString(), output);
                    }
                    WriteRowData(observableTrajectories[runIndex], output);
                }
            }
        }