V1_0.java [src/java/m/groundwater] Revision: 1ff6fd20b6fd4f8498b38fae640cf3d51d2ac628 Date: Fri Jun 21 11:13:40 MDT 2019
package m.groundwater;
import csip.ModelDataService;
import csip.PayloadParameter;
import csip.PayloadResults;
import csip.annotations.Description;
import csip.annotations.Name;
import csip.annotations.VersionInfo;
import java.io.File;
import javax.ws.rs.Path;
@Name("groundwater")
@Description("USGS Groundwater time series analysis tool")
@VersionInfo("1.0")
@Path("m/groundwater/groundwater/1.0")
public class V1_0 extends ModelDataService {
guiGroundwater_Model model = new guiGroundwater_Model();
protected void preProcess() throws Exception {
model.setMainFolder(getWorkspaceDir().toString());
PayloadParameter inputPayload = parameter();
model.setDatabase(inputPayload.getString("database"));
model.setStationID(inputPayload.getString("station_id"));
model.setStationName(inputPayload.getString("station_name"));
model.setWQtest(inputPayload.getString("wq_test"));
model.setBeginDate(inputPayload.getString("begin_date"));
model.setEndDate(inputPayload.getString("end_date"));
model.setTimeStep(inputPayload.getString("time_step"));
model.setMethod(inputPayload.getString("method"));
model.setPeriod1End(inputPayload.getString("period1_end"));
model.setPeriod2Begin(inputPayload.getString("period2_begin"));
model.setPeriod2End(inputPayload.getString("period2_end"));
model.setPeriod3Begin(inputPayload.getString("period3_begin"));
model.setPeriod3End(inputPayload.getString("period3_end"));
model.setMedianTF(inputPayload.getBoolean("medianTF"));
model.setMergeDatasets(inputPayload.getBoolean("merge_datasets"));
model.setMergeMethod(inputPayload.getString("merge_method"));
model.setUserData(inputPayload.getString("user_data"));
}
@Override
protected void doProcess() throws Exception {
model.run();
}
@Override
protected void postProcess() throws Exception {
PayloadResults resultPayload = results();
// files
File wd = getWorkspaceDir();
resultPayload.put(new File(wd, model.getGraph()),
//Below are the result graph files for use by JHighCharts on eRAMS for duplicating the above graphs
model.getGWgraphOutput());
// values
resultPayload.put("len", model.getLen());
resultPayload.put("start", model.getStart());
resultPayload.put("end", model.getEnd());
resultPayload.put("units", model.getUnits());
resultPayload.put("data_source", model.getDataSource());
//Get all data results
resultPayload.put("max", model.getMax());
resultPayload.put("min", model.getMin());
resultPayload.put("upperQuartile", model.getUpperQuartile());
resultPayload.put("lowerQuartile", model.getLowerQuartile());
resultPayload.put("median", model.getMedian());
resultPayload.put("mean", model.getMean());
resultPayload.put("standardDeviation", model.getStandardDeviation());
resultPayload.put("variance", model.getVariance());
resultPayload.put("skewness", model.getSkewness());
resultPayload.put("coefficientOfVariation", model.getCoefficientOfVariation());
resultPayload.put("kendalCorrelationCoefficient", model.getKendallCorrelationCoefficient());
//Get Period 1 results
resultPayload.put("len_period1", model.getLen_period1());
resultPayload.put("max_period1", model.getMax_period1());
resultPayload.put("min_period1", model.getMin_period1());
resultPayload.put("upperQuartile_period1", model.getUpperQuartile_period1());
resultPayload.put("lowerQuartile_period1", model.getLowerQuartile_period1());
resultPayload.put("median_period1", model.getMedian_period1());
resultPayload.put("mean_period1", model.getMean_period1());
resultPayload.put("standardDeviation_period1", model.getStandardDeviation_period1());
resultPayload.put("variance_period1", model.getVariance_period1());
resultPayload.put("skewness_period1", model.getSkewness_period1());
resultPayload.put("coefficientOfVariation_period1", model.getCoefficientOfVariation_period1());
resultPayload.put("kendalCorrelationCoefficient_period1", model.getKendallCorrelationCoefficient_period1());
//Get Period 2 results
resultPayload.put("len_period2", model.getLen_period2());
resultPayload.put("max_period2", model.getMax_period2());
resultPayload.put("min_period2", model.getMin_period2());
resultPayload.put("upperQuartile_period2", model.getUpperQuartile_period2());
resultPayload.put("lowerQuartile_period2", model.getLowerQuartile_period2());
resultPayload.put("median_period2", model.getMedian_period2());
resultPayload.put("mean_period2", model.getMean_period2());
resultPayload.put("standardDeviation_period2", model.getStandardDeviation_period2());
resultPayload.put("variance_period2", model.getVariance_period2());
resultPayload.put("skewness_period2", model.getSkewness_period2());
resultPayload.put("coefficientOfVariation_period2", model.getCoefficientOfVariation_period2());
resultPayload.put("kendalCorrelationCoefficient_period2", model.getKendallCorrelationCoefficient_period2());
//Get Period 3 results
resultPayload.put("len_period3", model.getLen_period3());
resultPayload.put("max_period3", model.getMax_period3());
resultPayload.put("min_period3", model.getMin_period3());
resultPayload.put("upperQuartile_period3", model.getUpperQuartile_period3());
resultPayload.put("lowerQuartile_period3", model.getLowerQuartile_period3());
resultPayload.put("median_period3", model.getMedian_period3());
resultPayload.put("mean_period3", model.getMean_period3());
resultPayload.put("standardDeviation_period3", model.getStandardDeviation_period3());
resultPayload.put("variance_period3", model.getVariance_period3());
resultPayload.put("skewness_period3", model.getSkewness_period3());
resultPayload.put("coefficientOfVariation_period3", model.getCoefficientOfVariation_period3());
resultPayload.put("kendalCorrelationCoefficient_period3", model.getKendallCorrelationCoefficient_period3());
//Get other results
resultPayload.put("graph", model.getGraph());
//Get result files for JSHighCharts
String graphDataFiles = model.getGWgraphOutput().getName();
resultPayload.put("graph_data_files", graphDataFiles);
}
}