WepsModelRun.java [src/java/m/weps] Revision: bda3c094ecdfaae3ee919aa8e1d5af9591189d9c  Date: Thu Feb 11 12:45:57 MST 2016
/*
 * 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 soilRockFragments = "-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 String UNSET_ELEVATION = "-9999.999";
    // Dynamic Values - changable by the service
    private String stateSite = "XX";
    private String countySite = "000";
    private String cliFile = "cligen.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 = "+66.56272";
    private String longitude = "-105.00000";
    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 = "1.00";            // meters
    private String simYLen = "1.00";            // meters
    private String numBarriers = "0";  
    private List<Barrier> barriers = new LinkedList<Barrier>();
    private String waterErosionLoss = "0.0000";
    
    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 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() {
        NumberFormat latlongFormat = new DecimalFormat("+0.00000;-0.00000");
        return latlongFormat.format(Double.parseDouble(lat));
    }
    
    public String getLongitude() { 
        NumberFormat latlongFormat = new DecimalFormat("+0.00000;-0.00000");
        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 this.cliStationLat; }
    public String getCliStationLong() { return this.cliStationLong; }
    public String getCliStationStateFips() { return this.cliStationStateFips; }
    public String getCliStationC1() { return this.cliStationc1; }
    public String getCliStationName() { return this.cliStationName; }
    public String getCliStationEleM() { return this.cliStationEleM; }
    
    public String getWinFile() { return winFile; }
    public String getWinWindGenProgram() { return this.winWindGenProgram; }
    public String getWinWindLat() { return this.winWindLat; }
    public String getWinWindLong() { return 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.00");
        return simXLenFormat.format(Double.parseDouble(simXLen));
    }
    public String getSimYLen() { 
        NumberFormat simYLenFormat = new DecimalFormat("0.00");
        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; }
    
    
    
}