//package org.jgrasstools.hortonmachine.models.hm; // //import java.io.File; //import java.net.URISyntaxException; //import java.net.URL; //import java.util.HashMap; // //import org.jgrasstools.gears.JGrassGears; //import org.jgrasstools.gears.io.adige.VegetationLibraryReader; //import org.jgrasstools.gears.io.adige.VegetationLibraryRecord; //import org.jgrasstools.gears.io.timedependent.TimeseriesByStepReaderId2Value; //import org.jgrasstools.gears.io.timedependent.TimeseriesByStepWriterId2Value; //import org.jgrasstools.hortonmachine.modules.hydrogeomorphology.etp.OmsPenmanEtp; //import org.jgrasstools.hortonmachine.utils.HMTestCase; ///** // * Test Penman Evapotranspiration.. // * // * @author Andrea Antonello (www.hydrologis.com) // */ //@SuppressWarnings("nls") //public class TestPenmanEtp extends HMTestCase { // // public void testPenmanEtp() throws Exception { // // // PrintStreamProgressMonitor pm = new PrintStreamProgressMonitor(System.out, System.err); // // // URL rainUrl = this.getClass().getClassLoader().getResource("etp_in_data_rain.csv"); // // URL tempUrl = this.getClass().getClassLoader().getResource("etp_in_data_temperature.csv"); // URL windUrl = this.getClass().getClassLoader().getResource("etp_in_data_windspeed.csv"); // URL pressureUrl = this.getClass().getClassLoader().getResource("etp_in_data_pressure.csv"); // URL humidityUrl = this.getClass().getClassLoader().getResource("etp_in_data_humidity.csv"); // // URL vegetationUrl = JGrassGears.class.getClassLoader().getResource("vegetation.csv"); // // URL netradiationUrl = this.getClass().getClassLoader().getResource("etp_in_netradiation.csv"); // URL shortwaveradiationUrl = this.getClass().getClassLoader().getResource("etp_in_shortwaveradiation.csv"); // URL sweUrl = this.getClass().getClassLoader().getResource("etp_in_swe.csv"); // // File tempFile = new File(tempUrl.toURI()); // File outputFile = new File(tempFile.getParentFile(), "etp_out.csv"); // outputFile = classesTestFile2srcTestResourcesFile(outputFile); // // TimeseriesByStepReaderId2Value tempReader = getReader(tempUrl); // TimeseriesByStepReaderId2Value windReader = getReader(windUrl); // TimeseriesByStepReaderId2Value pressReader = getReader(pressureUrl); // TimeseriesByStepReaderId2Value humReader = getReader(humidityUrl); // TimeseriesByStepReaderId2Value netradReader = getReader(netradiationUrl); // TimeseriesByStepReaderId2Value shortradReader = getReader(shortwaveradiationUrl); // TimeseriesByStepReaderId2Value sweReader = getReader(sweUrl); // // VegetationLibraryReader vegetationReader = new VegetationLibraryReader(); // vegetationReader.file = new File(vegetationUrl.toURI()).getAbsolutePath();; // vegetationReader.read(); // HashMap<Integer, VegetationLibraryRecord> vegetationData = vegetationReader.data; // vegetationReader.close(); // // OmsPenmanEtp penmanEtp = new OmsPenmanEtp(); // penmanEtp.inVegetation = vegetationData; // // TimeseriesByStepWriterId2Value etpWriter = new TimeseriesByStepWriterId2Value(); // etpWriter.file = outputFile.getAbsolutePath(); // etpWriter.tStart = tempReader.tStart; // etpWriter.tTimestep = tempReader.tTimestep; // // while( tempReader.doProcess ) { // tempReader.nextRecord(); // // penmanEtp.tCurrent = tempReader.tCurrent; // // tempReader.nextRecord(); // HashMap<Integer, double[]> id2ValueMap = tempReader.data; // penmanEtp.inTemp = id2ValueMap; // // windReader.nextRecord(); // id2ValueMap = windReader.data; // penmanEtp.inWind = id2ValueMap; // // pressReader.nextRecord(); // id2ValueMap = pressReader.data; // penmanEtp.inPressure = id2ValueMap; // // humReader.nextRecord(); // id2ValueMap = humReader.data; // penmanEtp.inRh = id2ValueMap; // // netradReader.nextRecord(); // id2ValueMap = netradReader.data; // penmanEtp.inNetradiation = id2ValueMap; // // shortradReader.nextRecord(); // id2ValueMap = shortradReader.data; // penmanEtp.inShortradiation = id2ValueMap; // // sweReader.nextRecord(); // id2ValueMap = sweReader.data; // penmanEtp.inSwe = id2ValueMap; // // penmanEtp.penman(); // // HashMap<Integer, double[]> outEtp = penmanEtp.outEtp; // // etpWriter.data = outEtp; // etpWriter.writeNextLine(); // } // // tempReader.close(); // windReader.close(); // pressReader.close(); // humReader.close(); // netradReader.close(); // shortradReader.close(); // sweReader.close(); // // etpWriter.close(); // // } // // private TimeseriesByStepReaderId2Value getReader( URL fileUrl ) throws URISyntaxException { // TimeseriesByStepReaderId2Value reader = new TimeseriesByStepReaderId2Value(); // reader.file = new File(fileUrl.toURI()).getAbsolutePath(); // reader.idfield = "ID"; // reader.tStart = "2000-01-01 00:00"; // reader.tTimestep = 60; // // reader.tEnd = "2000-01-01 00:00"; // reader.fileNovalue = "-9999"; // reader.initProcess(); // return reader; // } // //}