WepsModelRun.java [src/java/m/weps] Revision: Date:
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package m.weps;
import java.text.DecimalFormat;
import java.text.NumberFormat;
import java.util.LinkedList;
import java.util.List;
/**
*
* @author wlloyd
*/
public class WepsModelRun {
// Fixed Values - these values are fixed in the weps.run, and typically do not change
private final String runMode = "NRCS";
private final String rotationCycle = "50";
private final String simScale1 = "5.5";
private final String simScale2 = "5.5";
private final String avgSlope = "-1"; // value should come from soils file
private final String shape = "rectangle";
private final String timeSteps = "24"; // time steps per day
private final String simCoord1 = "0.0"; // always should be 0
private final String simCoord2 = "0.0"; // always should be 0
private final String radius = "1.00";
static final NumberFormat latlongFormat = new DecimalFormat("+0.00000;-0.00000");
static final String UNSET_ELEVATION = "-9999.999";
// Dynamic Values - changable by the service
private String stateSite = "XX";
private String countySite = "000";
private String cliFile = "cli_gen.cli"; // could change if provided by the client
private String cliStationLat = "0.0";
private String cliStationLong = "0.0";
private String cliStationStateFips = "0";
private String cliStationc1 = "0000";
private String cliStationName = "CLI_STA_NAME";
private String cliStationEleM = "0";
private String winFile = "thewind.win"; // could change if provided by the client
private String winWindGenProgram = "windgen";
private String winWindLat = "0.0";
private String winWindLong = "0.0";
private String winWindStation = "000000";
private String winWindCountry = "00";
private String winWindState = "00";
private String winWindDescriptionString = "wind station description";
private String winWindStationName = "WIN_STA_NAME";
private String runCycle = "0"; // default to zero to cause problems if not set properly
private String lat = "???";
private String longitude = "???";
private String elevation = UNSET_ELEVATION; // meters
private String numYears = "0"; // default to zero to cause problems if not set properly
private String soilFile = "soil.ifc";
private String simRegionAngle = "0.00000";
private String simXLen = "0.00"; // meters
private String simYLen = "0.00"; // meters
private String numBarriers = "0";
private List<Barrier> barriers = new LinkedList<Barrier>();
private String waterErosionLoss = "0.0000";
private String soilRockFragments = "-1";
public WepsModelRun() {
barriers.add(new Barrier());
}
public void setStateSite(String stateSite) {
this.stateSite = stateSite;
}
public void setCountySite(String countySite) {
this.countySite = countySite;
}
public void setCliFile(String clifile) {
this.cliFile = clifile;
}
public void setCliStationLat(String cliStationLat) {
this.cliStationLat = cliStationLat;
}
public void setCliStationLong(String cliStationLong) {
this.cliStationLong = cliStationLong;
}
public void setCliStationStateFips(String cliStationStateFips) {
this.cliStationStateFips = cliStationStateFips;
}
public void setCliStationC1(String cliStationC1) {
this.cliStationc1 = cliStationC1;
}
public void setCliStationName(String cliStationName) {
this.cliStationName = cliStationName;
}
public void setCliStationEleM(String cliStationEleM) {
this.cliStationEleM = cliStationEleM;
}
public void setWinFile(String windfile) {
this.winFile = windfile;
}
public void setWinWindGenProgram(String winWindGenProgram) {
this.winWindGenProgram = winWindGenProgram;
}
public void setWinWindLat(String winWindLat) {
this.winWindLat = winWindLat;
}
public void setWinWindLong(String winWindLong) {
this.winWindLong = winWindLong;
}
public void setWinWindStation(String winWindStation) {
this.winWindStation = winWindStation;
}
public void setWinWindCountry(String winWindCountry) {
this.winWindCountry = winWindCountry;
}
public void setWinWindState(String winWindState) {
this.winWindState = winWindState;
}
public void setWinWindStationName(String winWindStationName) {
this.winWindStationName = winWindStationName;
}
public void setWinWindDescriptionString(String winWindDescriptionString) {
this.winWindDescriptionString = winWindDescriptionString;
}
public void setRunCycle(String runcycle) {
this.runCycle = runcycle;
}
public void setLat(String latitude) {
this.lat = latitude;
}
public void setLongitude(String longitude) {
this.longitude = longitude;
}
public void setElevation(String ele) {
this.elevation = ele;
}
public void setNumYears(String numYears) {
this.numYears = numYears;
}
public void setSoilFile(String soilFile) {
this.soilFile = soilFile;
}
public void setSimRegionAngle(String simRegionAngle) {
this.simRegionAngle = simRegionAngle;
}
public void setSimXLen(String X) {
this.simXLen = X;
}
public void setSimYLen(String Y) {
this.simYLen = Y;
}
public void setNumBarriers(String numbarriers) {
this.numBarriers = numbarriers;
}
public void setBarriers(List<Barrier> barriers) {
this.barriers = barriers;
}
public void setWaterErosionLoss(String waterErosionLoss) {
this.waterErosionLoss = waterErosionLoss;
}
public void setSoilRockFragments(String soilRockFragments) {
this.soilRockFragments = soilRockFragments;
}
public String getRunMode() {
return runMode;
}
public String getRunCycle() {
return runCycle;
}
public String getRotationCycle() {
return rotationCycle;
}
public String getStateSite() {
return this.stateSite;
}
public String getCountySite() {
return this.countySite;
}
public String getLat() {
return latlongFormat.format(Double.parseDouble(lat));
}
public String getLongitude() {
return latlongFormat.format(Double.parseDouble(longitude));
}
public String getElevation() {
NumberFormat elevationFormat = new DecimalFormat("0.000");
return elevationFormat.format(Double.parseDouble(elevation));
}
public String getNumYears() {
return numYears;
}
public String getTimeSteps() {
return timeSteps;
}
public String getCliFile() {
return cliFile;
}
public String getCliStationLat() {
return latlongFormat.format(Double.parseDouble(this.cliStationLat));
}
public String getCliStationLong() {
return latlongFormat.format(Double.parseDouble(this.cliStationLong));
}
public String getCliStationStateFips() {
return this.cliStationStateFips;
}
public String getCliStationC1() {
return this.cliStationc1;
}
public String getCliStationName() {
return this.cliStationName;
}
public String getCliStationEleM() {
NumberFormat elevationFormat = new DecimalFormat("0.0");
return elevationFormat.format(Double.parseDouble(this.cliStationEleM));
}
public String getWinFile() {
return winFile;
}
public String getWinWindGenProgram() {
return this.winWindGenProgram;
}
public String getWinWindLat() {
return latlongFormat.format(Double.parseDouble(this.winWindLat));
}
public String getWinWindLong() {
return latlongFormat.format(Double.parseDouble(this.winWindLong));
}
public String getWinWindStation() {
return this.winWindStation;
}
public String getWinWindCountry() {
return this.winWindCountry;
}
public String getWinWindState() {
return this.winWindState;
}
public String getWinWindStationName() {
return this.winWindStationName;
}
public String getWinWindDescriptionString() {
return this.winWindDescriptionString;
}
public String getSoilFile() {
return soilFile;
}
public String getSimRegionAngle() {
NumberFormat simRegionAngleFormat = new DecimalFormat("0.00000");
return simRegionAngleFormat.format(Double.parseDouble(simRegionAngle));
}
public String getSimCoord1() {
return simCoord1;
}
public String getSimCoord2() {
return simCoord2;
}
public String getSimXLen() {
NumberFormat simXLenFormat = new DecimalFormat("0.0");
return simXLenFormat.format(Double.parseDouble(simXLen));
}
public String getSimYLen() {
NumberFormat simYLenFormat = new DecimalFormat("0.0");
return simYLenFormat.format(Double.parseDouble(simYLen));
}
public String getSimScale1() {
return simScale1;
}
public String getSimScale2() {
return simScale2;
}
public String getAvgSlope() {
return avgSlope;
}
public String getNumBarriers() {
return numBarriers;
}
public List<Barrier> getBarriers() {
return barriers;
}
public String getShape() {
return shape;
}
public String getRadius() {
return radius;
}
public String getWaterErosionLoss() {
NumberFormat waterErosionLossFormat = new DecimalFormat("0.0000");
return waterErosionLossFormat.format(Double.parseDouble(waterErosionLoss));
}
public String getSoilRockFragments() {
return soilRockFragments;
}
}