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