private static void ReadAllFormats(string watershedName) { //TODO - compare validateWatershed data with computed File.AppendAllText(logFile, NL); File.AppendAllText(logFile, "---------- Reading Ensembles ----------" + NL); string fn; // TimeSeriesOfEnsembleLocations wshedData=null; DateTime startTime = DateTime.MinValue; DateTime endTime = DateTime.MaxValue; // DSS fn = "ensemble_V7_" + tag + ".dss"; ReadTimed(fn, () => { return(DssEnsemble.Read(watershedName, startTime, endTime, fn)); }); fn = "ensemble_V7_profiles_" + tag + ".dss"; ReadTimed(fn, () => { return(DssEnsemble.ReadTimeSeriesProfiles(watershedName, startTime, endTime, fn)); }); // SQLITE fn = "ensemble_sqlite_blob_" + tag + ".db"; ReadTimed(fn, () => { return(SqLiteEnsemble.Read(watershedName, startTime, endTime, fn)); }); // Pisces fn = "ensemble_pisces_" + tag + ".pdb"; ReadTimed(fn, () => { return(SqLiteEnsemble.Read(watershedName, startTime, endTime, fn)); }); // Serial HDF5 fn = "ensemble_serial_1RowPerChunk.h5"; ReadTimed(fn, () => { using (var hr = new H5Reader(fn)) return(HDF5Ensemble.Read(hr, watershedName)); }); // Parallel HDF5 foreach (int c in new[] { 1, 10, -1 }) { fn = "ensemble_parallel_" + c.ToString() + "RowsPerChunk.h5"; ReadTimed(fn, () => { using (var hr = new H5Reader(fn)) return(HDF5Ensemble.Read(hr, watershedName)); }); } }
private static void WriteAllFormats(Watershed waterShedData, bool delete) { File.AppendAllText(logFile, NL); string fn, dir; // DSS 6/7 fn = "ensemble_V7_" + tag + ".dss"; if (delete) { File.Delete(fn); } WriteTimed(fn, tag, () => DssEnsemble.Write(fn, waterShedData)); fn = "ensemble_V7_profiles_" + tag + ".dss"; if (delete) { File.Delete(fn); } WriteTimed(fn, tag, () => DssEnsemble.WriteToTimeSeriesProfiles(fn, waterShedData)); bool compress = true; // SQLITE fn = "ensemble_sqlite_" + tag + ".db"; if (delete) { File.Delete(fn); } WriteTimed(fn, tag, () => { SqLiteEnsemble.Write(fn, waterShedData, compress, false); }); fn = "ensemble_pisces_" + tag + ".pdb"; if (delete) { File.Delete(fn); } WriteTimed(fn, tag, () => { SqLiteEnsemble.WriteWithDataTable(fn, waterShedData, compress, true); }); // Serial HDF5 fn = "ensemble_serial_1RowPerChunk.h5"; WriteTimed(fn, tag, () => { using (var h5w = new H5Writer(fn)) HDF5Ensemble.Write(h5w, waterShedData); }); // Parallel HDF5 foreach (int c in new[] { 1, 10, -1 }) { fn = "ensemble_parallel_" + c.ToString() + "RowsPerChunk.h5"; WriteTimed(fn, tag, () => { using (var h5w = new H5Writer(fn)) HDF5Ensemble.WriteParallel(h5w, waterShedData, c); }); } }