diff --git a/festc_core/src/gov/epa/festc/core/FestcApplication.java b/festc_core/src/gov/epa/festc/core/FestcApplication.java index 5171148..bdc97e1 100644 --- a/festc_core/src/gov/epa/festc/core/FestcApplication.java +++ b/festc_core/src/gov/epa/festc/core/FestcApplication.java @@ -58,10 +58,6 @@ public class FestcApplication implements ListSelectionListener, private String epicHome; private String workdir; - private String sSimYear; - private String sFertYear; - private String sMinAcre; - private boolean allowDiffCheck; private enum ProjectEvent {CREATED, OPENED, SAVE, SAVED}; @@ -133,37 +129,6 @@ public void setCurrentDir(File curdir) { * Gets the modeling year associated with the app */ - public String getSSimYear() { - return this.sSimYear; - } - - public void setSSimYear(String year) { - this.sSimYear = year; - } - - /*** - * Sets the fertilizer year associated with the app - */ - - public String getSFertYear() { - return this.sFertYear; - } - - public void setSFertYear(String year) { - this.sFertYear = year; - } - - /*** - * Sets the minimum crop acres associated with the app - */ - - public String getSMinAcre() { - return this.sMinAcre; - } - - public void setSMinAcre(String minAcre) { - this.sMinAcre = minAcre; - } /** * Exits the application. diff --git a/festc_core/src/gov/epa/festc/core/proj/Beld4DataGenFields.java b/festc_core/src/gov/epa/festc/core/proj/Beld4DataGenFields.java index 2bbc37b..cf236d4 100644 --- a/festc_core/src/gov/epa/festc/core/proj/Beld4DataGenFields.java +++ b/festc_core/src/gov/epa/festc/core/proj/Beld4DataGenFields.java @@ -5,7 +5,7 @@ @XmlRootElement(name = "gov.epa.festc.core.proj.Beld4DataGenFields") -public class Beld4DataGenFields extends PageFields{ +public class Beld4DataGenFields extends DomainFields{ private String nlcdYear; private String nlcdFile; private boolean nlcdDataSelected; @@ -15,12 +15,12 @@ public Beld4DataGenFields() { //NOTE: no-op } - public void setNLCDyear(String nlcdYear) { - this.nlcdYear = nlcdYear; - } - public String getNLCDyear() { - return nlcdYear; - } +// public void setNLCDyear(String nlcdYear) { +// this.nlcdYear = nlcdYear; +// } +// public String getNLCDyear() { +// return nlcdYear; +// } public void setNLCDfile(String nlcdFile) { this.nlcdFile = nlcdFile; } diff --git a/festc_core/src/gov/epa/festc/core/proj/DomainFields.java b/festc_core/src/gov/epa/festc/core/proj/DomainFields.java index 870a5b5..050bc25 100644 --- a/festc_core/src/gov/epa/festc/core/proj/DomainFields.java +++ b/festc_core/src/gov/epa/festc/core/proj/DomainFields.java @@ -1,12 +1,20 @@ package gov.epa.festc.core.proj; +import javax.swing.event.ListDataEvent; +import javax.swing.event.ListSelectionEvent; import javax.xml.bind.annotation.XmlRootElement; @XmlRootElement(name = "gov.epa.festc.core.proj.DomainFields") public class DomainFields extends PageFields { - private String simYear; - private String nlcdYear; + protected String simYear; + protected String nlcdYear; + protected String fertYear; + protected String minAcre; + + protected String sSimYear; + protected String sFertYear; + protected String sMinAcre; public String getSimYear() { return simYear; @@ -15,6 +23,17 @@ public String getSimYear() { public String getNlcdYear() { return nlcdYear; } + + public String defaultNlcdYear() { + Integer intSimYear = Integer.parseInt(simYear); + if (intSimYear == null ) nlcdYear = "2006"; + else { + if (intSimYear >= 2011 ) nlcdYear = "2011"; + if (intSimYear < 2011 || intSimYear > 2005 ) nlcdYear = "2006"; + if (intSimYear < 2006 ) nlcdYear = "2001"; + } + return nlcdYear; + } public void setSimYear(String year) { this.simYear = year; @@ -23,7 +42,55 @@ public void setSimYear(String year) { public void setNlcdYear(String year) { this.nlcdYear = year; } + + public String getSSimYear() { + return this.sSimYear; + } + + public void setSSimYear(String year) { + this.sSimYear = year; + } + + /*** + * Sets the fertilizer year associated with the app + */ + + public String getSFertYear() { + return this.sFertYear; + } + + public void setSFertYear(String year) { + this.sFertYear = year; + } + + public String getFertYear() { + return this.fertYear; + } + + public void setFertYear(String year) { + this.fertYear = year; + } + + /*** + * Sets the minimum crop acres associated with the app + */ + + public String getSMinAcre() { + return this.sMinAcre; + } + + public void setSMinAcre(String minAcre) { + this.sMinAcre = minAcre; + } + public String getMinAcre() { + return this.minAcre; + } + + public void setMinAcre(String minAcre) { + this.minAcre = minAcre; + } + @Override public String getName() { // TODO Auto-generated method stub diff --git a/festc_core/src/gov/epa/festc/core/proj/Epic2CMAQFields.java b/festc_core/src/gov/epa/festc/core/proj/Epic2CMAQFields.java index 6dc0804..debf3fa 100644 --- a/festc_core/src/gov/epa/festc/core/proj/Epic2CMAQFields.java +++ b/festc_core/src/gov/epa/festc/core/proj/Epic2CMAQFields.java @@ -5,7 +5,7 @@ import gov.epa.festc.gui.Epic2CMAQPanel; @XmlRootElement(name = "gov.epa.festc.core.proj.Epic2CMAQFields") -public class Epic2CMAQFields extends PageFields{ +public class Epic2CMAQFields extends DomainFields{ private String startdate; private String enddate; diff --git a/festc_core/src/gov/epa/festc/core/proj/EpicAppFields.java b/festc_core/src/gov/epa/festc/core/proj/EpicAppFields.java index 1cd03f9..91cd035 100644 --- a/festc_core/src/gov/epa/festc/core/proj/EpicAppFields.java +++ b/festc_core/src/gov/epa/festc/core/proj/EpicAppFields.java @@ -3,10 +3,10 @@ import javax.xml.bind.annotation.XmlRootElement; @XmlRootElement(name = "gov.epa.festc.core.proj.EpicAppFields") -public class EpicAppFields extends PageFields { +public class EpicAppFields extends DomainFields { private String finishedCrops; - private String simYear; + //private String simYear; private String nDepDir; private String co2Fac; private String runTiledrain; diff --git a/festc_core/src/gov/epa/festc/core/proj/EpicSpinupFields.java b/festc_core/src/gov/epa/festc/core/proj/EpicSpinupFields.java index d16648b..2765ab6 100644 --- a/festc_core/src/gov/epa/festc/core/proj/EpicSpinupFields.java +++ b/festc_core/src/gov/epa/festc/core/proj/EpicSpinupFields.java @@ -3,7 +3,7 @@ import javax.xml.bind.annotation.XmlRootElement; @XmlRootElement(name = "gov.epa.festc.core.proj.EpicSpinupFields") -public class EpicSpinupFields extends PageFields { +public class EpicSpinupFields extends DomainFields { private String finishedCrops; private String nDepDir; diff --git a/festc_core/src/gov/epa/festc/core/proj/EpicYearlyAverage2CMAQFields.java b/festc_core/src/gov/epa/festc/core/proj/EpicYearlyAverage2CMAQFields.java index d40787d..1777dab 100644 --- a/festc_core/src/gov/epa/festc/core/proj/EpicYearlyAverage2CMAQFields.java +++ b/festc_core/src/gov/epa/festc/core/proj/EpicYearlyAverage2CMAQFields.java @@ -3,7 +3,7 @@ import javax.xml.bind.annotation.XmlRootElement; @XmlRootElement(name = "gov.epa.festc.core.proj.EpicYearlyAverage2CMAQFields") -public class EpicYearlyAverage2CMAQFields extends PageFields{ +public class EpicYearlyAverage2CMAQFields extends DomainFields{ private String beld4ncf; diff --git a/festc_core/src/gov/epa/festc/core/proj/ManFileModFields.java b/festc_core/src/gov/epa/festc/core/proj/ManFileModFields.java index 415e406..8c17102 100644 --- a/festc_core/src/gov/epa/festc/core/proj/ManFileModFields.java +++ b/festc_core/src/gov/epa/festc/core/proj/ManFileModFields.java @@ -3,7 +3,7 @@ import javax.xml.bind.annotation.XmlRootElement; @XmlRootElement(name = "gov.epa.festc.core.proj.ManFileModFields") -public class ManFileModFields extends PageFields{ +public class ManFileModFields extends DomainFields{ public ManFileModFields() { //NOTE: no-op diff --git a/festc_core/src/gov/epa/festc/core/proj/ManageAppFields.java b/festc_core/src/gov/epa/festc/core/proj/ManageAppFields.java index 5fc9ec5..49ade39 100644 --- a/festc_core/src/gov/epa/festc/core/proj/ManageAppFields.java +++ b/festc_core/src/gov/epa/festc/core/proj/ManageAppFields.java @@ -3,21 +3,15 @@ import javax.xml.bind.annotation.XmlRootElement; @XmlRootElement(name = "gov.epa.festc.core.proj.ManageAppFields") -public class ManageAppFields extends PageFields { +public class ManageAppFields extends DomainFields { - private String fertYear; + public ManageAppFields() { //NOTE: no-op } - public String getFertYear() { - return fertYear; - } - - public void setFertYear(String fertYear) { - this.fertYear = fertYear; - } + @Override public String getName() { diff --git a/festc_core/src/gov/epa/festc/core/proj/ManageSpinupFields.java b/festc_core/src/gov/epa/festc/core/proj/ManageSpinupFields.java index 8d3d3de..a29d111 100644 --- a/festc_core/src/gov/epa/festc/core/proj/ManageSpinupFields.java +++ b/festc_core/src/gov/epa/festc/core/proj/ManageSpinupFields.java @@ -3,7 +3,7 @@ import javax.xml.bind.annotation.XmlRootElement; @XmlRootElement(name = "gov.epa.festc.core.proj.ManageSpinupFields") -public class ManageSpinupFields extends PageFields { +public class ManageSpinupFields extends DomainFields { private String fertYear; diff --git a/festc_core/src/gov/epa/festc/core/proj/Mcip2EpicFields.java b/festc_core/src/gov/epa/festc/core/proj/Mcip2EpicFields.java index 9d92f9c..006d340 100644 --- a/festc_core/src/gov/epa/festc/core/proj/Mcip2EpicFields.java +++ b/festc_core/src/gov/epa/festc/core/proj/Mcip2EpicFields.java @@ -3,7 +3,7 @@ import javax.xml.bind.annotation.XmlRootElement; @XmlRootElement(name = "gov.epa.festc.core.proj.Mcip2EpicFields") -public class Mcip2EpicFields extends PageFields{ +public class Mcip2EpicFields extends DomainFields{ private String startdate; private String enddate; diff --git a/festc_core/src/gov/epa/festc/core/proj/SiteFilesFields.java b/festc_core/src/gov/epa/festc/core/proj/SiteFilesFields.java index a9f3964..1b42673 100644 --- a/festc_core/src/gov/epa/festc/core/proj/SiteFilesFields.java +++ b/festc_core/src/gov/epa/festc/core/proj/SiteFilesFields.java @@ -3,7 +3,7 @@ import javax.xml.bind.annotation.XmlRootElement; @XmlRootElement(name = "gov.epa.festc.core.proj.SiteFilesFields") -public class SiteFilesFields extends PageFields { +public class SiteFilesFields extends DomainFields { private String minAcres; diff --git a/festc_core/src/gov/epa/festc/core/proj/SiteInfoGenFields.java b/festc_core/src/gov/epa/festc/core/proj/SiteInfoGenFields.java index 6a0939a..f135124 100644 --- a/festc_core/src/gov/epa/festc/core/proj/SiteInfoGenFields.java +++ b/festc_core/src/gov/epa/festc/core/proj/SiteInfoGenFields.java @@ -3,10 +3,9 @@ import javax.xml.bind.annotation.XmlRootElement; @XmlRootElement(name = "gov.epa.festc.core.proj.SiteInfoGenFields") -public class SiteInfoGenFields extends PageFields{ +public class SiteInfoGenFields extends DomainFields{ private String beld4ncf; - private String minAcres; public SiteInfoGenFields() { //NOTE: no-op @@ -19,12 +18,6 @@ public String getBeld4ncf() { return beld4ncf; } - public void setMinAcres(String acres) { - this.minAcres = acres; - } - public String getMinAcres() { - return minAcres; - } @Override public String getName() { diff --git a/festc_core/src/gov/epa/festc/core/proj/SoilFilesFields.java b/festc_core/src/gov/epa/festc/core/proj/SoilFilesFields.java index 664d993..c517ddb 100644 --- a/festc_core/src/gov/epa/festc/core/proj/SoilFilesFields.java +++ b/festc_core/src/gov/epa/festc/core/proj/SoilFilesFields.java @@ -3,7 +3,7 @@ import javax.xml.bind.annotation.XmlRootElement; @XmlRootElement(name = "gov.epa.festc.core.proj.SoilFilesFields") -public class SoilFilesFields extends PageFields { +public class SoilFilesFields extends DomainFields { private String finishedCrops; diff --git a/festc_core/src/gov/epa/festc/gui/Beld4DataGenPanel.java b/festc_core/src/gov/epa/festc/gui/Beld4DataGenPanel.java index 9f62c47..9bed036 100644 --- a/festc_core/src/gov/epa/festc/gui/Beld4DataGenPanel.java +++ b/festc_core/src/gov/epa/festc/gui/Beld4DataGenPanel.java @@ -62,7 +62,7 @@ public class Beld4DataGenPanel extends UtilFieldsPanel implements PlotEventListe private Beld4DataGenFields fields; private JCheckBox nlcdBox; private JCheckBox modisBox; - private JTextField nlcdYear; + private JComboBox nlcdYearBox; private JTextField inputDir; private JButton inputDirBrowser; @@ -114,9 +114,9 @@ private JPanel getCenterPanel() { dataPanel.add(this.modisBox); JPanel yearPanel = new JPanel( ); - nlcdYear = new JTextField(40); - nlcdYear.setEditable(false); - yearPanel.add(nlcdYear); + nlcdYearBox = new JComboBox(Constants.FERTYEARS); + //nlcdYear.setEditable(false); + yearPanel.add(nlcdYearBox); JPanel inputDirPanel = new JPanel(); inputDir = new JTextField(40); @@ -181,7 +181,7 @@ private void generateRunScript() throws Exception { validateGrids(); - String dYear = this.nlcdYear.getText(); + String dYear = (String)this.nlcdYearBox.getSelectedItem(); if ( dYear.trim().isEmpty() ) throw new Exception("NLCD/MODIS data year is empty!"); @@ -353,7 +353,7 @@ private void runScript(final String file) { @Override public void newProjectCreated() { - DomainFields domain = (DomainFields) app.getProject().getPage(DomainFields.class.getCanonicalName()); + domain = (DomainFields) app.getProject().getPage(DomainFields.class.getCanonicalName()); rows.setValue(domain.getRows()); cols.setValue(domain.getCols()); xmin.setValue(domain.getXmin()); @@ -363,8 +363,9 @@ public void newProjectCreated() { proj4proj.setText(domain.getProj()); gridName.setText(domain.getGridName()); scenarioDir.setText(domain.getScenarioDir()); - String nlcdY = domain.getNlcdYear()==null? "2006":domain.getNlcdYear(); - nlcdYear.setText(nlcdY); + String nlcdY = domain.getNlcdYear()==null? domain.defaultNlcdYear():domain.getNlcdYear(); +// Integer index = nlcdYear.getItemCount(); +// nlcdYear.setSelectedItem(index); String sahome = Constants.getProperty(Constants.SA_HOME, msg); inputDir.setText(sahome.trim() + "/data/nlcd_modis_files_" + nlcdY + ".txt"); @@ -377,6 +378,7 @@ public void newProjectCreated() { @Override public void projectLoaded() { + //domain = (DomainFields) app.getProject().getPage(DomainFields.class.getCanonicalName()); fields = (Beld4DataGenFields) app.getProject().getPage(fields.getName()); if( fields != null ) { this.scenarioDir.setText(fields.getScenarioDir()); @@ -390,7 +392,8 @@ public void projectLoaded() { ySize.setValue(fields.getYcellSize()); proj4proj.setText(fields.getProj()); gridName.setText(fields.getGridName()); - nlcdYear.setText(fields.getNLCDyear()); + nlcdYearBox.setSelectedItem(fields.getNlcdYear()==null? fields.defaultNlcdYear():fields.getNlcdYear()); + inputDir.setText(fields.getNLCDfile()); nlcdBox.setSelected(fields.isNlcdDataSelected()); modisBox.setSelected(fields.isModisDataSelected()); @@ -416,9 +419,9 @@ public void saveProjectRequested() { if ( nlcdBox != null ) fields.setNlcdDataSelected(nlcdBox.isSelected()); if ( modisBox != null ) fields.setModisDataSelected(modisBox.isSelected()); - if ( nlcdYear != null ) { - String dYear = this.nlcdYear.getText(); - fields.setNLCDyear(dYear); + if ( nlcdYearBox != null ) { + String dYear = (String) this.nlcdYearBox.getSelectedItem(); + fields.setNlcdYear(dYear); } if ( inputDir != null ) fields.setNLCDfile(inputDir.getText().trim()); diff --git a/festc_core/src/gov/epa/festc/gui/CreateAppManFilesPanel.java b/festc_core/src/gov/epa/festc/gui/CreateAppManFilesPanel.java index 3b63fc3..17c0170 100644 --- a/festc_core/src/gov/epa/festc/gui/CreateAppManFilesPanel.java +++ b/festc_core/src/gov/epa/festc/gui/CreateAppManFilesPanel.java @@ -127,9 +127,9 @@ private void generateRunScript() throws Exception { if ( fYear.trim().isEmpty() ) throw new Exception("Please select fertilizer year!"); - String sFYear = app.getSFertYear(); + String sFYear = fields.getSFertYear(); if (sFYear == null || sFYear.trim().isEmpty()) { - app.setSFertYear(fYear); + fields.setSFertYear(fYear); sFYear = fYear; } @@ -334,7 +334,7 @@ public void projectLoaded() { public void saveProjectRequested() { if ( scenarioDir != null ) fields.setScenarioDir(scenarioDir.getText()); - if ( fertYearSel != null ) fields.setFertYear((String) fertYearSel.getSelectedItem()); + //if ( fertYearSel != null ) fields.setFertYear((String) fertYearSel.getSelectedItem()); if ( runMessages != null ) fields.setMessage(runMessages.getText()); } } diff --git a/festc_core/src/gov/epa/festc/gui/CreateSiteInfoPanel.java b/festc_core/src/gov/epa/festc/gui/CreateSiteInfoPanel.java index 4c1ba63..3c4028f 100644 --- a/festc_core/src/gov/epa/festc/gui/CreateSiteInfoPanel.java +++ b/festc_core/src/gov/epa/festc/gui/CreateSiteInfoPanel.java @@ -160,17 +160,11 @@ private void generateRunScript() throws Exception { String minAcres = minAcreas.getText(); if (minAcres == null || minAcres.isEmpty()) - throw new Exception("Minimum Crop Acres is not specified!"); - - String sMAcres = app.getSMinAcre(); - if (sMAcres == null || sMAcres.trim().isEmpty()) { - app.setSMinAcre(minAcres); - sMAcres = minAcres; - } - else if (sMAcres != null && !sMAcres.trim().isEmpty() - && !sMAcres.endsWith(minAcres) && app.allowDiffCheck() ) - throw new Exception("Current minimum acre is inconsistent with previous one (" + sMAcres + ")"); + throw new Exception("Minimum Crop Acres is not specified!"); + fields.setMinAcre(minAcres); + fields.setSMinAcre(minAcres); + try { Float.parseFloat(minAcres); }catch(NumberFormatException e) { @@ -368,13 +362,14 @@ public void newProjectCreated() { public void projectLoaded() { Beld4DataGenFields beld4fields = (Beld4DataGenFields) app.getProject().getPage(Beld4DataGenFields.class.getName()); fields = (SiteInfoGenFields) app.getProject().getPage(fields.getName()); + //domain = (DomainFields) app.getProject().getPage(DomainFields.class.getCanonicalName()); if( fields != null ) { this.scenarioDir.setText(fields.getScenarioDir()); if ((fields.getBeld4ncf()==null || fields.getBeld4ncf().trim().isEmpty() ) && beld4fields != null) { String scenDir = fields.getScenarioDir().trim(); String gridName = fields.getGridName().trim(); - String year = beld4fields.getNLCDyear().trim(); + String year = domain.getNlcdYear().trim(); String beld4file = scenDir + "/share_data/beld4_" + gridName + "_" + year +".nc"; //System.out.println(beld4file); // File f = new File(beld4file); @@ -395,7 +390,7 @@ public void projectLoaded() { ySize.setValue(fields.getYcellSize()); proj4proj.setText(fields.getProj()); gridName.setText(fields.getGridName()); - minAcreas.setText(fields.getMinAcres()==null? "40.0":fields.getMinAcres()); + minAcreas.setText(fields.getMinAcre()==null? "40.0":fields.getMinAcre()); }else { newProjectCreated(); @@ -416,7 +411,8 @@ public void saveProjectRequested() { if ( proj4proj != null ) fields.setProj(proj4proj.getText() == null? "" : proj4proj.getText()); if ( gridName != null ) fields.setGridName(gridName.getText()== null? "" : gridName.getText()); if ( runMessages != null ) fields.setMessage(runMessages.getText()); - if ( minAcreas != null) fields.setMinAcres(minAcreas.getText()); + if ( minAcreas != null) fields.setMinAcre(minAcreas.getText()); + if ( minAcreas != null) fields.setSMinAcre(minAcreas.getText()); } } diff --git a/festc_core/src/gov/epa/festc/gui/CreateSpinupManFilesPanel.java b/festc_core/src/gov/epa/festc/gui/CreateSpinupManFilesPanel.java index 7eb0947..0d8636d 100644 --- a/festc_core/src/gov/epa/festc/gui/CreateSpinupManFilesPanel.java +++ b/festc_core/src/gov/epa/festc/gui/CreateSpinupManFilesPanel.java @@ -118,18 +118,13 @@ private void generateRunScript() throws Exception { throw new Exception("Please select scenario dir first!"); String fYear = (String) this.fertYearSel.getSelectedItem(); + if ( fYear.trim().isEmpty() ) throw new Exception("Please select fertilizer year!"); - - String sFYear = app.getSFertYear(); - if (sFYear == null || sFYear.trim().isEmpty()) { - app.setSFertYear(fYear); - sFYear = fYear; - } - else if (sFYear != null && !sFYear.trim().isEmpty() - && !sFYear.endsWith(fYear) && app.allowDiffCheck()) - throw new Exception("Current land use year is inconsistent with previous one (" + sFYear + ")"); - //System.out.println("sfYear: " + sFYear + " " + fYear); + + fields.setFertYear(fYear); + fields.setSFertYear(fYear); + String seCropsString = cropSelectionPanel.selectedItemTostring(); //System.out.println(); String[] seCrops = cropSelectionPanel.getSelectedCrops(); diff --git a/festc_core/src/gov/epa/festc/gui/DomainPanel.java b/festc_core/src/gov/epa/festc/gui/DomainPanel.java index fedfee5..5a66cb4 100644 --- a/festc_core/src/gov/epa/festc/gui/DomainPanel.java +++ b/festc_core/src/gov/epa/festc/gui/DomainPanel.java @@ -132,7 +132,6 @@ public void validateFields() throws Exception{ throw new Exception("Simulation year is not a number."); } - String scemN = scenaName.getText() == null ? "" : scenaName.getText(); if (scemN.trim().isEmpty()) throw new Exception(" New scenario name is empty."); diff --git a/festc_core/src/gov/epa/festc/gui/Epic2CMAQPanel.java b/festc_core/src/gov/epa/festc/gui/Epic2CMAQPanel.java index 556eeef..05110dd 100644 --- a/festc_core/src/gov/epa/festc/gui/Epic2CMAQPanel.java +++ b/festc_core/src/gov/epa/festc/gui/Epic2CMAQPanel.java @@ -400,7 +400,7 @@ public void saveProjectRequested() { @Override public void newProjectCreated() { - DomainFields domain = (DomainFields) app.getProject().getPage(DomainFields.class.getCanonicalName()); + domain = (DomainFields) app.getProject().getPage(DomainFields.class.getCanonicalName()); scenarioDir.setText(domain.getScenarioDir()); rows.setValue(domain.getRows()); cols.setValue(domain.getCols()); diff --git a/festc_core/src/gov/epa/festc/gui/EpicRunAppPanel.java b/festc_core/src/gov/epa/festc/gui/EpicRunAppPanel.java index b128ff7..eb1f8af 100644 --- a/festc_core/src/gov/epa/festc/gui/EpicRunAppPanel.java +++ b/festc_core/src/gov/epa/festc/gui/EpicRunAppPanel.java @@ -195,12 +195,9 @@ private void generateRunScript() throws Exception { throw new Exception( "Simulation year is not an integer!"); } - String sSimYear = app.getSSimYear(); - if (sSimYear == null || sSimYear.trim().isEmpty()) { - app.setSSimYear(sSimYear); - sSimYear = simY; - } - else if (sSimYear != null && !sSimYear.trim().isEmpty() + String sSimYear = fields.getSSimYear(); + + if (sSimYear != null && !sSimYear.trim().isEmpty() && !sSimYear.endsWith(simY) && app.allowDiffCheck()) throw new Exception("Current modeling year is inconsistent with previous one (" + sSimYear + ")"); diff --git a/festc_core/src/gov/epa/festc/gui/EpicYearlyAverage2CMAQPanel.java b/festc_core/src/gov/epa/festc/gui/EpicYearlyAverage2CMAQPanel.java index 072460c..08d6f67 100644 --- a/festc_core/src/gov/epa/festc/gui/EpicYearlyAverage2CMAQPanel.java +++ b/festc_core/src/gov/epa/festc/gui/EpicYearlyAverage2CMAQPanel.java @@ -324,23 +324,24 @@ private void runScript(final String file) { public void projectLoaded() { fields = (EpicYearlyAverage2CMAQFields)app.getProject().getPage(fields.getName()); Beld4DataGenFields beld4fields = (Beld4DataGenFields) app.getProject().getPage(Beld4DataGenFields.class.getName()); - + domain = (DomainFields) app.getProject().getPage(DomainFields.class.getCanonicalName()); + if ( fields != null ){ - this.scenarioDir.setText(fields.getScenarioDir()); - rows.setValue(fields.getRows()); - cols.setValue(fields.getCols()); - xSize.setValue(fields.getXcellSize()); - ySize.setValue(fields.getYcellSize()); - xmin.setValue(fields.getXmin()); - ymin.setValue(fields.getYmin()); - proj4proj.setText(fields.getProj()); - gridName.setText(fields.getGridName()); + this.scenarioDir.setText(domain.getScenarioDir()); + rows.setValue(domain.getRows()); + cols.setValue(domain.getCols()); + xSize.setValue(domain.getXcellSize()); + ySize.setValue(domain.getYcellSize()); + xmin.setValue(domain.getXmin()); + ymin.setValue(domain.getYmin()); + proj4proj.setText(domain.getProj()); + gridName.setText(domain.getGridName()); runMessages.setText(fields.getMessage()); if ((fields.getBeld4ncf()==null || fields.getBeld4ncf().trim().isEmpty() ) && beld4fields != null) { String scenDir = fields.getScenarioDir().trim(); String gridName = fields.getGridName().trim(); - String year = beld4fields.getNLCDyear().trim(); + String year = domain.getNlcdYear().trim(); String beld4file = scenDir + "/share_data/beld4_" + gridName + "_" + year +".nc"; //System.out.println(beld4file); // File f = new File(beld4file); @@ -375,7 +376,7 @@ public void saveProjectRequested() { @Override public void newProjectCreated() { - DomainFields domain = (DomainFields) app.getProject().getPage(DomainFields.class.getCanonicalName()); + domain = (DomainFields) app.getProject().getPage(DomainFields.class.getCanonicalName()); String scenDir = domain.getScenarioDir().trim(); String gName = domain.getGridName().trim(); diff --git a/festc_core/src/gov/epa/festc/gui/UtilFieldsPanel.java b/festc_core/src/gov/epa/festc/gui/UtilFieldsPanel.java index b5d51d0..e00a35d 100644 --- a/festc_core/src/gov/epa/festc/gui/UtilFieldsPanel.java +++ b/festc_core/src/gov/epa/festc/gui/UtilFieldsPanel.java @@ -1,5 +1,6 @@ package gov.epa.festc.gui; +import gov.epa.festc.core.proj.DomainFields; import gov.epa.festc.util.Constants; import gov.epa.festc.util.SpringLayoutGenerator; @@ -38,6 +39,7 @@ public class UtilFieldsPanel extends JPanel { protected JComboBox fertYearSel; protected JTextArea runMessages; + protected DomainFields domain; protected String outMessages = "Job messages: \n"; protected String ls = "\n"; diff --git a/festc_core/src/gov/epa/festc/gui/UtilGenerateSiteFilesPanel.java b/festc_core/src/gov/epa/festc/gui/UtilGenerateSiteFilesPanel.java index ce01b6c..a36ffa0 100644 --- a/festc_core/src/gov/epa/festc/gui/UtilGenerateSiteFilesPanel.java +++ b/festc_core/src/gov/epa/festc/gui/UtilGenerateSiteFilesPanel.java @@ -104,12 +104,9 @@ private void generateRunScript() throws Exception { if (minAcres == null || minAcres.isEmpty()) throw new Exception("Minimum Crop Acres is not specified!"); - String sMAcres = app.getSMinAcre(); - if (sMAcres == null || sMAcres.trim().isEmpty()) { - app.setSMinAcre(minAcres); - sMAcres = minAcres; - } - else if (sMAcres != null && !sMAcres.trim().isEmpty() + String sMAcres = fields.getSMinAcre(); + + if (sMAcres != null && !sMAcres.trim().isEmpty() && !sMAcres.endsWith(minAcres) && app.allowDiffCheck()) throw new Exception("Current minimum acre is inconsistent with previous one (" + sMAcres + ")"); @@ -313,7 +310,7 @@ public void projectLoaded() { public void saveProjectRequested() { if ( scenarioDir != null ) fields.setScenarioDir(scenarioDir.getText()); if ( runMessages != null ) fields.setMessage(runMessages.getText()); - if ( minAcreas != null) fields.setMinAcres(minAcreas.getText()); + //if ( minAcreas != null) fields.setMinAcres(minAcreas.getText()); } @Override diff --git a/festc_core/src/gov/epa/festc/util/Constants.java b/festc_core/src/gov/epa/festc/util/Constants.java index 2083549..413f179 100644 --- a/festc_core/src/gov/epa/festc/util/Constants.java +++ b/festc_core/src/gov/epa/festc/util/Constants.java @@ -43,7 +43,7 @@ public class Constants { public static final String SOIL_MATCH = "Soil Match for EPIC Spinup"; public static final String MAN_SPINUP = "Management File Generation for Spinup"; public static final String EDIT_INFILES = "View/Edit EPIC Inputs"; - public static final String[] FERTYEARS = new String[] {"2001", "2006"}; + public static final String[] FERTYEARS = new String[] {"2001", "2006", "2011"}; public static final String[] NDEPS = new String[] {"CMAQ", "EPIC parameter input file", "2002-2006 5-year CMAQ average", "2006-2010 5-year CMAQ average"};