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); } }
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); }
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); } }
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); } } }