Displaying differences for changeset
 
display as  

src/java/m/rhem/model/RhemModel.java

@@ -225,6 +225,11 @@
   }
 
 
+  public String getTDS(double asl) {
+    return formatDouble((2.36 * (asl * 1000) + 0.99) / 1000.0);
+  }
+
+
   public boolean isIntl(String stateId) {
     return stateId.toLowerCase().startsWith("intl_");
   }

src/java/m/rhem/rhem01_runmodel/V2_0.java

@@ -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", "?"));

src/java/m/rhem/rhem01_runmodel/V2_1.java

@@ -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");

web/WEB-INF/csip-defaults.json

@@ -1,5 +1,5 @@
 {  
-    "csip.context.version": "$version: 2.1.23 default 197 e9d4c543a180 2021-02-03 od, built at 2021-02-04 14:10 by od$",
+    "csip.context.version": "$version: 2.1.24 default 198 38e73616fd1b 2021-02-04 od, built at 2021-02-05 09:44 by od$",
     "csip.archive.max.filesize": "1KB",
     "esd.db": "jdbc:sqlserver://129.82.20.129:1433;databaseName=esd;user=sa;password=csurams#1",
     "crdb.db": "jdbc:sqlserver://129.82.20.129:1433;databaseName=conservation_resources;user=sa;password=csurams#1",