@@ -27,6 +27,7 @@ |
import csip.annotations.Name; |
import csip.utils.Parallel; |
import csip.utils.TextParser; |
+import java.io.File; |
import org.codehaus.jettison.json.JSONException; |
import org.codehaus.jettison.json.JSONObject; |
import rhem.utils.DBResources; |
@@ -203,7 +204,6 @@ |
} |
|
|
- |
private void runModel() throws ServiceException, IOException { |
Executable rh = resources().getExe(RHEM4_INTL_EXE); |
rh.setArguments("-b", workspace().getFile(runFileName)); |
@@ -216,6 +216,8 @@ |
|
@Override |
public void postProcess() throws Exception { |
+ File sumFile = workspace().getFile(summaryFileName); |
+ |
results().put("AoAID", aoa.getAoaId(), "Area of Analysis Identifier"); |
results().put("rhem_site_id", aoa.getRhemSiteId(), "RHEM Evaluation Site Identifier"); |
results().put("CLEN", parameter.getClen(), "characteristic length of hillsope"); |
@@ -232,7 +234,9 @@ |
results().put("DIST", parameter.getDist(), "pore size distribution index"); |
results().put("POR", parameter.getPor(), "porosity"); |
results().put("FRACT", parameter.getFract(), "list of particle class fractions"); |
- results().put("TDS", rhemModel.getTDS(), "total dissolved solids"); |
+ |
+ double asl = new TextParser(sumFile).toLineContaining("Avg-Soil-Loss").rightOf("=").asDouble(); |
+ results().put("TDS", Double.parseDouble(rhemModel.getTDS(asl)), "total dissolved solids"); |
|
results().put("cli_station_id", res.getInt("stationId", 0)); |
results().put("cli_station_name", res.getString("name", "?")); |
@@ -213,6 +213,9 @@ |
|
@Override |
public void postProcess() throws Exception { |
+ File sumFile = workspace().getFile(sumFileName); |
+ File preFile = workspace().getFile(stormFileName); |
+ |
// results().put("AoAID", aoa.getAoaId(), "Area of Analysis Identifier"); |
// results().put("rhem_site_id", aoa.getRhemSiteId(), "RHEM Evaluation Site Identifier"); |
results().put("clen", Double.parseDouble(parameter.getClen()), "characteristic length of hillsope"); |
@@ -223,9 +226,9 @@ |
"list of densities corresponding to the DIAMS particle classes"); |
results().put("chezy", Double.parseDouble(parameter.getChezy()), "overland flow Chezy coefficient"); |
results().put("rchezy", Double.parseDouble(parameter.getRchezy()), "concentrated flow Chezy coefficient"); |
- results().put("sl", new TextParser(parameter.getSl(), "sl").nextLine().tokens("\\s*,\\s*").asDoubleArray(), |
+ results().put("sl", new TextParser(parameter.getSl(), "sl").nextLine().tokens(TextParser.COMMA_SEP).asDoubleArray(), |
"slope expressed as fractional rise/run"); |
- results().put("sx", new TextParser(parameter.getSx(), "sx").nextLine().tokens("\\s*,\\s*").asDoubleArray(), |
+ results().put("sx", new TextParser(parameter.getSx(), "sx").nextLine().tokens(TextParser.COMMA_SEP).asDoubleArray(), |
"normalized distance"); |
results().put("kss", Double.parseDouble(parameter.getKss()), "splash and sheet erodibility coefficient"); |
results().put("ke", Double.parseDouble(parameter.getKe()), "effective hydraulic conductivity"); |
@@ -234,7 +237,9 @@ |
results().put("por", Double.parseDouble(parameter.getPor()), "porosity"); |
results().put("fract", new TextParser(parameter.getFract(), "fract").nextLine().tokens().asDoubleArray(), |
"list of particle class fractions"); |
- results().put("tds", Double.parseDouble(rhemModel.getTDS()), "total dissolved solids"); |
+ |
+ double asl = new TextParser(sumFile).toLineContaining("Avg-Soil-Loss").rightOf("=").asDouble(); |
+ results().put("tds", Double.parseDouble(rhemModel.getTDS(asl)), "total dissolved solids"); |
|
results().put("cli_station_id", res.getInt("stationId", 0)); |
results().put("cli_station_name", res.getString("name", "?")); |
@@ -243,9 +248,6 @@ |
results().put("cli_station_location", new double[]{res.getDouble("stationY"), res.getDouble("stationX")}, "station location (lat,lon)"); |
|
// Observed monthly ave precipitation (mm) |
- File preFile = workspace().getFile(stormFileName); |
- File sumFile = workspace().getFile(sumFileName); |
- |
// 24.9 18.9 16.4 8.0 5.6 14.0 65.6 79.6 38.8 24.2 16.6 27.1 |
double[] mavg = new TextParser(preFile).toLineContaining("ave precipitation").nextLine().tokens().asDoubleArray(); |
results().put("monthly_avg_precip", mavg, "monthly average precip", "mm"); |