From b6c0e1b1c0b03db7fa587d6742a676c2ba8a2fee Mon Sep 17 00:00:00 2001 From: Peter Alexander <peter@blackhillock.co.uk> Date: Thu, 6 Aug 2015 09:39:20 +0100 Subject: [PATCH] Output error marker file --- src/ac/ed/lurg/ModelMain.java | 11 +++++-- src/ac/ed/lurg/output/LpjgOutputer.java | 29 ++++++++++++------- .../raster/AbstractTabularRasterReader.java | 1 - 3 files changed, 27 insertions(+), 14 deletions(-) diff --git a/src/ac/ed/lurg/ModelMain.java b/src/ac/ed/lurg/ModelMain.java index 54c1b213..32621d3f 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 72e08c80..57135349 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 fe20b043..03988c24 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(); -- GitLab