diff --git a/src/ac/ed/lurg/ModelMain.java b/src/ac/ed/lurg/ModelMain.java index 54c1b213683e7cade9c4544cbedcdf1845e88c70..32621d3f96913c677e0c66c94a68c849b1dcd754 100644 --- a/src/ac/ed/lurg/ModelMain.java +++ b/src/ac/ed/lurg/ModelMain.java @@ -65,8 +65,15 @@ public class ModelMain { /* run the model */ private void run() { - for (int i = ModelConfig.START_TIMESTEP; i <= ModelConfig.END_TIMESTEP; i++) - doTimestep(i); + for (int i = ModelConfig.START_TIMESTEP; i <= ModelConfig.END_TIMESTEP; i++) { + try { + doTimestep(i); + } + catch (Exception e) { + LpjgOutputer.writeMarkerFile(ModelConfig.BASE_YEAR + i, true); + throw new RuntimeException(e); + } + } } private void doTimestep(int timestep) { diff --git a/src/ac/ed/lurg/output/LpjgOutputer.java b/src/ac/ed/lurg/output/LpjgOutputer.java index 72e08c80e9e3fc6b450767622e54cfec336855c6..571353493db74128394dd47b4a1ee09eaa669c0b 100644 --- a/src/ac/ed/lurg/output/LpjgOutputer.java +++ b/src/ac/ed/lurg/output/LpjgOutputer.java @@ -33,22 +33,29 @@ public class LpjgOutputer { } public void writeOutput() { - String outputDirName = ModelConfig.OUTPUT_DIR + File.separator + year; + File outputDir = getOutputDir(year); + + writeLandCoverAndCrop(outputDir); + writeIntensity(outputDir); + writeMarkerFile(year, false); + } + + private static File getOutputDir(int yr) { + String outputDirName = ModelConfig.OUTPUT_DIR + File.separator + yr; File outputDir = new File(outputDirName); outputDir.mkdirs(); - - writeLandCoverAndCrop(outputDirName); - writeIntensity(outputDirName); - writeMarkerFile(outputDirName, false); + return outputDir; } - private void writeIntensity(String outputDirName) { + private void writeIntensity(File outputDir) { // TODO Auto-generated method stub } - private void writeMarkerFile(String outputDirName, boolean errorStatus) { - File markerFile = new File(outputDirName + File.separator + (errorStatus ? "error" : "done")); + public static void writeMarkerFile(int year, boolean errorStatus) { + File outputDir = getOutputDir(year); + + File markerFile = new File(outputDir.getPath() + File.separator + (errorStatus ? "error" : "done")); try { if (!markerFile.exists()) @@ -60,17 +67,17 @@ public class LpjgOutputer { } } - public void writeLandCoverAndCrop(String outputDir) { + public void writeLandCoverAndCrop(File outputDir) { BufferedWriter landCoverWriter = null; BufferedWriter cropFractWriter = null; try { - String landCoverFileName = outputDir + File.separator + "LandCoverFract.txt"; + String landCoverFileName = outputDir.getPath() + File.separator + "LandCoverFract.txt"; landCoverWriter = new BufferedWriter(new FileWriter(landCoverFileName, false)); landCoverWriter.write("Lon Lat CROPLAND PASTURE NATURAL BARREN"); landCoverWriter.newLine(); - String cropFractionFileName = outputDir + File.separator + "CropFract.txt"; + String cropFractionFileName = outputDir.getPath() + File.separator + "CropFract.txt"; cropFractWriter = new BufferedWriter(new FileWriter(cropFractionFileName, false)); cropFractWriter.write("Lon Lat TeWWirr TeSWirr TeCoirr TrRiirr"); cropFractWriter.newLine(); diff --git a/src/ac/sac/raster/AbstractTabularRasterReader.java b/src/ac/sac/raster/AbstractTabularRasterReader.java index fe20b04397bfbb27b822ea3ab2fbb95db101eafc..03988c244788a6d24476e62cb207e58e5c189f25 100644 --- a/src/ac/sac/raster/AbstractTabularRasterReader.java +++ b/src/ac/sac/raster/AbstractTabularRasterReader.java @@ -40,7 +40,6 @@ public abstract class AbstractTabularRasterReader<D extends RasterItem> { return headertokens; } - public RasterSet<D> getRasterDataFromFile(String filename) { long startTime = System.currentTimeMillis();