diff --git a/scripts/compilePlum.sh b/scripts/compilePlum.sh index 4e4ed6a5297f967f6243a8131d566aec80cfc10e..15f88eb3ae4dd4ae9ee6f7c66c73cdcf723f9702 100755 --- a/scripts/compilePlum.sh +++ b/scripts/compilePlum.sh @@ -6,5 +6,5 @@ echo "Building version: $buildver" echo "$buildver" > ../classes/buildver -javac -J-Xmx1g -cp .:/exports/csce/eddie/geos/groups/LURG/models/gams/gams24.7_linux_x64_64_sfx/apifiles/Java/api/GAMSJavaAPI.jar ./src/ac/ed/lurg/*.java ./src/ac/ed/lurg/country/*.java ./src/ac/ed/lurg/country/gams/*.java ./src/ac/ed/lurg/demand/*.java ./src/ac/ed/lurg/landuse/*.java ./src/ac/ed/lurg/output/*.java ./src/ac/ed/lurg/types/*.java ./src/ac/ed/lurg/utils/*.java ./src/ac/ed/lurg/yield/*.java ./src/ac/sac/raster/*.java -d ../classes +javac -J-Xmx1g -cp .:/exports/csce/eddie/geos/groups/LURG/models/gams/gams24.7_linux_x64_64_sfx/apifiles/Java/api/GAMSJavaAPI.jar ./src/ac/ed/lurg/*.java ./src/ac/ed/lurg/country/*.java ./src/ac/ed/lurg/country/gams/*.java ./src/ac/ed/lurg/demand/*.java ./src/ac/ed/lurg/landuse/*.java ./src/ac/ed/lurg/output/*.java ./src/ac/ed/lurg/types/*.java ./src/ac/ed/lurg/utils/*.java ./src/ac/ed/lurg/yield/*.java ./src/ac/sac/raster/*.java ./src/ac/ed/lurg/utils/cluster/*.java -d ../classes diff --git a/scripts/createHindScenarios.sh b/scripts/createHindScenarios.sh new file mode 100755 index 0000000000000000000000000000000000000000..7aa8def79a7ba444eb55777a9fb2edb30cea2621 --- /dev/null +++ b/scripts/createHindScenarios.sh @@ -0,0 +1,59 @@ +#!/bin/sh + +filename="$1" +common_calib_file=/exports/csce/eddie/geos/groups/LURG/models/PLUM/output/hind1970/common_p_calib.txt +common_run_file=/exports/csce/eddie/geos/groups/LURG/models/PLUM/output/hind1970/common_p_run.txt +output_dir=/exports/csce/eddie/geos/groups/LURG/models/PLUM/output/hind1970 + +if [[ $* == *-O* ]]; then overwrite=1 +else overwrite=0 +fi + +if [ "$#" -lt 1 ]; then + echo "Need to specify scenario table file" + exit +fi + +echo "Generating scenarios into $output_dir" + +while read -r datarow +do + IFS=',' read -r -a array <<< "$datarow" + + if [ -z "$header" ]; then + header=( "${array[@]}" ) + else + scenario="${array[0]}" + scenario_dir=$output_dir/$scenario + echo "$scenario in $scenario_dir" + if [ ! -d "$scenario_dir" ]; then + mkdir $scenario_dir + mkdir $scenario_dir/calib + elif [ $overwrite -ne 1 ]; then + echo "Already have scenario $scenario, set -O to overwrite existing scenarios" + continue; + fi + + calib_config_file=$scenario_dir/calib/config.properties + cp $common_calib_file $calib_config_file + echo "OUTPUT_DIR=$scenario_dir/calib" >> $calib_config_file + + for index in "${!array[@]}" + do + echo "${header[index]}"="${array[index]}" >> $calib_config_file + done + + run_config_file=$scenario_dir/config.properties + cp $common_run_file $run_config_file + echo "OUTPUT_DIR=$scenario_dir" >> $run_config_file + echo "SERIALIZED_LAND_USE_FILE=$scenario_dir/calib/landUseRaster.ser" >> $run_config_file + + for index in "${!array[@]}" + do + echo "${header[index]}"="${array[index]}" >> $run_config_file + done + + echo "$scenario generated" + fi +done < $filename + diff --git a/scripts/runCalibAndPlum.sh b/scripts/runCalibAndPlum.sh new file mode 100755 index 0000000000000000000000000000000000000000..8f3b8f89523dff48dbc56d9f56664143973a6d07 --- /dev/null +++ b/scripts/runCalibAndPlum.sh @@ -0,0 +1,12 @@ +#!/bin/sh + +if [ $# -ne 1 ]; then + echo need 1 argument to specify config/output directory + exit 0 +fi + +jobName=${1//\/}c # remove slash from path as qsub doesnt allow it +echo $jobName + +qsub -N $jobName /exports/csce/eddie/geos/groups/LURG/models/PLUM/plumv2/scripts/runPlum.sh $1/calib +qsub -hold_jid $jobName /exports/csce/eddie/geos/groups/LURG/models/PLUM/plumv2/scripts/runPlum.sh $1 diff --git a/src/ac/ed/lurg/utils/LogWriter.java b/src/ac/ed/lurg/utils/LogWriter.java index e754cf136d0da836dd53b353c3ffa31492928d08..f0f4d1733a70933f812579587e425934ca469ad5 100644 --- a/src/ac/ed/lurg/utils/LogWriter.java +++ b/src/ac/ed/lurg/utils/LogWriter.java @@ -44,7 +44,7 @@ public class LogWriter { private LogWriter(String outputFileName) { try { File f = new File(outputFileName); - if(f.exists()) + if(f.getParentFile().exists()) logFile = new PrintWriter(new BufferedWriter(new FileWriter(outputFileName,false))); else System.err.println("LogWriter: outputFileName: " + outputFileName + " not found. Perhaps not set config file properly");