Displaying differences for changeset
 
display as  

src/java/m/oms/ages/V1_0.java

@@ -12,6 +12,7 @@
 import java.io.IOException;
 import java.util.ArrayList;
 import java.util.HashMap;
+import java.util.LinkedHashMap;
 import java.util.List;
 import java.util.Map;
 import java.util.Set;
@@ -65,10 +66,20 @@
         resources().getFile(KEY_SCRIPT).toString());
 
     // pass request param to model runtime parameter -> run.inc
-    Map<String, String> agesParam = new HashMap<>();
+    Map<String, String> agesParam = new LinkedHashMap<>();
     Utils.passReqQuotedParam(agesParam, parameter(), PAR_STARTTIME, PAR_ENDTIME);
+
+    // scalar parameter
     Utils.passOptParam(agesParam, parameter(),
         "flowRouteTA", "soilOutLPS");
+
+    // optional flags
+    Utils.passOptQuotedParam(agesParam, parameter(),
+        "flagParallel", "flagRegionalization", "flagHRURouting", "flagReachRouting",
+        "flagSort", "flagSplit", "flagInfiltration", "flagTillage",
+        "flagTileDrain", "flagUPGM", "parallelismFactor", "parallelismThreads",
+        "flagSaveState", "flagLoadState", "flagWB");
+
     Utils.createParamInclude(agesParam, getWorkspaceFile(RUN_INC));
 
     String start = parameter().getString(PAR_STARTTIME);
@@ -104,7 +115,7 @@
   }
 
 
-  private double calc_of(ObjectiveFunction of, String obs, 
+  private double calc_of(ObjectiveFunction of, String obs,
       String sim, String start, String end) throws IOException, ServiceException {
     // e.g. obs_data02_14.csv/obs/orun[1]
     double[] obsData = Utils.getData(obs, getWorkspaceDir(), start, end);

src/java/oms/utils/Utils.java

@@ -78,6 +78,16 @@
   }
 
 
+  public static void passOptQuotedParam(Map<String, String> p,
+      PayloadParameter param, String... names) throws ServiceException {
+    for (String name : names) {
+      if (param.has(name)) {
+        p.put(name, "\"" + param.getString(name) + "\"");
+      }
+    }
+  }
+
+
   /**
    * Run Ages
    *
@@ -155,7 +165,6 @@
     }
 
 //    System.out.println(Arrays.toString(parts));
-
     CSTable t = DataIO.table(new File(workspace, parts[FILE]), parts[TABLE]);
 
     Date startDate = Conversions.convert(start, Date.class);
@@ -163,7 +172,6 @@
 
 //    System.out.println(startDate);
 //    System.out.println(endDate);
-
     double[] vals = DataIO.getColumnDoubleValuesInterval(startDate, endDate, t,
         parts[COLUMN], DataIO.DAILY);
 

web/WEB-INF/csip-defaults.json

@@ -1,5 +1,5 @@
 {
-  "csip.context.version": "$version: 0.1.25 e3d9d0de4486 2020-03-02 od, built at 2020-03-04 10:53 by od$",
+  "csip.context.version": "$version: 0.1.26 73908a55f02b 2020-03-05 od, built at 2020-03-05 10:34 by od$",
   "oms.java.home": "/opt/jdk1.8.0_51",
   "csip.keepworkspace": false,
   "csip.session.ttl": "PT10S",