//package org.jgrasstools.hortonmachine.models.hm; // //import java.io.File; //import java.io.IOException; //import java.util.List; // //import org.geotools.coverage.grid.GridCoverage2D; //import org.jgrasstools.gears.io.arcgrid.ArcgridCoverageReader; //import org.jgrasstools.gears.io.timeseries.TimeseriesReaderArray; //import org.jgrasstools.gears.io.timeseries.TimeseriesWriterArray; //import org.jgrasstools.gears.libs.monitor.PrintStreamProgressMonitor; //import org.jgrasstools.hortonmachine.modules.hydrogeomorphology.peakflow.OmsPeakflow; //import org.jgrasstools.hortonmachine.utils.HMTestCase; //import org.joda.time.DateTime; // ///** // * Test the {@link OmsPeakflow} module. // * // * @author Andrea Antonello (www.hydrologis.com) // */ //public class TestPeakflow extends HMTestCase { // public void testStatisticPeakflow() throws Exception { // // File folder = new File("C:\\TMP\\peakflow\\"); // // File topFile = new File(folder, "mycismon_topindex.asc"); // GridCoverage2D topindexCoverage = getCoverage(topFile); // // File supFile = new File(folder, "mycismon_resc10.asc"); // GridCoverage2D supRescaledCoverage = getCoverage(supFile); // // File subFile = new File(folder, "mycismon_resc100.asc"); // GridCoverage2D subRescaledCoverage = getCoverage(subFile); // // PrintStreamProgressMonitor pm = new PrintStreamProgressMonitor(System.out, System.err); // // OmsPeakflow peakflow = new OmsPeakflow(); // peakflow.pm = pm; // peakflow.inTopindex = topindexCoverage; // peakflow.inRescaledsup = supRescaledCoverage; // peakflow.inRescaledsub = subRescaledCoverage; // peakflow.pA = 43.91; // peakflow.pN = 0.48; // peakflow.inRainfall = null; // peakflow.rainfallTimestampList = null; // peakflow.saturationThreshold = 30; // peakflow.diffusion = 1000; // peakflow.channelCelerity = 2; // // peakflow.executePeakflow(); // // List<DateTime> peakflowTimestampList = peakflow.peakflowTimestampList; // List<double[]> peakflowOutputList = peakflow.peakflowOutputList; // // File outFile = new File(folder, "peakflow_discharge.csv"); // TimeseriesWriterArray writer = new TimeseriesWriterArray(); // writer.csvfilePath = outFile.getAbsolutePath(); // writer.doWriteDates = false; // writer.tableName = "discharge"; // writer.timestampList = peakflowTimestampList; // writer.valuesArrayList = peakflowOutputList; // // writer.open(); // writer.write(); // writer.close(); // } // // public void testRealRainPeakflow() throws Exception { // PrintStreamProgressMonitor pm = new PrintStreamProgressMonitor(System.out, System.err); // // File folder = new File("C:\\TMP\\peakflow\\"); // // File topFile = new File(folder, "mycismon_topindex.asc"); // GridCoverage2D topindexCoverage = getCoverage(topFile); // // File supFile = new File(folder, "mycismon_resc10.asc"); // GridCoverage2D supRescaledCoverage = getCoverage(supFile); // // File subFile = new File(folder, "mycismon_resc100.asc"); // GridCoverage2D subRescaledCoverage = getCoverage(subFile); // // File rainFile = new File(folder, "rain_peak.csv"); // TimeseriesReaderArray rainReader = new TimeseriesReaderArray(); // rainReader.fileNovalue = "-9999"; // rainReader.csvfilePath = rainFile.getAbsolutePath(); // rainReader.open(); // rainReader.read(); // rainReader.close(); // // List<DateTime> timestampsList = rainReader.timestampsList; // List<double[]> recordsList = rainReader.recordsList; // // OmsPeakflow peakflow = new OmsPeakflow(); // peakflow.pm = pm; // peakflow.topindexCoverage = topindexCoverage; // peakflow.supRescaledCoverage = supRescaledCoverage; // peakflow.subRescaledCoverage = subRescaledCoverage; // peakflow.rainfallList = recordsList; // peakflow.rainfallTimestampList = timestampsList; // peakflow.saturationThreshold = 30; // peakflow.diffusion = 1000; // peakflow.oututstepArg = 300; // peakflow.channelCelerity = 2; // // peakflow.executePeakflow(); // // List<DateTime> peakflowTimestampList = peakflow.peakflowTimestampList; // List<double[]> peakflowOutputList = peakflow.peakflowOutputList; // // File outFile = new File(folder, "peakflow_discharge_real.csv"); // TimeseriesWriterArray writer = new TimeseriesWriterArray(); // writer.csvfilePath = outFile.getAbsolutePath(); // // writer.doWriteDates = false; // writer.tableName = "discharge"; // writer.timestampList = peakflowTimestampList; // writer.valuesArrayList = peakflowOutputList; // // writer.open(); // writer.write(); // writer.close(); // } // // private GridCoverage2D getCoverage( File file ) throws IOException { // ArcgridCoverageReader reader = new ArcgridCoverageReader(); // reader.arcgridCoveragePath = file.getAbsolutePath(); // reader.fileNovalue = -9999.0; // reader.readCoverage(); // return reader.coverage; // } // //}