From davidk at ci.uchicago.edu Mon Mar 3 15:59:05 2014 From: davidk at ci.uchicago.edu (davidk at ci.uchicago.edu) Date: Mon, 3 Mar 2014 15:59:05 -0600 (CST) Subject: [Swift-commit] r7627 - branches/release-0.95/bin Message-ID: <20140303215905.63AD09D116@svn.ci.uchicago.edu> Author: davidk Date: 2014-03-03 15:59:05 -0600 (Mon, 03 Mar 2014) New Revision: 7627 Modified: branches/release-0.95/bin/start-coaster-service Log: Start SSH workers in parallel Modified: branches/release-0.95/bin/start-coaster-service =================================================================== --- branches/release-0.95/bin/start-coaster-service 2014-02-28 20:52:39 UTC (rev 7626) +++ branches/release-0.95/bin/start-coaster-service 2014-03-03 21:59:05 UTC (rev 7627) @@ -1,4 +1,4 @@ -#!/bin/bash +#!/bin/bash # Report a problem and exit crash() @@ -23,6 +23,7 @@ done } +# Run command, log, and wait for completion run_command() { command="$@" @@ -30,6 +31,7 @@ $command >> $LOG 2>&1 } +# Log and run command in background run_command_bg() { command="$@" @@ -41,6 +43,8 @@ # Start SSH workers start-workers-ssh() { + waitpids="" + for MACHINE in $WORKER_HOSTS do # Enable ssh tunneling if needed @@ -49,11 +53,15 @@ fi # Connect directly - run_command ssh $WORKER_USERNAME@$MACHINE mkdir -p $WORKER_LOCATION - run_command scp $WORKER $WORKER_USERNAME@$MACHINE:$WORKER_LOCATION echo Starting worker on $MACHINE - run_command_bg ssh $WORKER_USERNAME@$MACHINE "WORKER_LOGGING_LEVEL=$WORKER_LOGGING_LEVEL $WORKER_LOCATION/worker.pl $WORKERURL $MACHINE $WORKER_LOG_DIR" + ( + run_command ssh $WORKER_USERNAME@$MACHINE "mkdir -p $WORKER_LOCATION && mkdir -p $WORKER_LOG_DIR" ; + run_command scp $WORKER $WORKER_USERNAME@$MACHINE:$WORKER_LOCATION ; + run_command ssh $WORKER_USERNAME@$MACHINE "WORKER_LOGGING_LEVEL=$WORKER_LOGGING_LEVEL nohup $WORKER_LOCATION/worker.pl $WORKERURL $MACHINE $WORKER_LOG_DIR &> /dev/null &" + ) & + waitpids="$waitpids $!" done + wait $waitpids return 0 } @@ -176,7 +184,8 @@ echo Local port: $LOCAL_PORT # Generate sites.xml -export EXECUTIONURL="http://$IPADDR:$SERVICE_PORT" +export SERVICEURL="http://$IPADDR:$SERVICE_PORT" +export EXECUTIONURL="$SERVICEURL" export WORKERURL="http://$IPADDR:$LOCAL_PORT" echo Generating sites.xml From davidk at ci.uchicago.edu Mon Mar 3 16:22:30 2014 From: davidk at ci.uchicago.edu (davidk at ci.uchicago.edu) Date: Mon, 3 Mar 2014 16:22:30 -0600 (CST) Subject: [Swift-commit] r7628 - trunk/bin Message-ID: <20140303222230.AF74B9D116@svn.ci.uchicago.edu> Author: davidk Date: 2014-03-03 16:22:30 -0600 (Mon, 03 Mar 2014) New Revision: 7628 Modified: trunk/bin/start-coaster-service Log: scs updates from 095 Modified: trunk/bin/start-coaster-service =================================================================== --- trunk/bin/start-coaster-service 2014-03-03 21:59:05 UTC (rev 7627) +++ trunk/bin/start-coaster-service 2014-03-03 22:22:30 UTC (rev 7628) @@ -1,4 +1,4 @@ -#!/bin/bash +#!/bin/bash # Report a problem and exit crash() @@ -23,6 +23,7 @@ done } +# Run command, log, and wait for completion run_command() { command="$@" @@ -30,6 +31,7 @@ $command >> $LOG 2>&1 } +# Log and run command in background run_command_bg() { command="$@" @@ -41,6 +43,8 @@ # Start SSH workers start-workers-ssh() { + waitpids="" + for MACHINE in $WORKER_HOSTS do # Enable ssh tunneling if needed @@ -49,11 +53,15 @@ fi # Connect directly - run_command ssh $WORKER_USERNAME@$MACHINE mkdir -p $WORKER_LOCATION - run_command scp $WORKER $WORKER_USERNAME@$MACHINE:$WORKER_LOCATION echo Starting worker on $MACHINE - run_command_bg ssh $WORKER_USERNAME@$MACHINE "WORKER_LOGGING_LEVEL=$WORKER_LOGGING_LEVEL $WORKER_LOCATION/worker.pl $WORKERURL $MACHINE $WORKER_LOG_DIR" + ( + run_command ssh $WORKER_USERNAME@$MACHINE "mkdir -p $WORKER_LOCATION && mkdir -p $WORKER_LOG_DIR" ; + run_command scp $WORKER $WORKER_USERNAME@$MACHINE:$WORKER_LOCATION ; + run_command ssh $WORKER_USERNAME@$MACHINE "WORKER_LOGGING_LEVEL=$WORKER_LOGGING_LEVEL nohup $WORKER_LOCATION/worker.pl $WORKERURL $MACHINE $WORKER_LOG_DIR &> /dev/null &" + ) & + waitpids="$waitpids $!" done + wait $waitpids return 0 } @@ -176,7 +184,8 @@ echo Local port: $LOCAL_PORT # Generate sites.xml -export EXECUTIONURL="http://$IPADDR:$SERVICE_PORT" +export SERVICEURL="http://$IPADDR:$SERVICE_PORT" +export EXECUTIONURL="$SERVICEURL" export WORKERURL="http://$IPADDR:$LOCAL_PORT" echo Generating sites.xml From ketan at ci.uchicago.edu Mon Mar 3 16:29:57 2014 From: ketan at ci.uchicago.edu (ketan at ci.uchicago.edu) Date: Mon, 3 Mar 2014 16:29:57 -0600 (CST) Subject: [Swift-commit] r7629 - SwiftApps/cloud Message-ID: <20140303222957.05DF89D116@svn.ci.uchicago.edu> Author: ketan Date: 2014-03-03 16:29:56 -0600 (Mon, 03 Mar 2014) New Revision: 7629 Modified: SwiftApps/cloud/add.py Log: small change Modified: SwiftApps/cloud/add.py =================================================================== --- SwiftApps/cloud/add.py 2014-03-03 22:22:30 UTC (rev 7628) +++ SwiftApps/cloud/add.py 2014-03-03 22:29:56 UTC (rev 7629) @@ -2,3 +2,7 @@ # Add cloud resources to existing pool +#1. Start the number of instances requested by user + +#2. Send and start worker manually on those instances + From ketan at ci.uchicago.edu Tue Mar 4 10:22:15 2014 From: ketan at ci.uchicago.edu (ketan at ci.uchicago.edu) Date: Tue, 4 Mar 2014 10:22:15 -0600 (CST) Subject: [Swift-commit] r7630 - SwiftApps/cloud Message-ID: <20140304162215.E08349D988@svn.ci.uchicago.edu> Author: ketan Date: 2014-03-04 10:22:14 -0600 (Tue, 04 Mar 2014) New Revision: 7630 Added: SwiftApps/cloud/addnodes SwiftApps/cloud/monitor SwiftApps/cloud/rem Removed: SwiftApps/cloud/add.py SwiftApps/cloud/monitor.py SwiftApps/cloud/rem.py SwiftApps/cloud/startup.py Log: renames and cleanup Deleted: SwiftApps/cloud/add.py =================================================================== --- SwiftApps/cloud/add.py 2014-03-03 22:29:56 UTC (rev 7629) +++ SwiftApps/cloud/add.py 2014-03-04 16:22:14 UTC (rev 7630) @@ -1,8 +0,0 @@ -#!/usr/bin/env python - -# Add cloud resources to existing pool - -#1. Start the number of instances requested by user - -#2. Send and start worker manually on those instances - Copied: SwiftApps/cloud/addnodes (from rev 7629, SwiftApps/cloud/add.py) =================================================================== --- SwiftApps/cloud/addnodes (rev 0) +++ SwiftApps/cloud/addnodes 2014-03-04 16:22:14 UTC (rev 7630) @@ -0,0 +1,8 @@ +#!/usr/bin/env python + +# Add cloud resources to existing pool + +#1. Start the number of instances requested by user + +#2. Send and start worker manually on those instances + Copied: SwiftApps/cloud/monitor (from rev 7627, SwiftApps/cloud/monitor.py) =================================================================== --- SwiftApps/cloud/monitor (rev 0) +++ SwiftApps/cloud/monitor 2014-03-04 16:22:14 UTC (rev 7630) @@ -0,0 +1,4 @@ +#!/usr/bin/env python + +# Add cloud resources to existing pool + Deleted: SwiftApps/cloud/monitor.py =================================================================== --- SwiftApps/cloud/monitor.py 2014-03-03 22:29:56 UTC (rev 7629) +++ SwiftApps/cloud/monitor.py 2014-03-04 16:22:14 UTC (rev 7630) @@ -1,4 +0,0 @@ -#!/usr/bin/env python - -# Add cloud resources to existing pool - Copied: SwiftApps/cloud/rem (from rev 7627, SwiftApps/cloud/rem.py) =================================================================== --- SwiftApps/cloud/rem (rev 0) +++ SwiftApps/cloud/rem 2014-03-04 16:22:14 UTC (rev 7630) @@ -0,0 +1,4 @@ +#!/usr/bin/env python + +# Add cloud resources to existing pool + Deleted: SwiftApps/cloud/rem.py =================================================================== --- SwiftApps/cloud/rem.py 2014-03-03 22:29:56 UTC (rev 7629) +++ SwiftApps/cloud/rem.py 2014-03-04 16:22:14 UTC (rev 7630) @@ -1,4 +0,0 @@ -#!/usr/bin/env python - -# Add cloud resources to existing pool - Deleted: SwiftApps/cloud/startup.py =================================================================== --- SwiftApps/cloud/startup.py 2014-03-03 22:29:56 UTC (rev 7629) +++ SwiftApps/cloud/startup.py 2014-03-04 16:22:14 UTC (rev 7630) @@ -1,4 +0,0 @@ -#!/usr/bin/env python - -# Add cloud resources to existing pool - From yadunandb at ci.uchicago.edu Tue Mar 4 10:52:56 2014 From: yadunandb at ci.uchicago.edu (yadunandb at ci.uchicago.edu) Date: Tue, 4 Mar 2014 10:52:56 -0600 (CST) Subject: [Swift-commit] r7631 - trunk/tests/groups Message-ID: <20140304165256.32F9D9D116@svn.ci.uchicago.edu> Author: yadunandb Date: 2014-03-04 10:52:56 -0600 (Tue, 04 Mar 2014) New Revision: 7631 Modified: trunk/tests/groups/group-all-local.sh trunk/tests/groups/group-cdm.sh trunk/tests/groups/group-daily-remote.sh Log: Adding CDM tests to the daily tests Modified: trunk/tests/groups/group-all-local.sh =================================================================== --- trunk/tests/groups/group-all-local.sh 2014-03-04 16:22:14 UTC (rev 7630) +++ trunk/tests/groups/group-all-local.sh 2014-03-04 16:52:56 UTC (rev 7631) @@ -4,12 +4,13 @@ GROUPLIST=( $TESTDIR/language/working \ $TESTDIR/local \ $TESTDIR/language/should-not-work \ - # $TESTDIR/cdm \ - # $TESTDIR/cdm/ps \ - # $TESTDIR/cdm/star + $TESTDIR/cdm \ + $TESTDIR/cdm/ps \ + $TESTDIR/cdm/star $TESTDIR/language-behaviour/arrays \ $TESTDIR/language-behaviour/broken \ - $TESTDIR/language-behaviour/compounds \ + $TESTDIR/language-behaviour/compounds \ + $TESTDIR/language-behaviour/associative_array \ $TESTDIR/language-behaviour/control_structures \ $TESTDIR/language-behaviour/datatypes \ $TESTDIR/language-behaviour/IO \ Modified: trunk/tests/groups/group-cdm.sh =================================================================== --- trunk/tests/groups/group-cdm.sh 2014-03-04 16:22:14 UTC (rev 7630) +++ trunk/tests/groups/group-cdm.sh 2014-03-04 16:52:56 UTC (rev 7631) @@ -1,6 +1,9 @@ # GROUPLIST definition to run local CDM tests -GROUPLIST=( $TESTDIR/cdm ) +GROUPLIST=( $TESTDIR/cdm \ + $TESTDIR/cdm/ps \ + $TESTDIR/cdm/star \ +) checkvars WORK Modified: trunk/tests/groups/group-daily-remote.sh =================================================================== --- trunk/tests/groups/group-daily-remote.sh 2014-03-04 16:22:14 UTC (rev 7630) +++ trunk/tests/groups/group-daily-remote.sh 2014-03-04 16:52:56 UTC (rev 7631) @@ -3,9 +3,9 @@ GROUPLIST=( $TESTDIR/language/working \ $TESTDIR/local \ $TESTDIR/language/should-not-work \ - # $TESTDIR/cdm \ - # $TESTDIR/cdm/ps \ - # $TESTDIR/cdm/star + $TESTDIR/cdm \ + $TESTDIR/cdm/ps \ + $TESTDIR/cdm/star $TESTDIR/language-behaviour/arrays \ $TESTDIR/language-behaviour/broken \ $TESTDIR/language-behaviour/compounds \ From ketan at ci.uchicago.edu Tue Mar 4 16:20:06 2014 From: ketan at ci.uchicago.edu (ketan at ci.uchicago.edu) Date: Tue, 4 Mar 2014 16:20:06 -0600 (CST) Subject: [Swift-commit] r7632 - SwiftApps/cloud Message-ID: <20140304222006.9A1F39D988@svn.ci.uchicago.edu> Author: ketan Date: 2014-03-04 16:20:06 -0600 (Tue, 04 Mar 2014) New Revision: 7632 Modified: SwiftApps/cloud/addnodes Log: _ Modified: SwiftApps/cloud/addnodes =================================================================== --- SwiftApps/cloud/addnodes 2014-03-04 16:52:56 UTC (rev 7631) +++ SwiftApps/cloud/addnodes 2014-03-04 22:20:06 UTC (rev 7632) @@ -1,8 +1,101 @@ -#!/usr/bin/env python +#!/bin/bash -# Add cloud resources to existing pool +#set -x -#1. Start the number of instances requested by user +#env vars needed from start-coaster-service +WORKER_USERNAME="root" #FIXME +LOCALPORT="50001" +WORKERURL="http://140.221.8.75:50001" +SSH_TUNNELING="yes" +WORKER_LOCATION="/root" +WORKER_LOGGING_LEVEL="NONE" +WORKER_LOG_DIR="/root/workerlog" +LOG="/tmp/worker.log" +PID_FILE="/tmp/worker.pid" -#2. Send and start worker manually on those instances +# Import settings +if [ -f "coaster-service.conf" ]; then + CONFIG_FILE="coaster-service.conf" +else + echo "Cannot find coaster-service.conf!" +fi +echo "Configuration: $CONFIG_FILE" +sleep 1 +source $CONFIG_FILE + +WORKER=$(\which worker.pl) +KEYPAIR="ketan" +AMI="ami-cf0953a6" + +usage (){ + printf "Usage: %s -a \"\" | -n \n" "${0}" +} + +run_command() { + command="$@" + echo "Running $command" >> $LOG + $command >> $LOG 2>&1 +} + +run_command_bg() { + command="$@" + echo "Running $command" >> $LOG + $command >> $LOG 2>&1 & + echo $! >> $PID_FILE +} + +start-worker-ssh() { + MACHINE=$1 + # Enable ssh tunneling if needed + if [ "$SSH_TUNNELING" == "yes" ]; then + run_command_bg ssh -N -T -R *:$LOCAL_PORT:localhost:$LOCAL_PORT "$WORKER_USERNAME@$MACHINE" + fi + # Connect directly + run_command ssh $WORKER_USERNAME@$MACHINE mkdir -p $WORKER_LOCATION + run_command scp $WORKER $WORKER_USERNAME@$MACHINE:$WORKER_LOCATION + echo "Starting worker on $MACHINE" + run_command_bg ssh $WORKER_USERNAME@$MACHINE "WORKER_LOGGING_LEVEL=$WORKER_LOGGING_LEVEL $WORKER_LOCATION/worker.pl $WORKERURL $MACHINE $WORKER_LOG_DIR" + return 0 +} + +addbyip (){ + echo "$@" + #nodeid="stomp" +} + +addbynum (){ + echo "$1" + #ec2-run-instance -k -n 1 + runinst=$(ec2-run-instance -k "$KEYPAIR" -g all -n "$1" "$AMI") + echo "Waiting for instances to start" + sleep 45 + for i in $(echo $runinst | grep -o '\bi-........\b'); do + ip=$(ec2din $i | grep 'running' | awk '{print $15}') + start-worker-ssh $ip + done +} + +#use getopts to check user options +while getopts ":a:n:" o ; do + case $o in + a) + addbyip ${OPTARG} + ;; + + n) + addbynum ${OPTARG} + ;; + + *) + usage + ;; + esac +done + +# Add cloud resources to existing pool +#1. Start the number of instances requested by user +#2. scp worker to remote host +#scp worker.pl username@${nodeid}:~/ +#3. Start worker manually +# WORKER_LOGGING_LEVEL=$WORKER_LOGGING_LEVEL $WORKER_LOCATION/worker.pl http://$IPADDR:$LOCAL_PORT $MACHINE $WORKER_LOG_DIR From swift at ci.uchicago.edu Wed Mar 5 15:10:03 2014 From: swift at ci.uchicago.edu (swift at ci.uchicago.edu) Date: Wed, 5 Mar 2014 15:10:03 -0600 (CST) Subject: [Swift-commit] cog r3878 Message-ID: <20140305211003.B92E38D000A6@bridled.ci.uchicago.edu> ------------------------------------------------------------------------ r3878 | yadunand | 2014-03-05 15:05:14 -0600 (Wed, 05 Mar 2014) | 5 lines Bug fix for coaster settings getting mangled. String references used to set values in map, was getting overwritten. ------------------------------------------------------------------------ Index: modules/provider-coaster-c-client/src/CoasterSWIG.cpp =================================================================== --- modules/provider-coaster-c-client/src/CoasterSWIG.cpp (revision 3877) +++ modules/provider-coaster-c-client/src/CoasterSWIG.cpp (working copy) @@ -48,6 +48,7 @@ int CoasterSWIGClientSettings(CoasterClient *client, char *settings) { Settings s; + int kv_index = 0; cout << "CoasterSWIGClientSettings(" << settings << ")" < elems; std::stringstream ss(settings); - std::string item, key, value; + std::string item; + // Assumed to not have more than 50 coaster settings + std::string kv_pair[50][2]; while (std::getline(ss, item, ',')) { elems.push_back(item); std::stringstream kv(item); std::string kv_item; - std::getline(kv, kv_item, '='); - key = kv_item; - std::getline(kv, kv_item); - value = kv_item; - s.set(key, value); - cout << "Key,Value : " << key <<", "< Author: ketan Date: 2014-03-06 10:39:07 -0600 (Thu, 06 Mar 2014) New Revision: 7635 Modified: SwiftApps/cloud/addnodes Log: addnodes test changes Modified: SwiftApps/cloud/addnodes =================================================================== --- SwiftApps/cloud/addnodes 2014-03-06 00:36:18 UTC (rev 7634) +++ SwiftApps/cloud/addnodes 2014-03-06 16:39:07 UTC (rev 7635) @@ -1,6 +1,6 @@ #!/bin/bash -set -x +#set -x #env vars needed from start-coaster-service #WORKER_USERNAME="root" #FIXME From ketan at ci.uchicago.edu Thu Mar 6 12:10:49 2014 From: ketan at ci.uchicago.edu (ketan at ci.uchicago.edu) Date: Thu, 6 Mar 2014 12:10:49 -0600 (CST) Subject: [Swift-commit] r7636 - SwiftApps/cloud Message-ID: <20140306181049.7BE269D116@svn.ci.uchicago.edu> Author: ketan Date: 2014-03-06 12:10:49 -0600 (Thu, 06 Mar 2014) New Revision: 7636 Modified: SwiftApps/cloud/addnodes Log: add nodes by ip working now Modified: SwiftApps/cloud/addnodes =================================================================== --- SwiftApps/cloud/addnodes 2014-03-06 16:39:07 UTC (rev 7635) +++ SwiftApps/cloud/addnodes 2014-03-06 18:10:49 UTC (rev 7636) @@ -2,17 +2,6 @@ #set -x -#env vars needed from start-coaster-service -#WORKER_USERNAME="root" #FIXME -#LOCALPORT="50001" -#WORKERURL="http://140.221.8.75:50001" -#SSH_TUNNELING="yes" -#WORKER_LOCATION="/root" -#WORKER_LOGGING_LEVEL="NONE" -#WORKER_LOG_DIR="/root/workerlog" -#LOG="/tmp/worker.log" -#PID_FILE="/tmp/worker.pid" - # Import settings if [ -f "coaster-service.conf" ]; then CONFIG_FILE="coaster-service.conf" @@ -21,7 +10,6 @@ fi echo "Configuration: $CONFIG_FILE" -sleep 1 source $CONFIG_FILE WORKER=$(\which worker.pl) @@ -45,7 +33,7 @@ echo $! >> $PID_FILE } -start-worker-ssh() { +start_worker_ssh() { MACHINE=$1 # Enable ssh tunneling if needed if [ "$SSH_TUNNELING" == "yes" ]; then @@ -61,18 +49,20 @@ addbyip (){ echo "$@" - #nodeid="stomp" + for i in "$@" ; do + start_worker_ssh $i + done } addbynum (){ echo "$1" - #ec2-run-instance -k -n 1 + #ec2-run-instance -k -n 1 -g --instance-type runinst=$(ec2-run-instance -k "$KEYPAIR" -g all -n "$1" --instance-type t1.micro "$AMI") echo "Waiting for instances to start" sleep 90 for i in $(echo $runinst | grep -o '\bi-........\b'); do ip=$(ec2din $i | grep 'running' | awk '{print $15}') - start-worker-ssh $ip + start_worker_ssh $ip done } @@ -93,9 +83,3 @@ esac done -# Add cloud resources to existing pool -#1. Start the number of instances requested by user -#2. scp worker to remote host -#scp worker.pl username@${nodeid}:~/ -#3. Start worker manually -# WORKER_LOGGING_LEVEL=$WORKER_LOGGING_LEVEL $WORKER_LOCATION/worker.pl http://$IPADDR:$LOCAL_PORT $MACHINE $WORKER_LOG_DIR From davidk at ci.uchicago.edu Thu Mar 6 16:18:29 2014 From: davidk at ci.uchicago.edu (davidk at ci.uchicago.edu) Date: Thu, 6 Mar 2014 16:18:29 -0600 (CST) Subject: [Swift-commit] r7637 - in trunk/etc: . sites Message-ID: <20140306221829.DBD259D0ED@svn.ci.uchicago.edu> Author: davidk Date: 2014-03-06 16:18:29 -0600 (Thu, 06 Mar 2014) New Revision: 7637 Added: trunk/etc/sites/ trunk/etc/sites/local trunk/etc/sites/local-coasters trunk/etc/sites/persistent-coasters Log: A few basic templates for test suite and scs Added: trunk/etc/sites/local =================================================================== --- trunk/etc/sites/local (rev 0) +++ trunk/etc/sites/local 2014-03-06 22:18:29 UTC (rev 7637) @@ -0,0 +1,7 @@ + + + _JOBTHROTTLE_ + 10000 + + {env.HOME}/swiftwork + Added: trunk/etc/sites/local-coasters =================================================================== --- trunk/etc/sites/local-coasters (rev 0) +++ trunk/etc/sites/local-coasters 2014-03-06 22:18:29 UTC (rev 7637) @@ -0,0 +1,12 @@ + + + + + 0 + 10000 + 1000 + 1 + _WORK_ + _SCRATCH_ + + Added: trunk/etc/sites/persistent-coasters =================================================================== --- trunk/etc/sites/persistent-coasters (rev 0) +++ trunk/etc/sites/persistent-coasters 2014-03-06 22:18:29 UTC (rev 7637) @@ -0,0 +1,12 @@ + + + + + passive + _JOBSPERNODE_ + _JOBTHROTTLE_ + 10000 + + _WORK_ + + From lgadelha at ci.uchicago.edu Fri Mar 7 05:19:00 2014 From: lgadelha at ci.uchicago.edu (lgadelha at ci.uchicago.edu) Date: Fri, 7 Mar 2014 05:19:00 -0600 (CST) Subject: [Swift-commit] r7638 - trunk/bin Message-ID: <20140307111901.03D8D9D0ED@svn.ci.uchicago.edu> Author: lgadelha Date: 2014-03-07 05:18:59 -0600 (Fri, 07 Mar 2014) New Revision: 7638 Modified: trunk/bin/swiftlog Log: Included PostgreSQL support Modified: trunk/bin/swiftlog =================================================================== --- trunk/bin/swiftlog 2014-03-06 22:18:29 UTC (rev 7637) +++ trunk/bin/swiftlog 2014-03-07 11:18:59 UTC (rev 7638) @@ -11,7 +11,7 @@ log_directory = os.path.normpath(sys.argv[1]) log_filename = os.path.join(log_directory, os.path.basename(log_directory) + ".log") log_directory = os.path.normpath(sys.argv[1]) - generateProvDB=False + importProv=False elif len(sys.argv) == 3: if sys.argv[1] != "-import-provenance": sys.exit("Usage: %s -import-provenance " % sys.argv[0]) @@ -19,7 +19,7 @@ log_directory = os.path.normpath(sys.argv[2]) log_filename = os.path.join(log_directory, os.path.basename(log_directory) + ".log") log_directory = os.path.normpath(sys.argv[2]) - generateProvDB=True + importProv=True else: sys.exit("Usage:\n%s \nor\n%s -import-provenance " % (sys.argv[0], sys.argv[0])) @@ -46,6 +46,10 @@ thread = '' workdir = '' +class Config: + key = '' + value = '' + # Dictionary containing all tasks tasks = {} taskCounter = 1 @@ -90,21 +94,43 @@ output = string.replace(entry.strip(), '/./', '/') return output -def insertFile(fName, sRunDir, hname, crs, direction, app_exec_id): +def insertFile(fName, sRunDir, hname, crs, direction, app_exec_id, useSQLite, usePgSQL): fileLocation=sRunDir + "/" + fName fileStat = os.stat(fileLocation) fileHost=hname fileSize=fileStat.st_size fileModify=fileStat.st_mtime fileId=fileHost + ":" + fName + ":" + str(fileSize) + ":" + str(fileModify) - crs.execute('SELECT COUNT(*) FROM file WHERE file_id=:fileId', {"fileId": fileId}) - if int(crs.fetchone()[0])==0: - crs.execute('INSERT INTO file VALUES (?, ?, ?, ?, ?)', - (fileId, fileHost, fName, fileSize, fileModify)) - if direction=='IN': - crs.execute('INSERT INTO staged_in VALUES (?, ?)', (app_exec_id, fileId)) - else: - crs.execute('INSERT INTO staged_out VALUES (?, ?)', (app_exec_id, fileId)) + if useSQLite: + crs.execute('SELECT COUNT(*) FROM file WHERE file_id=:fileId', {"fileId": fileId}) + if int(crs.fetchone()[0])==0: + crs.execute('INSERT INTO file VALUES (?, ?, ?, ?, ?)', + (fileId, fileHost, fName, fileSize, fileModify)) + if direction=='IN': + crs.execute('INSERT INTO staged_in VALUES (?, ?)', (app_exec_id, fileId)) + else: + crs.execute('INSERT INTO staged_out VALUES (?, ?)', (app_exec_id, fileId)) + if usePgSQL: + pgSQLOutput=os.popen(pgsqlConnString + ' --tuples-only -c "SELECT COUNT(*) FROM file WHERE file_id=\'' + fileId + '\'"').readline().strip() + if pgSQLOutput == '0': + os.popen(pgsqlConnString + ' -c "INSERT INTO file VALUES (\'' + fileId + '\', ' + + '\'' + fileHost + '\', ' + + '\'' + fName + '\', ' + + str(fileSize) + ', ' + + str(fileModify) + ');"') + if direction=='IN': + os.popen(pgsqlConnString + ' -c "INSERT INTO staged_in VALUES (\'' + app_exec_id + '\', ' + + '\'' + fileId + '\');"') + else: + os.popen(pgsqlConnString + ' -c "INSERT INTO staged_out VALUES (\'' + app_exec_id + '\', ' + + '\'' + fileId + '\');"') + +def getConfigProperty(line): + configEntry=Config() + configTokens=line.split("=") + configEntry.key=configTokens[0].strip() + configEntry.value=configTokens[1].strip() + return configEntry finalState='FAIL' @@ -186,57 +212,137 @@ runId=scriptFileName.rstrip('.swift') + "-" + runDirName + "-" + logFileTailCksum -if generateProvDB: +if importProv: + + #read configuration file + enableSQLite=False + enablePostgreSQL=False + enableGlobusOnlineCatalog=False + provConfigFilename = swiftHomeDir + "/etc/provenance/provenance.config" + provConfigFile = open(provConfigFilename, "r") + + for line in iter(provConfigFile): + if 'database=' in line: + config=getConfigProperty(line) + if config.key=="database": + if config.value=="sqlite": + enableSQLite=True + if config.value=="postgresql": + enablePostgreSQL=True + if config.value=="gocatalog": + enableGlobusOnlineCatalog=True + if 'pg_cmd' in line: + config=getConfigProperty(line) + if config.key=="pg_cmd": + pgsqlConnString=config.value.strip("\"") + if 'go_catalog_id' in line: + config=getConfigProperty(line) + if config.key=="go_catalog_id": + globusOnlineId=config.value + if 'go_catalog_client' in line: + config=getConfigProperty(line) + if config.key=="go_catalog_client": + globusOnlineClient=config.value.strip("\"") + homeDirectory = os.path.expanduser('~') - provDB = homeDirectory + "/.swift_provenance.db" + sqliteDBFile = homeDirectory + "/.swift_provenance.db" print "Provenance import: checking if database exists" # Initializes database if it not yet exists - if not(os.path.exists(provDB)): - print "Provenance import: creating database" - schemaFilename=swiftHomeDir + "/etc/provenance/schema_sqlite.sql" - schema=open(schemaFilename, "r").read() - conn = sqlite3.connect(provDB) + # Assumes PostgreSQL and Globus Online Catalog already initialized + if enableSQLite==True: + if not(os.path.exists(sqliteDBFile)): + print "Provenance import: creating database" + schemaFilename=swiftHomeDir + "/etc/provenance/schema_sqlite.sql" + schema=open(schemaFilename, "r").read() + conn = sqlite3.connect(sqliteDBFile) + c = conn.cursor() + c.executescript(schema) + conn.commit() + conn.close() + + runIsNewSQLite=False + runIsNewPgSQL=False + + # Check if run was already imported into SQLite + if enableSQLite: + conn = sqlite3.connect(sqliteDBFile) c = conn.cursor() - c.executescript(schema) - conn.commit() - conn.close() - - conn = sqlite3.connect(provDB) - c = conn.cursor() - - # Checks if run was already imported - c.execute('SELECT COUNT(*) FROM script_run WHERE script_run_id=:runId', {"runId": runId}) - if int(c.fetchone()[0])==0: - print "Provenance import: importing run " + runId + c.execute('SELECT COUNT(*) FROM script_run WHERE script_run_id=:runId', {"runId": runId}) + if int(c.fetchone()[0])==0: + runIsNewSQLite=True + + # Check if run was already imported into PostgreSQL + if enablePostgreSQL: + pgSQLOutput=os.popen(pgsqlConnString + ' --tuples-only -c "SELECT COUNT(*) FROM script_run WHERE script_run_id=\'' + runId + '\'"').readline().strip() + if pgSQLOutput == '0': + runIsNewPgSQL=True + + if runIsNewSQLite: + print "Provenance import: importing run into SQLite " + runId c.execute('INSERT INTO script_run VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?)', (runId, scriptFileName, log_filename, hostname, scriptRunDir, - swiftVersion, cogVersion, finalState, scriptStartTime, scriptDuration)) + swiftVersion, cogVersion, finalState, scriptStartTime, scriptDuration)) + + if runIsNewPgSQL: + print "Provenance import: importing run into PostgreSQL " + runId + os.popen(pgsqlConnString + ' -c "INSERT INTO script_run VALUES (\'' + runId + '\', ' + + '\'' + scriptFileName + '\', ' + + '\'' + log_filename + '\', ' + + '\'' + hostname + '\', ' + + '\'' + scriptRunDir + '\', ' + + '\'' + swiftVersion + '\', ' + + '\'' + cogVersion + '\', ' + + '\'' + finalState + '\', ' + + '\'' + scriptStartTime + '\', ' + + '\'' + str(scriptDuration) + '\');"') + + + + if runIsNewSQLite or runIsNewPgSQL: + print "Provenance import: importing application executions" for t in sorted(tasks.values(), key=operator.attrgetter('taskNumber')): appExecId=runId + ":" + t.taskId appExecDuration=computeDuration(t.startTime, t.stopTime) stageInDuration=computeDuration(t.startStageIn, t.stopStageIn) stageOutDuration=computeDuration(t.startStageOut, t.stopStageOut) - c.execute('INSERT INTO app_exec VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)', - (appExecId, runId, t.app, t.host, t.startTime, appExecDuration, - stageInDuration, stageOutDuration, t.workdir)) + if runIsNewSQLite: + c.execute('INSERT INTO app_exec VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)', + (appExecId, runId, t.app, t.host, t.startTime, appExecDuration, + stageInDuration, stageOutDuration, t.workdir)) + if runIsNewPgSQL: + os.popen(pgsqlConnString + ' -c "INSERT INTO app_exec VALUES (\'' + appExecId + '\', ' + + '\'' + runId + '\', ' + + '\'' + t.app + '\', ' + + '\'' + t.host + '\', ' + + '\'' + t.startTime + '\', ' + + '\'' + str(appExecDuration) + '\', ' + + '\'' + str(stageInDuration) + '\', ' + + '\'' + str(stageOutDuration) + '\', ' + + '\'' + t.workdir + '\');"') + for f in iter(t.stageIn.split(",")): direction="IN" fileName=string.replace(canonicalFileName(f), 'file://localhost/', '') - insertFile(fileName, scriptRunDir, hostname, c, direction, appExecId) + insertFile(fileName, scriptRunDir, hostname, c, direction, appExecId, runIsNewSQLite, runIsNewPgSQL) for f in iter(t.stageOut.split(" ")): direction="OUT" fileName=canonicalFileName(f) - insertFile(fileName, scriptRunDir, hostname, c, direction, appExecId) + insertFile(fileName, scriptRunDir, hostname, c, direction, appExecId, runIsNewSQLite, runIsNewPgSQL) for i, a in enumerate(t.arguments.split(",")): position=i+1 - c.execute('INSERT INTO argument VALUES (?, ?, ?)', (appExecId, position, a.strip())) - + if runIsNewSQLite: + c.execute('INSERT INTO argument VALUES (?, ?, ?)', (appExecId, position, a.strip())) + if runIsNewPgSQL: + os.popen(pgsqlConnString + ' -c "INSERT INTO argument VALUES (\'' + appExecId + '\', ' + + '\'' + str(position) + '\', ' + + '\'' + a.strip() + '\');"') # Extracts resource usage information from wrapper logs + noWrapperLog=False wrapperLogFileName=runDirName + "/" + scriptFileName.rstrip('.swift') + "-" + runDirName + ".d/" + t.workdir.split('/')[3] + "-info" if not(os.path.exists(wrapperLogFileName)): noWrapperLog=True @@ -247,18 +353,32 @@ for i, pair in enumerate(line.lstrip('APP_RESOURCES=').split(',')): entry=pair.split(':') if i == 0: - c.execute("INSERT INTO resource_usage (app_exec_id, %s) VALUES ('%s',%s)" % (entry[0], appExecId, entry[1].rstrip('%'))) + if runIsNewSQLite: + c.execute("INSERT INTO resource_usage (app_exec_id, %s) VALUES ('%s',%s)" % (entry[0], appExecId, entry[1].rstrip('%'))) + if runIsNewPgSQL: + os.popen(pgsqlConnString + ' -c "INSERT INTO resource_usage (app_exec_id, ' + + entry[0] + ') VALUES (\'' + appExecId + '\', ' + + '\'' + entry[1].rstrip('%') + '\');"') else: - c.execute("UPDATE resource_usage SET %s=%s WHERE app_exec_id='%s'" % (entry[0], entry[1].rstrip('%'), appExecId)) + if runIsNewSQLite: + c.execute("UPDATE resource_usage SET %s=%s WHERE app_exec_id='%s'" % (entry[0], entry[1].rstrip('%'), appExecId)) + if runIsNewPgSQL: + os.popen(pgsqlConnString + ' -c "UPDATE resource_usage SET ' + entry[0] + '=' + + entry[1].rstrip('%') + ' WHERE app_exec_id=\'' + appExecId + '\'"') wrapperLogFile.close() if noWrapperLog: - print "Provenance import: wrapper log not found, enable wrapperlog.always.transfer in swift.properties to gather resource consumption information" - print "Provenance import: finished importing to ~/.swift_provenance.db" + print "Provenance import: wrapper log not found, set wrapperlog.always.transfer=true in swift.properties to gather resource consumption information" + if runIsNewSQLite: + print "Provenance import: finished importing to ~/.swift_provenance.db" + if runIsNewPgSQL: + print "Provenance import: finished importing to PostgreSQL" + else: print "Provenance import: run " + runId + " is already in the database" - conn.commit() - conn.close() + if runIsNewSQLite: + conn.commit() + conn.close() else: # Print tasks for t in sorted(tasks.values(), key=operator.attrgetter('taskNumber')): From lgadelha at ci.uchicago.edu Fri Mar 7 05:20:00 2014 From: lgadelha at ci.uchicago.edu (lgadelha at ci.uchicago.edu) Date: Fri, 7 Mar 2014 05:20:00 -0600 (CST) Subject: [Swift-commit] r7639 - trunk/etc/provenance Message-ID: <20140307112000.C2C3E9D0ED@svn.ci.uchicago.edu> Author: lgadelha Date: 2014-03-07 05:20:00 -0600 (Fri, 07 Mar 2014) New Revision: 7639 Added: trunk/etc/provenance/provenance.config trunk/etc/provenance/schema_pgsql.sql Modified: trunk/etc/provenance/schema_sqlite.sql Log: Included PostgreSQL support Added: trunk/etc/provenance/provenance.config =================================================================== --- trunk/etc/provenance/provenance.config (rev 0) +++ trunk/etc/provenance/provenance.config 2014-03-07 11:20:00 UTC (rev 7639) @@ -0,0 +1,17 @@ +# Provenance database configuration +# +# Backend database options (more than one can be selected): +# sqlite : imports provenance into SQLite +# postgresql : imports provenance into PostgreSQL (assumes ~/.pgpass is correctly configured) +# gocatalog : imports provenance into Globus Online Catalog +database=sqlite +#database=postgresql +#database=gocatalog + +# PostgreSQL connection command +#pg_cmd="psql -U provdb -h db.ci.uchicago.edu provdb" + +# Globus Online Catalog identifier +#go_catalog_id=68 +#go_catalog_client="~/catalog-client/globusonline/catalog/client/examples/catalog.py" + Added: trunk/etc/provenance/schema_pgsql.sql =================================================================== --- trunk/etc/provenance/schema_pgsql.sql (rev 0) +++ trunk/etc/provenance/schema_pgsql.sql 2014-03-07 11:20:00 UTC (rev 7639) @@ -0,0 +1,74 @@ +create table script_run ( + script_run_id text primary key, + script_filename text, + log_filename text, + hostname text, + script_run_dir text, + swift_version text, + cog_version text, + final_state text, + start_time text, + duration real +); + +create table app_exec ( + app_exec_id text primary key, + script_run_id text references script_run(script_run_id), + app__name text, + execution_site text, + start_time text, + duration real, + staging_in_duration real, + staging_out_duration real, + work_directory text +); + +create table argument ( + app_exec_id text references app_exec (app_exec_id), + arg_position integer, + app_exec_arg text +); + +create table resource_usage ( + app_exec_id text primary key references app_exec (app_exec_id), + real_secs real, + kernel_secs real, + user_secs real, + percent_cpu integer, + max_rss integer, + avg_rss integer, + avg_tot_vm integer, + avg_priv_data integer, + avg_priv_stack integer, + avg_shared_text integer, + page_size integer, + major_pgfaults integer, + minor_pgfaults integer, + swaps integer, + invol_context_switches integer, + vol_waits integer, + fs_reads integer, + fs_writes integer, + sock_recv integer, + sock_send integer, + signals integer, + exit_status integer +); + +create table file ( + file_id text primary key, + host text, + name text, + size integer, + modify integer +); + +create table staged_in ( + app_exec_id text references app_exec (app_exec_id), + file_id text references file (file_id) +); + +create table staged_out ( + app_exec_id text references app_exec (app_exec_id), + file_id text references file (file_id) +); Modified: trunk/etc/provenance/schema_sqlite.sql =================================================================== --- trunk/etc/provenance/schema_sqlite.sql 2014-03-07 11:18:59 UTC (rev 7638) +++ trunk/etc/provenance/schema_sqlite.sql 2014-03-07 11:20:00 UTC (rev 7639) @@ -13,7 +13,7 @@ create table app_exec ( app_exec_id text primary key, - script_run_id references script_run(script_run_id), + script_run_id text references script_run(script_run_id), app__name text, execution_site text, start_time text, @@ -71,4 +71,4 @@ create table staged_out ( app_exec_id text references app_exec (app_exec_id), file_id text references file (file_id) -); \ No newline at end of file +); From swift at ci.uchicago.edu Fri Mar 7 15:15:04 2014 From: swift at ci.uchicago.edu (swift at ci.uchicago.edu) Date: Fri, 7 Mar 2014 15:15:04 -0600 (CST) Subject: [Swift-commit] cog r3879 Message-ID: <20140307211505.021F98D000A6@bridled.ci.uchicago.edu> ------------------------------------------------------------------------ r3879 | hategan | 2014-03-07 15:13:21 -0600 (Fri, 07 Mar 2014) | 1 line fixed premature removal of cached entries for cache() (swift bug 1215) ------------------------------------------------------------------------ Index: modules/karajan/src/org/globus/cog/karajan/compiled/nodes/CacheNode.java =================================================================== --- modules/karajan/src/org/globus/cog/karajan/compiled/nodes/CacheNode.java (revision 3878) +++ modules/karajan/src/org/globus/cog/karajan/compiled/nodes/CacheNode.java (working copy) @@ -64,6 +64,7 @@ frame = stack.frameCount(); i++; case 1: + // this sets "key", which is local boolean shouldContinue = checkCached(stack); if (!shouldContinue) { break; @@ -74,6 +75,7 @@ startCount++; } body.run(thr); + // this uses "key", set above setValue(stack); } } @@ -106,7 +108,7 @@ fv = (FutureObject) cache.getCachedValue(key); if (fv == null) { fv = new FutureObject(); - cache.addValue(key, fv); + cache.addAndLock(key, fv); initial = true; } } @@ -129,6 +131,7 @@ synchronized (cache) { FutureObject f = (FutureObject) cache.getCachedValue(key); f.setValue(ret); + cache.unlock(key); } } Index: modules/karajan/src/org/globus/cog/karajan/util/Cache.java =================================================================== --- modules/karajan/src/org/globus/cog/karajan/util/Cache.java (revision 3878) +++ modules/karajan/src/org/globus/cog/karajan/util/Cache.java (working copy) @@ -13,6 +13,7 @@ import java.util.Arrays; import java.util.HashMap; import java.util.Iterator; +import java.util.Map; /** * This is a simple/generic cache used by: @@ -27,16 +28,17 @@ private final static int ENTRY_POOL_MAX_SIZE = 25; private final static int MAX_CACHE_SIZE = 1000; private final static int CACHE_PURGE_SIZE = 100; - private HashMap primitives; + private HashMap store; + private int maxCacheSize = MAX_CACHE_SIZE; public Cache() { - primitives = new HashMap(); + store = new HashMap(); } public Object getCachedValue(Object key) { - Value value = (Value) primitives.get(key); + Value value = store.get(key); if (value != null) { value.hits++; value.lastHit = System.currentTimeMillis(); @@ -46,31 +48,43 @@ } public boolean isCached(Object key) { - return primitives.containsKey(key); + return store.containsKey(key); } public void addValue(Object key, Object value) { - primitives.put(key, new Value(value)); + store.put(key, new Value(value)); checkSize(); } + + public void addAndLock(Object key, Object value) { + Value v = new Value(value); + v.locked = true; + store.put(key, v); + checkSize(); + } + + public void unlock(Object key) { + Value v = store.get(key); + v.locked = false; + } private void checkSize() { - if (maxCacheSize > 0 && primitives.size() > maxCacheSize) { - long[] scores = new long[primitives.size()]; + if (maxCacheSize > 0 && store.size() > maxCacheSize) { + long[] scores = new long[store.size()]; int index = 0; - Iterator i = primitives.values().iterator(); - while (i.hasNext()) { - Value v = (Value) i.next(); - scores[index++] = score(v.hits, v.lastHit); + for (Value v : store.values()) { + if (!v.locked) { + scores[index++] = score(v.hits, v.lastHit); + } } Arrays.sort(scores); long threshold = scores[CACHE_PURGE_SIZE]; - i = primitives.keySet().iterator(); - while (i.hasNext()) { - Object key = i.next(); - Value v = (Value) primitives.get(key); - if (score(v.hits, v.lastHit) < threshold) { - i.remove(); + Iterator> j = store.entrySet().iterator(); + while (j.hasNext()) { + Map.Entry e = j.next(); + Value v = e.getValue(); + if (!v.locked && score(v.hits, v.lastHit) < threshold) { + j.remove(); } } } @@ -92,6 +106,7 @@ public int hits; public long lastHit; + public boolean locked; public Object object; public Value(Object object) { From ketan at ci.uchicago.edu Fri Mar 7 16:26:53 2014 From: ketan at ci.uchicago.edu (ketan at ci.uchicago.edu) Date: Fri, 7 Mar 2014 16:26:53 -0600 (CST) Subject: [Swift-commit] r7640 - SwiftApps/cloud Message-ID: <20140307222653.EB64B9D5A4@svn.ci.uchicago.edu> Author: ketan Date: 2014-03-07 16:26:53 -0600 (Fri, 07 Mar 2014) New Revision: 7640 Modified: SwiftApps/cloud/addnodes SwiftApps/cloud/monitor Log: add monitor script Modified: SwiftApps/cloud/addnodes =================================================================== --- SwiftApps/cloud/addnodes 2014-03-07 11:20:00 UTC (rev 7639) +++ SwiftApps/cloud/addnodes 2014-03-07 22:26:53 UTC (rev 7640) @@ -13,8 +13,6 @@ source $CONFIG_FILE WORKER=$(\which worker.pl) -KEYPAIR="ketan" -AMI="ami-cf0953a6" usage (){ printf "Usage: %s -a \"\" | -n \n" "${0}" @@ -57,7 +55,7 @@ addbynum (){ echo "$1" #ec2-run-instance -k -n 1 -g --instance-type - runinst=$(ec2-run-instance -k "$KEYPAIR" -g all -n "$1" --instance-type t1.micro "$AMI") + runinst=$(ec2-run-instance -k "$EC2KEYPAIR" -g all -n "$1" --instance-type t1.micro "$EC2AMI") echo "Waiting for instances to start" sleep 90 for i in $(echo $runinst | grep -o '\bi-........\b'); do Modified: SwiftApps/cloud/monitor =================================================================== --- SwiftApps/cloud/monitor 2014-03-07 11:20:00 UTC (rev 7639) +++ SwiftApps/cloud/monitor 2014-03-07 22:26:53 UTC (rev 7640) @@ -1,4 +1,13 @@ -#!/usr/bin/env python +#!/bin/bash -# Add cloud resources to existing pool +#set -x +# Import settings + +swift_monitor() { + +} + +cloud_monitor() { +} + From ketan at ci.uchicago.edu Fri Mar 7 16:41:45 2014 From: ketan at ci.uchicago.edu (ketan at ci.uchicago.edu) Date: Fri, 7 Mar 2014 16:41:45 -0600 (CST) Subject: [Swift-commit] r7641 - branches/release-0.94/bin Message-ID: <20140307224145.DECA19D5A4@svn.ci.uchicago.edu> Author: ketan Date: 2014-03-07 16:41:45 -0600 (Fri, 07 Mar 2014) New Revision: 7641 Modified: branches/release-0.94/bin/start-coaster-service Log: adding additional env var to conf Modified: branches/release-0.94/bin/start-coaster-service =================================================================== --- branches/release-0.94/bin/start-coaster-service 2014-03-07 22:26:53 UTC (rev 7640) +++ branches/release-0.94/bin/start-coaster-service 2014-03-07 22:41:45 UTC (rev 7641) @@ -86,6 +86,7 @@ esac done + # Determine the location of needed files export SWIFT_BIN="$( cd "$( dirname "$0" )" && pwd )" if [ -z "$WORKER" ]; then @@ -95,6 +96,7 @@ export PID_FILE="$HOME/.swift/.coaster-service-pids" export COASTER_SERVICE="$SWIFT_BIN/coaster-service" export LOG="start-coaster-service.log" + mkdir -p "$HOME/.swift" || crash "Unable to create $HOME/.swift" # Import settings @@ -106,6 +108,12 @@ crash "Cannot find coaster-service.conf!" fi +#clean up coaster conf +sed -i '/export WORKERURL=/d' $CONFIG_FILE +sed -i '/export PID_FILE=/d' $CONFIG_FILE +sed -i '/export LOG=/d' $CONFIG_FILE +sed -i '/export LOCAL_PORT=/d' $CONFIG_FILE + echo "Start-coaster-service..." echo "Configuration: $CONFIG_FILE" source $CONFIG_FILE @@ -189,6 +197,14 @@ export EXECUTIONURL="http://$IPADDR:$SERVICE_PORT" export WORKERURL="http://$IPADDR:$LOCAL_PORT" +echo "export WORKERURL=\"http://$IPADDR:$LOCAL_PORT\"" >> $CONFIG_FILE + +echo "export PID_FILE=\"$HOME/.swift/.coaster-service-pids\"" >> $CONFIG_FILE + +echo "export LOG=\"start-coaster-service.log\"" >> $CONFIG_FILE + +echo "export LOCAL_PORT=\"$LOCAL_PORT\"" >> $CONFIG_FILE + echo Generating sites.xml if [ -f "gensites.template" ]; then gensites $( cat gensites.template ) -p $CONFIG_FILE > sites.xml From hategan at ci.uchicago.edu Fri Mar 7 17:03:44 2014 From: hategan at ci.uchicago.edu (hategan at ci.uchicago.edu) Date: Fri, 7 Mar 2014 17:03:44 -0600 (CST) Subject: [Swift-commit] r7642 - trunk/libexec Message-ID: <20140307230344.697769D5A4@svn.ci.uchicago.edu> Author: hategan Date: 2014-03-07 17:03:44 -0600 (Fri, 07 Mar 2014) New Revision: 7642 Modified: trunk/libexec/cdm_lib.sh Log: added remote path name translation to CDM (bug 1211) Modified: trunk/libexec/cdm_lib.sh =================================================================== --- trunk/libexec/cdm_lib.sh 2014-03-07 22:41:45 UTC (rev 7641) +++ trunk/libexec/cdm_lib.sh 2014-03-07 23:03:44 UTC (rev 7642) @@ -26,25 +26,27 @@ local POLICY=$4 # DIRECT, BROADCAST, ... shift 4 local ARGS=$@ + + local ACTUAL_FILE=$(echo $FILE | sed -e 's:__root__/:/:' -e 's:__parent__:..:') log "POLICY=$POLICY" case $POLICY in DIRECT) DIRECT_DIR=${ARGS[0]} [[ $DIRECT_DIR == "/" ]] && DIRECT_DIR="" - log "CDM[DIRECT]: Linking to $DIRECT_DIR/$FILE via $JOBDIR/$FILE" + log "CDM[DIRECT]: Linking to $DIRECT_DIR/$ACTUAL_FILE via $JOBDIR/$FILE" if [ $MODE == "INPUT" ]; then - [ -f "$DIRECT_DIR/$FILE" ] - checkError 254 "CDM[DIRECT]: $DIRECT_DIR/$FILE does not exist!" - ln -s $DIRECT_DIR/$FILE $JOBDIR/$FILE - checkError 254 "CDM[DIRECT]: Linking to $DIRECT_DIR/$FILE failed!" + [ -f "$DIRECT_DIR/$ACTUAL_FILE" ] + checkError 254 "CDM[DIRECT]: $DIRECT_DIR/$ACTUAL_FILE does not exist!" + ln -s $DIRECT_DIR/$ACTUAL_FILE $JOBDIR/$FILE + checkError 254 "CDM[DIRECT]: Linking to $DIRECT_DIR/$ACTUAL_FILE failed!" elif [ $MODE == "OUTPUT" ]; then - mkdir -p $( dirname $DIRECT_DIR/$FILE ) - checkError 254 "CDM[DIRECT]: mkdir -p $( dirname $DIRECT_DIR/$FILE ) failed!" - touch $DIRECT_DIR/$FILE - checkError 254 "CDM[DIRECT]: Touching $DIRECT_DIR/$FILE failed!" - ln -s $DIRECT_DIR/$FILE $JOBDIR/$FILE - checkError 254 "CDM[DIRECT]: Linking to $DIRECT_DIR/$FILE failed!" + mkdir -p $( dirname $DIRECT_DIR/$ACTUAL_FILE ) + checkError 254 "CDM[DIRECT]: mkdir -p $( dirname $DIRECT_DIR/$ACTUAL_FILE ) failed!" + touch $DIRECT_DIR/$ACTUAL_FILE + checkError 254 "CDM[DIRECT]: Touching $DIRECT_DIR/$ACTUAL_FILE failed!" + ln -s $DIRECT_DIR/$ACTUAL_FILE $JOBDIR/$FILE + checkError 254 "CDM[DIRECT]: Linking to $DIRECT_DIR/$ACTUAL_FILE failed!" else fail 254 "Unknown MODE: $MODE" fi @@ -55,15 +57,15 @@ REMOTE_DIR=$2 FLAGS=$3 log "CDM[LOCAL]: TOOL=$TOOL FLAGS=$FLAGS REMOTE_DIR=$REMOTE_DIR ARGS=$ARGS" - log "CDM[LOCAL]: Copying $REMOTE_DIR/$FILE to $JOBDIR/$FILE" + log "CDM[LOCAL]: Copying $REMOTE_DIR/$ACTUAL_FILE to $JOBDIR/$FILE" if [ $MODE == "INPUT" ]; then - [ -f "$REMOTE_DIR/$FILE" ] - checkError 254 "CDM[LOCAL]: $REMOTE_DIR/$FILE does not exist!" + [ -f "$REMOTE_DIR/$ACTUAL_FILE" ] + checkError 254 "CDM[LOCAL]: $REMOTE_DIR/$ACTUAL_FILE does not exist!" if [ $TOOL == "cp" ]; then - $TOOL $FLAGS $REMOTE_DIR/$FILE $JOBDIR/$FILE + $TOOL $FLAGS $REMOTE_DIR/$ACTUAL_FILE $JOBDIR/$FILE checkError 254 "CDM[LOCAL]: cp failed!" elif [ $TOOL == "dd" ]; then - $TOOL $FLAGS if=$REMOTE_DIR/$FILE of=$JOBDIR/$FILE + $TOOL $FLAGS if=$REMOTE_DIR/$ACTUAL_FILE of=$JOBDIR/$FILE checkError 254 "CDM[LOCAL]: dd failed!" else fail 254 "CDM[LOCAL]: Unknown TOOL: $TOOL" @@ -77,13 +79,13 @@ BROADCAST) BROADCAST_DIR=${ARGS[0]} if [ $MODE == "INPUT" ]; then - log "CDM[BROADCAST]: Linking $JOBDIR/$FILE to $BROADCAST_DIR/$FILE" - [ -f "$BROADCAST_DIR/$FILE" ] - checkError 254 "CDM[BROADCAST]: $BROADCAST_DIR/$FILE does not exist!" - ln -s $BROADCAST_DIR/$FILE $JOBDIR/$FILE - checkError 254 "CDM[BROADCAST]: Linking to $BROADCAST_DIR/$FILE failed!" + log "CDM[BROADCAST]: Linking $JOBDIR/$FILE to $BROADCAST_DIR/$ACTUAL_FILE" + [ -f "$BROADCAST_DIR/$ACTUAL_FILE" ] + checkError 254 "CDM[BROADCAST]: $BROADCAST_DIR/$ACTUAL_FILE does not exist!" + ln -s $BROADCAST_DIR/$FILE $JOBDIR/$ACTUAL_FILE + checkError 254 "CDM[BROADCAST]: Linking to $BROADCAST_DIR/$ACTUAL_FILE failed!" else - echo "CDM[BROADCAST]: Skipping output file: ${FILE}" + echo "CDM[BROADCAST]: Skipping output file: ${ACTUAL_FILE}" fi ;; GATHER) From ketan at ci.uchicago.edu Fri Mar 7 17:11:38 2014 From: ketan at ci.uchicago.edu (ketan at ci.uchicago.edu) Date: Fri, 7 Mar 2014 17:11:38 -0600 (CST) Subject: [Swift-commit] r7643 - SwiftApps/cloud Message-ID: <20140307231138.A93039D5A4@svn.ci.uchicago.edu> Author: ketan Date: 2014-03-07 17:11:38 -0600 (Fri, 07 Mar 2014) New Revision: 7643 Added: SwiftApps/cloud/coaster-service.conf Log: adding conf Added: SwiftApps/cloud/coaster-service.conf =================================================================== --- SwiftApps/cloud/coaster-service.conf (rev 0) +++ SwiftApps/cloud/coaster-service.conf 2014-03-07 23:11:38 UTC (rev 7643) @@ -0,0 +1,57 @@ +#env vars needed from start-coaster-service +#LOG="/tmp/worker.log" +#PID_FILE="/tmp/worker.pid" + +export EC2KEYPAIR="ketan" +export EC2AMI="ami-cf0953a6" + +#Location of SWIFT. If empty, PATH is referenced +export SWIFT= + +# Where to place/launch worker.pl on the remote machine for sites.xml +export WORKER_LOCATION=/root + +# How to launch workers: local, ssh, or cobalt +export WORKER_MODE=ssh + +# Worker logging setting passed to worker.pl for sites.xml +export WORKER_LOGGING_LEVEL=NONE + +export SSH_TUNNELING=yes + +# User name to use for all systems +export WORKER_USERNAME=root + +# Worker host names for ssh +export WORKER_HOSTS="174.129.130.145" +#export WORKER_HOSTS="ip-10-36-196-96.eu-west-1.compute.internal ip-10-36-195-69.eu-west-1.compute.internal" + + # Directory to keep log files, relative to working directory when launching start-coaster-service +export LOG_DIR=logs +export WORKER_LOG_DIR=/root + +# Manually define ports. If not specified, ports will be automatically generated +#export SERVICE_PORT=50200 + +# Set shared filesystem to no since work will be done in local /sandbox directory +export SHARED_FILESYSTEM=no + +# start-coaster-service tries to automatically detect IP address. +# Specify here if auto detection is not working correctly +export IPADDR="140.221.9.237" + +# Below are various settings to give information about how to create sites.xml +export WORK=/tmp/ketan +export JOBS_PER_NODE=1 +export JOBSPERNODE=1 +#export JOBTHROTTLE=$( echo "scale=5; ($JOBS_PER_NODE * $( echo $WORKER_HOSTS | wc -w ))/100 - 0.00001"|bc ) +export JOBTHROTTLE=20 + +# Swift applications +#app cat=/bin/cat +#app bash=/bin/bash +#app echo=/bin/echo +export WORKERURL="http://localhost:50001" +export PID_FILE="/homes/ketan/.swift/.coaster-service-pids" +export LOG="start-coaster-service.log" +export LOCAL_PORT="50001" From ketan at ci.uchicago.edu Fri Mar 7 17:15:51 2014 From: ketan at ci.uchicago.edu (ketan at ci.uchicago.edu) Date: Fri, 7 Mar 2014 17:15:51 -0600 (CST) Subject: [Swift-commit] r7644 - SwiftApps/cloud Message-ID: <20140307231551.D226C9D5A4@svn.ci.uchicago.edu> Author: ketan Date: 2014-03-07 17:15:51 -0600 (Fri, 07 Mar 2014) New Revision: 7644 Modified: SwiftApps/cloud/coaster-service.conf Log: config set Modified: SwiftApps/cloud/coaster-service.conf =================================================================== --- SwiftApps/cloud/coaster-service.conf 2014-03-07 23:11:38 UTC (rev 7643) +++ SwiftApps/cloud/coaster-service.conf 2014-03-07 23:15:51 UTC (rev 7644) @@ -1,7 +1,5 @@ -#env vars needed from start-coaster-service -#LOG="/tmp/worker.log" -#PID_FILE="/tmp/worker.pid" +#Amazon EC2 specific env export EC2KEYPAIR="ketan" export EC2AMI="ami-cf0953a6" @@ -23,7 +21,7 @@ export WORKER_USERNAME=root # Worker host names for ssh -export WORKER_HOSTS="174.129.130.145" +export WORKER_HOSTS="54.243.24.154" #export WORKER_HOSTS="ip-10-36-196-96.eu-west-1.compute.internal ip-10-36-195-69.eu-west-1.compute.internal" # Directory to keep log files, relative to working directory when launching start-coaster-service @@ -38,7 +36,7 @@ # start-coaster-service tries to automatically detect IP address. # Specify here if auto detection is not working correctly -export IPADDR="140.221.9.237" +export IPADDR="140.221.8.80" # Below are various settings to give information about how to create sites.xml export WORK=/tmp/ketan From ketan at ci.uchicago.edu Fri Mar 7 18:04:31 2014 From: ketan at ci.uchicago.edu (ketan at ci.uchicago.edu) Date: Fri, 7 Mar 2014 18:04:31 -0600 (CST) Subject: [Swift-commit] r7645 - branches/release-0.94/bin Message-ID: <20140308000431.B63889D5A4@svn.ci.uchicago.edu> Author: ketan Date: 2014-03-07 18:04:31 -0600 (Fri, 07 Mar 2014) New Revision: 7645 Modified: branches/release-0.94/bin/gensites Log: minor fix to gensites Modified: branches/release-0.94/bin/gensites =================================================================== --- branches/release-0.94/bin/gensites 2014-03-07 23:15:51 UTC (rev 7644) +++ branches/release-0.94/bin/gensites 2014-03-08 00:04:31 UTC (rev 7645) @@ -1,5 +1,4 @@ #!/bin/bash - # crash: Report a problem and exit crash() { @@ -180,9 +179,13 @@ COMMAND_DIRNAME=$(dirname $COMMAND) if [ -d "$COMMAND_DIRNAME" ]; then COMMAND_PATH=$(cd $COMMAND_DIRNAME; pwd)/$(basename $COMMAND) - echo $HOST $NAME $COMMAND_PATH null null null >> tc.data + if ! grep -xq "$HOST $NAME $COMMAND_PATH " ; then + echo "$HOST $NAME $COMMAND_PATH " >> tc.data + fi else - echo $HOST $NAME $COMMAND null null null >> tc.data + if ! grep -xq "$HOST $NAME $COMMAND_PATH " ; then + echo "$HOST $NAME $COMMAND_PATH " >> tc.data + fi fi done fi @@ -195,7 +198,9 @@ COMMAND=`echo $line|awk '{print $3}'|cut -d'=' -f2` COMMAND=`eval echo $COMMAND` COMMAND_PATH=$(cd $(dirname $COMMAND); pwd)/$(basename $COMMAND) - eval echo $HOST $NAME $COMMAND_PATH null null null >> tc.data + if ! grep -xq "$HOST $NAME $COMMAND_PATH " ; then + eval echo "$HOST $NAME $COMMAND_PATH " >> tc.data + fi fi done fi From ketan at ci.uchicago.edu Fri Mar 7 18:53:34 2014 From: ketan at ci.uchicago.edu (ketan at ci.uchicago.edu) Date: Fri, 7 Mar 2014 18:53:34 -0600 (CST) Subject: [Swift-commit] r7646 - SwiftApps/cloud Message-ID: <20140308005334.D10719D5A4@svn.ci.uchicago.edu> Author: ketan Date: 2014-03-07 18:53:34 -0600 (Fri, 07 Mar 2014) New Revision: 7646 Modified: SwiftApps/cloud/rem Log: rem node testing Modified: SwiftApps/cloud/rem =================================================================== --- SwiftApps/cloud/rem 2014-03-08 00:04:31 UTC (rev 7645) +++ SwiftApps/cloud/rem 2014-03-08 00:53:34 UTC (rev 7646) @@ -1,4 +1,50 @@ -#!/usr/bin/env python +#!/bin/bash -# Add cloud resources to existing pool +#set -x +usage (){ + printf "Usage: %s -a \"\" | -n \n" "${0}" +} + +rem_instance() { + MACHINE=$1 + #ec2din | grep 54.243.24.154 | awk '{print $2}' + instanceid=$(ec2din | grep $1 | awk '{print $2}') + ec2kill $instanceid + # Connect directly + return 0 +} + +rembyip (){ + echo "$@" + for i in "$@" ; do + rem_instance $i + done +} + +rembynum (){ + #ec2-run-instance -k -n 1 -g --instance-type + for i in $(seq 1 $1); do + ip=$(ec2din | grep running | head -1 | awk '{print $15}') + rem_instance "${ip}" + sleep 15 + done +} + +#use getopts to check user options +while getopts ":a:n:" o ; do + case $o in + a) + rembyip ${OPTARG} + ;; + + n) + rembynum ${OPTARG} + ;; + + *) + usage + ;; + esac +done + From ketan at ci.uchicago.edu Fri Mar 7 19:12:24 2014 From: ketan at ci.uchicago.edu (ketan at ci.uchicago.edu) Date: Fri, 7 Mar 2014 19:12:24 -0600 (CST) Subject: [Swift-commit] r7647 - SwiftApps/cloud Message-ID: <20140308011224.4365C9D5A4@svn.ci.uchicago.edu> Author: ketan Date: 2014-03-07 19:12:24 -0600 (Fri, 07 Mar 2014) New Revision: 7647 Modified: SwiftApps/cloud/monitor Log: cloud and swift monitor Modified: SwiftApps/cloud/monitor =================================================================== --- SwiftApps/cloud/monitor 2014-03-08 00:53:34 UTC (rev 7646) +++ SwiftApps/cloud/monitor 2014-03-08 01:12:24 UTC (rev 7647) @@ -5,9 +5,17 @@ # Import settings swift_monitor() { - + + echo "==================" } cloud_monitor() { + echo "==================" + echo "Running instances" + echo "==================" + ec2din | grep running | awk '{print $2, $3, $15}' + echo "==================" } +cloud_monitor + From ketan at ci.uchicago.edu Fri Mar 7 19:24:08 2014 From: ketan at ci.uchicago.edu (ketan at ci.uchicago.edu) Date: Fri, 7 Mar 2014 19:24:08 -0600 (CST) Subject: [Swift-commit] r7648 - SwiftApps/cloud Message-ID: <20140308012408.5DA3E9D5A4@svn.ci.uchicago.edu> Author: ketan Date: 2014-03-07 19:24:08 -0600 (Fri, 07 Mar 2014) New Revision: 7648 Modified: SwiftApps/cloud/monitor Log: Swift monitor Modified: SwiftApps/cloud/monitor =================================================================== --- SwiftApps/cloud/monitor 2014-03-08 01:12:24 UTC (rev 7647) +++ SwiftApps/cloud/monitor 2014-03-08 01:24:08 UTC (rev 7648) @@ -5,8 +5,9 @@ # Import settings swift_monitor() { - echo "==================" + echo "Swift jobs monitor" + echo "==================" } cloud_monitor() { From ketan at ci.uchicago.edu Fri Mar 7 20:26:58 2014 From: ketan at ci.uchicago.edu (ketan at ci.uchicago.edu) Date: Fri, 7 Mar 2014 20:26:58 -0600 (CST) Subject: [Swift-commit] r7649 - branches/release-0.94/bin Message-ID: <20140308022658.A3DCB9D0ED@svn.ci.uchicago.edu> Author: ketan Date: 2014-03-07 20:26:58 -0600 (Fri, 07 Mar 2014) New Revision: 7649 Modified: branches/release-0.94/bin/gensites Log: small changes in gensites Modified: branches/release-0.94/bin/gensites =================================================================== --- branches/release-0.94/bin/gensites 2014-03-08 01:24:08 UTC (rev 7648) +++ branches/release-0.94/bin/gensites 2014-03-08 02:26:58 UTC (rev 7649) @@ -160,6 +160,7 @@ fi # Parse values into variables for later sed processing +touch apps if [ -f "$PROPERTIES_FILE" ]; then while read line do @@ -179,12 +180,12 @@ COMMAND_DIRNAME=$(dirname $COMMAND) if [ -d "$COMMAND_DIRNAME" ]; then COMMAND_PATH=$(cd $COMMAND_DIRNAME; pwd)/$(basename $COMMAND) - if ! grep -xq "$HOST $NAME $COMMAND_PATH " ; then - echo "$HOST $NAME $COMMAND_PATH " >> tc.data + if ! grep -xq "$HOST $NAME $COMMAND_PATH " apps ; then + echo "$HOST $NAME $COMMAND_PATH " >> apps fi else - if ! grep -xq "$HOST $NAME $COMMAND_PATH " ; then - echo "$HOST $NAME $COMMAND_PATH " >> tc.data + if ! grep -xq "$HOST $NAME $COMMAND_PATH " apps ; then + echo "$HOST $NAME $COMMAND_PATH " >> apps fi fi done @@ -198,8 +199,8 @@ COMMAND=`echo $line|awk '{print $3}'|cut -d'=' -f2` COMMAND=`eval echo $COMMAND` COMMAND_PATH=$(cd $(dirname $COMMAND); pwd)/$(basename $COMMAND) - if ! grep -xq "$HOST $NAME $COMMAND_PATH " ; then - eval echo "$HOST $NAME $COMMAND_PATH " >> tc.data + if ! grep -xq "$HOST $NAME $COMMAND_PATH " apps ; then + eval echo "$HOST $NAME $COMMAND_PATH " >> apps fi fi done From ketan at ci.uchicago.edu Fri Mar 7 20:27:22 2014 From: ketan at ci.uchicago.edu (ketan at ci.uchicago.edu) Date: Fri, 7 Mar 2014 20:27:22 -0600 (CST) Subject: [Swift-commit] r7650 - SwiftApps/cloud Message-ID: <20140308022722.D4E239D0ED@svn.ci.uchicago.edu> Author: ketan Date: 2014-03-07 20:27:22 -0600 (Fri, 07 Mar 2014) New Revision: 7650 Modified: SwiftApps/cloud/coaster-service.conf Log: small change in conf Modified: SwiftApps/cloud/coaster-service.conf =================================================================== --- SwiftApps/cloud/coaster-service.conf 2014-03-08 02:26:58 UTC (rev 7649) +++ SwiftApps/cloud/coaster-service.conf 2014-03-08 02:27:22 UTC (rev 7650) @@ -36,6 +36,7 @@ # start-coaster-service tries to automatically detect IP address. # Specify here if auto detection is not working correctly +#trounce export IPADDR="140.221.8.80" # Below are various settings to give information about how to create sites.xml From ketan at ci.uchicago.edu Fri Mar 7 20:35:47 2014 From: ketan at ci.uchicago.edu (ketan at ci.uchicago.edu) Date: Fri, 7 Mar 2014 20:35:47 -0600 (CST) Subject: [Swift-commit] r7651 - SwiftApps/cloud Message-ID: <20140308023547.B73209D0ED@svn.ci.uchicago.edu> Author: ketan Date: 2014-03-07 20:35:47 -0600 (Fri, 07 Mar 2014) New Revision: 7651 Added: SwiftApps/cloud/catsnsleep.swift SwiftApps/cloud/cf SwiftApps/cloud/data.txt Log: add test script Added: SwiftApps/cloud/catsnsleep.swift =================================================================== --- SwiftApps/cloud/catsnsleep.swift (rev 0) +++ SwiftApps/cloud/catsnsleep.swift 2014-03-08 02:35:47 UTC (rev 7651) @@ -0,0 +1,19 @@ +type file; +type script; +type data; + +app (file o) catnap (script _catnap, string _delay, data _i){ + bash @_catnap _delay @_i stdout=@o; +} + +string delay=@arg("s","1"); + +data datafile<"data.txt">; +script scriptfile<"catnap.sh">; + +file out[]; + +foreach j in [1:@toint(@arg("n","1"))] { + out[j] = catnap(scriptfile, delay, datafile); +} + Added: SwiftApps/cloud/cf =================================================================== --- SwiftApps/cloud/cf (rev 0) +++ SwiftApps/cloud/cf 2014-03-08 02:35:47 UTC (rev 7651) @@ -0,0 +1,5 @@ +use.provider.staging=true +wrapperlog.always.transfer=false +execution.retries=0 +provider.staging.pin.swiftfiles=false +sitedir.keep=false Added: SwiftApps/cloud/data.txt =================================================================== --- SwiftApps/cloud/data.txt (rev 0) +++ SwiftApps/cloud/data.txt 2014-03-08 02:35:47 UTC (rev 7651) @@ -0,0 +1,3 @@ +========= +TEST DATA +========= From ketan at ci.uchicago.edu Fri Mar 7 20:36:41 2014 From: ketan at ci.uchicago.edu (ketan at ci.uchicago.edu) Date: Fri, 7 Mar 2014 20:36:41 -0600 (CST) Subject: [Swift-commit] r7652 - SwiftApps/cloud Message-ID: <20140308023641.EAA219D0ED@svn.ci.uchicago.edu> Author: ketan Date: 2014-03-07 20:36:41 -0600 (Fri, 07 Mar 2014) New Revision: 7652 Added: SwiftApps/cloud/runme.sh Log: run me Added: SwiftApps/cloud/runme.sh =================================================================== --- SwiftApps/cloud/runme.sh (rev 0) +++ SwiftApps/cloud/runme.sh 2014-03-08 02:36:41 UTC (rev 7652) @@ -0,0 +1 @@ +swift -sites.file sites.xml -tc.file tc -config cf catsnsleep.swift -s=20 -n=200 From ketan at ci.uchicago.edu Fri Mar 7 21:02:30 2014 From: ketan at ci.uchicago.edu (ketan at ci.uchicago.edu) Date: Fri, 7 Mar 2014 21:02:30 -0600 (CST) Subject: [Swift-commit] r7653 - branches/release-0.94/bin Message-ID: <20140308030230.AE5F49D0ED@svn.ci.uchicago.edu> Author: ketan Date: 2014-03-07 21:02:30 -0600 (Fri, 07 Mar 2014) New Revision: 7653 Modified: branches/release-0.94/bin/start-coaster-service Log: use curl to find ip if all else fails Modified: branches/release-0.94/bin/start-coaster-service =================================================================== --- branches/release-0.94/bin/start-coaster-service 2014-03-08 02:36:41 UTC (rev 7652) +++ branches/release-0.94/bin/start-coaster-service 2014-03-08 03:02:30 UTC (rev 7653) @@ -126,7 +126,11 @@ if [ -n "$GLOBUS_HOSTNAME" ]; then IPADDR=$GLOBUS_HOSTNAME else - crash "Unable to determine IP address" + if hash curl 2>/dev/null ; then + IPADDR=$(curl ifconfig.me 2>/dev/null) + else + crash "Unable to determine IP address" + fi fi fi From ketan at ci.uchicago.edu Fri Mar 7 21:36:04 2014 From: ketan at ci.uchicago.edu (ketan at ci.uchicago.edu) Date: Fri, 7 Mar 2014 21:36:04 -0600 (CST) Subject: [Swift-commit] r7654 - SwiftApps/cloud Message-ID: <20140308033604.3D6E09D0ED@svn.ci.uchicago.edu> Author: ketan Date: 2014-03-07 21:36:04 -0600 (Fri, 07 Mar 2014) New Revision: 7654 Modified: SwiftApps/cloud/cf Log: retry in case of node removal Modified: SwiftApps/cloud/cf =================================================================== --- SwiftApps/cloud/cf 2014-03-08 03:02:30 UTC (rev 7653) +++ SwiftApps/cloud/cf 2014-03-08 03:36:04 UTC (rev 7654) @@ -1,5 +1,5 @@ use.provider.staging=true wrapperlog.always.transfer=false -execution.retries=0 +execution.retries=3 provider.staging.pin.swiftfiles=false sitedir.keep=false From ketan at ci.uchicago.edu Sat Mar 8 09:24:31 2014 From: ketan at ci.uchicago.edu (ketan at ci.uchicago.edu) Date: Sat, 8 Mar 2014 09:24:31 -0600 (CST) Subject: [Swift-commit] r7655 - SwiftApps/cloud Message-ID: <20140308152431.1F1069D116@svn.ci.uchicago.edu> Author: ketan Date: 2014-03-08 09:24:30 -0600 (Sat, 08 Mar 2014) New Revision: 7655 Modified: SwiftApps/cloud/addnodes SwiftApps/cloud/coaster-service.conf Log: set group Modified: SwiftApps/cloud/addnodes =================================================================== --- SwiftApps/cloud/addnodes 2014-03-08 03:36:04 UTC (rev 7654) +++ SwiftApps/cloud/addnodes 2014-03-08 15:24:30 UTC (rev 7655) @@ -55,7 +55,7 @@ addbynum (){ echo "$1" #ec2-run-instance -k -n 1 -g --instance-type - runinst=$(ec2-run-instance -k "$EC2KEYPAIR" -g all -n "$1" --instance-type t1.micro "$EC2AMI") + runinst=$(ec2-run-instance -k "$EC2KEYPAIR" -g "$EC2SECGRP" -n "$1" --instance-type t1.micro "$EC2AMI") echo "Waiting for instances to start" sleep 90 for i in $(echo $runinst | grep -o '\bi-........\b'); do Modified: SwiftApps/cloud/coaster-service.conf =================================================================== --- SwiftApps/cloud/coaster-service.conf 2014-03-08 03:36:04 UTC (rev 7654) +++ SwiftApps/cloud/coaster-service.conf 2014-03-08 15:24:30 UTC (rev 7655) @@ -2,6 +2,7 @@ #Amazon EC2 specific env export EC2KEYPAIR="ketan" export EC2AMI="ami-cf0953a6" +export EC2SECGRP="Swift" #Location of SWIFT. If empty, PATH is referenced export SWIFT= @@ -15,7 +16,7 @@ # Worker logging setting passed to worker.pl for sites.xml export WORKER_LOGGING_LEVEL=NONE -export SSH_TUNNELING=yes +export SSH_TUNNELING=no # User name to use for all systems export WORKER_USERNAME=root @@ -37,7 +38,8 @@ # start-coaster-service tries to automatically detect IP address. # Specify here if auto detection is not working correctly #trounce -export IPADDR="140.221.8.80" +#export IPADDR="140.221.8.80" +export IPADDR= # Below are various settings to give information about how to create sites.xml export WORK=/tmp/ketan @@ -50,7 +52,7 @@ #app cat=/bin/cat #app bash=/bin/bash #app echo=/bin/echo -export WORKERURL="http://localhost:50001" +export WORKERURL="http://140.221.9.216:50001" export PID_FILE="/homes/ketan/.swift/.coaster-service-pids" export LOG="start-coaster-service.log" export LOCAL_PORT="50001" From ketan at ci.uchicago.edu Sat Mar 8 17:21:38 2014 From: ketan at ci.uchicago.edu (ketan at ci.uchicago.edu) Date: Sat, 8 Mar 2014 17:21:38 -0600 (CST) Subject: [Swift-commit] r7656 - branches/release-0.94/bin Message-ID: <20140308232138.580529D116@svn.ci.uchicago.edu> Author: ketan Date: 2014-03-08 17:21:38 -0600 (Sat, 08 Mar 2014) New Revision: 7656 Modified: branches/release-0.94/bin/start-coaster-service Log: run service if no workers specified Modified: branches/release-0.94/bin/start-coaster-service =================================================================== --- branches/release-0.94/bin/start-coaster-service 2014-03-08 15:24:30 UTC (rev 7655) +++ branches/release-0.94/bin/start-coaster-service 2014-03-08 23:21:38 UTC (rev 7656) @@ -43,23 +43,26 @@ { waitpids="" - for MACHINE in $WORKER_HOSTS - do - # Enable ssh tunneling if needed - if [ "$SSH_TUNNELING" == "yes" ]; then - run_command_bg ssh -N -T -R *:$LOCAL_PORT:localhost:$LOCAL_PORT "$WORKER_USERNAME@$MACHINE" - fi - # Connect directly - echo Starting worker on $MACHINE - ( - run_command ssh $WORKER_USERNAME@$MACHINE "mkdir -p $WORKER_LOCATION && mkdir -p $WORKER_LOG_DIR" ; - run_command scp $WORKER $WORKER_USERNAME@$MACHINE:$WORKER_LOCATION ; - run_command ssh $WORKER_USERNAME@$MACHINE "WORKER_LOGGING_LEVEL=$WORKER_LOGGING_LEVEL nohup $WORKER_LOCATION/worker.pl $WORKERURL $MACHINE $WORKER_LOG_DIR &> /dev/null &" - ) & - waitpids="$waitpids $!" - done - wait $waitpids + if [ -n "$WORKER_HOSTS" ] ; then + for MACHINE in $WORKER_HOSTS + do + # Enable ssh tunneling if needed + if [ "$SSH_TUNNELING" == "yes" ]; then + run_command_bg ssh -N -T -R *:$LOCAL_PORT:localhost:$LOCAL_PORT "$WORKER_USERNAME@$MACHINE" + fi + + # Connect directly + echo Starting worker on $MACHINE + ( + run_command ssh $WORKER_USERNAME@$MACHINE "mkdir -p $WORKER_LOCATION && mkdir -p $WORKER_LOG_DIR" ; + run_command scp $WORKER $WORKER_USERNAME@$MACHINE:$WORKER_LOCATION ; + run_command ssh $WORKER_USERNAME@$MACHINE "WORKER_LOGGING_LEVEL=$WORKER_LOGGING_LEVEL nohup $WORKER_LOCATION/worker.pl $WORKERURL $MACHINE $WORKER_LOG_DIR &> /dev/null &" + ) & + waitpids="$waitpids $!" + done + wait $waitpids + fi return 0 } From ketan at ci.uchicago.edu Sat Mar 8 17:22:20 2014 From: ketan at ci.uchicago.edu (ketan at ci.uchicago.edu) Date: Sat, 8 Mar 2014 17:22:20 -0600 (CST) Subject: [Swift-commit] r7657 - SwiftApps/cloud Message-ID: <20140308232220.C22669D116@svn.ci.uchicago.edu> Author: ketan Date: 2014-03-08 17:22:20 -0600 (Sat, 08 Mar 2014) New Revision: 7657 Added: SwiftApps/cloud/README SwiftApps/cloud/remnodes Removed: SwiftApps/cloud/rem Modified: SwiftApps/cloud/coaster-service.conf SwiftApps/cloud/runme.sh Log: adding a readme Added: SwiftApps/cloud/README =================================================================== --- SwiftApps/cloud/README (rev 0) +++ SwiftApps/cloud/README 2014-03-08 23:22:20 UTC (rev 7657) @@ -0,0 +1,19 @@ +Toolkit to run Swift applications over Amazon EC2 cloud +======================================================== + +0. Installation and setup of EC2 commandline tools is assumed. If you do not have already, please find instructions of getting EC2 api from here: +http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/SettingUp_CommandLine.html + +1. Install Swift + +2. Configure coaster-service.conf + +3. Start coaster service + +4. Start Swift run + +5. Manage resources: + a. Add EC2 compute instances + b. Remove EC2 compute instances + c. Monitor resources + Modified: SwiftApps/cloud/coaster-service.conf =================================================================== --- SwiftApps/cloud/coaster-service.conf 2014-03-08 23:21:38 UTC (rev 7656) +++ SwiftApps/cloud/coaster-service.conf 2014-03-08 23:22:20 UTC (rev 7657) @@ -16,14 +16,14 @@ # Worker logging setting passed to worker.pl for sites.xml export WORKER_LOGGING_LEVEL=NONE -export SSH_TUNNELING=no +export SSH_TUNNELING=yes # User name to use for all systems export WORKER_USERNAME=root # Worker host names for ssh -export WORKER_HOSTS="54.243.24.154" -#export WORKER_HOSTS="ip-10-36-196-96.eu-west-1.compute.internal ip-10-36-195-69.eu-west-1.compute.internal" +#export WORKER_HOSTS="54.243.24.154" +export WORKER_HOSTS= # Directory to keep log files, relative to working directory when launching start-coaster-service export LOG_DIR=logs @@ -38,21 +38,20 @@ # start-coaster-service tries to automatically detect IP address. # Specify here if auto detection is not working correctly #trounce -#export IPADDR="140.221.8.80" export IPADDR= # Below are various settings to give information about how to create sites.xml export WORK=/tmp/ketan -export JOBS_PER_NODE=1 -export JOBSPERNODE=1 -#export JOBTHROTTLE=$( echo "scale=5; ($JOBS_PER_NODE * $( echo $WORKER_HOSTS | wc -w ))/100 - 0.00001"|bc ) -export JOBTHROTTLE=20 +export JOBS_PER_NODE=2 +export JOBSPERNODE=2 +export JOBTHROTTLE=$( echo "scale=5; ( $JOBS_PER_NODE * $(echo $WORKER_HOSTS | wc -w ))/100 - 0.00001 + 10.0 "|bc ) +#export JOBTHROTTLE=20 # Swift applications #app cat=/bin/cat #app bash=/bin/bash #app echo=/bin/echo -export WORKERURL="http://140.221.9.216:50001" +export WORKERURL="http://localhost:50003" export PID_FILE="/homes/ketan/.swift/.coaster-service-pids" export LOG="start-coaster-service.log" -export LOCAL_PORT="50001" +export LOCAL_PORT="50003" Deleted: SwiftApps/cloud/rem =================================================================== --- SwiftApps/cloud/rem 2014-03-08 23:21:38 UTC (rev 7656) +++ SwiftApps/cloud/rem 2014-03-08 23:22:20 UTC (rev 7657) @@ -1,50 +0,0 @@ -#!/bin/bash - -#set -x - -usage (){ - printf "Usage: %s -a \"\" | -n \n" "${0}" -} - -rem_instance() { - MACHINE=$1 - #ec2din | grep 54.243.24.154 | awk '{print $2}' - instanceid=$(ec2din | grep $1 | awk '{print $2}') - ec2kill $instanceid - # Connect directly - return 0 -} - -rembyip (){ - echo "$@" - for i in "$@" ; do - rem_instance $i - done -} - -rembynum (){ - #ec2-run-instance -k -n 1 -g --instance-type - for i in $(seq 1 $1); do - ip=$(ec2din | grep running | head -1 | awk '{print $15}') - rem_instance "${ip}" - sleep 15 - done -} - -#use getopts to check user options -while getopts ":a:n:" o ; do - case $o in - a) - rembyip ${OPTARG} - ;; - - n) - rembynum ${OPTARG} - ;; - - *) - usage - ;; - esac -done - Copied: SwiftApps/cloud/remnodes (from rev 7654, SwiftApps/cloud/rem) =================================================================== --- SwiftApps/cloud/remnodes (rev 0) +++ SwiftApps/cloud/remnodes 2014-03-08 23:22:20 UTC (rev 7657) @@ -0,0 +1,50 @@ +#!/bin/bash + +#set -x + +usage (){ + printf "Usage: %s -a \"\" | -n \n" "${0}" +} + +rem_instance() { + MACHINE=$1 + #ec2din | grep 54.243.24.154 | awk '{print $2}' + instanceid=$(ec2din | grep $1 | awk '{print $2}') + ec2kill $instanceid + # Connect directly + return 0 +} + +rembyip (){ + echo "$@" + for i in "$@" ; do + rem_instance $i + done +} + +rembynum (){ + #ec2-run-instance -k -n 1 -g --instance-type + for i in $(seq 1 $1); do + ip=$(ec2din | grep running | head -1 | awk '{print $15}') + rem_instance "${ip}" + sleep 15 + done +} + +#use getopts to check user options +while getopts ":a:n:" o ; do + case $o in + a) + rembyip ${OPTARG} + ;; + + n) + rembynum ${OPTARG} + ;; + + *) + usage + ;; + esac +done + Modified: SwiftApps/cloud/runme.sh =================================================================== --- SwiftApps/cloud/runme.sh 2014-03-08 23:21:38 UTC (rev 7656) +++ SwiftApps/cloud/runme.sh 2014-03-08 23:22:20 UTC (rev 7657) @@ -1 +1 @@ -swift -sites.file sites.xml -tc.file tc -config cf catsnsleep.swift -s=20 -n=200 +swift -sites.file sites.xml -tc.file apps -config cf catsnsleep.swift -s=20 -n=200 From ketan at ci.uchicago.edu Sat Mar 8 17:31:39 2014 From: ketan at ci.uchicago.edu (ketan at ci.uchicago.edu) Date: Sat, 8 Mar 2014 17:31:39 -0600 (CST) Subject: [Swift-commit] r7658 - SwiftApps/cloud Message-ID: <20140308233139.C10A29D116@svn.ci.uchicago.edu> Author: ketan Date: 2014-03-08 17:31:39 -0600 (Sat, 08 Mar 2014) New Revision: 7658 Modified: SwiftApps/cloud/README Log: add contents to readme Modified: SwiftApps/cloud/README =================================================================== --- SwiftApps/cloud/README 2014-03-08 23:22:20 UTC (rev 7657) +++ SwiftApps/cloud/README 2014-03-08 23:31:39 UTC (rev 7658) @@ -6,14 +6,28 @@ 1. Install Swift -2. Configure coaster-service.conf +2. Configure: + a. environment variables + Make sure GLOBUS_TCP_PORT_RANGE and GLOBUS_HOSTNAME are defined. + + b. coaster-service.conf + Configure coaster-service.conf + + c. ec2 + ami-id, security group, keypair set up. 3. Start coaster service +Start coaster service: start-coaster-service 4. Start Swift run +Start swift run. 5. Manage resources: a. Add EC2 compute instances + Add more resources via addnodes. Use -n to add by number and -a to add by ip address. b. Remove EC2 compute instances + Remove EC2 resources via remnodes. c. Monitor resources + Monitor Swift tasks and EC2 instances while jobs are running. +6. Shut everything down: stop-coaster-service From ketan at ci.uchicago.edu Sat Mar 8 17:55:42 2014 From: ketan at ci.uchicago.edu (ketan at ci.uchicago.edu) Date: Sat, 8 Mar 2014 17:55:42 -0600 (CST) Subject: [Swift-commit] r7659 - SwiftApps/cloud Message-ID: <20140308235542.68C919D116@svn.ci.uchicago.edu> Author: ketan Date: 2014-03-08 17:55:42 -0600 (Sat, 08 Mar 2014) New Revision: 7659 Modified: SwiftApps/cloud/README Log: add to readme Modified: SwiftApps/cloud/README =================================================================== --- SwiftApps/cloud/README 2014-03-08 23:31:39 UTC (rev 7658) +++ SwiftApps/cloud/README 2014-03-08 23:55:42 UTC (rev 7659) @@ -8,20 +8,40 @@ 2. Configure: a. environment variables - Make sure GLOBUS_TCP_PORT_RANGE and GLOBUS_HOSTNAME are defined. + Make sure GLOBUS_TCP_PORT_RANGE and GLOBUS_HOSTNAME are defined. For example: - b. coaster-service.conf - Configure coaster-service.conf + export GLOBUS_TCP_PORT_RANGE=50000,51000 + export GLOBUS_HOSTNAME=churn.mcs.anl.gov c. ec2 ami-id, security group, keypair set up. + b. coaster-service.conf + Configure coaster-service.conf. An example coaster-service.conf can be found in the current directory. Make sure to set the EC2XXX variables to the correct values as per your account. + Set other environment variables e.g: + + export WORKER_LOCATION=/home/ubuntu/worker + export WORKER_USERNAME=ubuntu + export LOG_DIR=logs + export SHARED_FILESYSTEM=no + export SSH_TUNNELING=yes + 3. Start coaster service -Start coaster service: start-coaster-service +Start the coaster service using the following command: +start-coaster-service + +Above command will generate an apps and sites configuration file. Use these configuration files to run Swift command as shown in the next section. + +Make sure coaster-service.conf is available in the current working directory or use the "-conf" option to use config file located elsewhere. + 4. Start Swift run -Start swift run. +Start swift run. Assuming your Swift scripts, applications and data are set, run a Swift script using swift command as follows: + swift -sites.file sites.xml -tc.file apps -config cf catsnsleep.swift -s=10 -n=20 + +The example catsnsleep.swift and cf files are provided with the package. + 5. Manage resources: a. Add EC2 compute instances Add more resources via addnodes. Use -n to add by number and -a to add by ip address. @@ -31,3 +51,4 @@ Monitor Swift tasks and EC2 instances while jobs are running. 6. Shut everything down: stop-coaster-service +Use the stop-coaster-service command to stop everything. From ketan at ci.uchicago.edu Sat Mar 8 20:37:45 2014 From: ketan at ci.uchicago.edu (ketan at ci.uchicago.edu) Date: Sat, 8 Mar 2014 20:37:45 -0600 (CST) Subject: [Swift-commit] r7660 - SwiftApps/cloud Message-ID: <20140309023745.BF75D9D116@svn.ci.uchicago.edu> Author: ketan Date: 2014-03-08 20:37:45 -0600 (Sat, 08 Mar 2014) New Revision: 7660 Modified: SwiftApps/cloud/README Log: asciidocify readme Modified: SwiftApps/cloud/README =================================================================== --- SwiftApps/cloud/README 2014-03-08 23:55:42 UTC (rev 7659) +++ SwiftApps/cloud/README 2014-03-09 02:37:45 UTC (rev 7660) @@ -1,32 +1,45 @@ Toolkit to run Swift applications over Amazon EC2 cloud ======================================================== -0. Installation and setup of EC2 commandline tools is assumed. If you do not have already, please find instructions of getting EC2 api from here: +EC2 setup +---------- + +Installation and setup of EC2 commandline tools is assumed. If you do not have already, please find instructions of getting EC2 api from here: http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/SettingUp_CommandLine.html -1. Install Swift +Install Swift +-------------- -2. Configure: - a. environment variables +Configure +---------- + + environment variables + ~~~~~~~~~~~~~~~~~~~~~~ + Make sure GLOBUS_TCP_PORT_RANGE and GLOBUS_HOSTNAME are defined. For example: export GLOBUS_TCP_PORT_RANGE=50000,51000 export GLOBUS_HOSTNAME=churn.mcs.anl.gov - c. ec2 + EC2 + ~~~~ + ami-id, security group, keypair set up. - b. coaster-service.conf - Configure coaster-service.conf. An example coaster-service.conf can be found in the current directory. Make sure to set the EC2XXX variables to the correct values as per your account. - Set other environment variables e.g: + coaster-service.conf + ~~~~~~~~~~~~~~~~~~~~~ + + Configure coaster-service.conf. An example coaster-service.conf can be + found in the current directory. Make sure to set the EC2XXX variables to + the correct values as per your account. Set other environment variables + e.g: - export WORKER_LOCATION=/home/ubuntu/worker - export WORKER_USERNAME=ubuntu - export LOG_DIR=logs - export SHARED_FILESYSTEM=no - export SSH_TUNNELING=yes + export WORKER_LOCATION=/home/ubuntu/worker export WORKER_USERNAME=ubuntu + export LOG_DIR=logs export SHARED_FILESYSTEM=no export SSH_TUNNELING=yes -3. Start coaster service +Start coaster service +---------------------- + Start the coaster service using the following command: start-coaster-service @@ -35,20 +48,48 @@ Make sure coaster-service.conf is available in the current working directory or use the "-conf" option to use config file located elsewhere. -4. Start Swift run +Start Swift run +---------------- + Start swift run. Assuming your Swift scripts, applications and data are set, run a Swift script using swift command as follows: swift -sites.file sites.xml -tc.file apps -config cf catsnsleep.swift -s=10 -n=20 The example catsnsleep.swift and cf files are provided with the package. -5. Manage resources: - a. Add EC2 compute instances +Manage resources +----------------- + + Add EC2 compute instances + ~~~~~~~~~~~~~~~~~~~~~~~~~~ + Add more resources via addnodes. Use -n to add by number and -a to add by ip address. - b. Remove EC2 compute instances + + Remove EC2 compute instances + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Remove EC2 resources via remnodes. - c. Monitor resources + + Monitor resources + ~~~~~~~~~~~~~~~~~ + Monitor Swift tasks and EC2 instances while jobs are running. -6. Shut everything down: stop-coaster-service +Shut down +---------- + +stop-coaster-service Use the stop-coaster-service command to stop everything. + +Troubleshoot +------------- + + Coaster service + ~~~~~~~~~~~~~~~ + + Swift + ~~~~~~ + a. Swift not found: check your PATH and make sure the bin directory of Swift is added + b. Swift run shows no progress in task execution: Check if the cloud instances are running + c. Swift runs fail: Check if ports are open between submithost and cloud instance + From ketan at ci.uchicago.edu Sun Mar 9 11:54:35 2014 From: ketan at ci.uchicago.edu (ketan at ci.uchicago.edu) Date: Sun, 9 Mar 2014 11:54:35 -0500 (CDT) Subject: [Swift-commit] r7661 - SwiftApps/cloud Message-ID: <20140309165435.AA9229D894@svn.ci.uchicago.edu> Author: ketan Date: 2014-03-09 11:54:34 -0500 (Sun, 09 Mar 2014) New Revision: 7661 Added: SwiftApps/cloud/docbuild Modified: SwiftApps/cloud/README Log: doc build script Modified: SwiftApps/cloud/README =================================================================== --- SwiftApps/cloud/README 2014-03-09 02:37:45 UTC (rev 7660) +++ SwiftApps/cloud/README 2014-03-09 16:54:34 UTC (rev 7661) @@ -9,34 +9,35 @@ Install Swift -------------- +To install Swift, follow instructions on swift-lang.org. Note that Swift installation is required only on the submit host and not on cloud nodes. Configure ---------- - environment variables - ~~~~~~~~~~~~~~~~~~~~~~ +environment variables +~~~~~~~~~~~~~~~~~~~~~~ - Make sure GLOBUS_TCP_PORT_RANGE and GLOBUS_HOSTNAME are defined. For example: - - export GLOBUS_TCP_PORT_RANGE=50000,51000 - export GLOBUS_HOSTNAME=churn.mcs.anl.gov - - EC2 - ~~~~ +Make sure GLOBUS_TCP_PORT_RANGE and GLOBUS_HOSTNAME are defined. For example: - ami-id, security group, keypair set up. +export GLOBUS_TCP_PORT_RANGE=50000,51000 +export GLOBUS_HOSTNAME=churn.mcs.anl.gov - coaster-service.conf - ~~~~~~~~~~~~~~~~~~~~~ +EC2 +~~~~ - Configure coaster-service.conf. An example coaster-service.conf can be - found in the current directory. Make sure to set the EC2XXX variables to - the correct values as per your account. Set other environment variables - e.g: - - export WORKER_LOCATION=/home/ubuntu/worker export WORKER_USERNAME=ubuntu - export LOG_DIR=logs export SHARED_FILESYSTEM=no export SSH_TUNNELING=yes +ami-id, security group, keypair set up. +coaster-service.conf +~~~~~~~~~~~~~~~~~~~~~ + +Configure coaster-service.conf. An example coaster-service.conf can be +found in the current directory. Make sure to set the EC2XXX variables to +the correct values as per your account. Set other environment variables +e.g: + +export WORKER_LOCATION=/home/ubuntu/worker export WORKER_USERNAME=ubuntu +export LOG_DIR=logs export SHARED_FILESYSTEM=no export SSH_TUNNELING=yes + Start coaster service ---------------------- @@ -60,21 +61,21 @@ Manage resources ----------------- - Add EC2 compute instances - ~~~~~~~~~~~~~~~~~~~~~~~~~~ +Add EC2 compute instances +~~~~~~~~~~~~~~~~~~~~~~~~~~ - Add more resources via addnodes. Use -n to add by number and -a to add by ip address. +Add more resources via addnodes. Use -n to add by number and -a to add by ip address. - Remove EC2 compute instances - ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - - Remove EC2 resources via remnodes. - - Monitor resources - ~~~~~~~~~~~~~~~~~ +Remove EC2 compute instances +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Monitor Swift tasks and EC2 instances while jobs are running. +Remove EC2 resources via remnodes. +Monitor resources +~~~~~~~~~~~~~~~~~ + +Monitor Swift tasks and EC2 instances while jobs are running. + Shut down ---------- @@ -84,12 +85,12 @@ Troubleshoot ------------- - Coaster service - ~~~~~~~~~~~~~~~ +Coaster service +~~~~~~~~~~~~~~~ - Swift - ~~~~~~ - a. Swift not found: check your PATH and make sure the bin directory of Swift is added - b. Swift run shows no progress in task execution: Check if the cloud instances are running - c. Swift runs fail: Check if ports are open between submithost and cloud instance - +Swift +~~~~~~ +a. Swift not found: check your PATH and make sure the bin directory of Swift is added +b. Swift run shows no progress in task execution: Check if the cloud instances are running +c. Swift runs fail: Check if ports are open between submithost and cloud instance + Added: SwiftApps/cloud/docbuild =================================================================== --- SwiftApps/cloud/docbuild (rev 0) +++ SwiftApps/cloud/docbuild 2014-03-09 16:54:34 UTC (rev 7661) @@ -0,0 +1,3 @@ +#!/bin/bash + +asciidoc -a toc -a toclevels=2 -a max-width=750px -a textwidth=80 -o /home/ketan/public_html/cloudreadme.html README Property changes on: SwiftApps/cloud/docbuild ___________________________________________________________________ Added: svn:executable + * From ketan at ci.uchicago.edu Sun Mar 9 13:39:43 2014 From: ketan at ci.uchicago.edu (ketan at ci.uchicago.edu) Date: Sun, 9 Mar 2014 13:39:43 -0500 (CDT) Subject: [Swift-commit] r7662 - SwiftApps/cloud Message-ID: <20140309183943.5C12F9D894@svn.ci.uchicago.edu> Author: ketan Date: 2014-03-09 13:39:43 -0500 (Sun, 09 Mar 2014) New Revision: 7662 Modified: SwiftApps/cloud/README SwiftApps/cloud/coaster-service.conf Log: add to README and FORMAT Modified: SwiftApps/cloud/README =================================================================== --- SwiftApps/cloud/README 2014-03-09 16:54:34 UTC (rev 7661) +++ SwiftApps/cloud/README 2014-03-09 18:39:43 UTC (rev 7662) @@ -1,62 +1,102 @@ -Toolkit to run Swift applications over Amazon EC2 cloud -======================================================== +Swift Cloud Provisioning Toolkit +================================= EC2 setup ---------- -Installation and setup of EC2 commandline tools is assumed. If you do not have already, please find instructions of getting EC2 api from here: -http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/SettingUp_CommandLine.html +Installation and setup of EC2 commandline tools is assumed. If you do not have +already, find instructions for setting the EC2 CLI API from +http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/SettingUp_CommandLine.html[here]. Install Swift -------------- -To install Swift, follow instructions on swift-lang.org. Note that Swift installation is required only on the submit host and not on cloud nodes. +To install Swift, follow instructions found http://swift-lang.org/downloads/index.php[here]. Note that Swift +installation is required only on the submit host and not on cloud nodes. To checkout the current package from svn repository: +---- +svn co https://svn.ci.uchicago.edu/svn/vdl2/SwiftApps/cloud swift-cloud +cd swift-cloud +---- + Configure ---------- environment variables ~~~~~~~~~~~~~~~~~~~~~~ -Make sure GLOBUS_TCP_PORT_RANGE and GLOBUS_HOSTNAME are defined. For example: +Make sure `GLOBUS_TCP_PORT_RANGE` and `GLOBUS_HOSTNAME` are defined. For example: +---- export GLOBUS_TCP_PORT_RANGE=50000,51000 export GLOBUS_HOSTNAME=churn.mcs.anl.gov +---- EC2 ~~~~ -ami-id, security group, keypair set up. +Make sure you have access to an EC2 image `ami-id`, have `security-group` and `keypair` set up. The `security-group` must be set such that the ports defined in `GLOBUS_TCP_PORT_RANGE` are open for both incoming and outgoing traffic. More information on setting up a security group can be found http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-network-security.html[here]. coaster-service.conf ~~~~~~~~~~~~~~~~~~~~~ -Configure coaster-service.conf. An example coaster-service.conf can be -found in the current directory. Make sure to set the EC2XXX variables to -the correct values as per your account. Set other environment variables +Configure `coaster-service.conf` to your environment. An example `coaster-service.conf` can be +found in the `swift-cloud` directory. Make sure to set the EC2XXX variables to +the correct values as per your EC2 allocation. For example: + +---- +export EC2KEYPAIR=ketan +export EC2AMI=ami-cf0953a6 +export EC2SECGRP=Swift +---- + +Set other environment variables e.g: -export WORKER_LOCATION=/home/ubuntu/worker export WORKER_USERNAME=ubuntu -export LOG_DIR=logs export SHARED_FILESYSTEM=no export SSH_TUNNELING=yes +---- +export WORKER_LOCATION=/home/ubuntu/worker +export WORKER_USERNAME=ubuntu +export LOG_DIR=logs +export SHARED_FILESYSTEM=no +export SSH_TUNNELING=yes +---- Start coaster service ---------------------- Start the coaster service using the following command: +---- start-coaster-service +---- -Above command will generate an apps and sites configuration file. Use these configuration files to run Swift command as shown in the next section. +Above command will generate an `apps` and `sites.xml` configuration file. Use these configuration files to run Swift command as shown in the next section. Make sure `coaster-service.conf` configuration is available in the current working directory or use the `-conf` option to use config file located elsewhere. -Make sure coaster-service.conf is available in the current working directory or use the "-conf" option to use config file located elsewhere. +Typical output of the above `start-coaster-service` will look as follows: +---- +Start-coaster-service... +Configuration: coaster-service.conf +Service address: localhost +Starting coaster-service +Service port: 50000 +Local port: 50001 +Generating sites.xml +---- + Start Swift run ---------------- -Start swift run. Assuming your Swift scripts, applications and data are set, run a Swift script using swift command as follows: +Start swift run. Assuming your Swift script, applications and data are set, run using swift command as follows: - swift -sites.file sites.xml -tc.file apps -config cf catsnsleep.swift -s=10 -n=20 +---- +swift -sites.file sites.xml -tc.file apps -config cf catsnsleep.swift -s=10 -n=20 +---- -The example catsnsleep.swift and cf files are provided with the package. +The example `catsnsleep.swift` and `cf` properties files used in the above +command are provided with the package. Additionally, an executable `catnap.sh` +and a small `data.txt` files are provided with the package used by the +`catsnsleep.swift` script. As a result of the above command the script will run +20 `app` instances with a sleep time of 10 seconds in each call. Manage resources ----------------- @@ -64,24 +104,78 @@ Add EC2 compute instances ~~~~~~~~~~~~~~~~~~~~~~~~~~ -Add more resources via addnodes. Use -n to add by number and -a to add by ip address. +Add more resources via addnodes. Use -n to add by number and -a to add by ip address. For example, the following commandline will add 10 cloud instances to the currently executing run: +---- +./addnodes -n 10 +---- + +Note that the above command will trigger a create instance command on your EC2 +account and can take upto 2 minutes before the newly created instances can +actually join the existing Swift execution. + +The following command will add two nodes with ip `54.243.24.104` and `54.243.24.154`: + +---- +./addnodes -a "54.243.24.104 54.243.24.154" +---- + + Remove EC2 compute instances ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -Remove EC2 resources via remnodes. +While the execution is on, you can remove EC2 resources via the `remnodes` commands with similar switches as the `addnodes` command. See the examples below: +---- +./remnodes -n 5 +---- + +The above command will remove 5 ec2 nodes from the current run. Currently running `apps` will fail and will be retried automatically by Swift on other available nodes. + +---- +./remnodes -a "54.243.24.104" +---- + +The above command will remove the node with IP `54.243.24.104` from the current run. Note that in place of IP, you can use public DNS name of the instance eg: + +---- +./remnodes -a "ec2-50-99-41-60.compute-1.amazonaws.com ec2-50-99-41-56.compute-1.amazonaws.com" +---- + +The above command will remove instances +`ec2-50-99-41-60.compute-1.amazonaws.com` and +`ec2-50-99-41-56.compute-1.amazonaws.com` from the current run. Note that the +`./remnodes` command will terminate the instances provided as arguments and +will terminate the top `n` instances provided as number `n` with its `-n` +switch. + Monitor resources ~~~~~~~~~~~~~~~~~ -Monitor Swift tasks and EC2 instances while jobs are running. +Monitor Swift tasks and EC2 instances while jobs are running with the monitor command. +---- +./monitor +---- + Shut down ---------- +Use the stop-coaster-service command to terminate the coaster service and remote worker agents: +---- stop-coaster-service -Use the stop-coaster-service command to stop everything. +---- +Typical output of the above command will look as follows: + +---- +Stop-coaster-service... +Configuration: /homes/ketan/cloud/coaster-service.conf +Ending coaster processes.. +Killing process 23005 +Done +---- + Troubleshoot ------------- Modified: SwiftApps/cloud/coaster-service.conf =================================================================== --- SwiftApps/cloud/coaster-service.conf 2014-03-09 16:54:34 UTC (rev 7661) +++ SwiftApps/cloud/coaster-service.conf 2014-03-09 18:39:43 UTC (rev 7662) @@ -51,7 +51,7 @@ #app cat=/bin/cat #app bash=/bin/bash #app echo=/bin/echo -export WORKERURL="http://localhost:50003" +export WORKERURL="http://localhost:50001" export PID_FILE="/homes/ketan/.swift/.coaster-service-pids" export LOG="start-coaster-service.log" -export LOCAL_PORT="50003" +export LOCAL_PORT="50001" From ketan at ci.uchicago.edu Sun Mar 9 13:41:52 2014 From: ketan at ci.uchicago.edu (ketan at ci.uchicago.edu) Date: Sun, 9 Mar 2014 13:41:52 -0500 (CDT) Subject: [Swift-commit] r7663 - SwiftApps/cloud Message-ID: <20140309184152.9A4479D894@svn.ci.uchicago.edu> Author: ketan Date: 2014-03-09 13:41:52 -0500 (Sun, 09 Mar 2014) New Revision: 7663 Modified: SwiftApps/cloud/docbuild Log: option to build to a named file Modified: SwiftApps/cloud/docbuild =================================================================== --- SwiftApps/cloud/docbuild 2014-03-09 18:39:43 UTC (rev 7662) +++ SwiftApps/cloud/docbuild 2014-03-09 18:41:52 UTC (rev 7663) @@ -1,3 +1,8 @@ #!/bin/bash -asciidoc -a toc -a toclevels=2 -a max-width=750px -a textwidth=80 -o /home/ketan/public_html/cloudreadme.html README +if [ -z $1 ] ; then + + asciidoc -a toc -a toclevels=2 -a max-width=750px -a textwidth=80 -o /home/ketan/public_html/cloudreadme.html README +else + asciidoc -a toc -a toclevels=2 -a max-width=750px -a textwidth=80 -o "$1" README +fi From ketan at ci.uchicago.edu Sun Mar 9 14:15:53 2014 From: ketan at ci.uchicago.edu (ketan at ci.uchicago.edu) Date: Sun, 9 Mar 2014 14:15:53 -0500 (CDT) Subject: [Swift-commit] r7664 - SwiftApps/cloud Message-ID: <20140309191553.8E92A9D894@svn.ci.uchicago.edu> Author: ketan Date: 2014-03-09 14:15:53 -0500 (Sun, 09 Mar 2014) New Revision: 7664 Modified: SwiftApps/cloud/README SwiftApps/cloud/docbuild Log: ec2 commands Modified: SwiftApps/cloud/README =================================================================== --- SwiftApps/cloud/README 2014-03-09 18:41:52 UTC (rev 7663) +++ SwiftApps/cloud/README 2014-03-09 19:15:53 UTC (rev 7664) @@ -1,6 +1,16 @@ Swift Cloud Provisioning Toolkit ================================= +Introduction +------------ + +This README describes how you can set the http://aws.amazon.com/ec2/[Amazon] cloud +resources to run applications via http://swift-lang.org/main/[Swift] along with +its +http://swift-lang.org/guides/release-0.94/userguide/userguide.html#_coasters[coaster-service]. +With the provisioning utilities packaged and described here you can +add/remove/monitor resources on a current application run. + EC2 setup ---------- @@ -8,9 +18,9 @@ already, find instructions for setting the EC2 CLI API from http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/SettingUp_CommandLine.html[here]. -Install Swift --------------- -To install Swift, follow instructions found http://swift-lang.org/downloads/index.php[here]. Note that Swift +Installation and setup +---------------------- +To install Swift, follow instructions found http://swift-lang.org/downloads/index.php[here]. We use the Swift version 0.94 from the svn repo. Note that Swift installation is required only on the submit host and not on cloud nodes. To checkout the current package from svn repository: ---- @@ -34,8 +44,20 @@ EC2 ~~~~ -Make sure you have access to an EC2 image `ami-id`, have `security-group` and `keypair` set up. The `security-group` must be set such that the ports defined in `GLOBUS_TCP_PORT_RANGE` are open for both incoming and outgoing traffic. More information on setting up a security group can be found http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-network-security.html[here]. +Make sure you have access to an EC2 image `ami-id`, have `security-group` and `keypair` set up. If you already have `keypair` for EC2 installed, you can find via the following command: +---- +ec2-describe-keypairs +---- + +The `security-group` must be set such that the ports defined in `GLOBUS_TCP_PORT_RANGE` are open for both incoming and outgoing traffic. Existing security groups can be queried as: + +---- +ec2-describe-security-groups +---- + +More information on setting up a security group can be found http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-network-security.html[here]. + coaster-service.conf ~~~~~~~~~~~~~~~~~~~~~ @@ -92,6 +114,23 @@ swift -sites.file sites.xml -tc.file apps -config cf catsnsleep.swift -s=10 -n=20 ---- +As a result, if the command is successful, you will see the output similar to following: + +---- +Swift 0.94 swift-r7645 (swift modified locally) cog-r3877 + +RunID: 20140309-1354-sg9rjdja +Progress: time: Sun, 09 Mar 2014 13:54:27 -0500 +Progress: time: Sun, 09 Mar 2014 13:54:28 -0500 Stage in:1 Submitted:14 Active:5 +Progress: time: Sun, 09 Mar 2014 13:54:38 -0500 Submitted:14 Active:5 Stage out:1 +Progress: time: Sun, 09 Mar 2014 13:54:48 -0500 Submitted:8 Active:5 Stage out:1 Finished successfully:6 +Progress: time: Sun, 09 Mar 2014 13:54:49 -0500 Submitted:2 Active:6 Finished successfully:12 +Progress: time: Sun, 09 Mar 2014 13:54:57 -0500 Submitted:2 Active:6 Finished successfully:12 +Progress: time: Sun, 09 Mar 2014 13:54:59 -0500 Submitted:2 Active:5 Stage out:1 Finished successfully:12 +Progress: time: Sun, 09 Mar 2014 13:55:10 -0500 Active:1 Stage out:1 Finished successfully:18 +Final status: Sun, 09 Mar 2014 13:55:10 -0500 Finished successfully:20 +---- + The example `catsnsleep.swift` and `cf` properties files used in the above command are provided with the package. Additionally, an executable `catnap.sh` and a small `data.txt` files are provided with the package used by the @@ -104,16 +143,30 @@ Add EC2 compute instances ~~~~~~~~~~~~~~~~~~~~~~~~~~ -Add more resources via addnodes. Use -n to add by number and -a to add by ip address. For example, the following commandline will add 10 cloud instances to the currently executing run: +Add more resources via addnodes. Use -n to add by number and -a to add by ip +address. For example, the following commandline will add 10 cloud instances to +the currently executing run: ---- -./addnodes -n 10 +./addnodes -n 6 ---- Note that the above command will trigger a create instance command on your EC2 account and can take upto 2 minutes before the newly created instances can -actually join the existing Swift execution. +actually join the existing Swift execution. Typically, you will see output as follows: +---- +Configuration: coaster-service.conf +6 +Waiting for instances to start +Starting worker on 54.221.33.193 +Starting worker on 54.221.101.177 +Starting worker on 54.242.57.128 +Starting worker on 54.204.204.129 +Starting worker on 75.101.210.88 +Starting worker on 54.226.151.155 +---- + The following command will add two nodes with ip `54.243.24.104` and `54.243.24.154`: ---- Modified: SwiftApps/cloud/docbuild =================================================================== --- SwiftApps/cloud/docbuild 2014-03-09 18:41:52 UTC (rev 7663) +++ SwiftApps/cloud/docbuild 2014-03-09 19:15:53 UTC (rev 7664) @@ -2,7 +2,7 @@ if [ -z $1 ] ; then - asciidoc -a toc -a toclevels=2 -a max-width=750px -a textwidth=80 -o /home/ketan/public_html/cloudreadme.html README + asciidoc -a toc -a toclevels=2 -a max-width=750px -a textwidth=80 -o /home/ketan/public_html/swiftcloudprovision.html README else asciidoc -a toc -a toclevels=2 -a max-width=750px -a textwidth=80 -o "$1" README fi From ketan at ci.uchicago.edu Sun Mar 9 16:27:49 2014 From: ketan at ci.uchicago.edu (ketan at ci.uchicago.edu) Date: Sun, 9 Mar 2014 16:27:49 -0500 (CDT) Subject: [Swift-commit] r7665 - SwiftApps/cloud Message-ID: <20140309212749.AB5749D116@svn.ci.uchicago.edu> Author: ketan Date: 2014-03-09 16:27:49 -0500 (Sun, 09 Mar 2014) New Revision: 7665 Modified: SwiftApps/cloud/README SwiftApps/cloud/docbuild Log: README improvements Modified: SwiftApps/cloud/README =================================================================== --- SwiftApps/cloud/README 2014-03-09 19:15:53 UTC (rev 7664) +++ SwiftApps/cloud/README 2014-03-09 21:27:49 UTC (rev 7665) @@ -4,17 +4,20 @@ Introduction ------------ -This README describes how you can set the http://aws.amazon.com/ec2/[Amazon] cloud +This document describes how to set the http://aws.amazon.com/ec2/[Amazon] cloud resources to run applications via http://swift-lang.org/main/[Swift] along with -its +Swift's http://swift-lang.org/guides/release-0.94/userguide/userguide.html#_coasters[coaster-service]. -With the provisioning utilities packaged and described here you can -add/remove/monitor resources on a current application run. +The current package contains utilities to configure, add, remove and monitor +cloud resources to a Swift execution. add/remove/monitor resources on a +current application ru. EC2 setup ---------- -Installation and setup of EC2 commandline tools is assumed. If you do not have +For the purpose of this tutorial, installation and setup of EC2 commandline +tools API is assumed. In other words, EC2 commands such as `ec2-run-instances`, +`ec2kill`, etc must be available in your environment. If you do not have already, find instructions for setting the EC2 CLI API from http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/SettingUp_CommandLine.html[here]. Modified: SwiftApps/cloud/docbuild =================================================================== --- SwiftApps/cloud/docbuild 2014-03-09 19:15:53 UTC (rev 7664) +++ SwiftApps/cloud/docbuild 2014-03-09 21:27:49 UTC (rev 7665) @@ -2,7 +2,7 @@ if [ -z $1 ] ; then - asciidoc -a toc -a toclevels=2 -a max-width=750px -a textwidth=80 -o /home/ketan/public_html/swiftcloudprovision.html README + asciidoc -a toc -a toclevels=2 -a max-width=750px -a textwidth=80 -o /home/$(whoami)/public_html/swiftcloudprovision.html README else asciidoc -a toc -a toclevels=2 -a max-width=750px -a textwidth=80 -o "$1" README fi From ketan at ci.uchicago.edu Sun Mar 9 16:37:39 2014 From: ketan at ci.uchicago.edu (ketan at ci.uchicago.edu) Date: Sun, 9 Mar 2014 16:37:39 -0500 (CDT) Subject: [Swift-commit] r7666 - SwiftApps/cloud Message-ID: <20140309213739.19F1B9D116@svn.ci.uchicago.edu> Author: ketan Date: 2014-03-09 16:37:38 -0500 (Sun, 09 Mar 2014) New Revision: 7666 Modified: SwiftApps/cloud/README Log: README improvements Modified: SwiftApps/cloud/README =================================================================== --- SwiftApps/cloud/README 2014-03-09 21:27:49 UTC (rev 7665) +++ SwiftApps/cloud/README 2014-03-09 21:37:38 UTC (rev 7666) @@ -23,8 +23,8 @@ Installation and setup ---------------------- -To install Swift, follow instructions found http://swift-lang.org/downloads/index.php[here]. We use the Swift version 0.94 from the svn repo. Note that Swift -installation is required only on the submit host and not on cloud nodes. To checkout the current package from svn repository: +To install Swift, follow the instructions found http://swift-lang.org/downloads/index.php[here]. We use the Swift version 0.94 from the SVN repository. Note that Swift +installation is required only on the submit host and not on the cloud instances. To checkout the Swift-cloud provision package from SVN repository use the following command: ---- svn co https://svn.ci.uchicago.edu/svn/vdl2/SwiftApps/cloud swift-cloud @@ -34,7 +34,7 @@ Configure ---------- -environment variables +Environment variables ~~~~~~~~~~~~~~~~~~~~~~ Make sure `GLOBUS_TCP_PORT_RANGE` and `GLOBUS_HOSTNAME` are defined. For example: @@ -44,8 +44,8 @@ export GLOBUS_HOSTNAME=churn.mcs.anl.gov ---- -EC2 -~~~~ +EC2 configuration +~~~~~~~~~~~~~~~~~~ Make sure you have access to an EC2 image `ami-id`, have `security-group` and `keypair` set up. If you already have `keypair` for EC2 installed, you can find via the following command: @@ -64,7 +64,7 @@ coaster-service.conf ~~~~~~~~~~~~~~~~~~~~~ -Configure `coaster-service.conf` to your environment. An example `coaster-service.conf` can be +Configure `coaster-service.conf` according to your environment. An example `coaster-service.conf` can be found in the `swift-cloud` directory. Make sure to set the EC2XXX variables to the correct values as per your EC2 allocation. For example: @@ -74,14 +74,15 @@ export EC2SECGRP=Swift ---- -Set other environment variables -e.g: +Set other environment variables to suitable values, for example: ---- export WORKER_LOCATION=/home/ubuntu/worker +#username on instances, can be root export WORKER_USERNAME=ubuntu export LOG_DIR=logs export SHARED_FILESYSTEM=no +#when instances cannot connect back to submit host export SSH_TUNNELING=yes ---- @@ -94,7 +95,11 @@ start-coaster-service ---- -Above command will generate an `apps` and `sites.xml` configuration file. Use these configuration files to run Swift command as shown in the next section. Make sure `coaster-service.conf` configuration is available in the current working directory or use the `-conf` option to use config file located elsewhere. +Above command will generate an `apps` and `sites.xml` configuration file. Use +these configuration files to run Swift command as shown in the next section. +Make sure `coaster-service.conf` configuration is available in the current +working directory or use the `-conf` option to use config file located +elsewhere. Typical output of the above `start-coaster-service` will look as follows: From ketan at ci.uchicago.edu Sun Mar 9 16:44:19 2014 From: ketan at ci.uchicago.edu (ketan at ci.uchicago.edu) Date: Sun, 9 Mar 2014 16:44:19 -0500 (CDT) Subject: [Swift-commit] r7667 - SwiftApps/cloud Message-ID: <20140309214419.CDA8F9D116@svn.ci.uchicago.edu> Author: ketan Date: 2014-03-09 16:44:19 -0500 (Sun, 09 Mar 2014) New Revision: 7667 Modified: SwiftApps/cloud/README Log: README improvements Modified: SwiftApps/cloud/README =================================================================== --- SwiftApps/cloud/README 2014-03-09 21:37:38 UTC (rev 7666) +++ SwiftApps/cloud/README 2014-03-09 21:44:19 UTC (rev 7667) @@ -245,7 +245,8 @@ Swift ~~~~~~ -a. Swift not found: check your PATH and make sure the bin directory of Swift is added -b. Swift run shows no progress in task execution: Check if the cloud instances are running -c. Swift runs fail: Check if ports are open between submithost and cloud instance +a. Swift not found: Check your `PATH` and make sure the `bin` directory of Swift installation is added to `PATH`. +b. Swift run shows no progress in task execution: Check if the EC2 instances are running via `ec2-describe-instances`. +c. Swift runs fail: Check if ports are open between submithost and cloud instance. + From ketan at ci.uchicago.edu Sun Mar 9 17:01:45 2014 From: ketan at ci.uchicago.edu (ketan at ci.uchicago.edu) Date: Sun, 9 Mar 2014 17:01:45 -0500 (CDT) Subject: [Swift-commit] r7668 - SwiftApps/cloud Message-ID: <20140309220145.6ABEB9D116@svn.ci.uchicago.edu> Author: ketan Date: 2014-03-09 17:01:45 -0500 (Sun, 09 Mar 2014) New Revision: 7668 Modified: SwiftApps/cloud/README Log: README improvements Modified: SwiftApps/cloud/README =================================================================== --- SwiftApps/cloud/README 2014-03-09 21:44:19 UTC (rev 7667) +++ SwiftApps/cloud/README 2014-03-09 22:01:45 UTC (rev 7668) @@ -243,6 +243,13 @@ Coaster service ~~~~~~~~~~~~~~~ +In case of errors on `start-coaster-service`, look for any messages related to the environment variables missing. Also make sure the `GLOBUS_TCP_PORT_RANGE` and `GLOBUS_HOSTNAME` environments are defined by echoing their values on command prompt as follows: + +---- +echo $GLOBUS_TCP_PORT_RANGE +echo $GLOBUS_HOSTNAME +---- + Swift ~~~~~~ @@ -250,3 +257,4 @@ b. Swift run shows no progress in task execution: Check if the EC2 instances are running via `ec2-describe-instances`. c. Swift runs fail: Check if ports are open between submithost and cloud instance. +Feel free to contact Swift http://swift-lang.org/support/index.php[support] if issues persist. From ketan at ci.uchicago.edu Sun Mar 9 17:27:40 2014 From: ketan at ci.uchicago.edu (ketan at ci.uchicago.edu) Date: Sun, 9 Mar 2014 17:27:40 -0500 (CDT) Subject: [Swift-commit] r7669 - SwiftApps/cloud Message-ID: <20140309222740.B56FF9D116@svn.ci.uchicago.edu> Author: ketan Date: 2014-03-09 17:27:40 -0500 (Sun, 09 Mar 2014) New Revision: 7669 Modified: SwiftApps/cloud/README SwiftApps/cloud/addnodes SwiftApps/cloud/coaster-service.conf Log: README improvements Modified: SwiftApps/cloud/README =================================================================== --- SwiftApps/cloud/README 2014-03-09 22:01:45 UTC (rev 7668) +++ SwiftApps/cloud/README 2014-03-09 22:27:40 UTC (rev 7669) @@ -255,6 +255,24 @@ a. Swift not found: Check your `PATH` and make sure the `bin` directory of Swift installation is added to `PATH`. b. Swift run shows no progress in task execution: Check if the EC2 instances are running via `ec2-describe-instances`. -c. Swift runs fail: Check if ports are open between submithost and cloud instance. +c. Swift runs fail: Check if ports are open between submithost and cloud instance: +---- +ec2-describe-security-groups $(ec2-describe-instances | grep 'RESERVATION' | awk '{print $4}') +---- + +The output will look similar to (some fields are removed for brevity): + +---- ++--------------+-----------+----------+------------+----------+--------+ +| ownerId | groupName | groupDesc| ipProtocol | fromPort | toPort | ++--------------+-----------+----------+------------+----------+--------+ +| 046798482406 | Swift |for Swift | | | | +| | | | tcp | 22 | 22 | +| | | | tcp | 50000 | 51000 | ++--------------+-----------+----------+------------+----------+--------+ +---- + +Above output shows the group description for the security groups associated with your running instances. + Feel free to contact Swift http://swift-lang.org/support/index.php[support] if issues persist. Modified: SwiftApps/cloud/addnodes =================================================================== --- SwiftApps/cloud/addnodes 2014-03-09 22:01:45 UTC (rev 7668) +++ SwiftApps/cloud/addnodes 2014-03-09 22:27:40 UTC (rev 7669) @@ -57,7 +57,7 @@ #ec2-run-instance -k -n 1 -g --instance-type runinst=$(ec2-run-instance -k "$EC2KEYPAIR" -g "$EC2SECGRP" -n "$1" --instance-type t1.micro "$EC2AMI") echo "Waiting for instances to start" - sleep 90 + sleep 60 for i in $(echo $runinst | grep -o '\bi-........\b'); do ip=$(ec2din $i | grep 'running' | awk '{print $15}') start_worker_ssh $ip Modified: SwiftApps/cloud/coaster-service.conf =================================================================== --- SwiftApps/cloud/coaster-service.conf 2014-03-09 22:01:45 UTC (rev 7668) +++ SwiftApps/cloud/coaster-service.conf 2014-03-09 22:27:40 UTC (rev 7669) @@ -51,7 +51,7 @@ #app cat=/bin/cat #app bash=/bin/bash #app echo=/bin/echo -export WORKERURL="http://localhost:50001" +export WORKERURL="http://localhost:50003" export PID_FILE="/homes/ketan/.swift/.coaster-service-pids" export LOG="start-coaster-service.log" -export LOCAL_PORT="50001" +export LOCAL_PORT="50003" From ketan at ci.uchicago.edu Sun Mar 9 17:32:09 2014 From: ketan at ci.uchicago.edu (ketan at ci.uchicago.edu) Date: Sun, 9 Mar 2014 17:32:09 -0500 (CDT) Subject: [Swift-commit] r7670 - SwiftApps/cloud Message-ID: <20140309223209.5613E9D116@svn.ci.uchicago.edu> Author: ketan Date: 2014-03-09 17:32:09 -0500 (Sun, 09 Mar 2014) New Revision: 7670 Modified: SwiftApps/cloud/README Log: remnodes output Modified: SwiftApps/cloud/README =================================================================== --- SwiftApps/cloud/README 2014-03-09 22:27:40 UTC (rev 7669) +++ SwiftApps/cloud/README 2014-03-09 22:32:09 UTC (rev 7670) @@ -191,6 +191,14 @@ ./remnodes -n 5 ---- +---- +INSTANCE i-51c1c970 running shutting-down +INSTANCE i-51c1c470 running shutting-down +INSTANCE i-21v1c974 running shutting-down +INSTANCE i-51c1c973 running shutting-down +INSTANCE i-81c1c990 running shutting-down +---- + The above command will remove 5 ec2 nodes from the current run. Currently running `apps` will fail and will be retried automatically by Swift on other available nodes. ---- From ketan at ci.uchicago.edu Mon Mar 10 09:01:07 2014 From: ketan at ci.uchicago.edu (ketan at ci.uchicago.edu) Date: Mon, 10 Mar 2014 09:01:07 -0500 (CDT) Subject: [Swift-commit] r7671 - SwiftApps/cloud Message-ID: <20140310140107.D3BC39D5A4@svn.ci.uchicago.edu> Author: ketan Date: 2014-03-10 09:01:06 -0500 (Mon, 10 Mar 2014) New Revision: 7671 Modified: SwiftApps/cloud/README Log: doc improve Modified: SwiftApps/cloud/README =================================================================== --- SwiftApps/cloud/README 2014-03-09 22:32:09 UTC (rev 7670) +++ SwiftApps/cloud/README 2014-03-10 14:01:06 UTC (rev 7671) @@ -4,7 +4,7 @@ Introduction ------------ -This document describes how to set the http://aws.amazon.com/ec2/[Amazon] cloud +This tutorial describes how to set the http://aws.amazon.com/ec2/[Amazon] cloud resources to run applications via http://swift-lang.org/main/[Swift] along with Swift's http://swift-lang.org/guides/release-0.94/userguide/userguide.html#_coasters[coaster-service]. @@ -12,13 +12,13 @@ cloud resources to a Swift execution. add/remove/monitor resources on a current application ru. -EC2 setup ----------- +EC2 CLI API +------------ For the purpose of this tutorial, installation and setup of EC2 commandline tools API is assumed. In other words, EC2 commands such as `ec2-run-instances`, -`ec2kill`, etc must be available in your environment. If you do not have -already, find instructions for setting the EC2 CLI API from +`ec2kill`, etc must be available in your environment. Instructions for setting +the EC2 CLI API ican be found http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/SettingUp_CommandLine.html[here]. Installation and setup From ketan at ci.uchicago.edu Mon Mar 10 10:11:25 2014 From: ketan at ci.uchicago.edu (ketan at ci.uchicago.edu) Date: Mon, 10 Mar 2014 10:11:25 -0500 (CDT) Subject: [Swift-commit] r7672 - SwiftApps/cloud Message-ID: <20140310151125.DC4A29D5A4@svn.ci.uchicago.edu> Author: ketan Date: 2014-03-10 10:11:25 -0500 (Mon, 10 Mar 2014) New Revision: 7672 Modified: SwiftApps/cloud/README Log: small change Modified: SwiftApps/cloud/README =================================================================== --- SwiftApps/cloud/README 2014-03-10 14:01:06 UTC (rev 7671) +++ SwiftApps/cloud/README 2014-03-10 15:11:25 UTC (rev 7672) @@ -23,8 +23,11 @@ Installation and setup ---------------------- -To install Swift, follow the instructions found http://swift-lang.org/downloads/index.php[here]. We use the Swift version 0.94 from the SVN repository. Note that Swift -installation is required only on the submit host and not on the cloud instances. To checkout the Swift-cloud provision package from SVN repository use the following command: +To install Swift, follow the instructions found +http://swift-lang.org/downloads/index.php[here]. We use the Swift version 0.94 +from the SVN repository. Note that Swift installation is required only on the +submit host and not on the cloud instances. To checkout the Swift-cloud +provision package from SVN repository use the following command: ---- svn co https://svn.ci.uchicago.edu/svn/vdl2/SwiftApps/cloud swift-cloud @@ -82,7 +85,6 @@ export WORKER_USERNAME=ubuntu export LOG_DIR=logs export SHARED_FILESYSTEM=no -#when instances cannot connect back to submit host export SSH_TUNNELING=yes ---- From ketan at ci.uchicago.edu Mon Mar 10 10:32:13 2014 From: ketan at ci.uchicago.edu (ketan at ci.uchicago.edu) Date: Mon, 10 Mar 2014 10:32:13 -0500 (CDT) Subject: [Swift-commit] r7673 - SwiftApps/cloud Message-ID: <20140310153213.1FBE89D5A4@svn.ci.uchicago.edu> Author: ketan Date: 2014-03-10 10:32:13 -0500 (Mon, 10 Mar 2014) New Revision: 7673 Modified: SwiftApps/cloud/README Log: doc improvement Modified: SwiftApps/cloud/README =================================================================== --- SwiftApps/cloud/README 2014-03-10 15:11:25 UTC (rev 7672) +++ SwiftApps/cloud/README 2014-03-10 15:32:13 UTC (rev 7673) @@ -50,26 +50,32 @@ EC2 configuration ~~~~~~~~~~~~~~~~~~ -Make sure you have access to an EC2 image `ami-id`, have `security-group` and `keypair` set up. If you already have `keypair` for EC2 installed, you can find via the following command: +Make sure you have access to an EC2 image `ami-id`, have `security-group` and +`keypair` set up. If you already have `keypair` for EC2 installed, you can find +via the following command: ---- ec2-describe-keypairs ---- -The `security-group` must be set such that the ports defined in `GLOBUS_TCP_PORT_RANGE` are open for both incoming and outgoing traffic. Existing security groups can be queried as: +The `security-group` must be set such that the ports defined in +`GLOBUS_TCP_PORT_RANGE` are open for both incoming and outgoing traffic. +Existing security groups can be queried as: ---- ec2-describe-security-groups ---- -More information on setting up a security group can be found http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-network-security.html[here]. +More information on setting up a security group can be found +http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-network-security.html[here]. coaster-service.conf ~~~~~~~~~~~~~~~~~~~~~ -Configure `coaster-service.conf` according to your environment. An example `coaster-service.conf` can be -found in the `swift-cloud` directory. Make sure to set the EC2XXX variables to -the correct values as per your EC2 allocation. For example: +Configure `coaster-service.conf` according to your environment. An example +`coaster-service.conf` can be found in the `swift-cloud` directory. Make sure +to set the EC2XXX variables to the correct values as per your EC2 allocation. +For example: ---- export EC2KEYPAIR=ketan @@ -115,6 +121,15 @@ Generating sites.xml ---- +Coaster workers can be started along with the same command if the IP addresses are added to the `WORKER_HOSTS` environment variable in the `coaster-service.conf` for example: + +---- +export WORKER_HOSTS="54.243.24.104 54.243.24.154" +---- + +In this case, workers will start on the two instances and will be ready to run +Swift scripts. + Start Swift run ---------------- From ketan at ci.uchicago.edu Mon Mar 10 10:41:54 2014 From: ketan at ci.uchicago.edu (ketan at ci.uchicago.edu) Date: Mon, 10 Mar 2014 10:41:54 -0500 (CDT) Subject: [Swift-commit] r7674 - SwiftApps/cloud Message-ID: <20140310154154.9F55F9D5A4@svn.ci.uchicago.edu> Author: ketan Date: 2014-03-10 10:41:54 -0500 (Mon, 10 Mar 2014) New Revision: 7674 Added: SwiftApps/cloud/ec2screenshot.png Log: ec2 screenshot Added: SwiftApps/cloud/ec2screenshot.png =================================================================== (Binary files differ) Property changes on: SwiftApps/cloud/ec2screenshot.png ___________________________________________________________________ Added: svn:mime-type + application/octet-stream From ketan at ci.uchicago.edu Mon Mar 10 12:14:33 2014 From: ketan at ci.uchicago.edu (ketan at ci.uchicago.edu) Date: Mon, 10 Mar 2014 12:14:33 -0500 (CDT) Subject: [Swift-commit] r7676 - SwiftApps/cloud Message-ID: <20140310171433.497529D116@svn.ci.uchicago.edu> Author: ketan Date: 2014-03-10 12:14:33 -0500 (Mon, 10 Mar 2014) New Revision: 7676 Modified: SwiftApps/cloud/README Log: add screen shot Modified: SwiftApps/cloud/README =================================================================== --- SwiftApps/cloud/README 2014-03-10 17:09:55 UTC (rev 7675) +++ SwiftApps/cloud/README 2014-03-10 17:14:33 UTC (rev 7676) @@ -69,6 +69,10 @@ More information on setting up a security group can be found http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-network-security.html[here]. +Following screenshot shows places where you can manage the various EC2 related settings from the default web-gui: + +image:ec2screenshot.png["EC2 screenshot", scaledwidth="30%"] + coaster-service.conf ~~~~~~~~~~~~~~~~~~~~~ From yadunandb at ci.uchicago.edu Mon Mar 10 13:45:27 2014 From: yadunandb at ci.uchicago.edu (yadunandb at ci.uchicago.edu) Date: Mon, 10 Mar 2014 13:45:27 -0500 (CDT) Subject: [Swift-commit] r7682 - trunk/docs/userguide Message-ID: <20140310184527.E8EB29D116@svn.ci.uchicago.edu> Author: yadunandb Date: 2014-03-10 13:45:27 -0500 (Mon, 10 Mar 2014) New Revision: 7682 Modified: trunk/docs/userguide/language Log: Doc correction for using the append operator << instead of append function. Modified: trunk/docs/userguide/language =================================================================== --- trunk/docs/userguide/language 2014-03-10 18:23:25 UTC (rev 7681) +++ trunk/docs/userguide/language 2014-03-10 18:45:27 UTC (rev 7682) @@ -207,7 +207,7 @@ int[auto] array; foreach i in [1:100] { - append(array, i * 2); + array << (i*2) ; } foreach v in array { From yadunandb at ci.uchicago.edu Mon Mar 10 13:47:06 2014 From: yadunandb at ci.uchicago.edu (yadunandb at ci.uchicago.edu) Date: Mon, 10 Mar 2014 13:47:06 -0500 (CDT) Subject: [Swift-commit] r7683 - branches/release-0.94/docs/userguide Message-ID: <20140310184706.892649D116@svn.ci.uchicago.edu> Author: yadunandb Date: 2014-03-10 13:47:06 -0500 (Mon, 10 Mar 2014) New Revision: 7683 Modified: branches/release-0.94/docs/userguide/language Log: Doc update to correct the usage from append function to append operator << Modified: branches/release-0.94/docs/userguide/language =================================================================== --- branches/release-0.94/docs/userguide/language 2014-03-10 18:45:27 UTC (rev 7682) +++ branches/release-0.94/docs/userguide/language 2014-03-10 18:47:06 UTC (rev 7683) @@ -209,7 +209,7 @@ int[auto] array; foreach i in [1:100] { - append(array, i * 2); + array << (i*2) } foreach v in array { From yadunandb at ci.uchicago.edu Mon Mar 10 13:48:12 2014 From: yadunandb at ci.uchicago.edu (yadunandb at ci.uchicago.edu) Date: Mon, 10 Mar 2014 13:48:12 -0500 (CDT) Subject: [Swift-commit] r7684 - branches/release-0.95/docs/userguide Message-ID: <20140310184812.B91D19D116@svn.ci.uchicago.edu> Author: yadunandb Date: 2014-03-10 13:48:12 -0500 (Mon, 10 Mar 2014) New Revision: 7684 Modified: branches/release-0.95/docs/userguide/language Log: Doc update to correct the usage from append function to append operator << Modified: branches/release-0.95/docs/userguide/language =================================================================== --- branches/release-0.95/docs/userguide/language 2014-03-10 18:47:06 UTC (rev 7683) +++ branches/release-0.95/docs/userguide/language 2014-03-10 18:48:12 UTC (rev 7684) @@ -207,7 +207,7 @@ int[auto] array; foreach i in [1:100] { - append(array, i * 2); + array << (i*2); } foreach v in array { From yadunandb at ci.uchicago.edu Mon Mar 10 13:52:16 2014 From: yadunandb at ci.uchicago.edu (yadunandb at ci.uchicago.edu) Date: Mon, 10 Mar 2014 13:52:16 -0500 (CDT) Subject: [Swift-commit] r7685 - trunk/docs/userguide Message-ID: <20140310185216.4C1669D116@svn.ci.uchicago.edu> Author: yadunandb Date: 2014-03-10 13:52:16 -0500 (Mon, 10 Mar 2014) New Revision: 7685 Modified: trunk/docs/userguide/language Log: Minor doc update Modified: trunk/docs/userguide/language =================================================================== --- trunk/docs/userguide/language 2014-03-10 18:48:12 UTC (rev 7684) +++ trunk/docs/userguide/language 2014-03-10 18:52:16 UTC (rev 7685) @@ -229,8 +229,8 @@ int[auto] a; int[auto] b; -append(a, 1); -append(a, 2); +a << 1; +a << 2; foreach v, k in a { b[k] = a[k] * 2; From yadunandb at ci.uchicago.edu Mon Mar 10 13:53:13 2014 From: yadunandb at ci.uchicago.edu (yadunandb at ci.uchicago.edu) Date: Mon, 10 Mar 2014 13:53:13 -0500 (CDT) Subject: [Swift-commit] r7686 - branches/release-0.94/docs/userguide Message-ID: <20140310185313.735D59D116@svn.ci.uchicago.edu> Author: yadunandb Date: 2014-03-10 13:53:13 -0500 (Mon, 10 Mar 2014) New Revision: 7686 Modified: branches/release-0.94/docs/userguide/language Log: Minor doc update Modified: branches/release-0.94/docs/userguide/language =================================================================== --- branches/release-0.94/docs/userguide/language 2014-03-10 18:52:16 UTC (rev 7685) +++ branches/release-0.94/docs/userguide/language 2014-03-10 18:53:13 UTC (rev 7686) @@ -231,8 +231,8 @@ int[auto] a; int[auto] b; -append(a, 1); -append(a, 2); +a << 1; +a << 2; foreach v, k in a { b[k] = a[k] * 2; From yadunandb at ci.uchicago.edu Mon Mar 10 13:53:59 2014 From: yadunandb at ci.uchicago.edu (yadunandb at ci.uchicago.edu) Date: Mon, 10 Mar 2014 13:53:59 -0500 (CDT) Subject: [Swift-commit] r7687 - branches/release-0.95/docs/userguide Message-ID: <20140310185359.399699D116@svn.ci.uchicago.edu> Author: yadunandb Date: 2014-03-10 13:53:59 -0500 (Mon, 10 Mar 2014) New Revision: 7687 Modified: branches/release-0.95/docs/userguide/language Log: Minor doc update Modified: branches/release-0.95/docs/userguide/language =================================================================== --- branches/release-0.95/docs/userguide/language 2014-03-10 18:53:13 UTC (rev 7686) +++ branches/release-0.95/docs/userguide/language 2014-03-10 18:53:59 UTC (rev 7687) @@ -229,8 +229,8 @@ int[auto] a; int[auto] b; -append(a, 1); -append(a, 2); +a << 1; +a << 2; foreach v, k in a { b[k] = a[k] * 2; From yadunandb at ci.uchicago.edu Mon Mar 10 13:17:00 2014 From: yadunandb at ci.uchicago.edu (yadunandb at ci.uchicago.edu) Date: Mon, 10 Mar 2014 13:17:00 -0500 (CDT) Subject: [Swift-commit] r7677 - in branches/release-0.94/tests/stress: . local_cluster Message-ID: <20140310181700.87C879D5A4@svn.ci.uchicago.edu> Author: yadunandb Date: 2014-03-10 13:17:00 -0500 (Mon, 10 Mar 2014) New Revision: 7677 Removed: branches/release-0.94/tests/stress/random_fail/ Modified: branches/release-0.94/tests/stress/local_cluster/sites.template.xml branches/release-0.94/tests/stress/local_cluster/sites.xml Log: Attempting svn fix Modified: branches/release-0.94/tests/stress/local_cluster/sites.template.xml =================================================================== --- branches/release-0.94/tests/stress/local_cluster/sites.template.xml 2014-03-10 17:14:33 UTC (rev 7676) +++ branches/release-0.94/tests/stress/local_cluster/sites.template.xml 2014-03-10 18:17:00 UTC (rev 7677) @@ -22,7 +22,7 @@ 24 100 100 - pbs.aprun;pbs.mpp;depth=24;pbs.resource_list=advres=wilde.1768 + 3600 00:15:00 /lustre/beagle/{beagle.USER}/swiftwork Modified: branches/release-0.94/tests/stress/local_cluster/sites.xml =================================================================== --- branches/release-0.94/tests/stress/local_cluster/sites.xml 2014-03-10 17:14:33 UTC (rev 7676) +++ branches/release-0.94/tests/stress/local_cluster/sites.xml 2014-03-10 18:17:00 UTC (rev 7677) @@ -9,7 +9,7 @@ 00:15:00 100 100 - 1000 + 4 1 1 "group_friends.yadunand" @@ -22,14 +22,14 @@ 24 100 100 - pbs.aprun;pbs.mpp;depth=24;pbs.resource_list=advres=wilde.1768 + 3600 00:15:00 /lustre/beagle/yadunandb/swiftwork - 5 + 4 1 1 - 4.80 + 1.00 10000 /tmp/yadunandb/swiftwork From yadunandb at ci.uchicago.edu Mon Mar 10 13:17:20 2014 From: yadunandb at ci.uchicago.edu (yadunandb at ci.uchicago.edu) Date: Mon, 10 Mar 2014 13:17:20 -0500 (CDT) Subject: [Swift-commit] r7678 - in branches/release-0.94/tests/stress: . random_fail Message-ID: <20140310181720.9F5799D5A4@svn.ci.uchicago.edu> Author: yadunandb Date: 2014-03-10 13:17:20 -0500 (Mon, 10 Mar 2014) New Revision: 7678 Added: branches/release-0.94/tests/stress/random_fail/ branches/release-0.94/tests/stress/random_fail/Bug_info branches/release-0.94/tests/stress/random_fail/rand_fail_Bug1067.check.sh branches/release-0.94/tests/stress/random_fail/rand_fail_Bug1067.setup.sh branches/release-0.94/tests/stress/random_fail/rand_fail_Bug1067.swift branches/release-0.94/tests/stress/random_fail/run branches/release-0.94/tests/stress/random_fail/sites.template.xml branches/release-0.94/tests/stress/random_fail/swift.properties branches/release-0.94/tests/stress/random_fail/tc.template.data branches/release-0.94/tests/stress/random_fail/title.txt Log: Adding random_fail tests Added: branches/release-0.94/tests/stress/random_fail/Bug_info =================================================================== --- branches/release-0.94/tests/stress/random_fail/Bug_info (rev 0) +++ branches/release-0.94/tests/stress/random_fail/Bug_info 2014-03-10 18:17:20 UTC (rev 7678) @@ -0,0 +1,22 @@ +Regression tests for Bug 1067 +| Link -> http://bugzilla.mcs.anl.gov/swift/show_bug.cgi?id=1067 +Swift 0.94 swift-r6888 cog-r3762 + +Exception in sh: + Arguments: [randfail.sh, 50, 0] + Host: local + Directory: rand_fail_Bug1067-20130820-1749-6n7zbux4/jobs/6/sh-6abm13el + stderr.txt: Failing 11 < 50 + stdout.txt: +Caused by: Application /bin/bash failed with an exit code of 255 + +Exception in sh: + Arguments: [randfail.sh, 50, 0] + Host: local + Directory: rand_fail_Bug1067-20130820-1749-6n7zbux4/jobs/8/sh-8abm13el + stderr.txt: Failing 19 < 50 + stdout.txt: +Caused by: Application /bin/bash failed with an exit code of 255 + +Execution failed: + Got one name (derr) and 0 values: [] \ No newline at end of file Added: branches/release-0.94/tests/stress/random_fail/rand_fail_Bug1067.check.sh =================================================================== --- branches/release-0.94/tests/stress/random_fail/rand_fail_Bug1067.check.sh (rev 0) +++ branches/release-0.94/tests/stress/random_fail/rand_fail_Bug1067.check.sh 2014-03-10 18:17:20 UTC (rev 7678) @@ -0,0 +1,17 @@ +#!/bin/bash + +if [ ! -f ${0%.check.sh}.stdout ] +then + echo "${$0%.check.sh}.stdout missing" + exit -1 +fi + +grep "Got one name (derr)" ${0%.check.sh}.stdout +if [ "$?" == 0 ] +then + echo "EXIT : REGRESSION FOUND!" >&2 + exit -1 +else + echo "Test passed" +fi +exit 0 \ No newline at end of file Property changes on: branches/release-0.94/tests/stress/random_fail/rand_fail_Bug1067.check.sh ___________________________________________________________________ Added: svn:executable + * Added: branches/release-0.94/tests/stress/random_fail/rand_fail_Bug1067.setup.sh =================================================================== --- branches/release-0.94/tests/stress/random_fail/rand_fail_Bug1067.setup.sh (rev 0) +++ branches/release-0.94/tests/stress/random_fail/rand_fail_Bug1067.setup.sh 2014-03-10 18:17:20 UTC (rev 7678) @@ -0,0 +1,22 @@ +#!/bin/bash + +# Setup script will just output the following file + +cat<<'EOF' > randfail.sh +#!/bin/bash + +FAIL_PROBABILITY=$1 +DELAY=$2 + +ITEM=$(($RANDOM%100)) +sleep $2 + +if (( "$ITEM" <= "$FAIL_PROBABILITY" )) +then + echo "Failing $ITEM < $FAIL_PROBABILITY" >&2 + exit -1 +fi +echo "Not failing $ITEM > $FAIL_PROBABILITY" +exit 0 +EOF + Property changes on: branches/release-0.94/tests/stress/random_fail/rand_fail_Bug1067.setup.sh ___________________________________________________________________ Added: svn:executable + * Added: branches/release-0.94/tests/stress/random_fail/rand_fail_Bug1067.swift =================================================================== --- branches/release-0.94/tests/stress/random_fail/rand_fail_Bug1067.swift (rev 0) +++ branches/release-0.94/tests/stress/random_fail/rand_fail_Bug1067.swift 2014-03-10 18:17:20 UTC (rev 7678) @@ -0,0 +1,34 @@ +type file; + +file script<"randfail.sh">; + +app (file ofile1, file ofile2) quicklyFailingApp(file script, int failchance, +int delay) +{ + sh @script failchance delay stdout=@ofile1 stderr=@ofile2; +} + +app (file ofile) someApp3(file ifile, file jfile, file kfile) +{ + sh "-c" @strcat("cat ", at filename(ifile)) stdout=@ofile; +} + +app (file ofile) someApp(file ifile) +{ + sh "-c" @strcat("cat ", at filename(ifile)) stdout=@ofile; +} + +app sleep (int sec) +{ + sh "-c" @strcat("sleep ",sec); +} + +int sufficientlyLargeNumber = 100; + +file a[]; +foreach i in [0:sufficientlyLargeNumber] { + file f1; + file f2; + (f1,f2) = quicklyFailingApp(script,50,0); + a[i] = someApp(f2); +} Added: branches/release-0.94/tests/stress/random_fail/run =================================================================== --- branches/release-0.94/tests/stress/random_fail/run (rev 0) +++ branches/release-0.94/tests/stress/random_fail/run 2014-03-10 18:17:20 UTC (rev 7678) @@ -0,0 +1,21 @@ +#!/bin/bash + +PATH=/scratch/midway/yadunand/swift-0.94RC2/cog/modules/swift/dist/swift-svn/bin:$PATH + + +echo "Swift location: "; which swift +echo "Swift version : "; swift -version + +rm rand_fail_Bug1067.stdout +cat title.txt + +./rand_fail_Bug1067.setup.sh + +for i in `seq 1 10` +do +swift -tc.file tc.template.data -config swift.properties -sites.file sites.template.xml rand_fail_Bug1067.swift | tee -a rand_fail_Bug1067.stdout + +rm -rf *{swiftx,kml} rand_fail_Bug1067-* _concurrent* failed* +done + +./rand_fail_Bug1067.check.sh \ No newline at end of file Property changes on: branches/release-0.94/tests/stress/random_fail/run ___________________________________________________________________ Added: svn:executable + * Added: branches/release-0.94/tests/stress/random_fail/sites.template.xml =================================================================== --- branches/release-0.94/tests/stress/random_fail/sites.template.xml (rev 0) +++ branches/release-0.94/tests/stress/random_fail/sites.template.xml 2014-03-10 18:17:20 UTC (rev 7678) @@ -0,0 +1,20 @@ + + + + + + sandyb + 16 + 36000 + 00:10:00 + 100 + 100 + 4 + 1 + 1 + .64 + 10000 + /tmp/MIDWAY_USERNAME + + + Added: branches/release-0.94/tests/stress/random_fail/swift.properties =================================================================== --- branches/release-0.94/tests/stress/random_fail/swift.properties (rev 0) +++ branches/release-0.94/tests/stress/random_fail/swift.properties 2014-03-10 18:17:20 UTC (rev 7678) @@ -0,0 +1,11 @@ +wrapperlog.always.transfer=true +sitedir.keep=true +file.gc.enabled=false +status.mode=provider + +execution.retries=5 +lazy.errors=true + +use.wrapper.staging=false +use.provider.staging=false +provider.staging.pin.swiftfiles=falsewrapperlog.always.transfer=true Added: branches/release-0.94/tests/stress/random_fail/tc.template.data =================================================================== --- branches/release-0.94/tests/stress/random_fail/tc.template.data (rev 0) +++ branches/release-0.94/tests/stress/random_fail/tc.template.data 2014-03-10 18:17:20 UTC (rev 7678) @@ -0,0 +1,2 @@ +local perl /usr/bin/perl null null null +local sh /bin/bash Added: branches/release-0.94/tests/stress/random_fail/title.txt =================================================================== --- branches/release-0.94/tests/stress/random_fail/title.txt (rev 0) +++ branches/release-0.94/tests/stress/random_fail/title.txt 2014-03-10 18:17:20 UTC (rev 7678) @@ -0,0 +1,2 @@ +Regression tests for Bug 1067 +| Link -> http://bugzilla.mcs.anl.gov/swift/show_bug.cgi?id=1067 From yadunandb at ci.uchicago.edu Mon Mar 10 13:18:13 2014 From: yadunandb at ci.uchicago.edu (yadunandb at ci.uchicago.edu) Date: Mon, 10 Mar 2014 13:18:13 -0500 (CDT) Subject: [Swift-commit] r7679 - in branches/release-0.94/tests/sites: . bridled ci communicado osgconnect todo todo/crow todo/fusion todo/ibicluster todo/intrepid todo/surveyor Message-ID: <20140310181813.0D3399D5A4@svn.ci.uchicago.edu> Author: yadunandb Date: 2014-03-10 13:18:12 -0500 (Mon, 10 Mar 2014) New Revision: 7679 Added: branches/release-0.94/tests/sites/bridled/ branches/release-0.94/tests/sites/bridled/bridled_sanity.setup.sh branches/release-0.94/tests/sites/bridled/bridled_sanity.source.sh branches/release-0.94/tests/sites/bridled/bridled_sanity.swift branches/release-0.94/tests/sites/bridled/bridled_sanity.timeout branches/release-0.94/tests/sites/bridled/sites.template.xml branches/release-0.94/tests/sites/bridled/swift.properties branches/release-0.94/tests/sites/bridled/tc.template.data branches/release-0.94/tests/sites/bridled/title.txt branches/release-0.94/tests/sites/ci/ branches/release-0.94/tests/sites/ci/ci_sanity.setup.sh branches/release-0.94/tests/sites/ci/ci_sanity.source.sh branches/release-0.94/tests/sites/ci/ci_sanity.swift branches/release-0.94/tests/sites/ci/ci_sanity.timeout branches/release-0.94/tests/sites/ci/sanity.setup.sh branches/release-0.94/tests/sites/ci/sanity.source.sh branches/release-0.94/tests/sites/ci/sanity.swift branches/release-0.94/tests/sites/ci/sanity.timeout branches/release-0.94/tests/sites/ci/sites.template.xml branches/release-0.94/tests/sites/ci/swift.properties branches/release-0.94/tests/sites/ci/tc.template.data branches/release-0.94/tests/sites/ci/title.txt branches/release-0.94/tests/sites/communicado/ branches/release-0.94/tests/sites/communicado/communicado_sanity.setup.sh branches/release-0.94/tests/sites/communicado/communicado_sanity.source.sh branches/release-0.94/tests/sites/communicado/communicado_sanity.swift branches/release-0.94/tests/sites/communicado/communicado_sanity.timeout branches/release-0.94/tests/sites/communicado/sites.template.xml branches/release-0.94/tests/sites/communicado/swift.properties branches/release-0.94/tests/sites/communicado/tc.template.data branches/release-0.94/tests/sites/communicado/title.txt branches/release-0.94/tests/sites/osgconnect/ branches/release-0.94/tests/sites/osgconnect/osgc_sanity.setup.sh branches/release-0.94/tests/sites/osgconnect/osgc_sanity.source.sh branches/release-0.94/tests/sites/osgconnect/osgc_sanity.swift branches/release-0.94/tests/sites/osgconnect/osgc_sanity.timeout branches/release-0.94/tests/sites/osgconnect/sites.template.xml branches/release-0.94/tests/sites/osgconnect/swift.properties branches/release-0.94/tests/sites/osgconnect/tc.template.data branches/release-0.94/tests/sites/osgconnect/title.txt branches/release-0.94/tests/sites/todo/ branches/release-0.94/tests/sites/todo/crow/ branches/release-0.94/tests/sites/todo/crow/sites.template.xml branches/release-0.94/tests/sites/todo/crow/tc.template.data branches/release-0.94/tests/sites/todo/fusion/ branches/release-0.94/tests/sites/todo/fusion/data.txt branches/release-0.94/tests/sites/todo/fusion/sites.template.xml branches/release-0.94/tests/sites/todo/fusion/tc.template.data branches/release-0.94/tests/sites/todo/ibicluster/ branches/release-0.94/tests/sites/todo/ibicluster/sites.template.xml branches/release-0.94/tests/sites/todo/ibicluster/tc.template.data branches/release-0.94/tests/sites/todo/intrepid/ branches/release-0.94/tests/sites/todo/intrepid/sites.template.xml branches/release-0.94/tests/sites/todo/intrepid/tc.template.data branches/release-0.94/tests/sites/todo/intrepid/title.txt branches/release-0.94/tests/sites/todo/surveyor/ branches/release-0.94/tests/sites/todo/surveyor/README branches/release-0.94/tests/sites/todo/surveyor/sites.template.xml branches/release-0.94/tests/sites/todo/surveyor/tc.template.data branches/release-0.94/tests/sites/todo/surveyor/title.txt Log: Committing sites tests Added: branches/release-0.94/tests/sites/bridled/bridled_sanity.setup.sh =================================================================== --- branches/release-0.94/tests/sites/bridled/bridled_sanity.setup.sh (rev 0) +++ branches/release-0.94/tests/sites/bridled/bridled_sanity.setup.sh 2014-03-10 18:18:12 UTC (rev 7679) @@ -0,0 +1,13 @@ +#!/bin/bash + +USERNAME=$BRID_USERNAME + +if [[ -z $USERNAME ]] +then + echo "Remote username not provided. Skipping sites configs" +else + ls *xml + cat sites.xml | sed "s/{env.USER}/$USERNAME/" > tmp && mv tmp sites.xml +fi + +echo $GLOBUS_HOSTNAME \ No newline at end of file Property changes on: branches/release-0.94/tests/sites/bridled/bridled_sanity.setup.sh ___________________________________________________________________ Added: svn:executable + * Added: branches/release-0.94/tests/sites/bridled/bridled_sanity.source.sh =================================================================== --- branches/release-0.94/tests/sites/bridled/bridled_sanity.source.sh (rev 0) +++ branches/release-0.94/tests/sites/bridled/bridled_sanity.source.sh 2014-03-10 18:18:12 UTC (rev 7679) @@ -0,0 +1,6 @@ +#!/bin/bash +if [ "$HOSTNAME" == "midway001" ] +then + export GLOBUS_HOSTNAME=swift.rcc.uchicago.edu + export GLOBUS_TCP_PORT_RANGE=50000,51000 +fi; Property changes on: branches/release-0.94/tests/sites/bridled/bridled_sanity.source.sh ___________________________________________________________________ Added: svn:executable + * Added: branches/release-0.94/tests/sites/bridled/bridled_sanity.swift =================================================================== --- branches/release-0.94/tests/sites/bridled/bridled_sanity.swift (rev 0) +++ branches/release-0.94/tests/sites/bridled/bridled_sanity.swift 2014-03-10 18:18:12 UTC (rev 7679) @@ -0,0 +1,11 @@ +type file; + +app (file out, file err) remote_driver () +{ + date stdout=@filename(out) stderr=@filename(err); +} + +file driver_out ; +file driver_err ; + +(driver_out, driver_err) = remote_driver(); \ No newline at end of file Added: branches/release-0.94/tests/sites/bridled/bridled_sanity.timeout =================================================================== --- branches/release-0.94/tests/sites/bridled/bridled_sanity.timeout (rev 0) +++ branches/release-0.94/tests/sites/bridled/bridled_sanity.timeout 2014-03-10 18:18:12 UTC (rev 7679) @@ -0,0 +1 @@ +300 Added: branches/release-0.94/tests/sites/bridled/sites.template.xml =================================================================== --- branches/release-0.94/tests/sites/bridled/sites.template.xml (rev 0) +++ branches/release-0.94/tests/sites/bridled/sites.template.xml 2014-03-10 18:18:12 UTC (rev 7679) @@ -0,0 +1,17 @@ + + + + + + 2 + 100 + 100 + 36000 + 01:05:00 + 0.0799 + 10000 + /home/{env.USER}/swiftwork + /home/{env.USER}/swiftwork + + + \ No newline at end of file Added: branches/release-0.94/tests/sites/bridled/swift.properties =================================================================== --- branches/release-0.94/tests/sites/bridled/swift.properties (rev 0) +++ branches/release-0.94/tests/sites/bridled/swift.properties 2014-03-10 18:18:12 UTC (rev 7679) @@ -0,0 +1,8 @@ +use.provider.staging=true +use.wrapper.staging=false +wrapperlog.always.transfer=true +execution.retries=0 +lazy.errors=false +provider.staging.pin.swiftfiles=false +sitedir.keep=true +#tcp.port.range=60000,61000 \ No newline at end of file Added: branches/release-0.94/tests/sites/bridled/tc.template.data =================================================================== --- branches/release-0.94/tests/sites/bridled/tc.template.data (rev 0) +++ branches/release-0.94/tests/sites/bridled/tc.template.data 2014-03-10 18:18:12 UTC (rev 7679) @@ -0,0 +1,7 @@ +local date /bin/date null null null +beagle date /bin/date null null null +uc3 date /bin/date null null null +mcs date /bin/date null null null +midway date /bin/date null null null +communicado date /bin/date null null null +bridled date /bin/date null null null \ No newline at end of file Added: branches/release-0.94/tests/sites/bridled/title.txt =================================================================== --- branches/release-0.94/tests/sites/bridled/title.txt (rev 0) +++ branches/release-0.94/tests/sites/bridled/title.txt 2014-03-10 18:18:12 UTC (rev 7679) @@ -0,0 +1 @@ +Bridled remote sanity test Added: branches/release-0.94/tests/sites/ci/ci_sanity.setup.sh =================================================================== --- branches/release-0.94/tests/sites/ci/ci_sanity.setup.sh (rev 0) +++ branches/release-0.94/tests/sites/ci/ci_sanity.setup.sh 2014-03-10 18:18:12 UTC (rev 7679) @@ -0,0 +1,12 @@ +#!/bin/bash + +echo "BEAGLE_USERNAME : $BEAGLE_USERNAME" +USERNAME=$BEAGLE_USERNAME + +if [[ -z $USERNAME ]] +then + echo "Remote username not provided. Skipping sites configs" +else + ls *xml + cat sites.xml | sed "s/{env.USER}/$USERNAME/" > tmp && mv tmp sites.xml +fi Property changes on: branches/release-0.94/tests/sites/ci/ci_sanity.setup.sh ___________________________________________________________________ Added: svn:executable + * Added: branches/release-0.94/tests/sites/ci/ci_sanity.source.sh =================================================================== --- branches/release-0.94/tests/sites/ci/ci_sanity.source.sh (rev 0) +++ branches/release-0.94/tests/sites/ci/ci_sanity.source.sh 2014-03-10 18:18:12 UTC (rev 7679) @@ -0,0 +1,6 @@ +#!/bin/bash +if [ "$HOSTNAME" == "midway001" ] +then + export GLOBUS_HOSTNAME=swift.rcc.uchicago.edu + export GLOBUS_TCP_PORT_RANGE=50000,51000 +fi; Property changes on: branches/release-0.94/tests/sites/ci/ci_sanity.source.sh ___________________________________________________________________ Added: svn:executable + * Added: branches/release-0.94/tests/sites/ci/ci_sanity.swift =================================================================== --- branches/release-0.94/tests/sites/ci/ci_sanity.swift (rev 0) +++ branches/release-0.94/tests/sites/ci/ci_sanity.swift 2014-03-10 18:18:12 UTC (rev 7679) @@ -0,0 +1,11 @@ +type file; + +app (file out, file err) remote_driver () +{ + date stdout=@filename(out) stderr=@filename(err); +} + +file driver_out ; +file driver_err ; + +(driver_out, driver_err) = remote_driver(); \ No newline at end of file Added: branches/release-0.94/tests/sites/ci/ci_sanity.timeout =================================================================== --- branches/release-0.94/tests/sites/ci/ci_sanity.timeout (rev 0) +++ branches/release-0.94/tests/sites/ci/ci_sanity.timeout 2014-03-10 18:18:12 UTC (rev 7679) @@ -0,0 +1 @@ +300 Added: branches/release-0.94/tests/sites/ci/sanity.setup.sh =================================================================== --- branches/release-0.94/tests/sites/ci/sanity.setup.sh (rev 0) +++ branches/release-0.94/tests/sites/ci/sanity.setup.sh 2014-03-10 18:18:12 UTC (rev 7679) @@ -0,0 +1,12 @@ +#!/bin/bash + +echo "BEAGLE_USERNAME : $BEAGLE_USERNAME" +USERNAME=$BEAGLE_USERNAME + +if [[ -z $USERNAME ]] +then + echo "Remote username not provided. Skipping sites configs" +else + ls *xml + cat sites.xml | sed "s/{env.USER}/$USERNAME/" > tmp && mv tmp sites.xml +fi Property changes on: branches/release-0.94/tests/sites/ci/sanity.setup.sh ___________________________________________________________________ Added: svn:executable + * Added: branches/release-0.94/tests/sites/ci/sanity.source.sh =================================================================== --- branches/release-0.94/tests/sites/ci/sanity.source.sh (rev 0) +++ branches/release-0.94/tests/sites/ci/sanity.source.sh 2014-03-10 18:18:12 UTC (rev 7679) @@ -0,0 +1,6 @@ +#!/bin/bash +if [ "$HOSTNAME" == "midway001" ] +then + export GLOBUS_HOSTNAME=swift.rcc.uchicago.edu + export GLOBUS_TCP_PORT_RANGE=50000,51000 +fi; Property changes on: branches/release-0.94/tests/sites/ci/sanity.source.sh ___________________________________________________________________ Added: svn:executable + * Added: branches/release-0.94/tests/sites/ci/sanity.swift =================================================================== --- branches/release-0.94/tests/sites/ci/sanity.swift (rev 0) +++ branches/release-0.94/tests/sites/ci/sanity.swift 2014-03-10 18:18:12 UTC (rev 7679) @@ -0,0 +1,11 @@ +type file; + +app (file out, file err) remote_driver () +{ + date stdout=@filename(out) stderr=@filename(err); +} + +file driver_out ; +file driver_err ; + +(driver_out, driver_err) = remote_driver(); \ No newline at end of file Added: branches/release-0.94/tests/sites/ci/sanity.timeout =================================================================== --- branches/release-0.94/tests/sites/ci/sanity.timeout (rev 0) +++ branches/release-0.94/tests/sites/ci/sanity.timeout 2014-03-10 18:18:12 UTC (rev 7679) @@ -0,0 +1 @@ +300 Added: branches/release-0.94/tests/sites/ci/sites.template.xml =================================================================== --- branches/release-0.94/tests/sites/ci/sites.template.xml (rev 0) +++ branches/release-0.94/tests/sites/ci/sites.template.xml 2014-03-10 18:18:12 UTC (rev 7679) @@ -0,0 +1,19 @@ + + + + + + 24 + 100 + 100 + 3700 + 01:00:00 + 1 + 1 + 1 + 4.80 + 10000 + trace + /home/{env.USER}/swiftwork + + \ No newline at end of file Added: branches/release-0.94/tests/sites/ci/swift.properties =================================================================== --- branches/release-0.94/tests/sites/ci/swift.properties (rev 0) +++ branches/release-0.94/tests/sites/ci/swift.properties 2014-03-10 18:18:12 UTC (rev 7679) @@ -0,0 +1,8 @@ +use.provider.staging=true +use.wrapper.staging=false +wrapperlog.always.transfer=true +execution.retries=0 +lazy.errors=false +provider.staging.pin.swiftfiles=false +sitedir.keep=true +tcp.port.range=50000,51000 \ No newline at end of file Added: branches/release-0.94/tests/sites/ci/tc.template.data =================================================================== --- branches/release-0.94/tests/sites/ci/tc.template.data (rev 0) +++ branches/release-0.94/tests/sites/ci/tc.template.data 2014-03-10 18:18:12 UTC (rev 7679) @@ -0,0 +1,6 @@ +local date /bin/date null null null +beagle date /bin/date null null null +ci date /bin/date null null null +uc3 date /bin/date null null null +mcs date /bin/date null null null +midway date /bin/date null null null Added: branches/release-0.94/tests/sites/ci/title.txt =================================================================== --- branches/release-0.94/tests/sites/ci/title.txt (rev 0) +++ branches/release-0.94/tests/sites/ci/title.txt 2014-03-10 18:18:12 UTC (rev 7679) @@ -0,0 +1 @@ +CI-login remote sanity test Added: branches/release-0.94/tests/sites/communicado/communicado_sanity.setup.sh =================================================================== --- branches/release-0.94/tests/sites/communicado/communicado_sanity.setup.sh (rev 0) +++ branches/release-0.94/tests/sites/communicado/communicado_sanity.setup.sh 2014-03-10 18:18:12 UTC (rev 7679) @@ -0,0 +1,13 @@ +#!/bin/bash + +USERNAME=$COMM_USERNAME + +if [[ -z $USERNAME ]] +then + echo "Remote username not provided. Skipping sites configs" +else + ls *xml + cat sites.xml | sed "s/{env.USER}/$USERNAME/" > tmp && mv tmp sites.xml +fi + +echo $GLOBUS_HOSTNAME \ No newline at end of file Property changes on: branches/release-0.94/tests/sites/communicado/communicado_sanity.setup.sh ___________________________________________________________________ Added: svn:executable + * Added: branches/release-0.94/tests/sites/communicado/communicado_sanity.source.sh =================================================================== --- branches/release-0.94/tests/sites/communicado/communicado_sanity.source.sh (rev 0) +++ branches/release-0.94/tests/sites/communicado/communicado_sanity.source.sh 2014-03-10 18:18:12 UTC (rev 7679) @@ -0,0 +1,6 @@ +#!/bin/bash +if [ "$HOSTNAME" == "midway001" ] +then + export GLOBUS_HOSTNAME=swift.rcc.uchicago.edu + export GLOBUS_TCP_PORT_RANGE=50000,51000 +fi; Property changes on: branches/release-0.94/tests/sites/communicado/communicado_sanity.source.sh ___________________________________________________________________ Added: svn:executable + * Added: branches/release-0.94/tests/sites/communicado/communicado_sanity.swift =================================================================== --- branches/release-0.94/tests/sites/communicado/communicado_sanity.swift (rev 0) +++ branches/release-0.94/tests/sites/communicado/communicado_sanity.swift 2014-03-10 18:18:12 UTC (rev 7679) @@ -0,0 +1,11 @@ +type file; + +app (file out, file err) remote_driver () +{ + date stdout=@filename(out) stderr=@filename(err); +} + +file driver_out ; +file driver_err ; + +(driver_out, driver_err) = remote_driver(); \ No newline at end of file Added: branches/release-0.94/tests/sites/communicado/communicado_sanity.timeout =================================================================== --- branches/release-0.94/tests/sites/communicado/communicado_sanity.timeout (rev 0) +++ branches/release-0.94/tests/sites/communicado/communicado_sanity.timeout 2014-03-10 18:18:12 UTC (rev 7679) @@ -0,0 +1 @@ +300 Added: branches/release-0.94/tests/sites/communicado/sites.template.xml =================================================================== --- branches/release-0.94/tests/sites/communicado/sites.template.xml (rev 0) +++ branches/release-0.94/tests/sites/communicado/sites.template.xml 2014-03-10 18:18:12 UTC (rev 7679) @@ -0,0 +1,16 @@ + + + + + + 2 + 100 + 100 + 36000 + 01:05:00 + 0.0799 + 10000 + /home/{env.USER}/swiftwork + /home/{env.USER}/swiftwork + + \ No newline at end of file Added: branches/release-0.94/tests/sites/communicado/swift.properties =================================================================== --- branches/release-0.94/tests/sites/communicado/swift.properties (rev 0) +++ branches/release-0.94/tests/sites/communicado/swift.properties 2014-03-10 18:18:12 UTC (rev 7679) @@ -0,0 +1,8 @@ +use.provider.staging=true +use.wrapper.staging=false +wrapperlog.always.transfer=true +execution.retries=0 +lazy.errors=false +provider.staging.pin.swiftfiles=false +sitedir.keep=true +#tcp.port.range=60000,61000 \ No newline at end of file Added: branches/release-0.94/tests/sites/communicado/tc.template.data =================================================================== --- branches/release-0.94/tests/sites/communicado/tc.template.data (rev 0) +++ branches/release-0.94/tests/sites/communicado/tc.template.data 2014-03-10 18:18:12 UTC (rev 7679) @@ -0,0 +1,7 @@ +local date /bin/date null null null +beagle date /bin/date null null null +uc3 date /bin/date null null null +mcs date /bin/date null null null +midway date /bin/date null null null +communicado date /bin/date null null null +bridled date /bin/date null null null \ No newline at end of file Added: branches/release-0.94/tests/sites/communicado/title.txt =================================================================== --- branches/release-0.94/tests/sites/communicado/title.txt (rev 0) +++ branches/release-0.94/tests/sites/communicado/title.txt 2014-03-10 18:18:12 UTC (rev 7679) @@ -0,0 +1 @@ +Communicado remote sanity test Added: branches/release-0.94/tests/sites/osgconnect/osgc_sanity.setup.sh =================================================================== --- branches/release-0.94/tests/sites/osgconnect/osgc_sanity.setup.sh (rev 0) +++ branches/release-0.94/tests/sites/osgconnect/osgc_sanity.setup.sh 2014-03-10 18:18:12 UTC (rev 7679) @@ -0,0 +1,11 @@ +#!/bin/bash + +USERNAME=$UC3_USERNAME + +if [[ -z $USERNAME ]] +then + echo "Remote username not provided. Skipping sites configs" +else + ls *xml + cat sites.xml | sed "s/{env.USER}/$USERNAME/" > tmp && mv tmp sites.xml +fi Property changes on: branches/release-0.94/tests/sites/osgconnect/osgc_sanity.setup.sh ___________________________________________________________________ Added: svn:executable + * Added: branches/release-0.94/tests/sites/osgconnect/osgc_sanity.source.sh =================================================================== --- branches/release-0.94/tests/sites/osgconnect/osgc_sanity.source.sh (rev 0) +++ branches/release-0.94/tests/sites/osgconnect/osgc_sanity.source.sh 2014-03-10 18:18:12 UTC (rev 7679) @@ -0,0 +1,6 @@ +#!/bin/bash +if [ "$HOSTNAME" == "midway001" ] +then + export GLOBUS_HOSTNAME=swift.rcc.uchicago.edu + export GLOBUS_TCP_PORT_RANGE=50000,51000 +fi; Property changes on: branches/release-0.94/tests/sites/osgconnect/osgc_sanity.source.sh ___________________________________________________________________ Added: svn:executable + * Added: branches/release-0.94/tests/sites/osgconnect/osgc_sanity.swift =================================================================== --- branches/release-0.94/tests/sites/osgconnect/osgc_sanity.swift (rev 0) +++ branches/release-0.94/tests/sites/osgconnect/osgc_sanity.swift 2014-03-10 18:18:12 UTC (rev 7679) @@ -0,0 +1,11 @@ +type file; + +app (file out, file err) remote_driver () +{ + date stdout=@filename(out) stderr=@filename(err); +} + +file driver_out ; +file driver_err ; + +(driver_out, driver_err) = remote_driver(); \ No newline at end of file Added: branches/release-0.94/tests/sites/osgconnect/osgc_sanity.timeout =================================================================== --- branches/release-0.94/tests/sites/osgconnect/osgc_sanity.timeout (rev 0) +++ branches/release-0.94/tests/sites/osgconnect/osgc_sanity.timeout 2014-03-10 18:18:12 UTC (rev 7679) @@ -0,0 +1 @@ +500 Added: branches/release-0.94/tests/sites/osgconnect/sites.template.xml =================================================================== --- branches/release-0.94/tests/sites/osgconnect/sites.template.xml (rev 0) +++ branches/release-0.94/tests/sites/osgconnect/sites.template.xml 2014-03-10 18:18:12 UTC (rev 7679) @@ -0,0 +1,20 @@ + + + + + + 10.00 + 10000 + 1 + 3600 + 00:30:00 + 100 + 100 + 1 + 1 + 1 + nonshared + "Swift" + . + + Added: branches/release-0.94/tests/sites/osgconnect/swift.properties =================================================================== --- branches/release-0.94/tests/sites/osgconnect/swift.properties (rev 0) +++ branches/release-0.94/tests/sites/osgconnect/swift.properties 2014-03-10 18:18:12 UTC (rev 7679) @@ -0,0 +1,8 @@ +use.provider.staging=true +use.wrapper.staging=false +wrapperlog.always.transfer=true +execution.retries=0 +lazy.errors=false +provider.staging.pin.swiftfiles=false +sitedir.keep=true +tcp.port.range=50000,51000 \ No newline at end of file Added: branches/release-0.94/tests/sites/osgconnect/tc.template.data =================================================================== --- branches/release-0.94/tests/sites/osgconnect/tc.template.data (rev 0) +++ branches/release-0.94/tests/sites/osgconnect/tc.template.data 2014-03-10 18:18:12 UTC (rev 7679) @@ -0,0 +1,6 @@ +local date /bin/date null null null +beagle date /bin/date null null null +uc3 date /bin/date null null null +mcs date /bin/date null null null +midway date /bin/date null null null +osgc date /bin/date null null null \ No newline at end of file Added: branches/release-0.94/tests/sites/osgconnect/title.txt =================================================================== --- branches/release-0.94/tests/sites/osgconnect/title.txt (rev 0) +++ branches/release-0.94/tests/sites/osgconnect/title.txt 2014-03-10 18:18:12 UTC (rev 7679) @@ -0,0 +1 @@ +OSG-Connect remote sanity test Added: branches/release-0.94/tests/sites/todo/crow/sites.template.xml =================================================================== --- branches/release-0.94/tests/sites/todo/crow/sites.template.xml (rev 0) +++ branches/release-0.94/tests/sites/todo/crow/sites.template.xml 2014-03-10 18:18:12 UTC (rev 7679) @@ -0,0 +1,31 @@ + + + + + + + + + + + 1 + 7200 + + + pbs.aprun;pbs.mpp;depth=6 + + 6 + 1 + 1 + 1 + DEBUG + {wdir} + 5.99 + 10000 + {wdir} + + + + Added: branches/release-0.94/tests/sites/todo/crow/tc.template.data =================================================================== --- branches/release-0.94/tests/sites/todo/crow/tc.template.data (rev 0) +++ branches/release-0.94/tests/sites/todo/crow/tc.template.data 2014-03-10 18:18:12 UTC (rev 7679) @@ -0,0 +1,7 @@ +crow echo /bin/echo INSTALLED INTEL32::LINUX +crow cat /bin/cat INSTALLED INTEL32::LINUX +crow ls /bin/ls INSTALLED INTEL32::LINUX +crow grep /bin/grep INSTALLED INTEL32::LINUX +crow sort /bin/sort INSTALLED INTEL32::LINUX +crow paste /bin/paste INSTALLED INTEL32::LINUX +crow wc /usr/bin/wc INSTALLED INTEL32::LINUX Added: branches/release-0.94/tests/sites/todo/fusion/data.txt =================================================================== --- branches/release-0.94/tests/sites/todo/fusion/data.txt (rev 0) +++ branches/release-0.94/tests/sites/todo/fusion/data.txt 2014-03-10 18:18:12 UTC (rev 7679) @@ -0,0 +1 @@ +Hello world Added: branches/release-0.94/tests/sites/todo/fusion/sites.template.xml =================================================================== --- branches/release-0.94/tests/sites/todo/fusion/sites.template.xml (rev 0) +++ branches/release-0.94/tests/sites/todo/fusion/sites.template.xml 2014-03-10 18:18:12 UTC (rev 7679) @@ -0,0 +1,16 @@ + + + + + 750 + 1 + 1 + 1 + 2 + shared + 5.99 + 10000 + _WORK_ + + + Added: branches/release-0.94/tests/sites/todo/fusion/tc.template.data =================================================================== --- branches/release-0.94/tests/sites/todo/fusion/tc.template.data (rev 0) +++ branches/release-0.94/tests/sites/todo/fusion/tc.template.data 2014-03-10 18:18:12 UTC (rev 7679) @@ -0,0 +1,7 @@ +fusion echo /bin/echo INSTALLED INTEL32::LINUX +fusion cat /bin/cat INSTALLED INTEL32::LINUX +fusion ls /bin/ls INSTALLED INTEL32::LINUX +fusion grep /bin/grep INSTALLED INTEL32::LINUX +fusion sort /bin/sort INSTALLED INTEL32::LINUX +fusion paste /bin/paste INSTALLED INTEL32::LINUX +fusion wc /usr/bin/wc INSTALLED INTEL32::LINUX Added: branches/release-0.94/tests/sites/todo/ibicluster/sites.template.xml =================================================================== --- branches/release-0.94/tests/sites/todo/ibicluster/sites.template.xml (rev 0) +++ branches/release-0.94/tests/sites/todo/ibicluster/sites.template.xml 2014-03-10 18:18:12 UTC (rev 7679) @@ -0,0 +1,14 @@ + + + + threaded + all.q + 8 + 1 + 2 + 0.159 + 10000 + + _WORK_ + + Added: branches/release-0.94/tests/sites/todo/ibicluster/tc.template.data =================================================================== --- branches/release-0.94/tests/sites/todo/ibicluster/tc.template.data (rev 0) +++ branches/release-0.94/tests/sites/todo/ibicluster/tc.template.data 2014-03-10 18:18:12 UTC (rev 7679) @@ -0,0 +1,8 @@ +ibicluster echo /bin/echo INSTALLED INTEL32::LINUX +ibicluster cat /bin/cat INSTALLED INTEL32::LINUX +ibicluster ls /bin/ls INSTALLED INTEL32::LINUX +ibicluster grep /bin/grep INSTALLED INTEL32::LINUX +ibicluster sort /bin/sort INSTALLED INTEL32::LINUX +ibicluster paste /bin/paste INSTALLED INTEL32::LINUX +ibicluster wc /usr/bin/wc INSTALLED INTEL32::LINUX + Added: branches/release-0.94/tests/sites/todo/intrepid/sites.template.xml =================================================================== --- branches/release-0.94/tests/sites/todo/intrepid/sites.template.xml (rev 0) +++ branches/release-0.94/tests/sites/todo/intrepid/sites.template.xml 2014-03-10 18:18:12 UTC (rev 7679) @@ -0,0 +1,32 @@ + + + + + + /scratch/wozniak/work + + 0.04 + file + + + + + + + _HOST_ + _PROJECT_ + _QUEUE_ + zeptoos + true + 5.11 + 10000 + 1 + DEBUG + 1 + 900 + 512 + 512 + _WORK_ + + + Added: branches/release-0.94/tests/sites/todo/intrepid/tc.template.data =================================================================== --- branches/release-0.94/tests/sites/todo/intrepid/tc.template.data (rev 0) +++ branches/release-0.94/tests/sites/todo/intrepid/tc.template.data 2014-03-10 18:18:12 UTC (rev 7679) @@ -0,0 +1 @@ +coasters_alcfbgp cp /bin/cp INSTALLED INTEL32::LINUX null Added: branches/release-0.94/tests/sites/todo/intrepid/title.txt =================================================================== --- branches/release-0.94/tests/sites/todo/intrepid/title.txt (rev 0) +++ branches/release-0.94/tests/sites/todo/intrepid/title.txt 2014-03-10 18:18:12 UTC (rev 7679) @@ -0,0 +1 @@ +Site Test: BG/P: Intrepid Added: branches/release-0.94/tests/sites/todo/surveyor/README =================================================================== --- branches/release-0.94/tests/sites/todo/surveyor/README (rev 0) +++ branches/release-0.94/tests/sites/todo/surveyor/README 2014-03-10 18:18:12 UTC (rev 7679) @@ -0,0 +1,3 @@ +Be sure to set PROJECT and QUEUE. These settings worked for me, but unsure if they are universal +export PROJECT=HTCScienceApps +export QUEUE=default Added: branches/release-0.94/tests/sites/todo/surveyor/sites.template.xml =================================================================== --- branches/release-0.94/tests/sites/todo/surveyor/sites.template.xml (rev 0) +++ branches/release-0.94/tests/sites/todo/surveyor/sites.template.xml 2014-03-10 18:18:12 UTC (rev 7679) @@ -0,0 +1,22 @@ + + + + + + _HOST_ + _PROJECT_ + _QUEUE_ + zeptoos + true + 21 + 10000 + 1 + DEBUG + 1 + 900 + 64 + 64 + _WORK_ + + + Added: branches/release-0.94/tests/sites/todo/surveyor/tc.template.data =================================================================== --- branches/release-0.94/tests/sites/todo/surveyor/tc.template.data (rev 0) +++ branches/release-0.94/tests/sites/todo/surveyor/tc.template.data 2014-03-10 18:18:12 UTC (rev 7679) @@ -0,0 +1,7 @@ +surveyor echo /bin/echo INSTALLED INTEL32::LINUX +surveyor cat /bin/cat INSTALLED INTEL32::LINUX +surveyor ls /bin/ls INSTALLED INTEL32::LINUX +surveyor grep /bin/grep INSTALLED INTEL32::LINUX +surveyor sort /bin/sort INSTALLED INTEL32::LINUX +surveyor paste /bin/paste INSTALLED INTEL32::LINUX +surveyor wc /usr/bin/wc INSTALLED INTEL32::LINUX Added: branches/release-0.94/tests/sites/todo/surveyor/title.txt =================================================================== --- branches/release-0.94/tests/sites/todo/surveyor/title.txt (rev 0) +++ branches/release-0.94/tests/sites/todo/surveyor/title.txt 2014-03-10 18:18:12 UTC (rev 7679) @@ -0,0 +1 @@ +Surveyor Site Configuration Test From yadunandb at ci.uchicago.edu Mon Mar 10 13:21:04 2014 From: yadunandb at ci.uchicago.edu (yadunandb at ci.uchicago.edu) Date: Mon, 10 Mar 2014 13:21:04 -0500 (CDT) Subject: [Swift-commit] r7680 - in branches/release-0.94/tests/sites: beagle blues fusion mac-frisbee mcs midway multiple_coaster_pools raven stampede uc3 Message-ID: <20140310182104.09BA69D5A4@svn.ci.uchicago.edu> Author: yadunandb Date: 2014-03-10 13:21:03 -0500 (Mon, 10 Mar 2014) New Revision: 7680 Added: branches/release-0.94/tests/sites/beagle/beagle_sanity.setup.sh branches/release-0.94/tests/sites/beagle/beagle_sanity.source.sh branches/release-0.94/tests/sites/beagle/beagle_sanity.swift branches/release-0.94/tests/sites/beagle/beagle_sanity.timeout branches/release-0.94/tests/sites/blues/blues_sanity.setup.sh branches/release-0.94/tests/sites/blues/blues_sanity.source.sh branches/release-0.94/tests/sites/blues/blues_sanity.swift branches/release-0.94/tests/sites/blues/blues_sanity.timeout branches/release-0.94/tests/sites/fusion/fusion_sanity.setup.sh branches/release-0.94/tests/sites/fusion/fusion_sanity.source.sh branches/release-0.94/tests/sites/fusion/fusion_sanity.swift branches/release-0.94/tests/sites/fusion/fusion_sanity.timeout branches/release-0.94/tests/sites/mac-frisbee/mac-frisbee_sanity.setup.sh branches/release-0.94/tests/sites/mac-frisbee/mac-frisbee_sanity.source.sh branches/release-0.94/tests/sites/mac-frisbee/mac-frisbee_sanity.swift branches/release-0.94/tests/sites/mac-frisbee/mac-frisbee_sanity.timeout branches/release-0.94/tests/sites/mcs/mcs_sanity.setup.sh branches/release-0.94/tests/sites/mcs/mcs_sanity.source.sh branches/release-0.94/tests/sites/mcs/mcs_sanity.swift branches/release-0.94/tests/sites/mcs/mcs_sanity.timeout branches/release-0.94/tests/sites/midway/midway_sanity.setup.sh branches/release-0.94/tests/sites/midway/midway_sanity.source.sh branches/release-0.94/tests/sites/midway/midway_sanity.swift branches/release-0.94/tests/sites/midway/midway_sanity.timeout branches/release-0.94/tests/sites/multiple_coaster_pools/sites.xml branches/release-0.94/tests/sites/raven/raven_sanity.setup.sh branches/release-0.94/tests/sites/raven/raven_sanity.source.sh branches/release-0.94/tests/sites/raven/raven_sanity.swift branches/release-0.94/tests/sites/raven/raven_sanity.timeout branches/release-0.94/tests/sites/stampede/stampede_sanity.setup.sh branches/release-0.94/tests/sites/stampede/stampede_sanity.source.sh branches/release-0.94/tests/sites/stampede/stampede_sanity.swift branches/release-0.94/tests/sites/stampede/stampede_sanity.timeout branches/release-0.94/tests/sites/uc3/uc3_sanity.setup.sh branches/release-0.94/tests/sites/uc3/uc3_sanity.source.sh branches/release-0.94/tests/sites/uc3/uc3_sanity.swift branches/release-0.94/tests/sites/uc3/uc3_sanity.timeout Log: Updating sites tests to 0.95 Added: branches/release-0.94/tests/sites/beagle/beagle_sanity.setup.sh =================================================================== --- branches/release-0.94/tests/sites/beagle/beagle_sanity.setup.sh (rev 0) +++ branches/release-0.94/tests/sites/beagle/beagle_sanity.setup.sh 2014-03-10 18:21:03 UTC (rev 7680) @@ -0,0 +1,15 @@ +#!/bin/bash + +echo "BEAGLE_USERNAME : $BEAGLE_USERNAME" +echo "MIDWAY_USERNAME : $MIDWAY_USERNAME" +echo "MCS_USERNAME : $MCS_USERNAME" +echo "UC3_USERNAME : $UC3_USERNAME" +USERNAME=$BEAGLE_USERNAME + +if [[ -z $USERNAME ]] +then + echo "Remote username not provided. Skipping sites configs" +else + ls *xml + cat sites.xml | sed "s/{env.USER}/$USERNAME/" > tmp && mv tmp sites.xml +fi Property changes on: branches/release-0.94/tests/sites/beagle/beagle_sanity.setup.sh ___________________________________________________________________ Added: svn:executable + * Added: branches/release-0.94/tests/sites/beagle/beagle_sanity.source.sh =================================================================== --- branches/release-0.94/tests/sites/beagle/beagle_sanity.source.sh (rev 0) +++ branches/release-0.94/tests/sites/beagle/beagle_sanity.source.sh 2014-03-10 18:21:03 UTC (rev 7680) @@ -0,0 +1,6 @@ +#!/bin/bash +if [ "$HOSTNAME" == "midway001" ] +then + export GLOBUS_HOSTNAME=swift.rcc.uchicago.edu + export GLOBUS_TCP_PORT_RANGE=50000,51000 +fi; Property changes on: branches/release-0.94/tests/sites/beagle/beagle_sanity.source.sh ___________________________________________________________________ Added: svn:executable + * Added: branches/release-0.94/tests/sites/beagle/beagle_sanity.swift =================================================================== --- branches/release-0.94/tests/sites/beagle/beagle_sanity.swift (rev 0) +++ branches/release-0.94/tests/sites/beagle/beagle_sanity.swift 2014-03-10 18:21:03 UTC (rev 7680) @@ -0,0 +1,11 @@ +type file; + +app (file out, file err) remote_driver () +{ + date stdout=@filename(out) stderr=@filename(err); +} + +file driver_out ; +file driver_err ; + +(driver_out, driver_err) = remote_driver(); \ No newline at end of file Added: branches/release-0.94/tests/sites/beagle/beagle_sanity.timeout =================================================================== --- branches/release-0.94/tests/sites/beagle/beagle_sanity.timeout (rev 0) +++ branches/release-0.94/tests/sites/beagle/beagle_sanity.timeout 2014-03-10 18:21:03 UTC (rev 7680) @@ -0,0 +1 @@ +300 Added: branches/release-0.94/tests/sites/blues/blues_sanity.setup.sh =================================================================== --- branches/release-0.94/tests/sites/blues/blues_sanity.setup.sh (rev 0) +++ branches/release-0.94/tests/sites/blues/blues_sanity.setup.sh 2014-03-10 18:21:03 UTC (rev 7680) @@ -0,0 +1,11 @@ +#!/bin/bash + +USERNAME=$BLUES_USERNAME + +if [[ -z $USERNAME ]] +then + echo "Remote username not provided. Skipping sites configs" +else + ls *xml + cat sites.xml | sed "s/{env.USER}/$USERNAME/" > tmp && mv tmp sites.xml +fi Property changes on: branches/release-0.94/tests/sites/blues/blues_sanity.setup.sh ___________________________________________________________________ Added: svn:executable + * Added: branches/release-0.94/tests/sites/blues/blues_sanity.source.sh =================================================================== --- branches/release-0.94/tests/sites/blues/blues_sanity.source.sh (rev 0) +++ branches/release-0.94/tests/sites/blues/blues_sanity.source.sh 2014-03-10 18:21:03 UTC (rev 7680) @@ -0,0 +1,6 @@ +#!/bin/bash +if [ "$HOSTNAME" == "midway001" ] +then + export GLOBUS_HOSTNAME=swift.rcc.uchicago.edu + export GLOBUS_TCP_PORT_RANGE=50000,51000 +fi; Property changes on: branches/release-0.94/tests/sites/blues/blues_sanity.source.sh ___________________________________________________________________ Added: svn:executable + * Added: branches/release-0.94/tests/sites/blues/blues_sanity.swift =================================================================== --- branches/release-0.94/tests/sites/blues/blues_sanity.swift (rev 0) +++ branches/release-0.94/tests/sites/blues/blues_sanity.swift 2014-03-10 18:21:03 UTC (rev 7680) @@ -0,0 +1,11 @@ +type file; + +app (file out, file err) remote_driver () +{ + date stdout=@filename(out) stderr=@filename(err); +} + +file driver_out ; +file driver_err ; + +(driver_out, driver_err) = remote_driver(); \ No newline at end of file Added: branches/release-0.94/tests/sites/blues/blues_sanity.timeout =================================================================== --- branches/release-0.94/tests/sites/blues/blues_sanity.timeout (rev 0) +++ branches/release-0.94/tests/sites/blues/blues_sanity.timeout 2014-03-10 18:21:03 UTC (rev 7680) @@ -0,0 +1 @@ +300 Added: branches/release-0.94/tests/sites/fusion/fusion_sanity.setup.sh =================================================================== --- branches/release-0.94/tests/sites/fusion/fusion_sanity.setup.sh (rev 0) +++ branches/release-0.94/tests/sites/fusion/fusion_sanity.setup.sh 2014-03-10 18:21:03 UTC (rev 7680) @@ -0,0 +1,11 @@ +#!/bin/bash + +USERNAME=$FUSION_USERNAME + +if [[ -z $USERNAME ]] +then + echo "Remote username not provided. Skipping sites configs" +else + ls *xml + cat sites.xml | sed "s/{env.USER}/$USERNAME/" > tmp && mv tmp sites.xml +fi Property changes on: branches/release-0.94/tests/sites/fusion/fusion_sanity.setup.sh ___________________________________________________________________ Added: svn:executable + * Added: branches/release-0.94/tests/sites/fusion/fusion_sanity.source.sh =================================================================== --- branches/release-0.94/tests/sites/fusion/fusion_sanity.source.sh (rev 0) +++ branches/release-0.94/tests/sites/fusion/fusion_sanity.source.sh 2014-03-10 18:21:03 UTC (rev 7680) @@ -0,0 +1,6 @@ +#!/bin/bash +if [ "$HOSTNAME" == "midway001" ] +then + export GLOBUS_HOSTNAME=swift.rcc.uchicago.edu + export GLOBUS_TCP_PORT_RANGE=50000,51000 +fi; Property changes on: branches/release-0.94/tests/sites/fusion/fusion_sanity.source.sh ___________________________________________________________________ Added: svn:executable + * Added: branches/release-0.94/tests/sites/fusion/fusion_sanity.swift =================================================================== --- branches/release-0.94/tests/sites/fusion/fusion_sanity.swift (rev 0) +++ branches/release-0.94/tests/sites/fusion/fusion_sanity.swift 2014-03-10 18:21:03 UTC (rev 7680) @@ -0,0 +1,11 @@ +type file; + +app (file out, file err) remote_driver () +{ + date stdout=@filename(out) stderr=@filename(err); +} + +file driver_out ; +file driver_err ; + +(driver_out, driver_err) = remote_driver(); \ No newline at end of file Added: branches/release-0.94/tests/sites/fusion/fusion_sanity.timeout =================================================================== --- branches/release-0.94/tests/sites/fusion/fusion_sanity.timeout (rev 0) +++ branches/release-0.94/tests/sites/fusion/fusion_sanity.timeout 2014-03-10 18:21:03 UTC (rev 7680) @@ -0,0 +1 @@ +300 Added: branches/release-0.94/tests/sites/mac-frisbee/mac-frisbee_sanity.setup.sh =================================================================== --- branches/release-0.94/tests/sites/mac-frisbee/mac-frisbee_sanity.setup.sh (rev 0) +++ branches/release-0.94/tests/sites/mac-frisbee/mac-frisbee_sanity.setup.sh 2014-03-10 18:21:03 UTC (rev 7680) @@ -0,0 +1,11 @@ +#!/bin/bash + +USERNAME=$MCS_USERNAME + +if [[ -z $USERNAME ]] +then + echo "Remote username not provided. Skipping sites configs" +else + ls *xml + cat sites.xml | sed "s/{env.USER}/$USERNAME/" > tmp && mv tmp sites.xml +fi Property changes on: branches/release-0.94/tests/sites/mac-frisbee/mac-frisbee_sanity.setup.sh ___________________________________________________________________ Added: svn:executable + * Added: branches/release-0.94/tests/sites/mac-frisbee/mac-frisbee_sanity.source.sh =================================================================== --- branches/release-0.94/tests/sites/mac-frisbee/mac-frisbee_sanity.source.sh (rev 0) +++ branches/release-0.94/tests/sites/mac-frisbee/mac-frisbee_sanity.source.sh 2014-03-10 18:21:03 UTC (rev 7680) @@ -0,0 +1,6 @@ +#!/bin/bash +if [ "$HOSTNAME" == "midway001" ] +then + export GLOBUS_HOSTNAME=swift.rcc.uchicago.edu + export GLOBUS_TCP_PORT_RANGE=50000,51000 +fi; Property changes on: branches/release-0.94/tests/sites/mac-frisbee/mac-frisbee_sanity.source.sh ___________________________________________________________________ Added: svn:executable + * Added: branches/release-0.94/tests/sites/mac-frisbee/mac-frisbee_sanity.swift =================================================================== --- branches/release-0.94/tests/sites/mac-frisbee/mac-frisbee_sanity.swift (rev 0) +++ branches/release-0.94/tests/sites/mac-frisbee/mac-frisbee_sanity.swift 2014-03-10 18:21:03 UTC (rev 7680) @@ -0,0 +1,11 @@ +type file; + +app (file out, file err) remote_driver () +{ + date stdout=@filename(out) stderr=@filename(err); +} + +file driver_out ; +file driver_err ; + +(driver_out, driver_err) = remote_driver(); \ No newline at end of file Added: branches/release-0.94/tests/sites/mac-frisbee/mac-frisbee_sanity.timeout =================================================================== --- branches/release-0.94/tests/sites/mac-frisbee/mac-frisbee_sanity.timeout (rev 0) +++ branches/release-0.94/tests/sites/mac-frisbee/mac-frisbee_sanity.timeout 2014-03-10 18:21:03 UTC (rev 7680) @@ -0,0 +1 @@ +300 Added: branches/release-0.94/tests/sites/mcs/mcs_sanity.setup.sh =================================================================== --- branches/release-0.94/tests/sites/mcs/mcs_sanity.setup.sh (rev 0) +++ branches/release-0.94/tests/sites/mcs/mcs_sanity.setup.sh 2014-03-10 18:21:03 UTC (rev 7680) @@ -0,0 +1,11 @@ +#!/bin/bash + +USERNAME=$MCS_USERNAME + +if [[ -z $USERNAME ]] +then + echo "Remote username not provided. Skipping sites configs" +else + ls *xml + cat sites.xml | sed "s/{env.USER}/$USERNAME/" > tmp && mv tmp sites.xml +fi Property changes on: branches/release-0.94/tests/sites/mcs/mcs_sanity.setup.sh ___________________________________________________________________ Added: svn:executable + * Added: branches/release-0.94/tests/sites/mcs/mcs_sanity.source.sh =================================================================== --- branches/release-0.94/tests/sites/mcs/mcs_sanity.source.sh (rev 0) +++ branches/release-0.94/tests/sites/mcs/mcs_sanity.source.sh 2014-03-10 18:21:03 UTC (rev 7680) @@ -0,0 +1,6 @@ +#!/bin/bash +if [ "$HOSTNAME" == "midway001" ] +then + export GLOBUS_HOSTNAME=swift.rcc.uchicago.edu + export GLOBUS_TCP_PORT_RANGE=50000,51000 +fi; Property changes on: branches/release-0.94/tests/sites/mcs/mcs_sanity.source.sh ___________________________________________________________________ Added: svn:executable + * Added: branches/release-0.94/tests/sites/mcs/mcs_sanity.swift =================================================================== --- branches/release-0.94/tests/sites/mcs/mcs_sanity.swift (rev 0) +++ branches/release-0.94/tests/sites/mcs/mcs_sanity.swift 2014-03-10 18:21:03 UTC (rev 7680) @@ -0,0 +1,11 @@ +type file; + +app (file out, file err) remote_driver () +{ + date stdout=@filename(out) stderr=@filename(err); +} + +file driver_out ; +file driver_err ; + +(driver_out, driver_err) = remote_driver(); \ No newline at end of file Added: branches/release-0.94/tests/sites/mcs/mcs_sanity.timeout =================================================================== --- branches/release-0.94/tests/sites/mcs/mcs_sanity.timeout (rev 0) +++ branches/release-0.94/tests/sites/mcs/mcs_sanity.timeout 2014-03-10 18:21:03 UTC (rev 7680) @@ -0,0 +1 @@ +300 Added: branches/release-0.94/tests/sites/midway/midway_sanity.setup.sh =================================================================== --- branches/release-0.94/tests/sites/midway/midway_sanity.setup.sh (rev 0) +++ branches/release-0.94/tests/sites/midway/midway_sanity.setup.sh 2014-03-10 18:21:03 UTC (rev 7680) @@ -0,0 +1,11 @@ +#!/bin/bash + +USERNAME=$MIDWAY_USERNAME + +if [[ -z $USERNAME ]] +then + echo "Remote username not provided. Skipping sites configs" +else + ls *xml + cat sites.xml | sed "s/{env.USER}/$USERNAME/" > tmp && mv tmp sites.xml +fi Property changes on: branches/release-0.94/tests/sites/midway/midway_sanity.setup.sh ___________________________________________________________________ Added: svn:executable + * Added: branches/release-0.94/tests/sites/midway/midway_sanity.source.sh =================================================================== --- branches/release-0.94/tests/sites/midway/midway_sanity.source.sh (rev 0) +++ branches/release-0.94/tests/sites/midway/midway_sanity.source.sh 2014-03-10 18:21:03 UTC (rev 7680) @@ -0,0 +1,6 @@ +#!/bin/bash +if [ "$HOSTNAME" == "midway001" ] +then + export GLOBUS_HOSTNAME=swift.rcc.uchicago.edu + export GLOBUS_TCP_PORT_RANGE=50000,51000 +fi; Property changes on: branches/release-0.94/tests/sites/midway/midway_sanity.source.sh ___________________________________________________________________ Added: svn:executable + * Added: branches/release-0.94/tests/sites/midway/midway_sanity.swift =================================================================== --- branches/release-0.94/tests/sites/midway/midway_sanity.swift (rev 0) +++ branches/release-0.94/tests/sites/midway/midway_sanity.swift 2014-03-10 18:21:03 UTC (rev 7680) @@ -0,0 +1,11 @@ +type file; + +app (file out, file err) remote_driver () +{ + date stdout=@filename(out) stderr=@filename(err); +} + +file driver_out ; +file driver_err ; + +(driver_out, driver_err) = remote_driver(); \ No newline at end of file Added: branches/release-0.94/tests/sites/midway/midway_sanity.timeout =================================================================== --- branches/release-0.94/tests/sites/midway/midway_sanity.timeout (rev 0) +++ branches/release-0.94/tests/sites/midway/midway_sanity.timeout 2014-03-10 18:21:03 UTC (rev 7680) @@ -0,0 +1 @@ +900 Added: branches/release-0.94/tests/sites/multiple_coaster_pools/sites.xml =================================================================== --- branches/release-0.94/tests/sites/multiple_coaster_pools/sites.xml (rev 0) +++ branches/release-0.94/tests/sites/multiple_coaster_pools/sites.xml 2014-03-10 18:21:03 UTC (rev 7680) @@ -0,0 +1,32 @@ + + + + + + 1 + 100 + 100 + sandyb + 10000 + 1 + 1 + 1 + + /scratch/midway/davidkelly999 + + + + + 16 + 100 + 100 + sandyb + 10000 + 1 + 1 + 1 + + /scratch/midway/davidkelly999 + + + Added: branches/release-0.94/tests/sites/raven/raven_sanity.setup.sh =================================================================== --- branches/release-0.94/tests/sites/raven/raven_sanity.setup.sh (rev 0) +++ branches/release-0.94/tests/sites/raven/raven_sanity.setup.sh 2014-03-10 18:21:03 UTC (rev 7680) @@ -0,0 +1,11 @@ +#!/bin/bash + +USERNAME=$RAVEN_USERNAME + +if [[ -z $USERNAME ]] +then + echo "Remote username not provided. Skipping sites configs" +else + ls *xml + cat sites.xml | sed "s/{env.USER}/$USERNAME/" > tmp && mv tmp sites.xml +fi Property changes on: branches/release-0.94/tests/sites/raven/raven_sanity.setup.sh ___________________________________________________________________ Added: svn:executable + * Added: branches/release-0.94/tests/sites/raven/raven_sanity.source.sh =================================================================== --- branches/release-0.94/tests/sites/raven/raven_sanity.source.sh (rev 0) +++ branches/release-0.94/tests/sites/raven/raven_sanity.source.sh 2014-03-10 18:21:03 UTC (rev 7680) @@ -0,0 +1,6 @@ +#!/bin/bash +if [ "$HOSTNAME" == "midway001" ] +then + export GLOBUS_HOSTNAME=swift.rcc.uchicago.edu + export GLOBUS_TCP_PORT_RANGE=50000,51000 +fi; Property changes on: branches/release-0.94/tests/sites/raven/raven_sanity.source.sh ___________________________________________________________________ Added: svn:executable + * Added: branches/release-0.94/tests/sites/raven/raven_sanity.swift =================================================================== --- branches/release-0.94/tests/sites/raven/raven_sanity.swift (rev 0) +++ branches/release-0.94/tests/sites/raven/raven_sanity.swift 2014-03-10 18:21:03 UTC (rev 7680) @@ -0,0 +1,11 @@ +type file; + +app (file out, file err) remote_driver () +{ + date stdout=@filename(out) stderr=@filename(err); +} + +file driver_out ; +file driver_err ; + +(driver_out, driver_err) = remote_driver(); \ No newline at end of file Added: branches/release-0.94/tests/sites/raven/raven_sanity.timeout =================================================================== --- branches/release-0.94/tests/sites/raven/raven_sanity.timeout (rev 0) +++ branches/release-0.94/tests/sites/raven/raven_sanity.timeout 2014-03-10 18:21:03 UTC (rev 7680) @@ -0,0 +1 @@ +300 Added: branches/release-0.94/tests/sites/stampede/stampede_sanity.setup.sh =================================================================== --- branches/release-0.94/tests/sites/stampede/stampede_sanity.setup.sh (rev 0) +++ branches/release-0.94/tests/sites/stampede/stampede_sanity.setup.sh 2014-03-10 18:21:03 UTC (rev 7680) @@ -0,0 +1,11 @@ +#!/bin/bash + +USERNAME=$BLUES_USERNAME + +if [[ -z $USERNAME ]] +then + echo "Remote username not provided. Skipping sites configs" +else + ls *xml + cat sites.xml | sed "s/{env.USER}/$USERNAME/" > tmp && mv tmp sites.xml +fi Property changes on: branches/release-0.94/tests/sites/stampede/stampede_sanity.setup.sh ___________________________________________________________________ Added: svn:executable + * Added: branches/release-0.94/tests/sites/stampede/stampede_sanity.source.sh =================================================================== --- branches/release-0.94/tests/sites/stampede/stampede_sanity.source.sh (rev 0) +++ branches/release-0.94/tests/sites/stampede/stampede_sanity.source.sh 2014-03-10 18:21:03 UTC (rev 7680) @@ -0,0 +1,6 @@ +#!/bin/bash +if [ "$HOSTNAME" == "midway001" ] +then + export GLOBUS_HOSTNAME=swift.rcc.uchicago.edu + export GLOBUS_TCP_PORT_RANGE=50000,51000 +fi; Property changes on: branches/release-0.94/tests/sites/stampede/stampede_sanity.source.sh ___________________________________________________________________ Added: svn:executable + * Added: branches/release-0.94/tests/sites/stampede/stampede_sanity.swift =================================================================== --- branches/release-0.94/tests/sites/stampede/stampede_sanity.swift (rev 0) +++ branches/release-0.94/tests/sites/stampede/stampede_sanity.swift 2014-03-10 18:21:03 UTC (rev 7680) @@ -0,0 +1,11 @@ +type file; + +app (file out, file err) remote_driver () +{ + date stdout=@filename(out) stderr=@filename(err); +} + +file driver_out ; +file driver_err ; + +(driver_out, driver_err) = remote_driver(); \ No newline at end of file Added: branches/release-0.94/tests/sites/stampede/stampede_sanity.timeout =================================================================== --- branches/release-0.94/tests/sites/stampede/stampede_sanity.timeout (rev 0) +++ branches/release-0.94/tests/sites/stampede/stampede_sanity.timeout 2014-03-10 18:21:03 UTC (rev 7680) @@ -0,0 +1 @@ +300 Added: branches/release-0.94/tests/sites/uc3/uc3_sanity.setup.sh =================================================================== --- branches/release-0.94/tests/sites/uc3/uc3_sanity.setup.sh (rev 0) +++ branches/release-0.94/tests/sites/uc3/uc3_sanity.setup.sh 2014-03-10 18:21:03 UTC (rev 7680) @@ -0,0 +1,11 @@ +#!/bin/bash + +USERNAME=$UC3_USERNAME + +if [[ -z $USERNAME ]] +then + echo "Remote username not provided. Skipping sites configs" +else + ls *xml + cat sites.xml | sed "s/{env.USER}/$USERNAME/" > tmp && mv tmp sites.xml +fi Property changes on: branches/release-0.94/tests/sites/uc3/uc3_sanity.setup.sh ___________________________________________________________________ Added: svn:executable + * Added: branches/release-0.94/tests/sites/uc3/uc3_sanity.source.sh =================================================================== --- branches/release-0.94/tests/sites/uc3/uc3_sanity.source.sh (rev 0) +++ branches/release-0.94/tests/sites/uc3/uc3_sanity.source.sh 2014-03-10 18:21:03 UTC (rev 7680) @@ -0,0 +1,6 @@ +#!/bin/bash +if [ "$HOSTNAME" == "midway001" ] +then + export GLOBUS_HOSTNAME=swift.rcc.uchicago.edu + export GLOBUS_TCP_PORT_RANGE=50000,51000 +fi; Property changes on: branches/release-0.94/tests/sites/uc3/uc3_sanity.source.sh ___________________________________________________________________ Added: svn:executable + * Added: branches/release-0.94/tests/sites/uc3/uc3_sanity.swift =================================================================== --- branches/release-0.94/tests/sites/uc3/uc3_sanity.swift (rev 0) +++ branches/release-0.94/tests/sites/uc3/uc3_sanity.swift 2014-03-10 18:21:03 UTC (rev 7680) @@ -0,0 +1,11 @@ +type file; + +app (file out, file err) remote_driver () +{ + date stdout=@filename(out) stderr=@filename(err); +} + +file driver_out ; +file driver_err ; + +(driver_out, driver_err) = remote_driver(); \ No newline at end of file Added: branches/release-0.94/tests/sites/uc3/uc3_sanity.timeout =================================================================== --- branches/release-0.94/tests/sites/uc3/uc3_sanity.timeout (rev 0) +++ branches/release-0.94/tests/sites/uc3/uc3_sanity.timeout 2014-03-10 18:21:03 UTC (rev 7680) @@ -0,0 +1 @@ +300 From yadunandb at ci.uchicago.edu Mon Mar 10 13:23:26 2014 From: yadunandb at ci.uchicago.edu (yadunandb at ci.uchicago.edu) Date: Mon, 10 Mar 2014 13:23:26 -0500 (CDT) Subject: [Swift-commit] r7681 - in branches/release-0.94/tests/sites: beagle blues ci fusion mac-frisbee mcs midway raven stampede uc3 Message-ID: <20140310182326.1F7639D5A4@svn.ci.uchicago.edu> Author: yadunandb Date: 2014-03-10 13:23:25 -0500 (Mon, 10 Mar 2014) New Revision: 7681 Removed: branches/release-0.94/tests/sites/beagle/sanity.source.sh branches/release-0.94/tests/sites/beagle/sanity.swift branches/release-0.94/tests/sites/beagle/sanity.timeout branches/release-0.94/tests/sites/blues/sanity.setup.sh branches/release-0.94/tests/sites/blues/sanity.source.sh branches/release-0.94/tests/sites/blues/sanity.swift branches/release-0.94/tests/sites/blues/sanity.timeout branches/release-0.94/tests/sites/ci/sanity.setup.sh branches/release-0.94/tests/sites/ci/sanity.source.sh branches/release-0.94/tests/sites/ci/sanity.swift branches/release-0.94/tests/sites/ci/sanity.timeout branches/release-0.94/tests/sites/fusion/sanity.setup.sh branches/release-0.94/tests/sites/fusion/sanity.source.sh branches/release-0.94/tests/sites/fusion/sanity.swift branches/release-0.94/tests/sites/fusion/sanity.timeout branches/release-0.94/tests/sites/mac-frisbee/sanity.setup.sh branches/release-0.94/tests/sites/mac-frisbee/sanity.source.sh branches/release-0.94/tests/sites/mac-frisbee/sanity.swift branches/release-0.94/tests/sites/mac-frisbee/sanity.timeout branches/release-0.94/tests/sites/mcs/sanity.setup.sh branches/release-0.94/tests/sites/mcs/sanity.source.sh branches/release-0.94/tests/sites/mcs/sanity.swift branches/release-0.94/tests/sites/mcs/sanity.timeout branches/release-0.94/tests/sites/midway/sanity.setup.sh branches/release-0.94/tests/sites/midway/sanity.source.sh branches/release-0.94/tests/sites/midway/sanity.swift branches/release-0.94/tests/sites/midway/sanity.timeout branches/release-0.94/tests/sites/midway/sites.new.xml branches/release-0.94/tests/sites/raven/sanity.setup.sh branches/release-0.94/tests/sites/raven/sanity.source.sh branches/release-0.94/tests/sites/raven/sanity.swift branches/release-0.94/tests/sites/raven/sanity.timeout branches/release-0.94/tests/sites/stampede/sanity.setup.sh branches/release-0.94/tests/sites/stampede/sanity.source.sh branches/release-0.94/tests/sites/stampede/sanity.swift branches/release-0.94/tests/sites/stampede/sanity.timeout branches/release-0.94/tests/sites/uc3/sanity.setup.sh branches/release-0.94/tests/sites/uc3/sanity.source.sh branches/release-0.94/tests/sites/uc3/sanity.swift branches/release-0.94/tests/sites/uc3/sanity.timeout branches/release-0.94/tests/sites/uc3/sites.new.xml Log: Removing old files Deleted: branches/release-0.94/tests/sites/beagle/sanity.source.sh =================================================================== --- branches/release-0.94/tests/sites/beagle/sanity.source.sh 2014-03-10 18:21:03 UTC (rev 7680) +++ branches/release-0.94/tests/sites/beagle/sanity.source.sh 2014-03-10 18:23:25 UTC (rev 7681) @@ -1,6 +0,0 @@ -#!/bin/bash -if [ "$HOSTNAME" == "midway001" ] -then - export GLOBUS_HOSTNAME=swift.rcc.uchicago.edu - export GLOBUS_TCP_PORT_RANGE=50000,51000 -fi; Deleted: branches/release-0.94/tests/sites/beagle/sanity.swift =================================================================== --- branches/release-0.94/tests/sites/beagle/sanity.swift 2014-03-10 18:21:03 UTC (rev 7680) +++ branches/release-0.94/tests/sites/beagle/sanity.swift 2014-03-10 18:23:25 UTC (rev 7681) @@ -1,11 +0,0 @@ -type file; - -app (file out, file err) remote_driver () -{ - date stdout=@filename(out) stderr=@filename(err); -} - -file driver_out ; -file driver_err ; - -(driver_out, driver_err) = remote_driver(); \ No newline at end of file Deleted: branches/release-0.94/tests/sites/beagle/sanity.timeout =================================================================== --- branches/release-0.94/tests/sites/beagle/sanity.timeout 2014-03-10 18:21:03 UTC (rev 7680) +++ branches/release-0.94/tests/sites/beagle/sanity.timeout 2014-03-10 18:23:25 UTC (rev 7681) @@ -1 +0,0 @@ -300 Deleted: branches/release-0.94/tests/sites/blues/sanity.setup.sh =================================================================== --- branches/release-0.94/tests/sites/blues/sanity.setup.sh 2014-03-10 18:21:03 UTC (rev 7680) +++ branches/release-0.94/tests/sites/blues/sanity.setup.sh 2014-03-10 18:23:25 UTC (rev 7681) @@ -1,11 +0,0 @@ -#!/bin/bash - -USERNAME=$BLUES_USERNAME - -if [[ -z $USERNAME ]] -then - echo "Remote username not provided. Skipping sites configs" -else - ls *xml - cat sites.xml | sed "s/{env.USER}/$USERNAME/" > tmp && mv tmp sites.xml -fi Deleted: branches/release-0.94/tests/sites/blues/sanity.source.sh =================================================================== --- branches/release-0.94/tests/sites/blues/sanity.source.sh 2014-03-10 18:21:03 UTC (rev 7680) +++ branches/release-0.94/tests/sites/blues/sanity.source.sh 2014-03-10 18:23:25 UTC (rev 7681) @@ -1,6 +0,0 @@ -#!/bin/bash -if [ "$HOSTNAME" == "midway001" ] -then - export GLOBUS_HOSTNAME=swift.rcc.uchicago.edu - export GLOBUS_TCP_PORT_RANGE=50000,51000 -fi; Deleted: branches/release-0.94/tests/sites/blues/sanity.swift =================================================================== --- branches/release-0.94/tests/sites/blues/sanity.swift 2014-03-10 18:21:03 UTC (rev 7680) +++ branches/release-0.94/tests/sites/blues/sanity.swift 2014-03-10 18:23:25 UTC (rev 7681) @@ -1,11 +0,0 @@ -type file; - -app (file out, file err) remote_driver () -{ - date stdout=@filename(out) stderr=@filename(err); -} - -file driver_out ; -file driver_err ; - -(driver_out, driver_err) = remote_driver(); \ No newline at end of file Deleted: branches/release-0.94/tests/sites/blues/sanity.timeout =================================================================== --- branches/release-0.94/tests/sites/blues/sanity.timeout 2014-03-10 18:21:03 UTC (rev 7680) +++ branches/release-0.94/tests/sites/blues/sanity.timeout 2014-03-10 18:23:25 UTC (rev 7681) @@ -1 +0,0 @@ -300 Deleted: branches/release-0.94/tests/sites/ci/sanity.setup.sh =================================================================== --- branches/release-0.94/tests/sites/ci/sanity.setup.sh 2014-03-10 18:21:03 UTC (rev 7680) +++ branches/release-0.94/tests/sites/ci/sanity.setup.sh 2014-03-10 18:23:25 UTC (rev 7681) @@ -1,12 +0,0 @@ -#!/bin/bash - -echo "BEAGLE_USERNAME : $BEAGLE_USERNAME" -USERNAME=$BEAGLE_USERNAME - -if [[ -z $USERNAME ]] -then - echo "Remote username not provided. Skipping sites configs" -else - ls *xml - cat sites.xml | sed "s/{env.USER}/$USERNAME/" > tmp && mv tmp sites.xml -fi Deleted: branches/release-0.94/tests/sites/ci/sanity.source.sh =================================================================== --- branches/release-0.94/tests/sites/ci/sanity.source.sh 2014-03-10 18:21:03 UTC (rev 7680) +++ branches/release-0.94/tests/sites/ci/sanity.source.sh 2014-03-10 18:23:25 UTC (rev 7681) @@ -1,6 +0,0 @@ -#!/bin/bash -if [ "$HOSTNAME" == "midway001" ] -then - export GLOBUS_HOSTNAME=swift.rcc.uchicago.edu - export GLOBUS_TCP_PORT_RANGE=50000,51000 -fi; Deleted: branches/release-0.94/tests/sites/ci/sanity.swift =================================================================== --- branches/release-0.94/tests/sites/ci/sanity.swift 2014-03-10 18:21:03 UTC (rev 7680) +++ branches/release-0.94/tests/sites/ci/sanity.swift 2014-03-10 18:23:25 UTC (rev 7681) @@ -1,11 +0,0 @@ -type file; - -app (file out, file err) remote_driver () -{ - date stdout=@filename(out) stderr=@filename(err); -} - -file driver_out ; -file driver_err ; - -(driver_out, driver_err) = remote_driver(); \ No newline at end of file Deleted: branches/release-0.94/tests/sites/ci/sanity.timeout =================================================================== --- branches/release-0.94/tests/sites/ci/sanity.timeout 2014-03-10 18:21:03 UTC (rev 7680) +++ branches/release-0.94/tests/sites/ci/sanity.timeout 2014-03-10 18:23:25 UTC (rev 7681) @@ -1 +0,0 @@ -300 Deleted: branches/release-0.94/tests/sites/fusion/sanity.setup.sh =================================================================== --- branches/release-0.94/tests/sites/fusion/sanity.setup.sh 2014-03-10 18:21:03 UTC (rev 7680) +++ branches/release-0.94/tests/sites/fusion/sanity.setup.sh 2014-03-10 18:23:25 UTC (rev 7681) @@ -1,11 +0,0 @@ -#!/bin/bash - -USERNAME=$FUSION_USERNAME - -if [[ -z $USERNAME ]] -then - echo "Remote username not provided. Skipping sites configs" -else - ls *xml - cat sites.xml | sed "s/{env.USER}/$USERNAME/" > tmp && mv tmp sites.xml -fi Deleted: branches/release-0.94/tests/sites/fusion/sanity.source.sh =================================================================== --- branches/release-0.94/tests/sites/fusion/sanity.source.sh 2014-03-10 18:21:03 UTC (rev 7680) +++ branches/release-0.94/tests/sites/fusion/sanity.source.sh 2014-03-10 18:23:25 UTC (rev 7681) @@ -1,6 +0,0 @@ -#!/bin/bash -if [ "$HOSTNAME" == "midway001" ] -then - export GLOBUS_HOSTNAME=swift.rcc.uchicago.edu - export GLOBUS_TCP_PORT_RANGE=50000,51000 -fi; Deleted: branches/release-0.94/tests/sites/fusion/sanity.swift =================================================================== --- branches/release-0.94/tests/sites/fusion/sanity.swift 2014-03-10 18:21:03 UTC (rev 7680) +++ branches/release-0.94/tests/sites/fusion/sanity.swift 2014-03-10 18:23:25 UTC (rev 7681) @@ -1,11 +0,0 @@ -type file; - -app (file out, file err) remote_driver () -{ - date stdout=@filename(out) stderr=@filename(err); -} - -file driver_out ; -file driver_err ; - -(driver_out, driver_err) = remote_driver(); \ No newline at end of file Deleted: branches/release-0.94/tests/sites/fusion/sanity.timeout =================================================================== --- branches/release-0.94/tests/sites/fusion/sanity.timeout 2014-03-10 18:21:03 UTC (rev 7680) +++ branches/release-0.94/tests/sites/fusion/sanity.timeout 2014-03-10 18:23:25 UTC (rev 7681) @@ -1 +0,0 @@ -300 Deleted: branches/release-0.94/tests/sites/mac-frisbee/sanity.setup.sh =================================================================== --- branches/release-0.94/tests/sites/mac-frisbee/sanity.setup.sh 2014-03-10 18:21:03 UTC (rev 7680) +++ branches/release-0.94/tests/sites/mac-frisbee/sanity.setup.sh 2014-03-10 18:23:25 UTC (rev 7681) @@ -1,11 +0,0 @@ -#!/bin/bash - -USERNAME=$MCS_USERNAME - -if [[ -z $USERNAME ]] -then - echo "Remote username not provided. Skipping sites configs" -else - ls *xml - cat sites.xml | sed "s/{env.USER}/$USERNAME/" > tmp && mv tmp sites.xml -fi Deleted: branches/release-0.94/tests/sites/mac-frisbee/sanity.source.sh =================================================================== --- branches/release-0.94/tests/sites/mac-frisbee/sanity.source.sh 2014-03-10 18:21:03 UTC (rev 7680) +++ branches/release-0.94/tests/sites/mac-frisbee/sanity.source.sh 2014-03-10 18:23:25 UTC (rev 7681) @@ -1,6 +0,0 @@ -#!/bin/bash -if [ "$HOSTNAME" == "midway001" ] -then - export GLOBUS_HOSTNAME=swift.rcc.uchicago.edu - export GLOBUS_TCP_PORT_RANGE=50000,51000 -fi; Deleted: branches/release-0.94/tests/sites/mac-frisbee/sanity.swift =================================================================== --- branches/release-0.94/tests/sites/mac-frisbee/sanity.swift 2014-03-10 18:21:03 UTC (rev 7680) +++ branches/release-0.94/tests/sites/mac-frisbee/sanity.swift 2014-03-10 18:23:25 UTC (rev 7681) @@ -1,11 +0,0 @@ -type file; - -app (file out, file err) remote_driver () -{ - date stdout=@filename(out) stderr=@filename(err); -} - -file driver_out ; -file driver_err ; - -(driver_out, driver_err) = remote_driver(); \ No newline at end of file Deleted: branches/release-0.94/tests/sites/mac-frisbee/sanity.timeout =================================================================== --- branches/release-0.94/tests/sites/mac-frisbee/sanity.timeout 2014-03-10 18:21:03 UTC (rev 7680) +++ branches/release-0.94/tests/sites/mac-frisbee/sanity.timeout 2014-03-10 18:23:25 UTC (rev 7681) @@ -1 +0,0 @@ -300 Deleted: branches/release-0.94/tests/sites/mcs/sanity.setup.sh =================================================================== --- branches/release-0.94/tests/sites/mcs/sanity.setup.sh 2014-03-10 18:21:03 UTC (rev 7680) +++ branches/release-0.94/tests/sites/mcs/sanity.setup.sh 2014-03-10 18:23:25 UTC (rev 7681) @@ -1,11 +0,0 @@ -#!/bin/bash - -USERNAME=$MCS_USERNAME - -if [[ -z $USERNAME ]] -then - echo "Remote username not provided. Skipping sites configs" -else - ls *xml - cat sites.xml | sed "s/{env.USER}/$USERNAME/" > tmp && mv tmp sites.xml -fi Deleted: branches/release-0.94/tests/sites/mcs/sanity.source.sh =================================================================== --- branches/release-0.94/tests/sites/mcs/sanity.source.sh 2014-03-10 18:21:03 UTC (rev 7680) +++ branches/release-0.94/tests/sites/mcs/sanity.source.sh 2014-03-10 18:23:25 UTC (rev 7681) @@ -1,6 +0,0 @@ -#!/bin/bash -if [ "$HOSTNAME" == "midway001" ] -then - export GLOBUS_HOSTNAME=swift.rcc.uchicago.edu - export GLOBUS_TCP_PORT_RANGE=50000,51000 -fi; Deleted: branches/release-0.94/tests/sites/mcs/sanity.swift =================================================================== --- branches/release-0.94/tests/sites/mcs/sanity.swift 2014-03-10 18:21:03 UTC (rev 7680) +++ branches/release-0.94/tests/sites/mcs/sanity.swift 2014-03-10 18:23:25 UTC (rev 7681) @@ -1,11 +0,0 @@ -type file; - -app (file out, file err) remote_driver () -{ - date stdout=@filename(out) stderr=@filename(err); -} - -file driver_out ; -file driver_err ; - -(driver_out, driver_err) = remote_driver(); \ No newline at end of file Deleted: branches/release-0.94/tests/sites/mcs/sanity.timeout =================================================================== --- branches/release-0.94/tests/sites/mcs/sanity.timeout 2014-03-10 18:21:03 UTC (rev 7680) +++ branches/release-0.94/tests/sites/mcs/sanity.timeout 2014-03-10 18:23:25 UTC (rev 7681) @@ -1 +0,0 @@ -300 Deleted: branches/release-0.94/tests/sites/midway/sanity.setup.sh =================================================================== --- branches/release-0.94/tests/sites/midway/sanity.setup.sh 2014-03-10 18:21:03 UTC (rev 7680) +++ branches/release-0.94/tests/sites/midway/sanity.setup.sh 2014-03-10 18:23:25 UTC (rev 7681) @@ -1,11 +0,0 @@ -#!/bin/bash - -USERNAME=$MIDWAY_USERNAME - -if [[ -z $USERNAME ]] -then - echo "Remote username not provided. Skipping sites configs" -else - ls *xml - cat sites.xml | sed "s/{env.USER}/$USERNAME/" > tmp && mv tmp sites.xml -fi Deleted: branches/release-0.94/tests/sites/midway/sanity.source.sh =================================================================== --- branches/release-0.94/tests/sites/midway/sanity.source.sh 2014-03-10 18:21:03 UTC (rev 7680) +++ branches/release-0.94/tests/sites/midway/sanity.source.sh 2014-03-10 18:23:25 UTC (rev 7681) @@ -1,6 +0,0 @@ -#!/bin/bash -if [ "$HOSTNAME" == "midway001" ] -then - export GLOBUS_HOSTNAME=swift.rcc.uchicago.edu - export GLOBUS_TCP_PORT_RANGE=50000,51000 -fi; Deleted: branches/release-0.94/tests/sites/midway/sanity.swift =================================================================== --- branches/release-0.94/tests/sites/midway/sanity.swift 2014-03-10 18:21:03 UTC (rev 7680) +++ branches/release-0.94/tests/sites/midway/sanity.swift 2014-03-10 18:23:25 UTC (rev 7681) @@ -1,11 +0,0 @@ -type file; - -app (file out, file err) remote_driver () -{ - date stdout=@filename(out) stderr=@filename(err); -} - -file driver_out ; -file driver_err ; - -(driver_out, driver_err) = remote_driver(); \ No newline at end of file Deleted: branches/release-0.94/tests/sites/midway/sanity.timeout =================================================================== --- branches/release-0.94/tests/sites/midway/sanity.timeout 2014-03-10 18:21:03 UTC (rev 7680) +++ branches/release-0.94/tests/sites/midway/sanity.timeout 2014-03-10 18:23:25 UTC (rev 7681) @@ -1 +0,0 @@ -300 Deleted: branches/release-0.94/tests/sites/midway/sites.new.xml =================================================================== --- branches/release-0.94/tests/sites/midway/sites.new.xml 2014-03-10 18:21:03 UTC (rev 7680) +++ branches/release-0.94/tests/sites/midway/sites.new.xml 2014-03-10 18:23:25 UTC (rev 7681) @@ -1,20 +0,0 @@ - - - - 24 - 100 - 100 - pbs.aprun;pbs.mpp;depth=24 - 3600 - 00:05:00 - /lustre/beagle/yadunandb/swiftwork - 20 - 1 - 1 - 4.80 - 10000 - trace - - /tmp/yadunandb/swiftwork - - \ No newline at end of file Deleted: branches/release-0.94/tests/sites/raven/sanity.setup.sh =================================================================== --- branches/release-0.94/tests/sites/raven/sanity.setup.sh 2014-03-10 18:21:03 UTC (rev 7680) +++ branches/release-0.94/tests/sites/raven/sanity.setup.sh 2014-03-10 18:23:25 UTC (rev 7681) @@ -1,11 +0,0 @@ -#!/bin/bash - -USERNAME=$RAVEN_USERNAME - -if [[ -z $USERNAME ]] -then - echo "Remote username not provided. Skipping sites configs" -else - ls *xml - cat sites.xml | sed "s/{env.USER}/$USERNAME/" > tmp && mv tmp sites.xml -fi Deleted: branches/release-0.94/tests/sites/raven/sanity.source.sh =================================================================== --- branches/release-0.94/tests/sites/raven/sanity.source.sh 2014-03-10 18:21:03 UTC (rev 7680) +++ branches/release-0.94/tests/sites/raven/sanity.source.sh 2014-03-10 18:23:25 UTC (rev 7681) @@ -1,6 +0,0 @@ -#!/bin/bash -if [ "$HOSTNAME" == "midway001" ] -then - export GLOBUS_HOSTNAME=swift.rcc.uchicago.edu - export GLOBUS_TCP_PORT_RANGE=50000,51000 -fi; Deleted: branches/release-0.94/tests/sites/raven/sanity.swift =================================================================== --- branches/release-0.94/tests/sites/raven/sanity.swift 2014-03-10 18:21:03 UTC (rev 7680) +++ branches/release-0.94/tests/sites/raven/sanity.swift 2014-03-10 18:23:25 UTC (rev 7681) @@ -1,11 +0,0 @@ -type file; - -app (file out, file err) remote_driver () -{ - date stdout=@filename(out) stderr=@filename(err); -} - -file driver_out ; -file driver_err ; - -(driver_out, driver_err) = remote_driver(); \ No newline at end of file Deleted: branches/release-0.94/tests/sites/raven/sanity.timeout =================================================================== --- branches/release-0.94/tests/sites/raven/sanity.timeout 2014-03-10 18:21:03 UTC (rev 7680) +++ branches/release-0.94/tests/sites/raven/sanity.timeout 2014-03-10 18:23:25 UTC (rev 7681) @@ -1 +0,0 @@ -300 Deleted: branches/release-0.94/tests/sites/stampede/sanity.setup.sh =================================================================== --- branches/release-0.94/tests/sites/stampede/sanity.setup.sh 2014-03-10 18:21:03 UTC (rev 7680) +++ branches/release-0.94/tests/sites/stampede/sanity.setup.sh 2014-03-10 18:23:25 UTC (rev 7681) @@ -1,11 +0,0 @@ -#!/bin/bash - -USERNAME=$BLUES_USERNAME - -if [[ -z $USERNAME ]] -then - echo "Remote username not provided. Skipping sites configs" -else - ls *xml - cat sites.xml | sed "s/{env.USER}/$USERNAME/" > tmp && mv tmp sites.xml -fi Deleted: branches/release-0.94/tests/sites/stampede/sanity.source.sh =================================================================== --- branches/release-0.94/tests/sites/stampede/sanity.source.sh 2014-03-10 18:21:03 UTC (rev 7680) +++ branches/release-0.94/tests/sites/stampede/sanity.source.sh 2014-03-10 18:23:25 UTC (rev 7681) @@ -1,6 +0,0 @@ -#!/bin/bash -if [ "$HOSTNAME" == "midway001" ] -then - export GLOBUS_HOSTNAME=swift.rcc.uchicago.edu - export GLOBUS_TCP_PORT_RANGE=50000,51000 -fi; Deleted: branches/release-0.94/tests/sites/stampede/sanity.swift =================================================================== --- branches/release-0.94/tests/sites/stampede/sanity.swift 2014-03-10 18:21:03 UTC (rev 7680) +++ branches/release-0.94/tests/sites/stampede/sanity.swift 2014-03-10 18:23:25 UTC (rev 7681) @@ -1,11 +0,0 @@ -type file; - -app (file out, file err) remote_driver () -{ - date stdout=@filename(out) stderr=@filename(err); -} - -file driver_out ; -file driver_err ; - -(driver_out, driver_err) = remote_driver(); \ No newline at end of file Deleted: branches/release-0.94/tests/sites/stampede/sanity.timeout =================================================================== --- branches/release-0.94/tests/sites/stampede/sanity.timeout 2014-03-10 18:21:03 UTC (rev 7680) +++ branches/release-0.94/tests/sites/stampede/sanity.timeout 2014-03-10 18:23:25 UTC (rev 7681) @@ -1 +0,0 @@ -300 Deleted: branches/release-0.94/tests/sites/uc3/sanity.setup.sh =================================================================== --- branches/release-0.94/tests/sites/uc3/sanity.setup.sh 2014-03-10 18:21:03 UTC (rev 7680) +++ branches/release-0.94/tests/sites/uc3/sanity.setup.sh 2014-03-10 18:23:25 UTC (rev 7681) @@ -1,11 +0,0 @@ -#!/bin/bash - -USERNAME=$UC3_USERNAME - -if [[ -z $USERNAME ]] -then - echo "Remote username not provided. Skipping sites configs" -else - ls *xml - cat sites.xml | sed "s/{env.USER}/$USERNAME/" > tmp && mv tmp sites.xml -fi Deleted: branches/release-0.94/tests/sites/uc3/sanity.source.sh =================================================================== --- branches/release-0.94/tests/sites/uc3/sanity.source.sh 2014-03-10 18:21:03 UTC (rev 7680) +++ branches/release-0.94/tests/sites/uc3/sanity.source.sh 2014-03-10 18:23:25 UTC (rev 7681) @@ -1,6 +0,0 @@ -#!/bin/bash -if [ "$HOSTNAME" == "midway001" ] -then - export GLOBUS_HOSTNAME=swift.rcc.uchicago.edu - export GLOBUS_TCP_PORT_RANGE=50000,51000 -fi; Deleted: branches/release-0.94/tests/sites/uc3/sanity.swift =================================================================== --- branches/release-0.94/tests/sites/uc3/sanity.swift 2014-03-10 18:21:03 UTC (rev 7680) +++ branches/release-0.94/tests/sites/uc3/sanity.swift 2014-03-10 18:23:25 UTC (rev 7681) @@ -1,11 +0,0 @@ -type file; - -app (file out, file err) remote_driver () -{ - date stdout=@filename(out) stderr=@filename(err); -} - -file driver_out ; -file driver_err ; - -(driver_out, driver_err) = remote_driver(); \ No newline at end of file Deleted: branches/release-0.94/tests/sites/uc3/sanity.timeout =================================================================== --- branches/release-0.94/tests/sites/uc3/sanity.timeout 2014-03-10 18:21:03 UTC (rev 7680) +++ branches/release-0.94/tests/sites/uc3/sanity.timeout 2014-03-10 18:23:25 UTC (rev 7681) @@ -1 +0,0 @@ -300 Deleted: branches/release-0.94/tests/sites/uc3/sites.new.xml =================================================================== --- branches/release-0.94/tests/sites/uc3/sites.new.xml 2014-03-10 18:21:03 UTC (rev 7680) +++ branches/release-0.94/tests/sites/uc3/sites.new.xml 2014-03-10 18:23:25 UTC (rev 7681) @@ -1,20 +0,0 @@ - - - - 24 - 100 - 100 - pbs.aprun;pbs.mpp;depth=24 - 3600 - 00:05:00 - /lustre/beagle/yadunandb/swiftwork - 20 - 1 - 1 - 4.80 - 10000 - trace - - /tmp/yadunandb/swiftwork - - \ No newline at end of file From ketan at ci.uchicago.edu Tue Mar 11 11:08:46 2014 From: ketan at ci.uchicago.edu (ketan at ci.uchicago.edu) Date: Tue, 11 Mar 2014 11:08:46 -0500 (CDT) Subject: [Swift-commit] r7688 - SwiftApps/swift-galaxy Message-ID: <20140311160846.B2CE7178884@svn.ci.uchicago.edu> Author: ketan Date: 2014-03-11 11:08:46 -0500 (Tue, 11 Mar 2014) New Revision: 7688 Added: SwiftApps/swift-galaxy/README SwiftApps/swift-galaxy/docbuild Removed: SwiftApps/swift-galaxy/README.txt Log: galaxy foreach documentation Copied: SwiftApps/swift-galaxy/README (from rev 7687, SwiftApps/swift-galaxy/README.txt) =================================================================== --- SwiftApps/swift-galaxy/README (rev 0) +++ SwiftApps/swift-galaxy/README 2014-03-11 16:08:46 UTC (rev 7688) @@ -0,0 +1,68 @@ +Swift Galaxy Integration +========================= + +Introduction +------------- + +How To +------ + +Step 1. Symlink the swift directory in the current directory from galaxy's top level directory. For example, if Galaxy top level directory is galaxy-dist and swift directory is /home/ketan/SwiftApps/swift-galaxy/swift, + +---- +cd galaxy-dist +ln -s /home/ketan/SwiftApps/swift-galaxy/swift swift +---- + +Step 2. Add the tool definitions of the tools contained in this Swift to Galaxy's tool_conf.xml. This can be done by copying the text in
...
from the tool_conf.xml in swift-galaxy directory and paste it to the tool_conf.xml of the Galaxy directory. + +Step 3. (Re)start Galaxy. You should see the tools in a toolset titled Swift. + + +An example +---------- + +A simple Hello World Swift tool to run with Galaxy. + +To set up with your Galaxy environment follow the steps below: +Prerequisite: Sun/Oracle java. Should work with IBM java but not tested. + +Step 1. Download and install Swift where Galaxy server is running. From a command prompt the following wget will pull the latest release: + +---- +wget http://swiftlang.org/packages/swift-0.94.2-RC2.tar.gz +---- + +Step 2. Create a swift-tool directory and copy the Swift tool skeleton files in this directory + +---- +cp swift/swift-skeleton* /location/of/galaxy-server/tools/ +---- + +Step 3. Edit the tool_conf.xml file present at the top-level of galaxy directory tree to add the following lines between the and xml tags: + +---- +
+ +
+---- + +Step 4. Restart the Galaxy server. The swift-galaxy tool should be available in the tool box of Galaxy GUI. + +Step 5. Invoke it by entering any number in the dialog box or leaving it to default. + +Step 6. For examples of other Galaxy-Swift tools, look into the swift directoty. + +Description of the Swift-Galaxy `foreach` tool +----------------------------------------------- + +There are two versions of foreach Swift tools in this implementation. The +"numrangeforeach" tool is used to run a Swift foreach loop over a range of +numbers for an arbitrary executable. The executable will run with the numbers +as commandline arguments. User can add arbitrary string arguments in addition +to the number argument to the call to executable. + +The second version is the "listforeach". It runs similar to the above described +numrangeforeach except that the iteration takes place over a list of items +provided as a file. Each item in the list is delivered to the selected +executable as a first commandline argument. Deleted: SwiftApps/swift-galaxy/README.txt =================================================================== --- SwiftApps/swift-galaxy/README.txt 2014-03-10 18:53:59 UTC (rev 7687) +++ SwiftApps/swift-galaxy/README.txt 2014-03-11 16:08:46 UTC (rev 7688) @@ -1,50 +0,0 @@ -=How to install Swift tools into Galaxy= - -1. Symlink the swift directory in the current directory from galaxy's top level directory. For example, if Galaxy top level directory is galaxy-dist and swift directory is /home/ketan/SwiftApps/swift-galaxy/swift, - -cd galaxy-dist -ln -s /home/ketan/SwiftApps/swift-galaxy/swift swift - -2. Add the tool definitions of the tools contained in this Swift to Galaxy's tool_conf.xml. This can be done by copying the text in
...
from the tool_conf.xml in swift-galaxy directory and paste it to the tool_conf.xml of the Galaxy directory. - -3. (Re)start Galaxy. You should see the tools in a toolset titled Swift. - -==An example of integrating a Swift tool into Galaxy== - -A simple Hello World Swift tool to run with Galaxy. - -To set up with your Galaxy environment follow the steps below: -0. Prerequisite: Sun/Oracle java. Should work with IBM java but not tested. - -1. Download and install Swift where Galaxy server is running. From a command prompt the following wget will pull the latest release: - -wget http://swiftlang.org/packages/swift-0.94.2-RC2.tar.gz - -2. Create a swift-tool directory and copy the Swift tool skeleton files in this directory - -cp swift/swift-skeleton* /location/of/galaxy-server/tools/ - -3. Edit the tool_conf.xml file present at the top-level of galaxy directory tree to add the following lines between the and xml tags: - -
- -
- -4. Restart the Galaxy server. The swift-galaxy tool should be available in the tool box of Galaxy GUI. - -5. Invoke it by entering any number in the dialog box or leaving it to default. - -6. For examples of other Galaxy-Swift tools, look into the swift directoty. - -== Description of the foreach* Swift-Galaxy tools == - -There are two versions of foreach Swift tools in this implementation. The -"numrangeforeach" tool is used to run a Swift foreach loop over a range of -numbers for an arbitrary executable. The executable will run with the numbers -as commandline arguments. User can add arbitrary string arguments in addition -to the number argument to the call to executable. - -The second version is the "listforeach". It runs similar to the above described -numrangeforeach except that the iteration takes place over a list of items -provided as a file. Each item in the list is delivered to the selected -executable as a first commandline argument. Added: SwiftApps/swift-galaxy/docbuild =================================================================== --- SwiftApps/swift-galaxy/docbuild (rev 0) +++ SwiftApps/swift-galaxy/docbuild 2014-03-11 16:08:46 UTC (rev 7688) @@ -0,0 +1,8 @@ +#!/bin/bash + +if [ -z $1 ] ; then + + asciidoc -a toc -a toclevels=2 -a max-width=750px -a textwidth=80 -o /home/$(whoami)/public_html/swiftgalaxy.html README +else + asciidoc -a toc -a toclevels=2 -a max-width=750px -a textwidth=80 -o "$1" README +fi Property changes on: SwiftApps/swift-galaxy/docbuild ___________________________________________________________________ Added: svn:executable + * From davidk at ci.uchicago.edu Tue Mar 11 11:31:16 2014 From: davidk at ci.uchicago.edu (davidk at ci.uchicago.edu) Date: Tue, 11 Mar 2014 11:31:16 -0500 (CDT) Subject: [Swift-commit] r7689 - branches/release-0.94/tests/local Message-ID: <20140311163116.690E2178884@svn.ci.uchicago.edu> Author: davidk Date: 2014-03-11 11:31:16 -0500 (Tue, 11 Mar 2014) New Revision: 7689 Modified: branches/release-0.94/tests/local/tc.template.data Log: Fix for missing apps with local tests Modified: branches/release-0.94/tests/local/tc.template.data =================================================================== --- branches/release-0.94/tests/local/tc.template.data 2014-03-11 16:08:46 UTC (rev 7688) +++ branches/release-0.94/tests/local/tc.template.data 2014-03-11 16:31:16 UTC (rev 7689) @@ -1,2 +1,3 @@ -* * * INSTALLED INTEL32::LINUX null localhost append _DIR_/append.sh INSTALLED INTEL32::LINUX null +localhost echo /bin/echo null null null +localhost cat /bin/cat null null null From davidk at ci.uchicago.edu Tue Mar 11 13:12:47 2014 From: davidk at ci.uchicago.edu (davidk at ci.uchicago.edu) Date: Tue, 11 Mar 2014 13:12:47 -0500 (CDT) Subject: [Swift-commit] r7690 - branches/release-0.94/tests/sites/uc3 Message-ID: <20140311181247.F0010178884@svn.ci.uchicago.edu> Author: davidk Date: 2014-03-11 13:12:47 -0500 (Tue, 11 Mar 2014) New Revision: 7690 Modified: branches/release-0.94/tests/sites/uc3/uc3_sanity.timeout Log: Allow more time to uc3 test to complete Modified: branches/release-0.94/tests/sites/uc3/uc3_sanity.timeout =================================================================== --- branches/release-0.94/tests/sites/uc3/uc3_sanity.timeout 2014-03-11 16:31:16 UTC (rev 7689) +++ branches/release-0.94/tests/sites/uc3/uc3_sanity.timeout 2014-03-11 18:12:47 UTC (rev 7690) @@ -1 +1 @@ -300 +1200 From yadunandb at ci.uchicago.edu Tue Mar 11 13:34:47 2014 From: yadunandb at ci.uchicago.edu (yadunandb at ci.uchicago.edu) Date: Tue, 11 Mar 2014 13:34:47 -0500 (CDT) Subject: [Swift-commit] r7691 - branches/release-0.94/tests/stress/random_fail Message-ID: <20140311183447.C89C9178884@svn.ci.uchicago.edu> Author: yadunandb Date: 2014-03-11 13:34:47 -0500 (Tue, 11 Mar 2014) New Revision: 7691 Modified: branches/release-0.94/tests/stress/random_fail/rand_fail_Bug1067.swift branches/release-0.94/tests/stress/random_fail/sites.template.xml branches/release-0.94/tests/stress/random_fail/tc.template.data Log: Updating test for failure status Modified: branches/release-0.94/tests/stress/random_fail/rand_fail_Bug1067.swift =================================================================== --- branches/release-0.94/tests/stress/random_fail/rand_fail_Bug1067.swift 2014-03-11 18:12:47 UTC (rev 7690) +++ branches/release-0.94/tests/stress/random_fail/rand_fail_Bug1067.swift 2014-03-11 18:34:47 UTC (rev 7691) @@ -1,5 +1,11 @@ type file; + +/* + * The status of the test is determined by the check script. + * The swift run itself will fail + */ +//THIS-SCRIPT-SHOULD-FAIL file script<"randfail.sh">; app (file ofile1, file ofile2) quicklyFailingApp(file script, int failchance, Modified: branches/release-0.94/tests/stress/random_fail/sites.template.xml =================================================================== --- branches/release-0.94/tests/stress/random_fail/sites.template.xml 2014-03-11 18:12:47 UTC (rev 7690) +++ branches/release-0.94/tests/stress/random_fail/sites.template.xml 2014-03-11 18:34:47 UTC (rev 7691) @@ -2,7 +2,7 @@ - + sandyb 16 36000 @@ -14,6 +14,7 @@ 1 .64 10000 + /tmp/MIDWAY_USERNAME Modified: branches/release-0.94/tests/stress/random_fail/tc.template.data =================================================================== --- branches/release-0.94/tests/stress/random_fail/tc.template.data 2014-03-11 18:12:47 UTC (rev 7690) +++ branches/release-0.94/tests/stress/random_fail/tc.template.data 2014-03-11 18:34:47 UTC (rev 7691) @@ -1,2 +1,3 @@ -local perl /usr/bin/perl null null null -local sh /bin/bash +local perl /usr/bin/perl null null null +local sh /bin/bash +midway sh /bin/bash \ No newline at end of file From ketan at ci.uchicago.edu Tue Mar 11 13:44:06 2014 From: ketan at ci.uchicago.edu (ketan at ci.uchicago.edu) Date: Tue, 11 Mar 2014 13:44:06 -0500 (CDT) Subject: [Swift-commit] r7692 - SwiftApps/swift-galaxy Message-ID: <20140311184406.831D6178884@svn.ci.uchicago.edu> Author: ketan Date: 2014-03-11 13:44:06 -0500 (Tue, 11 Mar 2014) New Revision: 7692 Modified: SwiftApps/swift-galaxy/README Log: swift galaxy installation instructions Modified: SwiftApps/swift-galaxy/README =================================================================== --- SwiftApps/swift-galaxy/README 2014-03-11 18:34:47 UTC (rev 7691) +++ SwiftApps/swift-galaxy/README 2014-03-11 18:44:06 UTC (rev 7692) @@ -4,39 +4,68 @@ Introduction ------------- +The Swift-Galaxy integration project aims to build tools which can be used to +leverage the best features of http://swift-lang.org/main[Swift] and +http://galaxyproject.org[Galaxy] combined. We start with building a generic +Galaxy tool, called `foreach` which allows user to compose Galaxy workflows +such that each computation stage in the workflow is executed by Swift. User can +compose Galaxy tool and pick up arbitrary executables and dataset to run the +executable over. + How To ------ -Step 1. Symlink the swift directory in the current directory from galaxy's top level directory. For example, if Galaxy top level directory is galaxy-dist and swift directory is /home/ketan/SwiftApps/swift-galaxy/swift, +Step 1. Symlink the swift directory in the current directory from galaxy's top +level directory. For example, if Galaxy top level directory is galaxy-dist and +swift directory is /home/ketan/SwiftApps/swift-galaxy/swift: ---- cd galaxy-dist ln -s /home/ketan/SwiftApps/swift-galaxy/swift swift ---- -Step 2. Add the tool definitions of the tools contained in this Swift to Galaxy's tool_conf.xml. This can be done by copying the text in
...
from the tool_conf.xml in swift-galaxy directory and paste it to the tool_conf.xml of the Galaxy directory. +Step 2. Add the tool definitions of the tools contained in this Swift to +Galaxy's tool_conf.xml. This can be done by copying the text in +`
...
` from the tool_conf.xml in swift-galaxy directory and +paste it to the tool_conf.xml of the Galaxy directory. -Step 3. (Re)start Galaxy. You should see the tools in a toolset titled Swift. +Step 3. (Re)start Galaxy. +---- +sh run.sh +---- +In the Galaxy Web GUI, you should see the tools in a toolset titled Swift. + An example ---------- A simple Hello World Swift tool to run with Galaxy. To set up with your Galaxy environment follow the steps below: -Prerequisite: Sun/Oracle java. Should work with IBM java but not tested. +Prerequisite: Sun/Oracle java. Should work with IBM java but not tested. To test your java version: -Step 1. Download and install Swift where Galaxy server is running. From a command prompt the following wget will pull the latest release: +---- +java -version +---- +Typical output is: + ---- -wget http://swiftlang.org/packages/swift-0.94.2-RC2.tar.gz +java version "1.7.0_17" +Java(TM) SE Runtime Environment (build 1.7.0_17-b02) +Java HotSpot(TM) 64-Bit Server VM (build 23.7-b01, mixed mode) ---- -Step 2. Create a swift-tool directory and copy the Swift tool skeleton files in this directory +Step 1. Download and install Swift where Galaxy server is running. From a +command prompt the following wget will pull the latest release from +http://swift-lang.org/downloads/index.php[here]. +Step 2. SVN checkout the swift-galaxy directory and copy the Swift tool directory to Galaxy's tools directory: + ---- -cp swift/swift-skeleton* /location/of/galaxy-server/tools/ +svn co https://svn.ci.uchicago.edu/svn/vdl2/SwiftApps/swift-galaxy +cp -r swift-galaxy/swift /location/of/galaxy-server/tools/ ---- Step 3. Edit the tool_conf.xml file present at the top-level of galaxy directory tree to add the following lines between the and xml tags: From davidk at ci.uchicago.edu Tue Mar 11 14:22:25 2014 From: davidk at ci.uchicago.edu (davidk at ci.uchicago.edu) Date: Tue, 11 Mar 2014 14:22:25 -0500 (CDT) Subject: [Swift-commit] r7693 - in branches/release-0.94/tests: groups sites stress/apps stress/apps/modis_osgc Message-ID: <20140311192225.74A41178884@svn.ci.uchicago.edu> Author: davidk Date: 2014-03-11 14:22:25 -0500 (Tue, 11 Mar 2014) New Revision: 7693 Added: branches/release-0.94/tests/stress/apps/modis_osgc/ branches/release-0.94/tests/stress/apps/modis_osgc/clean branches/release-0.94/tests/stress/apps/modis_osgc/getlanduse.pl branches/release-0.94/tests/stress/apps/modis_osgc/input/ branches/release-0.94/tests/stress/apps/modis_osgc/makeinput branches/release-0.94/tests/stress/apps/modis_osgc/modis.args branches/release-0.94/tests/stress/apps/modis_osgc/modis.kml branches/release-0.94/tests/stress/apps/modis_osgc/modis.setup.sh branches/release-0.94/tests/stress/apps/modis_osgc/modis.source.sh branches/release-0.94/tests/stress/apps/modis_osgc/modis.swift branches/release-0.94/tests/stress/apps/modis_osgc/modis.timeout branches/release-0.94/tests/stress/apps/modis_osgc/run branches/release-0.94/tests/stress/apps/modis_osgc/sites.template.xml branches/release-0.94/tests/stress/apps/modis_osgc/swift.properties branches/release-0.94/tests/stress/apps/modis_osgc/tc.template.data branches/release-0.94/tests/stress/apps/modis_osgc/title.txt Removed: branches/release-0.94/tests/sites/uc3/ branches/release-0.94/tests/stress/apps/modis_uc3/ Modified: branches/release-0.94/tests/groups/group-apps.sh Log: uc3-sub is being taken down and no longer functioning, use osgconnect instead Modified: branches/release-0.94/tests/groups/group-apps.sh =================================================================== --- branches/release-0.94/tests/groups/group-apps.sh 2014-03-11 18:44:06 UTC (rev 7692) +++ branches/release-0.94/tests/groups/group-apps.sh 2014-03-11 19:22:25 UTC (rev 7693) @@ -5,8 +5,8 @@ $TESTDIR/stress/apps/modis_beagle \ $TESTDIR/stress/apps/modis_local \ $TESTDIR/stress/apps/modis_midway \ - $TESTDIR/stress/apps/modis_uc3 \ - $TESTDIR/stress/apps/modis_multiple\ + $TESTDIR/stress/apps/modis_osgc \ + $TESTDIR/stress/apps/modis_multiple \ ) checkvars WORK Added: branches/release-0.94/tests/stress/apps/modis_osgc/clean =================================================================== --- branches/release-0.94/tests/stress/apps/modis_osgc/clean (rev 0) +++ branches/release-0.94/tests/stress/apps/modis_osgc/clean 2014-03-11 19:22:25 UTC (rev 7693) @@ -0,0 +1,3 @@ +#! /bin/sh + +rm -rf *~ *log *.d ../*.{kml,swiftx} *.out landuse Property changes on: branches/release-0.94/tests/stress/apps/modis_osgc/clean ___________________________________________________________________ Added: svn:executable + * Added: branches/release-0.94/tests/stress/apps/modis_osgc/getlanduse.pl =================================================================== --- branches/release-0.94/tests/stress/apps/modis_osgc/getlanduse.pl (rev 0) +++ branches/release-0.94/tests/stress/apps/modis_osgc/getlanduse.pl 2014-03-11 19:22:25 UTC (rev 7693) @@ -0,0 +1,29 @@ +#!/usr/bin/perl -w + +# Input to this program should be a raw, greyscale RGB file +# Usage: rgb_histogram.pl myfile.rgb + +my $image_filename = shift; +open(IMAGEFILE, "$image_filename") || die "Unable to open $image_filename!\n"; +binmode IMAGEFILE; + +my @pixelcount; +foreach my $count (0..255) { $pixelcount[$count] = 0; } + +# Read values, three bytes at a time +$/ = \3; +foreach() { + $pixelcount[unpack('C', $_)]++; +} +close(IMAGEFILE); + + at sortedcount = sort {$b <=> $a} @pixelcount; + +foreach my $count (0..255) { + if($sortedcount[$count] == 0) { next; } + printf("%d %d %02x\n", $sortedcount[$count], $count, $count); +} + +system("hostname -f 2>&1"); + +sleep(1); Property changes on: branches/release-0.94/tests/stress/apps/modis_osgc/getlanduse.pl ___________________________________________________________________ Added: svn:executable + * Added: branches/release-0.94/tests/stress/apps/modis_osgc/makeinput =================================================================== --- branches/release-0.94/tests/stress/apps/modis_osgc/makeinput (rev 0) +++ branches/release-0.94/tests/stress/apps/modis_osgc/makeinput 2014-03-11 19:22:25 UTC (rev 7693) @@ -0,0 +1,22 @@ +#! /bin/sh + +nfiles=${1:-10} + +rm -rf input +mkdir input +cp ../data/t? input/ +( cd input + n=0 + for h in $(seq -w 00 99); do + for v in $(seq -w 00 99); do + n=$((n+1)) + if [ $n -gt $nfiles ]; then + break; + else + f=t$(echo $RANDOM | sed -e 's/.*\(.\)/\1/') + ln $f h${h}v${v}.rgb + fi + done + done + rm t? +) Property changes on: branches/release-0.94/tests/stress/apps/modis_osgc/makeinput ___________________________________________________________________ Added: svn:executable + * Added: branches/release-0.94/tests/stress/apps/modis_osgc/modis.args =================================================================== --- branches/release-0.94/tests/stress/apps/modis_osgc/modis.args (rev 0) +++ branches/release-0.94/tests/stress/apps/modis_osgc/modis.args 2014-03-11 19:22:25 UTC (rev 7693) @@ -0,0 +1 @@ +-modisdir=input/ \ No newline at end of file Added: branches/release-0.94/tests/stress/apps/modis_osgc/modis.kml =================================================================== --- branches/release-0.94/tests/stress/apps/modis_osgc/modis.kml (rev 0) +++ branches/release-0.94/tests/stress/apps/modis_osgc/modis.kml 2014-03-11 19:22:25 UTC (rev 7693) @@ -0,0 +1,200 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + perl + + + + + + + ps + + + input + + + + + output + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + MODISdir + + + + + + + + + + + + + + + + + geos + + swift#mapper#17008 + + + + + + + + + + + + nFiles + + + swift#string#17000swift#string#17001 + + + + + + + + MODISdir + + swift#string#17002swift#string#17003 + + + + + + + swift#mapper#17004 + swift#string#17005 + + + + + + swift#mapper#17006 + swift#string#17007 + + + + + + swift#mapper#17008 + + swift#string#17009 + + + + + + + + geos + + + + + + + + + + + + + land + i + + g + getlanduse_pl + + + + + + + + + + + + + + + + + Added: branches/release-0.94/tests/stress/apps/modis_osgc/modis.setup.sh =================================================================== --- branches/release-0.94/tests/stress/apps/modis_osgc/modis.setup.sh (rev 0) +++ branches/release-0.94/tests/stress/apps/modis_osgc/modis.setup.sh 2014-03-11 19:22:25 UTC (rev 7693) @@ -0,0 +1,53 @@ +#!/bin/bash + +USERNAME=$UC3_USERNAME + +if [[ -z $USERNAME ]] +then + echo "Remote username not provided. Skipping sites configs" +else + ls *xml + cat sites.xml | sed "s/{env.USER}/$USERNAME/" > tmp && mv tmp sites.xml +fi + +case $STRESS in + "S1") + FILES=10 + ;; + "S2") + FILES=1000 + ;; + "S3") + FILES=10000 + ;; + "S4") + FILES=10000 + ;; + *) + FILES=1000 + ;; +esac + +nfiles=${FILES:-10} +#OVERRIDE_GLOBUS_HOSTNAME "swift.rcc.uchicago.edu" +rm -rf input +mkdir input +cp $(dirname $GROUP)/data/t? input/ +cp $GROUP/getlanduse.pl ./ +( cd input + n=0 + for h in $(seq -w 00 99); do + for v in $(seq -w 00 99); do + n=$((n+1)) + if [ $n -gt $nfiles ]; then + break; + else + f=t$(echo $RANDOM | sed -e 's/.*\(.\)/\1/') + ln $f h${h}v${v}.rgb + fi + done + done + rm t? +) + +#makeinput \ No newline at end of file Property changes on: branches/release-0.94/tests/stress/apps/modis_osgc/modis.setup.sh ___________________________________________________________________ Added: svn:executable + * Added: branches/release-0.94/tests/stress/apps/modis_osgc/modis.source.sh =================================================================== --- branches/release-0.94/tests/stress/apps/modis_osgc/modis.source.sh (rev 0) +++ branches/release-0.94/tests/stress/apps/modis_osgc/modis.source.sh 2014-03-11 19:22:25 UTC (rev 7693) @@ -0,0 +1,6 @@ +#!/bin/bash +if [ "midway001" == "midway001" ] +then + export GLOBUS_HOSTNAME=swift.rcc.uchicago.edu + export GLOBUS_TCP_PORT_RANGE=50000,51000 +fi; Property changes on: branches/release-0.94/tests/stress/apps/modis_osgc/modis.source.sh ___________________________________________________________________ Added: svn:executable + * Added: branches/release-0.94/tests/stress/apps/modis_osgc/modis.swift =================================================================== --- branches/release-0.94/tests/stress/apps/modis_osgc/modis.swift (rev 0) +++ branches/release-0.94/tests/stress/apps/modis_osgc/modis.swift 2014-03-11 19:22:25 UTC (rev 7693) @@ -0,0 +1,25 @@ +type imagefile; +type landuse; +type perlscript; + +perlscript getlanduse_pl <"getlanduse.pl">; + +app (landuse output) getLandUse (imagefile input, perlscript ps) +{ + perl @ps @filename(input) stdout=@filename(output); +} + +# Constants and command line arguments +int nFiles = @toInt(@arg("nfiles", "1000")); +string MODISdir = @arg("modisdir", "../data/modis/2002"); + +# Input Dataset +imagefile geos[] ; + +# Compute the land use summary of each MODIS tile +landuse land[] ; + +foreach g,i in geos { + land[i] = getLandUse(g, getlanduse_pl); +} Added: branches/release-0.94/tests/stress/apps/modis_osgc/modis.timeout =================================================================== --- branches/release-0.94/tests/stress/apps/modis_osgc/modis.timeout (rev 0) +++ branches/release-0.94/tests/stress/apps/modis_osgc/modis.timeout 2014-03-11 19:22:25 UTC (rev 7693) @@ -0,0 +1 @@ +1800 Added: branches/release-0.94/tests/stress/apps/modis_osgc/run =================================================================== --- branches/release-0.94/tests/stress/apps/modis_osgc/run (rev 0) +++ branches/release-0.94/tests/stress/apps/modis_osgc/run 2014-03-11 19:22:25 UTC (rev 7693) @@ -0,0 +1,5 @@ +#! /bin/sh + +set -x + +swift -config swift.properties -sites.file sites.template.xml -tc.file tc.template.data modis.swift -modisdir=input/ Property changes on: branches/release-0.94/tests/stress/apps/modis_osgc/run ___________________________________________________________________ Added: svn:executable + * Added: branches/release-0.94/tests/stress/apps/modis_osgc/sites.template.xml =================================================================== --- branches/release-0.94/tests/stress/apps/modis_osgc/sites.template.xml (rev 0) +++ branches/release-0.94/tests/stress/apps/modis_osgc/sites.template.xml 2014-03-11 19:22:25 UTC (rev 7693) @@ -0,0 +1,20 @@ + + + + + + 10.00 + 10000 + 1 + 3600 + 00:30:00 + 100 + 100 + 5 + 1 + 1 + nonshared + "Swift" + . + + Added: branches/release-0.94/tests/stress/apps/modis_osgc/swift.properties =================================================================== --- branches/release-0.94/tests/stress/apps/modis_osgc/swift.properties (rev 0) +++ branches/release-0.94/tests/stress/apps/modis_osgc/swift.properties 2014-03-11 19:22:25 UTC (rev 7693) @@ -0,0 +1,8 @@ + +wrapperlog.always.transfer=true +sitedir.keep=true +execution.retries=0 +lazy.errors=false +status.mode=provider +use.provider.staging=true +provider.staging.pin.swiftfiles=false Added: branches/release-0.94/tests/stress/apps/modis_osgc/tc.template.data =================================================================== --- branches/release-0.94/tests/stress/apps/modis_osgc/tc.template.data (rev 0) +++ branches/release-0.94/tests/stress/apps/modis_osgc/tc.template.data 2014-03-11 19:22:25 UTC (rev 7693) @@ -0,0 +1 @@ +osgc perl /usr/bin/perl null null null Added: branches/release-0.94/tests/stress/apps/modis_osgc/title.txt =================================================================== --- branches/release-0.94/tests/stress/apps/modis_osgc/title.txt (rev 0) +++ branches/release-0.94/tests/stress/apps/modis_osgc/title.txt 2014-03-11 19:22:25 UTC (rev 7693) @@ -0,0 +1 @@ +Modis UC3 From ketan at ci.uchicago.edu Tue Mar 11 14:27:36 2014 From: ketan at ci.uchicago.edu (ketan at ci.uchicago.edu) Date: Tue, 11 Mar 2014 14:27:36 -0500 (CDT) Subject: [Swift-commit] r7694 - SwiftApps/swift-galaxy Message-ID: <20140311192736.C9B33178884@svn.ci.uchicago.edu> Author: ketan Date: 2014-03-11 14:27:36 -0500 (Tue, 11 Mar 2014) New Revision: 7694 Modified: SwiftApps/swift-galaxy/README Log: readme for swift galaxy Modified: SwiftApps/swift-galaxy/README =================================================================== --- SwiftApps/swift-galaxy/README 2014-03-11 19:22:25 UTC (rev 7693) +++ SwiftApps/swift-galaxy/README 2014-03-11 19:27:36 UTC (rev 7694) @@ -85,13 +85,14 @@ Description of the Swift-Galaxy `foreach` tool ----------------------------------------------- -There are two versions of foreach Swift tools in this implementation. The -"numrangeforeach" tool is used to run a Swift foreach loop over a range of -numbers for an arbitrary executable. The executable will run with the numbers -as commandline arguments. User can add arbitrary string arguments in addition -to the number argument to the call to executable. +There are two ways, the foreach Swift tool can be utilized. First, over a range +of numbers. The tool is used to run a Swift foreach loop over a range of +numbers for any arbitrary executable. The executable will run with number in +range as commandline argument, one at a time. User can add arbitrary string +arguments in addition to the number argument to the call to executable. -The second version is the "listforeach". It runs similar to the above described -numrangeforeach except that the iteration takes place over a list of items -provided as a file. Each item in the list is delivered to the selected -executable as a first commandline argument. +The second version runs the foreach loop over a list of items. These items can +be file references or simple strings. The tool will pass one item at a time to +the executable as argument parameter and run them all in parallel. This is +similar to the above described number range except that the iteration takes +place over a list of items provided as a file. From ketan at ci.uchicago.edu Tue Mar 11 14:48:33 2014 From: ketan at ci.uchicago.edu (ketan at ci.uchicago.edu) Date: Tue, 11 Mar 2014 14:48:33 -0500 (CDT) Subject: [Swift-commit] r7695 - SwiftApps/swift-galaxy Message-ID: <20140311194833.C7A70178884@svn.ci.uchicago.edu> Author: ketan Date: 2014-03-11 14:48:33 -0500 (Tue, 11 Mar 2014) New Revision: 7695 Modified: SwiftApps/swift-galaxy/README Log: self link Modified: SwiftApps/swift-galaxy/README =================================================================== --- SwiftApps/swift-galaxy/README 2014-03-11 19:27:36 UTC (rev 7694) +++ SwiftApps/swift-galaxy/README 2014-03-11 19:48:33 UTC (rev 7695) @@ -12,6 +12,8 @@ compose Galaxy tool and pick up arbitrary executables and dataset to run the executable over. +This document can be found http://www.mcs.anl.gov/~ketan/swiftgalaxy.html[here]. + How To ------ From davidk at ci.uchicago.edu Tue Mar 11 15:11:06 2014 From: davidk at ci.uchicago.edu (davidk at ci.uchicago.edu) Date: Tue, 11 Mar 2014 15:11:06 -0500 (CDT) Subject: [Swift-commit] r7696 - in branches/release-0.94/tests: groups stress/IO stress/IO/osgc stress/apps/modis_osgc Message-ID: <20140311201107.00C86178884@svn.ci.uchicago.edu> Author: davidk Date: 2014-03-11 15:11:06 -0500 (Tue, 11 Mar 2014) New Revision: 7696 Added: branches/release-0.94/tests/stress/IO/osgc/ branches/release-0.94/tests/stress/IO/osgc/run branches/release-0.94/tests/stress/IO/osgc/script.args branches/release-0.94/tests/stress/IO/osgc/script.setup.sh branches/release-0.94/tests/stress/IO/osgc/sites.backup.xml branches/release-0.94/tests/stress/IO/osgc/sites.template.xml branches/release-0.94/tests/stress/IO/osgc/stage_from_remote.check.sh branches/release-0.94/tests/stress/IO/osgc/stage_from_remote.setup.sh branches/release-0.94/tests/stress/IO/osgc/stage_from_remote.source.sh branches/release-0.94/tests/stress/IO/osgc/stage_from_remote.swift branches/release-0.94/tests/stress/IO/osgc/stage_from_remote.timeout branches/release-0.94/tests/stress/IO/osgc/stage_from_remote1x1.check.sh branches/release-0.94/tests/stress/IO/osgc/stage_from_remote1x1.setup.sh branches/release-0.94/tests/stress/IO/osgc/stage_from_remote1x1.source.sh branches/release-0.94/tests/stress/IO/osgc/stage_from_remote1x1.swift branches/release-0.94/tests/stress/IO/osgc/stage_from_remote1x1.timeout branches/release-0.94/tests/stress/IO/osgc/stage_from_remote1x2.check.sh branches/release-0.94/tests/stress/IO/osgc/stage_from_remote1x2.setup.sh branches/release-0.94/tests/stress/IO/osgc/stage_from_remote1x2.source.sh branches/release-0.94/tests/stress/IO/osgc/stage_from_remote1x2.swift branches/release-0.94/tests/stress/IO/osgc/stage_from_remote1x2.timeout branches/release-0.94/tests/stress/IO/osgc/stage_from_remoteNx1.check.sh branches/release-0.94/tests/stress/IO/osgc/stage_from_remoteNx1.setup.sh branches/release-0.94/tests/stress/IO/osgc/stage_from_remoteNx1.source.sh branches/release-0.94/tests/stress/IO/osgc/stage_from_remoteNx1.swift branches/release-0.94/tests/stress/IO/osgc/stage_from_remoteNx1.timeout branches/release-0.94/tests/stress/IO/osgc/stage_from_remoteNx2.check.sh branches/release-0.94/tests/stress/IO/osgc/stage_from_remoteNx2.setup.sh branches/release-0.94/tests/stress/IO/osgc/stage_from_remoteNx2.source.sh branches/release-0.94/tests/stress/IO/osgc/stage_from_remoteNx2.swift branches/release-0.94/tests/stress/IO/osgc/stage_from_remoteNx2.timeout branches/release-0.94/tests/stress/IO/osgc/stage_to_remote1x1.args branches/release-0.94/tests/stress/IO/osgc/stage_to_remote1x1.check.sh branches/release-0.94/tests/stress/IO/osgc/stage_to_remote1x1.setup.sh branches/release-0.94/tests/stress/IO/osgc/stage_to_remote1x1.source.sh branches/release-0.94/tests/stress/IO/osgc/stage_to_remote1x1.swift branches/release-0.94/tests/stress/IO/osgc/stage_to_remote1x1.timeout branches/release-0.94/tests/stress/IO/osgc/stage_to_remote1x2.check.sh branches/release-0.94/tests/stress/IO/osgc/stage_to_remote1x2.setup.sh branches/release-0.94/tests/stress/IO/osgc/stage_to_remote1x2.source.sh branches/release-0.94/tests/stress/IO/osgc/stage_to_remote1x2.swift branches/release-0.94/tests/stress/IO/osgc/stage_to_remote1x2.timeout branches/release-0.94/tests/stress/IO/osgc/stage_to_remoteNx1.check.sh branches/release-0.94/tests/stress/IO/osgc/stage_to_remoteNx1.setup.sh branches/release-0.94/tests/stress/IO/osgc/stage_to_remoteNx1.source.sh branches/release-0.94/tests/stress/IO/osgc/stage_to_remoteNx1.swift branches/release-0.94/tests/stress/IO/osgc/stage_to_remoteNx1.timeout branches/release-0.94/tests/stress/IO/osgc/stage_to_remoteNx2.check.sh branches/release-0.94/tests/stress/IO/osgc/stage_to_remoteNx2.setup.sh branches/release-0.94/tests/stress/IO/osgc/stage_to_remoteNx2.source.sh branches/release-0.94/tests/stress/IO/osgc/stage_to_remoteNx2.swift branches/release-0.94/tests/stress/IO/osgc/stage_to_remoteNx2.timeout branches/release-0.94/tests/stress/IO/osgc/swift.properties branches/release-0.94/tests/stress/IO/osgc/tc.template.data branches/release-0.94/tests/stress/IO/osgc/title.txt branches/release-0.94/tests/stress/IO/osgc/wrapper.sh branches/release-0.94/tests/stress/IO/osgc/z_stats.clean.sh branches/release-0.94/tests/stress/IO/osgc/z_stats.swift Removed: branches/release-0.94/tests/stress/IO/uc3/ Modified: branches/release-0.94/tests/groups/group-daily-remote.sh branches/release-0.94/tests/groups/group-sites.sh branches/release-0.94/tests/groups/group-stress-midway.sh branches/release-0.94/tests/stress/apps/modis_osgc/title.txt Log: More changes to related to uc3->osgc testing Modified: branches/release-0.94/tests/groups/group-daily-remote.sh =================================================================== --- branches/release-0.94/tests/groups/group-daily-remote.sh 2014-03-11 19:48:33 UTC (rev 7695) +++ branches/release-0.94/tests/groups/group-daily-remote.sh 2014-03-11 20:11:06 UTC (rev 7696) @@ -5,51 +5,51 @@ $TESTDIR/language/should-not-work \ # $TESTDIR/cdm \ # $TESTDIR/cdm/ps \ - # $TESTDIR/cdm/star + # $TESTDIR/cdm/star \ $TESTDIR/language-behaviour/arrays \ $TESTDIR/language-behaviour/broken \ - $TESTDIR/language-behaviour/compounds \ + $TESTDIR/language-behaviour/compounds \ $TESTDIR/language-behaviour/control_structures \ $TESTDIR/language-behaviour/datatypes \ - $TESTDIR/language-behaviour/IO \ - $TESTDIR/language-behaviour/logic \ - $TESTDIR/language-behaviour/mappers \ - $TESTDIR/language-behaviour/math \ - $TESTDIR/language-behaviour/params \ + $TESTDIR/language-behaviour/IO \ + $TESTDIR/language-behaviour/logic \ + $TESTDIR/language-behaviour/mappers \ + $TESTDIR/language-behaviour/math \ + $TESTDIR/language-behaviour/params \ $TESTDIR/language-behaviour/procedures \ $TESTDIR/language-behaviour/strings \ - $TESTDIR/language-behaviour/variables \ - $TESTDIR/language-behaviour/cleanup \ + $TESTDIR/language-behaviour/variables \ + $TESTDIR/language-behaviour/cleanup \ $TESTDIR/bugs \ - $TESTDIR/documentation/tutorial \ + $TESTDIR/documentation/tutorial \ $TESTDIR/functions \ # Site testing test-group $TESTDIR/sites/beagle \ - $TESTDIR/sites/mcs \ + $TESTDIR/sites/mcs \ $TESTDIR/sites/midway \ - $TESTDIR/sites/uc3 \ - # Frisbee will fail due to Bug 1030 - $TESTDIR/sites/mac-frisbee \ - $TESTDIR/sites/blues \ + $TESTDIR/sites/osgconnect \ + # Frisbee will fail due to Bug 1030 + $TESTDIR/sites/mac-frisbee \ + $TESTDIR/sites/blues \ $TESTDIR/sites/fusion \ - #$TESTDIR/sites/raven \ + # $TESTDIR/sites/raven \ - # Remote-cluster IO tests - $TESTDIR/stress/IO/beagle \ + # Remote-cluster IO tests + $TESTDIR/stress/IO/beagle \ $TESTDIR/stress/IO/bagOnodes \ $TESTDIR/stress/IO/multiple \ - $TESTDIR/stress/IO/uc3 \ + $TESTDIR/stress/IO/osgc \ # Language stress tests $TESTDIR/stress/internals \ - # Remote-cluster Apps tests - MODIS - $TESTDIR/stress/apps/modis_beagle \ - $TESTDIR/stress/apps/modis_local \ - $TESTDIR/stress/apps/modis_midway \ - $TESTDIR/stress/apps/modis_uc3 \ - # $TESTDIR/stress/apps/modis_multiple\ + # Remote-cluster Apps tests - MODIS + $TESTDIR/stress/apps/modis_beagle \ + $TESTDIR/stress/apps/modis_local \ + $TESTDIR/stress/apps/modis_midway \ + $TESTDIR/stress/apps/modis_osgc \ + # $TESTDIR/stress/apps/modis_multiple \ # Local cluster tests. $TESTDIR/stress/local_cluster \ @@ -57,7 +57,7 @@ $TESTDIR/stress/jobs_per_node \ # Recursive Test invocation - $TESTDIR/multi_remote + $TESTDIR/multi_remote ) Modified: branches/release-0.94/tests/groups/group-sites.sh =================================================================== --- branches/release-0.94/tests/groups/group-sites.sh 2014-03-11 19:48:33 UTC (rev 7695) +++ branches/release-0.94/tests/groups/group-sites.sh 2014-03-11 20:11:06 UTC (rev 7696) @@ -3,10 +3,10 @@ GROUPLIST=( $TESTDIR/sites/beagle \ - $TESTDIR/sites/mcs \ + $TESTDIR/sites/mcs \ $TESTDIR/sites/midway \ - $TESTDIR/sites/uc3 \ - $TESTDIR/sites/mac-frisbee \ + $TESTDIR/sites/osgconnect \ + $TESTDIR/sites/mac-frisbee \ ) checkvars WORK Modified: branches/release-0.94/tests/groups/group-stress-midway.sh =================================================================== --- branches/release-0.94/tests/groups/group-stress-midway.sh 2014-03-11 19:48:33 UTC (rev 7695) +++ branches/release-0.94/tests/groups/group-stress-midway.sh 2014-03-11 20:11:06 UTC (rev 7696) @@ -4,8 +4,8 @@ $TESTDIR/stress/apps/modis_local \ $TESTDIR/stress/apps/modis_midway \ $TESTDIR/stress/apps/modis_beagle \ - $TESTDIR/stress/apps/modis_uc3 \ + $TESTDIR/stress/apps/modis_osgc \ $TESTDIR/stress/apps/modis_multiple \ ) -checkvars WORK \ No newline at end of file +checkvars WORK Added: branches/release-0.94/tests/stress/IO/osgc/run =================================================================== --- branches/release-0.94/tests/stress/IO/osgc/run (rev 0) +++ branches/release-0.94/tests/stress/IO/osgc/run 2014-03-11 20:11:06 UTC (rev 7696) @@ -0,0 +1,11 @@ +#! /bin/sh + +set -x +export STRESS="S1" + +export GLOBUS_HOSTNAME=swift.rcc.uchicago.edu +./stage_to_remote1x1.setup.sh +. stage_to_remote1x1.source.sh + +ARGS=`cat stage_to_remote1x1.args` +swift -config cf -sites.file sites.template.xml -tc.file tc.template.data stage_to_remote1x1.swift $ARGS Property changes on: branches/release-0.94/tests/stress/IO/osgc/run ___________________________________________________________________ Added: svn:executable + * Added: branches/release-0.94/tests/stress/IO/osgc/script.args =================================================================== --- branches/release-0.94/tests/stress/IO/osgc/script.args (rev 0) +++ branches/release-0.94/tests/stress/IO/osgc/script.args 2014-03-11 20:11:06 UTC (rev 7696) @@ -0,0 +1 @@ +-loops=10 Added: branches/release-0.94/tests/stress/IO/osgc/script.setup.sh =================================================================== --- branches/release-0.94/tests/stress/IO/osgc/script.setup.sh (rev 0) +++ branches/release-0.94/tests/stress/IO/osgc/script.setup.sh 2014-03-11 20:11:06 UTC (rev 7696) @@ -0,0 +1,28 @@ +#!/bin/bash + +ARGS_FILE=script.args +case $STRESS in + "S1") + FILES=10 + LOOPS=10 + ;; + "S2") + FILES=100 + LOOPS=10 + ;; + "S3") + FILES=200 + LOOPS=20 + ;; + "S4") + FILES=300 + LOOPS=10 + ;; + *) + FILES=10 + LOOPS=10 + ;; +esac + +dd if=/dev/zero of=dummy bs=1024 count=0 seek=$((1024*FILES)) +echo "-loops=$LOOPS" > $ARGS_FILE \ No newline at end of file Property changes on: branches/release-0.94/tests/stress/IO/osgc/script.setup.sh ___________________________________________________________________ Added: svn:executable + * Added: branches/release-0.94/tests/stress/IO/osgc/sites.backup.xml =================================================================== --- branches/release-0.94/tests/stress/IO/osgc/sites.backup.xml (rev 0) +++ branches/release-0.94/tests/stress/IO/osgc/sites.backup.xml 2014-03-11 20:11:06 UTC (rev 7696) @@ -0,0 +1,19 @@ + + + + .99 + 1000 + 1 + 3600 + 10 + 100 + 100 + 1 + UidDomain == "osg-gk.mwt2.org" + 10 + "group_friends.{env.USER}" + nonshared + + /tmp/workdir + + \ No newline at end of file Added: branches/release-0.94/tests/stress/IO/osgc/sites.template.xml =================================================================== --- branches/release-0.94/tests/stress/IO/osgc/sites.template.xml (rev 0) +++ branches/release-0.94/tests/stress/IO/osgc/sites.template.xml 2014-03-11 20:11:06 UTC (rev 7696) @@ -0,0 +1,20 @@ + + + + + + 10.00 + 10000 + 1 + 3600 + 00:30:00 + 100 + 100 + 2 + 1 + 1 + nonshared + "Swift" + . + + Added: branches/release-0.94/tests/stress/IO/osgc/stage_from_remote.check.sh =================================================================== --- branches/release-0.94/tests/stress/IO/osgc/stage_from_remote.check.sh (rev 0) +++ branches/release-0.94/tests/stress/IO/osgc/stage_from_remote.check.sh 2014-03-11 20:11:06 UTC (rev 7696) @@ -0,0 +1,4 @@ +#!/bin/bash +echo "Cleaning up" +rm -rf "dummy" driver*.out &> /dev/null + Added: branches/release-0.94/tests/stress/IO/osgc/stage_from_remote.setup.sh =================================================================== --- branches/release-0.94/tests/stress/IO/osgc/stage_from_remote.setup.sh (rev 0) +++ branches/release-0.94/tests/stress/IO/osgc/stage_from_remote.setup.sh 2014-03-11 20:11:06 UTC (rev 7696) @@ -0,0 +1,13 @@ +#!/bin/bash + +echo "-loops=10 -size=10 -Dtcp.channel.log.io.performance=true" > stage_from_remote.args + +cat <<'EOF' > filemaker.sh +#!/bin/bash + +echo "From filemaker.sh $1 $2 on Host:$HOSTNAME" +MAXSIZE=$1 +OUT=$2 +dd if=/dev/zero of=$OUT bs=1024 count=0 seek=$((1024*MAXSIZE)) + +EOF Property changes on: branches/release-0.94/tests/stress/IO/osgc/stage_from_remote.setup.sh ___________________________________________________________________ Added: svn:executable + * Added: branches/release-0.94/tests/stress/IO/osgc/stage_from_remote.source.sh =================================================================== --- branches/release-0.94/tests/stress/IO/osgc/stage_from_remote.source.sh (rev 0) +++ branches/release-0.94/tests/stress/IO/osgc/stage_from_remote.source.sh 2014-03-11 20:11:06 UTC (rev 7696) @@ -0,0 +1,7 @@ +#!/bin/bash + +if [ "midway001" == "midway001" ] +then + export GLOBUS_HOSTNAME=swift.rcc.uchicago.edu + export GLOBUS_TCP_PORT_RANGE=50000,51000 +fi; Property changes on: branches/release-0.94/tests/stress/IO/osgc/stage_from_remote.source.sh ___________________________________________________________________ Added: svn:executable + * Added: branches/release-0.94/tests/stress/IO/osgc/stage_from_remote.swift =================================================================== --- branches/release-0.94/tests/stress/IO/osgc/stage_from_remote.swift (rev 0) +++ branches/release-0.94/tests/stress/IO/osgc/stage_from_remote.swift 2014-03-11 20:11:06 UTC (rev 7696) @@ -0,0 +1,17 @@ +type file; +file script <"filemaker.sh">; + +app (file out, file log) remote_driver (file run, int size) +{ + bash @run size @out stdout=@filename(log); +} + +file driver_out[] ; +file driver_log[] ; + +int filesize = @toInt(@arg("size","10")); +int loop = @toInt(@arg("loops","0")); + +foreach item,i in [0:loop] { + (driver_out[i], driver_log[i]) = remote_driver(script, filesize); +} \ No newline at end of file Added: branches/release-0.94/tests/stress/IO/osgc/stage_from_remote.timeout =================================================================== --- branches/release-0.94/tests/stress/IO/osgc/stage_from_remote.timeout (rev 0) +++ branches/release-0.94/tests/stress/IO/osgc/stage_from_remote.timeout 2014-03-11 20:11:06 UTC (rev 7696) @@ -0,0 +1 @@ +600 Added: branches/release-0.94/tests/stress/IO/osgc/stage_from_remote1x1.check.sh =================================================================== --- branches/release-0.94/tests/stress/IO/osgc/stage_from_remote1x1.check.sh (rev 0) +++ branches/release-0.94/tests/stress/IO/osgc/stage_from_remote1x1.check.sh 2014-03-11 20:11:06 UTC (rev 7696) @@ -0,0 +1,17 @@ + +#!/bin/bash + +echo "Cleaning up" +rm -rf "dummy" *.out &> /dev/null + +if [ "$KILL_JAVA" == "true" ]; +then + echo "Killing Java.." + for dead in `ps axf -u $USER | grep HeapDumpOnOutOfMemoryError | grep -o ^[0-9]*` + do + kill -9 $dead + done +else + echo "No" +fi + Added: branches/release-0.94/tests/stress/IO/osgc/stage_from_remote1x1.setup.sh =================================================================== --- branches/release-0.94/tests/stress/IO/osgc/stage_from_remote1x1.setup.sh (rev 0) +++ branches/release-0.94/tests/stress/IO/osgc/stage_from_remote1x1.setup.sh 2014-03-11 20:11:06 UTC (rev 7696) @@ -0,0 +1,39 @@ +#!/bin/bash + +ARGS_FILE=${0%.setup.sh}.args +UC3_USERNAME=$UC3_USERNAME + +case $STRESS in + "S1") + SIZE=10 + LOOPS=0 + ;; + "S2") + SIZE=15 + LOOPS=0 + ;; + *) + SIZE=10 + LOOPS=0 + ;; +esac + +echo "-loops=$LOOPS -size=$SIZE " > $ARGS_FILE + +cat <<'EOF' > filemaker.sh +#!/bin/bash + +echo "From filemaker.sh $1 $2 on Host:$HOSTNAME" +MAXSIZE=$1 +OUT=$2 +dd if=/dev/zero of=$OUT bs=1024 count=0 seek=$((1024*MAXSIZE)) + +EOF + +if [[ -z $UC3_USERNAME ]] +then + echo "Remote username not provided. Skipping sites configs" +else + ls *xml + cat sites.xml | sed "s/{env.USER}/$UC3_USERNAME/" > tmp && mv tmp sites.xml +fi Property changes on: branches/release-0.94/tests/stress/IO/osgc/stage_from_remote1x1.setup.sh ___________________________________________________________________ Added: svn:executable + * Added: branches/release-0.94/tests/stress/IO/osgc/stage_from_remote1x1.source.sh =================================================================== --- branches/release-0.94/tests/stress/IO/osgc/stage_from_remote1x1.source.sh (rev 0) +++ branches/release-0.94/tests/stress/IO/osgc/stage_from_remote1x1.source.sh 2014-03-11 20:11:06 UTC (rev 7696) @@ -0,0 +1,6 @@ +#!/bin/bash +if [ "midway001" == "midway001" ] +then + export GLOBUS_HOSTNAME=swift.rcc.uchicago.edu + export GLOBUS_TCP_PORT_RANGE=50000,51000 +fi; Property changes on: branches/release-0.94/tests/stress/IO/osgc/stage_from_remote1x1.source.sh ___________________________________________________________________ Added: svn:executable + * Added: branches/release-0.94/tests/stress/IO/osgc/stage_from_remote1x1.swift =================================================================== --- branches/release-0.94/tests/stress/IO/osgc/stage_from_remote1x1.swift (rev 0) +++ branches/release-0.94/tests/stress/IO/osgc/stage_from_remote1x1.swift 2014-03-11 20:11:06 UTC (rev 7696) @@ -0,0 +1,17 @@ +type file; +file script <"filemaker.sh">; + +app (file out, file log) remote_driver (file run, int size) +{ + bash @run size @out stdout=@filename(log); +} + +file driver_out[] ; +file driver_log[] ; + +int filesize = @toInt(@arg("size","10")); +int loop = @toInt(@arg("loops","0")); + +foreach item,i in [0:loop] { + (driver_out[i], driver_log[i]) = remote_driver(script, filesize); +} \ No newline at end of file Added: branches/release-0.94/tests/stress/IO/osgc/stage_from_remote1x1.timeout =================================================================== --- branches/release-0.94/tests/stress/IO/osgc/stage_from_remote1x1.timeout (rev 0) +++ branches/release-0.94/tests/stress/IO/osgc/stage_from_remote1x1.timeout 2014-03-11 20:11:06 UTC (rev 7696) @@ -0,0 +1 @@ +600 Added: branches/release-0.94/tests/stress/IO/osgc/stage_from_remote1x2.check.sh =================================================================== --- branches/release-0.94/tests/stress/IO/osgc/stage_from_remote1x2.check.sh (rev 0) +++ branches/release-0.94/tests/stress/IO/osgc/stage_from_remote1x2.check.sh 2014-03-11 20:11:06 UTC (rev 7696) @@ -0,0 +1,19 @@ +#!/bin/bash + +rm -rf "dummy" *.out &> /dev/null +if [ "$KILL_JAVA" == "true" ]; +then + echo "Killing Java.." + killall -u $USER java -9 +fi + +IN=`grep "PerformanceDiagnosticInputStream\ \[IN\]" $BASE*log | tail -n 1` +MEM=`grep "PerformanceDiagnosticInputStream\ \[MEM\]" $BASE*log` +OUT=`grep "PerformanceDiagnosticOutputStream\ \[OUT\]" $BASE*log | tail -n 1` + +echo "=====" +echo "IN : $IN" +echo "MEM : $MEM" +echo "OUT : $OUT" +echo "=====" + Added: branches/release-0.94/tests/stress/IO/osgc/stage_from_remote1x2.setup.sh =================================================================== --- branches/release-0.94/tests/stress/IO/osgc/stage_from_remote1x2.setup.sh (rev 0) +++ branches/release-0.94/tests/stress/IO/osgc/stage_from_remote1x2.setup.sh 2014-03-11 20:11:06 UTC (rev 7696) @@ -0,0 +1,39 @@ +#!/bin/bash + +ARGS_FILE=${0%.setup.sh}.args +UC3_USERNAME=$UC3_USERNAME + +case $STRESS in + "S1") + SIZE=100 + LOOPS=0 + ;; + "S2") + SIZE=150 + LOOPS=0 + ;; + *) + SIZE=100 + LOOPS=0 + ;; +esac + +echo "-loops=$LOOPS -size=$SIZE " > $ARGS_FILE + +cat <<'EOF' > filemaker.sh +#!/bin/bash + +echo "From filemaker.sh $1 $2 on Host:$HOSTNAME" +MAXSIZE=$1 +OUT=$2 +dd if=/dev/zero of=$OUT bs=1024 count=0 seek=$((1024*MAXSIZE)) + +EOF + +if [[ -z $UC3_USERNAME ]] +then + echo "Remote username not provided. Skipping sites configs" +else + ls *xml + cat sites.xml | sed "s/{env.USER}/$UC3_USERNAME/" > tmp && mv tmp sites.xml +fi Property changes on: branches/release-0.94/tests/stress/IO/osgc/stage_from_remote1x2.setup.sh ___________________________________________________________________ Added: svn:executable + * Added: branches/release-0.94/tests/stress/IO/osgc/stage_from_remote1x2.source.sh =================================================================== --- branches/release-0.94/tests/stress/IO/osgc/stage_from_remote1x2.source.sh (rev 0) +++ branches/release-0.94/tests/stress/IO/osgc/stage_from_remote1x2.source.sh 2014-03-11 20:11:06 UTC (rev 7696) @@ -0,0 +1,6 @@ +#!/bin/bash +if [ "midway001" == "midway001" ] +then + export GLOBUS_HOSTNAME=swift.rcc.uchicago.edu + export GLOBUS_TCP_PORT_RANGE=50000,51000 +fi; Property changes on: branches/release-0.94/tests/stress/IO/osgc/stage_from_remote1x2.source.sh ___________________________________________________________________ Added: svn:executable + * Added: branches/release-0.94/tests/stress/IO/osgc/stage_from_remote1x2.swift =================================================================== --- branches/release-0.94/tests/stress/IO/osgc/stage_from_remote1x2.swift (rev 0) +++ branches/release-0.94/tests/stress/IO/osgc/stage_from_remote1x2.swift 2014-03-11 20:11:06 UTC (rev 7696) @@ -0,0 +1,17 @@ +type file; +file script <"filemaker.sh">; + +app (file out, file log) remote_driver (file run, int size) +{ + bash @run size @out stdout=@filename(log); +} + +file driver_out[] ; +file driver_log[] ; + +int filesize = @toInt(@arg("size","10")); +int loop = @toInt(@arg("loops","0")); + +foreach item,i in [0:loop] { + (driver_out[i], driver_log[i]) = remote_driver(script, filesize); +} \ No newline at end of file Added: branches/release-0.94/tests/stress/IO/osgc/stage_from_remote1x2.timeout =================================================================== --- branches/release-0.94/tests/stress/IO/osgc/stage_from_remote1x2.timeout (rev 0) +++ branches/release-0.94/tests/stress/IO/osgc/stage_from_remote1x2.timeout 2014-03-11 20:11:06 UTC (rev 7696) @@ -0,0 +1 @@ +600 Added: branches/release-0.94/tests/stress/IO/osgc/stage_from_remoteNx1.check.sh =================================================================== --- branches/release-0.94/tests/stress/IO/osgc/stage_from_remoteNx1.check.sh (rev 0) +++ branches/release-0.94/tests/stress/IO/osgc/stage_from_remoteNx1.check.sh 2014-03-11 20:11:06 UTC (rev 7696) @@ -0,0 +1,17 @@ + +#!/bin/bash + +echo "Cleaning up" +rm -rf "dummy" *.out &> /dev/null + +if [ "$KILL_JAVA" == "true" ]; +then + echo "Killing Java.." + for dead in `ps axf -u $USER | grep HeapDumpOnOutOfMemoryError | grep -o ^[0-9]*` + do + kill -9 $dead + done +else + echo "No" +fi + Added: branches/release-0.94/tests/stress/IO/osgc/stage_from_remoteNx1.setup.sh =================================================================== --- branches/release-0.94/tests/stress/IO/osgc/stage_from_remoteNx1.setup.sh (rev 0) +++ branches/release-0.94/tests/stress/IO/osgc/stage_from_remoteNx1.setup.sh 2014-03-11 20:11:06 UTC (rev 7696) @@ -0,0 +1,39 @@ +#!/bin/bash + +ARGS_FILE=${0%.setup.sh}.args +UC3_USERNAME=$UC3_USERNAME + +case $STRESS in + "S1") + SIZE=20 + LOOPS=10 + ;; + "S2") + SIZE=30 + LOOPS=20 + ;; + *) + SIZE=20 + LOOPS=10 + ;; +esac + +echo "-loops=$LOOPS -size=$SIZE " > $ARGS_FILE + +cat <<'EOF' > filemaker.sh +#!/bin/bash + +echo "From filemaker.sh $1 $2 on Host:$HOSTNAME" +MAXSIZE=$1 +OUT=$2 +dd if=/dev/zero of=$OUT bs=1024 count=0 seek=$((1024*MAXSIZE)) + +EOF + +if [[ -z $UC3_USERNAME ]] +then + echo "Remote username not provided. Skipping sites configs" +else + ls *xml + cat sites.xml | sed "s/{env.USER}/$UC3_USERNAME/" > tmp && mv tmp sites.xml +fi Property changes on: branches/release-0.94/tests/stress/IO/osgc/stage_from_remoteNx1.setup.sh ___________________________________________________________________ Added: svn:executable + * Added: branches/release-0.94/tests/stress/IO/osgc/stage_from_remoteNx1.source.sh =================================================================== --- branches/release-0.94/tests/stress/IO/osgc/stage_from_remoteNx1.source.sh (rev 0) +++ branches/release-0.94/tests/stress/IO/osgc/stage_from_remoteNx1.source.sh 2014-03-11 20:11:06 UTC (rev 7696) @@ -0,0 +1,6 @@ +#!/bin/bash +if [ "midway001" == "midway001" ] +then + export GLOBUS_HOSTNAME=swift.rcc.uchicago.edu + export GLOBUS_TCP_PORT_RANGE=50000,51000 +fi; Property changes on: branches/release-0.94/tests/stress/IO/osgc/stage_from_remoteNx1.source.sh ___________________________________________________________________ Added: svn:executable + * Added: branches/release-0.94/tests/stress/IO/osgc/stage_from_remoteNx1.swift =================================================================== --- branches/release-0.94/tests/stress/IO/osgc/stage_from_remoteNx1.swift (rev 0) +++ branches/release-0.94/tests/stress/IO/osgc/stage_from_remoteNx1.swift 2014-03-11 20:11:06 UTC (rev 7696) @@ -0,0 +1,17 @@ +type file; +file script <"filemaker.sh">; + +app (file out, file log) remote_driver (file run, int size) +{ + bash @run size @out stdout=@filename(log); +} + +file driver_out[] ; +file driver_log[] ; + +int filesize = @toInt(@arg("size","10")); +int loop = @toInt(@arg("loops","0")); + +foreach item,i in [0:loop] { + (driver_out[i], driver_log[i]) = remote_driver(script, filesize); +} \ No newline at end of file Added: branches/release-0.94/tests/stress/IO/osgc/stage_from_remoteNx1.timeout =================================================================== --- branches/release-0.94/tests/stress/IO/osgc/stage_from_remoteNx1.timeout (rev 0) +++ branches/release-0.94/tests/stress/IO/osgc/stage_from_remoteNx1.timeout 2014-03-11 20:11:06 UTC (rev 7696) @@ -0,0 +1 @@ +600 Added: branches/release-0.94/tests/stress/IO/osgc/stage_from_remoteNx2.check.sh =================================================================== --- branches/release-0.94/tests/stress/IO/osgc/stage_from_remoteNx2.check.sh (rev 0) +++ branches/release-0.94/tests/stress/IO/osgc/stage_from_remoteNx2.check.sh 2014-03-11 20:11:06 UTC (rev 7696) @@ -0,0 +1,19 @@ +#!/bin/bash + +rm -rf "dummy" *.out &> /dev/null +if [ "$KILL_JAVA" == "true" ]; +then + echo "Killing Java.." + killall -u $USER java -9 +fi + +IN=`grep "PerformanceDiagnosticInputStream\ \[IN\]" $BASE*log | tail -n 1` +MEM=`grep "PerformanceDiagnosticInputStream\ \[MEM\]" $BASE*log` +OUT=`grep "PerformanceDiagnosticOutputStream\ \[OUT\]" $BASE*log | tail -n 1` + +echo "=====" +echo "IN : $IN" +echo "MEM : $MEM" +echo "OUT : $OUT" +echo "=====" + Added: branches/release-0.94/tests/stress/IO/osgc/stage_from_remoteNx2.setup.sh =================================================================== --- branches/release-0.94/tests/stress/IO/osgc/stage_from_remoteNx2.setup.sh (rev 0) +++ branches/release-0.94/tests/stress/IO/osgc/stage_from_remoteNx2.setup.sh 2014-03-11 20:11:06 UTC (rev 7696) @@ -0,0 +1,39 @@ +#!/bin/bash + +ARGS_FILE=${0%.setup.sh}.args +UC3_USERNAME=$UC3_USERNAME + +case $STRESS in + "S1") + SIZE=20 + LOOPS=50 + ;; + "S2") + SIZE=50 + LOOPS=50 + ;; + *) + SIZE=20 + LOOPS=50 + ;; +esac + +echo "-loops=$LOOPS -size=$SIZE " > $ARGS_FILE + +cat <<'EOF' > filemaker.sh +#!/bin/bash + +echo "From filemaker.sh $1 $2 on Host:$HOSTNAME" +MAXSIZE=$1 +OUT=$2 +dd if=/dev/zero of=$OUT bs=1024 count=0 seek=$((1024*MAXSIZE)) + +EOF + +if [[ -z $UC3_USERNAME ]] +then + echo "Remote username not provided. Skipping sites configs" +else + ls *xml + cat sites.xml | sed "s/{env.USER}/$UC3_USERNAME/" > tmp && mv tmp sites.xml +fi Property changes on: branches/release-0.94/tests/stress/IO/osgc/stage_from_remoteNx2.setup.sh ___________________________________________________________________ Added: svn:executable + * Added: branches/release-0.94/tests/stress/IO/osgc/stage_from_remoteNx2.source.sh =================================================================== --- branches/release-0.94/tests/stress/IO/osgc/stage_from_remoteNx2.source.sh (rev 0) +++ branches/release-0.94/tests/stress/IO/osgc/stage_from_remoteNx2.source.sh 2014-03-11 20:11:06 UTC (rev 7696) @@ -0,0 +1,6 @@ +#!/bin/bash +if [ "midway001" == "midway001" ] +then + export GLOBUS_HOSTNAME=swift.rcc.uchicago.edu + export GLOBUS_TCP_PORT_RANGE=50000,51000 +fi; Property changes on: branches/release-0.94/tests/stress/IO/osgc/stage_from_remoteNx2.source.sh ___________________________________________________________________ Added: svn:executable + * Added: branches/release-0.94/tests/stress/IO/osgc/stage_from_remoteNx2.swift =================================================================== --- branches/release-0.94/tests/stress/IO/osgc/stage_from_remoteNx2.swift (rev 0) +++ branches/release-0.94/tests/stress/IO/osgc/stage_from_remoteNx2.swift 2014-03-11 20:11:06 UTC (rev 7696) @@ -0,0 +1,17 @@ +type file; +file script <"filemaker.sh">; + +app (file out, file log) remote_driver (file run, int size) +{ + bash @run size @out stdout=@filename(log); +} + +file driver_out[] ; +file driver_log[] ; + +int filesize = @toInt(@arg("size","10")); +int loop = @toInt(@arg("loops","0")); + +foreach item,i in [0:loop] { + (driver_out[i], driver_log[i]) = remote_driver(script, filesize); +} \ No newline at end of file Added: branches/release-0.94/tests/stress/IO/osgc/stage_from_remoteNx2.timeout =================================================================== --- branches/release-0.94/tests/stress/IO/osgc/stage_from_remoteNx2.timeout (rev 0) +++ branches/release-0.94/tests/stress/IO/osgc/stage_from_remoteNx2.timeout 2014-03-11 20:11:06 UTC (rev 7696) @@ -0,0 +1 @@ +1800 Added: branches/release-0.94/tests/stress/IO/osgc/stage_to_remote1x1.args =================================================================== --- branches/release-0.94/tests/stress/IO/osgc/stage_to_remote1x1.args (rev 0) +++ branches/release-0.94/tests/stress/IO/osgc/stage_to_remote1x1.args 2014-03-11 20:11:06 UTC (rev 7696) @@ -0,0 +1 @@ +-loops=0 Added: branches/release-0.94/tests/stress/IO/osgc/stage_to_remote1x1.check.sh =================================================================== --- branches/release-0.94/tests/stress/IO/osgc/stage_to_remote1x1.check.sh (rev 0) +++ branches/release-0.94/tests/stress/IO/osgc/stage_to_remote1x1.check.sh 2014-03-11 20:11:06 UTC (rev 7696) @@ -0,0 +1,17 @@ + +#!/bin/bash + +echo "Cleaning up" +rm -rf "dummy" *.out &> /dev/null + +if [ "$KILL_JAVA" == "true" ]; +then + echo "Killing Java.." + for dead in `ps axf -u $USER | grep HeapDumpOnOutOfMemoryError | grep -o ^[0-9]*` + do + kill -9 $dead + done +else + echo "No" +fi + Added: branches/release-0.94/tests/stress/IO/osgc/stage_to_remote1x1.setup.sh =================================================================== --- branches/release-0.94/tests/stress/IO/osgc/stage_to_remote1x1.setup.sh (rev 0) +++ branches/release-0.94/tests/stress/IO/osgc/stage_to_remote1x1.setup.sh 2014-03-11 20:11:06 UTC (rev 7696) @@ -0,0 +1,56 @@ +#!/bin/bash + +ARGS_FILE=${0%.setup.sh}.args +UC3_USERNAME=$UC3_USERNAME + +case $STRESS in + "S1") + FILES=50 + LOOPS=0 + ;; + "S2") + FILES=100 + LOOPS=0 + ;; + + *) + FILES=50 + LOOPS=0 + ;; +esac + + +dd if=/dev/zero of=dummy bs=1024 count=0 seek=$((1024*FILES)) +echo "-loops=$LOOPS" > $ARGS_FILE + +cat <<'EOF' > wrapper.sh +#!/bin/bash +ARG1=$1 +ls | grep "$1" &> /dev/null +if [ $? == 0 ] +then + echo "Hey this is wrapper and the $1 exists as a file"; + ls -lah; +else + echo "Doinks! the file we need isn't here"; + ls -lah +fi +cat $ARG1 > $ARG1.test +if [ $? == 0 ] +then + echo "The cat worked! "; +else + echo "The cat failed "; +fi + +rm $ARG1 $ARG1.test +echo "Residual files cleaned up" +EOF + +if [[ -z $UC3_USERNAME ]] +then + echo "Remote username not provided. Skipping sites configs" +else + ls *xml + cat sites.xml | sed "s/{env.USER}/$UC3_USERNAME/" > tmp && mv tmp sites.xml +fi \ No newline at end of file Property changes on: branches/release-0.94/tests/stress/IO/osgc/stage_to_remote1x1.setup.sh ___________________________________________________________________ Added: svn:executable + * Added: branches/release-0.94/tests/stress/IO/osgc/stage_to_remote1x1.source.sh =================================================================== --- branches/release-0.94/tests/stress/IO/osgc/stage_to_remote1x1.source.sh (rev 0) +++ branches/release-0.94/tests/stress/IO/osgc/stage_to_remote1x1.source.sh 2014-03-11 20:11:06 UTC (rev 7696) @@ -0,0 +1,6 @@ +#!/bin/bash +if [ "midway001" == "midway001" ] +then + export GLOBUS_HOSTNAME=swift.rcc.uchicago.edu + export GLOBUS_TCP_PORT_RANGE=50000,51000 +fi; Property changes on: branches/release-0.94/tests/stress/IO/osgc/stage_to_remote1x1.source.sh ___________________________________________________________________ Added: svn:executable + * Added: branches/release-0.94/tests/stress/IO/osgc/stage_to_remote1x1.swift =================================================================== --- branches/release-0.94/tests/stress/IO/osgc/stage_to_remote1x1.swift (rev 0) +++ branches/release-0.94/tests/stress/IO/osgc/stage_to_remote1x1.swift 2014-03-11 20:11:06 UTC (rev 7696) @@ -0,0 +1,17 @@ +type file; + +file package <"dummy">; +file script <"wrapper.sh">; +int loop = @toInt(@arg("loops","0")); + +app (file out, file err) remote_driver (file run, file tar) +{ + bash @run @filename(tar) stdout=@filename(out) stderr=@filename(err); +} + +file driver_out[] ; +file driver_err[] ; + +foreach item,i in [0:loop] { + (driver_out[i], driver_err[i]) = remote_driver(script, package); +} \ No newline at end of file Added: branches/release-0.94/tests/stress/IO/osgc/stage_to_remote1x1.timeout =================================================================== --- branches/release-0.94/tests/stress/IO/osgc/stage_to_remote1x1.timeout (rev 0) +++ branches/release-0.94/tests/stress/IO/osgc/stage_to_remote1x1.timeout 2014-03-11 20:11:06 UTC (rev 7696) @@ -0,0 +1 @@ +600 Added: branches/release-0.94/tests/stress/IO/osgc/stage_to_remote1x2.check.sh =================================================================== --- branches/release-0.94/tests/stress/IO/osgc/stage_to_remote1x2.check.sh (rev 0) +++ branches/release-0.94/tests/stress/IO/osgc/stage_to_remote1x2.check.sh 2014-03-11 20:11:06 UTC (rev 7696) @@ -0,0 +1,19 @@ +#!/bin/bash + +rm -rf "dummy" *.out &> /dev/null +if [ "$KILL_JAVA" == "true" ]; +then + echo "Killing Java.." + killall -u $USER java -9 +fi + +IN=`grep "PerformanceDiagnosticInputStream\ \[IN\]" $BASE*log | tail -n 1` +MEM=`grep "PerformanceDiagnosticInputStream\ \[MEM\]" $BASE*log` +OUT=`grep "PerformanceDiagnosticOutputStream\ \[OUT\]" $BASE*log | tail -n 1` + +echo "=====" +echo "IN : $IN" +echo "MEM : $MEM" +echo "OUT : $OUT" +echo "=====" + Added: branches/release-0.94/tests/stress/IO/osgc/stage_to_remote1x2.setup.sh =================================================================== --- branches/release-0.94/tests/stress/IO/osgc/stage_to_remote1x2.setup.sh (rev 0) +++ branches/release-0.94/tests/stress/IO/osgc/stage_to_remote1x2.setup.sh 2014-03-11 20:11:06 UTC (rev 7696) @@ -0,0 +1,55 @@ +#!/bin/bash + +ARGS_FILE=${0%.setup.sh}.args +UC3_USERNAME=$UC3_USERNAME + +case $STRESS in + "S1") + FILES=100 + LOOPS=0 + ;; + "S2") + FILES=500 + LOOPS=0 + ;; + *) + FILES=100 + LOOPS=0 + ;; +esac + + +dd if=/dev/zero of=dummy bs=1024 count=0 seek=$((1024*FILES)) +echo "-loops=$LOOPS" > $ARGS_FILE + +cat <<'EOF' > wrapper.sh +#!/bin/bash +ARG1=$1 +ls | grep "$1" &> /dev/null +if [ $? == 0 ] +then + echo "Hey this is wrapper and the $1 exists as a file"; + ls -lah; +else + echo "Doinks! the file we need isn't here"; + ls -lah +fi +cat $ARG1 > $ARG1.test +if [ $? == 0 ] +then + echo "The cat worked! "; +else + echo "The cat failed "; +fi + +rm $ARG1 $ARG1.test +echo "Residual files cleaned up" +EOF + +if [[ -z $UC3_USERNAME ]] +then + echo "Remote username not provided. Skipping sites configs" +else + ls *xml + cat sites.xml | sed "s/{env.USER}/$UC3_USERNAME/" > tmp && mv tmp sites.xml +fi Property changes on: branches/release-0.94/tests/stress/IO/osgc/stage_to_remote1x2.setup.sh ___________________________________________________________________ Added: svn:executable + * Added: branches/release-0.94/tests/stress/IO/osgc/stage_to_remote1x2.source.sh =================================================================== --- branches/release-0.94/tests/stress/IO/osgc/stage_to_remote1x2.source.sh (rev 0) +++ branches/release-0.94/tests/stress/IO/osgc/stage_to_remote1x2.source.sh 2014-03-11 20:11:06 UTC (rev 7696) @@ -0,0 +1,6 @@ +#!/bin/bash +if [ "midway001" == "midway001" ] +then + export GLOBUS_HOSTNAME=swift.rcc.uchicago.edu + export GLOBUS_TCP_PORT_RANGE=50000,51000 +fi; Property changes on: branches/release-0.94/tests/stress/IO/osgc/stage_to_remote1x2.source.sh ___________________________________________________________________ Added: svn:executable + * Added: branches/release-0.94/tests/stress/IO/osgc/stage_to_remote1x2.swift =================================================================== --- branches/release-0.94/tests/stress/IO/osgc/stage_to_remote1x2.swift (rev 0) +++ branches/release-0.94/tests/stress/IO/osgc/stage_to_remote1x2.swift 2014-03-11 20:11:06 UTC (rev 7696) @@ -0,0 +1,17 @@ +type file; + +file package <"dummy">; +file script <"wrapper.sh">; +int loop = @toInt(@arg("loops","0")); + +app (file out, file err) remote_driver (file run, file tar) +{ + bash @run @filename(tar) stdout=@filename(out) stderr=@filename(err); +} + +file driver_out[] ; +file driver_err[] ; + +foreach item,i in [0:loop] { + (driver_out[i], driver_err[i]) = remote_driver(script, package); +} \ No newline at end of file Added: branches/release-0.94/tests/stress/IO/osgc/stage_to_remote1x2.timeout =================================================================== --- branches/release-0.94/tests/stress/IO/osgc/stage_to_remote1x2.timeout (rev 0) +++ branches/release-0.94/tests/stress/IO/osgc/stage_to_remote1x2.timeout 2014-03-11 20:11:06 UTC (rev 7696) @@ -0,0 +1 @@ +600 Added: branches/release-0.94/tests/stress/IO/osgc/stage_to_remoteNx1.check.sh =================================================================== --- branches/release-0.94/tests/stress/IO/osgc/stage_to_remoteNx1.check.sh (rev 0) +++ branches/release-0.94/tests/stress/IO/osgc/stage_to_remoteNx1.check.sh 2014-03-11 20:11:06 UTC (rev 7696) @@ -0,0 +1,17 @@ + +#!/bin/bash + +echo "Cleaning up" +rm -rf "dummy" *.out &> /dev/null + +if [ "$KILL_JAVA" == "true" ]; +then + echo "Killing Java.." + for dead in `ps axf -u $USER | grep HeapDumpOnOutOfMemoryError | grep -o ^[0-9]*` + do + kill -9 $dead + done +else + echo "No" +fi + Added: branches/release-0.94/tests/stress/IO/osgc/stage_to_remoteNx1.setup.sh =================================================================== --- branches/release-0.94/tests/stress/IO/osgc/stage_to_remoteNx1.setup.sh (rev 0) +++ branches/release-0.94/tests/stress/IO/osgc/stage_to_remoteNx1.setup.sh 2014-03-11 20:11:06 UTC (rev 7696) @@ -0,0 +1,55 @@ +#!/bin/bash + +ARGS_FILE=${0%.setup.sh}.args +UC3_USERNAME=$UC3_USERNAME + +case $STRESS in + "S1") + FILES=10 + LOOPS=10 + ;; + "S2") + FILES=10 + LOOPS=50 + ;; + *) + FILES=10 + LOOPS=10 + ;; +esac + + +dd if=/dev/zero of=dummy bs=1024 count=0 seek=$((1024*FILES)) +echo "-loops=$LOOPS" > $ARGS_FILE + +cat <<'EOF' > wrapper.sh +#!/bin/bash +ARG1=$1 +ls | grep "$1" &> /dev/null +if [ $? == 0 ] +then + echo "Hey this is wrapper and the $1 exists as a file"; + ls -lah; +else + echo "Doinks! the file we need isn't here"; + ls -lah +fi +cat $ARG1 > $ARG1.test +if [ $? == 0 ] +then + echo "The cat worked! "; +else + echo "The cat failed "; +fi + +rm $ARG1 $ARG1.test +echo "Residual files cleaned up" +EOF + +if [[ -z $UC3_USERNAME ]] +then + echo "Remote username not provided. Skipping sites configs" +else + ls *xml + cat sites.xml | sed "s/{env.USER}/$UC3_USERNAME/" > tmp && mv tmp sites.xml +fi \ No newline at end of file Property changes on: branches/release-0.94/tests/stress/IO/osgc/stage_to_remoteNx1.setup.sh ___________________________________________________________________ Added: svn:executable + * Added: branches/release-0.94/tests/stress/IO/osgc/stage_to_remoteNx1.source.sh =================================================================== --- branches/release-0.94/tests/stress/IO/osgc/stage_to_remoteNx1.source.sh (rev 0) +++ branches/release-0.94/tests/stress/IO/osgc/stage_to_remoteNx1.source.sh 2014-03-11 20:11:06 UTC (rev 7696) @@ -0,0 +1,6 @@ +#!/bin/bash +if [ "midway001" == "midway001" ] +then + export GLOBUS_HOSTNAME=swift.rcc.uchicago.edu + export GLOBUS_TCP_PORT_RANGE=50000,51000 +fi; Property changes on: branches/release-0.94/tests/stress/IO/osgc/stage_to_remoteNx1.source.sh ___________________________________________________________________ Added: svn:executable + * Added: branches/release-0.94/tests/stress/IO/osgc/stage_to_remoteNx1.swift =================================================================== --- branches/release-0.94/tests/stress/IO/osgc/stage_to_remoteNx1.swift (rev 0) +++ branches/release-0.94/tests/stress/IO/osgc/stage_to_remoteNx1.swift 2014-03-11 20:11:06 UTC (rev 7696) @@ -0,0 +1,17 @@ +type file; + +file package <"dummy">; +file script <"wrapper.sh">; +int loop = @toInt(@arg("loops","0")); + +app (file out, file err) remote_driver (file run, file tar) +{ + bash @run @tar stdout=@out stderr=@err; +} + +file driver_out[] ; +file driver_err[] ; + +foreach item,i in [0:loop] { + (driver_out[i], driver_err[i]) = remote_driver(script, package); +} \ No newline at end of file Added: branches/release-0.94/tests/stress/IO/osgc/stage_to_remoteNx1.timeout =================================================================== --- branches/release-0.94/tests/stress/IO/osgc/stage_to_remoteNx1.timeout (rev 0) +++ branches/release-0.94/tests/stress/IO/osgc/stage_to_remoteNx1.timeout 2014-03-11 20:11:06 UTC (rev 7696) @@ -0,0 +1 @@ +1200 Added: branches/release-0.94/tests/stress/IO/osgc/stage_to_remoteNx2.check.sh =================================================================== --- branches/release-0.94/tests/stress/IO/osgc/stage_to_remoteNx2.check.sh (rev 0) +++ branches/release-0.94/tests/stress/IO/osgc/stage_to_remoteNx2.check.sh 2014-03-11 20:11:06 UTC (rev 7696) @@ -0,0 +1,19 @@ +#!/bin/bash + +rm -rf "dummy" *.out &> /dev/null +if [ "$KILL_JAVA" == "true" ]; +then + echo "Killing Java.." + killall -u $USER java -9 +fi + +IN=`grep "PerformanceDiagnosticInputStream\ \[IN\]" $BASE*log | tail -n 1` +MEM=`grep "PerformanceDiagnosticInputStream\ \[MEM\]" $BASE*log` +OUT=`grep "PerformanceDiagnosticOutputStream\ \[OUT\]" $BASE*log | tail -n 1` + +echo "=====" +echo "IN : $IN" +echo "MEM : $MEM" +echo "OUT : $OUT" +echo "=====" + Added: branches/release-0.94/tests/stress/IO/osgc/stage_to_remoteNx2.setup.sh =================================================================== --- branches/release-0.94/tests/stress/IO/osgc/stage_to_remoteNx2.setup.sh (rev 0) +++ branches/release-0.94/tests/stress/IO/osgc/stage_to_remoteNx2.setup.sh 2014-03-11 20:11:06 UTC (rev 7696) @@ -0,0 +1,55 @@ +#!/bin/bash + +ARGS_FILE=${0%.setup.sh}.args +UC3_USERNAME=$UC3_USERNAME + +case $STRESS in + "S1") + FILES=50 + LOOPS=50 + ;; + "S2") + FILES=100 + LOOPS=100 + ;; + *) + FILES=50 + LOOPS=50 + ;; +esac + + +dd if=/dev/zero of=dummy bs=1024 count=0 seek=$((1024*FILES)) +echo "-loops=$LOOPS" > $ARGS_FILE + +cat <<'EOF' > wrapper.sh +#!/bin/bash +ARG1=$1 +ls | grep "$1" &> /dev/null +if [ $? == 0 ] +then + echo "Hey this is wrapper and the $1 exists as a file"; + ls -lah; +else + echo "Doinks! the file we need isn't here"; + ls -lah +fi +cat $ARG1 > $ARG1.test +if [ $? == 0 ] +then + echo "The cat worked! "; +else + echo "The cat failed "; +fi + +rm $ARG1 $ARG1.test +echo "Residual files cleaned up" +EOF + +if [[ -z $UC3_USERNAME ]] +then + echo "Remote username not provided. Skipping sites configs" +else + ls *xml + cat sites.xml | sed "s/{env.USER}/$UC3_USERNAME/" > tmp && mv tmp sites.xml +fi \ No newline at end of file Property changes on: branches/release-0.94/tests/stress/IO/osgc/stage_to_remoteNx2.setup.sh ___________________________________________________________________ Added: svn:executable + * Added: branches/release-0.94/tests/stress/IO/osgc/stage_to_remoteNx2.source.sh =================================================================== --- branches/release-0.94/tests/stress/IO/osgc/stage_to_remoteNx2.source.sh (rev 0) +++ branches/release-0.94/tests/stress/IO/osgc/stage_to_remoteNx2.source.sh 2014-03-11 20:11:06 UTC (rev 7696) @@ -0,0 +1,6 @@ +#!/bin/bash +if [ "midway001" == "midway001" ] +then + export GLOBUS_HOSTNAME=swift.rcc.uchicago.edu + export GLOBUS_TCP_PORT_RANGE=50000,51000 +fi; Property changes on: branches/release-0.94/tests/stress/IO/osgc/stage_to_remoteNx2.source.sh ___________________________________________________________________ Added: svn:executable + * Added: branches/release-0.94/tests/stress/IO/osgc/stage_to_remoteNx2.swift =================================================================== --- branches/release-0.94/tests/stress/IO/osgc/stage_to_remoteNx2.swift (rev 0) +++ branches/release-0.94/tests/stress/IO/osgc/stage_to_remoteNx2.swift 2014-03-11 20:11:06 UTC (rev 7696) @@ -0,0 +1,17 @@ +type file; + +file package <"dummy">; +file script <"wrapper.sh">; +int loop = @toInt(@arg("loops","0")); + +app (file out, file err) remote_driver (file run, file tar) +{ + bash @run @tar stdout=@out stderr=@err; +} + +file driver_out[] ; +file driver_err[] ; + +foreach item,i in [0:loop] { + (driver_out[i], driver_err[i]) = remote_driver(script, package); +} \ No newline at end of file Added: branches/release-0.94/tests/stress/IO/osgc/stage_to_remoteNx2.timeout =================================================================== --- branches/release-0.94/tests/stress/IO/osgc/stage_to_remoteNx2.timeout (rev 0) +++ branches/release-0.94/tests/stress/IO/osgc/stage_to_remoteNx2.timeout 2014-03-11 20:11:06 UTC (rev 7696) @@ -0,0 +1 @@ +1200 Added: branches/release-0.94/tests/stress/IO/osgc/swift.properties =================================================================== --- branches/release-0.94/tests/stress/IO/osgc/swift.properties (rev 0) +++ branches/release-0.94/tests/stress/IO/osgc/swift.properties 2014-03-11 20:11:06 UTC (rev 7696) @@ -0,0 +1,8 @@ +use.provider.staging=true +use.wrapper.staging=false +wrapperlog.always.transfer=true +execution.retries=0 +lazy.errors=false +provider.staging.pin.swiftfiles=false +sitedir.keep=true +tcp.port.range=50000,51000 \ No newline at end of file Added: branches/release-0.94/tests/stress/IO/osgc/tc.template.data =================================================================== --- branches/release-0.94/tests/stress/IO/osgc/tc.template.data (rev 0) +++ branches/release-0.94/tests/stress/IO/osgc/tc.template.data 2014-03-11 20:11:06 UTC (rev 7696) @@ -0,0 +1,2 @@ +beagle bash /bin/bash null null null +osgc bash /bin/bash null null null Added: branches/release-0.94/tests/stress/IO/osgc/title.txt =================================================================== --- branches/release-0.94/tests/stress/IO/osgc/title.txt (rev 0) +++ branches/release-0.94/tests/stress/IO/osgc/title.txt 2014-03-11 20:11:06 UTC (rev 7696) @@ -0,0 +1 @@ +IO stress testing at remote site: OSG Connect Added: branches/release-0.94/tests/stress/IO/osgc/wrapper.sh =================================================================== --- branches/release-0.94/tests/stress/IO/osgc/wrapper.sh (rev 0) +++ branches/release-0.94/tests/stress/IO/osgc/wrapper.sh 2014-03-11 20:11:06 UTC (rev 7696) @@ -0,0 +1,21 @@ +#!/bin/bash +ARG1=$1 +ls | grep "$1" &> /dev/null +if [ $? == 0 ] +then + echo "Hey this is wrapper and the $1 exists as a file"; + ls -lah; +else + echo "Doinks! the file we need isn't here"; + ls -lah +fi +cat $ARG1 > $ARG1.test +if [ $? == 0 ] +then + echo "The cat worked! "; +else + echo "The cat failed "; +fi + +rm $ARG1 $ARG1.test +echo "Residual files cleaned up" Property changes on: branches/release-0.94/tests/stress/IO/osgc/wrapper.sh ___________________________________________________________________ Added: svn:executable + * Added: branches/release-0.94/tests/stress/IO/osgc/z_stats.clean.sh =================================================================== --- branches/release-0.94/tests/stress/IO/osgc/z_stats.clean.sh (rev 0) +++ branches/release-0.94/tests/stress/IO/osgc/z_stats.clean.sh 2014-03-11 20:11:06 UTC (rev 7696) @@ -0,0 +1,24 @@ +#!/bin/bash + +HOME=$PWD +echo "Current test : $HOME" + +TESTS_HOME=$(dirname $HOME) +echo "Tests home : $TESTS_HOME" + +ps -u $USER +echo "Clearing all java instances" + +ps -u $USER | grep java +if [ "$?" == "0" ] +then + killall -u $USER java -9 +fi + +echo "Collecting stats" +for test_case in `ls $TESTS_HOME | grep stage` +do + echo "$test_case" + cat $TESTS_HOME/$test_case/*check.stdout + echo +done \ No newline at end of file Property changes on: branches/release-0.94/tests/stress/IO/osgc/z_stats.clean.sh ___________________________________________________________________ Added: svn:executable + * Added: branches/release-0.94/tests/stress/IO/osgc/z_stats.swift =================================================================== --- branches/release-0.94/tests/stress/IO/osgc/z_stats.swift (rev 0) +++ branches/release-0.94/tests/stress/IO/osgc/z_stats.swift 2014-03-11 20:11:06 UTC (rev 7696) @@ -0,0 +1 @@ +type file; \ No newline at end of file Modified: branches/release-0.94/tests/stress/apps/modis_osgc/title.txt =================================================================== --- branches/release-0.94/tests/stress/apps/modis_osgc/title.txt 2014-03-11 19:48:33 UTC (rev 7695) +++ branches/release-0.94/tests/stress/apps/modis_osgc/title.txt 2014-03-11 20:11:06 UTC (rev 7696) @@ -1 +1 @@ -Modis UC3 +Modis OSGC From davidk at ci.uchicago.edu Tue Mar 11 15:32:03 2014 From: davidk at ci.uchicago.edu (davidk at ci.uchicago.edu) Date: Tue, 11 Mar 2014 15:32:03 -0500 (CDT) Subject: [Swift-commit] r7697 - branches/release-0.94/tests/language-behaviour/mappers Message-ID: <20140311203203.F3E10178884@svn.ci.uchicago.edu> Author: davidk Date: 2014-03-11 15:32:03 -0500 (Tue, 11 Mar 2014) New Revision: 7697 Added: branches/release-0.94/tests/language-behaviour/mappers/076-structured-regexp-mapper.b0.out.expected branches/release-0.94/tests/language-behaviour/mappers/076-structured-regexp-mapper.b1.out.expected Removed: branches/release-0.94/tests/language-behaviour/mappers/076-structured-regexp-mapper.b.out.expected Log: Fix check for structured regexp mapper test Deleted: branches/release-0.94/tests/language-behaviour/mappers/076-structured-regexp-mapper.b.out.expected =================================================================== --- branches/release-0.94/tests/language-behaviour/mappers/076-structured-regexp-mapper.b.out.expected 2014-03-11 20:11:06 UTC (rev 7696) +++ branches/release-0.94/tests/language-behaviour/mappers/076-structured-regexp-mapper.b.out.expected 2014-03-11 20:32:03 UTC (rev 7697) @@ -1 +0,0 @@ -Hello, world! Added: branches/release-0.94/tests/language-behaviour/mappers/076-structured-regexp-mapper.b0.out.expected =================================================================== --- branches/release-0.94/tests/language-behaviour/mappers/076-structured-regexp-mapper.b0.out.expected (rev 0) +++ branches/release-0.94/tests/language-behaviour/mappers/076-structured-regexp-mapper.b0.out.expected 2014-03-11 20:32:03 UTC (rev 7697) @@ -0,0 +1 @@ +Hello, world! Added: branches/release-0.94/tests/language-behaviour/mappers/076-structured-regexp-mapper.b1.out.expected =================================================================== --- branches/release-0.94/tests/language-behaviour/mappers/076-structured-regexp-mapper.b1.out.expected (rev 0) +++ branches/release-0.94/tests/language-behaviour/mappers/076-structured-regexp-mapper.b1.out.expected 2014-03-11 20:32:03 UTC (rev 7697) @@ -0,0 +1 @@ +Hello, world! From davidk at ci.uchicago.edu Tue Mar 11 16:20:12 2014 From: davidk at ci.uchicago.edu (davidk at ci.uchicago.edu) Date: Tue, 11 Mar 2014 16:20:12 -0500 (CDT) Subject: [Swift-commit] r7698 - branches/release-0.94/tests/stress/internals Message-ID: <20140311212012.2D9E5178884@svn.ci.uchicago.edu> Author: davidk Date: 2014-03-11 16:20:12 -0500 (Tue, 11 Mar 2014) New Revision: 7698 Modified: branches/release-0.94/tests/stress/internals/tc.template.data Log: Add missing apps to internal stress tests Modified: branches/release-0.94/tests/stress/internals/tc.template.data =================================================================== --- branches/release-0.94/tests/stress/internals/tc.template.data 2014-03-11 20:32:03 UTC (rev 7697) +++ branches/release-0.94/tests/stress/internals/tc.template.data 2014-03-11 21:20:12 UTC (rev 7698) @@ -1,2 +1,2 @@ -local bash /bin/bash null null null -local sleep /bin/sleep null null null +localhost bash /bin/bash null null null +localhost sleep /bin/sleep null null null From davidk at ci.uchicago.edu Tue Mar 11 16:56:21 2014 From: davidk at ci.uchicago.edu (davidk at ci.uchicago.edu) Date: Tue, 11 Mar 2014 16:56:21 -0500 (CDT) Subject: [Swift-commit] r7699 - branches/release-0.94/tests/stress/apps/modis_midway Message-ID: <20140311215621.B9EDE178884@svn.ci.uchicago.edu> Author: davidk Date: 2014-03-11 16:56:21 -0500 (Tue, 11 Mar 2014) New Revision: 7699 Modified: branches/release-0.94/tests/stress/apps/modis_midway/sites.template.xml Log: Fix sites file for modis_midway example Modified: branches/release-0.94/tests/stress/apps/modis_midway/sites.template.xml =================================================================== --- branches/release-0.94/tests/stress/apps/modis_midway/sites.template.xml 2014-03-11 21:20:12 UTC (rev 7698) +++ branches/release-0.94/tests/stress/apps/modis_midway/sites.template.xml 2014-03-11 21:56:21 UTC (rev 7699) @@ -4,7 +4,7 @@ westmere - 16 + 12 00:05:00 3600 100 From ketan at ci.uchicago.edu Wed Mar 12 15:18:29 2014 From: ketan at ci.uchicago.edu (ketan at ci.uchicago.edu) Date: Wed, 12 Mar 2014 15:18:29 -0500 (CDT) Subject: [Swift-commit] r7700 - SwiftApps/swift-galaxy/swift Message-ID: <20140312201829.8637E9D116@svn.ci.uchicago.edu> Author: ketan Date: 2014-03-12 15:18:28 -0500 (Wed, 12 Mar 2014) New Revision: 7700 Removed: SwiftApps/swift-galaxy/swift/lungsearch/ SwiftApps/swift-galaxy/swift/tmp.out Log: clean old dir Deleted: SwiftApps/swift-galaxy/swift/tmp.out =================================================================== --- SwiftApps/swift-galaxy/swift/tmp.out 2014-03-11 21:56:21 UTC (rev 7699) +++ SwiftApps/swift-galaxy/swift/tmp.out 2014-03-12 20:18:28 UTC (rev 7700) @@ -1,20 +0,0 @@ -Warning: The @ syntax for function invocation is deprecated -[Error] sites.xml, line 1, col 9: cvc-elt.1: Cannot find the declaration of element 'config'. -Progress: time: Wed, 25 Sep 2013 16:28:54 +0000 -Progress: time: Wed, 25 Sep 2013 16:28:55 +0000 Selecting site:1 Submitted:32 -Progress: time: Wed, 25 Sep 2013 16:29:17 +0000 Selecting site:1 Stage in:32 -Progress: time: Wed, 25 Sep 2013 16:29:21 +0000 Selecting site:1 Active:32 -Progress: time: Wed, 25 Sep 2013 16:29:48 +0000 Selecting site:30 Stage in:3 Active:28 Finished successfully:4 -Progress: time: Wed, 25 Sep 2013 16:29:49 +0000 Selecting site:6 Stage in:19 Submitted:6 Active:2 Stage out:5 Finished successfully:27 -Progress: time: Wed, 25 Sep 2013 16:29:50 +0000 Selecting site:1 Stage in:28 Active:4 Finished successfully:32 -Progress: time: Wed, 25 Sep 2013 16:29:51 +0000 Selecting site:1 Stage in:25 Active:7 Finished successfully:32 -Progress: time: Wed, 25 Sep 2013 16:29:52 +0000 Selecting site:1 Active:32 Finished successfully:32 -Progress: time: Wed, 25 Sep 2013 16:29:58 +0000 Active:32 Finished successfully:33 -Progress: time: Wed, 25 Sep 2013 16:29:59 +0000 Active:29 Finished successfully:36 -Progress: time: Wed, 25 Sep 2013 16:30:00 +0000 Active:26 Finished successfully:39 -Progress: time: Wed, 25 Sep 2013 16:30:01 +0000 Active:23 Finished successfully:42 -Progress: time: Wed, 25 Sep 2013 16:30:02 +0000 Active:22 Finished successfully:43 -Progress: time: Wed, 25 Sep 2013 16:30:03 +0000 Active:14 Finished successfully:51 -Progress: time: Wed, 25 Sep 2013 16:30:04 +0000 Active:8 Finished successfully:57 -Progress: time: Wed, 25 Sep 2013 16:30:05 +0000 Active:1 Finished successfully:64 -Final status: Wed, 25 Sep 2013 16:30:07 +0000 Finished successfully:65 From ketan at ci.uchicago.edu Wed Mar 12 15:32:57 2014 From: ketan at ci.uchicago.edu (ketan at ci.uchicago.edu) Date: Wed, 12 Mar 2014 15:32:57 -0500 (CDT) Subject: [Swift-commit] r7701 - SwiftApps/swift-galaxy/swift Message-ID: <20140312203257.7915D9D116@svn.ci.uchicago.edu> Author: ketan Date: 2014-03-12 15:32:57 -0500 (Wed, 12 Mar 2014) New Revision: 7701 Modified: SwiftApps/swift-galaxy/swift/swiftforeach.xml Log: update tooldoc Modified: SwiftApps/swift-galaxy/swift/swiftforeach.xml =================================================================== --- SwiftApps/swift-galaxy/swift/swiftforeach.xml 2014-03-12 20:18:28 UTC (rev 7700) +++ SwiftApps/swift-galaxy/swift/swiftforeach.xml 2014-03-12 20:32:57 UTC (rev 7701) @@ -146,11 +146,13 @@ **What it does** -This is a generic Swift tool that runs an executable in parallel over a range of numbers or a list of items in a file. +This is a generic Swift tool that runs an executable in parallel over a range of numbers or a list of items from a file. -Execution location allows user to declare where to run the tool. Executable can be any arbitrary executable of type "binexec" uploaded by user. +Execution location allows user to declare where to run the tool. Executable can be any arbitrary executable uploaded by user. -Start, end and stepsize are integer values. Note that the stepsize cannot be less than 1. Optionally, sser can add new arguments to be provided to the tool executable after the numeric argument. Each args box must contain exactly one argument without spaces. +Start, end, and stepsize are integer values. Note that the stepsize cannot be +less than 1. Optionally, user can add new arguments to be provided to the tool +executable after the numeric argument. ----- From ketan at ci.uchicago.edu Thu Mar 13 09:53:01 2014 From: ketan at ci.uchicago.edu (ketan at ci.uchicago.edu) Date: Thu, 13 Mar 2014 09:53:01 -0500 (CDT) Subject: [Swift-commit] r7702 - in SwiftApps/swift-galaxy: . screenshots Message-ID: <20140313145301.C87C29CD2B@svn.ci.uchicago.edu> Author: ketan Date: 2014-03-13 09:53:00 -0500 (Thu, 13 Mar 2014) New Revision: 7702 Added: SwiftApps/swift-galaxy/screenshots/ SwiftApps/swift-galaxy/screenshots/execloc.png SwiftApps/swift-galaxy/screenshots/executable.png SwiftApps/swift-galaxy/screenshots/execution interpreter.png SwiftApps/swift-galaxy/screenshots/outlocation.png SwiftApps/swift-galaxy/screenshots/overall.png SwiftApps/swift-galaxy/screenshots/rangeorlist.png SwiftApps/swift-galaxy/screenshots/string or fileargs.png SwiftApps/swift-galaxy/screenshots/swift-level args.png Modified: SwiftApps/swift-galaxy/README Log: screen shots Modified: SwiftApps/swift-galaxy/README =================================================================== --- SwiftApps/swift-galaxy/README 2014-03-12 20:32:57 UTC (rev 7701) +++ SwiftApps/swift-galaxy/README 2014-03-13 14:53:00 UTC (rev 7702) @@ -39,6 +39,15 @@ In the Galaxy Web GUI, you should see the tools in a toolset titled Swift. +Screenshots +----------- + +The following screenshot shows overall look-and-feel of the Swift-Galaxy tool in the Galaxy web GUI. + +image:./screenshots/overall.png["swift-galaxy screenshot", scaledwidth="30%"] + + + An example ---------- Added: SwiftApps/swift-galaxy/screenshots/execloc.png =================================================================== (Binary files differ) Property changes on: SwiftApps/swift-galaxy/screenshots/execloc.png ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Added: SwiftApps/swift-galaxy/screenshots/executable.png =================================================================== (Binary files differ) Property changes on: SwiftApps/swift-galaxy/screenshots/executable.png ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Added: SwiftApps/swift-galaxy/screenshots/execution interpreter.png =================================================================== (Binary files differ) Property changes on: SwiftApps/swift-galaxy/screenshots/execution interpreter.png ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Added: SwiftApps/swift-galaxy/screenshots/outlocation.png =================================================================== (Binary files differ) Property changes on: SwiftApps/swift-galaxy/screenshots/outlocation.png ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Added: SwiftApps/swift-galaxy/screenshots/overall.png =================================================================== (Binary files differ) Property changes on: SwiftApps/swift-galaxy/screenshots/overall.png ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Added: SwiftApps/swift-galaxy/screenshots/rangeorlist.png =================================================================== (Binary files differ) Property changes on: SwiftApps/swift-galaxy/screenshots/rangeorlist.png ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Added: SwiftApps/swift-galaxy/screenshots/string or fileargs.png =================================================================== (Binary files differ) Property changes on: SwiftApps/swift-galaxy/screenshots/string or fileargs.png ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Added: SwiftApps/swift-galaxy/screenshots/swift-level args.png =================================================================== (Binary files differ) Property changes on: SwiftApps/swift-galaxy/screenshots/swift-level args.png ___________________________________________________________________ Added: svn:mime-type + application/octet-stream From ketan at ci.uchicago.edu Thu Mar 13 10:30:07 2014 From: ketan at ci.uchicago.edu (ketan at ci.uchicago.edu) Date: Thu, 13 Mar 2014 10:30:07 -0500 (CDT) Subject: [Swift-commit] r7703 - in SwiftApps/swift-galaxy: . screenshots Message-ID: <20140313153007.8A0EA9CD2B@svn.ci.uchicago.edu> Author: ketan Date: 2014-03-13 10:30:07 -0500 (Thu, 13 Mar 2014) New Revision: 7703 Added: SwiftApps/swift-galaxy/screenshots/execution-interpreter.png SwiftApps/swift-galaxy/screenshots/string-or-fileargs.png SwiftApps/swift-galaxy/screenshots/swift-level-args.png Removed: SwiftApps/swift-galaxy/screenshots/execution interpreter.png SwiftApps/swift-galaxy/screenshots/string or fileargs.png SwiftApps/swift-galaxy/screenshots/swift-level args.png Modified: SwiftApps/swift-galaxy/README Log: screenshots in asciidoc Modified: SwiftApps/swift-galaxy/README =================================================================== --- SwiftApps/swift-galaxy/README 2014-03-13 14:53:00 UTC (rev 7702) +++ SwiftApps/swift-galaxy/README 2014-03-13 15:30:07 UTC (rev 7703) @@ -44,10 +44,37 @@ The following screenshot shows overall look-and-feel of the Swift-Galaxy tool in the Galaxy web GUI. -image:./screenshots/overall.png["swift-galaxy screenshot", scaledwidth="30%"] +image::./screenshots/overall.png["swift-galaxy screenshot", width=600, align="center"] +The following screenshot shows execution location selector. User can select one or more execution locations from the list as their target execution site. +image::./screenshots/execloc.png["execution location selector screenshot", width=200, align="center"] +The following screenshot shows a dialog box to add Swift-level commandline arguments to be passed to the script. + +image::./screenshots/swift-level-args.png["swift-args screenshot", width=200, align="center"] + +The following screenshot shows a selection dropdown list to chose the execution interpreter from. The interpreters currently supported and tested are shell, java and python. Upcoming are R and matlab. + +image::./screenshots/execution-interpreter.png["interpreter screenshot", width=150, align="center"] + +The following screenshot shows the selection for an executable. User can upload an executable and select it from the list. + +image::./screenshots/executable.png["executable screenshot", width=200, align="center"] + +The following screenshot shows a selection for range of numbers or list of items to chose from. User can select one and the corresponding dialog box will appear below. + +image::./screenshots/rangeorlist.png["select range or list screenshot", width=150, align="center"] + +The following screenshot shows a dialog for string or file type arguments. A user can add string and filetype arguments to their executable and the commandline will be built accordingly. + +image::./screenshots/string-or-fileargs.png["string or fileargs screenshot", width=250, align="center"] + +The following screenshot shows a dialog box to enter the directory location for results of execution. The Swift output files will be placed here: + +image::./screenshots/outlocation.png["output location screenshot", width=250, align="center"] + + An example ---------- Deleted: SwiftApps/swift-galaxy/screenshots/execution interpreter.png =================================================================== (Binary files differ) Copied: SwiftApps/swift-galaxy/screenshots/execution-interpreter.png (from rev 7702, SwiftApps/swift-galaxy/screenshots/execution interpreter.png) =================================================================== (Binary files differ) Deleted: SwiftApps/swift-galaxy/screenshots/string or fileargs.png =================================================================== (Binary files differ) Copied: SwiftApps/swift-galaxy/screenshots/string-or-fileargs.png (from rev 7702, SwiftApps/swift-galaxy/screenshots/string or fileargs.png) =================================================================== (Binary files differ) Deleted: SwiftApps/swift-galaxy/screenshots/swift-level args.png =================================================================== (Binary files differ) Copied: SwiftApps/swift-galaxy/screenshots/swift-level-args.png (from rev 7702, SwiftApps/swift-galaxy/screenshots/swift-level args.png) =================================================================== (Binary files differ) From ketan at ci.uchicago.edu Thu Mar 13 11:03:26 2014 From: ketan at ci.uchicago.edu (ketan at ci.uchicago.edu) Date: Thu, 13 Mar 2014 11:03:26 -0500 (CDT) Subject: [Swift-commit] r7705 - SwiftApps/swift-galaxy/swift Message-ID: <20140313160326.E758A9CD2B@svn.ci.uchicago.edu> Author: ketan Date: 2014-03-13 11:03:26 -0500 (Thu, 13 Mar 2014) New Revision: 7705 Modified: SwiftApps/swift-galaxy/swift/swiftforeach.sh Log: swift foreach header Modified: SwiftApps/swift-galaxy/swift/swiftforeach.sh =================================================================== --- SwiftApps/swift-galaxy/swift/swiftforeach.sh 2014-03-13 15:57:00 UTC (rev 7704) +++ SwiftApps/swift-galaxy/swift/swiftforeach.sh 2014-03-13 16:03:26 UTC (rev 7705) @@ -41,6 +41,15 @@ #Build Swift source code cat << EOF > /tmp/script.swift + +/* +* +* Swift source script is generated automatically via the Swift-Galaxy +* integration tool. Be careful before making any changes to it directly as +* it might be tied with other configuration and paramter values. +* +*/ + type file; app (file _out, file _err) anapp(file _exec, int _i, string _args[]){ From yadunandb at ci.uchicago.edu Mon Mar 10 12:09:56 2014 From: yadunandb at ci.uchicago.edu (yadunandb at ci.uchicago.edu) Date: Mon, 10 Mar 2014 12:09:56 -0500 (CDT) Subject: [Swift-commit] r7675 - branches/release-0.94/tests branches/release-0.94/tests/documentation/tutorial branches/release-0.94/tests/functions branches/release-0.94/tests/groups branches/release-0.94/tests/language/working branches/release-0.94/tests/language-behaviour/IO branches/release-0.94/tests/language-behaviour/arrays branches/release-0.94/tests/language-behaviour/datatypes branches/release-0.94/tests/language-behaviour/mappers branches/release-0.94/tests/language-behaviour/math branches/release-0.94/tests/language-behaviour/strings branches/release-0.94/tests/language-behaviour/variables branches/release-0.94/tests/local branches/release-0.94/tests/multi_remote branches/release-0.94/tests/sites/beagle branches/release-0.94/tests/sites/blues branches/release-0.94/tests/sites/fusion branches/release-0.94/tests/sites/local branches/release-0.94/tests/sites/mac-frisbee branches/release-0.94/tests/sites/mcs branches/release-0.94/tests/sites/midway branches/release-0.94/tests/sites/ multiple_coaster_pools branches/release-0.94/tests/sites/raven branches/release-0.94/tests/sites/stampede branches/release-0.94/tests/sites/uc3 branches/release-0.94/tests/stress/IO/bagOnodes branches/release-0.94/tests/stress/IO/beagle branches/release-0.94/tests/stress/IO/multiple branches/release-0.94/tests/stress/IO/uc3 branches/release-0.94/tests/stress/apps/modis_beagle branches/release-0.94/tests/stress/apps/modis_local branches/release-0.94/tests/stress/apps/modis_midway branches/release-0.94/tests/stress/apps/modis_multiple branches/release-0.94/tests/stress/apps/modis_uc3 branches/release-0.94/tests/stress/internals branches/release-0.94/tests/stress/random_fail branches/release-0.94/tests/stress/user_profile tags/swift-0.94.1-RC3/tests/stress/local_cluster Message-ID: <20140310170956.091099D116@svn.ci.uchicago.edu> Author: yadunandb Date: 2014-03-10 12:09:55 -0500 (Mon, 10 Mar 2014) New Revision: 7675 Modified: branches/release-0.94/tests/README branches/release-0.94/tests/USAGENOTES.txt branches/release-0.94/tests/documentation/tutorial/sequential_iteration.setup.sh branches/release-0.94/tests/functions/105-assert-loop.check.sh branches/release-0.94/tests/functions/400-fprintf.check.sh branches/release-0.94/tests/functions/450-tracef.check.sh branches/release-0.94/tests/groups/group-daily-remote.sh branches/release-0.94/tests/groups/group-multi-remote.sh branches/release-0.94/tests/groups/group-stress-heavy.sh branches/release-0.94/tests/language-behaviour/IO/readStructured01.swift branches/release-0.94/tests/language-behaviour/arrays/020-array.clean.sh branches/release-0.94/tests/language-behaviour/arrays/021-array-in-proc-param.clean.sh branches/release-0.94/tests/language-behaviour/arrays/022-array-with-exprs.clean.sh branches/release-0.94/tests/language-behaviour/arrays/025-array-passing.clean.sh branches/release-0.94/tests/language-behaviour/arrays/027-array-assignment.clean.sh branches/release-0.94/tests/language-behaviour/arrays/111-array-individual-assigns.clean.sh branches/release-0.94/tests/language-behaviour/arrays/162-dot-on-array.clean.sh branches/release-0.94/tests/language-behaviour/arrays/array_multidimensional_index.clean.sh branches/release-0.94/tests/language-behaviour/arrays/q5.clean.sh branches/release-0.94/tests/language-behaviour/datatypes/0231-complex-type.clean.sh branches/release-0.94/tests/language-behaviour/datatypes/032-boolconst.clean.sh branches/release-0.94/tests/language-behaviour/datatypes/053-pass-int.clean.sh branches/release-0.94/tests/language-behaviour/datatypes/054-pass-int.clean.sh branches/release-0.94/tests/language-behaviour/datatypes/055-pass-int.clean.sh branches/release-0.94/tests/language-behaviour/mappers/073-simplemapper.swift branches/release-0.94/tests/language-behaviour/mappers/076-structured-regexp-mapper.swift branches/release-0.94/tests/language-behaviour/mappers/077-regexp-mapper.swift branches/release-0.94/tests/language-behaviour/mappers/T078-simplemapper-nosuffix.swift branches/release-0.94/tests/language-behaviour/math/006-add.clean.sh branches/release-0.94/tests/language-behaviour/math/007-add-in-proc-add.clean.sh branches/release-0.94/tests/language-behaviour/math/008-add-multiply.clean.sh branches/release-0.94/tests/language-behaviour/math/009-multiply.clean.sh branches/release-0.94/tests/language-behaviour/math/010-divide.clean.sh branches/release-0.94/tests/language-behaviour/math/011-divide-float.clean.sh branches/release-0.94/tests/language-behaviour/math/013-mod.clean.sh branches/release-0.94/tests/language-behaviour/math/014-subtract.clean.sh branches/release-0.94/tests/language-behaviour/math/0145-unary-subtact.clean.sh branches/release-0.94/tests/language-behaviour/math/015-lesseq.clean.sh branches/release-0.94/tests/language-behaviour/math/016-greatereq.clean.sh branches/release-0.94/tests/language-behaviour/math/017-greater.clean.sh branches/release-0.94/tests/language-behaviour/math/018-less.clean.sh branches/release-0.94/tests/language-behaviour/math/019-equals.clean.sh branches/release-0.94/tests/language-behaviour/math/0191-not-equals.clean.sh branches/release-0.94/tests/language-behaviour/math/030-mix-float-int.clean.sh branches/release-0.94/tests/language-behaviour/math/031-add-float.clean.sh branches/release-0.94/tests/language-behaviour/strings/003-strcat.clean.sh branches/release-0.94/tests/language-behaviour/strings/0031-strcat-op.clean.sh branches/release-0.94/tests/language-behaviour/strings/004-strcat-in-arg.clean.sh branches/release-0.94/tests/language-behaviour/strings/005-strcut.clean.sh branches/release-0.94/tests/language-behaviour/strings/0051-regexp.clean.sh branches/release-0.94/tests/language-behaviour/strings/0052-regexp.clean.sh branches/release-0.94/tests/language-behaviour/strings/0053-toint.clean.sh branches/release-0.94/tests/language-behaviour/strings/0054-strsplit.clean.sh branches/release-0.94/tests/language-behaviour/strings/103-quote.clean.sh branches/release-0.94/tests/language-behaviour/strings/1031-quote.clean.sh branches/release-0.94/tests/language-behaviour/strings/1032-singlequote.clean.sh branches/release-0.94/tests/language-behaviour/strings/1033-singlequote.clean.sh branches/release-0.94/tests/language-behaviour/strings/141-space-in-filename.clean.sh branches/release-0.94/tests/language-behaviour/strings/142-space-and-quotes.clean.sh branches/release-0.94/tests/language-behaviour/strings/1421-space-and-quotes.clean.sh branches/release-0.94/tests/language-behaviour/strings/143-newlines.clean.sh branches/release-0.94/tests/language-behaviour/strings/145-url.clean.sh branches/release-0.94/tests/language-behaviour/strings/161-star-dot.clean.sh branches/release-0.94/tests/language-behaviour/variables/120-local-vars.clean.sh branches/release-0.94/tests/language-behaviour/variables/121-multi-return-vars.clean.sh branches/release-0.94/tests/language-behaviour/variables/123-global-vars.clean.sh branches/release-0.94/tests/language-behaviour/variables/1232-global-separate-assign.clean.sh branches/release-0.94/tests/language/working/escapes.swift branches/release-0.94/tests/local/tc.template.data branches/release-0.94/tests/multi_remote/remote_driver.check.sh branches/release-0.94/tests/multi_remote/remote_driver.setup.sh branches/release-0.94/tests/multi_remote/remote_driver.source.sh branches/release-0.94/tests/multi_remote/remote_driver.swift branches/release-0.94/tests/multi_remote/sites.template.xml branches/release-0.94/tests/multi_remote/tc.template.data branches/release-0.94/tests/sites/beagle/sites.template.xml branches/release-0.94/tests/sites/blues/sites.template.xml branches/release-0.94/tests/sites/fusion/sites.template.xml branches/release-0.94/tests/sites/local/sites.template.xml branches/release-0.94/tests/sites/mac-frisbee/sites.template.xml branches/release-0.94/tests/sites/mcs/sites.template.xml branches/release-0.94/tests/sites/midway/sites.template.xml branches/release-0.94/tests/sites/multiple_coaster_pools/multiple_coaster_pools.setup.sh branches/release-0.94/tests/sites/raven/sites.template.xml branches/release-0.94/tests/sites/stampede/sanity.setup.sh branches/release-0.94/tests/sites/stampede/sites.template.xml branches/release-0.94/tests/sites/uc3/sites.template.xml branches/release-0.94/tests/stress/IO/bagOnodes/sites.template.xml branches/release-0.94/tests/stress/IO/beagle/sites.template.xml branches/release-0.94/tests/stress/IO/multiple/sites.template.xml branches/release-0.94/tests/stress/IO/uc3/sites.template.xml branches/release-0.94/tests/stress/apps/modis_beagle/modis.timeout branches/release-0.94/tests/stress/apps/modis_beagle/sites.template.xml branches/release-0.94/tests/stress/apps/modis_local/modis.timeout branches/release-0.94/tests/stress/apps/modis_local/sites.template.xml branches/release-0.94/tests/stress/apps/modis_midway/modis.timeout branches/release-0.94/tests/stress/apps/modis_midway/sites.template.xml branches/release-0.94/tests/stress/apps/modis_multiple/modis.timeout branches/release-0.94/tests/stress/apps/modis_multiple/sites.template.xml branches/release-0.94/tests/stress/apps/modis_uc3/modis.timeout branches/release-0.94/tests/stress/apps/modis_uc3/sites.template.xml branches/release-0.94/tests/stress/internals/swift.properties branches/release-0.94/tests/stress/internals/tc.template.data branches/release-0.94/tests/stress/internals/x_foreach.swift branches/release-0.94/tests/stress/internals/x_recursion.args branches/release-0.94/tests/stress/random_fail/sites.template.xml branches/release-0.94/tests/stress/user_profile/user.source.sh branches/release-0.94/tests/user_env.sh tags/swift-0.94.1-RC3/tests/stress/local_cluster/sites.template.xml tags/swift-0.94.1-RC3/tests/stress/local_cluster/sites.xml Log: Moving 0.95 tests to replace 0.94. Modified: branches/release-0.94/tests/README =================================================================== --- branches/release-0.94/tests/README 2014-03-10 15:41:54 UTC (rev 7674) +++ branches/release-0.94/tests/README 2014-03-10 17:09:55 UTC (rev 7675) @@ -1,7 +1,7 @@ USAGENOTES contains instructions on how to operate the test suite. It is an asciidoc document, in order to properly build it run the following command: $ asciidoc -a toc USAGENOTES.txt -It will generate an HTML file called USAGENOTES.html. +It will generate an HTML file called USAGENOTES. Warning: asciidoc must be installed. Modified: branches/release-0.94/tests/USAGENOTES.txt =================================================================== --- branches/release-0.94/tests/USAGENOTES.txt 2014-03-10 15:41:54 UTC (rev 7674) +++ branches/release-0.94/tests/USAGENOTES.txt 2014-03-10 17:09:55 UTC (rev 7675) @@ -36,7 +36,7 @@ have the conventional *_cog/modules/swift_* configuration, and you have done an *ant dist*, you can run ********************************************************* - suite.sh -t -o /tmp $PWD/tests/groups/group-all-local.sh + suite.sh -t -o /tmp $PWD/groups/group-all-local.sh ********************************************************* or *cd* into */tmp* and run ************************************************************** @@ -252,3 +252,12 @@ - *run-suite.sh*: a. Wrapper for *suite.sh*. b. Env variables set may be customized by user. + +- *meta.sh*: + a. Wrapper for *run-suite.sh*. + b. used to execute _run-suite/suite.sh_ from a remote site using *ssh*. + +.Example usage: +********************************************************************************************* + meta.sh login.pads.ci.uchicago.edu /home/skenny/swift_runs/tests sites/pads-pbs-coasters.sh +********************************************************************************************* Modified: branches/release-0.94/tests/documentation/tutorial/sequential_iteration.setup.sh =================================================================== --- branches/release-0.94/tests/documentation/tutorial/sequential_iteration.setup.sh 2014-03-10 15:41:54 UTC (rev 7674) +++ branches/release-0.94/tests/documentation/tutorial/sequential_iteration.setup.sh 2014-03-10 17:09:55 UTC (rev 7675) @@ -1,3 +1,5 @@ #!/bin/bash -echo 'echo -n $(wc -c < $1) > $2' > /tmp/wcl -chmod +x /tmp/wcl +if [ ! -f "/tmp/wcl" ]; then + echo 'echo -n $(wc -c < $1) > $2' > /tmp/wcl + chmod +x /tmp/wcl +fi Modified: branches/release-0.94/tests/functions/105-assert-loop.check.sh =================================================================== --- branches/release-0.94/tests/functions/105-assert-loop.check.sh 2014-03-10 15:41:54 UTC (rev 7674) +++ branches/release-0.94/tests/functions/105-assert-loop.check.sh 2014-03-10 17:09:55 UTC (rev 7675) @@ -4,7 +4,15 @@ grep I_IS_4 105-assert-loop.stdout || exit 1 -LINES=$( grep -c "i:" 105-assert-loop.stdout ) -[[ ${LINES} == 5 ]] || exit 1 +# +# Assert fails the entire run whenever the assertion +# fails, and not when the loop in which the assert statement +# exists completes. It is therefore incorrect to assume anything +# about the number of parallel iterations that are +# completed when assert aborts everything. +# +#LINES=$( grep -c "i:" 105-assert-loop.stdout ) +#[[ ${LINES} == 5 ]] || exit 1 + exit 0 Modified: branches/release-0.94/tests/functions/400-fprintf.check.sh =================================================================== --- branches/release-0.94/tests/functions/400-fprintf.check.sh 2014-03-10 15:41:54 UTC (rev 7674) +++ branches/release-0.94/tests/functions/400-fprintf.check.sh 2014-03-10 17:09:55 UTC (rev 7675) @@ -7,7 +7,7 @@ grep hello 400-fprintf-1.out || exit 1 -LINES=$( wc -l 400-fprintf-2.out | cut -d ' ' -f 1 ) +LINES=$( wc -l 400-fprintf-2.out | sed 's/^[ \t]*//' | cut -d ' ' -f 1 ) (( ${LINES} == 3 )) || exit 1 grep "hello: 32" 400-fprintf-3.out || exit 1 Modified: branches/release-0.94/tests/functions/450-tracef.check.sh =================================================================== --- branches/release-0.94/tests/functions/450-tracef.check.sh 2014-03-10 15:41:54 UTC (rev 7674) +++ branches/release-0.94/tests/functions/450-tracef.check.sh 2014-03-10 17:09:55 UTC (rev 7675) @@ -10,6 +10,6 @@ grep "pointer:.*Closed" 450-tracef.stdout || exit 1 [[ $( grep -c "WORD" 450-tracef.stdout ) == 2 ]] || exit 1 -[[ $( grep -o '\' 450-tracef.stdout | wc -l ) == 4 ]] || exit 1 +[[ $( grep -o '\' 450-tracef.stdout | wc -l | sed 's/^[ \t]*//' ) == 4 ]] || exit 1 exit 0 Modified: branches/release-0.94/tests/groups/group-daily-remote.sh =================================================================== --- branches/release-0.94/tests/groups/group-daily-remote.sh 2014-03-10 15:41:54 UTC (rev 7674) +++ branches/release-0.94/tests/groups/group-daily-remote.sh 2014-03-10 17:09:55 UTC (rev 7675) @@ -1,30 +1,64 @@ - # GROUPLIST definition to run all local tests -GROUPLIST=( # Site testing test-group +GROUPLIST=( $TESTDIR/language/working \ + $TESTDIR/local \ + $TESTDIR/language/should-not-work \ + # $TESTDIR/cdm \ + # $TESTDIR/cdm/ps \ + # $TESTDIR/cdm/star + $TESTDIR/language-behaviour/arrays \ + $TESTDIR/language-behaviour/broken \ + $TESTDIR/language-behaviour/compounds \ + $TESTDIR/language-behaviour/control_structures \ + $TESTDIR/language-behaviour/datatypes \ + $TESTDIR/language-behaviour/IO \ + $TESTDIR/language-behaviour/logic \ + $TESTDIR/language-behaviour/mappers \ + $TESTDIR/language-behaviour/math \ + $TESTDIR/language-behaviour/params \ + $TESTDIR/language-behaviour/procedures \ + $TESTDIR/language-behaviour/strings \ + $TESTDIR/language-behaviour/variables \ + $TESTDIR/language-behaviour/cleanup \ + $TESTDIR/bugs \ + $TESTDIR/documentation/tutorial \ + $TESTDIR/functions \ + + # Site testing test-group $TESTDIR/sites/beagle \ $TESTDIR/sites/mcs \ $TESTDIR/sites/midway \ $TESTDIR/sites/uc3 \ - # Frisbee will fail due to Bug 1030 - #TESTDIR/sites/mac-frisbee \ - - # Remote-cluster IO tests - $TESTDIR/stress/IO/beagle \ + # Frisbee will fail due to Bug 1030 + $TESTDIR/sites/mac-frisbee \ + $TESTDIR/sites/blues \ + $TESTDIR/sites/fusion \ + #$TESTDIR/sites/raven \ + + # Remote-cluster IO tests + $TESTDIR/stress/IO/beagle \ $TESTDIR/stress/IO/bagOnodes \ $TESTDIR/stress/IO/multiple \ $TESTDIR/stress/IO/uc3 \ - # Remote-cluster Apps tests - MODIS + # Language stress tests + $TESTDIR/stress/internals \ + + # Remote-cluster Apps tests - MODIS $TESTDIR/stress/apps/modis_beagle \ $TESTDIR/stress/apps/modis_local \ - $TESTDIR/stress/apps/modis_midway \ - $TESTDIR/stress/apps/modis_uc3 \ - $TESTDIR/stress/apps/modis_multiple\ + $TESTDIR/stress/apps/modis_midway \ + $TESTDIR/stress/apps/modis_uc3 \ + # $TESTDIR/stress/apps/modis_multiple\ - # Recursive Test invocation - $TESTDIR/multi-remote - + # Local cluster tests. + $TESTDIR/stress/local_cluster \ + $TESTDIR/stress/random_fail \ + $TESTDIR/stress/jobs_per_node \ + + # Recursive Test invocation + $TESTDIR/multi_remote + ) checkvars WORK Modified: branches/release-0.94/tests/groups/group-multi-remote.sh =================================================================== --- branches/release-0.94/tests/groups/group-multi-remote.sh 2014-03-10 15:41:54 UTC (rev 7674) +++ branches/release-0.94/tests/groups/group-multi-remote.sh 2014-03-10 17:09:55 UTC (rev 7675) @@ -2,7 +2,8 @@ # GROUPLIST definition to run all local tests GROUPLIST=( - $TESTDIR/multi_remote \ + #$TESTDIR/test_submitter \ + $TESTDIR/multi_remote \ ) checkvars WORK Modified: branches/release-0.94/tests/groups/group-stress-heavy.sh =================================================================== --- branches/release-0.94/tests/groups/group-stress-heavy.sh 2014-03-10 15:41:54 UTC (rev 7674) +++ branches/release-0.94/tests/groups/group-stress-heavy.sh 2014-03-10 17:09:55 UTC (rev 7675) @@ -1,8 +1,11 @@ # GROUPLIST definition to run all local tests \ GROUPLIST=( - $TESTDIR/stress/IO \ - $TESTDIR/stress/internals \ +# $TESTDIR/stress/IO/beagle \ +# $TESTDIR/stress/IO/bagOnodes \ +# $TESTDIR/stress/IO/multiple \ +# $TESTDIR/stress/IO/uc3 \ + $TESTDIR/stress/internals \ ) checkvars WORK \ No newline at end of file Modified: branches/release-0.94/tests/language/working/escapes.swift =================================================================== --- branches/release-0.94/tests/language/working/escapes.swift 2014-03-10 15:41:54 UTC (rev 7674) +++ branches/release-0.94/tests/language/working/escapes.swift 2014-03-10 17:09:55 UTC (rev 7675) @@ -11,6 +11,9 @@ string x = "\""; -string y = "\'"; +// Why are we escaping single-quotes? +// string y = "\'"; +string y = "'"; + string z = "\\"; Modified: branches/release-0.94/tests/language-behaviour/IO/readStructured01.swift =================================================================== --- branches/release-0.94/tests/language-behaviour/IO/readStructured01.swift 2014-03-10 15:41:54 UTC (rev 7674) +++ branches/release-0.94/tests/language-behaviour/IO/readStructured01.swift 2014-03-10 17:09:55 UTC (rev 7675) @@ -4,4 +4,3 @@ matrix m; m = readStructured("readStructured01.in"); - Modified: branches/release-0.94/tests/language-behaviour/arrays/020-array.clean.sh =================================================================== --- branches/release-0.94/tests/language-behaviour/arrays/020-array.clean.sh 2014-03-10 15:41:54 UTC (rev 7674) +++ branches/release-0.94/tests/language-behaviour/arrays/020-array.clean.sh 2014-03-10 17:09:55 UTC (rev 7675) @@ -1,4 +1,4 @@ #!/bin/bash set -x -rm -r 020-array-* 020-array.swiftx 020-array.kml 020-array.out || exit 1 +rm -r 020-array.out || exit 1 exit 0 Modified: branches/release-0.94/tests/language-behaviour/arrays/021-array-in-proc-param.clean.sh =================================================================== --- branches/release-0.94/tests/language-behaviour/arrays/021-array-in-proc-param.clean.sh 2014-03-10 15:41:54 UTC (rev 7674) +++ branches/release-0.94/tests/language-behaviour/arrays/021-array-in-proc-param.clean.sh 2014-03-10 17:09:55 UTC (rev 7675) @@ -1,4 +1,4 @@ #!/bin/bash set -x -rm -r 021-array-in-proc-param.out 021-array-in-proc-param-* 021-array-in-proc-param.kml 021-array-in-proc-param.swiftx || exit 1 +rm -r 021-array-in-proc-param.out || exit 1 exit 0 Modified: branches/release-0.94/tests/language-behaviour/arrays/022-array-with-exprs.clean.sh =================================================================== --- branches/release-0.94/tests/language-behaviour/arrays/022-array-with-exprs.clean.sh 2014-03-10 15:41:54 UTC (rev 7674) +++ branches/release-0.94/tests/language-behaviour/arrays/022-array-with-exprs.clean.sh 2014-03-10 17:09:55 UTC (rev 7675) @@ -1,4 +1,4 @@ #!/bin/bash set -x -rm -r 022-array-with-exprs-* 022-array-with-exprs.kml 022-array-with-exprs.swiftx 022-array-with-exprs.out || exit 1 +rm -r 022-array-with-exprs.out || exit 1 exit 0 Modified: branches/release-0.94/tests/language-behaviour/arrays/025-array-passing.clean.sh =================================================================== --- branches/release-0.94/tests/language-behaviour/arrays/025-array-passing.clean.sh 2014-03-10 15:41:54 UTC (rev 7674) +++ branches/release-0.94/tests/language-behaviour/arrays/025-array-passing.clean.sh 2014-03-10 17:09:55 UTC (rev 7675) @@ -1,4 +1,4 @@ #!/bin/bash set -x -rm -r 025-array-passing-* 025-array-passing.kml 025-array-passing.swiftx 025-array-passing.out || exit 1 +rm -r 025-array-passing.out || exit 1 exit 0 Modified: branches/release-0.94/tests/language-behaviour/arrays/027-array-assignment.clean.sh =================================================================== --- branches/release-0.94/tests/language-behaviour/arrays/027-array-assignment.clean.sh 2014-03-10 15:41:54 UTC (rev 7674) +++ branches/release-0.94/tests/language-behaviour/arrays/027-array-assignment.clean.sh 2014-03-10 17:09:55 UTC (rev 7675) @@ -1,4 +1,4 @@ #!/bin/bash set -x -rm -r 027-array-assignment.out 027-array-assignment-* 027-array-assignment.kml 027-array-assignment.swiftx || exit 1 +rm -r 027-array-assignment.out || exit 1 exit 0 Modified: branches/release-0.94/tests/language-behaviour/arrays/111-array-individual-assigns.clean.sh =================================================================== --- branches/release-0.94/tests/language-behaviour/arrays/111-array-individual-assigns.clean.sh 2014-03-10 15:41:54 UTC (rev 7674) +++ branches/release-0.94/tests/language-behaviour/arrays/111-array-individual-assigns.clean.sh 2014-03-10 17:09:55 UTC (rev 7675) @@ -1,4 +1,4 @@ #!/bin/bash set -x -rm -r 111-array-individual-assigns-* 111-array-individual-assigns.*ml 111-array-individual-assigns.out || exit 1 +rm -r 111-array-individual-assigns.out || exit 1 exit 0 Modified: branches/release-0.94/tests/language-behaviour/arrays/162-dot-on-array.clean.sh =================================================================== --- branches/release-0.94/tests/language-behaviour/arrays/162-dot-on-array.clean.sh 2014-03-10 15:41:54 UTC (rev 7674) +++ branches/release-0.94/tests/language-behaviour/arrays/162-dot-on-array.clean.sh 2014-03-10 17:09:55 UTC (rev 7675) @@ -1,4 +1,4 @@ #!/bin/bash set -x -rm -r 162-dot-on-array-* 162-dot-on-array.*ml 162-dot-on-array.out || exit 1 +rm -r 162-dot-on-array.out || exit 1 exit 0 Modified: branches/release-0.94/tests/language-behaviour/arrays/array_multidimensional_index.clean.sh =================================================================== --- branches/release-0.94/tests/language-behaviour/arrays/array_multidimensional_index.clean.sh 2014-03-10 15:41:54 UTC (rev 7674) +++ branches/release-0.94/tests/language-behaviour/arrays/array_multidimensional_index.clean.sh 2014-03-10 17:09:55 UTC (rev 7675) @@ -1,4 +1,4 @@ #!/bin/bash set -x -rm -r array_multidimensional_index-* array_multidimensional_index.*ml array_multidimensional_index.out || exit 1 +rm -r array_multidimensional_index.out || exit 1 exit 0 Modified: branches/release-0.94/tests/language-behaviour/arrays/q5.clean.sh =================================================================== --- branches/release-0.94/tests/language-behaviour/arrays/q5.clean.sh 2014-03-10 15:41:54 UTC (rev 7674) +++ branches/release-0.94/tests/language-behaviour/arrays/q5.clean.sh 2014-03-10 17:09:55 UTC (rev 7675) @@ -1,4 +1,4 @@ #!/bin/bash set -x -rm -r q5-* q5.*ml q5.out || exit 1 +rm -r q5.out || exit 1 exit 0 Modified: branches/release-0.94/tests/language-behaviour/datatypes/0231-complex-type.clean.sh =================================================================== --- branches/release-0.94/tests/language-behaviour/datatypes/0231-complex-type.clean.sh 2014-03-10 15:41:54 UTC (rev 7674) +++ branches/release-0.94/tests/language-behaviour/datatypes/0231-complex-type.clean.sh 2014-03-10 17:09:55 UTC (rev 7675) @@ -1,4 +1,4 @@ #!/bin/bash set -x -rm -r 0231-complex-type-* 0231-complex-type.*ml 0231-complex-type.out || exit 1 +rm -r 0231-complex-type.out || exit 1 exit 0 Modified: branches/release-0.94/tests/language-behaviour/datatypes/032-boolconst.clean.sh =================================================================== --- branches/release-0.94/tests/language-behaviour/datatypes/032-boolconst.clean.sh 2014-03-10 15:41:54 UTC (rev 7674) +++ branches/release-0.94/tests/language-behaviour/datatypes/032-boolconst.clean.sh 2014-03-10 17:09:55 UTC (rev 7675) @@ -1,4 +1,4 @@ #!/bin/bash set -x -rm -r 032-boolconst-* 032-boolconst.*ml 032-boolconst.*.out || exit 1 +rm -r 032-boolconst.*.out || exit 1 exit 0 Modified: branches/release-0.94/tests/language-behaviour/datatypes/053-pass-int.clean.sh =================================================================== --- branches/release-0.94/tests/language-behaviour/datatypes/053-pass-int.clean.sh 2014-03-10 15:41:54 UTC (rev 7674) +++ branches/release-0.94/tests/language-behaviour/datatypes/053-pass-int.clean.sh 2014-03-10 17:09:55 UTC (rev 7675) @@ -1,4 +1,4 @@ #!/bin/bash set -x -rm -r 053-pass-int-* 053-pass-int.*ml 053-pass-int.out || exit 1 +rm -r 053-pass-int.out || exit 1 exit 0 Modified: branches/release-0.94/tests/language-behaviour/datatypes/054-pass-int.clean.sh =================================================================== --- branches/release-0.94/tests/language-behaviour/datatypes/054-pass-int.clean.sh 2014-03-10 15:41:54 UTC (rev 7674) +++ branches/release-0.94/tests/language-behaviour/datatypes/054-pass-int.clean.sh 2014-03-10 17:09:55 UTC (rev 7675) @@ -1,4 +1,4 @@ #!/bin/bash set -x -rm -r 054-pass-int-* 054-pass-int.*ml 054-pass-int.out || exit 1 +rm -r 054-pass-int.out || exit 1 exit 0 Modified: branches/release-0.94/tests/language-behaviour/datatypes/055-pass-int.clean.sh =================================================================== --- branches/release-0.94/tests/language-behaviour/datatypes/055-pass-int.clean.sh 2014-03-10 15:41:54 UTC (rev 7674) +++ branches/release-0.94/tests/language-behaviour/datatypes/055-pass-int.clean.sh 2014-03-10 17:09:55 UTC (rev 7675) @@ -1,4 +1,4 @@ #!/bin/bash set -x -rm -r 055-pass-int-* 055-pass-int.*ml 055-pass-int.out || exit 1 +rm -r 055-pass-int.out || exit 1 exit 0 Modified: branches/release-0.94/tests/language-behaviour/mappers/073-simplemapper.swift =================================================================== --- branches/release-0.94/tests/language-behaviour/mappers/073-simplemapper.swift 2014-03-10 15:41:54 UTC (rev 7674) +++ branches/release-0.94/tests/language-behaviour/mappers/073-simplemapper.swift 2014-03-10 17:09:55 UTC (rev 7675) @@ -11,7 +11,7 @@ messagefile outfile ; + suffix=".out">; outfile = write(); Modified: branches/release-0.94/tests/language-behaviour/mappers/076-structured-regexp-mapper.swift =================================================================== --- branches/release-0.94/tests/language-behaviour/mappers/076-structured-regexp-mapper.swift 2014-03-10 15:41:54 UTC (rev 7674) +++ branches/release-0.94/tests/language-behaviour/mappers/076-structured-regexp-mapper.swift 2014-03-10 17:09:55 UTC (rev 7675) @@ -12,14 +12,14 @@ } } +messagefile outfile[] ; -messagefile outfile <"076-structured-regexp-mapper.a.out">; -messagefile outfile2 ; +messagefile outfile2[] ; -outfile = greeting(); +foreach i in [0:1]{ + outfile[i] = greeting(); + outfile2[i] = greeting2(outfile[i]); +} -outfile2 = greeting2(outfile); Modified: branches/release-0.94/tests/language-behaviour/mappers/077-regexp-mapper.swift =================================================================== --- branches/release-0.94/tests/language-behaviour/mappers/077-regexp-mapper.swift 2014-03-10 15:41:54 UTC (rev 7674) +++ branches/release-0.94/tests/language-behaviour/mappers/077-regexp-mapper.swift 2014-03-10 17:09:55 UTC (rev 7675) @@ -6,10 +6,10 @@ } } -messagefile outfile ; +messagefile infile <"077-regexpmapper-input.in">; +messagefile outfile ; + outfile = greeting(); Modified: branches/release-0.94/tests/language-behaviour/mappers/T078-simplemapper-nosuffix.swift =================================================================== --- branches/release-0.94/tests/language-behaviour/mappers/T078-simplemapper-nosuffix.swift 2014-03-10 15:41:54 UTC (rev 7674) +++ branches/release-0.94/tests/language-behaviour/mappers/T078-simplemapper-nosuffix.swift 2014-03-10 17:09:55 UTC (rev 7675) @@ -1,6 +1,12 @@ // this one is like test 073-simplemapper, but doesn't // add the missing dot in front of the suffix +// The behavior of the suffix parameter was changed in r6390. +// The automatic adding of a dot to the suffix could be surprising +// and it did not compensate by helping the user much. Since r6390 +// the user must specify the dot if it's to be part of the suffix. +// and also removes the noauto parametr + type messagefile; (messagefile t) write() { @@ -10,7 +16,7 @@ } messagefile outfile ; outfile = write(); Modified: branches/release-0.94/tests/language-behaviour/math/006-add.clean.sh =================================================================== --- branches/release-0.94/tests/language-behaviour/math/006-add.clean.sh 2014-03-10 15:41:54 UTC (rev 7674) +++ branches/release-0.94/tests/language-behaviour/math/006-add.clean.sh 2014-03-10 17:09:55 UTC (rev 7675) @@ -1,4 +1,4 @@ #!/bin/bash set -x -rm -r 006-add-* 006-add.*ml 006-add.out || exit 1 +rm -r 006-add.out || exit 1 exit 0 Modified: branches/release-0.94/tests/language-behaviour/math/007-add-in-proc-add.clean.sh =================================================================== --- branches/release-0.94/tests/language-behaviour/math/007-add-in-proc-add.clean.sh 2014-03-10 15:41:54 UTC (rev 7674) +++ branches/release-0.94/tests/language-behaviour/math/007-add-in-proc-add.clean.sh 2014-03-10 17:09:55 UTC (rev 7675) @@ -1,4 +1,4 @@ #!/bin/bash set -x -rm -r 007-add-in-proc-add-* 007-add-in-proc-add.*ml 007-add-in-proc-add.out || exit 1 +rm -r 007-add-in-proc-add.out || exit 1 exit 0 Modified: branches/release-0.94/tests/language-behaviour/math/008-add-multiply.clean.sh =================================================================== --- branches/release-0.94/tests/language-behaviour/math/008-add-multiply.clean.sh 2014-03-10 15:41:54 UTC (rev 7674) +++ branches/release-0.94/tests/language-behaviour/math/008-add-multiply.clean.sh 2014-03-10 17:09:55 UTC (rev 7675) @@ -1,4 +1,4 @@ #!/bin/bash set -x -rm -r 008-add-multiply-* 008-add-multiply.*ml 008-add-multiply.out || exit 1 +rm -r 008-add-multiply.out || exit 1 exit 0 Modified: branches/release-0.94/tests/language-behaviour/math/009-multiply.clean.sh =================================================================== --- branches/release-0.94/tests/language-behaviour/math/009-multiply.clean.sh 2014-03-10 15:41:54 UTC (rev 7674) +++ branches/release-0.94/tests/language-behaviour/math/009-multiply.clean.sh 2014-03-10 17:09:55 UTC (rev 7675) @@ -1,4 +1,4 @@ #!/bin/bash set -x -rm -r 009-multiply-* 009-multiply.*ml 009-multiply.out || exit 1 +rm -r 009-multiply.out || exit 1 exit 0 Modified: branches/release-0.94/tests/language-behaviour/math/010-divide.clean.sh =================================================================== --- branches/release-0.94/tests/language-behaviour/math/010-divide.clean.sh 2014-03-10 15:41:54 UTC (rev 7674) +++ branches/release-0.94/tests/language-behaviour/math/010-divide.clean.sh 2014-03-10 17:09:55 UTC (rev 7675) @@ -1,4 +1,4 @@ #!/bin/bash set -x -rm -r 010-divide-* 010-divide.*ml 010-divide.out || exit 1 +rm -r 010-divide.out || exit 1 exit 0 Modified: branches/release-0.94/tests/language-behaviour/math/011-divide-float.clean.sh =================================================================== --- branches/release-0.94/tests/language-behaviour/math/011-divide-float.clean.sh 2014-03-10 15:41:54 UTC (rev 7674) +++ branches/release-0.94/tests/language-behaviour/math/011-divide-float.clean.sh 2014-03-10 17:09:55 UTC (rev 7675) @@ -1,4 +1,4 @@ #!/bin/bash set -x -rm -r 011-divide-float-* 011-divide-float.*ml 011-divide-float.out || exit 1 +rm -r 011-divide-float.out || exit 1 exit 0 Modified: branches/release-0.94/tests/language-behaviour/math/013-mod.clean.sh =================================================================== --- branches/release-0.94/tests/language-behaviour/math/013-mod.clean.sh 2014-03-10 15:41:54 UTC (rev 7674) +++ branches/release-0.94/tests/language-behaviour/math/013-mod.clean.sh 2014-03-10 17:09:55 UTC (rev 7675) @@ -1,4 +1,4 @@ #!/bin/bash set -x -rm -r 013-mod-* 013-mod.*ml 013-mod.out || exit 1 +rm -r 013-mod.out || exit 1 exit 0 Modified: branches/release-0.94/tests/language-behaviour/math/014-subtract.clean.sh =================================================================== --- branches/release-0.94/tests/language-behaviour/math/014-subtract.clean.sh 2014-03-10 15:41:54 UTC (rev 7674) +++ branches/release-0.94/tests/language-behaviour/math/014-subtract.clean.sh 2014-03-10 17:09:55 UTC (rev 7675) @@ -1,4 +1,4 @@ #!/bin/bash set -x -rm -r 014-subtract-* 014-subtract.*ml 014-subtract.out || exit 1 +rm -r 014-subtract.out || exit 1 exit 0 Modified: branches/release-0.94/tests/language-behaviour/math/0145-unary-subtact.clean.sh =================================================================== --- branches/release-0.94/tests/language-behaviour/math/0145-unary-subtact.clean.sh 2014-03-10 15:41:54 UTC (rev 7674) +++ branches/release-0.94/tests/language-behaviour/math/0145-unary-subtact.clean.sh 2014-03-10 17:09:55 UTC (rev 7675) @@ -1,4 +1,4 @@ #!/bin/bash set -x -rm -r 0145-unary-subtact-* 0145-unary-subtact.*ml 0145-unary-subtact.out || exit 1 +rm -r 0145-unary-subtact.out || exit 1 exit 0 Modified: branches/release-0.94/tests/language-behaviour/math/015-lesseq.clean.sh =================================================================== --- branches/release-0.94/tests/language-behaviour/math/015-lesseq.clean.sh 2014-03-10 15:41:54 UTC (rev 7674) +++ branches/release-0.94/tests/language-behaviour/math/015-lesseq.clean.sh 2014-03-10 17:09:55 UTC (rev 7675) @@ -1,4 +1,4 @@ #!/bin/bash set -x -rm -r 015-lesseq-* 015-lesseq.*ml 015-lesseq.out || exit 1 +rm -r 015-lesseq.out || exit 1 exit 0 Modified: branches/release-0.94/tests/language-behaviour/math/016-greatereq.clean.sh =================================================================== --- branches/release-0.94/tests/language-behaviour/math/016-greatereq.clean.sh 2014-03-10 15:41:54 UTC (rev 7674) +++ branches/release-0.94/tests/language-behaviour/math/016-greatereq.clean.sh 2014-03-10 17:09:55 UTC (rev 7675) @@ -1,4 +1,4 @@ #!/bin/bash set -x -rm -r 016-greatereq-* 016-greatereq.*ml 016-greatereq.out || exit 1 +rm -r 016-greatereq.out || exit 1 exit 0 Modified: branches/release-0.94/tests/language-behaviour/math/017-greater.clean.sh =================================================================== --- branches/release-0.94/tests/language-behaviour/math/017-greater.clean.sh 2014-03-10 15:41:54 UTC (rev 7674) +++ branches/release-0.94/tests/language-behaviour/math/017-greater.clean.sh 2014-03-10 17:09:55 UTC (rev 7675) @@ -1,4 +1,4 @@ #!/bin/bash set -x -rm -r 017-greater-* 017-greater.*ml 017-greater.out || exit 1 +rm -r 017-greater.out || exit 1 exit 0 Modified: branches/release-0.94/tests/language-behaviour/math/018-less.clean.sh =================================================================== --- branches/release-0.94/tests/language-behaviour/math/018-less.clean.sh 2014-03-10 15:41:54 UTC (rev 7674) +++ branches/release-0.94/tests/language-behaviour/math/018-less.clean.sh 2014-03-10 17:09:55 UTC (rev 7675) @@ -1,4 +1,4 @@ #!/bin/bash set -x -rm -r 018-less-* 018-less.*ml 018-less.out || exit 1 +rm -r 018-less.out || exit 1 exit 0 Modified: branches/release-0.94/tests/language-behaviour/math/019-equals.clean.sh =================================================================== --- branches/release-0.94/tests/language-behaviour/math/019-equals.clean.sh 2014-03-10 15:41:54 UTC (rev 7674) +++ branches/release-0.94/tests/language-behaviour/math/019-equals.clean.sh 2014-03-10 17:09:55 UTC (rev 7675) @@ -1,4 +1,4 @@ #!/bin/bash set -x -rm -r 019-equals-* 019-equals.*ml 019-equals.out || exit 1 +rm -r 019-equals.out || exit 1 exit 0 Modified: branches/release-0.94/tests/language-behaviour/math/0191-not-equals.clean.sh =================================================================== --- branches/release-0.94/tests/language-behaviour/math/0191-not-equals.clean.sh 2014-03-10 15:41:54 UTC (rev 7674) +++ branches/release-0.94/tests/language-behaviour/math/0191-not-equals.clean.sh 2014-03-10 17:09:55 UTC (rev 7675) @@ -1,4 +1,4 @@ #!/bin/bash set -x -rm -r 0191-not-equals-* 0191-not-equals.*ml 0191-not-equals.out || exit 1 +rm -r 0191-not-equals.out || exit 1 exit 0 Modified: branches/release-0.94/tests/language-behaviour/math/030-mix-float-int.clean.sh =================================================================== --- branches/release-0.94/tests/language-behaviour/math/030-mix-float-int.clean.sh 2014-03-10 15:41:54 UTC (rev 7674) +++ branches/release-0.94/tests/language-behaviour/math/030-mix-float-int.clean.sh 2014-03-10 17:09:55 UTC (rev 7675) @@ -1,4 +1,4 @@ #!/bin/bash set -x -rm -r 030-mix-float-int-* 030-mix-float-int.*ml 030-mix-float-int.out || exit 1 +rm -r 030-mix-float-int.out || exit 1 exit 0 Modified: branches/release-0.94/tests/language-behaviour/math/031-add-float.clean.sh =================================================================== --- branches/release-0.94/tests/language-behaviour/math/031-add-float.clean.sh 2014-03-10 15:41:54 UTC (rev 7674) +++ branches/release-0.94/tests/language-behaviour/math/031-add-float.clean.sh 2014-03-10 17:09:55 UTC (rev 7675) @@ -1,4 +1,4 @@ #!/bin/bash set -x -rm -r 031-add-float-* 031-add-float.*ml 031-add-float.out || exit 1 +rm -r 031-add-float.out || exit 1 exit 0 Modified: branches/release-0.94/tests/language-behaviour/strings/003-strcat.clean.sh =================================================================== --- branches/release-0.94/tests/language-behaviour/strings/003-strcat.clean.sh 2014-03-10 15:41:54 UTC (rev 7674) +++ branches/release-0.94/tests/language-behaviour/strings/003-strcat.clean.sh 2014-03-10 17:09:55 UTC (rev 7675) @@ -1,4 +1,4 @@ #!/bin/bash set -x -rm -r 003-strcat-* 003-strcat.*ml 003-strcat.out || exit 1 +rm -r 003-strcat.out || exit 1 exit 0 Modified: branches/release-0.94/tests/language-behaviour/strings/0031-strcat-op.clean.sh =================================================================== --- branches/release-0.94/tests/language-behaviour/strings/0031-strcat-op.clean.sh 2014-03-10 15:41:54 UTC (rev 7674) +++ branches/release-0.94/tests/language-behaviour/strings/0031-strcat-op.clean.sh 2014-03-10 17:09:55 UTC (rev 7675) @@ -1,4 +1,4 @@ #!/bin/bash set -x -rm -r 0031-strcat-op-* 0031-strcat-op.*ml 0031-strcat-op.out || exit 1 +rm -r 0031-strcat-op.out || exit 1 exit 0 Modified: branches/release-0.94/tests/language-behaviour/strings/004-strcat-in-arg.clean.sh =================================================================== --- branches/release-0.94/tests/language-behaviour/strings/004-strcat-in-arg.clean.sh 2014-03-10 15:41:54 UTC (rev 7674) +++ branches/release-0.94/tests/language-behaviour/strings/004-strcat-in-arg.clean.sh 2014-03-10 17:09:55 UTC (rev 7675) @@ -1,4 +1,4 @@ #!/bin/bash set -x -rm -r 004-strcat-in-arg-* 004-strcat-in-arg.*ml 004-strcat-in-arg.out || exit 1 +rm -r 004-strcat-in-arg.out || exit 1 exit 0 Modified: branches/release-0.94/tests/language-behaviour/strings/005-strcut.clean.sh =================================================================== --- branches/release-0.94/tests/language-behaviour/strings/005-strcut.clean.sh 2014-03-10 15:41:54 UTC (rev 7674) +++ branches/release-0.94/tests/language-behaviour/strings/005-strcut.clean.sh 2014-03-10 17:09:55 UTC (rev 7675) @@ -1,4 +1,4 @@ #!/bin/bash set -x -rm -r 005-strcut-* 005-strcut.*ml 005-strcut.out || exit 1 +rm -r 005-strcut.out || exit 1 exit 0 Modified: branches/release-0.94/tests/language-behaviour/strings/0051-regexp.clean.sh =================================================================== --- branches/release-0.94/tests/language-behaviour/strings/0051-regexp.clean.sh 2014-03-10 15:41:54 UTC (rev 7674) +++ branches/release-0.94/tests/language-behaviour/strings/0051-regexp.clean.sh 2014-03-10 17:09:55 UTC (rev 7675) @@ -1,4 +1,4 @@ #!/bin/bash set -x -rm -r 0051-regexp-* 0051-regexp.*ml 0051-regexp.out || exit 1 +rm -r 0051-regexp.out || exit 1 exit 0 Modified: branches/release-0.94/tests/language-behaviour/strings/0052-regexp.clean.sh =================================================================== --- branches/release-0.94/tests/language-behaviour/strings/0052-regexp.clean.sh 2014-03-10 15:41:54 UTC (rev 7674) +++ branches/release-0.94/tests/language-behaviour/strings/0052-regexp.clean.sh 2014-03-10 17:09:55 UTC (rev 7675) @@ -1,4 +1,4 @@ #!/bin/bash set -x -rm -r 0052-regexp-* 0052-regexp.*ml 0052-regexp.out || exit 1 +rm -r 0052-regexp.out || exit 1 exit 0 Modified: branches/release-0.94/tests/language-behaviour/strings/0053-toint.clean.sh =================================================================== --- branches/release-0.94/tests/language-behaviour/strings/0053-toint.clean.sh 2014-03-10 15:41:54 UTC (rev 7674) +++ branches/release-0.94/tests/language-behaviour/strings/0053-toint.clean.sh 2014-03-10 17:09:55 UTC (rev 7675) @@ -1,4 +1,4 @@ #!/bin/bash set -x -rm -r 0053-toint-* 0053-toint.*ml 0053-toint.out || exit 1 +rm -r 0053-toint.out || exit 1 exit 0 Modified: branches/release-0.94/tests/language-behaviour/strings/0054-strsplit.clean.sh =================================================================== --- branches/release-0.94/tests/language-behaviour/strings/0054-strsplit.clean.sh 2014-03-10 15:41:54 UTC (rev 7674) +++ branches/release-0.94/tests/language-behaviour/strings/0054-strsplit.clean.sh 2014-03-10 17:09:55 UTC (rev 7675) @@ -1,4 +1,4 @@ #!/bin/bash set -x -rm -r 0054-strsplit-* 0054-strsplit.*ml 0054-strsplit.out || exit 1 +rm -r 0054-strsplit.out || exit 1 exit 0 Modified: branches/release-0.94/tests/language-behaviour/strings/103-quote.clean.sh =================================================================== --- branches/release-0.94/tests/language-behaviour/strings/103-quote.clean.sh 2014-03-10 15:41:54 UTC (rev 7674) +++ branches/release-0.94/tests/language-behaviour/strings/103-quote.clean.sh 2014-03-10 17:09:55 UTC (rev 7675) @@ -1,4 +1,4 @@ #!/bin/bash set -x -rm -r 103-quote-* 103-quote.*ml 103-quote.out || exit 1 +rm -r 103-quote.out || exit 1 exit 0 Modified: branches/release-0.94/tests/language-behaviour/strings/1031-quote.clean.sh =================================================================== --- branches/release-0.94/tests/language-behaviour/strings/1031-quote.clean.sh 2014-03-10 15:41:54 UTC (rev 7674) +++ branches/release-0.94/tests/language-behaviour/strings/1031-quote.clean.sh 2014-03-10 17:09:55 UTC (rev 7675) @@ -1,4 +1,4 @@ #!/bin/bash set -x -rm -r 1031-quote-* 1031-quote.*ml 1031-quote.out || exit 1 +rm -r 1031-quote.out || exit 1 exit 0 Modified: branches/release-0.94/tests/language-behaviour/strings/1032-singlequote.clean.sh =================================================================== --- branches/release-0.94/tests/language-behaviour/strings/1032-singlequote.clean.sh 2014-03-10 15:41:54 UTC (rev 7674) +++ branches/release-0.94/tests/language-behaviour/strings/1032-singlequote.clean.sh 2014-03-10 17:09:55 UTC (rev 7675) @@ -1,4 +1,4 @@ #!/bin/bash set -x -rm -r 1032-singlequote-* 1032-singlequote.*ml 1032-singlequote.out || exit 1 +rm -r 1032-singlequote.out || exit 1 exit 0 Modified: branches/release-0.94/tests/language-behaviour/strings/1033-singlequote.clean.sh =================================================================== --- branches/release-0.94/tests/language-behaviour/strings/1033-singlequote.clean.sh 2014-03-10 15:41:54 UTC (rev 7674) +++ branches/release-0.94/tests/language-behaviour/strings/1033-singlequote.clean.sh 2014-03-10 17:09:55 UTC (rev 7675) @@ -1,4 +1,4 @@ #!/bin/bash set -x -rm -r 1033-singlequote-* 1033-singlequote.*ml 1033-singlequote.out || exit 1 +rm -r 1033-singlequote.out || exit 1 exit 0 Modified: branches/release-0.94/tests/language-behaviour/strings/141-space-in-filename.clean.sh =================================================================== --- branches/release-0.94/tests/language-behaviour/strings/141-space-in-filename.clean.sh 2014-03-10 15:41:54 UTC (rev 7674) +++ branches/release-0.94/tests/language-behaviour/strings/141-space-in-filename.clean.sh 2014-03-10 17:09:55 UTC (rev 7675) @@ -1,4 +1,4 @@ #!/bin/bash set -x -rm -r 141-space-in-filename-* 141-space-in-filename.*ml 141-space-in-filename*.out || exit 1 +rm -r 141-space-in-filename*.out || exit 1 exit 0 Modified: branches/release-0.94/tests/language-behaviour/strings/142-space-and-quotes.clean.sh =================================================================== --- branches/release-0.94/tests/language-behaviour/strings/142-space-and-quotes.clean.sh 2014-03-10 15:41:54 UTC (rev 7674) +++ branches/release-0.94/tests/language-behaviour/strings/142-space-and-quotes.clean.sh 2014-03-10 17:09:55 UTC (rev 7675) @@ -1,4 +1,4 @@ #!/bin/bash set -x -rm -r 142-space-and-quotes-* 142-space-and-quotes.*ml 142-space-and-quotes*.out || exit 1 +rm -r 142-space-and-quotes*.out || exit 1 exit 0 Modified: branches/release-0.94/tests/language-behaviour/strings/1421-space-and-quotes.clean.sh =================================================================== --- branches/release-0.94/tests/language-behaviour/strings/1421-space-and-quotes.clean.sh 2014-03-10 15:41:54 UTC (rev 7674) +++ branches/release-0.94/tests/language-behaviour/strings/1421-space-and-quotes.clean.sh 2014-03-10 17:09:55 UTC (rev 7675) @@ -1,4 +1,4 @@ #!/bin/bash set -x -rm -r 1421-space-and-quotes-* 1421-space-and-quotes.*ml 1421-space-and-quotes*.out || exit 1 +rm -r 1421-space-and-quotes*.out || exit 1 exit 0 Modified: branches/release-0.94/tests/language-behaviour/strings/143-newlines.clean.sh =================================================================== --- branches/release-0.94/tests/language-behaviour/strings/143-newlines.clean.sh 2014-03-10 15:41:54 UTC (rev 7674) +++ branches/release-0.94/tests/language-behaviour/strings/143-newlines.clean.sh 2014-03-10 17:09:55 UTC (rev 7675) @@ -1,4 +1,4 @@ #!/bin/bash set -x -rm -r 143-newlines-* 143-newlines.*ml 143-newlines.out || exit 1 +rm -r 143-newlines.out || exit 1 exit 0 Modified: branches/release-0.94/tests/language-behaviour/strings/145-url.clean.sh =================================================================== --- branches/release-0.94/tests/language-behaviour/strings/145-url.clean.sh 2014-03-10 15:41:54 UTC (rev 7674) +++ branches/release-0.94/tests/language-behaviour/strings/145-url.clean.sh 2014-03-10 17:09:55 UTC (rev 7675) @@ -1,4 +1,4 @@ #!/bin/bash set -x -rm -r 145-url-* 145-url.*ml 145-url.out || exit 1 +rm -r 145-url.out || exit 1 exit 0 Modified: branches/release-0.94/tests/language-behaviour/strings/161-star-dot.clean.sh =================================================================== --- branches/release-0.94/tests/language-behaviour/strings/161-star-dot.clean.sh 2014-03-10 15:41:54 UTC (rev 7674) +++ branches/release-0.94/tests/language-behaviour/strings/161-star-dot.clean.sh 2014-03-10 17:09:55 UTC (rev 7675) @@ -1,4 +1,4 @@ #!/bin/bash set -x -rm -r 161-star-dot-* 161-star-dot.*ml 161-star-dot.out || exit 1 +rm -r 161-star-dot.out || exit 1 exit 0 Modified: branches/release-0.94/tests/language-behaviour/variables/120-local-vars.clean.sh =================================================================== --- branches/release-0.94/tests/language-behaviour/variables/120-local-vars.clean.sh 2014-03-10 15:41:54 UTC (rev 7674) +++ branches/release-0.94/tests/language-behaviour/variables/120-local-vars.clean.sh 2014-03-10 17:09:55 UTC (rev 7675) @@ -1,4 +1,4 @@ #!/bin/bash set -x -rm -r 120-local-vars-* 120-local-vars.*ml 120-local-vars.out || exit 1 +rm -r 120-local-vars.out || exit 1 exit 0 Modified: branches/release-0.94/tests/language-behaviour/variables/121-multi-return-vars.clean.sh =================================================================== --- branches/release-0.94/tests/language-behaviour/variables/121-multi-return-vars.clean.sh 2014-03-10 15:41:54 UTC (rev 7674) +++ branches/release-0.94/tests/language-behaviour/variables/121-multi-return-vars.clean.sh 2014-03-10 17:09:55 UTC (rev 7675) @@ -1,4 +1,4 @@ #!/bin/bash set -x -rm -r 121-multi-return-vars-* 121-multi-return-vars.*ml 121-multi-return-vars.*.out || exit 1 +rm -r 121-multi-return-vars.*.out || exit 1 exit 0 Modified: branches/release-0.94/tests/language-behaviour/variables/123-global-vars.clean.sh =================================================================== --- branches/release-0.94/tests/language-behaviour/variables/123-global-vars.clean.sh 2014-03-10 15:41:54 UTC (rev 7674) +++ branches/release-0.94/tests/language-behaviour/variables/123-global-vars.clean.sh 2014-03-10 17:09:55 UTC (rev 7675) @@ -1,4 +1,4 @@ #!/bin/bash set -x -rm -r 123-global-vars-* 123-global-vars.*ml 123-global-vars.out || exit 1 +rm -r 123-global-vars.out || exit 1 exit 0 Modified: branches/release-0.94/tests/language-behaviour/variables/1232-global-separate-assign.clean.sh =================================================================== --- branches/release-0.94/tests/language-behaviour/variables/1232-global-separate-assign.clean.sh 2014-03-10 15:41:54 UTC (rev 7674) +++ branches/release-0.94/tests/language-behaviour/variables/1232-global-separate-assign.clean.sh 2014-03-10 17:09:55 UTC (rev 7675) @@ -1,4 +1,4 @@ #!/bin/bash set -x -rm -r 1232-global-separate-assign-* 1232-global-separate-assign.*ml 1232-global-separate-assign.out || exit 1 +rm -r 1232-global-separate-assign.out || exit 1 exit 0 Modified: branches/release-0.94/tests/local/tc.template.data =================================================================== --- branches/release-0.94/tests/local/tc.template.data 2014-03-10 15:41:54 UTC (rev 7674) +++ branches/release-0.94/tests/local/tc.template.data 2014-03-10 17:09:55 UTC (rev 7675) @@ -1,20 +1,2 @@ -#This is the transformation catalog. -# -#It comes pre-configured with a number of simple transformations with -#paths that are likely to work on a linux box. However, on some systems, -#the paths to these executables will be different (for example, sometimes -#some of these programs are found in /usr/bin rather than in /bin) -# -#NOTE WELL: fields in this file must be separated by tabs, not spaces; and -#there must be no trailing whitespace at the end of each line. -# -# sitename transformation path INSTALLED platform profiles -localhost echo /bin/echo INSTALLED INTEL32::LINUX null -localhost cat /bin/cat INSTALLED INTEL32::LINUX null -localhost ls /bin/ls INSTALLED INTEL32::LINUX null -localhost grep /bin/grep INSTALLED INTEL32::LINUX null -localhost sort /bin/sort INSTALLED INTEL32::LINUX null -localhost paste /bin/paste INSTALLED INTEL32::LINUX nul -localhost touch /bin/touch INSTALLED INTEL32::LINUX null - +* * * INSTALLED INTEL32::LINUX null localhost append _DIR_/append.sh INSTALLED INTEL32::LINUX null Modified: branches/release-0.94/tests/multi_remote/remote_driver.check.sh =================================================================== --- branches/release-0.94/tests/multi_remote/remote_driver.check.sh 2014-03-10 15:41:54 UTC (rev 7674) +++ branches/release-0.94/tests/multi_remote/remote_driver.check.sh 2014-03-10 17:09:55 UTC (rev 7675) @@ -1,48 +1,105 @@ #!/bin/bash +PUBLISH_LOCATION=/scratch/midway/yadunand/publish +PUBLISH_SERVER=http://swift.rcc.uchicago.edu:8042 +DATE=$(date +%H%M%S) + +[ ! -z $FROM_MAIL ] || FROM_MAIL="test-engine at swift.rcc.uchicago" +#[ ! -z $TO_MAIL ] || TO_MAIL="yadudoc1729 at gmail.com" + if [ -d "swift" ] then - rm -rf swift swift.tar + rm -rf swift swift.tar fi SITES_PASSED=`ls out/*out | wc -l` HOME=$PWD MAIL="$HOME/Mail.content" +VERSION=`grep "^Swift.*swift-.*cog.*" remote_driver.stdout | cut -d " " -f -2 | sed 's/\ /-/g' | tr '[A-Z]' '[a-z]'` +#VERSION="swift-trunk" cd out; echo "Test-Results" > $MAIL -echo "=====================================">> $MAIL +echo "==========================================================================">> $MAIL echo "Test home : $PWD" >> $MAIL echo "Sites successful : $SITES_PASSED" >> $MAIL -VERSION=`swift -version | cut -d " " -f -2 | sed 's/\ /-/g' | tr '[A-Z]' '[a-z]'` +#VERSION=`swift -version | cut -d " " -f -2 | sed 's/\ /-/g' | tr '[A-Z]' '[a-z]'` for i in `ls *tar` do - scp $i ci:~/public_html/$VERSION/ + echo "++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++">> $MAIL + #scp $i ci:~/public_html/$VERSION/ tar -xf $i - folder=`tar -tf $i | head -n 1` + folder=`tar -tf $i | head -n 1 | sed 's/\/$//'` echo "Results for site : $folder" >> $MAIL - grep "Tests run" $folder/run*/tests*html >> $MAIL - grep "Tests succeeded" $folder/run*/tests*html >> $MAIL - grep "Tests failed" $folder/run*/tests*html >> $MAIL - grep "Total Time" $folder/run*/tests*html >> $MAIL - echo "" - rm -rf $folder + + echo "GROUPS" | awk '{printf "%-40s\n", $0}' > t0 + grep "Group" $folder/tests*html | sed 's/Group\ /G/' | cut -c -40 | awk '{printf "%-40s\n", $0}' >> t0 + + echo "RUN " | awk '{printf "%-5s\n", $0}' >t1 + grep "Tests run" $folder/tests*html | sed 's/Tests\ run//' | awk '{printf "%-5s\n", $0}' >> t1 + + echo "PASS" | awk '{printf "%-5s\n", $0}' >t2 + grep "Tests succeeded" $folder/tests*html | sed 's/Tests\ succeeded.//' | awk '{printf "%-5s\n", $0}' >> t2 + + echo "FAIL" | awk '{printf "%-5s\n", $0}' >t3 + grep "Tests failed" $folder/tests*html | sed 's/Tests\ failed.//' | awk '{printf "%-5s\n", $0}' >> t3 + + echo "TIME" | awk '{printf "%-40s\n", $0}' >t4 + grep "Total Time" $folder/tests*html | sed 's/Total\ Time://' | awk '{printf "%-5s\n", $0}' >> t4 + + pr -s'|' -tm t0 t1 t2 t3 t4 >> $MAIL + rm t{0,1,2,3,4} + HTML=$(basename $(ls $folder/tests*html)) + echo "Link: $PUBLISH_SERVER/$VERSION/$folder-$DATE/$HTML" >> $MAIL + mkdir -p $PUBLISH_LOCATION/$VERSION + mv $folder $PUBLISH_LOCATION/$VERSION/$folder-$DATE done cd $HOME; cd ..; RUN_DIR=$(basename $PWD); cd ..; -mv $RUN_DIR "$RUN_DIR-local" -tar -cf Local.tar "$RUN_DIR-local" -scp Local.tar ci:~/public_html/$VERSION/ -echo "Running update and maintenance script on publish server"; -ssh ci "cd ~/public_html/$VERSION/; ./maint.sh" -mv "$RUN_DIR-local" $RUN_DIR -rm Local.tar +folder=$RUN_DIR +HTML=$(basename $(ls $folder/tests*html)) -echo "=====================================">> $MAIL -cd $HOME; +echo "++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++">> $MAIL +echo "Results for site : LOCAL at $RUN_DIR-$DATE" >> $MAIL +echo "GROUPS" | awk '{printf "%-40s\n", $0}' > t0 +grep "Group" $folder/tests*html | sed 's/Group\ /G/' | cut -c -40 | awk '{printf "%-40s\n", $0}' >> t0 + +echo "RUN " | awk '{printf "%-5s\n", $0}' >t1 +grep "Tests run" $folder/tests*html | sed 's/Tests\ run//' | awk '{printf "%-5s\n", $0}' >> t1 + +echo "PASS" | awk '{printf "%-5s\n", $0}' >t2 +grep "Tests succeeded" $folder/tests*html | sed 's/Tests\ succeeded.//' | awk '{printf "%-5s\n", $0}' >> t2 + +echo "FAIL" | awk '{printf "%-5s\n", $0}' >t3 +grep "Tests failed" $folder/tests*html | sed 's/Tests\ failed.//' | awk '{printf "%-5s\n", $0}' >> t3 + +echo "TIME" | awk '{printf "%-40s\n", $0}' >t4 +grep "Total Time" $folder/tests*html | sed 's/Total\ Time://' | awk '{printf "%-5s\n", $0}' >> t4 + +pr -s'|' -tm t0 t1 t2 t3 t4 >> $MAIL +rm t{0,1,2,3,4} + +echo "RUN_DIR = $RUN_DIR" +echo "Moving $RUN_DIR to $PUBLISH_LOCATION/$RUN_DIR-$DATE" +echo "Link: $PUBLISH_SERVER/$VERSION/$RUN_DIR-$DATE/$HTML" >> $MAIL +echo "==========================================================================">> $MAIL cat $MAIL -mailx -s "Test results from $HOSTNAME" -r $FROM_MAIL $TO_MAIL < $MAIL +echo "Mail: mailx -s \"Test results from $HOSTNAME\" -r $FROM_MAIL ${TO_MAIL[*]} < $MAIL" + +mailx -s "Test results from $HOSTNAME" -r $FROM_MAIL ${TO_MAIL[*]} < $MAIL + +cp -R $folder $PUBLISH_LOCATION/$VERSION/$RUN_DIR-$DATE & + +echo "Publishing links to CI from $MAIL" +grep -o "http.*" $MAIL | tee result_links.txt + +DATE=$(date +%Y-%m-%d) +echo "Posting result_links.txt to /ci/www/projects/swift/tests/$VERSION/run-$DATE/" +cat result_links.txt +scp result_links.txt ci:/ci/www/projects/swift/tests/$VERSION/run-$DATE/ + +exit 0 Modified: branches/release-0.94/tests/multi_remote/remote_driver.setup.sh =================================================================== --- branches/release-0.94/tests/multi_remote/remote_driver.setup.sh 2014-03-10 15:41:54 UTC (rev 7674) +++ branches/release-0.94/tests/multi_remote/remote_driver.setup.sh 2014-03-10 17:09:55 UTC (rev 7675) @@ -1,20 +1,21 @@ #!/bin/bash -#CLEAN_CHECKOUT="yes" -CLEAN_CHECKOUT="no" - -#[ ! -z $COG_URL ] || COG_URL=https://cogkit.svn.sourceforge.net/svnroot/cogkit/branches/4.1.10/src/cog -#[ ! -z $SWIFT_URL ] || SWIFT_URL=https://svn.ci.uchicago.edu/svn/vdl2/branches/release-0.94 -[ ! -z $COG_URL ] || COG_URL=https://svn.code.sf.net/p/cogkit/svn/branches/4.1.10/src/cog -[ ! -z $SWIFT_URL ] || SWIFT_URL=https://svn.ci.uchicago.edu/svn/vdl2/branches/release-0.94 -[ ! -z $SWIFT_VERSION ] || SWIFT_VERSION=0.94 +[ ! -z $COG_URL ] || COG_URL=https://svn.code.sf.net/p/cogkit/svn/branches/4.1.11/src/cog +[ ! -z $SWIFT_URL ] || SWIFT_URL=https://svn.ci.uchicago.edu/svn/vdl2/branches/release-0.95 +[ ! -z $SWIFT_VERSION ] || SWIFT_VERSION=0.95 [ ! -z $BEAGLE_USERNAME ] || BEAGLE_USERNAME="yadunandb" [ ! -z $MIDWAY_USERNAME ] || MIDWAY_USERNAME="yadunand" [ ! -z $UC3_USERNAME ] || UC3_USERNAME="yadunand" -[ ! -z $MCS_USERNAME ] || MCS_USERNAME="yadunand" +[ ! -z $MCS_USERNAME ] || MCS_USERNAME="yadunand" +[ ! -z $FUSION_USERNAME ] || FUSION_USERNAME="yadunand" +[ ! -z $BLUES_USERNAME ] || BLUES_USERNAME="yadunand" +[ ! -z $BRID_USERNAME ] || BRID_USERNAME="yadunandb" # Bridled +[ ! -z $COMM_USERNAME ] || COMM_USERNAME="yadunandb" # Communicado [ ! -z $PUBLISH_FOLDER ] || PUBLISH_FOLDER="\/home\/yadunandb\/public_html\/results" [ ! -z $SWIFT_SOURCE ] || SWIFT_SOURCE="/home/yadunand/swift" [ ! -z $RUN_TYPE ] || RUN_TYPE="daily" +[ ! -z $SWIFT_TAR_FILE ] || SWIFT_TAR_FILE="/scratch/midway/yadunand/swift-trunk.tar" +[ ! -z $CLEAN_CHECKOUT ] || CLEAN_CHECKOUT="yes" SITES="sites.xml" cp $SITES $SITES.bak @@ -23,15 +24,18 @@ cat $SITES | sed "s/UC3_USERNAME/$UC3_USERNAME/g" > tmp && mv tmp $SITES cat $SITES | sed "s/MCS_USERNAME/$MCS_USERNAME/g" > tmp && mv tmp $SITES cat $SITES | sed "s/PUBLISH_FOLDER/$PUBLISH_FOLDER/g" > tmp && mv tmp $SITES +cat $SITES | sed "s/BRID_USERNAME/$BRID_USERNAME/g" > tmp && mv tmp $SITES +cat $SITES | sed "s/COMM_USERNAME/$COMM_USERNAME/g" > tmp && mv tmp $SITES +cat $SITES | sed "s/FUSION_USERNAME/$FUSION_USERNAME/g" > tmp && mv tmp $SITES +cat $SITES | sed "s/BLUES_USERNAME/$BLUES_USERNAME/g" > tmp && mv tmp $SITES - export GLOBUS_HOSTNAME="swift.rcc.uchicago.edu" BASE=$PWD -# Make clean checkout if no swift dir is present or +# Make clean checkout if no swift dir is present or # Clean checkout requested -[ -f "/scratch/midway/yadunand/swift.tar" ] && cp /scratch/midway/yadunand/swift.tar ./ +[ -f "$SWIFT_TAR_FILE" ] && cp $SWIFT_TAR_FILE ./swift.tar if [ "$REMOTE_DRIVER_FASTSETUP" == "true" ] then @@ -39,42 +43,42 @@ else if [ -f "swift.tar" ] then - echo "Found swift.tar. Extracting.." - tar -xf swift.tar + echo "Found swift.tar. Extracting.." + tar -xf swift.tar fi - - if [ "CLEAN_CHECKOUT" == "yes" ] || [ ! -d "swift" ] + + if [ "$CLEAN_CHECKOUT" == "yes" ] || [ ! -d "swift" ] then - echo "Cleaning and making fresh checkout" - rm -rf swift &> /dev/null - mkdir swift && cd swift - svn co $COG_URL - cd cog/modules - svn co $SWIFT_URL swift - cd swift + echo "Cleaning and making fresh checkout" + rm -rf swift &> /dev/null + mkdir swift && cd swift + svn co $COG_URL + cd cog/modules + svn co $SWIFT_URL swift + cd swift else - echo "Updating Cog sources" - cd swift/ - svn up * - echo "Updating Swift sources" - cd cog/modules/swift + echo "Updating Cog sources" + cd swift/ + svn up * + echo "Updating Swift sources" + cd cog/modules/swift svn up * fi - + echo "$PWD : Starting compile" ant redist | tee $BASE/compile.log if [ "$?" != "0" ] then - echo "Swift compile failed. Cannot proceed" - exit 1 + echo "Swift compile failed. Cannot proceed" + exit 1 fi cd $BASE if [ -d "swift" ] then - tar -cf swift.tar.tmp ./swift && mv swift.tar.tmp swift.tar && echo "Tarred successfully" + tar -cf swift.tar.tmp ./swift && mv swift.tar.tmp swift.tar && echo "Tarred successfully" else - echo "Could not find swift folder to tar" + echo "Could not find swift folder to tar" fi; fi Modified: branches/release-0.94/tests/multi_remote/remote_driver.source.sh =================================================================== --- branches/release-0.94/tests/multi_remote/remote_driver.source.sh 2014-03-10 15:41:54 UTC (rev 7674) +++ branches/release-0.94/tests/multi_remote/remote_driver.source.sh 2014-03-10 17:09:55 UTC (rev 7675) @@ -2,5 +2,4 @@ if [ "$HOSTNAME" == "midway001" ] then export GLOBUS_HOSTNAME=swift.rcc.uchicago.edu - export GLOBUS_TCP_PORT_RANGE=50000,51000 fi; Modified: branches/release-0.94/tests/multi_remote/remote_driver.swift =================================================================== --- branches/release-0.94/tests/multi_remote/remote_driver.swift 2014-03-10 15:41:54 UTC (rev 7674) +++ branches/release-0.94/tests/multi_remote/remote_driver.swift 2014-03-10 17:09:55 UTC (rev 7675) @@ -9,7 +9,7 @@ file err[] ; file log[] ; -string sites[] = ["uc3", "beagle", "midway", "crush", "frisbee"]; +string sites[] = ["uc3", "beagle", "midway", "crush", "frisbee", "blues", "fusion", "bridled", "communicado"]; app (file out, file err, file log) remote_uc3 (script run, file tar) { @@ -36,6 +36,27 @@ fsb @run @filename(tar) @log stdout=@filename(out) stderr=@filename(err); } +app (file out, file err, file log) remote_blues (script run, file tar) +{ + blu @run @filename(tar) @log stdout=@filename(out) stderr=@filename(err); +} + +app (file out, file err, file log) remote_fusion (script run, file tar) +{ + fus @run @filename(tar) @log stdout=@filename(out) stderr=@filename(err); +} + +app (file out, file err, file log) remote_communicado (script run, file tar) +{ + com @run @filename(tar) @log stdout=@filename(out) stderr=@filename(err); +} + +app (file out, file err, file log) remote_bridled (script run, file tar) +{ + bri @run @filename(tar) @log stdout=@filename(out) stderr=@filename(err); +} + + app (file out, file err) publish_results (script publish, file tar, file out, file err) { pub @publish stdout=@out stderr=@err; @@ -50,21 +71,35 @@ switch(i) { - case 0: - tracef("Calling uc3\n"); - //(out[i], err[i], log[i]) = remote_uc3 (wrapper, swift_package); + case 0: + tracef("Calling uc3\n"); + (out[i], err[i], log[i]) = remote_uc3 (wrapper, swift_package); case 1: - tracef("Calling beagle \n"); - //(out[i], err[i], log[i]) = remote_beagle (wrapper, swift_package); - case 2: - tracef("Calling Midway\n"); - //(out[i], err[i], log[i]) = remote_midway (wrapper, swift_package); - case 3: - tracef("Calling thwomp on MCS\n"); - (out[i], err[i], log[i]) = remote_mcs (wrapper, swift_package); - case 4: - tracef("Skipping Frisbee on MCS (Will fail due to BUG:1030)\n"); - //(out[i], err[i], log[i]) = remote_frisbee(wrapper, swift_package); + tracef("Calling beagle \n"); + (out[i], err[i], log[i]) = remote_beagle (wrapper, swift_package); + case 2: + tracef("Skipping Midway : Tests will be run locally\n"); + (out[i], err[i], log[i]) = remote_midway (wrapper, swift_package); + case 3: + tracef("Calling thwomp on MCS\n"); + (out[i], err[i], log[i]) = remote_mcs (wrapper, swift_package); + case 4: + tracef("Skipping Frisbee on MCS (Will fail due to BUG:1030)\n"); + //(out[i], err[i], log[i]) = remote_frisbee (wrapper, swift_package); + case 5: + tracef("Calling Blues\n"); + (out[i], err[i], log[i]) = remote_blues (wrapper, swift_package); + case 6: + tracef("Calling Fusion\n"); + (out[i], err[i], log[i]) = remote_fusion (wrapper, swift_package); + case 7: + tracef("Calling Communicado\n"); + (out[i], err[i], log[i]) = remote_communicado (wrapper, swift_package); + case 8: + tracef("Calling Bridled\n"); + (out[i], err[i], log[i]) = remote_bridled (wrapper, swift_package); + + default: tracef("Fail: Unknown site %s : %i \n", site, i); } Modified: branches/release-0.94/tests/multi_remote/sites.template.xml =================================================================== --- branches/release-0.94/tests/multi_remote/sites.template.xml 2014-03-10 15:41:54 UTC (rev 7674) +++ branches/release-0.94/tests/multi_remote/sites.template.xml 2014-03-10 17:09:55 UTC (rev 7675) @@ -1,4 +1,5 @@ - + + @@ -35,7 +36,7 @@ 24 100 100 - pbs.aprun;pbs.mpp;depth=24;pbs.resource_list=advres=wilde.1768 + pbs.aprun;pbs.mpp;depth=24; 36000 01:05:00 /lustre/beagle/BEAGLE_USERNAME/swiftwork @@ -47,12 +48,47 @@ /tmp/BEAGLE_USERNAME/swiftwork + + + + 3600 + 36000 + 01:05:00 + 2 + 8 + route + 1 + 2 + 2 + 2.20 + 10000 + 1000 + 1000 + /tmp/BLUES_USERNAME/swiftwork + + + + + 4000 + 01:05:00 + 2 + 1 + 2 + 2 + shared + 5.99 + 10000 + 1000 + 1000 + /homes/FUSION_USERNAME/swiftwork + + sandyb 16 - 36000 + 36000 01:05:00 100 100 @@ -74,7 +110,7 @@ 01:05:00 100 100 - 1000 + 2 1 1 @@ -95,18 +131,42 @@ /sandbox/MCS_USERNAME/swiftwork - 8 100 100 - 3600 - 00:05:00 + 4000 + 01:05:00 0.0799 10000 /sandbox/MCS_USERNAME/swiftwork - + + + 2 + 100 + 100 + 36000 + 01:05:00 + 0.0799 + 10000 + /home/BRID_USERNAME/swiftwork + /home/BRID_USERNAME/swiftwork + + + + + 2 + 100 + 100 + 36000 + 01:05:00 + 0.0799 + 10000 + /home/COMM_USERNAME/swiftwork + /home/COMM_USERNAME/swiftwork + + Modified: branches/release-0.94/tests/multi_remote/tc.template.data =================================================================== --- branches/release-0.94/tests/multi_remote/tc.template.data 2014-03-10 15:41:54 UTC (rev 7674) +++ branches/release-0.94/tests/multi_remote/tc.template.data 2014-03-10 17:09:55 UTC (rev 7675) @@ -1,6 +1,11 @@ -beagle bgl /bin/bash null null null -uc3 uc3 /bin/bash null null null -midway mid /bin/bash null null null -mcs mcs /bin/bash null null null -local l_bash /bin/bash null null null -ci pub /bin/bash null null null \ No newline at end of file +beagle bgl /bin/bash null null null +uc3 uc3 /bin/bash null null null +midway mid /bin/bash null null null +mcs mcs /bin/bash null null null +local l_bash /bin/bash null null null +ci pub /bin/bash null null null +fusion fus /bin/bash null null null +blues blu /bin/bash null null null +frisbee fsb /bin/bash null null null +communicado com /bin/bash null null null +bridled bri /bin/bash null null null \ No newline at end of file Modified: branches/release-0.94/tests/sites/beagle/sites.template.xml =================================================================== --- branches/release-0.94/tests/sites/beagle/sites.template.xml 2014-03-10 15:41:54 UTC (rev 7674) +++ branches/release-0.94/tests/sites/beagle/sites.template.xml 2014-03-10 17:09:55 UTC (rev 7675) @@ -1,4 +1,6 @@ - + + + 24 @@ -8,10 +10,10 @@ 3700 01:00:00 /lustre/beagle/{env.USER}/swiftwork - 20 - 10 + 1 + 2 1 - 4.80 + 1.00 10000 trace Modified: branches/release-0.94/tests/sites/blues/sites.template.xml =================================================================== --- branches/release-0.94/tests/sites/blues/sites.template.xml 2014-03-10 15:41:54 UTC (rev 7674) +++ branches/release-0.94/tests/sites/blues/sites.template.xml 2014-03-10 17:09:55 UTC (rev 7675) @@ -1,15 +1,16 @@ - + + - 00:00:30 + 3600 2 8 route 1 2 2 - 2.20 + 1.00 10000 /home/{env.USER}/swiftwork Modified: branches/release-0.94/tests/sites/fusion/sites.template.xml =================================================================== --- branches/release-0.94/tests/sites/fusion/sites.template.xml 2014-03-10 15:41:54 UTC (rev 7674) +++ branches/release-0.94/tests/sites/fusion/sites.template.xml 2014-03-10 17:09:55 UTC (rev 7675) @@ -1,4 +1,6 @@ - + + + @@ -8,7 +10,7 @@ 2 2 shared - 5.99 + 1.00 10000 /homes/{env.USER}/swiftwork Modified: branches/release-0.94/tests/sites/local/sites.template.xml =================================================================== --- branches/release-0.94/tests/sites/local/sites.template.xml 2014-03-10 15:41:54 UTC (rev 7674) +++ branches/release-0.94/tests/sites/local/sites.template.xml 2014-03-10 17:09:55 UTC (rev 7675) @@ -1,7 +1,8 @@ - + + - - + + 10000 .31 _WORK_ Modified: branches/release-0.94/tests/sites/mac-frisbee/sites.template.xml =================================================================== --- branches/release-0.94/tests/sites/mac-frisbee/sites.template.xml 2014-03-10 15:41:54 UTC (rev 7674) +++ branches/release-0.94/tests/sites/mac-frisbee/sites.template.xml 2014-03-10 17:09:55 UTC (rev 7675) @@ -1,4 +1,6 @@ - + + + 8 @@ -8,6 +10,6 @@ 00:05:00 0.0799 10000 - /scratch/{env.USER}/swiftwork --> + /homes/{env.USER}/swiftwork Modified: branches/release-0.94/tests/sites/mcs/sites.template.xml =================================================================== --- branches/release-0.94/tests/sites/mcs/sites.template.xml 2014-03-10 15:41:54 UTC (rev 7674) +++ branches/release-0.94/tests/sites/mcs/sites.template.xml 2014-03-10 17:09:55 UTC (rev 7675) @@ -1,4 +1,5 @@ - + + 8 @@ -8,6 +9,7 @@ 00:05:00 0.0799 10000 + /sandbox/{env.USER}/ /sandbox/{env.USER}/swiftwork Modified: branches/release-0.94/tests/sites/midway/sites.template.xml =================================================================== --- branches/release-0.94/tests/sites/midway/sites.template.xml 2014-03-10 15:41:54 UTC (rev 7674) +++ branches/release-0.94/tests/sites/midway/sites.template.xml 2014-03-10 17:09:55 UTC (rev 7675) @@ -1,15 +1,16 @@ - + + + - + sandyb - 16 + 1 00:05:00 - 3600 - 100 - 100 - 4 + 500 + 1 1 1 + false .64 10000 /tmp/{env.USER} Modified: branches/release-0.94/tests/sites/multiple_coaster_pools/multiple_coaster_pools.setup.sh =================================================================== --- branches/release-0.94/tests/sites/multiple_coaster_pools/multiple_coaster_pools.setup.sh 2014-03-10 15:41:54 UTC (rev 7674) +++ branches/release-0.94/tests/sites/multiple_coaster_pools/multiple_coaster_pools.setup.sh 2014-03-10 17:09:55 UTC (rev 7675) @@ -1,4 +1,5 @@ #!/bin/bash cp -v ${GROUP}/hostsnsleep.sh . || exit 1 +sed -i s/\{env.USER\}/$USER/g sites.xml exit 0 Modified: branches/release-0.94/tests/sites/raven/sites.template.xml =================================================================== --- branches/release-0.94/tests/sites/raven/sites.template.xml 2014-03-10 15:41:54 UTC (rev 7674) +++ branches/release-0.94/tests/sites/raven/sites.template.xml 2014-03-10 17:09:55 UTC (rev 7675) @@ -1,18 +1,19 @@ - + + - + CI-SES000031 KEEP 24 pbs.aprun;pbs.mpp;depth=24 00:01:00 - 50 - 2 - 2 - 60.99 + 1 + 1 + 1 + 1.00 10000 - /home/users/p01537/swiftwork + /home/users/{env.USER}/swiftwork Modified: branches/release-0.94/tests/sites/stampede/sanity.setup.sh =================================================================== --- branches/release-0.94/tests/sites/stampede/sanity.setup.sh 2014-03-10 15:41:54 UTC (rev 7674) +++ branches/release-0.94/tests/sites/stampede/sanity.setup.sh 2014-03-10 17:09:55 UTC (rev 7675) @@ -1,6 +1,6 @@ #!/bin/bash -USERNAME=$STAMPEDE_USERNAME +USERNAME=$BLUES_USERNAME if [[ -z $USERNAME ]] then Modified: branches/release-0.94/tests/sites/stampede/sites.template.xml =================================================================== --- branches/release-0.94/tests/sites/stampede/sites.template.xml 2014-03-10 15:41:54 UTC (rev 7674) +++ branches/release-0.94/tests/sites/stampede/sites.template.xml 2014-03-10 17:09:55 UTC (rev 7675) @@ -1,22 +1,8 @@ - + + - - - 16 - 16 - 00:00:30 - normal - 1 - 1 - TG-MCA94P017 - .3199 - 10000 - /scratch/01503/{env.USER}/work - - - - + 16 16 @@ -27,8 +13,29 @@ TG-MCA94P017 2 10000 - /scratch/01503/{env.USER}/work + {env.SCRATCH} + + + \ No newline at end of file Modified: branches/release-0.94/tests/sites/uc3/sites.template.xml =================================================================== --- branches/release-0.94/tests/sites/uc3/sites.template.xml 2014-03-10 15:41:54 UTC (rev 7674) +++ branches/release-0.94/tests/sites/uc3/sites.template.xml 2014-03-10 17:09:55 UTC (rev 7675) @@ -1,4 +1,6 @@ - + + + 10.00 @@ -8,7 +10,7 @@ 00:30:00 100 100 - 1000 + 1 1 1 nonshared Modified: branches/release-0.94/tests/stress/IO/bagOnodes/sites.template.xml =================================================================== --- branches/release-0.94/tests/stress/IO/bagOnodes/sites.template.xml 2014-03-10 15:41:54 UTC (rev 7674) +++ branches/release-0.94/tests/stress/IO/bagOnodes/sites.template.xml 2014-03-10 17:09:55 UTC (rev 7675) @@ -1,4 +1,5 @@ - + + Modified: branches/release-0.94/tests/stress/IO/beagle/sites.template.xml =================================================================== --- branches/release-0.94/tests/stress/IO/beagle/sites.template.xml 2014-03-10 15:41:54 UTC (rev 7674) +++ branches/release-0.94/tests/stress/IO/beagle/sites.template.xml 2014-03-10 17:09:55 UTC (rev 7675) @@ -1,4 +1,5 @@ - + + 24 @@ -6,10 +7,11 @@ 100 pbs.aprun;pbs.mpp;depth=24 3700 - 01:00:00 + 00:25:00 + /lustre/beagle/{env.USER}/swiftwork - 20 - 10 + 2 + 4 1 4.80 10000 @@ -17,4 +19,4 @@ /tmp/{env.USER}/swiftwork - \ No newline at end of file + Modified: branches/release-0.94/tests/stress/IO/multiple/sites.template.xml =================================================================== --- branches/release-0.94/tests/stress/IO/multiple/sites.template.xml 2014-03-10 15:41:54 UTC (rev 7674) +++ branches/release-0.94/tests/stress/IO/multiple/sites.template.xml 2014-03-10 17:09:55 UTC (rev 7675) @@ -1,5 +1,5 @@ - - + + 10.00 @@ -24,7 +24,6 @@ 100 100 - pbs.aprun;pbs.mpp;depth=24;pbs.resource_list=advres=wilde.1768 3600 00:05:00 /lustre/beagle/{beagle.USER}/swiftwork Modified: branches/release-0.94/tests/stress/IO/uc3/sites.template.xml =================================================================== --- branches/release-0.94/tests/stress/IO/uc3/sites.template.xml 2014-03-10 15:41:54 UTC (rev 7674) +++ branches/release-0.94/tests/stress/IO/uc3/sites.template.xml 2014-03-10 17:09:55 UTC (rev 7675) @@ -1,17 +1,20 @@ - + + + 10.00 10000 1 3600 - 00:30:00 + 00:10:00 100 100 - 1000 + 2 1 1 nonshared . - \ No newline at end of file + + Modified: branches/release-0.94/tests/stress/apps/modis_beagle/modis.timeout =================================================================== --- branches/release-0.94/tests/stress/apps/modis_beagle/modis.timeout 2014-03-10 15:41:54 UTC (rev 7674) +++ branches/release-0.94/tests/stress/apps/modis_beagle/modis.timeout 2014-03-10 17:09:55 UTC (rev 7675) @@ -1 +1 @@ -999999 +600 Modified: branches/release-0.94/tests/stress/apps/modis_beagle/sites.template.xml =================================================================== --- branches/release-0.94/tests/stress/apps/modis_beagle/sites.template.xml 2014-03-10 15:41:54 UTC (rev 7674) +++ branches/release-0.94/tests/stress/apps/modis_beagle/sites.template.xml 2014-03-10 17:09:55 UTC (rev 7675) @@ -1,4 +1,6 @@ - + + + 24 @@ -8,11 +10,11 @@ 3600 00:05:00 /lustre/beagle/{env.USER}/swiftwork - 20 + 2 1 1 4.80 10000 /tmp/{env.USER}/swiftwork - \ No newline at end of file + Modified: branches/release-0.94/tests/stress/apps/modis_local/modis.timeout =================================================================== --- branches/release-0.94/tests/stress/apps/modis_local/modis.timeout 2014-03-10 15:41:54 UTC (rev 7674) +++ branches/release-0.94/tests/stress/apps/modis_local/modis.timeout 2014-03-10 17:09:55 UTC (rev 7675) @@ -1 +1 @@ -999999 +600 Modified: branches/release-0.94/tests/stress/apps/modis_local/sites.template.xml =================================================================== --- branches/release-0.94/tests/stress/apps/modis_local/sites.template.xml 2014-03-10 15:41:54 UTC (rev 7674) +++ branches/release-0.94/tests/stress/apps/modis_local/sites.template.xml 2014-03-10 17:09:55 UTC (rev 7675) @@ -1,4 +1,5 @@ - + + 4 Modified: branches/release-0.94/tests/stress/apps/modis_midway/modis.timeout =================================================================== --- branches/release-0.94/tests/stress/apps/modis_midway/modis.timeout 2014-03-10 15:41:54 UTC (rev 7674) +++ branches/release-0.94/tests/stress/apps/modis_midway/modis.timeout 2014-03-10 17:09:55 UTC (rev 7675) @@ -1 +1 @@ -999999 +600 Modified: branches/release-0.94/tests/stress/apps/modis_midway/sites.template.xml =================================================================== --- branches/release-0.94/tests/stress/apps/modis_midway/sites.template.xml 2014-03-10 15:41:54 UTC (rev 7674) +++ branches/release-0.94/tests/stress/apps/modis_midway/sites.template.xml 2014-03-10 17:09:55 UTC (rev 7675) @@ -1,13 +1,15 @@ - + + + - sandyb + westmere 16 00:05:00 3600 100 100 - 4 + 2 1 1 .64 Modified: branches/release-0.94/tests/stress/apps/modis_multiple/modis.timeout =================================================================== --- branches/release-0.94/tests/stress/apps/modis_multiple/modis.timeout 2014-03-10 15:41:54 UTC (rev 7674) +++ branches/release-0.94/tests/stress/apps/modis_multiple/modis.timeout 2014-03-10 17:09:55 UTC (rev 7675) @@ -1 +1 @@ -999999 +600 Modified: branches/release-0.94/tests/stress/apps/modis_multiple/sites.template.xml =================================================================== --- branches/release-0.94/tests/stress/apps/modis_multiple/sites.template.xml 2014-03-10 15:41:54 UTC (rev 7674) +++ branches/release-0.94/tests/stress/apps/modis_multiple/sites.template.xml 2014-03-10 17:09:55 UTC (rev 7675) @@ -1,4 +1,5 @@ - + + @@ -6,10 +7,10 @@ 10000 1 3600 - 00:05:00 + 00:10:00 100 100 - 1000 + 1 1 1 "group_friends.{uc3.USER}" @@ -26,9 +27,9 @@ pbs.aprun;pbs.mpp;depth=24;pbs.resource_list=advres=wilde.1768 3600 - 00:05:00 + 00:10:00 /lustre/beagle/{beagle.USER}/swiftwork - 5 + 1 1 1 4.80 @@ -40,11 +41,11 @@ sandyb 16 - 00:05:00 + 00:10:00 3600 100 100 - 4 + 1 1 1 .64 @@ -60,7 +61,7 @@ 3600 100 100 - 4 + 1 1 1 .48 Modified: branches/release-0.94/tests/stress/apps/modis_uc3/modis.timeout =================================================================== --- branches/release-0.94/tests/stress/apps/modis_uc3/modis.timeout 2014-03-10 15:41:54 UTC (rev 7674) +++ branches/release-0.94/tests/stress/apps/modis_uc3/modis.timeout 2014-03-10 17:09:55 UTC (rev 7675) @@ -1 +1 @@ -999999 +600 Modified: branches/release-0.94/tests/stress/apps/modis_uc3/sites.template.xml =================================================================== --- branches/release-0.94/tests/stress/apps/modis_uc3/sites.template.xml 2014-03-10 15:41:54 UTC (rev 7674) +++ branches/release-0.94/tests/stress/apps/modis_uc3/sites.template.xml 2014-03-10 17:09:55 UTC (rev 7675) @@ -1,14 +1,16 @@ - + + + 10.00 10000 1 3600 - 00:05:00 + 00:10:00 100 100 - 1000 + 1 1 1 "group_friends.{env.USER}" Modified: branches/release-0.94/tests/stress/internals/swift.properties =================================================================== --- branches/release-0.94/tests/stress/internals/swift.properties 2014-03-10 15:41:54 UTC (rev 7674) +++ branches/release-0.94/tests/stress/internals/swift.properties 2014-03-10 17:09:55 UTC (rev 7675) @@ -5,3 +5,4 @@ status.mode=provider use.provider.staging=false provider.staging.pin.swiftfiles=false +use.wrapper.staging=false \ No newline at end of file Modified: branches/release-0.94/tests/stress/internals/tc.template.data =================================================================== --- branches/release-0.94/tests/stress/internals/tc.template.data 2014-03-10 15:41:54 UTC (rev 7674) +++ branches/release-0.94/tests/stress/internals/tc.template.data 2014-03-10 17:09:55 UTC (rev 7675) @@ -1,2 +1,2 @@ local bash /bin/bash null null null - +local sleep /bin/sleep null null null Modified: branches/release-0.94/tests/stress/internals/x_foreach.swift =================================================================== --- branches/release-0.94/tests/stress/internals/x_foreach.swift 2014-03-10 15:41:54 UTC (rev 7674) +++ branches/release-0.94/tests/stress/internals/x_foreach.swift 2014-03-10 17:09:55 UTC (rev 7675) @@ -2,16 +2,16 @@ Foreach loops with variable number of loops to be called with cmdline arg -loops= -#NIGHTLY 10000 100000 +#NIGHTLY 10000 100000 #WEEKLY 1000 10000 1000000 */ -int limit = @toint(@arg("loops")); +int limit = @toint(@arg("loops")); int result[]; -foreach num, index in [1:limit:1] { +foreach num, index in [0:limit-1:1] { result[index] = index; } tracef("Result[0] = %i \n", result[0]); -tracef("Result[%i] = %i \n", limit, result[limit]); \ No newline at end of file +tracef("Result[%i] = %i \n", limit, result[limit-1]); Modified: branches/release-0.94/tests/stress/internals/x_recursion.args =================================================================== --- branches/release-0.94/tests/stress/internals/x_recursion.args 2014-03-10 15:41:54 UTC (rev 7674) +++ branches/release-0.94/tests/stress/internals/x_recursion.args 2014-03-10 17:09:55 UTC (rev 7675) @@ -1 +1 @@ --loops=10000 +-loops=1000 Modified: branches/release-0.94/tests/stress/random_fail/sites.template.xml =================================================================== --- branches/release-0.94/tests/stress/random_fail/sites.template.xml 2014-03-10 15:41:54 UTC (rev 7674) +++ branches/release-0.94/tests/stress/random_fail/sites.template.xml 2014-03-10 17:09:55 UTC (rev 7675) @@ -1,16 +1,20 @@ - - + + + + - 4 - 00:05:00 + sandyb + 16 + 36000 + 00:10:00 100 100 - 1 + 4 1 1 - 0.03 + .64 10000 - - /scratch/midway/{env.USER} + /tmp/MIDWAY_USERNAME + Modified: branches/release-0.94/tests/stress/user_profile/user.source.sh =================================================================== --- branches/release-0.94/tests/stress/user_profile/user.source.sh 2014-03-10 15:41:54 UTC (rev 7674) +++ branches/release-0.94/tests/stress/user_profile/user.source.sh 2014-03-10 17:09:55 UTC (rev 7675) @@ -4,10 +4,4 @@ export BEAGLE_USERNAME="yadunandb" export MIDWAY_USERNAME="yadunand" export MCS_USERNAME="yadunand" -export UC3_USERNAME="yadunand" - -if [ "$HOSTNAME" == "midway001" ] -then - export GLOBUS_HOSTNAME=swift.rcc.uchicago.edu - export GLOBUS_TCP_PORT_RANGE=50000,51000 -fi; \ No newline at end of file +export UC3_USERNAME="yadunand" \ No newline at end of file Modified: branches/release-0.94/tests/user_env.sh =================================================================== --- branches/release-0.94/tests/user_env.sh 2014-03-10 15:41:54 UTC (rev 7674) +++ branches/release-0.94/tests/user_env.sh 2014-03-10 17:09:55 UTC (rev 7675) @@ -1,13 +1,20 @@ export BEAGLE_USERNAME="" -export BLUES_USERNAME="" -export FUSION_USERNAME="" +export MIDWAY_USERNAME="" export MCS_USERNAME="" -export MIDWAY_USERNAME="" -export RAVEN_USERNAME="" -export STAMPEDE_USERNAME="" export UC3_USERNAME="" +export FROM_MAIL="test_engine at midway001" +export TO_MAIL="" +export KILL_JAVA="true" #Set to true to kill dead java processes -if [ $( hostname ) == "midway001" ] +# FASTSETUP skips svn updates and rebuild to speed up multi_remote.setup.sh | Can be "true" or "false" +export REMOTE_DRIVER_FASTSETUP="false" +#export SWIFT_TAR_FILE="path/to/source/tarball/" + +# Determines the groups of tests run on the remote nodes | and future behavior +# RUN_TYPE can be "daily", "weekly", "manual" (manual is undefined now) +export RUN_TYPE="daily" + +if [ "$HOSTNAME" == "midway001" ] then export GLOBUS_HOSTNAME=swift.rcc.uchicago.edu export GLOBUS_TCP_PORT_RANGE=50000,51000 Modified: tags/swift-0.94.1-RC3/tests/stress/local_cluster/sites.template.xml =================================================================== --- tags/swift-0.94.1-RC3/tests/stress/local_cluster/sites.template.xml 2014-03-10 15:41:54 UTC (rev 7674) +++ tags/swift-0.94.1-RC3/tests/stress/local_cluster/sites.template.xml 2014-03-10 17:09:55 UTC (rev 7675) @@ -22,7 +22,7 @@ 24 100 100 - pbs.aprun;pbs.mpp;depth=24;pbs.resource_list=advres=wilde.1768 + 3600 00:15:00 /lustre/beagle/{beagle.USER}/swiftwork Modified: tags/swift-0.94.1-RC3/tests/stress/local_cluster/sites.xml =================================================================== --- tags/swift-0.94.1-RC3/tests/stress/local_cluster/sites.xml 2014-03-10 15:41:54 UTC (rev 7674) +++ tags/swift-0.94.1-RC3/tests/stress/local_cluster/sites.xml 2014-03-10 17:09:55 UTC (rev 7675) @@ -9,7 +9,7 @@ 00:15:00 100 100 - 1000 + 4 1 1 "group_friends.yadunand" @@ -22,14 +22,14 @@ 24 100 100 - pbs.aprun;pbs.mpp;depth=24;pbs.resource_list=advres=wilde.1768 + 3600 00:15:00 /lustre/beagle/yadunandb/swiftwork - 5 + 4 1 1 - 4.80 + 1.00 10000 /tmp/yadunandb/swiftwork From ketan at ci.uchicago.edu Thu Mar 13 10:57:00 2014 From: ketan at ci.uchicago.edu (ketan at ci.uchicago.edu) Date: Thu, 13 Mar 2014 10:57:00 -0500 (CDT) Subject: [Swift-commit] r7704 - in SwiftApps: EPlus/examples gocat swift-galaxy Message-ID: <20140313155700.4FA329CD2B@svn.ci.uchicago.edu> Author: ketan Date: 2014-03-13 10:57:00 -0500 (Thu, 13 Mar 2014) New Revision: 7704 Added: SwiftApps/EPlus/examples/in.imf SwiftApps/gocat/locatewrap.sh Modified: SwiftApps/swift-galaxy/README Log: shuffle in readme Added: SwiftApps/EPlus/examples/in.imf =================================================================== --- SwiftApps/EPlus/examples/in.imf (rev 0) +++ SwiftApps/EPlus/examples/in.imf 2014-03-13 15:57:00 UTC (rev 7704) @@ -0,0 +1,9361 @@ + +##set1 ORIENTATION[] 20 +##set1 HEIGHT[] 1 + + +! DOE Commercial Reference Building +! Large office, new construction 90.1-2004 +! Version 1.3_5.0 +! EnergyPlus Version 5.0 +! ASHRAE Standards 90.1-2004 and 62-1999 +! +! Description: 12 story plus basement, office building. +! Form: Area = 46,320 m2 (498,588 ft2); Number of Stories = 12; Shape = rectangle, Aspect ratio = 1.5 +! Envelope: Envelope thermal properties vary with climate according to ASHRAE Standard 90.1-2004. +! Opaque constructions: mass walls; built-up flat roof (insulation above deck); slab-on-grade floor +! Windows: window-to-wall ratio = 38.0%, equal distribution of windows +! Infiltration in perimeter zones only +! = 0.4 cfm/ft2 above grade wall area at 0.3 in wc (75 Pa) adjusted to 0.016 in wc (4 Pa). +! 25% of full value when ventilation system on. +! HVAC: 2 water-cooled chillers, VAV with reheat and plenum zones +! Economizer per 90.1-2004 +! +! Int. gains: lights = 10.76 W/m2 (1.0 W/ft2) (building area method); +! elec. plug loads = 10.76 W/m2 (1.0 W/ft2) +! gas plug load = 0 W/m2 (0 W/ft2) +! people = 2,397 total, 5.38/100 m2 (5.0/1000 ft2); basement 2.69/100 m2 (2.5/1000 ft2) +! elevators = 12 @ 25 HP each, 91% motor efficiency, motor heat exhausted directly +! +! Detached Shading: None +! Daylight: None +! Natural Ventilation: None +! Zonal Equipment: None +! Air Primary Loops: VAV WITH REHEAT +! Plant Loops: SHWSys1, HeatSys1, CoolSys1, TowerWaterSys +! System Equipment Autosize: Yes +! Purchased Cooling: None +! Purchased Heating: None +! Coils: Coil:Cooling:Water; Coil:Heating:Water +! Pumps: Yes +! Boilers: Boiler:HotWater (gas-fired) +! Chillers: Chiller:Electric:ReformulatedEIR (water-cooled) +!***** NOTICE ***** +!***** The Reference Buildings were prepared as an account of work sponsored by an ***** +!***** agency of the United States government. Neither the United States ***** +!***** government nor any agency thereof, nor any of their employees, makes ***** +!***** any warranty, express or implied, or assumes any legal liability or ***** +!***** responsibility for the accuracy, completeness, or usefulness of any ***** +!***** information, apparatus, product, or process disclosed, or represents ***** +!***** that its use would not infringe privately owned rights. Reference ***** +!***** herein to any specific commercial product, process, or service by ***** +!***** trade name, trademark, manufacturer, or otherwise does not necessarily ***** +!***** constitute or imply its endorsement, recommendation, or favoring by ***** +!***** the United States government or any agency thereof. The views and ***** +!***** opinions of authors expressed herein do not necessarily state or ***** +!***** reflect those of the United States government or any agency thereof. ***** +!***** Access to and use of the Reference Buildings imposes the following obligations ***** +!***** on the user. The user agrees to credit DOE, NREL, PNNL, and LBNL in ***** +!***** any publication(s) that that result from the use of Reference Buildings. ***** +!***** However, the names of DOE/NREL/PNNL/LBNL may not be used in any ***** +!***** advertising or publicity that implies endorsement or promotion of any ***** +!***** products, services or commercial entities. ***** +! Reference citation for the Commercial Reference Buildings: +! Deru, M.; Field, K.; Studer, D.; Benne, K.; Griffith, B.; Torcellini, P; +! Halverson, M.; Winiarski, D.; Liu, B.; Rosenberg, M.; Huang, J.; +! Yazdanian, M.; Crawley, D. (2010). +! U.S. Department of Energy Commercial Reference Building Models of the National Building Stock. +! Washington, DC: U.S. Department of Energy, Energy Efficiency and +! Renewable Energy, Office of Building Technologies. +! ***GENERAL SIMULATION PARAMETERS*** +! Number of Zones: 19 + + + Version,8.0; + + SimulationControl, + YES, !- Do Zone Sizing Calculation + YES, !- Do System Sizing Calculation + YES, !- Do Plant Sizing Calculation + NO, !- Run Simulation for Sizing Periods + YES; !- Run Simulation for Weather File Run Periods + + Building, + Ref Bldg Large Office New2004_v1.3_5.0, !- Name + ORIENTATION[], !- North Axis {deg} + City, !- Terrain + 0.0400, !- Loads Convergence Tolerance Value + 0.2000, !- Temperature Convergence Tolerance Value {deltaC} + FullInteriorAndExterior, !- Solar Distribution + 25, !- Maximum Number of Warmup Days + 6; !- Minimum Number of Warmup Days + + RunPeriod, + , !- Name + 1, !- Begin Month + 1, !- Begin Day of Month + 12, !- End Month + 31, !- End Day of Month + Sunday, !- Day of Week for Start Day + No, !- Use Weather File Holidays and Special Days + No, !- Use Weather File Daylight Saving Period + No, !- Apply Weekend Holiday Rule + Yes, !- Use Weather File Rain Indicators + Yes, !- Use Weather File Snow Indicators + 1.0000; !- Number of Times Runperiod to be Repeated + +! ***HOLIDAYS & DAYLIGHT SAVINGS*** + + RunPeriodControl:DaylightSavingTime, + 2nd Sunday in March, !- Start Date + 1st Sunday in November; !- End Date + + RunPeriodControl:SpecialDays, + New Years Day, !- Name + January 1, !- Start Date + 1, !- Duration {days} + Holiday; !- Special Day Type + + RunPeriodControl:SpecialDays, + Veterans Day, !- Name + November 11, !- Start Date + 1, !- Duration {days} + Holiday; !- Special Day Type + + RunPeriodControl:SpecialDays, + Christmas, !- Name + December 25, !- Start Date + 1, !- Duration {days} + Holiday; !- Special Day Type + + RunPeriodControl:SpecialDays, + Independence Day, !- Name + July 4, !- Start Date + 1, !- Duration {days} + Holiday; !- Special Day Type + + RunPeriodControl:SpecialDays, + MLK Day, !- Name + 3rd Monday in January, !- Start Date + 1, !- Duration {days} + Holiday; !- Special Day Type + + RunPeriodControl:SpecialDays, + Presidents Day, !- Name + 3rd Monday in February, !- Start Date + 1, !- Duration {days} + Holiday; !- Special Day Type + + RunPeriodControl:SpecialDays, + Memorial Day, !- Name + Last Monday in May, !- Start Date + 1, !- Duration {days} + Holiday; !- Special Day Type + + RunPeriodControl:SpecialDays, + Labor Day, !- Name + 1st Monday in September, !- Start Date + 1, !- Duration {days} + Holiday; !- Special Day Type + + RunPeriodControl:SpecialDays, + Columbus Day, !- Name + 2nd Monday in October, !- Start Date + 1, !- Duration {days} + Holiday; !- Special Day Type + + RunPeriodControl:SpecialDays, + Thanksgiving, !- Name + 4th Thursday in November,!- Start Date + 1, !- Duration {days} + Holiday; !- Special Day Type + +! ***SCHEDULE TYPES*** + + ScheduleTypeLimits, + Any Number; !- Name + + ScheduleTypeLimits, + Fraction, !- Name + 0.0, !- Lower Limit Value + 1.0, !- Upper Limit Value + CONTINUOUS; !- Numeric Type + + ScheduleTypeLimits, + Temperature, !- Name + -60, !- Lower Limit Value + 200, !- Upper Limit Value + CONTINUOUS; !- Numeric Type + + ScheduleTypeLimits, + On/Off, !- Name + 0, !- Lower Limit Value + 1, !- Upper Limit Value + DISCRETE; !- Numeric Type + + ScheduleTypeLimits, + Control Type, !- Name + 0, !- Lower Limit Value + 4, !- Upper Limit Value + DISCRETE; !- Numeric Type + + ScheduleTypeLimits, + Humidity, !- Name + 10, !- Lower Limit Value + 90, !- Upper Limit Value + CONTINUOUS; !- Numeric Type + + ScheduleTypeLimits, + Number; !- Name + +! ***ALWAYS ON SCHEDULE*** + + Schedule:Compact, + ALWAYS_ON, !- Name + On/Off, !- Schedule Type Limits Name + Through: 12/31, !- Field 1 + For: AllDays, !- Field 2 + Until: 24:00,1; !- Field 3 + +! ***MISC SIMULATION PARAMETERS*** + + SurfaceConvectionAlgorithm:Inside,TARP; + + SurfaceConvectionAlgorithm:Outside,DOE-2; + + HeatBalanceAlgorithm,ConductionTransferFunction,200.0000; + + ZoneAirHeatBalanceAlgorithm, + AnalyticalSolution; !- Algorithm + + Sizing:Parameters, + 1.33, !- Heating Sizing Factor + 1.33, !- Cooling Sizing Factor + 6; !- Timesteps in Averaging Window + + ConvergenceLimits, + 2, !- Minimum System Timestep {minutes} + 25; !- Maximum HVAC Iterations + + ShadowCalculation, + AverageOverDaysInFrequency, !- Calculation Method + 7, !- Calculation Frequency + 15000; !- Maximum Figures in Shadow Overlap Calculations + + Timestep,6; + +! WeatherFileName=USA_IL_Chicago-OHare_TMY2.epw + + Site:Location, + USA IL-CHICAGO-OHARE, !- Name + 41.77, !- Latitude {deg} + -87.75, !- Longitude {deg} + -6.00, !- Time Zone {hr} + 190; !- Elevation {m} + +! CHICAGO_IL_USA Annual Heating 99.6%, MaxDB=-20.6?C + + SizingPeriod:DesignDay, + CHICAGO Ann Htg 99.6% Condns DB, !- Name + 1, !- Month + 21, !- Day of Month + WinterDesignDay, !- Day Type + -20.6, !- Maximum Dry-Bulb Temperature {C} + 0.0, !- Daily Dry-Bulb Temperature Range {deltaC} + , !- Dry-Bulb Temperature Range Modifier Type + , !- Dry-Bulb Temperature Range Modifier Day Schedule Name + Wetbulb, !- Humidity Condition Type + -20.6, !- Wetbulb or DewPoint at Maximum Dry-Bulb {C} + , !- Humidity Condition Day Schedule Name + , !- Humidity Ratio at Maximum Dry-Bulb {kgWater/kgDryAir} + , !- Enthalpy at Maximum Dry-Bulb {J/kg} + , !- Daily Wet-Bulb Temperature Range {deltaC} + 99063., !- Barometric Pressure {Pa} + 4.9, !- Wind Speed {m/s} + 270, !- Wind Direction {deg} + No, !- Rain Indicator + No, !- Snow Indicator + No, !- Daylight Saving Time Indicator + ASHRAEClearSky, !- Solar Model Indicator + , !- Beam Solar Day Schedule Name + , !- Diffuse Solar Day Schedule Name + , !- ASHRAE Clear Sky Optical Depth for Beam Irradiance (taub) {dimensionless} + , !- ASHRAE Clear Sky Optical Depth for Diffuse Irradiance (taud) {dimensionless} + 0.00; !- Sky Clearness + +! CHICAGO_IL_USA Annual Cooling (WB=>MDB) .4%, MDB=31.2?C WB=25.5?C + + SizingPeriod:DesignDay, + CHICAGO Ann Clg .4% Condns WB=>MDB, !- Name + 7, !- Month + 21, !- Day of Month + SummerDesignDay, !- Day Type + 31.2, !- Maximum Dry-Bulb Temperature {C} + 10.7, !- Daily Dry-Bulb Temperature Range {deltaC} + , !- Dry-Bulb Temperature Range Modifier Type + , !- Dry-Bulb Temperature Range Modifier Day Schedule Name + Wetbulb, !- Humidity Condition Type + 25.5, !- Wetbulb or DewPoint at Maximum Dry-Bulb {C} + , !- Humidity Condition Day Schedule Name + , !- Humidity Ratio at Maximum Dry-Bulb {kgWater/kgDryAir} + , !- Enthalpy at Maximum Dry-Bulb {J/kg} + , !- Daily Wet-Bulb Temperature Range {deltaC} + 99063., !- Barometric Pressure {Pa} + 5.3, !- Wind Speed {m/s} + 230, !- Wind Direction {deg} + No, !- Rain Indicator + No, !- Snow Indicator + No, !- Daylight Saving Time Indicator + ASHRAEClearSky, !- Solar Model Indicator + , !- Beam Solar Day Schedule Name + , !- Diffuse Solar Day Schedule Name + , !- ASHRAE Clear Sky Optical Depth for Beam Irradiance (taub) {dimensionless} + , !- ASHRAE Clear Sky Optical Depth for Diffuse Irradiance (taud) {dimensionless} + 1.00; !- Sky Clearness + + Site:WaterMainsTemperature, + CORRELATION, !- Calculation Method + , !- Temperature Schedule Name + 9.69, !- Annual Average Outdoor Air Temperature {C} + 28.10; !- Maximum Difference In Monthly Average Outdoor Air Temperatures {deltaC} + + Site:GroundTemperature:BuildingSurface,19.527,19.502,19.536,19.598,20.002,21.640,22.225,22.375,21.449,20.121,19.802,19.633; + +! ***OPAQUE CONSTRUCTIONS AND MATERIALS*** +! Exterior Walls + + Construction, + Mass Non-res Ext Wall, !- Name + 1IN Stucco, !- Outside Layer + 8IN Concrete HW, !- Layer 2 + Mass NonRes Wall Insulation, !- Layer 3 + 1/2IN Gypsum; !- Layer 4 + + Material, + Mass NonRes Wall Insulation, !- Name + MediumRough, !- Roughness + 0.0495494599433393, !- Thickness {m} + 0.049, !- Conductivity {W/m-K} + 265.0000, !- Density {kg/m3} + 836.8000, !- Specific Heat {J/kg-K} + 0.9000, !- Thermal Absorptance + 0.7000, !- Solar Absorptance + 0.7000; !- Visible Absorptance + +! Roof + + Construction, + IEAD Non-res Roof, !- Name + Roof Membrane, !- Outside Layer + IEAD NonRes Roof Insulation, !- Layer 2 + Metal Decking; !- Layer 3 + + Material, + IEAD NonRes Roof Insulation, !- Name + MediumRough, !- Roughness + 0.127338688569477, !- Thickness {m} + 0.049, !- Conductivity {W/m-K} + 265.0000, !- Density {kg/m3} + 836.8000, !- Specific Heat {J/kg-K} + 0.9000, !- Thermal Absorptance + 0.7000, !- Solar Absorptance + 0.7000; !- Visible Absorptance + +! Slab on grade, unheated + + Construction, + ext-slab, !- Name + HW CONCRETE, !- Outside Layer + CP02 CARPET PAD; !- Layer 2 + +! Interior Walls + + Construction, + int-walls, !- Name + 1/2IN Gypsum, !- Outside Layer + 1/2IN Gypsum; !- Layer 2 + +! Interior Floors + + Construction, + INT-FLOOR-TOPSIDE, !- Name + MAT-CC05 4 HW CONCRETE, !- Outside Layer + CP02 CARPET PAD; !- Layer 2 + + Construction, + INT-FLOOR-UNDERSIDE, !- Name + CP02 CARPET PAD, !- Outside Layer + MAT-CC05 4 HW CONCRETE; !- Layer 2 + + Construction, + Underground Wall Non-res,!- Name + 8IN Concrete HW, !- Outside Layer + UGWall NonRes Insulation;!- Layer 2 + + Material, + UGWall NonRes Insulation,!- Name + MediumRough, !- Roughness + 0.0001, !- Thickness {m} + 0.049, !- Conductivity {W/m-K} + 265.0000, !- Density {kg/m3} + 836.8000, !- Specific Heat {J/kg-K} + 0.9000, !- Thermal Absorptance + 0.7000, !- Solar Absorptance + 0.7000; !- Visible Absorptance + +! ***WINDOW/DOOR CONSTRUCTIONS AND MATERIALS*** + + Construction, + Window Non-res Fixed, !- Name + NonRes Fixed Assembly Window; !- Outside Layer + + WindowMaterial:SimpleGlazingSystem, + NonRes Fixed Assembly Window, !- Name + 3.23646, !- U-Factor {W/m2-K} + 0.39, !- Solar Heat Gain Coefficient + ; !- Visible Transmittance + +! ***COMMON CONSTRUCTIONS AND MATERIALS*** + + Construction, + DropCeiling, !- Name + Std AC02; !- Outside Layer + + Construction, + AIR-WALL, !- Name + MAT-AIR-WALL; !- Outside Layer + + Construction, + InteriorFurnishings, !- Name + Std Wood 6inch; !- Outside Layer + + Material, + Std Wood 6inch, !- Name + MediumSmooth, !- Roughness + 0.15, !- Thickness {m} + 0.12, !- Conductivity {W/m-K} + 540.0000, !- Density {kg/m3} + 1210, !- Specific Heat {J/kg-K} + 0.9000000, !- Thermal Absorptance + 0.7000000, !- Solar Absorptance + 0.7000000; !- Visible Absorptance + + Material, + Wood Siding, !- Name + MediumSmooth, !- Roughness + 0.0100, !- Thickness {m} + 0.1100, !- Conductivity {W/m-K} + 544.6200, !- Density {kg/m3} + 1210.0000, !- Specific Heat {J/kg-K} + 0.9000, !- Thermal Absorptance + 0.7800, !- Solar Absorptance + 0.7800; !- Visible Absorptance + + Material, + 1/2IN Gypsum, !- Name + Smooth, !- Roughness + 0.0127, !- Thickness {m} + 0.1600, !- Conductivity {W/m-K} + 784.9000, !- Density {kg/m3} + 830.0000, !- Specific Heat {J/kg-K} + 0.9000, !- Thermal Absorptance + 0.9200, !- Solar Absorptance + 0.9200; !- Visible Absorptance + + Material, + 1IN Stucco, !- Name + Smooth, !- Roughness + 0.0253, !- Thickness {m} + 0.6918, !- Conductivity {W/m-K} + 1858.0000, !- Density {kg/m3} + 837.0000, !- Specific Heat {J/kg-K} + 0.9000, !- Thermal Absorptance + 0.9200, !- Solar Absorptance + 0.9200; !- Visible Absorptance + + Material, + 8IN CONCRETE HW, !- Name + Rough, !- Roughness + 0.2032, !- Thickness {m} + 1.3110, !- Conductivity {W/m-K} + 2240.0000, !- Density {kg/m3} + 836.8000, !- Specific Heat {J/kg-K} + 0.9000, !- Thermal Absorptance + 0.7000, !- Solar Absorptance + 0.7000; !- Visible Absorptance + + Material, + Metal Siding, !- Name + Smooth, !- Roughness + 0.0015, !- Thickness {m} + 44.9600, !- Conductivity {W/m-K} + 7688.8600, !- Density {kg/m3} + 410.0000, !- Specific Heat {J/kg-K} + 0.9000, !- Thermal Absorptance + 0.2000, !- Solar Absorptance + 0.2000; !- Visible Absorptance + + Material, + HW CONCRETE, !- Name + Rough, !- Roughness + 0.1016, !- Thickness {m} + 1.3110, !- Conductivity {W/m-K} + 2240.0000, !- Density {kg/m3} + 836.8000, !- Specific Heat {J/kg-K} + 0.9000, !- Thermal Absorptance + 0.7000, !- Solar Absorptance + 0.7000; !- Visible Absorptance + + Material:NoMass, + CP02 CARPET PAD, !- Name + VeryRough, !- Roughness + 0.2165, !- Thermal Resistance {m2-K/W} + 0.9000, !- Thermal Absorptance + 0.7000, !- Solar Absorptance + 0.8000; !- Visible Absorptance + + Material, + Roof Membrane, !- Name + VeryRough, !- Roughness + 0.0095, !- Thickness {m} + 0.1600, !- Conductivity {W/m-K} + 1121.2900, !- Density {kg/m3} + 1460.0000, !- Specific Heat {J/kg-K} + 0.9000, !- Thermal Absorptance + 0.7000, !- Solar Absorptance + 0.7000; !- Visible Absorptance + + Material, + Metal Decking, !- Name + MediumSmooth, !- Roughness + 0.0015, !- Thickness {m} + 45.0060, !- Conductivity {W/m-K} + 7680.0000, !- Density {kg/m3} + 418.4000, !- Specific Heat {J/kg-K} + 0.9000, !- Thermal Absorptance + 0.7000, !- Solar Absorptance + 0.3000; !- Visible Absorptance + + Material, + Metal Roofing, !- Name + MediumSmooth, !- Roughness + 0.0015, !- Thickness {m} + 45.0060, !- Conductivity {W/m-K} + 7680.0000, !- Density {kg/m3} + 418.4000, !- Specific Heat {J/kg-K} + 0.9000, !- Thermal Absorptance + 0.7000, !- Solar Absorptance + 0.3000; !- Visible Absorptance + + Material, + MAT-CC05 4 HW CONCRETE, !- Name + Rough, !- Roughness + 0.1016, !- Thickness {m} + 1.3110, !- Conductivity {W/m-K} + 2240.0000, !- Density {kg/m3} + 836.8000, !- Specific Heat {J/kg-K} + 0.9000, !- Thermal Absorptance + 0.7000, !- Solar Absorptance + 0.7000; !- Visible Absorptance + +! Acoustic tile for drop ceiling + + Material, + Std AC02, !- Name + MediumSmooth, !- Roughness + 1.2700000E-02, !- Thickness {m} + 5.7000000E-02, !- Conductivity {W/m-K} + 288.0000, !- Density {kg/m3} + 1339.000, !- Specific Heat {J/kg-K} + 0.9000000, !- Thermal Absorptance + 0.7000000, !- Solar Absorptance + 0.2000000; !- Visible Absorptance + + Material:NoMass, + MAT-AIR-WALL, !- Name + Rough, !- Roughness + 0.2079491, !- Thermal Resistance {m2-K/W} + 0.9, !- Thermal Absorptance + 0.7; !- Solar Absorptance + +! ZONE LIST: +! Basement +! Core_bottom +! Core_mid (mult=10) +! Core_top +! GroundFloor_Plenum +! MidFloor_Plenum (mult=10) +! Perimeter_bot_ZN_1 +! Perimeter_bot_ZN_2 +! Perimeter_bot_ZN_3 +! Perimeter_bot_ZN_4 +! Perimeter_mid_ZN_1 (mult=10) +! Perimeter_mid_ZN_2 (mult=10) +! Perimeter_mid_ZN_3 (mult=10) +! Perimeter_mid_ZN_4 (mult=10) +! Perimeter_top_ZN_1 +! Perimeter_top_ZN_2 +! Perimeter_top_ZN_3 +! Perimeter_top_ZN_4 +! TopFloor_Plenum +! ***ZONES*** + + Zone, + Basement, !- Name + 0.0000, !- Direction of Relative North {deg} + 0.0000, !- X Origin {m} + 0.0400, !- Y Origin {m} + 0.2000, !- Z Origin {m} + 1, !- Type + 1, !- Multiplier + , !- Ceiling Height {m} + , !- Volume {m3} + autocalculate, !- Floor Area {m2} + , !- Zone Inside Convection Algorithm + , !- Zone Outside Convection Algorithm + Yes; !- Part of Total Floor Area + + Zone, + Core_bottom, !- Name + 0.0000, !- Direction of Relative North {deg} + 0.0000, !- X Origin {m} + 0.0000, !- Y Origin {m} + 0.0000, !- Z Origin {m} + 1, !- Type + 1, !- Multiplier + , !- Ceiling Height {m} + , !- Volume {m3} + autocalculate, !- Floor Area {m2} + , !- Zone Inside Convection Algorithm + , !- Zone Outside Convection Algorithm + Yes; !- Part of Total Floor Area + + Zone, + Core_mid, !- Name + 0.0000, !- Direction of Relative North {deg} + 0.0000, !- X Origin {m} + 0.0000, !- Y Origin {m} + 0.0000, !- Z Origin {m} + 1, !- Type + HEIGHT[], !- Multiplier + , !- Ceiling Height {m} + , !- Volume {m3} + autocalculate, !- Floor Area {m2} + , !- Zone Inside Convection Algorithm + , !- Zone Outside Convection Algorithm + Yes; !- Part of Total Floor Area + + Zone, + Core_top, !- Name + 0.0000, !- Direction of Relative North {deg} + 0.0000, !- X Origin {m} + 0.0000, !- Y Origin {m} + 0.0000, !- Z Origin {m} + 1, !- Type + 1, !- Multiplier + , !- Ceiling Height {m} + , !- Volume {m3} + autocalculate, !- Floor Area {m2} + , !- Zone Inside Convection Algorithm + , !- Zone Outside Convection Algorithm + Yes; !- Part of Total Floor Area + + Zone, + GroundFloor_Plenum, !- Name + 0.0000, !- Direction of Relative North {deg} + 0.0000, !- X Origin {m} + 0.0000, !- Y Origin {m} + 0.0000, !- Z Origin {m} + 1, !- Type + 1, !- Multiplier + , !- Ceiling Height {m} + , !- Volume {m3} + autocalculate, !- Floor Area {m2} + , !- Zone Inside Convection Algorithm + , !- Zone Outside Convection Algorithm + No; !- Part of Total Floor Area + + Zone, + MidFloor_Plenum, !- Name + 0.0000, !- Direction of Relative North {deg} + 0.0000, !- X Origin {m} + 0.0000, !- Y Origin {m} + 0.0000, !- Z Origin {m} + 1, !- Type + HEIGHT[], !- Multiplier + , !- Ceiling Height {m} + , !- Volume {m3} + autocalculate, !- Floor Area {m2} + , !- Zone Inside Convection Algorithm + , !- Zone Outside Convection Algorithm + No; !- Part of Total Floor Area + + Zone, + Perimeter_bot_ZN_1, !- Name + 0.0000, !- Direction of Relative North {deg} + 0.0000, !- X Origin {m} + 0.0000, !- Y Origin {m} + 0.0000, !- Z Origin {m} + 1, !- Type + 1, !- Multiplier + , !- Ceiling Height {m} + , !- Volume {m3} + autocalculate, !- Floor Area {m2} + , !- Zone Inside Convection Algorithm + , !- Zone Outside Convection Algorithm + Yes; !- Part of Total Floor Area + + Zone, + Perimeter_bot_ZN_2, !- Name + 0.0000, !- Direction of Relative North {deg} + 0.0000, !- X Origin {m} + 0.0000, !- Y Origin {m} + 0.0000, !- Z Origin {m} + 1, !- Type + 1, !- Multiplier + , !- Ceiling Height {m} + , !- Volume {m3} + autocalculate, !- Floor Area {m2} + , !- Zone Inside Convection Algorithm + , !- Zone Outside Convection Algorithm + Yes; !- Part of Total Floor Area + + Zone, + Perimeter_bot_ZN_3, !- Name + 0.0000, !- Direction of Relative North {deg} + 0.0000, !- X Origin {m} + 0.0000, !- Y Origin {m} + 0.0000, !- Z Origin {m} + 1, !- Type + 1, !- Multiplier + , !- Ceiling Height {m} + , !- Volume {m3} + autocalculate, !- Floor Area {m2} + , !- Zone Inside Convection Algorithm + , !- Zone Outside Convection Algorithm + Yes; !- Part of Total Floor Area + + Zone, + Perimeter_bot_ZN_4, !- Name + 0.0000, !- Direction of Relative North {deg} + 0.0000, !- X Origin {m} + 0.0000, !- Y Origin {m} + 0.0000, !- Z Origin {m} + 1, !- Type + 1, !- Multiplier + , !- Ceiling Height {m} + , !- Volume {m3} + autocalculate, !- Floor Area {m2} + , !- Zone Inside Convection Algorithm + , !- Zone Outside Convection Algorithm + Yes; !- Part of Total Floor Area + + Zone, + Perimeter_mid_ZN_1, !- Name + 0.0000, !- Direction of Relative North {deg} + 0.0000, !- X Origin {m} + 0.0000, !- Y Origin {m} + 0.0000, !- Z Origin {m} + 1, !- Type + HEIGHT[], !- Multiplier HEIGHT[] + , !- Ceiling Height {m} + , !- Volume {m3} + autocalculate, !- Floor Area {m2} + , !- Zone Inside Convection Algorithm + , !- Zone Outside Convection Algorithm + Yes; !- Part of Total Floor Area + + Zone, + Perimeter_mid_ZN_2, !- Name + 0.0000, !- Direction of Relative North {deg} + 0.0000, !- X Origin {m} + 0.0000, !- Y Origin {m} + 0.0000, !- Z Origin {m} + 1, !- Type + HEIGHT[], !- Multiplier + , !- Ceiling Height {m} + , !- Volume {m3} + autocalculate, !- Floor Area {m2} + , !- Zone Inside Convection Algorithm + , !- Zone Outside Convection Algorithm + Yes; !- Part of Total Floor Area + + Zone, + Perimeter_mid_ZN_3, !- Name + 0.0000, !- Direction of Relative North {deg} + 0.0000, !- X Origin {m} + 0.0000, !- Y Origin {m} + 0.0000, !- Z Origin {m} + 1, !- Type + HEIGHT[], !- Multiplier + , !- Ceiling Height {m} + , !- Volume {m3} + autocalculate, !- Floor Area {m2} + , !- Zone Inside Convection Algorithm + , !- Zone Outside Convection Algorithm + Yes; !- Part of Total Floor Area + + Zone, + Perimeter_mid_ZN_4, !- Name + 0.0000, !- Direction of Relative North {deg} + 0.0000, !- X Origin {m} + 0.0000, !- Y Origin {m} + 0.0000, !- Z Origin {m} + 1, !- Type + HEIGHT[], !- Multiplier + , !- Ceiling Height {m} + , !- Volume {m3} + autocalculate, !- Floor Area {m2} + , !- Zone Inside Convection Algorithm + , !- Zone Outside Convection Algorithm + Yes; !- Part of Total Floor Area + + Zone, + Perimeter_top_ZN_1, !- Name + 0.0000, !- Direction of Relative North {deg} + 0.0000, !- X Origin {m} + 0.0000, !- Y Origin {m} + 0.0000, !- Z Origin {m} + 1, !- Type + 1, !- Multiplier + , !- Ceiling Height {m} + , !- Volume {m3} + autocalculate, !- Floor Area {m2} + , !- Zone Inside Convection Algorithm + , !- Zone Outside Convection Algorithm + Yes; !- Part of Total Floor Area + + Zone, + Perimeter_top_ZN_2, !- Name + 0.0000, !- Direction of Relative North {deg} + 0.0000, !- X Origin {m} + 0.0000, !- Y Origin {m} + 0.0000, !- Z Origin {m} + 1, !- Type + 1, !- Multiplier + , !- Ceiling Height {m} + , !- Volume {m3} + autocalculate, !- Floor Area {m2} + , !- Zone Inside Convection Algorithm + , !- Zone Outside Convection Algorithm + Yes; !- Part of Total Floor Area + + Zone, + Perimeter_top_ZN_3, !- Name + 0.0000, !- Direction of Relative North {deg} + 0.0000, !- X Origin {m} + 0.0000, !- Y Origin {m} + 0.0000, !- Z Origin {m} + 1, !- Type + 1, !- Multiplier + , !- Ceiling Height {m} + , !- Volume {m3} + autocalculate, !- Floor Area {m2} + , !- Zone Inside Convection Algorithm + , !- Zone Outside Convection Algorithm + Yes; !- Part of Total Floor Area + + Zone, + Perimeter_top_ZN_4, !- Name + 0.0000, !- Direction of Relative North {deg} + 0.0000, !- X Origin {m} + 0.0000, !- Y Origin {m} + 0.0000, !- Z Origin {m} + 1, !- Type + 1, !- Multiplier + , !- Ceiling Height {m} + , !- Volume {m3} + autocalculate, !- Floor Area {m2} + , !- Zone Inside Convection Algorithm + , !- Zone Outside Convection Algorithm + Yes; !- Part of Total Floor Area + + Zone, + TopFloor_Plenum, !- Name + 0.0000, !- Direction of Relative North {deg} + 0.0000, !- X Origin {m} + 0.0000, !- Y Origin {m} + 0.0000, !- Z Origin {m} + 1, !- Type + 1, !- Multiplier + , !- Ceiling Height {m} + , !- Volume {m3} + autocalculate, !- Floor Area {m2} + , !- Zone Inside Convection Algorithm + , !- Zone Outside Convection Algorithm + No; !- Part of Total Floor Area + +! ***WALLS*** + + BuildingSurface:Detailed, + Basement_Ceiling_1, !- Name + Ceiling, !- Surface Type + INT-FLOOR-UNDERSIDE, !- Construction Name + Basement, !- Zone Name + Surface, !- Outside Boundary Condition + Perimeter_bot_ZN_1_Floor,!- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + AutoCalculate, !- View Factor to Ground + 4, !- Number of Vertices + 4.5732,4.5732,0.0000, !- X,Y,Z ==> Vertex 1 {m} + 0.0000,0.0000,0.0000, !- X,Y,Z ==> Vertex 2 {m} + 73.1072,0.0000,0.0000, !- X,Y,Z ==> Vertex 3 {m} + 68.5340,4.5732,0.0000; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Basement_Ceiling_2, !- Name + Ceiling, !- Surface Type + INT-FLOOR-UNDERSIDE, !- Construction Name + Basement, !- Zone Name + Surface, !- Outside Boundary Condition + Perimeter_bot_ZN_2_Floor,!- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + AutoCalculate, !- View Factor to Ground + 4, !- Number of Vertices + 68.5340,4.5732,0.0000, !- X,Y,Z ==> Vertex 1 {m} + 73.1072,0.0000,0.0000, !- X,Y,Z ==> Vertex 2 {m} + 73.1072,48.7381,0.0000, !- X,Y,Z ==> Vertex 3 {m} + 68.5340,44.1650,0.0000; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Basement_Ceiling_3, !- Name + Ceiling, !- Surface Type + INT-FLOOR-UNDERSIDE, !- Construction Name + Basement, !- Zone Name + Surface, !- Outside Boundary Condition + Perimeter_bot_ZN_3_Floor,!- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + AutoCalculate, !- View Factor to Ground + 4, !- Number of Vertices + 68.5340,44.1650,0.0000, !- X,Y,Z ==> Vertex 1 {m} + 73.1072,48.7381,0.0000, !- X,Y,Z ==> Vertex 2 {m} + 0.0000,48.7381,0.0000, !- X,Y,Z ==> Vertex 3 {m} + 4.5732,44.1650,0.0000; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Basement_Ceiling_4, !- Name + Ceiling, !- Surface Type + INT-FLOOR-UNDERSIDE, !- Construction Name + Basement, !- Zone Name + Surface, !- Outside Boundary Condition + Perimeter_bot_ZN_4_Floor,!- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + AutoCalculate, !- View Factor to Ground + 4, !- Number of Vertices + 4.5732,44.1650,0.0000, !- X,Y,Z ==> Vertex 1 {m} + 0.0000,48.7381,0.0000, !- X,Y,Z ==> Vertex 2 {m} + 0.0000,0.0000,0.0000, !- X,Y,Z ==> Vertex 3 {m} + 4.5732,4.5732,0.0000; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Basement_Ceiling_5, !- Name + Ceiling, !- Surface Type + INT-FLOOR-UNDERSIDE, !- Construction Name + Basement, !- Zone Name + Surface, !- Outside Boundary Condition + Core_bot_ZN_5_Floor, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + AutoCalculate, !- View Factor to Ground + 4, !- Number of Vertices + 4.5732,44.1650,0.0000, !- X,Y,Z ==> Vertex 1 {m} + 4.5732,4.5732,0.0000, !- X,Y,Z ==> Vertex 2 {m} + 68.5340,4.5732,0.0000, !- X,Y,Z ==> Vertex 3 {m} + 68.5340,44.1650,0.0000; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Basement_Floor, !- Name + Floor, !- Surface Type + ext-slab, !- Construction Name + Basement, !- Zone Name + Ground, !- Outside Boundary Condition + , !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + AutoCalculate, !- View Factor to Ground + 4, !- Number of Vertices + 73.1072,48.7381,-2.4390, !- X,Y,Z ==> Vertex 1 {m} + 73.1072,0.0000,-2.4390, !- X,Y,Z ==> Vertex 2 {m} + 0.0000,0.0000,-2.4390, !- X,Y,Z ==> Vertex 3 {m} + 0.0000,48.7381,-2.4390; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Basement_Wall_East, !- Name + Wall, !- Surface Type + Underground Wall Non-res,!- Construction Name + Basement, !- Zone Name + Ground, !- Outside Boundary Condition + , !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + AutoCalculate, !- View Factor to Ground + 4, !- Number of Vertices + 73.1072,0.0000,0.0000, !- X,Y,Z ==> Vertex 1 {m} + 73.1072,0.0000,-2.4390, !- X,Y,Z ==> Vertex 2 {m} + 73.1072,48.7381,-2.4390, !- X,Y,Z ==> Vertex 3 {m} + 73.1072,48.7381,0.0000; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Basement_Wall_North, !- Name + Wall, !- Surface Type + Underground Wall Non-res,!- Construction Name + Basement, !- Zone Name + Ground, !- Outside Boundary Condition + , !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + AutoCalculate, !- View Factor to Ground + 4, !- Number of Vertices + 73.1072,48.7381,0.0000, !- X,Y,Z ==> Vertex 1 {m} + 73.1072,48.7381,-2.4390, !- X,Y,Z ==> Vertex 2 {m} + 0.0000,48.7381,-2.4390, !- X,Y,Z ==> Vertex 3 {m} + 0.0000,48.7381,0.0000; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Basement_Wall_South, !- Name + Wall, !- Surface Type + Underground Wall Non-res,!- Construction Name + Basement, !- Zone Name + Ground, !- Outside Boundary Condition + , !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + AutoCalculate, !- View Factor to Ground + 4, !- Number of Vertices + 0.0000,0.0000,0.0000, !- X,Y,Z ==> Vertex 1 {m} + 0.0000,0.0000,-2.4390, !- X,Y,Z ==> Vertex 2 {m} + 73.1072,0.0000,-2.4390, !- X,Y,Z ==> Vertex 3 {m} + 73.1072,0.0000,0.0000; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Basement_Wall_West, !- Name + Wall, !- Surface Type + Underground Wall Non-res,!- Construction Name + Basement, !- Zone Name + Ground, !- Outside Boundary Condition + , !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + AutoCalculate, !- View Factor to Ground + 4, !- Number of Vertices + 0.0000,48.7381,0.0000, !- X,Y,Z ==> Vertex 1 {m} + 0.0000,48.7381,-2.4390, !- X,Y,Z ==> Vertex 2 {m} + 0.0000,0.0000,-2.4390, !- X,Y,Z ==> Vertex 3 {m} + 0.0000,0.0000,0.0000; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Building_Roof, !- Name + Roof, !- Surface Type + IEAD Non-res Roof, !- Construction Name + TopFloor_Plenum, !- Zone Name + Outdoors, !- Outside Boundary Condition + , !- Outside Boundary Condition Object + SunExposed, !- Sun Exposure + WindExposed, !- Wind Exposure + AutoCalculate, !- View Factor to Ground + 4, !- Number of Vertices + 73.1072,0.0000,47.5584, !- X,Y,Z ==> Vertex 1 {m} + 73.1072,48.7381,47.5584, !- X,Y,Z ==> Vertex 2 {m} + 0.0000,48.7381,47.5584, !- X,Y,Z ==> Vertex 3 {m} + 0.0000,0.0000,47.5584; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Core_bot_ZN_5_Ceiling, !- Name + Ceiling, !- Surface Type + DropCeiling, !- Construction Name + Core_bottom, !- Zone Name + Surface, !- Outside Boundary Condition + GroundFloor_Plenum_Floor_5, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + AutoCalculate, !- View Factor to Ground + 4, !- Number of Vertices + 4.5732,44.1650,2.7440, !- X,Y,Z ==> Vertex 1 {m} + 4.5732,4.5732,2.7440, !- X,Y,Z ==> Vertex 2 {m} + 68.5340,4.5732,2.7440, !- X,Y,Z ==> Vertex 3 {m} + 68.5340,44.1650,2.7440; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Core_bot_ZN_5_Floor, !- Name + Floor, !- Surface Type + INT-FLOOR-TOPSIDE, !- Construction Name + Core_bottom, !- Zone Name + Surface, !- Outside Boundary Condition + Basement_Ceiling_5, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + AutoCalculate, !- View Factor to Ground + 4, !- Number of Vertices + 68.5340,44.1650,0.0000, !- X,Y,Z ==> Vertex 1 {m} + 68.5340,4.5732,0.0000, !- X,Y,Z ==> Vertex 2 {m} + 4.5732,4.5732,0.0000, !- X,Y,Z ==> Vertex 3 {m} + 4.5732,44.1650,0.0000; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Core_bot_ZN_5_Wall_East, !- Name + Wall, !- Surface Type + int-walls, !- Construction Name + Core_bottom, !- Zone Name + Surface, !- Outside Boundary Condition + Perimeter_bot_ZN_2_Wall_West, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + AutoCalculate, !- View Factor to Ground + 4, !- Number of Vertices + 68.5340,4.5732,2.7440, !- X,Y,Z ==> Vertex 1 {m} + 68.5340,4.5732,0.0000, !- X,Y,Z ==> Vertex 2 {m} + 68.5340,44.1650,0.0000, !- X,Y,Z ==> Vertex 3 {m} + 68.5340,44.1650,2.7440; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Core_bot_ZN_5_Wall_North,!- Name + Wall, !- Surface Type + int-walls, !- Construction Name + Core_bottom, !- Zone Name + Surface, !- Outside Boundary Condition + Perimeter_bot_ZN_3_Wall_South, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + AutoCalculate, !- View Factor to Ground + 4, !- Number of Vertices + 68.5340,44.1650,2.7440, !- X,Y,Z ==> Vertex 1 {m} + 68.5340,44.1650,0.0000, !- X,Y,Z ==> Vertex 2 {m} + 4.5732,44.1650,0.0000, !- X,Y,Z ==> Vertex 3 {m} + 4.5732,44.1650,2.7440; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Core_bot_ZN_5_Wall_South,!- Name + Wall, !- Surface Type + int-walls, !- Construction Name + Core_bottom, !- Zone Name + Surface, !- Outside Boundary Condition + Perimeter_bot_ZN_1_Wall_North, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + AutoCalculate, !- View Factor to Ground + 4, !- Number of Vertices + 4.5732,4.5732,2.7440, !- X,Y,Z ==> Vertex 1 {m} + 4.5732,4.5732,0.0000, !- X,Y,Z ==> Vertex 2 {m} + 68.5340,4.5732,0.0000, !- X,Y,Z ==> Vertex 3 {m} + 68.5340,4.5732,2.7440; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Core_bot_ZN_5_Wall_West, !- Name + Wall, !- Surface Type + int-walls, !- Construction Name + Core_bottom, !- Zone Name + Surface, !- Outside Boundary Condition + Perimeter_bot_ZN_4_Wall_East, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + AutoCalculate, !- View Factor to Ground + 4, !- Number of Vertices + 4.5732,44.1650,2.7440, !- X,Y,Z ==> Vertex 1 {m} + 4.5732,44.1650,0.0000, !- X,Y,Z ==> Vertex 2 {m} + 4.5732,4.5732,0.0000, !- X,Y,Z ==> Vertex 3 {m} + 4.5732,4.5732,2.7440; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Core_mid_ZN_5_Ceiling, !- Name + Ceiling, !- Surface Type + DropCeiling, !- Construction Name + Core_mid, !- Zone Name + Surface, !- Outside Boundary Condition + MidFloor_Plenum_Floor_5, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + AutoCalculate, !- View Factor to Ground + 4, !- Number of Vertices + 4.5732,44.1650,22.5600, !- X,Y,Z ==> Vertex 1 {m} + 4.5732,4.5732,22.5600, !- X,Y,Z ==> Vertex 2 {m} + 68.5340,4.5732,22.5600, !- X,Y,Z ==> Vertex 3 {m} + 68.5340,44.1650,22.5600; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Core_mid_ZN_5_Floor, !- Name + Floor, !- Surface Type + INT-FLOOR-TOPSIDE, !- Construction Name + Core_mid, !- Zone Name + Surface, !- Outside Boundary Condition + Core_mid_ZN_5_Floor, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + AutoCalculate, !- View Factor to Ground + 4, !- Number of Vertices + 68.5340,44.1650,19.8160, !- X,Y,Z ==> Vertex 1 {m} + 68.5340,4.5732,19.8160, !- X,Y,Z ==> Vertex 2 {m} + 4.5732,4.5732,19.8160, !- X,Y,Z ==> Vertex 3 {m} + 4.5732,44.1650,19.8160; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Core_mid_ZN_5_Wall_East, !- Name + Wall, !- Surface Type + int-walls, !- Construction Name + Core_mid, !- Zone Name + Surface, !- Outside Boundary Condition + Perimeter_mid_ZN_2_Wall_West, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + AutoCalculate, !- View Factor to Ground + 4, !- Number of Vertices + 68.5340,4.5732,22.5600, !- X,Y,Z ==> Vertex 1 {m} + 68.5340,4.5732,19.8160, !- X,Y,Z ==> Vertex 2 {m} + 68.5340,44.1650,19.8160, !- X,Y,Z ==> Vertex 3 {m} + 68.5340,44.1650,22.5600; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Core_mid_ZN_5_Wall_North,!- Name + Wall, !- Surface Type + int-walls, !- Construction Name + Core_mid, !- Zone Name + Surface, !- Outside Boundary Condition + Perimeter_mid_ZN_3_Wall_South, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + AutoCalculate, !- View Factor to Ground + 4, !- Number of Vertices + 68.5340,44.1650,22.5600, !- X,Y,Z ==> Vertex 1 {m} + 68.5340,44.1650,19.8160, !- X,Y,Z ==> Vertex 2 {m} + 4.5732,44.1650,19.8160, !- X,Y,Z ==> Vertex 3 {m} + 4.5732,44.1650,22.5600; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Core_mid_ZN_5_Wall_South,!- Name + Wall, !- Surface Type + int-walls, !- Construction Name + Core_mid, !- Zone Name + Surface, !- Outside Boundary Condition + Perimeter_mid_ZN_1_Wall_North, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + AutoCalculate, !- View Factor to Ground + 4, !- Number of Vertices + 4.5732,4.5732,22.5600, !- X,Y,Z ==> Vertex 1 {m} + 4.5732,4.5732,19.8160, !- X,Y,Z ==> Vertex 2 {m} + 68.5340,4.5732,19.8160, !- X,Y,Z ==> Vertex 3 {m} + 68.5340,4.5732,22.5600; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Core_mid_ZN_5_Wall_West, !- Name + Wall, !- Surface Type + int-walls, !- Construction Name + Core_mid, !- Zone Name + Surface, !- Outside Boundary Condition + Perimeter_mid_ZN_4_Wall_East, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + AutoCalculate, !- View Factor to Ground + 4, !- Number of Vertices + 4.5732,44.1650,22.5600, !- X,Y,Z ==> Vertex 1 {m} + 4.5732,44.1650,19.8160, !- X,Y,Z ==> Vertex 2 {m} + 4.5732,4.5732,19.8160, !- X,Y,Z ==> Vertex 3 {m} + 4.5732,4.5732,22.5600; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Core_top_ZN_5_Ceiling, !- Name + Ceiling, !- Surface Type + DropCeiling, !- Construction Name + Core_top, !- Zone Name + Surface, !- Outside Boundary Condition + TopFloor_Plenum_Floor_5, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + AutoCalculate, !- View Factor to Ground + 4, !- Number of Vertices + 4.5732,44.1650,46.3392, !- X,Y,Z ==> Vertex 1 {m} + 4.5732,4.5732,46.3392, !- X,Y,Z ==> Vertex 2 {m} + 68.5340,4.5732,46.3392, !- X,Y,Z ==> Vertex 3 {m} + 68.5340,44.1650,46.3392; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Core_top_ZN_5_Floor, !- Name + Floor, !- Surface Type + INT-FLOOR-TOPSIDE, !- Construction Name + Core_top, !- Zone Name + Surface, !- Outside Boundary Condition + Core_top_ZN_5_Floor, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + AutoCalculate, !- View Factor to Ground + 4, !- Number of Vertices + 68.5340,44.1650,43.5952, !- X,Y,Z ==> Vertex 1 {m} + 68.5340,4.5732,43.5952, !- X,Y,Z ==> Vertex 2 {m} + 4.5732,4.5732,43.5952, !- X,Y,Z ==> Vertex 3 {m} + 4.5732,44.1650,43.5952; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Core_top_ZN_5_Wall_East, !- Name + Wall, !- Surface Type + int-walls, !- Construction Name + Core_top, !- Zone Name + Surface, !- Outside Boundary Condition + Perimeter_top_ZN_2_Wall_West, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + AutoCalculate, !- View Factor to Ground + 4, !- Number of Vertices + 68.5340,4.5732,46.3392, !- X,Y,Z ==> Vertex 1 {m} + 68.5340,4.5732,43.5952, !- X,Y,Z ==> Vertex 2 {m} + 68.5340,44.1650,43.5952, !- X,Y,Z ==> Vertex 3 {m} + 68.5340,44.1650,46.3392; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Core_top_ZN_5_Wall_North,!- Name + Wall, !- Surface Type + int-walls, !- Construction Name + Core_top, !- Zone Name + Surface, !- Outside Boundary Condition + Perimeter_top_ZN_3_Wall_South, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + AutoCalculate, !- View Factor to Ground + 4, !- Number of Vertices + 68.5340,44.1650,46.3392, !- X,Y,Z ==> Vertex 1 {m} + 68.5340,44.1650,43.5952, !- X,Y,Z ==> Vertex 2 {m} + 4.5732,44.1650,43.5952, !- X,Y,Z ==> Vertex 3 {m} + 4.5732,44.1650,46.3392; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Core_top_ZN_5_Wall_South,!- Name + Wall, !- Surface Type + int-walls, !- Construction Name + Core_top, !- Zone Name + Surface, !- Outside Boundary Condition + Perimeter_top_ZN_1_Wall_North, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + AutoCalculate, !- View Factor to Ground + 4, !- Number of Vertices + 4.5732,4.5732,46.3392, !- X,Y,Z ==> Vertex 1 {m} + 4.5732,4.5732,43.5952, !- X,Y,Z ==> Vertex 2 {m} + 68.5340,4.5732,43.5952, !- X,Y,Z ==> Vertex 3 {m} + 68.5340,4.5732,46.3392; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Core_top_ZN_5_Wall_West, !- Name + Wall, !- Surface Type + int-walls, !- Construction Name + Core_top, !- Zone Name + Surface, !- Outside Boundary Condition + Perimeter_top_ZN_4_Wall_East, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + AutoCalculate, !- View Factor to Ground + 4, !- Number of Vertices + 4.5732,44.1650,46.3392, !- X,Y,Z ==> Vertex 1 {m} + 4.5732,44.1650,43.5952, !- X,Y,Z ==> Vertex 2 {m} + 4.5732,4.5732,43.5952, !- X,Y,Z ==> Vertex 3 {m} + 4.5732,4.5732,46.3392; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + GroundFloor_Plenum_Ceiling, !- Name + Ceiling, !- Surface Type + INT-FLOOR-UNDERSIDE, !- Construction Name + GroundFloor_Plenum, !- Zone Name + Surface, !- Outside Boundary Condition + GroundFloor_Plenum_Ceiling, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + AutoCalculate, !- View Factor to Ground + 4, !- Number of Vertices + 73.1072,0.0000,3.9632, !- X,Y,Z ==> Vertex 1 {m} + 73.1072,48.7381,3.9632, !- X,Y,Z ==> Vertex 2 {m} + 0.0000,48.7381,3.9632, !- X,Y,Z ==> Vertex 3 {m} + 0.0000,0.0000,3.9632; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + GroundFloor_Plenum_Floor_1, !- Name + Floor, !- Surface Type + DropCeiling, !- Construction Name + GroundFloor_Plenum, !- Zone Name + Surface, !- Outside Boundary Condition + Perimeter_bot_ZN_1_Ceiling, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + AutoCalculate, !- View Factor to Ground + 4, !- Number of Vertices + 4.5732,4.5732,2.7440, !- X,Y,Z ==> Vertex 1 {m} + 68.5340,4.5732,2.7440, !- X,Y,Z ==> Vertex 2 {m} + 73.1072,0.0000,2.7440, !- X,Y,Z ==> Vertex 3 {m} + 0.0000,0.0000,2.7440; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + GroundFloor_Plenum_Floor_2, !- Name + Floor, !- Surface Type + DropCeiling, !- Construction Name + GroundFloor_Plenum, !- Zone Name + Surface, !- Outside Boundary Condition + Perimeter_bot_ZN_2_Ceiling, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + AutoCalculate, !- View Factor to Ground + 4, !- Number of Vertices + 73.1072,48.7381,2.7440, !- X,Y,Z ==> Vertex 1 {m} + 73.1072,0.0000,2.7440, !- X,Y,Z ==> Vertex 2 {m} + 68.5340,4.5732,2.7440, !- X,Y,Z ==> Vertex 3 {m} + 68.5340,44.1650,2.7440; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + GroundFloor_Plenum_Floor_3, !- Name + Floor, !- Surface Type + DropCeiling, !- Construction Name + GroundFloor_Plenum, !- Zone Name + Surface, !- Outside Boundary Condition + Perimeter_bot_ZN_3_Ceiling, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + AutoCalculate, !- View Factor to Ground + 4, !- Number of Vertices + 68.5340,44.1650,2.7440, !- X,Y,Z ==> Vertex 1 {m} + 4.5732,44.1650,2.7440, !- X,Y,Z ==> Vertex 2 {m} + 0.0000,48.7381,2.7440, !- X,Y,Z ==> Vertex 3 {m} + 73.1072,48.7381,2.7440; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + GroundFloor_Plenum_Floor_4, !- Name + Floor, !- Surface Type + DropCeiling, !- Construction Name + GroundFloor_Plenum, !- Zone Name + Surface, !- Outside Boundary Condition + Perimeter_bot_ZN_4_Ceiling, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + AutoCalculate, !- View Factor to Ground + 4, !- Number of Vertices + 4.5732,44.1650,2.7440, !- X,Y,Z ==> Vertex 1 {m} + 4.5732,4.5732,2.7440, !- X,Y,Z ==> Vertex 2 {m} + 0.0000,0.0000,2.7440, !- X,Y,Z ==> Vertex 3 {m} + 0.0000,48.7381,2.7440; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + GroundFloor_Plenum_Floor_5, !- Name + Floor, !- Surface Type + DropCeiling, !- Construction Name + GroundFloor_Plenum, !- Zone Name + Surface, !- Outside Boundary Condition + Core_bot_ZN_5_Ceiling, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + AutoCalculate, !- View Factor to Ground + 4, !- Number of Vertices + 68.5340,4.5732,2.7440, !- X,Y,Z ==> Vertex 1 {m} + 4.5732,4.5732,2.7440, !- X,Y,Z ==> Vertex 2 {m} + 4.5732,44.1650,2.7440, !- X,Y,Z ==> Vertex 3 {m} + 68.5340,44.1650,2.7440; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + GroundFloor_Plenum_Wall_East, !- Name + Wall, !- Surface Type + Mass Non-res Ext Wall, !- Construction Name + GroundFloor_Plenum, !- Zone Name + Outdoors, !- Outside Boundary Condition + , !- Outside Boundary Condition Object + SunExposed, !- Sun Exposure + WindExposed, !- Wind Exposure + AutoCalculate, !- View Factor to Ground + 4, !- Number of Vertices + 73.1072,0.0000,3.9632, !- X,Y,Z ==> Vertex 1 {m} + 73.1072,0.0000,2.7440, !- X,Y,Z ==> Vertex 2 {m} + 73.1072,48.7381,2.7440, !- X,Y,Z ==> Vertex 3 {m} + 73.1072,48.7381,3.9632; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + GroundFloor_Plenum_Wall_North, !- Name + Wall, !- Surface Type + Mass Non-res Ext Wall, !- Construction Name + GroundFloor_Plenum, !- Zone Name + Outdoors, !- Outside Boundary Condition + , !- Outside Boundary Condition Object + SunExposed, !- Sun Exposure + WindExposed, !- Wind Exposure + AutoCalculate, !- View Factor to Ground + 4, !- Number of Vertices + 73.1072,48.7381,3.9632, !- X,Y,Z ==> Vertex 1 {m} + 73.1072,48.7381,2.7440, !- X,Y,Z ==> Vertex 2 {m} + 0.0000,48.7381,2.7440, !- X,Y,Z ==> Vertex 3 {m} + 0.0000,48.7381,3.9632; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + GroundFloor_Plenum_Wall_South, !- Name + Wall, !- Surface Type + Mass Non-res Ext Wall, !- Construction Name + GroundFloor_Plenum, !- Zone Name + Outdoors, !- Outside Boundary Condition + , !- Outside Boundary Condition Object + SunExposed, !- Sun Exposure + WindExposed, !- Wind Exposure + AutoCalculate, !- View Factor to Ground + 4, !- Number of Vertices + 0.0000,0.0000,3.9632, !- X,Y,Z ==> Vertex 1 {m} + 0.0000,0.0000,2.7440, !- X,Y,Z ==> Vertex 2 {m} + 73.1072,0.0000,2.7440, !- X,Y,Z ==> Vertex 3 {m} + 73.1072,0.0000,3.9632; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + GroundFloor_Plenum_West, !- Name + Wall, !- Surface Type + Mass Non-res Ext Wall, !- Construction Name + GroundFloor_Plenum, !- Zone Name + Outdoors, !- Outside Boundary Condition + , !- Outside Boundary Condition Object + SunExposed, !- Sun Exposure + WindExposed, !- Wind Exposure + AutoCalculate, !- View Factor to Ground + 4, !- Number of Vertices + 0.0000,48.7381,3.9632, !- X,Y,Z ==> Vertex 1 {m} + 0.0000,48.7381,2.7440, !- X,Y,Z ==> Vertex 2 {m} + 0.0000,0.0000,2.7440, !- X,Y,Z ==> Vertex 3 {m} + 0.0000,0.0000,3.9632; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + MidFloor_Plenum_Ceiling, !- Name + Ceiling, !- Surface Type + INT-FLOOR-UNDERSIDE, !- Construction Name + MidFloor_Plenum, !- Zone Name + Surface, !- Outside Boundary Condition + MidFloor_Plenum_Ceiling, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + AutoCalculate, !- View Factor to Ground + 4, !- Number of Vertices + 73.1072,48.7381,23.7792, !- X,Y,Z ==> Vertex 1 {m} + 0.0000,48.7381,23.7792, !- X,Y,Z ==> Vertex 2 {m} + 0.0000,0.0000,23.7792, !- X,Y,Z ==> Vertex 3 {m} + 73.1072,0.0000,23.7792; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + MidFloor_Plenum_Floor_1, !- Name + Floor, !- Surface Type + DropCeiling, !- Construction Name + MidFloor_Plenum, !- Zone Name + Surface, !- Outside Boundary Condition + Perimeter_mid_ZN_1_Ceiling, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + AutoCalculate, !- View Factor to Ground + 4, !- Number of Vertices + 73.1072,0.0000,22.5600, !- X,Y,Z ==> Vertex 1 {m} + 0.0000,0.0000,22.5600, !- X,Y,Z ==> Vertex 2 {m} + 4.5732,4.5732,22.5600, !- X,Y,Z ==> Vertex 3 {m} + 68.5340,4.5732,22.5600; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + MidFloor_Plenum_Floor_2, !- Name + Floor, !- Surface Type + DropCeiling, !- Construction Name + MidFloor_Plenum, !- Zone Name + Surface, !- Outside Boundary Condition + Perimeter_mid_ZN_2_Ceiling, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + AutoCalculate, !- View Factor to Ground + 4, !- Number of Vertices + 73.1072,0.0000,22.5600, !- X,Y,Z ==> Vertex 1 {m} + 68.5340,4.5732,22.5600, !- X,Y,Z ==> Vertex 2 {m} + 68.5340,44.1650,22.5600, !- X,Y,Z ==> Vertex 3 {m} + 73.1072,48.7381,22.5600; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + MidFloor_Plenum_Floor_3, !- Name + Floor, !- Surface Type + DropCeiling, !- Construction Name + MidFloor_Plenum, !- Zone Name + Surface, !- Outside Boundary Condition + Perimeter_mid_ZN_3_Ceiling, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + AutoCalculate, !- View Factor to Ground + 4, !- Number of Vertices + 0.0000,48.7381,22.5600, !- X,Y,Z ==> Vertex 1 {m} + 73.1072,48.7381,22.5600, !- X,Y,Z ==> Vertex 2 {m} + 68.5340,44.1650,22.5600, !- X,Y,Z ==> Vertex 3 {m} + 4.5732,44.1650,22.5600; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + MidFloor_Plenum_Floor_4, !- Name + Floor, !- Surface Type + DropCeiling, !- Construction Name + MidFloor_Plenum, !- Zone Name + Surface, !- Outside Boundary Condition + Perimeter_mid_ZN_4_Ceiling, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + AutoCalculate, !- View Factor to Ground + 4, !- Number of Vertices + 0.0000,0.0000,22.5600, !- X,Y,Z ==> Vertex 1 {m} + 0.0000,48.7381,22.5600, !- X,Y,Z ==> Vertex 2 {m} + 4.5732,44.1650,22.5600, !- X,Y,Z ==> Vertex 3 {m} + 4.5732,4.5732,22.5600; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + MidFloor_Plenum_Floor_5, !- Name + Floor, !- Surface Type + DropCeiling, !- Construction Name + MidFloor_Plenum, !- Zone Name + Surface, !- Outside Boundary Condition + Core_mid_ZN_5_Ceiling, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + AutoCalculate, !- View Factor to Ground + 4, !- Number of Vertices + 68.5340,4.5732,22.5600, !- X,Y,Z ==> Vertex 1 {m} + 4.5732,4.5732,22.5600, !- X,Y,Z ==> Vertex 2 {m} + 4.5732,44.1650,22.5600, !- X,Y,Z ==> Vertex 3 {m} + 68.5340,44.1650,22.5600; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + MidFloor_Plenum_Wall_East, !- Name + Wall, !- Surface Type + Mass Non-res Ext Wall, !- Construction Name + MidFloor_Plenum, !- Zone Name + Outdoors, !- Outside Boundary Condition + , !- Outside Boundary Condition Object + SunExposed, !- Sun Exposure + WindExposed, !- Wind Exposure + AutoCalculate, !- View Factor to Ground + 4, !- Number of Vertices + 73.1072,0.0000,23.7792, !- X,Y,Z ==> Vertex 1 {m} + 73.1072,0.0000,22.5600, !- X,Y,Z ==> Vertex 2 {m} + 73.1072,48.7381,22.5600, !- X,Y,Z ==> Vertex 3 {m} + 73.1072,48.7381,23.7792; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + MidFloor_Plenum_Wall_North, !- Name + Wall, !- Surface Type + Mass Non-res Ext Wall, !- Construction Name + MidFloor_Plenum, !- Zone Name + Outdoors, !- Outside Boundary Condition + , !- Outside Boundary Condition Object + SunExposed, !- Sun Exposure + WindExposed, !- Wind Exposure + AutoCalculate, !- View Factor to Ground + 4, !- Number of Vertices + 73.1072,48.7381,23.7792, !- X,Y,Z ==> Vertex 1 {m} + 73.1072,48.7381,22.5600, !- X,Y,Z ==> Vertex 2 {m} + 0.0000,48.7381,22.5600, !- X,Y,Z ==> Vertex 3 {m} + 0.0000,48.7381,23.7792; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + MidFloor_Plenum_Wall_South, !- Name + Wall, !- Surface Type + Mass Non-res Ext Wall, !- Construction Name + MidFloor_Plenum, !- Zone Name + Outdoors, !- Outside Boundary Condition + , !- Outside Boundary Condition Object + SunExposed, !- Sun Exposure + WindExposed, !- Wind Exposure + AutoCalculate, !- View Factor to Ground + 4, !- Number of Vertices + 0.0000,0.0000,23.7792, !- X,Y,Z ==> Vertex 1 {m} + 0.0000,0.0000,22.5600, !- X,Y,Z ==> Vertex 2 {m} + 73.1072,0.0000,22.5600, !- X,Y,Z ==> Vertex 3 {m} + 73.1072,0.0000,23.7792; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + MidFloor_Plenum_Wall_West, !- Name + Wall, !- Surface Type + Mass Non-res Ext Wall, !- Construction Name + MidFloor_Plenum, !- Zone Name + Outdoors, !- Outside Boundary Condition + , !- Outside Boundary Condition Object + SunExposed, !- Sun Exposure + WindExposed, !- Wind Exposure + AutoCalculate, !- View Factor to Ground + 4, !- Number of Vertices + 0.0000,48.7381,23.7792, !- X,Y,Z ==> Vertex 1 {m} + 0.0000,48.7381,22.5600, !- X,Y,Z ==> Vertex 2 {m} + 0.0000,0.0000,22.5600, !- X,Y,Z ==> Vertex 3 {m} + 0.0000,0.0000,23.7792; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Perimeter_bot_ZN_1_Ceiling, !- Name + Ceiling, !- Surface Type + DropCeiling, !- Construction Name + Perimeter_bot_ZN_1, !- Zone Name + Surface, !- Outside Boundary Condition + GroundFloor_Plenum_Floor_1, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + AutoCalculate, !- View Factor to Ground + 4, !- Number of Vertices + 4.5732,4.5732,2.7440, !- X,Y,Z ==> Vertex 1 {m} + 0.0000,0.0000,2.7440, !- X,Y,Z ==> Vertex 2 {m} + 73.1072,0.0000,2.7440, !- X,Y,Z ==> Vertex 3 {m} + 68.5340,4.5732,2.7440; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Perimeter_bot_ZN_1_Floor,!- Name + Floor, !- Surface Type + INT-FLOOR-TOPSIDE, !- Construction Name + Perimeter_bot_ZN_1, !- Zone Name + Surface, !- Outside Boundary Condition + Basement_Ceiling_1, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + AutoCalculate, !- View Factor to Ground + 4, !- Number of Vertices + 68.5340,4.5732,0.0000, !- X,Y,Z ==> Vertex 1 {m} + 73.1072,0.0000,0.0000, !- X,Y,Z ==> Vertex 2 {m} + 0.0000,0.0000,0.0000, !- X,Y,Z ==> Vertex 3 {m} + 4.5732,4.5732,0.0000; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Perimeter_bot_ZN_1_Wall_East, !- Name + Wall, !- Surface Type + int-walls, !- Construction Name + Perimeter_bot_ZN_1, !- Zone Name + Surface, !- Outside Boundary Condition + Perimeter_bot_ZN_2_Wall_South, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + AutoCalculate, !- View Factor to Ground + 4, !- Number of Vertices + 73.1072,0.0000,2.7440, !- X,Y,Z ==> Vertex 1 {m} + 73.1072,0.0000,0.0000, !- X,Y,Z ==> Vertex 2 {m} + 68.5340,4.5732,0.0000, !- X,Y,Z ==> Vertex 3 {m} + 68.5340,4.5732,2.7440; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Perimeter_bot_ZN_1_Wall_North, !- Name + Wall, !- Surface Type + int-walls, !- Construction Name + Perimeter_bot_ZN_1, !- Zone Name + Surface, !- Outside Boundary Condition + Core_bot_ZN_5_Wall_South,!- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + AutoCalculate, !- View Factor to Ground + 4, !- Number of Vertices + 68.5340,4.5732,2.7440, !- X,Y,Z ==> Vertex 1 {m} + 68.5340,4.5732,0.0000, !- X,Y,Z ==> Vertex 2 {m} + 4.5732,4.5732,0.0000, !- X,Y,Z ==> Vertex 3 {m} + 4.5732,4.5732,2.7440; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Perimeter_bot_ZN_1_Wall_South, !- Name + Wall, !- Surface Type + Mass Non-res Ext Wall, !- Construction Name + Perimeter_bot_ZN_1, !- Zone Name + Outdoors, !- Outside Boundary Condition + , !- Outside Boundary Condition Object + SunExposed, !- Sun Exposure + WindExposed, !- Wind Exposure + AutoCalculate, !- View Factor to Ground + 4, !- Number of Vertices + 0.0000,0.0000,2.7440, !- X,Y,Z ==> Vertex 1 {m} + 0.0000,0.0000,0.0000, !- X,Y,Z ==> Vertex 2 {m} + 73.1072,0.0000,0.0000, !- X,Y,Z ==> Vertex 3 {m} + 73.1072,0.0000,2.7440; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Perimeter_bot_ZN_1_Wall_West, !- Name + Wall, !- Surface Type + int-walls, !- Construction Name + Perimeter_bot_ZN_1, !- Zone Name + Surface, !- Outside Boundary Condition + Perimeter_bot_ZN_4_Wall_South, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + AutoCalculate, !- View Factor to Ground + 4, !- Number of Vertices + 4.5732,4.5732,2.7440, !- X,Y,Z ==> Vertex 1 {m} + 4.5732,4.5732,0.0000, !- X,Y,Z ==> Vertex 2 {m} + 0.0000,0.0000,0.0000, !- X,Y,Z ==> Vertex 3 {m} + 0.0000,0.0000,2.7440; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Perimeter_bot_ZN_2_Ceiling, !- Name + Ceiling, !- Surface Type + DropCeiling, !- Construction Name + Perimeter_bot_ZN_2, !- Zone Name + Surface, !- Outside Boundary Condition + GroundFloor_Plenum_Floor_2, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + AutoCalculate, !- View Factor to Ground + 4, !- Number of Vertices + 68.5340,4.5732,2.7440, !- X,Y,Z ==> Vertex 1 {m} + 73.1072,0.0000,2.7440, !- X,Y,Z ==> Vertex 2 {m} + 73.1072,48.7381,2.7440, !- X,Y,Z ==> Vertex 3 {m} + 68.5340,44.1650,2.7440; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Perimeter_bot_ZN_2_Floor,!- Name + Floor, !- Surface Type + INT-FLOOR-TOPSIDE, !- Construction Name + Perimeter_bot_ZN_2, !- Zone Name + Surface, !- Outside Boundary Condition + Basement_Ceiling_2, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + AutoCalculate, !- View Factor to Ground + 4, !- Number of Vertices + 68.5340,44.1650,0.0000, !- X,Y,Z ==> Vertex 1 {m} + 73.1072,48.7381,0.0000, !- X,Y,Z ==> Vertex 2 {m} + 73.1072,0.0000,0.0000, !- X,Y,Z ==> Vertex 3 {m} + 68.5340,4.5732,0.0000; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Perimeter_bot_ZN_2_Wall_East, !- Name + Wall, !- Surface Type + Mass Non-res Ext Wall, !- Construction Name + Perimeter_bot_ZN_2, !- Zone Name + Outdoors, !- Outside Boundary Condition + , !- Outside Boundary Condition Object + SunExposed, !- Sun Exposure + WindExposed, !- Wind Exposure + AutoCalculate, !- View Factor to Ground + 4, !- Number of Vertices + 73.1072,0.0000,2.7440, !- X,Y,Z ==> Vertex 1 {m} + 73.1072,0.0000,0.0000, !- X,Y,Z ==> Vertex 2 {m} + 73.1072,48.7381,0.0000, !- X,Y,Z ==> Vertex 3 {m} + 73.1072,48.7381,2.7440; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Perimeter_bot_ZN_2_Wall_North, !- Name + Wall, !- Surface Type + int-walls, !- Construction Name + Perimeter_bot_ZN_2, !- Zone Name + Surface, !- Outside Boundary Condition + Perimeter_bot_ZN_3_Wall_East, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + AutoCalculate, !- View Factor to Ground + 4, !- Number of Vertices + 73.1072,48.7381,2.7440, !- X,Y,Z ==> Vertex 1 {m} + 73.1072,48.7381,0.0000, !- X,Y,Z ==> Vertex 2 {m} + 68.5340,44.1650,0.0000, !- X,Y,Z ==> Vertex 3 {m} + 68.5340,44.1650,2.7440; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Perimeter_bot_ZN_2_Wall_South, !- Name + Wall, !- Surface Type + int-walls, !- Construction Name + Perimeter_bot_ZN_2, !- Zone Name + Surface, !- Outside Boundary Condition + Perimeter_bot_ZN_1_Wall_East, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + AutoCalculate, !- View Factor to Ground + 4, !- Number of Vertices + 68.5340,4.5732,2.7440, !- X,Y,Z ==> Vertex 1 {m} + 68.5340,4.5732,0.0000, !- X,Y,Z ==> Vertex 2 {m} + 73.1072,0.0000,0.0000, !- X,Y,Z ==> Vertex 3 {m} + 73.1072,0.0000,2.7440; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Perimeter_bot_ZN_2_Wall_West, !- Name + Wall, !- Surface Type + int-walls, !- Construction Name + Perimeter_bot_ZN_2, !- Zone Name + Surface, !- Outside Boundary Condition + Core_bot_ZN_5_Wall_East, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + AutoCalculate, !- View Factor to Ground + 4, !- Number of Vertices + 68.5340,44.1650,2.7440, !- X,Y,Z ==> Vertex 1 {m} + 68.5340,44.1650,0.0000, !- X,Y,Z ==> Vertex 2 {m} + 68.5340,4.5732,0.0000, !- X,Y,Z ==> Vertex 3 {m} + 68.5340,4.5732,2.7440; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Perimeter_bot_ZN_3_Ceiling, !- Name + Ceiling, !- Surface Type + DropCeiling, !- Construction Name + Perimeter_bot_ZN_3, !- Zone Name + Surface, !- Outside Boundary Condition + GroundFloor_Plenum_Floor_3, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + AutoCalculate, !- View Factor to Ground + 4, !- Number of Vertices + 68.5340,44.1650,2.7440, !- X,Y,Z ==> Vertex 1 {m} + 73.1072,48.7381,2.7440, !- X,Y,Z ==> Vertex 2 {m} + 0.0000,48.7381,2.7440, !- X,Y,Z ==> Vertex 3 {m} + 4.5732,44.1650,2.7440; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Perimeter_bot_ZN_3_Floor,!- Name + Floor, !- Surface Type + INT-FLOOR-TOPSIDE, !- Construction Name + Perimeter_bot_ZN_3, !- Zone Name + Surface, !- Outside Boundary Condition + Basement_Ceiling_3, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + AutoCalculate, !- View Factor to Ground + 4, !- Number of Vertices + 4.5732,44.1650,0.0000, !- X,Y,Z ==> Vertex 1 {m} + 0.0000,48.7381,0.0000, !- X,Y,Z ==> Vertex 2 {m} + 73.1072,48.7381,0.0000, !- X,Y,Z ==> Vertex 3 {m} + 68.5340,44.1650,0.0000; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Perimeter_bot_ZN_3_Wall_East, !- Name + Wall, !- Surface Type + int-walls, !- Construction Name + Perimeter_bot_ZN_3, !- Zone Name + Surface, !- Outside Boundary Condition + Perimeter_bot_ZN_2_Wall_North, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + AutoCalculate, !- View Factor to Ground + 4, !- Number of Vertices + 68.5340,44.1650,2.7440, !- X,Y,Z ==> Vertex 1 {m} + 68.5340,44.1650,0.0000, !- X,Y,Z ==> Vertex 2 {m} + 73.1072,48.7381,0.0000, !- X,Y,Z ==> Vertex 3 {m} + 73.1072,48.7381,2.7440; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Perimeter_bot_ZN_3_Wall_North, !- Name + Wall, !- Surface Type + Mass Non-res Ext Wall, !- Construction Name + Perimeter_bot_ZN_3, !- Zone Name + Outdoors, !- Outside Boundary Condition + , !- Outside Boundary Condition Object + SunExposed, !- Sun Exposure + WindExposed, !- Wind Exposure + AutoCalculate, !- View Factor to Ground + 4, !- Number of Vertices + 73.1072,48.7381,2.7440, !- X,Y,Z ==> Vertex 1 {m} + 73.1072,48.7381,0.0000, !- X,Y,Z ==> Vertex 2 {m} + 0.0000,48.7381,0.0000, !- X,Y,Z ==> Vertex 3 {m} + 0.0000,48.7381,2.7440; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Perimeter_bot_ZN_3_Wall_South, !- Name + Wall, !- Surface Type + int-walls, !- Construction Name + Perimeter_bot_ZN_3, !- Zone Name + Surface, !- Outside Boundary Condition + Core_bot_ZN_5_Wall_North,!- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + AutoCalculate, !- View Factor to Ground + 4, !- Number of Vertices + 4.5732,44.1650,2.7440, !- X,Y,Z ==> Vertex 1 {m} + 4.5732,44.1650,0.0000, !- X,Y,Z ==> Vertex 2 {m} + 68.5340,44.1650,0.0000, !- X,Y,Z ==> Vertex 3 {m} + 68.5340,44.1650,2.7440; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Perimeter_bot_ZN_3_Wall_West, !- Name + Wall, !- Surface Type + int-walls, !- Construction Name + Perimeter_bot_ZN_3, !- Zone Name + Surface, !- Outside Boundary Condition + Perimeter_bot_ZN_4_Wall_North, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + AutoCalculate, !- View Factor to Ground + 4, !- Number of Vertices + 0.0000,48.7381,2.7440, !- X,Y,Z ==> Vertex 1 {m} + 0.0000,48.7381,0.0000, !- X,Y,Z ==> Vertex 2 {m} + 4.5732,44.1650,0.0000, !- X,Y,Z ==> Vertex 3 {m} + 4.5732,44.1650,2.7440; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Perimeter_bot_ZN_4_Ceiling, !- Name + Ceiling, !- Surface Type + DropCeiling, !- Construction Name + Perimeter_bot_ZN_4, !- Zone Name + Surface, !- Outside Boundary Condition + GroundFloor_Plenum_Floor_4, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + AutoCalculate, !- View Factor to Ground + 4, !- Number of Vertices + 4.5732,44.1650,2.7440, !- X,Y,Z ==> Vertex 1 {m} + 0.0000,48.7381,2.7440, !- X,Y,Z ==> Vertex 2 {m} + 0.0000,0.0000,2.7440, !- X,Y,Z ==> Vertex 3 {m} + 4.5732,4.5732,2.7440; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Perimeter_bot_ZN_4_Floor,!- Name + Floor, !- Surface Type + INT-FLOOR-TOPSIDE, !- Construction Name + Perimeter_bot_ZN_4, !- Zone Name + Surface, !- Outside Boundary Condition + Basement_Ceiling_4, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + AutoCalculate, !- View Factor to Ground + 4, !- Number of Vertices + 4.5732,4.5732,0.0000, !- X,Y,Z ==> Vertex 1 {m} + 0.0000,0.0000,0.0000, !- X,Y,Z ==> Vertex 2 {m} + 0.0000,48.7381,0.0000, !- X,Y,Z ==> Vertex 3 {m} + 4.5732,44.1650,0.0000; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Perimeter_bot_ZN_4_Wall_East, !- Name + Wall, !- Surface Type + int-walls, !- Construction Name + Perimeter_bot_ZN_4, !- Zone Name + Surface, !- Outside Boundary Condition + Core_bot_ZN_5_Wall_West, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + AutoCalculate, !- View Factor to Ground + 4, !- Number of Vertices + 4.5732,4.5732,2.7440, !- X,Y,Z ==> Vertex 1 {m} + 4.5732,4.5732,0.0000, !- X,Y,Z ==> Vertex 2 {m} + 4.5732,44.1650,0.0000, !- X,Y,Z ==> Vertex 3 {m} + 4.5732,44.1650,2.7440; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Perimeter_bot_ZN_4_Wall_North, !- Name + Wall, !- Surface Type + int-walls, !- Construction Name + Perimeter_bot_ZN_4, !- Zone Name + Surface, !- Outside Boundary Condition + Perimeter_bot_ZN_3_Wall_West, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + AutoCalculate, !- View Factor to Ground + 4, !- Number of Vertices + 4.5732,44.1650,2.7440, !- X,Y,Z ==> Vertex 1 {m} + 4.5732,44.1650,0.0000, !- X,Y,Z ==> Vertex 2 {m} + 0.0000,48.7381,0.0000, !- X,Y,Z ==> Vertex 3 {m} + 0.0000,48.7381,2.7440; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Perimeter_bot_ZN_4_Wall_South, !- Name + Wall, !- Surface Type + int-walls, !- Construction Name + Perimeter_bot_ZN_4, !- Zone Name + Surface, !- Outside Boundary Condition + Perimeter_bot_ZN_1_Wall_West, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + AutoCalculate, !- View Factor to Ground + 4, !- Number of Vertices + 0.0000,0.0000,2.7440, !- X,Y,Z ==> Vertex 1 {m} + 0.0000,0.0000,0.0000, !- X,Y,Z ==> Vertex 2 {m} + 4.5732,4.5732,0.0000, !- X,Y,Z ==> Vertex 3 {m} + 4.5732,4.5732,2.7440; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Perimeter_bot_ZN_4_Wall_West, !- Name + Wall, !- Surface Type + Mass Non-res Ext Wall, !- Construction Name + Perimeter_bot_ZN_4, !- Zone Name + Outdoors, !- Outside Boundary Condition + , !- Outside Boundary Condition Object + SunExposed, !- Sun Exposure + WindExposed, !- Wind Exposure + AutoCalculate, !- View Factor to Ground + 4, !- Number of Vertices + 0.0000,48.7381,2.7440, !- X,Y,Z ==> Vertex 1 {m} + 0.0000,48.7381,0.0000, !- X,Y,Z ==> Vertex 2 {m} + 0.0000,0.0000,0.0000, !- X,Y,Z ==> Vertex 3 {m} + 0.0000,0.0000,2.7440; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Perimeter_mid_ZN_1_Ceiling, !- Name + Ceiling, !- Surface Type + DropCeiling, !- Construction Name + Perimeter_mid_ZN_1, !- Zone Name + Surface, !- Outside Boundary Condition + MidFloor_Plenum_Floor_1, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + AutoCalculate, !- View Factor to Ground + 4, !- Number of Vertices + 4.5732,4.5732,22.5600, !- X,Y,Z ==> Vertex 1 {m} + 0.0000,0.0000,22.5600, !- X,Y,Z ==> Vertex 2 {m} + 73.1072,0.0000,22.5600, !- X,Y,Z ==> Vertex 3 {m} + 68.5340,4.5732,22.5600; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Perimeter_mid_ZN_1_Floor,!- Name + Floor, !- Surface Type + INT-FLOOR-TOPSIDE, !- Construction Name + Perimeter_mid_ZN_1, !- Zone Name + Surface, !- Outside Boundary Condition + Perimeter_mid_ZN_1_Floor,!- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + AutoCalculate, !- View Factor to Ground + 4, !- Number of Vertices + 68.5340,4.5732,19.8160, !- X,Y,Z ==> Vertex 1 {m} + 73.1072,0.0000,19.8160, !- X,Y,Z ==> Vertex 2 {m} + 0.0000,0.0000,19.8160, !- X,Y,Z ==> Vertex 3 {m} + 4.5732,4.5732,19.8160; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Perimeter_mid_ZN_1_Wall_East, !- Name + Wall, !- Surface Type + int-walls, !- Construction Name + Perimeter_mid_ZN_1, !- Zone Name + Surface, !- Outside Boundary Condition + Perimeter_mid_ZN_2_Wall_South, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + AutoCalculate, !- View Factor to Ground + 4, !- Number of Vertices + 73.1072,0.0000,22.5600, !- X,Y,Z ==> Vertex 1 {m} + 73.1072,0.0000,19.8160, !- X,Y,Z ==> Vertex 2 {m} + 68.5340,4.5732,19.8160, !- X,Y,Z ==> Vertex 3 {m} + 68.5340,4.5732,22.5600; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Perimeter_mid_ZN_1_Wall_North, !- Name + Wall, !- Surface Type + int-walls, !- Construction Name + Perimeter_mid_ZN_1, !- Zone Name + Surface, !- Outside Boundary Condition + Core_mid_ZN_5_Wall_South,!- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + AutoCalculate, !- View Factor to Ground + 4, !- Number of Vertices + 68.5340,4.5732,22.5600, !- X,Y,Z ==> Vertex 1 {m} + 68.5340,4.5732,19.8160, !- X,Y,Z ==> Vertex 2 {m} + 4.5732,4.5732,19.8160, !- X,Y,Z ==> Vertex 3 {m} + 4.5732,4.5732,22.5600; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Perimeter_mid_ZN_1_Wall_South, !- Name + Wall, !- Surface Type + Mass Non-res Ext Wall, !- Construction Name + Perimeter_mid_ZN_1, !- Zone Name + Outdoors, !- Outside Boundary Condition + , !- Outside Boundary Condition Object + SunExposed, !- Sun Exposure + WindExposed, !- Wind Exposure + AutoCalculate, !- View Factor to Ground + 4, !- Number of Vertices + 0.0000,0.0000,22.5600, !- X,Y,Z ==> Vertex 1 {m} + 0.0000,0.0000,19.8160, !- X,Y,Z ==> Vertex 2 {m} + 73.1072,0.0000,19.8160, !- X,Y,Z ==> Vertex 3 {m} + 73.1072,0.0000,22.5600; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Perimeter_mid_ZN_1_Wall_West, !- Name + Wall, !- Surface Type + int-walls, !- Construction Name + Perimeter_mid_ZN_1, !- Zone Name + Surface, !- Outside Boundary Condition + Perimeter_mid_ZN_4_Wall_South, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + AutoCalculate, !- View Factor to Ground + 4, !- Number of Vertices + 4.5732,4.5732,22.5600, !- X,Y,Z ==> Vertex 1 {m} + 4.5732,4.5732,19.8160, !- X,Y,Z ==> Vertex 2 {m} + 0.0000,0.0000,19.8160, !- X,Y,Z ==> Vertex 3 {m} + 0.0000,0.0000,22.5600; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Perimeter_mid_ZN_2_Ceiling, !- Name + Ceiling, !- Surface Type + DropCeiling, !- Construction Name + Perimeter_mid_ZN_2, !- Zone Name + Surface, !- Outside Boundary Condition + MidFloor_Plenum_Floor_2, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + AutoCalculate, !- View Factor to Ground + 4, !- Number of Vertices + 68.5340,4.5732,22.5600, !- X,Y,Z ==> Vertex 1 {m} + 73.1072,0.0000,22.5600, !- X,Y,Z ==> Vertex 2 {m} + 73.1072,48.7381,22.5600, !- X,Y,Z ==> Vertex 3 {m} + 68.5340,44.1650,22.5600; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Perimeter_mid_ZN_2_Floor,!- Name + Floor, !- Surface Type + INT-FLOOR-TOPSIDE, !- Construction Name + Perimeter_mid_ZN_2, !- Zone Name + Surface, !- Outside Boundary Condition + Perimeter_mid_ZN_2_Floor,!- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + AutoCalculate, !- View Factor to Ground + 4, !- Number of Vertices + 68.5340,44.1650,19.8160, !- X,Y,Z ==> Vertex 1 {m} + 73.1072,48.7381,19.8160, !- X,Y,Z ==> Vertex 2 {m} + 73.1072,0.0000,19.8160, !- X,Y,Z ==> Vertex 3 {m} + 68.5340,4.5732,19.8160; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Perimeter_mid_ZN_2_Wall_East, !- Name + Wall, !- Surface Type + Mass Non-res Ext Wall, !- Construction Name + Perimeter_mid_ZN_2, !- Zone Name + Outdoors, !- Outside Boundary Condition + , !- Outside Boundary Condition Object + SunExposed, !- Sun Exposure + WindExposed, !- Wind Exposure + AutoCalculate, !- View Factor to Ground + 4, !- Number of Vertices + 73.1072,0.0000,22.5600, !- X,Y,Z ==> Vertex 1 {m} + 73.1072,0.0000,19.8160, !- X,Y,Z ==> Vertex 2 {m} + 73.1072,48.7381,19.8160, !- X,Y,Z ==> Vertex 3 {m} + 73.1072,48.7381,22.5600; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Perimeter_mid_ZN_2_Wall_North, !- Name + Wall, !- Surface Type + int-walls, !- Construction Name + Perimeter_mid_ZN_2, !- Zone Name + Surface, !- Outside Boundary Condition + Perimeter_mid_ZN_3_Wall_East, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + AutoCalculate, !- View Factor to Ground + 4, !- Number of Vertices + 73.1072,48.7381,22.5600, !- X,Y,Z ==> Vertex 1 {m} + 73.1072,48.7381,19.8160, !- X,Y,Z ==> Vertex 2 {m} + 68.5340,44.1650,19.8160, !- X,Y,Z ==> Vertex 3 {m} + 68.5340,44.1650,22.5600; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Perimeter_mid_ZN_2_Wall_South, !- Name + Wall, !- Surface Type + int-walls, !- Construction Name + Perimeter_mid_ZN_2, !- Zone Name + Surface, !- Outside Boundary Condition + Perimeter_mid_ZN_1_Wall_East, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + AutoCalculate, !- View Factor to Ground + 4, !- Number of Vertices + 68.5340,4.5732,22.5600, !- X,Y,Z ==> Vertex 1 {m} + 68.5340,4.5732,19.8160, !- X,Y,Z ==> Vertex 2 {m} + 73.1072,0.0000,19.8160, !- X,Y,Z ==> Vertex 3 {m} + 73.1072,0.0000,22.5600; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Perimeter_mid_ZN_2_Wall_West, !- Name + Wall, !- Surface Type + int-walls, !- Construction Name + Perimeter_mid_ZN_2, !- Zone Name + Surface, !- Outside Boundary Condition + Core_mid_ZN_5_Wall_East, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + AutoCalculate, !- View Factor to Ground + 4, !- Number of Vertices + 68.5340,44.1650,22.5600, !- X,Y,Z ==> Vertex 1 {m} + 68.5340,44.1650,19.8160, !- X,Y,Z ==> Vertex 2 {m} + 68.5340,4.5732,19.8160, !- X,Y,Z ==> Vertex 3 {m} + 68.5340,4.5732,22.5600; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Perimeter_mid_ZN_3_Ceiling, !- Name + Ceiling, !- Surface Type + DropCeiling, !- Construction Name + Perimeter_mid_ZN_3, !- Zone Name + Surface, !- Outside Boundary Condition + MidFloor_Plenum_Floor_3, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + AutoCalculate, !- View Factor to Ground + 4, !- Number of Vertices + 68.5340,44.1650,22.5600, !- X,Y,Z ==> Vertex 1 {m} + 73.1072,48.7381,22.5600, !- X,Y,Z ==> Vertex 2 {m} + 0.0000,48.7381,22.5600, !- X,Y,Z ==> Vertex 3 {m} + 4.5732,44.1650,22.5600; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Perimeter_mid_ZN_3_Floor,!- Name + Floor, !- Surface Type + INT-FLOOR-TOPSIDE, !- Construction Name + Perimeter_mid_ZN_3, !- Zone Name + Surface, !- Outside Boundary Condition + Perimeter_mid_ZN_3_Floor,!- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + AutoCalculate, !- View Factor to Ground + 4, !- Number of Vertices + 4.5732,44.1650,19.8160, !- X,Y,Z ==> Vertex 1 {m} + 0.0000,48.7381,19.8160, !- X,Y,Z ==> Vertex 2 {m} + 73.1072,48.7381,19.8160, !- X,Y,Z ==> Vertex 3 {m} + 68.5340,44.1650,19.8160; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Perimeter_mid_ZN_3_Wall_East, !- Name + Wall, !- Surface Type + int-walls, !- Construction Name + Perimeter_mid_ZN_3, !- Zone Name + Surface, !- Outside Boundary Condition + Perimeter_mid_ZN_2_Wall_North, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + AutoCalculate, !- View Factor to Ground + 4, !- Number of Vertices + 68.5340,44.1650,22.5600, !- X,Y,Z ==> Vertex 1 {m} + 68.5340,44.1650,19.8160, !- X,Y,Z ==> Vertex 2 {m} + 73.1072,48.7381,19.8160, !- X,Y,Z ==> Vertex 3 {m} + 73.1072,48.7381,22.5600; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Perimeter_mid_ZN_3_Wall_North, !- Name + Wall, !- Surface Type + Mass Non-res Ext Wall, !- Construction Name + Perimeter_mid_ZN_3, !- Zone Name + Outdoors, !- Outside Boundary Condition + , !- Outside Boundary Condition Object + SunExposed, !- Sun Exposure + WindExposed, !- Wind Exposure + AutoCalculate, !- View Factor to Ground + 4, !- Number of Vertices + 73.1072,48.7381,22.5600, !- X,Y,Z ==> Vertex 1 {m} + 73.1072,48.7381,19.8160, !- X,Y,Z ==> Vertex 2 {m} + 0.0000,48.7381,19.8160, !- X,Y,Z ==> Vertex 3 {m} + 0.0000,48.7381,22.5600; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Perimeter_mid_ZN_3_Wall_South, !- Name + Wall, !- Surface Type + int-walls, !- Construction Name + Perimeter_mid_ZN_3, !- Zone Name + Surface, !- Outside Boundary Condition + Core_mid_ZN_5_Wall_North,!- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + AutoCalculate, !- View Factor to Ground + 4, !- Number of Vertices + 4.5732,44.1650,22.5600, !- X,Y,Z ==> Vertex 1 {m} + 4.5732,44.1650,19.8160, !- X,Y,Z ==> Vertex 2 {m} + 68.5340,44.1650,19.8160, !- X,Y,Z ==> Vertex 3 {m} + 68.5340,44.1650,22.5600; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Perimeter_mid_ZN_3_Wall_West, !- Name + Wall, !- Surface Type + int-walls, !- Construction Name + Perimeter_mid_ZN_3, !- Zone Name + Surface, !- Outside Boundary Condition + Perimeter_mid_ZN_4_Wall_North, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + AutoCalculate, !- View Factor to Ground + 4, !- Number of Vertices + 0.0000,48.7381,22.5600, !- X,Y,Z ==> Vertex 1 {m} + 0.0000,48.7381,19.8160, !- X,Y,Z ==> Vertex 2 {m} + 4.5732,44.1650,19.8160, !- X,Y,Z ==> Vertex 3 {m} + 4.5732,44.1650,22.5600; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Perimeter_mid_ZN_4_Ceiling, !- Name + Ceiling, !- Surface Type + DropCeiling, !- Construction Name + Perimeter_mid_ZN_4, !- Zone Name + Surface, !- Outside Boundary Condition + MidFloor_Plenum_Floor_4, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + AutoCalculate, !- View Factor to Ground + 4, !- Number of Vertices + 4.5732,44.1650,22.5600, !- X,Y,Z ==> Vertex 1 {m} + 0.0000,48.7381,22.5600, !- X,Y,Z ==> Vertex 2 {m} + 0.0000,0.0000,22.5600, !- X,Y,Z ==> Vertex 3 {m} + 4.5732,4.5732,22.5600; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Perimeter_mid_ZN_4_Floor,!- Name + Floor, !- Surface Type + INT-FLOOR-TOPSIDE, !- Construction Name + Perimeter_mid_ZN_4, !- Zone Name + Surface, !- Outside Boundary Condition + Perimeter_mid_ZN_4_Floor,!- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + AutoCalculate, !- View Factor to Ground + 4, !- Number of Vertices + 4.5732,4.5732,19.8160, !- X,Y,Z ==> Vertex 1 {m} + 0.0000,0.0000,19.8160, !- X,Y,Z ==> Vertex 2 {m} + 0.0000,48.7381,19.8160, !- X,Y,Z ==> Vertex 3 {m} + 4.5732,44.1650,19.8160; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Perimeter_mid_ZN_4_Wall_East, !- Name + Wall, !- Surface Type + int-walls, !- Construction Name + Perimeter_mid_ZN_4, !- Zone Name + Surface, !- Outside Boundary Condition + Core_mid_ZN_5_Wall_West, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + AutoCalculate, !- View Factor to Ground + 4, !- Number of Vertices + 4.5732,4.5732,22.5600, !- X,Y,Z ==> Vertex 1 {m} + 4.5732,4.5732,19.8160, !- X,Y,Z ==> Vertex 2 {m} + 4.5732,44.1650,19.8160, !- X,Y,Z ==> Vertex 3 {m} + 4.5732,44.1650,22.5600; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Perimeter_mid_ZN_4_Wall_North, !- Name + Wall, !- Surface Type + int-walls, !- Construction Name + Perimeter_mid_ZN_4, !- Zone Name + Surface, !- Outside Boundary Condition + Perimeter_mid_ZN_3_Wall_West, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + AutoCalculate, !- View Factor to Ground + 4, !- Number of Vertices + 4.5732,44.1650,22.5600, !- X,Y,Z ==> Vertex 1 {m} + 4.5732,44.1650,19.8160, !- X,Y,Z ==> Vertex 2 {m} + 0.0000,48.7381,19.8160, !- X,Y,Z ==> Vertex 3 {m} + 0.0000,48.7381,22.5600; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Perimeter_mid_ZN_4_Wall_South, !- Name + Wall, !- Surface Type + int-walls, !- Construction Name + Perimeter_mid_ZN_4, !- Zone Name + Surface, !- Outside Boundary Condition + Perimeter_mid_ZN_1_Wall_West, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + AutoCalculate, !- View Factor to Ground + 4, !- Number of Vertices + 0.0000,0.0000,22.5600, !- X,Y,Z ==> Vertex 1 {m} + 0.0000,0.0000,19.8160, !- X,Y,Z ==> Vertex 2 {m} + 4.5732,4.5732,19.8160, !- X,Y,Z ==> Vertex 3 {m} + 4.5732,4.5732,22.5600; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Perimeter_mid_ZN_4_Wall_West, !- Name + Wall, !- Surface Type + Mass Non-res Ext Wall, !- Construction Name + Perimeter_mid_ZN_4, !- Zone Name + Outdoors, !- Outside Boundary Condition + , !- Outside Boundary Condition Object + SunExposed, !- Sun Exposure + WindExposed, !- Wind Exposure + AutoCalculate, !- View Factor to Ground + 4, !- Number of Vertices + 0.0000,48.7381,22.5600, !- X,Y,Z ==> Vertex 1 {m} + 0.0000,48.7381,19.8160, !- X,Y,Z ==> Vertex 2 {m} + 0.0000,0.0000,19.8160, !- X,Y,Z ==> Vertex 3 {m} + 0.0000,0.0000,22.5600; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Perimeter_top_ZN_1_Ceiling, !- Name + Ceiling, !- Surface Type + DropCeiling, !- Construction Name + Perimeter_top_ZN_1, !- Zone Name + Surface, !- Outside Boundary Condition + TopFloor_Plenum_Floor_1, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + AutoCalculate, !- View Factor to Ground + 4, !- Number of Vertices + 4.5732,4.5732,46.3392, !- X,Y,Z ==> Vertex 1 {m} + 0.0000,0.0000,46.3392, !- X,Y,Z ==> Vertex 2 {m} + 73.1072,0.0000,46.3392, !- X,Y,Z ==> Vertex 3 {m} + 68.5340,4.5732,46.3392; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Perimeter_top_ZN_1_Floor,!- Name + Floor, !- Surface Type + INT-FLOOR-TOPSIDE, !- Construction Name + Perimeter_top_ZN_1, !- Zone Name + Surface, !- Outside Boundary Condition + Perimeter_top_ZN_1_Floor,!- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + AutoCalculate, !- View Factor to Ground + 4, !- Number of Vertices + 68.5340,4.5732,43.5952, !- X,Y,Z ==> Vertex 1 {m} + 73.1072,0.0000,43.5952, !- X,Y,Z ==> Vertex 2 {m} + 0.0000,0.0000,43.5952, !- X,Y,Z ==> Vertex 3 {m} + 4.5732,4.5732,43.5952; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Perimeter_top_ZN_1_Wall_East, !- Name + Wall, !- Surface Type + int-walls, !- Construction Name + Perimeter_top_ZN_1, !- Zone Name + Surface, !- Outside Boundary Condition + Perimeter_top_ZN_2_Wall_South, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + AutoCalculate, !- View Factor to Ground + 4, !- Number of Vertices + 73.1072,0.0000,46.3392, !- X,Y,Z ==> Vertex 1 {m} + 73.1072,0.0000,43.5952, !- X,Y,Z ==> Vertex 2 {m} + 68.5340,4.5732,43.5952, !- X,Y,Z ==> Vertex 3 {m} + 68.5340,4.5732,46.3392; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Perimeter_top_ZN_1_Wall_North, !- Name + Wall, !- Surface Type + int-walls, !- Construction Name + Perimeter_top_ZN_1, !- Zone Name + Surface, !- Outside Boundary Condition + Core_top_ZN_5_Wall_South,!- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + AutoCalculate, !- View Factor to Ground + 4, !- Number of Vertices + 68.5340,4.5732,46.3392, !- X,Y,Z ==> Vertex 1 {m} + 68.5340,4.5732,43.5952, !- X,Y,Z ==> Vertex 2 {m} + 4.5732,4.5732,43.5952, !- X,Y,Z ==> Vertex 3 {m} + 4.5732,4.5732,46.3392; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Perimeter_top_ZN_1_Wall_South, !- Name + Wall, !- Surface Type + Mass Non-res Ext Wall, !- Construction Name + Perimeter_top_ZN_1, !- Zone Name + Outdoors, !- Outside Boundary Condition + , !- Outside Boundary Condition Object + SunExposed, !- Sun Exposure + WindExposed, !- Wind Exposure + AutoCalculate, !- View Factor to Ground + 4, !- Number of Vertices + 0.0000,0.0000,46.3392, !- X,Y,Z ==> Vertex 1 {m} + 0.0000,0.0000,43.5952, !- X,Y,Z ==> Vertex 2 {m} + 73.1072,0.0000,43.5952, !- X,Y,Z ==> Vertex 3 {m} + 73.1072,0.0000,46.3392; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Perimeter_top_ZN_1_Wall_West, !- Name + Wall, !- Surface Type + int-walls, !- Construction Name + Perimeter_top_ZN_1, !- Zone Name + Surface, !- Outside Boundary Condition + Perimeter_top_ZN_4_Wall_South, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + AutoCalculate, !- View Factor to Ground + 4, !- Number of Vertices + 4.5732,4.5732,46.3392, !- X,Y,Z ==> Vertex 1 {m} + 4.5732,4.5732,43.5952, !- X,Y,Z ==> Vertex 2 {m} + 0.0000,0.0000,43.5952, !- X,Y,Z ==> Vertex 3 {m} + 0.0000,0.0000,46.3392; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Perimeter_top_ZN_2_Ceiling, !- Name + Ceiling, !- Surface Type + DropCeiling, !- Construction Name + Perimeter_top_ZN_2, !- Zone Name + Surface, !- Outside Boundary Condition + TopFloor_Plenum_Floor_2, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + AutoCalculate, !- View Factor to Ground + 4, !- Number of Vertices + 68.5340,4.5732,46.3392, !- X,Y,Z ==> Vertex 1 {m} + 73.1072,0.0000,46.3392, !- X,Y,Z ==> Vertex 2 {m} + 73.1072,48.7381,46.3392, !- X,Y,Z ==> Vertex 3 {m} + 68.5340,44.1650,46.3392; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Perimeter_top_ZN_2_Floor,!- Name + Floor, !- Surface Type + INT-FLOOR-TOPSIDE, !- Construction Name + Perimeter_top_ZN_2, !- Zone Name + Surface, !- Outside Boundary Condition + Perimeter_top_ZN_2_Floor,!- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + AutoCalculate, !- View Factor to Ground + 4, !- Number of Vertices + 68.5340,44.1650,43.5952, !- X,Y,Z ==> Vertex 1 {m} + 73.1072,48.7381,43.5952, !- X,Y,Z ==> Vertex 2 {m} + 73.1072,0.0000,43.5952, !- X,Y,Z ==> Vertex 3 {m} + 68.5340,4.5732,43.5952; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Perimeter_top_ZN_2_Wall_East, !- Name + Wall, !- Surface Type + Mass Non-res Ext Wall, !- Construction Name + Perimeter_top_ZN_2, !- Zone Name + Outdoors, !- Outside Boundary Condition + , !- Outside Boundary Condition Object + SunExposed, !- Sun Exposure + WindExposed, !- Wind Exposure + AutoCalculate, !- View Factor to Ground + 4, !- Number of Vertices + 73.1072,0.0000,46.3392, !- X,Y,Z ==> Vertex 1 {m} + 73.1072,0.0000,43.5952, !- X,Y,Z ==> Vertex 2 {m} + 73.1072,48.7381,43.5952, !- X,Y,Z ==> Vertex 3 {m} + 73.1072,48.7381,46.3392; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Perimeter_top_ZN_2_Wall_North, !- Name + Wall, !- Surface Type + int-walls, !- Construction Name + Perimeter_top_ZN_2, !- Zone Name + Surface, !- Outside Boundary Condition + Perimeter_top_ZN_3_Wall_East, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + AutoCalculate, !- View Factor to Ground + 4, !- Number of Vertices + 73.1072,48.7381,46.3392, !- X,Y,Z ==> Vertex 1 {m} + 73.1072,48.7381,43.5952, !- X,Y,Z ==> Vertex 2 {m} + 68.5340,44.1650,43.5952, !- X,Y,Z ==> Vertex 3 {m} + 68.5340,44.1650,46.3392; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Perimeter_top_ZN_2_Wall_South, !- Name + Wall, !- Surface Type + int-walls, !- Construction Name + Perimeter_top_ZN_2, !- Zone Name + Surface, !- Outside Boundary Condition + Perimeter_top_ZN_1_Wall_East, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + AutoCalculate, !- View Factor to Ground + 4, !- Number of Vertices + 68.5340,4.5732,46.3392, !- X,Y,Z ==> Vertex 1 {m} + 68.5340,4.5732,43.5952, !- X,Y,Z ==> Vertex 2 {m} + 73.1072,0.0000,43.5952, !- X,Y,Z ==> Vertex 3 {m} + 73.1072,0.0000,46.3392; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Perimeter_top_ZN_2_Wall_West, !- Name + Wall, !- Surface Type + int-walls, !- Construction Name + Perimeter_top_ZN_2, !- Zone Name + Surface, !- Outside Boundary Condition + Core_top_ZN_5_Wall_East, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + AutoCalculate, !- View Factor to Ground + 4, !- Number of Vertices + 68.5340,44.1650,46.3392, !- X,Y,Z ==> Vertex 1 {m} + 68.5340,44.1650,43.5952, !- X,Y,Z ==> Vertex 2 {m} + 68.5340,4.5732,43.5952, !- X,Y,Z ==> Vertex 3 {m} + 68.5340,4.5732,46.3392; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Perimeter_top_ZN_3_Ceiling, !- Name + Ceiling, !- Surface Type + DropCeiling, !- Construction Name + Perimeter_top_ZN_3, !- Zone Name + Surface, !- Outside Boundary Condition + TopFloor_Plenum_Floor_3, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + AutoCalculate, !- View Factor to Ground + 4, !- Number of Vertices + 68.5340,44.1650,46.3392, !- X,Y,Z ==> Vertex 1 {m} + 73.1072,48.7381,46.3392, !- X,Y,Z ==> Vertex 2 {m} + 0.0000,48.7381,46.3392, !- X,Y,Z ==> Vertex 3 {m} + 4.5732,44.1650,46.3392; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Perimeter_top_ZN_3_Floor,!- Name + Floor, !- Surface Type + INT-FLOOR-TOPSIDE, !- Construction Name + Perimeter_top_ZN_3, !- Zone Name + Surface, !- Outside Boundary Condition + Perimeter_top_ZN_3_Floor,!- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + AutoCalculate, !- View Factor to Ground + 4, !- Number of Vertices + 4.5732,44.1650,43.5952, !- X,Y,Z ==> Vertex 1 {m} + 0.0000,48.7381,43.5952, !- X,Y,Z ==> Vertex 2 {m} + 73.1072,48.7381,43.5952, !- X,Y,Z ==> Vertex 3 {m} + 68.5340,44.1650,43.5952; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Perimeter_top_ZN_3_Wall_East, !- Name + Wall, !- Surface Type + int-walls, !- Construction Name + Perimeter_top_ZN_3, !- Zone Name + Surface, !- Outside Boundary Condition + Perimeter_top_ZN_2_Wall_North, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + AutoCalculate, !- View Factor to Ground + 4, !- Number of Vertices + 68.5340,44.1650,46.3392, !- X,Y,Z ==> Vertex 1 {m} + 68.5340,44.1650,43.5952, !- X,Y,Z ==> Vertex 2 {m} + 73.1072,48.7381,43.5952, !- X,Y,Z ==> Vertex 3 {m} + 73.1072,48.7381,46.3392; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Perimeter_top_ZN_3_Wall_North, !- Name + Wall, !- Surface Type + Mass Non-res Ext Wall, !- Construction Name + Perimeter_top_ZN_3, !- Zone Name + Outdoors, !- Outside Boundary Condition + , !- Outside Boundary Condition Object + SunExposed, !- Sun Exposure + WindExposed, !- Wind Exposure + AutoCalculate, !- View Factor to Ground + 4, !- Number of Vertices + 73.1072,48.7381,46.3392, !- X,Y,Z ==> Vertex 1 {m} + 73.1072,48.7381,43.5952, !- X,Y,Z ==> Vertex 2 {m} + 0.0000,48.7381,43.5952, !- X,Y,Z ==> Vertex 3 {m} + 0.0000,48.7381,46.3392; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Perimeter_top_ZN_3_Wall_South, !- Name + Wall, !- Surface Type + int-walls, !- Construction Name + Perimeter_top_ZN_3, !- Zone Name + Surface, !- Outside Boundary Condition + Core_top_ZN_5_Wall_North,!- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + AutoCalculate, !- View Factor to Ground + 4, !- Number of Vertices + 4.5732,44.1650,46.3392, !- X,Y,Z ==> Vertex 1 {m} + 4.5732,44.1650,43.5952, !- X,Y,Z ==> Vertex 2 {m} + 68.5340,44.1650,43.5952, !- X,Y,Z ==> Vertex 3 {m} + 68.5340,44.1650,46.3392; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Perimeter_top_ZN_3_Wall_West, !- Name + Wall, !- Surface Type + int-walls, !- Construction Name + Perimeter_top_ZN_3, !- Zone Name + Surface, !- Outside Boundary Condition + Perimeter_top_ZN_4_Wall_North, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + AutoCalculate, !- View Factor to Ground + 4, !- Number of Vertices + 0.0000,48.7381,46.3392, !- X,Y,Z ==> Vertex 1 {m} + 0.0000,48.7381,43.5952, !- X,Y,Z ==> Vertex 2 {m} + 4.5732,44.1650,43.5952, !- X,Y,Z ==> Vertex 3 {m} + 4.5732,44.1650,46.3392; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Perimeter_top_ZN_4_Ceiling, !- Name + Ceiling, !- Surface Type + DropCeiling, !- Construction Name + Perimeter_top_ZN_4, !- Zone Name + Surface, !- Outside Boundary Condition + TopFloor_Plenum_Floor_4, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + AutoCalculate, !- View Factor to Ground + 4, !- Number of Vertices + 4.5732,44.1650,46.3392, !- X,Y,Z ==> Vertex 1 {m} + 0.0000,48.7381,46.3392, !- X,Y,Z ==> Vertex 2 {m} + 0.0000,0.0000,46.3392, !- X,Y,Z ==> Vertex 3 {m} + 4.5732,4.5732,46.3392; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Perimeter_top_ZN_4_Floor,!- Name + Floor, !- Surface Type + INT-FLOOR-TOPSIDE, !- Construction Name + Perimeter_top_ZN_4, !- Zone Name + Surface, !- Outside Boundary Condition + Perimeter_top_ZN_4_Floor,!- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + AutoCalculate, !- View Factor to Ground + 4, !- Number of Vertices + 4.5732,4.5732,43.5952, !- X,Y,Z ==> Vertex 1 {m} + 0.0000,0.0000,43.5952, !- X,Y,Z ==> Vertex 2 {m} + 0.0000,48.7381,43.5952, !- X,Y,Z ==> Vertex 3 {m} + 4.5732,44.1650,43.5952; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Perimeter_top_ZN_4_Wall_East, !- Name + Wall, !- Surface Type + int-walls, !- Construction Name + Perimeter_top_ZN_4, !- Zone Name + Surface, !- Outside Boundary Condition + Core_top_ZN_5_Wall_West, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + AutoCalculate, !- View Factor to Ground + 4, !- Number of Vertices + 4.5732,4.5732,46.3392, !- X,Y,Z ==> Vertex 1 {m} + 4.5732,4.5732,43.5952, !- X,Y,Z ==> Vertex 2 {m} + 4.5732,44.1650,43.5952, !- X,Y,Z ==> Vertex 3 {m} + 4.5732,44.1650,46.3392; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Perimeter_top_ZN_4_Wall_North, !- Name + Wall, !- Surface Type + int-walls, !- Construction Name + Perimeter_top_ZN_4, !- Zone Name + Surface, !- Outside Boundary Condition + Perimeter_top_ZN_3_Wall_West, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + AutoCalculate, !- View Factor to Ground + 4, !- Number of Vertices + 4.5732,44.1650,46.3392, !- X,Y,Z ==> Vertex 1 {m} + 4.5732,44.1650,43.5952, !- X,Y,Z ==> Vertex 2 {m} + 0.0000,48.7381,43.5952, !- X,Y,Z ==> Vertex 3 {m} + 0.0000,48.7381,46.3392; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Perimeter_top_ZN_4_Wall_South, !- Name + Wall, !- Surface Type + int-walls, !- Construction Name + Perimeter_top_ZN_4, !- Zone Name + Surface, !- Outside Boundary Condition + Perimeter_top_ZN_1_Wall_West, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + AutoCalculate, !- View Factor to Ground + 4, !- Number of Vertices + 0.0000,0.0000,46.3392, !- X,Y,Z ==> Vertex 1 {m} + 0.0000,0.0000,43.5952, !- X,Y,Z ==> Vertex 2 {m} + 4.5732,4.5732,43.5952, !- X,Y,Z ==> Vertex 3 {m} + 4.5732,4.5732,46.3392; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Perimeter_top_ZN_4_Wall_West, !- Name + Wall, !- Surface Type + Mass Non-res Ext Wall, !- Construction Name + Perimeter_top_ZN_4, !- Zone Name + Outdoors, !- Outside Boundary Condition + , !- Outside Boundary Condition Object + SunExposed, !- Sun Exposure + WindExposed, !- Wind Exposure + AutoCalculate, !- View Factor to Ground + 4, !- Number of Vertices + 0.0000,48.7381,46.3392, !- X,Y,Z ==> Vertex 1 {m} + 0.0000,48.7381,43.5952, !- X,Y,Z ==> Vertex 2 {m} + 0.0000,0.0000,43.5952, !- X,Y,Z ==> Vertex 3 {m} + 0.0000,0.0000,46.3392; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + TopFloor_Plenum_Floor_1, !- Name + Floor, !- Surface Type + DropCeiling, !- Construction Name + TopFloor_Plenum, !- Zone Name + Surface, !- Outside Boundary Condition + Perimeter_top_ZN_1_Ceiling, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + AutoCalculate, !- View Factor to Ground + 4, !- Number of Vertices + 73.1072,0.0000,46.3392, !- X,Y,Z ==> Vertex 1 {m} + 0.0000,0.0000,46.3392, !- X,Y,Z ==> Vertex 2 {m} + 4.5732,4.5732,46.3392, !- X,Y,Z ==> Vertex 3 {m} + 68.5340,4.5732,46.3392; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + TopFloor_Plenum_Floor_2, !- Name + Floor, !- Surface Type + DropCeiling, !- Construction Name + TopFloor_Plenum, !- Zone Name + Surface, !- Outside Boundary Condition + Perimeter_top_ZN_2_Ceiling, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + AutoCalculate, !- View Factor to Ground + 4, !- Number of Vertices + 73.1072,0.0000,46.3392, !- X,Y,Z ==> Vertex 1 {m} + 68.5340,4.5732,46.3392, !- X,Y,Z ==> Vertex 2 {m} + 68.5340,44.1650,46.3392, !- X,Y,Z ==> Vertex 3 {m} + 73.1072,48.7381,46.3392; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + TopFloor_Plenum_Floor_3, !- Name + Floor, !- Surface Type + DropCeiling, !- Construction Name + TopFloor_Plenum, !- Zone Name + Surface, !- Outside Boundary Condition + Perimeter_top_ZN_3_Ceiling, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + AutoCalculate, !- View Factor to Ground + 4, !- Number of Vertices + 0.0000,48.7381,46.3392, !- X,Y,Z ==> Vertex 1 {m} + 73.1072,48.7381,46.3392, !- X,Y,Z ==> Vertex 2 {m} + 68.5340,44.1650,46.3392, !- X,Y,Z ==> Vertex 3 {m} + 4.5732,44.1650,46.3392; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + TopFloor_Plenum_Floor_4, !- Name + Floor, !- Surface Type + DropCeiling, !- Construction Name + TopFloor_Plenum, !- Zone Name + Surface, !- Outside Boundary Condition + Perimeter_top_ZN_4_Ceiling, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + AutoCalculate, !- View Factor to Ground + 4, !- Number of Vertices + 0.0000,0.0000,46.3392, !- X,Y,Z ==> Vertex 1 {m} + 0.0000,48.7381,46.3392, !- X,Y,Z ==> Vertex 2 {m} + 4.5732,44.1650,46.3392, !- X,Y,Z ==> Vertex 3 {m} + 4.5732,4.5732,46.3392; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + TopFloor_Plenum_Floor_5, !- Name + Floor, !- Surface Type + DropCeiling, !- Construction Name + TopFloor_Plenum, !- Zone Name + Surface, !- Outside Boundary Condition + Core_top_ZN_5_Ceiling, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + AutoCalculate, !- View Factor to Ground + 4, !- Number of Vertices + 4.5732,44.1650,46.3392, !- X,Y,Z ==> Vertex 1 {m} + 68.5340,44.1650,46.3392, !- X,Y,Z ==> Vertex 2 {m} + 68.5340,4.5732,46.3392, !- X,Y,Z ==> Vertex 3 {m} + 4.5732,4.5732,46.3392; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + TopFloor_Plenum_Wall_East, !- Name + Wall, !- Surface Type + Mass Non-res Ext Wall, !- Construction Name + TopFloor_Plenum, !- Zone Name + Outdoors, !- Outside Boundary Condition + , !- Outside Boundary Condition Object + SunExposed, !- Sun Exposure + WindExposed, !- Wind Exposure + AutoCalculate, !- View Factor to Ground + 4, !- Number of Vertices + 73.1072,0.0000,47.5584, !- X,Y,Z ==> Vertex 1 {m} + 73.1072,0.0000,46.3392, !- X,Y,Z ==> Vertex 2 {m} + 73.1072,48.7381,46.3392, !- X,Y,Z ==> Vertex 3 {m} + 73.1072,48.7381,47.5584; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + TopFloor_Plenum_Wall_North, !- Name + Wall, !- Surface Type + Mass Non-res Ext Wall, !- Construction Name + TopFloor_Plenum, !- Zone Name + Outdoors, !- Outside Boundary Condition + , !- Outside Boundary Condition Object + SunExposed, !- Sun Exposure + WindExposed, !- Wind Exposure + AutoCalculate, !- View Factor to Ground + 4, !- Number of Vertices + 0.0000,0.0000,47.5584, !- X,Y,Z ==> Vertex 1 {m} + 0.0000,0.0000,46.3392, !- X,Y,Z ==> Vertex 2 {m} + 73.1072,0.0000,46.3392, !- X,Y,Z ==> Vertex 3 {m} + 73.1072,0.0000,47.5584; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + TopFloor_Plenum_Wall_South, !- Name + Wall, !- Surface Type + Mass Non-res Ext Wall, !- Construction Name + TopFloor_Plenum, !- Zone Name + Outdoors, !- Outside Boundary Condition + , !- Outside Boundary Condition Object + SunExposed, !- Sun Exposure + WindExposed, !- Wind Exposure + AutoCalculate, !- View Factor to Ground + 4, !- Number of Vertices + 73.1072,48.7381,47.5584, !- X,Y,Z ==> Vertex 1 {m} + 73.1072,48.7381,46.3392, !- X,Y,Z ==> Vertex 2 {m} + 0.0000,48.7381,46.3392, !- X,Y,Z ==> Vertex 3 {m} + 0.0000,48.7381,47.5584; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + TopFloor_Plenum_Wall_West, !- Name + Wall, !- Surface Type + Mass Non-res Ext Wall, !- Construction Name + TopFloor_Plenum, !- Zone Name + Outdoors, !- Outside Boundary Condition + , !- Outside Boundary Condition Object + SunExposed, !- Sun Exposure + WindExposed, !- Wind Exposure + AutoCalculate, !- View Factor to Ground + 4, !- Number of Vertices + 0.0000,48.7381,47.5584, !- X,Y,Z ==> Vertex 1 {m} + 0.0000,48.7381,46.3392, !- X,Y,Z ==> Vertex 2 {m} + 0.0000,0.0000,46.3392, !- X,Y,Z ==> Vertex 3 {m} + 0.0000,0.0000,47.5584; !- X,Y,Z ==> Vertex 4 {m} + +! ***WINDOWS*** + + FenestrationSurface:Detailed, + Perimeter_bot_ZN_1_Wall_South_Window, !- Name + Window, !- Surface Type + Window Non-res Fixed, !- Construction Name + Perimeter_bot_ZN_1_Wall_South, !- Building Surface Name + , !- Outside Boundary Condition Object + AutoCalculate, !- View Factor to Ground + , !- Shading Control Name + , !- Frame and Divider Name + 1.0000, !- Multiplier + 4, !- Number of Vertices + 0.0000,0.0000,2.5000, !- X,Y,Z ==> Vertex 1 {m} + 0.0000,0.0000,0.9146, !- X,Y,Z ==> Vertex 2 {m} + 73.1070,0.0000,0.9146, !- X,Y,Z ==> Vertex 3 {m} + 73.1070,0.0000,2.5000; !- X,Y,Z ==> Vertex 4 {m} + + FenestrationSurface:Detailed, + Perimeter_bot_ZN_2_Wall_East_Window, !- Name + Window, !- Surface Type + Window Non-res Fixed, !- Construction Name + Perimeter_bot_ZN_2_Wall_East, !- Building Surface Name + , !- Outside Boundary Condition Object + AutoCalculate, !- View Factor to Ground + , !- Shading Control Name + , !- Frame and Divider Name + 1.0000, !- Multiplier + 4, !- Number of Vertices + 73.1072,0.0000,2.5000, !- X,Y,Z ==> Vertex 1 {m} + 73.1072,0.0000,0.9146, !- X,Y,Z ==> Vertex 2 {m} + 73.1072,48.7380,0.9146, !- X,Y,Z ==> Vertex 3 {m} + 73.1072,48.7380,2.5000; !- X,Y,Z ==> Vertex 4 {m} + + FenestrationSurface:Detailed, + Perimeter_bot_ZN_3_Wall_North_Window, !- Name + Window, !- Surface Type + Window Non-res Fixed, !- Construction Name + Perimeter_bot_ZN_3_Wall_North, !- Building Surface Name + , !- Outside Boundary Condition Object + AutoCalculate, !- View Factor to Ground + , !- Shading Control Name + , !- Frame and Divider Name + 1.0000, !- Multiplier + 4, !- Number of Vertices + 73.1070,48.7381,2.5000, !- X,Y,Z ==> Vertex 1 {m} + 73.1070,48.7381,0.9146, !- X,Y,Z ==> Vertex 2 {m} + 0.0000,48.7381,0.9146, !- X,Y,Z ==> Vertex 3 {m} + 0.0000,48.7381,2.5000; !- X,Y,Z ==> Vertex 4 {m} + + FenestrationSurface:Detailed, + Perimeter_bot_ZN_4_Wall_West_Window, !- Name + Window, !- Surface Type + Window Non-res Fixed, !- Construction Name + Perimeter_bot_ZN_4_Wall_West, !- Building Surface Name + , !- Outside Boundary Condition Object + AutoCalculate, !- View Factor to Ground + , !- Shading Control Name + , !- Frame and Divider Name + 1.0000, !- Multiplier + 4, !- Number of Vertices + 0.0000,48.7380,2.5000, !- X,Y,Z ==> Vertex 1 {m} + 0.0000,48.7380,0.9146, !- X,Y,Z ==> Vertex 2 {m} + 0.0000,0.0000,0.9146, !- X,Y,Z ==> Vertex 3 {m} + 0.0000,0.0000,2.5000; !- X,Y,Z ==> Vertex 4 {m} + + FenestrationSurface:Detailed, + Perimeter_mid_ZN_1_Wall_South_Window, !- Name + Window, !- Surface Type + Window Non-res Fixed, !- Construction Name + Perimeter_mid_ZN_1_Wall_South, !- Building Surface Name + , !- Outside Boundary Condition Object + AutoCalculate, !- View Factor to Ground + , !- Shading Control Name + , !- Frame and Divider Name + 1.0000, !- Multiplier + 4, !- Number of Vertices + 0.0000,0.0000,22.3160, !- X,Y,Z ==> Vertex 1 {m} + 0.0000,0.0000,20.7306, !- X,Y,Z ==> Vertex 2 {m} + 73.1070,0.0000,20.7306, !- X,Y,Z ==> Vertex 3 {m} + 73.1070,0.0000,22.3160; !- X,Y,Z ==> Vertex 4 {m} + + FenestrationSurface:Detailed, + Perimeter_mid_ZN_2_Wall_East_Window, !- Name + Window, !- Surface Type + Window Non-res Fixed, !- Construction Name + Perimeter_mid_ZN_2_Wall_East, !- Building Surface Name + , !- Outside Boundary Condition Object + AutoCalculate, !- View Factor to Ground + , !- Shading Control Name + , !- Frame and Divider Name + 1.0000, !- Multiplier + 4, !- Number of Vertices + 73.1072,0.0000,22.3160, !- X,Y,Z ==> Vertex 1 {m} + 73.1072,0.0000,20.7306, !- X,Y,Z ==> Vertex 2 {m} + 73.1072,48.7380,20.7306, !- X,Y,Z ==> Vertex 3 {m} + 73.1072,48.7380,22.3160; !- X,Y,Z ==> Vertex 4 {m} + + FenestrationSurface:Detailed, + Perimeter_mid_ZN_3_Wall_North_Window, !- Name + Window, !- Surface Type + Window Non-res Fixed, !- Construction Name + Perimeter_mid_ZN_3_Wall_North, !- Building Surface Name + , !- Outside Boundary Condition Object + AutoCalculate, !- View Factor to Ground + , !- Shading Control Name + , !- Frame and Divider Name + 1.0000, !- Multiplier + 4, !- Number of Vertices + 73.1070,48.7381,22.3160, !- X,Y,Z ==> Vertex 1 {m} + 73.1070,48.7381,20.7306, !- X,Y,Z ==> Vertex 2 {m} + 0.0000,48.7381,20.7306, !- X,Y,Z ==> Vertex 3 {m} + 0.0000,48.7381,22.3160; !- X,Y,Z ==> Vertex 4 {m} + + FenestrationSurface:Detailed, + Perimeter_mid_ZN_4_Wall_West_Window, !- Name + Window, !- Surface Type + Window Non-res Fixed, !- Construction Name + Perimeter_mid_ZN_4_Wall_West, !- Building Surface Name + , !- Outside Boundary Condition Object + AutoCalculate, !- View Factor to Ground + , !- Shading Control Name + , !- Frame and Divider Name + 1.0000, !- Multiplier + 4, !- Number of Vertices + 0.0000,48.7380,22.3160, !- X,Y,Z ==> Vertex 1 {m} + 0.0000,48.7380,20.7306, !- X,Y,Z ==> Vertex 2 {m} + 0.0000,0.0000,20.7306, !- X,Y,Z ==> Vertex 3 {m} + 0.0000,0.0000,22.3160; !- X,Y,Z ==> Vertex 4 {m} + + FenestrationSurface:Detailed, + Perimeter_top_ZN_1_Wall_South_Window, !- Name + Window, !- Surface Type + Window Non-res Fixed, !- Construction Name + Perimeter_top_ZN_1_Wall_South, !- Building Surface Name + , !- Outside Boundary Condition Object + AutoCalculate, !- View Factor to Ground + , !- Shading Control Name + , !- Frame and Divider Name + 1.0000, !- Multiplier + 4, !- Number of Vertices + 0.0000,0.0000,46.0952, !- X,Y,Z ==> Vertex 1 {m} + 0.0000,0.0000,44.5098, !- X,Y,Z ==> Vertex 2 {m} + 73.1070,0.0000,44.5098, !- X,Y,Z ==> Vertex 3 {m} + 73.1070,0.0000,46.0952; !- X,Y,Z ==> Vertex 4 {m} + + FenestrationSurface:Detailed, + Perimeter_top_ZN_2_Wall_East_Window, !- Name + Window, !- Surface Type + Window Non-res Fixed, !- Construction Name + Perimeter_top_ZN_2_Wall_East, !- Building Surface Name + , !- Outside Boundary Condition Object + AutoCalculate, !- View Factor to Ground + , !- Shading Control Name + , !- Frame and Divider Name + 1.0000, !- Multiplier + 4, !- Number of Vertices + 73.1072,0.0000,46.0952, !- X,Y,Z ==> Vertex 1 {m} + 73.1072,0.0000,44.5098, !- X,Y,Z ==> Vertex 2 {m} + 73.1072,48.7380,44.5098, !- X,Y,Z ==> Vertex 3 {m} + 73.1072,48.7380,46.0952; !- X,Y,Z ==> Vertex 4 {m} + + FenestrationSurface:Detailed, + Perimeter_top_ZN_3_Wall_North_Window, !- Name + Window, !- Surface Type + Window Non-res Fixed, !- Construction Name + Perimeter_top_ZN_3_Wall_North, !- Building Surface Name + , !- Outside Boundary Condition Object + AutoCalculate, !- View Factor to Ground + , !- Shading Control Name + , !- Frame and Divider Name + 1.0000, !- Multiplier + 4, !- Number of Vertices + 73.1070,48.7381,46.0952, !- X,Y,Z ==> Vertex 1 {m} + 73.1070,48.7381,44.5098, !- X,Y,Z ==> Vertex 2 {m} + 0.0000,48.7381,44.5098, !- X,Y,Z ==> Vertex 3 {m} + 0.0000,48.7381,46.0952; !- X,Y,Z ==> Vertex 4 {m} + + FenestrationSurface:Detailed, + Perimeter_top_ZN_4_Wall_West_Window, !- Name + Window, !- Surface Type + Window Non-res Fixed, !- Construction Name + Perimeter_top_ZN_4_Wall_West, !- Building Surface Name + , !- Outside Boundary Condition Object + AutoCalculate, !- View Factor to Ground + , !- Shading Control Name + , !- Frame and Divider Name + 1.0000, !- Multiplier + 4, !- Number of Vertices + 0.0000,48.7380,46.0952, !- X,Y,Z ==> Vertex 1 {m} + 0.0000,48.7380,44.5098, !- X,Y,Z ==> Vertex 2 {m} + 0.0000,0.0000,44.5098, !- X,Y,Z ==> Vertex 3 {m} + 0.0000,0.0000,46.0952; !- X,Y,Z ==> Vertex 4 {m} + +! ***GEOMETRY RULES*** + + GlobalGeometryRules, + UpperLeftCorner, !- Starting Vertex Position + Counterclockwise, !- Vertex Entry Direction + Relative, !- Coordinate System + Relative; !- Daylighting Reference Point Coordinate System + +! ***PEOPLE*** + + People, + Basement People, !- Name + Basement, !- Zone or ZoneList Name + BLDG_OCC_SCH, !- Number of People Schedule Name + Area/Person, !- Number of People Calculation Method + , !- Number of People + , !- People per Zone Floor Area {person/m2} + 37.16, !- Zone Floor Area per Person {m2/person} + 0.3000, !- Fraction Radiant + AUTOCALCULATE, !- Sensible Heat Fraction + ACTIVITY_SCH, !- Activity Level Schedule Name + , !- Carbon Dioxide Generation Rate {m3/s-W} + No, !- Enable ASHRAE 55 Comfort Warnings + ZoneAveraged, !- Mean Radiant Temperature Calculation Type + , !- Surface Name/Angle Factor List Name + WORK_EFF_SCH, !- Work Efficiency Schedule Name + CLOTHING_SCH, !- Clothing Insulation Schedule Name + AIR_VELO_SCH, !- Air Velocity Schedule Name + FANGER; !- Thermal Comfort Model 1 Type + + People, + Core_bottom People, !- Name + Core_bottom, !- Zone or ZoneList Name + BLDG_OCC_SCH, !- Number of People Schedule Name + Area/Person, !- Number of People Calculation Method + , !- Number of People + , !- People per Zone Floor Area {person/m2} + 18.58, !- Zone Floor Area per Person {m2/person} + 0.3000, !- Fraction Radiant + AUTOCALCULATE, !- Sensible Heat Fraction + ACTIVITY_SCH, !- Activity Level Schedule Name + , !- Carbon Dioxide Generation Rate {m3/s-W} + No, !- Enable ASHRAE 55 Comfort Warnings + ZoneAveraged, !- Mean Radiant Temperature Calculation Type + , !- Surface Name/Angle Factor List Name + WORK_EFF_SCH, !- Work Efficiency Schedule Name + CLOTHING_SCH, !- Clothing Insulation Schedule Name + AIR_VELO_SCH, !- Air Velocity Schedule Name + FANGER; !- Thermal Comfort Model 1 Type + + People, + Core_mid People, !- Name + Core_mid, !- Zone or ZoneList Name + BLDG_OCC_SCH, !- Number of People Schedule Name + Area/Person, !- Number of People Calculation Method + , !- Number of People + , !- People per Zone Floor Area {person/m2} + 18.58, !- Zone Floor Area per Person {m2/person} + 0.3000, !- Fraction Radiant + AUTOCALCULATE, !- Sensible Heat Fraction + ACTIVITY_SCH, !- Activity Level Schedule Name + , !- Carbon Dioxide Generation Rate {m3/s-W} + No, !- Enable ASHRAE 55 Comfort Warnings + ZoneAveraged, !- Mean Radiant Temperature Calculation Type + , !- Surface Name/Angle Factor List Name + WORK_EFF_SCH, !- Work Efficiency Schedule Name + CLOTHING_SCH, !- Clothing Insulation Schedule Name + AIR_VELO_SCH, !- Air Velocity Schedule Name + FANGER; !- Thermal Comfort Model 1 Type + + People, + Core_top People, !- Name + Core_top, !- Zone or ZoneList Name + BLDG_OCC_SCH, !- Number of People Schedule Name + Area/Person, !- Number of People Calculation Method + , !- Number of People + , !- People per Zone Floor Area {person/m2} + 18.58, !- Zone Floor Area per Person {m2/person} + 0.3000, !- Fraction Radiant + AUTOCALCULATE, !- Sensible Heat Fraction + ACTIVITY_SCH, !- Activity Level Schedule Name + , !- Carbon Dioxide Generation Rate {m3/s-W} + No, !- Enable ASHRAE 55 Comfort Warnings + ZoneAveraged, !- Mean Radiant Temperature Calculation Type + , !- Surface Name/Angle Factor List Name + WORK_EFF_SCH, !- Work Efficiency Schedule Name + CLOTHING_SCH, !- Clothing Insulation Schedule Name + AIR_VELO_SCH, !- Air Velocity Schedule Name + FANGER; !- Thermal Comfort Model 1 Type + + People, + Perimeter_bot_ZN_1 People, !- Name + Perimeter_bot_ZN_1, !- Zone or ZoneList Name + BLDG_OCC_SCH, !- Number of People Schedule Name + Area/Person, !- Number of People Calculation Method + , !- Number of People + , !- People per Zone Floor Area {person/m2} + 18.58, !- Zone Floor Area per Person {m2/person} + 0.3000, !- Fraction Radiant + AUTOCALCULATE, !- Sensible Heat Fraction + ACTIVITY_SCH, !- Activity Level Schedule Name + , !- Carbon Dioxide Generation Rate {m3/s-W} + No, !- Enable ASHRAE 55 Comfort Warnings + ZoneAveraged, !- Mean Radiant Temperature Calculation Type + , !- Surface Name/Angle Factor List Name + WORK_EFF_SCH, !- Work Efficiency Schedule Name + CLOTHING_SCH, !- Clothing Insulation Schedule Name + AIR_VELO_SCH, !- Air Velocity Schedule Name + FANGER; !- Thermal Comfort Model 1 Type + + People, + Perimeter_bot_ZN_2 People, !- Name + Perimeter_bot_ZN_2, !- Zone or ZoneList Name + BLDG_OCC_SCH, !- Number of People Schedule Name + Area/Person, !- Number of People Calculation Method + , !- Number of People + , !- People per Zone Floor Area {person/m2} + 18.58, !- Zone Floor Area per Person {m2/person} + 0.3000, !- Fraction Radiant + AUTOCALCULATE, !- Sensible Heat Fraction + ACTIVITY_SCH, !- Activity Level Schedule Name + , !- Carbon Dioxide Generation Rate {m3/s-W} + No, !- Enable ASHRAE 55 Comfort Warnings + ZoneAveraged, !- Mean Radiant Temperature Calculation Type + , !- Surface Name/Angle Factor List Name + WORK_EFF_SCH, !- Work Efficiency Schedule Name + CLOTHING_SCH, !- Clothing Insulation Schedule Name + AIR_VELO_SCH, !- Air Velocity Schedule Name + FANGER; !- Thermal Comfort Model 1 Type + + People, + Perimeter_bot_ZN_3 People, !- Name + Perimeter_bot_ZN_3, !- Zone or ZoneList Name + BLDG_OCC_SCH, !- Number of People Schedule Name + Area/Person, !- Number of People Calculation Method + , !- Number of People + , !- People per Zone Floor Area {person/m2} + 18.58, !- Zone Floor Area per Person {m2/person} + 0.3000, !- Fraction Radiant + AUTOCALCULATE, !- Sensible Heat Fraction + ACTIVITY_SCH, !- Activity Level Schedule Name + , !- Carbon Dioxide Generation Rate {m3/s-W} + No, !- Enable ASHRAE 55 Comfort Warnings + ZoneAveraged, !- Mean Radiant Temperature Calculation Type + , !- Surface Name/Angle Factor List Name + WORK_EFF_SCH, !- Work Efficiency Schedule Name + CLOTHING_SCH, !- Clothing Insulation Schedule Name + AIR_VELO_SCH, !- Air Velocity Schedule Name + FANGER; !- Thermal Comfort Model 1 Type + + People, + Perimeter_bot_ZN_4 People, !- Name + Perimeter_bot_ZN_4, !- Zone or ZoneList Name + BLDG_OCC_SCH, !- Number of People Schedule Name + Area/Person, !- Number of People Calculation Method + , !- Number of People + , !- People per Zone Floor Area {person/m2} + 18.58, !- Zone Floor Area per Person {m2/person} + 0.3000, !- Fraction Radiant + AUTOCALCULATE, !- Sensible Heat Fraction + ACTIVITY_SCH, !- Activity Level Schedule Name + , !- Carbon Dioxide Generation Rate {m3/s-W} + No, !- Enable ASHRAE 55 Comfort Warnings + ZoneAveraged, !- Mean Radiant Temperature Calculation Type + , !- Surface Name/Angle Factor List Name + WORK_EFF_SCH, !- Work Efficiency Schedule Name + CLOTHING_SCH, !- Clothing Insulation Schedule Name + AIR_VELO_SCH, !- Air Velocity Schedule Name + FANGER; !- Thermal Comfort Model 1 Type + + People, + Perimeter_mid_ZN_1 People, !- Name + Perimeter_mid_ZN_1, !- Zone or ZoneList Name + BLDG_OCC_SCH, !- Number of People Schedule Name + Area/Person, !- Number of People Calculation Method + , !- Number of People + , !- People per Zone Floor Area {person/m2} + 18.58, !- Zone Floor Area per Person {m2/person} + 0.3000, !- Fraction Radiant + AUTOCALCULATE, !- Sensible Heat Fraction + ACTIVITY_SCH, !- Activity Level Schedule Name + , !- Carbon Dioxide Generation Rate {m3/s-W} + No, !- Enable ASHRAE 55 Comfort Warnings + ZoneAveraged, !- Mean Radiant Temperature Calculation Type + , !- Surface Name/Angle Factor List Name + WORK_EFF_SCH, !- Work Efficiency Schedule Name + CLOTHING_SCH, !- Clothing Insulation Schedule Name + AIR_VELO_SCH, !- Air Velocity Schedule Name + FANGER; !- Thermal Comfort Model 1 Type + + People, + Perimeter_mid_ZN_2 People, !- Name + Perimeter_mid_ZN_2, !- Zone or ZoneList Name + BLDG_OCC_SCH, !- Number of People Schedule Name + Area/Person, !- Number of People Calculation Method + , !- Number of People + , !- People per Zone Floor Area {person/m2} + 18.58, !- Zone Floor Area per Person {m2/person} + 0.3000, !- Fraction Radiant + AUTOCALCULATE, !- Sensible Heat Fraction + ACTIVITY_SCH, !- Activity Level Schedule Name + , !- Carbon Dioxide Generation Rate {m3/s-W} + No, !- Enable ASHRAE 55 Comfort Warnings + ZoneAveraged, !- Mean Radiant Temperature Calculation Type + , !- Surface Name/Angle Factor List Name + WORK_EFF_SCH, !- Work Efficiency Schedule Name + CLOTHING_SCH, !- Clothing Insulation Schedule Name + AIR_VELO_SCH, !- Air Velocity Schedule Name + FANGER; !- Thermal Comfort Model 1 Type + + People, + Perimeter_mid_ZN_3 People, !- Name + Perimeter_mid_ZN_3, !- Zone or ZoneList Name + BLDG_OCC_SCH, !- Number of People Schedule Name + Area/Person, !- Number of People Calculation Method + , !- Number of People + , !- People per Zone Floor Area {person/m2} + 18.58, !- Zone Floor Area per Person {m2/person} + 0.3000, !- Fraction Radiant + AUTOCALCULATE, !- Sensible Heat Fraction + ACTIVITY_SCH, !- Activity Level Schedule Name + , !- Carbon Dioxide Generation Rate {m3/s-W} + No, !- Enable ASHRAE 55 Comfort Warnings + ZoneAveraged, !- Mean Radiant Temperature Calculation Type + , !- Surface Name/Angle Factor List Name + WORK_EFF_SCH, !- Work Efficiency Schedule Name + CLOTHING_SCH, !- Clothing Insulation Schedule Name + AIR_VELO_SCH, !- Air Velocity Schedule Name + FANGER; !- Thermal Comfort Model 1 Type + + People, + Perimeter_mid_ZN_4 People, !- Name + Perimeter_mid_ZN_4, !- Zone or ZoneList Name + BLDG_OCC_SCH, !- Number of People Schedule Name + Area/Person, !- Number of People Calculation Method + , !- Number of People + , !- People per Zone Floor Area {person/m2} + 18.58, !- Zone Floor Area per Person {m2/person} + 0.3000, !- Fraction Radiant + AUTOCALCULATE, !- Sensible Heat Fraction + ACTIVITY_SCH, !- Activity Level Schedule Name + , !- Carbon Dioxide Generation Rate {m3/s-W} + No, !- Enable ASHRAE 55 Comfort Warnings + ZoneAveraged, !- Mean Radiant Temperature Calculation Type + , !- Surface Name/Angle Factor List Name + WORK_EFF_SCH, !- Work Efficiency Schedule Name + CLOTHING_SCH, !- Clothing Insulation Schedule Name + AIR_VELO_SCH, !- Air Velocity Schedule Name + FANGER; !- Thermal Comfort Model 1 Type + + People, + Perimeter_top_ZN_1 People, !- Name + Perimeter_top_ZN_1, !- Zone or ZoneList Name + BLDG_OCC_SCH, !- Number of People Schedule Name + Area/Person, !- Number of People Calculation Method + , !- Number of People + , !- People per Zone Floor Area {person/m2} + 18.58, !- Zone Floor Area per Person {m2/person} + 0.3000, !- Fraction Radiant + AUTOCALCULATE, !- Sensible Heat Fraction + ACTIVITY_SCH, !- Activity Level Schedule Name + , !- Carbon Dioxide Generation Rate {m3/s-W} + No, !- Enable ASHRAE 55 Comfort Warnings + ZoneAveraged, !- Mean Radiant Temperature Calculation Type + , !- Surface Name/Angle Factor List Name + WORK_EFF_SCH, !- Work Efficiency Schedule Name + CLOTHING_SCH, !- Clothing Insulation Schedule Name + AIR_VELO_SCH, !- Air Velocity Schedule Name + FANGER; !- Thermal Comfort Model 1 Type + + People, + Perimeter_top_ZN_2 People, !- Name + Perimeter_top_ZN_2, !- Zone or ZoneList Name + BLDG_OCC_SCH, !- Number of People Schedule Name + Area/Person, !- Number of People Calculation Method + , !- Number of People + , !- People per Zone Floor Area {person/m2} + 18.58, !- Zone Floor Area per Person {m2/person} + 0.3000, !- Fraction Radiant + AUTOCALCULATE, !- Sensible Heat Fraction + ACTIVITY_SCH, !- Activity Level Schedule Name + , !- Carbon Dioxide Generation Rate {m3/s-W} + No, !- Enable ASHRAE 55 Comfort Warnings + ZoneAveraged, !- Mean Radiant Temperature Calculation Type + , !- Surface Name/Angle Factor List Name + WORK_EFF_SCH, !- Work Efficiency Schedule Name + CLOTHING_SCH, !- Clothing Insulation Schedule Name + AIR_VELO_SCH, !- Air Velocity Schedule Name + FANGER; !- Thermal Comfort Model 1 Type + + People, + Perimeter_top_ZN_3 People, !- Name + Perimeter_top_ZN_3, !- Zone or ZoneList Name + BLDG_OCC_SCH, !- Number of People Schedule Name + Area/Person, !- Number of People Calculation Method + , !- Number of People + , !- People per Zone Floor Area {person/m2} + 18.58, !- Zone Floor Area per Person {m2/person} + 0.3000, !- Fraction Radiant + AUTOCALCULATE, !- Sensible Heat Fraction + ACTIVITY_SCH, !- Activity Level Schedule Name + , !- Carbon Dioxide Generation Rate {m3/s-W} + No, !- Enable ASHRAE 55 Comfort Warnings + ZoneAveraged, !- Mean Radiant Temperature Calculation Type + , !- Surface Name/Angle Factor List Name + WORK_EFF_SCH, !- Work Efficiency Schedule Name + CLOTHING_SCH, !- Clothing Insulation Schedule Name + AIR_VELO_SCH, !- Air Velocity Schedule Name + FANGER; !- Thermal Comfort Model 1 Type + + People, + Perimeter_top_ZN_4 People, !- Name + Perimeter_top_ZN_4, !- Zone or ZoneList Name + BLDG_OCC_SCH, !- Number of People Schedule Name + Area/Person, !- Number of People Calculation Method + , !- Number of People + , !- People per Zone Floor Area {person/m2} + 18.58, !- Zone Floor Area per Person {m2/person} + 0.3000, !- Fraction Radiant + AUTOCALCULATE, !- Sensible Heat Fraction + ACTIVITY_SCH, !- Activity Level Schedule Name + , !- Carbon Dioxide Generation Rate {m3/s-W} + No, !- Enable ASHRAE 55 Comfort Warnings + ZoneAveraged, !- Mean Radiant Temperature Calculation Type + , !- Surface Name/Angle Factor List Name + WORK_EFF_SCH, !- Work Efficiency Schedule Name + CLOTHING_SCH, !- Clothing Insulation Schedule Name + AIR_VELO_SCH, !- Air Velocity Schedule Name + FANGER; !- Thermal Comfort Model 1 Type + +! ***LIGHTS*** + + Lights, + Basement_Lights, !- Name + Basement, !- Zone or ZoneList Name + BLDG_LIGHT_SCH, !- Schedule Name + Watts/Area, !- Design Level Calculation Method + , !- Lighting Level {W} + 10.76, !- Watts per Zone Floor Area {W/m2} + , !- Watts per Person {W/person} + 0.0000, !- Return Air Fraction + 0.7000, !- Fraction Radiant + 0.2000, !- Fraction Visible + 1.0000, !- Fraction Replaceable + General, !- End-Use Subcategory + No; !- Return Air Fraction Calculated from Plenum Temperature + + Lights, + Core_bottom_Lights, !- Name + Core_bottom, !- Zone or ZoneList Name + BLDG_LIGHT_SCH, !- Schedule Name + Watts/Area, !- Design Level Calculation Method + , !- Lighting Level {W} + 10.76, !- Watts per Zone Floor Area {W/m2} + , !- Watts per Person {W/person} + 0.0000, !- Return Air Fraction + 0.7000, !- Fraction Radiant + 0.2000, !- Fraction Visible + 1.0000, !- Fraction Replaceable + General, !- End-Use Subcategory + No; !- Return Air Fraction Calculated from Plenum Temperature + + Lights, + Core_mid_Lights, !- Name + Core_mid, !- Zone or ZoneList Name + BLDG_LIGHT_SCH, !- Schedule Name + Watts/Area, !- Design Level Calculation Method + , !- Lighting Level {W} + 10.76, !- Watts per Zone Floor Area {W/m2} + , !- Watts per Person {W/person} + 0.0000, !- Return Air Fraction + 0.7000, !- Fraction Radiant + 0.2000, !- Fraction Visible + 1.0000, !- Fraction Replaceable + General, !- End-Use Subcategory + No; !- Return Air Fraction Calculated from Plenum Temperature + + Lights, + Core_top_Lights, !- Name + Core_top, !- Zone or ZoneList Name + BLDG_LIGHT_SCH, !- Schedule Name + Watts/Area, !- Design Level Calculation Method + , !- Lighting Level {W} + 10.76, !- Watts per Zone Floor Area {W/m2} + , !- Watts per Person {W/person} + 0.0000, !- Return Air Fraction + 0.7000, !- Fraction Radiant + 0.2000, !- Fraction Visible + 1.0000, !- Fraction Replaceable + General, !- End-Use Subcategory + No; !- Return Air Fraction Calculated from Plenum Temperature + + Lights, + Perimeter_bot_ZN_1_Lights, !- Name + Perimeter_bot_ZN_1, !- Zone or ZoneList Name + BLDG_LIGHT_SCH, !- Schedule Name + Watts/Area, !- Design Level Calculation Method + , !- Lighting Level {W} + 10.76, !- Watts per Zone Floor Area {W/m2} + , !- Watts per Person {W/person} + 0.0000, !- Return Air Fraction + 0.7000, !- Fraction Radiant + 0.2000, !- Fraction Visible + 1.0000, !- Fraction Replaceable + General, !- End-Use Subcategory + No; !- Return Air Fraction Calculated from Plenum Temperature + + Lights, + Perimeter_bot_ZN_2_Lights, !- Name + Perimeter_bot_ZN_2, !- Zone or ZoneList Name + BLDG_LIGHT_SCH, !- Schedule Name + Watts/Area, !- Design Level Calculation Method + , !- Lighting Level {W} + 10.76, !- Watts per Zone Floor Area {W/m2} + , !- Watts per Person {W/person} + 0.0000, !- Return Air Fraction + 0.7000, !- Fraction Radiant + 0.2000, !- Fraction Visible + 1.0000, !- Fraction Replaceable + General, !- End-Use Subcategory + No; !- Return Air Fraction Calculated from Plenum Temperature + + Lights, + Perimeter_bot_ZN_3_Lights, !- Name + Perimeter_bot_ZN_3, !- Zone or ZoneList Name + BLDG_LIGHT_SCH, !- Schedule Name + Watts/Area, !- Design Level Calculation Method + , !- Lighting Level {W} + 10.76, !- Watts per Zone Floor Area {W/m2} + , !- Watts per Person {W/person} + 0.0000, !- Return Air Fraction + 0.7000, !- Fraction Radiant + 0.2000, !- Fraction Visible + 1.0000, !- Fraction Replaceable + General, !- End-Use Subcategory + No; !- Return Air Fraction Calculated from Plenum Temperature + + Lights, + Perimeter_bot_ZN_4_Lights, !- Name + Perimeter_bot_ZN_4, !- Zone or ZoneList Name + BLDG_LIGHT_SCH, !- Schedule Name + Watts/Area, !- Design Level Calculation Method + , !- Lighting Level {W} + 10.76, !- Watts per Zone Floor Area {W/m2} + , !- Watts per Person {W/person} + 0.0000, !- Return Air Fraction + 0.7000, !- Fraction Radiant + 0.2000, !- Fraction Visible + 1.0000, !- Fraction Replaceable + General, !- End-Use Subcategory + No; !- Return Air Fraction Calculated from Plenum Temperature + + Lights, + Perimeter_mid_ZN_1_Lights, !- Name + Perimeter_mid_ZN_1, !- Zone or ZoneList Name + BLDG_LIGHT_SCH, !- Schedule Name + Watts/Area, !- Design Level Calculation Method + , !- Lighting Level {W} + 10.76, !- Watts per Zone Floor Area {W/m2} + , !- Watts per Person {W/person} + 0.0000, !- Return Air Fraction + 0.7000, !- Fraction Radiant + 0.2000, !- Fraction Visible + 1.0000, !- Fraction Replaceable + General, !- End-Use Subcategory + No; !- Return Air Fraction Calculated from Plenum Temperature + + Lights, + Perimeter_mid_ZN_2_Lights, !- Name + Perimeter_mid_ZN_2, !- Zone or ZoneList Name + BLDG_LIGHT_SCH, !- Schedule Name + Watts/Area, !- Design Level Calculation Method + , !- Lighting Level {W} + 10.76, !- Watts per Zone Floor Area {W/m2} + , !- Watts per Person {W/person} + 0.0000, !- Return Air Fraction + 0.7000, !- Fraction Radiant + 0.2000, !- Fraction Visible + 1.0000, !- Fraction Replaceable + General, !- End-Use Subcategory + No; !- Return Air Fraction Calculated from Plenum Temperature + + Lights, + Perimeter_mid_ZN_3_Lights, !- Name + Perimeter_mid_ZN_3, !- Zone or ZoneList Name + BLDG_LIGHT_SCH, !- Schedule Name + Watts/Area, !- Design Level Calculation Method + , !- Lighting Level {W} + 10.76, !- Watts per Zone Floor Area {W/m2} + , !- Watts per Person {W/person} + 0.0000, !- Return Air Fraction + 0.7000, !- Fraction Radiant + 0.2000, !- Fraction Visible + 1.0000, !- Fraction Replaceable + General, !- End-Use Subcategory + No; !- Return Air Fraction Calculated from Plenum Temperature + + Lights, + Perimeter_mid_ZN_4_Lights, !- Name + Perimeter_mid_ZN_4, !- Zone or ZoneList Name + BLDG_LIGHT_SCH, !- Schedule Name + Watts/Area, !- Design Level Calculation Method + , !- Lighting Level {W} + 10.76, !- Watts per Zone Floor Area {W/m2} + , !- Watts per Person {W/person} + 0.0000, !- Return Air Fraction + 0.7000, !- Fraction Radiant + 0.2000, !- Fraction Visible + 1.0000, !- Fraction Replaceable + General, !- End-Use Subcategory + No; !- Return Air Fraction Calculated from Plenum Temperature + + Lights, + Perimeter_top_ZN_1_Lights, !- Name + Perimeter_top_ZN_1, !- Zone or ZoneList Name + BLDG_LIGHT_SCH, !- Schedule Name + Watts/Area, !- Design Level Calculation Method + , !- Lighting Level {W} + 10.76, !- Watts per Zone Floor Area {W/m2} + , !- Watts per Person {W/person} + 0.0000, !- Return Air Fraction + 0.7000, !- Fraction Radiant + 0.2000, !- Fraction Visible + 1.0000, !- Fraction Replaceable + General, !- End-Use Subcategory + No; !- Return Air Fraction Calculated from Plenum Temperature + + Lights, + Perimeter_top_ZN_2_Lights, !- Name + Perimeter_top_ZN_2, !- Zone or ZoneList Name + BLDG_LIGHT_SCH, !- Schedule Name + Watts/Area, !- Design Level Calculation Method + , !- Lighting Level {W} + 10.76, !- Watts per Zone Floor Area {W/m2} + , !- Watts per Person {W/person} + 0.0000, !- Return Air Fraction + 0.7000, !- Fraction Radiant + 0.2000, !- Fraction Visible + 1.0000, !- Fraction Replaceable + General, !- End-Use Subcategory + No; !- Return Air Fraction Calculated from Plenum Temperature + + Lights, + Perimeter_top_ZN_3_Lights, !- Name + Perimeter_top_ZN_3, !- Zone or ZoneList Name + BLDG_LIGHT_SCH, !- Schedule Name + Watts/Area, !- Design Level Calculation Method + , !- Lighting Level {W} + 10.76, !- Watts per Zone Floor Area {W/m2} + , !- Watts per Person {W/person} + 0.0000, !- Return Air Fraction + 0.7000, !- Fraction Radiant + 0.2000, !- Fraction Visible + 1.0000, !- Fraction Replaceable + General, !- End-Use Subcategory + No; !- Return Air Fraction Calculated from Plenum Temperature + + Lights, + Perimeter_top_ZN_4_Lights, !- Name + Perimeter_top_ZN_4, !- Zone or ZoneList Name + BLDG_LIGHT_SCH, !- Schedule Name + Watts/Area, !- Design Level Calculation Method + , !- Lighting Level {W} + 10.76, !- Watts per Zone Floor Area {W/m2} + , !- Watts per Person {W/person} + 0.0000, !- Return Air Fraction + 0.7000, !- Fraction Radiant + 0.2000, !- Fraction Visible + 1.0000, !- Fraction Replaceable + General, !- End-Use Subcategory + No; !- Return Air Fraction Calculated from Plenum Temperature + +! ***EQUIPMENT GAINS*** + + ElectricEquipment, + Basement_PlugMisc_Equip, !- Name + Basement, !- Zone or ZoneList Name + BLDG_EQUIP_SCH, !- Schedule Name + Watts/Area, !- Design Level Calculation Method + , !- Design Level {W} + 10.76, !- Watts per Zone Floor Area {W/m2} + , !- Watts per Person {W/person} + 0.0000, !- Fraction Latent + 0.5000, !- Fraction Radiant + 0.0000, !- Fraction Lost + General; !- End-Use Subcategory + + ElectricEquipment, + Core_bottom_PlugMisc_Equip, !- Name + Core_bottom, !- Zone or ZoneList Name + BLDG_EQUIP_SCH, !- Schedule Name + Watts/Area, !- Design Level Calculation Method + , !- Design Level {W} + 10.76, !- Watts per Zone Floor Area {W/m2} + , !- Watts per Person {W/person} + 0.0000, !- Fraction Latent + 0.5000, !- Fraction Radiant + 0.0000, !- Fraction Lost + General; !- End-Use Subcategory + + ElectricEquipment, + Core_mid_PlugMisc_Equip, !- Name + Core_mid, !- Zone or ZoneList Name + BLDG_EQUIP_SCH, !- Schedule Name + Watts/Area, !- Design Level Calculation Method + , !- Design Level {W} + 10.76, !- Watts per Zone Floor Area {W/m2} + , !- Watts per Person {W/person} + 0.0000, !- Fraction Latent + 0.5000, !- Fraction Radiant + 0.0000, !- Fraction Lost + General; !- End-Use Subcategory + + ElectricEquipment, + Core_top_PlugMisc_Equip, !- Name + Core_top, !- Zone or ZoneList Name + BLDG_EQUIP_SCH, !- Schedule Name + Watts/Area, !- Design Level Calculation Method + , !- Design Level {W} + 10.76, !- Watts per Zone Floor Area {W/m2} + , !- Watts per Person {W/person} + 0.0000, !- Fraction Latent + 0.5000, !- Fraction Radiant + 0.0000, !- Fraction Lost + General; !- End-Use Subcategory + + ElectricEquipment, + Perimeter_bot_ZN_1_PlugMisc_Equip, !- Name + Perimeter_bot_ZN_1, !- Zone or ZoneList Name + BLDG_EQUIP_SCH, !- Schedule Name + Watts/Area, !- Design Level Calculation Method + , !- Design Level {W} + 10.76, !- Watts per Zone Floor Area {W/m2} + , !- Watts per Person {W/person} + 0.0000, !- Fraction Latent + 0.5000, !- Fraction Radiant + 0.0000, !- Fraction Lost + General; !- End-Use Subcategory + + ElectricEquipment, + Perimeter_bot_ZN_2_PlugMisc_Equip, !- Name + Perimeter_bot_ZN_2, !- Zone or ZoneList Name + BLDG_EQUIP_SCH, !- Schedule Name + Watts/Area, !- Design Level Calculation Method + , !- Design Level {W} + 10.76, !- Watts per Zone Floor Area {W/m2} + , !- Watts per Person {W/person} + 0.0000, !- Fraction Latent + 0.5000, !- Fraction Radiant + 0.0000, !- Fraction Lost + General; !- End-Use Subcategory + + ElectricEquipment, + Perimeter_bot_ZN_3_PlugMisc_Equip, !- Name + Perimeter_bot_ZN_3, !- Zone or ZoneList Name + BLDG_EQUIP_SCH, !- Schedule Name + Watts/Area, !- Design Level Calculation Method + , !- Design Level {W} + 10.76, !- Watts per Zone Floor Area {W/m2} + , !- Watts per Person {W/person} + 0.0000, !- Fraction Latent + 0.5000, !- Fraction Radiant + 0.0000, !- Fraction Lost + General; !- End-Use Subcategory + + ElectricEquipment, + Perimeter_bot_ZN_4_PlugMisc_Equip, !- Name + Perimeter_bot_ZN_4, !- Zone or ZoneList Name + BLDG_EQUIP_SCH, !- Schedule Name + Watts/Area, !- Design Level Calculation Method + , !- Design Level {W} + 10.76, !- Watts per Zone Floor Area {W/m2} + , !- Watts per Person {W/person} + 0.0000, !- Fraction Latent + 0.5000, !- Fraction Radiant + 0.0000, !- Fraction Lost + General; !- End-Use Subcategory + + ElectricEquipment, + Perimeter_mid_ZN_1_PlugMisc_Equip, !- Name + Perimeter_mid_ZN_1, !- Zone or ZoneList Name + BLDG_EQUIP_SCH, !- Schedule Name + Watts/Area, !- Design Level Calculation Method + , !- Design Level {W} + 10.76, !- Watts per Zone Floor Area {W/m2} + , !- Watts per Person {W/person} + 0.0000, !- Fraction Latent + 0.5000, !- Fraction Radiant + 0.0000, !- Fraction Lost + General; !- End-Use Subcategory + + ElectricEquipment, + Perimeter_mid_ZN_2_PlugMisc_Equip, !- Name + Perimeter_mid_ZN_2, !- Zone or ZoneList Name + BLDG_EQUIP_SCH, !- Schedule Name + Watts/Area, !- Design Level Calculation Method + , !- Design Level {W} + 10.76, !- Watts per Zone Floor Area {W/m2} + , !- Watts per Person {W/person} + 0.0000, !- Fraction Latent + 0.5000, !- Fraction Radiant + 0.0000, !- Fraction Lost + General; !- End-Use Subcategory + + ElectricEquipment, + Perimeter_mid_ZN_3_PlugMisc_Equip, !- Name + Perimeter_mid_ZN_3, !- Zone or ZoneList Name + BLDG_EQUIP_SCH, !- Schedule Name + Watts/Area, !- Design Level Calculation Method + , !- Design Level {W} + 10.76, !- Watts per Zone Floor Area {W/m2} + , !- Watts per Person {W/person} + 0.0000, !- Fraction Latent + 0.5000, !- Fraction Radiant + 0.0000, !- Fraction Lost + General; !- End-Use Subcategory + + ElectricEquipment, + Perimeter_mid_ZN_4_PlugMisc_Equip, !- Name + Perimeter_mid_ZN_4, !- Zone or ZoneList Name + BLDG_EQUIP_SCH, !- Schedule Name + Watts/Area, !- Design Level Calculation Method + , !- Design Level {W} + 10.76, !- Watts per Zone Floor Area {W/m2} + , !- Watts per Person {W/person} + 0.0000, !- Fraction Latent + 0.5000, !- Fraction Radiant + 0.0000, !- Fraction Lost + General; !- End-Use Subcategory + + ElectricEquipment, + Perimeter_top_ZN_1_PlugMisc_Equip, !- Name + Perimeter_top_ZN_1, !- Zone or ZoneList Name + BLDG_EQUIP_SCH, !- Schedule Name + Watts/Area, !- Design Level Calculation Method + , !- Design Level {W} + 10.76, !- Watts per Zone Floor Area {W/m2} + , !- Watts per Person {W/person} + 0.0000, !- Fraction Latent + 0.5000, !- Fraction Radiant + 0.0000, !- Fraction Lost + General; !- End-Use Subcategory + + ElectricEquipment, + Perimeter_top_ZN_2_PlugMisc_Equip, !- Name + Perimeter_top_ZN_2, !- Zone or ZoneList Name + BLDG_EQUIP_SCH, !- Schedule Name + Watts/Area, !- Design Level Calculation Method + , !- Design Level {W} + 10.76, !- Watts per Zone Floor Area {W/m2} + , !- Watts per Person {W/person} + 0.0000, !- Fraction Latent + 0.5000, !- Fraction Radiant + 0.0000, !- Fraction Lost + General; !- End-Use Subcategory + + ElectricEquipment, + Perimeter_top_ZN_3_PlugMisc_Equip, !- Name + Perimeter_top_ZN_3, !- Zone or ZoneList Name + BLDG_EQUIP_SCH, !- Schedule Name + Watts/Area, !- Design Level Calculation Method + , !- Design Level {W} + 10.76, !- Watts per Zone Floor Area {W/m2} + , !- Watts per Person {W/person} + 0.0000, !- Fraction Latent + 0.5000, !- Fraction Radiant + 0.0000, !- Fraction Lost + General; !- End-Use Subcategory + + ElectricEquipment, + Perimeter_top_ZN_4_PlugMisc_Equip, !- Name + Perimeter_top_ZN_4, !- Zone or ZoneList Name + BLDG_EQUIP_SCH, !- Schedule Name + Watts/Area, !- Design Level Calculation Method + , !- Design Level {W} + 10.76, !- Watts per Zone Floor Area {W/m2} + , !- Watts per Person {W/person} + 0.0000, !- Fraction Latent + 0.5000, !- Fraction Radiant + 0.0000, !- Fraction Lost + General; !- End-Use Subcategory + +! ***EXTERIOR LOADS*** + + Exterior:Lights, + Exterior Facade Lighting,!- Name + ALWAYS_ON, !- Schedule Name + 51262, !- Design Level {W} + AstronomicalClock, !- Control Option + Exterior Facade Lighting;!- End-Use Subcategory + + Exterior:FuelEquipment, + Elevators, !- Name + Electricity, !- Fuel Use Type + BLDG_ELEVATORS, !- Schedule Name + 244443.956043956, !- Design Level {W} + Elevators; !- End-Use Subcategory + +! ***INFILTRATION*** + + ZoneInfiltration:DesignFlowRate, + GroundFloor_Plenum_Infiltration, !- Name + GroundFloor_Plenum, !- Zone or ZoneList Name + INFIL_QUARTER_ON_SCH, !- Schedule Name + Flow/ExteriorArea, !- Design Flow Rate Calculation Method + , !- Design Flow Rate {m3/s} + , !- Flow per Zone Floor Area {m3/s-m2} + 0.000302, !- Flow per Exterior Surface Area {m3/s-m2} + , !- Air Changes per Hour {1/hr} + 1.0000, !- Constant Term Coefficient + 0.0000, !- Temperature Term Coefficient + 0.0000, !- Velocity Term Coefficient + 0.0000; !- Velocity Squared Term Coefficient + + ZoneInfiltration:DesignFlowRate, + MidFloor_Plenum_Infiltration, !- Name + MidFloor_Plenum, !- Zone or ZoneList Name + INFIL_QUARTER_ON_SCH, !- Schedule Name + Flow/ExteriorArea, !- Design Flow Rate Calculation Method + , !- Design Flow Rate {m3/s} + , !- Flow per Zone Floor Area {m3/s-m2} + 0.000302, !- Flow per Exterior Surface Area {m3/s-m2} + , !- Air Changes per Hour {1/hr} + 1.0000, !- Constant Term Coefficient + 0.0000, !- Temperature Term Coefficient + 0.0000, !- Velocity Term Coefficient + 0.0000; !- Velocity Squared Term Coefficient + + ZoneInfiltration:DesignFlowRate, + Perimeter_bot_ZN_1_Infiltration, !- Name + Perimeter_bot_ZN_1, !- Zone or ZoneList Name + INFIL_QUARTER_ON_SCH, !- Schedule Name + Flow/ExteriorArea, !- Design Flow Rate Calculation Method + , !- Design Flow Rate {m3/s} + , !- Flow per Zone Floor Area {m3/s-m2} + 0.000302, !- Flow per Exterior Surface Area {m3/s-m2} + , !- Air Changes per Hour {1/hr} + 1.0000, !- Constant Term Coefficient + 0.0000, !- Temperature Term Coefficient + 0.0000, !- Velocity Term Coefficient + 0.0000; !- Velocity Squared Term Coefficient + + ZoneInfiltration:DesignFlowRate, + Perimeter_bot_ZN_2_Infiltration, !- Name + Perimeter_bot_ZN_2, !- Zone or ZoneList Name + INFIL_QUARTER_ON_SCH, !- Schedule Name + Flow/ExteriorArea, !- Design Flow Rate Calculation Method + , !- Design Flow Rate {m3/s} + , !- Flow per Zone Floor Area {m3/s-m2} + 0.000302, !- Flow per Exterior Surface Area {m3/s-m2} + , !- Air Changes per Hour {1/hr} + 1.0000, !- Constant Term Coefficient + 0.0000, !- Temperature Term Coefficient + 0.0000, !- Velocity Term Coefficient + 0.0000; !- Velocity Squared Term Coefficient + + ZoneInfiltration:DesignFlowRate, + Perimeter_bot_ZN_3_Infiltration, !- Name + Perimeter_bot_ZN_3, !- Zone or ZoneList Name + INFIL_QUARTER_ON_SCH, !- Schedule Name + Flow/ExteriorArea, !- Design Flow Rate Calculation Method + , !- Design Flow Rate {m3/s} + , !- Flow per Zone Floor Area {m3/s-m2} + 0.000302, !- Flow per Exterior Surface Area {m3/s-m2} + , !- Air Changes per Hour {1/hr} + 1.0000, !- Constant Term Coefficient + 0.0000, !- Temperature Term Coefficient + 0.0000, !- Velocity Term Coefficient + 0.0000; !- Velocity Squared Term Coefficient + + ZoneInfiltration:DesignFlowRate, + Perimeter_bot_ZN_4_Infiltration, !- Name + Perimeter_bot_ZN_4, !- Zone or ZoneList Name + INFIL_QUARTER_ON_SCH, !- Schedule Name + Flow/ExteriorArea, !- Design Flow Rate Calculation Method + , !- Design Flow Rate {m3/s} + , !- Flow per Zone Floor Area {m3/s-m2} + 0.000302, !- Flow per Exterior Surface Area {m3/s-m2} + , !- Air Changes per Hour {1/hr} + 1.0000, !- Constant Term Coefficient + 0.0000, !- Temperature Term Coefficient + 0.0000, !- Velocity Term Coefficient + 0.0000; !- Velocity Squared Term Coefficient + + ZoneInfiltration:DesignFlowRate, + Perimeter_mid_ZN_1_Infiltration, !- Name + Perimeter_mid_ZN_1, !- Zone or ZoneList Name + INFIL_QUARTER_ON_SCH, !- Schedule Name + Flow/ExteriorArea, !- Design Flow Rate Calculation Method + , !- Design Flow Rate {m3/s} + , !- Flow per Zone Floor Area {m3/s-m2} + 0.000302, !- Flow per Exterior Surface Area {m3/s-m2} + , !- Air Changes per Hour {1/hr} + 1.0000, !- Constant Term Coefficient + 0.0000, !- Temperature Term Coefficient + 0.0000, !- Velocity Term Coefficient + 0.0000; !- Velocity Squared Term Coefficient + + ZoneInfiltration:DesignFlowRate, + Perimeter_mid_ZN_2_Infiltration, !- Name + Perimeter_mid_ZN_2, !- Zone or ZoneList Name + INFIL_QUARTER_ON_SCH, !- Schedule Name + Flow/ExteriorArea, !- Design Flow Rate Calculation Method + , !- Design Flow Rate {m3/s} + , !- Flow per Zone Floor Area {m3/s-m2} + 0.000302, !- Flow per Exterior Surface Area {m3/s-m2} + , !- Air Changes per Hour {1/hr} + 1.0000, !- Constant Term Coefficient + 0.0000, !- Temperature Term Coefficient + 0.0000, !- Velocity Term Coefficient + 0.0000; !- Velocity Squared Term Coefficient + + ZoneInfiltration:DesignFlowRate, + Perimeter_mid_ZN_3_Infiltration, !- Name + Perimeter_mid_ZN_3, !- Zone or ZoneList Name + INFIL_QUARTER_ON_SCH, !- Schedule Name + Flow/ExteriorArea, !- Design Flow Rate Calculation Method + , !- Design Flow Rate {m3/s} + , !- Flow per Zone Floor Area {m3/s-m2} + 0.000302, !- Flow per Exterior Surface Area {m3/s-m2} + , !- Air Changes per Hour {1/hr} + 1.0000, !- Constant Term Coefficient + 0.0000, !- Temperature Term Coefficient + 0.0000, !- Velocity Term Coefficient + 0.0000; !- Velocity Squared Term Coefficient + + ZoneInfiltration:DesignFlowRate, + Perimeter_mid_ZN_4_Infiltration, !- Name + Perimeter_mid_ZN_4, !- Zone or ZoneList Name + INFIL_QUARTER_ON_SCH, !- Schedule Name + Flow/ExteriorArea, !- Design Flow Rate Calculation Method + , !- Design Flow Rate {m3/s} + , !- Flow per Zone Floor Area {m3/s-m2} + 0.000302, !- Flow per Exterior Surface Area {m3/s-m2} + , !- Air Changes per Hour {1/hr} + 1.0000, !- Constant Term Coefficient + 0.0000, !- Temperature Term Coefficient + 0.0000, !- Velocity Term Coefficient + 0.0000; !- Velocity Squared Term Coefficient + + ZoneInfiltration:DesignFlowRate, + Perimeter_top_ZN_1_Infiltration, !- Name + Perimeter_top_ZN_1, !- Zone or ZoneList Name + INFIL_QUARTER_ON_SCH, !- Schedule Name + Flow/ExteriorArea, !- Design Flow Rate Calculation Method + , !- Design Flow Rate {m3/s} + , !- Flow per Zone Floor Area {m3/s-m2} + 0.000302, !- Flow per Exterior Surface Area {m3/s-m2} + , !- Air Changes per Hour {1/hr} + 1.0000, !- Constant Term Coefficient + 0.0000, !- Temperature Term Coefficient + 0.0000, !- Velocity Term Coefficient + 0.0000; !- Velocity Squared Term Coefficient + + ZoneInfiltration:DesignFlowRate, + Perimeter_top_ZN_2_Infiltration, !- Name + Perimeter_top_ZN_2, !- Zone or ZoneList Name + INFIL_QUARTER_ON_SCH, !- Schedule Name + Flow/ExteriorArea, !- Design Flow Rate Calculation Method + , !- Design Flow Rate {m3/s} + , !- Flow per Zone Floor Area {m3/s-m2} + 0.000302, !- Flow per Exterior Surface Area {m3/s-m2} + , !- Air Changes per Hour {1/hr} + 1.0000, !- Constant Term Coefficient + 0.0000, !- Temperature Term Coefficient + 0.0000, !- Velocity Term Coefficient + 0.0000; !- Velocity Squared Term Coefficient + + ZoneInfiltration:DesignFlowRate, + Perimeter_top_ZN_3_Infiltration, !- Name + Perimeter_top_ZN_3, !- Zone or ZoneList Name + INFIL_QUARTER_ON_SCH, !- Schedule Name + Flow/ExteriorArea, !- Design Flow Rate Calculation Method + , !- Design Flow Rate {m3/s} + , !- Flow per Zone Floor Area {m3/s-m2} + 0.000302, !- Flow per Exterior Surface Area {m3/s-m2} + , !- Air Changes per Hour {1/hr} + 1.0000, !- Constant Term Coefficient + 0.0000, !- Temperature Term Coefficient + 0.0000, !- Velocity Term Coefficient + 0.0000; !- Velocity Squared Term Coefficient + + ZoneInfiltration:DesignFlowRate, + Perimeter_top_ZN_4_Infiltration, !- Name + Perimeter_top_ZN_4, !- Zone or ZoneList Name + INFIL_QUARTER_ON_SCH, !- Schedule Name + Flow/ExteriorArea, !- Design Flow Rate Calculation Method + , !- Design Flow Rate {m3/s} + , !- Flow per Zone Floor Area {m3/s-m2} + 0.000302, !- Flow per Exterior Surface Area {m3/s-m2} + , !- Air Changes per Hour {1/hr} + 1.0000, !- Constant Term Coefficient + 0.0000, !- Temperature Term Coefficient + 0.0000, !- Velocity Term Coefficient + 0.0000; !- Velocity Squared Term Coefficient + + ZoneInfiltration:DesignFlowRate, + TopFloor_Plenum_Infiltration, !- Name + TopFloor_Plenum, !- Zone or ZoneList Name + INFIL_QUARTER_ON_SCH, !- Schedule Name + Flow/ExteriorArea, !- Design Flow Rate Calculation Method + , !- Design Flow Rate {m3/s} + , !- Flow per Zone Floor Area {m3/s-m2} + 0.000302, !- Flow per Exterior Surface Area {m3/s-m2} + , !- Air Changes per Hour {1/hr} + 1.0000, !- Constant Term Coefficient + 0.0000, !- Temperature Term Coefficient + 0.0000, !- Velocity Term Coefficient + 0.0000; !- Velocity Squared Term Coefficient + +! ***INTERNAL MASS*** + + InternalMass, + Basement Internal Mass, !- Name + InteriorFurnishings, !- Construction Name + Basement, !- Zone Name + 7126.2120; !- Surface Area {m2} + + InternalMass, + Core_bottom Internal Mass, !- Name + InteriorFurnishings, !- Construction Name + Core_bottom, !- Zone Name + 5064.6464; !- Surface Area {m2} + + InternalMass, + Core_mid Internal Mass, !- Name + InteriorFurnishings, !- Construction Name + Core_mid, !- Zone Name + 5064.6464; !- Surface Area {m2} + + InternalMass, + Core_top Internal Mass, !- Name + InteriorFurnishings, !- Construction Name + Core_top, !- Zone Name + 5064.6464; !- Surface Area {m2} + + InternalMass, + Perimeter_bot_ZN_1 Internal Mass, !- Name + InteriorFurnishings, !- Construction Name + Perimeter_bot_ZN_1, !- Zone Name + 626.8394; !- Surface Area {m2} + + InternalMass, + Perimeter_bot_ZN_2 Internal Mass, !- Name + InteriorFurnishings, !- Construction Name + Perimeter_bot_ZN_2, !- Zone Name + 403.9503; !- Surface Area {m2} + + InternalMass, + Perimeter_bot_ZN_3 Internal Mass, !- Name + InteriorFurnishings, !- Construction Name + Perimeter_bot_ZN_3, !- Zone Name + 626.8257; !- Surface Area {m2} + + InternalMass, + Perimeter_bot_ZN_4 Internal Mass, !- Name + InteriorFurnishings, !- Construction Name + Perimeter_bot_ZN_4, !- Zone Name + 403.9503; !- Surface Area {m2} + + InternalMass, + Perimeter_mid_ZN_1 Internal Mass, !- Name + InteriorFurnishings, !- Construction Name + Perimeter_mid_ZN_1, !- Zone Name + 626.8394; !- Surface Area {m2} + + InternalMass, + Perimeter_mid_ZN_2 Internal Mass, !- Name + InteriorFurnishings, !- Construction Name + Perimeter_mid_ZN_2, !- Zone Name + 403.9503; !- Surface Area {m2} + + InternalMass, + Perimeter_mid_ZN_3 Internal Mass, !- Name + InteriorFurnishings, !- Construction Name + Perimeter_mid_ZN_3, !- Zone Name + 626.8257; !- Surface Area {m2} + + InternalMass, + Perimeter_mid_ZN_4 Internal Mass, !- Name + InteriorFurnishings, !- Construction Name + Perimeter_mid_ZN_4, !- Zone Name + 403.9503; !- Surface Area {m2} + + InternalMass, + Perimeter_top_ZN_1 Internal Mass, !- Name + InteriorFurnishings, !- Construction Name + Perimeter_top_ZN_1, !- Zone Name + 626.8394; !- Surface Area {m2} + + InternalMass, + Perimeter_top_ZN_2 Internal Mass, !- Name + InteriorFurnishings, !- Construction Name + Perimeter_top_ZN_2, !- Zone Name + 403.9503; !- Surface Area {m2} + + InternalMass, + Perimeter_top_ZN_3 Internal Mass, !- Name + InteriorFurnishings, !- Construction Name + Perimeter_top_ZN_3, !- Zone Name + 626.8257; !- Surface Area {m2} + + InternalMass, + Perimeter_top_ZN_4 Internal Mass, !- Name + InteriorFurnishings, !- Construction Name + Perimeter_top_ZN_4, !- Zone Name + 403.9503; !- Surface Area {m2} + +! ***INTERNAL GAINS SCHEDULES*** + + Schedule:Compact, + BLDG_ELEVATORS, !- Name + Fraction, !- Schedule Type Limits Name + Through: 12/31, !- Field 1 + For: AllDays, !- Field 2 + Until: 04:00,0.05, !- Field 3 + Until: 05:00,0.10, !- Field 5 + Until: 06:00,0.20, !- Field 7 + Until: 07:00,0.40, !- Field 9 + Until: 09:00,0.50, !- Field 11 + Until: 10:00,0.35, !- Field 13 + Until: 16:00,0.15, !- Field 15 + Until: 17:00,0.35, !- Field 17 + Until: 19:00,0.50, !- Field 19 + Until: 21:00,0.40, !- Field 21 + Until: 22:00,0.30, !- Field 23 + Until: 23:00,0.20, !- Field 25 + Until: 24:00,0.10; !- Field 27 + + Schedule:Compact, + INFIL_QUARTER_ON_SCH, !- Name + Fraction, !- Schedule Type Limits Name + Through: 12/31, !- Field 1 + For: Weekdays SummerDesignDay, !- Field 2 + Until: 06:00,1.0, !- Field 3 + Until: 22:00,0.25, !- Field 5 + Until: 24:00,1.0, !- Field 7 + For: Saturday WinterDesignDay, !- Field 9 + Until: 06:00,1.0, !- Field 10 + Until: 18:00,0.25, !- Field 12 + Until: 24:00,1.0, !- Field 14 + For: Sunday Holidays AllOtherDays, !- Field 16 + Until: 24:00,1.0; !- Field 17 + + Schedule:Compact, + BLDG_OCC_SCH, !- Name + Fraction, !- Schedule Type Limits Name + Through: 12/31, !- Field 1 + For: SummerDesignDay, !- Field 2 + Until: 06:00,0.0, !- Field 3 + Until: 22:00,1.0, !- Field 5 + Until: 24:00,0.05, !- Field 7 + For: Weekdays, !- Field 9 + Until: 06:00,0.0, !- Field 10 + Until: 07:00,0.1, !- Field 12 + Until: 08:00,0.2, !- Field 14 + Until: 12:00,0.95, !- Field 16 + Until: 13:00,0.5, !- Field 18 + Until: 17:00,0.95, !- Field 20 + Until: 18:00,0.7, !- Field 22 + Until: 20:00,0.4, !- Field 24 + Until: 22:00,0.1, !- Field 26 + Until: 24:00,0.05, !- Field 28 + For: Saturday, !- Field 30 + Until: 06:00,0.0, !- Field 31 + Until: 08:00,0.1, !- Field 33 + Until: 14:00,0.5, !- Field 35 + Until: 17:00,0.1, !- Field 37 + Until: 24:00,0.0, !- Field 39 + For: AllOtherDays, !- Field 41 + Until: 24:00,0.0; !- Field 42 + + Schedule:Compact, + BLDG_LIGHT_SCH, !- Name + Fraction, !- Schedule Type Limits Name + Through: 12/31, !- Field 1 + For: Weekdays, !- Field 2 + Until: 05:00,0.05, !- Field 3 + Until: 07:00,0.1, !- Field 5 + Until: 08:00,0.3, !- Field 7 + Until: 17:00,0.9, !- Field 9 + Until: 18:00,0.7, !- Field 11 + Until: 20:00,0.5, !- Field 13 + Until: 22:00,0.3, !- Field 15 + Until: 23:00,0.1, !- Field 17 + Until: 24:00,0.05, !- Field 19 + For: Saturday, !- Field 21 + Until: 06:00,0.05, !- Field 22 + Until: 08:00,0.1, !- Field 24 + Until: 14:00,0.5, !- Field 26 + Until: 17:00,0.15, !- Field 28 + Until: 24:00,0.05, !- Field 30 + For: SummerDesignDay, !- Field 32 + Until: 24:00,1.0, !- Field 33 + For: WinterDesignDay, !- Field 35 + Until: 24:00,0.0, !- Field 36 + For: AllOtherDays, !- Field 38 + Until: 24:00,0.05; !- Field 39 + + Schedule:Compact, + BLDG_EQUIP_SCH, !- Name + Fraction, !- Schedule Type Limits Name + Through: 12/31, !- Field 1 + For: Weekdays, !- Field 2 + Until: 08:00,0.40, !- Field 3 + Until: 12:00,0.90, !- Field 5 + Until: 13:00,0.80, !- Field 7 + Until: 17:00,0.90, !- Field 9 + Until: 18:00,0.80, !- Field 11 + Until: 20:00,0.60, !- Field 13 + Until: 22:00,0.50, !- Field 15 + Until: 24:00,0.40, !- Field 17 + For: Saturday, !- Field 19 + Until: 06:00,0.30, !- Field 20 + Until: 08:00,0.4, !- Field 22 + Until: 14:00,0.5, !- Field 24 + Until: 17:00,0.35, !- Field 26 + Until: 24:00,0.30, !- Field 28 + For: SummerDesignDay, !- Field 30 + Until: 24:00,1.0, !- Field 31 + For: WinterDesignDay, !- Field 33 + Until: 24:00,0.0, !- Field 34 + For: AllOtherDays, !- Field 36 + Until: 24:00,0.30; !- Field 37 + + Schedule:Compact, + ACTIVITY_SCH, !- Name + Any Number, !- Schedule Type Limits Name + Through: 12/31, !- Field 1 + For: AllDays, !- Field 2 + Until: 24:00,120; !- Field 3 + + Schedule:Compact, + WORK_EFF_SCH, !- Name + Fraction, !- Schedule Type Limits Name + Through: 12/31, !- Field 1 + For: AllDays, !- Field 2 + Until: 24:00,0.0; !- Field 3 + + Schedule:Compact, + AIR_VELO_SCH, !- Name + Any Number, !- Schedule Type Limits Name + Through: 12/31, !- Field 1 + For: AllDays, !- Field 2 + Until: 24:00,0.2; !- Field 3 + + Schedule:Compact, + CLOTHING_SCH, !- Name + Any Number, !- Schedule Type Limits Name + Through: 04/30, !- Field 1 + For: AllDays, !- Field 2 + Until: 24:00,1.0, !- Field 3 + Through: 09/30, !- Field 5 + For: AllDays, !- Field 6 + Until: 24:00,0.5, !- Field 7 + Through: 12/31, !- Field 9 + For: AllDays, !- Field 10 + Until: 24:00,1.0; !- Field 11 + +! ***HVAC EQUIPMENT*** + + Fan:VariableVolume, + VAV_1_Fan, !- Name + HVACOperationSchd, !- Availability Schedule Name + 0.6045, !- Fan Efficiency + 1017.592, !- Pressure Rise {Pa} + AUTOSIZE, !- Maximum Flow Rate {m3/s} + FixedFlowRate, !- Fan Power Minimum Flow Rate Input Method + , !- Fan Power Minimum Flow Fraction + 0.0000, !- Fan Power Minimum Air Flow Rate {m3/s} + 0.93, !- Motor Efficiency + 1.0, !- Motor In Airstream Fraction + 0.0407598940, !- Fan Power Coefficient 1 + 0.08804497, !- Fan Power Coefficient 2 + -0.072926120, !- Fan Power Coefficient 3 + 0.9437398230, !- Fan Power Coefficient 4 + 0, !- Fan Power Coefficient 5 + VAV_1_HeatC-VAV_1_FanNode, !- Air Inlet Node Name + VAV_1 Supply Equipment Outlet Node, !- Air Outlet Node Name + Fan Energy; !- End-Use Subcategory + + Fan:VariableVolume, + VAV_2_Fan, !- Name + HVACOperationSchd, !- Availability Schedule Name + 0.6175, !- Fan Efficiency + 1017.592, !- Pressure Rise {Pa} + AUTOSIZE, !- Maximum Flow Rate {m3/s} + FixedFlowRate, !- Fan Power Minimum Flow Rate Input Method + , !- Fan Power Minimum Flow Fraction + 0.0000, !- Fan Power Minimum Air Flow Rate {m3/s} + 0.95, !- Motor Efficiency + 1.0, !- Motor In Airstream Fraction + 0.0407598940, !- Fan Power Coefficient 1 + 0.08804497, !- Fan Power Coefficient 2 + -0.072926120, !- Fan Power Coefficient 3 + 0.9437398230, !- Fan Power Coefficient 4 + 0, !- Fan Power Coefficient 5 + VAV_2_HeatC-VAV_2_FanNode, !- Air Inlet Node Name + VAV_2 Supply Equipment Outlet Node, !- Air Outlet Node Name + Fan Energy; !- End-Use Subcategory + + Fan:VariableVolume, + VAV_3_Fan, !- Name + HVACOperationSchd, !- Availability Schedule Name + 0.6045, !- Fan Efficiency + 1017.592, !- Pressure Rise {Pa} + AUTOSIZE, !- Maximum Flow Rate {m3/s} + FixedFlowRate, !- Fan Power Minimum Flow Rate Input Method + , !- Fan Power Minimum Flow Fraction + 0.0000, !- Fan Power Minimum Air Flow Rate {m3/s} + 0.93, !- Motor Efficiency + 1.0, !- Motor In Airstream Fraction + 0.0407598940, !- Fan Power Coefficient 1 + 0.08804497, !- Fan Power Coefficient 2 + -0.072926120, !- Fan Power Coefficient 3 + 0.9437398230, !- Fan Power Coefficient 4 + 0, !- Fan Power Coefficient 5 + VAV_3_HeatC-VAV_3_FanNode, !- Air Inlet Node Name + VAV_3 Supply Equipment Outlet Node, !- Air Outlet Node Name + Fan Energy; !- End-Use Subcategory + + Fan:VariableVolume, + VAV_5_Fan, !- Name + HVACOperationSchd, !- Availability Schedule Name + 0.5915, !- Fan Efficiency + 1109.648, !- Pressure Rise {Pa} + AUTOSIZE, !- Maximum Flow Rate {m3/s} + FixedFlowRate, !- Fan Power Minimum Flow Rate Input Method + , !- Fan Power Minimum Flow Fraction + 0.0000, !- Fan Power Minimum Air Flow Rate {m3/s} + 0.91, !- Motor Efficiency + 1.0, !- Motor In Airstream Fraction + 0.0407598940, !- Fan Power Coefficient 1 + 0.08804497, !- Fan Power Coefficient 2 + -0.072926120, !- Fan Power Coefficient 3 + 0.9437398230, !- Fan Power Coefficient 4 + 0, !- Fan Power Coefficient 5 + VAV_5_HeatC-VAV_5_FanNode, !- Air Inlet Node Name + VAV_5 Supply Equipment Outlet Node, !- Air Outlet Node Name + Fan Energy; !- End-Use Subcategory + + Coil:Heating:Water, + Basement VAV Box Reheat Coil, !- Name + ALWAYS_ON, !- Availability Schedule Name + AUTOSIZE, !- U-Factor Times Area Value {W/K} + AUTOSIZE, !- Maximum Water Flow Rate {m3/s} + Basement VAV Box Reheat CoilDemand Inlet Node, !- Water Inlet Node Name + Basement VAV Box Reheat CoilDemand Outlet Node, !- Water Outlet Node Name + Basement VAV Box Damper Node, !- Air Inlet Node Name + Basement VAV Box Outlet Node Name, !- Air Outlet Node Name + UFactorTimesAreaAndDesignWaterFlowRate, !- Performance Input Method + AUTOSIZE, !- Rated Capacity {W} + 82.2, !- Rated Inlet Water Temperature {C} + 16.6, !- Rated Inlet Air Temperature {C} + 71.1, !- Rated Outlet Water Temperature {C} + 32.2, !- Rated Outlet Air Temperature {C} + ; !- Rated Ratio for Air and Water Convection + + Coil:Heating:Water, + Core_bottom VAV Box Reheat Coil, !- Name + ALWAYS_ON, !- Availability Schedule Name + AUTOSIZE, !- U-Factor Times Area Value {W/K} + AUTOSIZE, !- Maximum Water Flow Rate {m3/s} + Core_bottom VAV Box Reheat CoilDemand Inlet Node, !- Water Inlet Node Name + Core_bottom VAV Box Reheat CoilDemand Outlet Node, !- Water Outlet Node Name + Core_bottom VAV Box Damper Node, !- Air Inlet Node Name + Core_bottom VAV Box Outlet Node Name, !- Air Outlet Node Name + UFactorTimesAreaAndDesignWaterFlowRate, !- Performance Input Method + AUTOSIZE, !- Rated Capacity {W} + 82.2, !- Rated Inlet Water Temperature {C} + 16.6, !- Rated Inlet Air Temperature {C} + 71.1, !- Rated Outlet Water Temperature {C} + 32.2, !- Rated Outlet Air Temperature {C} + ; !- Rated Ratio for Air and Water Convection + + Coil:Heating:Water, + Core_mid VAV Box Reheat Coil, !- Name + ALWAYS_ON, !- Availability Schedule Name + AUTOSIZE, !- U-Factor Times Area Value {W/K} + AUTOSIZE, !- Maximum Water Flow Rate {m3/s} + Core_mid VAV Box Reheat CoilDemand Inlet Node, !- Water Inlet Node Name + Core_mid VAV Box Reheat CoilDemand Outlet Node, !- Water Outlet Node Name + Core_mid VAV Box Damper Node, !- Air Inlet Node Name + Core_mid VAV Box Outlet Node Name, !- Air Outlet Node Name + UFactorTimesAreaAndDesignWaterFlowRate, !- Performance Input Method + AUTOSIZE, !- Rated Capacity {W} + 82.2, !- Rated Inlet Water Temperature {C} + 16.6, !- Rated Inlet Air Temperature {C} + 71.1, !- Rated Outlet Water Temperature {C} + 32.2, !- Rated Outlet Air Temperature {C} + ; !- Rated Ratio for Air and Water Convection + + Coil:Heating:Water, + Core_top VAV Box Reheat Coil, !- Name + ALWAYS_ON, !- Availability Schedule Name + AUTOSIZE, !- U-Factor Times Area Value {W/K} + AUTOSIZE, !- Maximum Water Flow Rate {m3/s} + Core_top VAV Box Reheat CoilDemand Inlet Node, !- Water Inlet Node Name + Core_top VAV Box Reheat CoilDemand Outlet Node, !- Water Outlet Node Name + Core_top VAV Box Damper Node, !- Air Inlet Node Name + Core_top VAV Box Outlet Node Name, !- Air Outlet Node Name + UFactorTimesAreaAndDesignWaterFlowRate, !- Performance Input Method + AUTOSIZE, !- Rated Capacity {W} + 82.2, !- Rated Inlet Water Temperature {C} + 16.6, !- Rated Inlet Air Temperature {C} + 71.1, !- Rated Outlet Water Temperature {C} + 32.2, !- Rated Outlet Air Temperature {C} + ; !- Rated Ratio for Air and Water Convection + + Coil:Heating:Water, + Perimeter_bot_ZN_1 VAV Box Reheat Coil, !- Name + ALWAYS_ON, !- Availability Schedule Name + AUTOSIZE, !- U-Factor Times Area Value {W/K} + AUTOSIZE, !- Maximum Water Flow Rate {m3/s} + Perimeter_bot_ZN_1 VAV Box Reheat CoilDemand Inlet Node, !- Water Inlet Node Name + Perimeter_bot_ZN_1 VAV Box Reheat CoilDemand Outlet Node, !- Water Outlet Node Name + Perimeter_bot_ZN_1 VAV Box Damper Node, !- Air Inlet Node Name + Perimeter_bot_ZN_1 VAV Box Outlet Node Name, !- Air Outlet Node Name + UFactorTimesAreaAndDesignWaterFlowRate, !- Performance Input Method + AUTOSIZE, !- Rated Capacity {W} + 82.2, !- Rated Inlet Water Temperature {C} + 16.6, !- Rated Inlet Air Temperature {C} + 71.1, !- Rated Outlet Water Temperature {C} + 32.2, !- Rated Outlet Air Temperature {C} + ; !- Rated Ratio for Air and Water Convection + + Coil:Heating:Water, + Perimeter_bot_ZN_2 VAV Box Reheat Coil, !- Name + ALWAYS_ON, !- Availability Schedule Name + AUTOSIZE, !- U-Factor Times Area Value {W/K} + AUTOSIZE, !- Maximum Water Flow Rate {m3/s} + Perimeter_bot_ZN_2 VAV Box Reheat CoilDemand Inlet Node, !- Water Inlet Node Name + Perimeter_bot_ZN_2 VAV Box Reheat CoilDemand Outlet Node, !- Water Outlet Node Name + Perimeter_bot_ZN_2 VAV Box Damper Node, !- Air Inlet Node Name + Perimeter_bot_ZN_2 VAV Box Outlet Node Name, !- Air Outlet Node Name + UFactorTimesAreaAndDesignWaterFlowRate, !- Performance Input Method + AUTOSIZE, !- Rated Capacity {W} + 82.2, !- Rated Inlet Water Temperature {C} + 16.6, !- Rated Inlet Air Temperature {C} + 71.1, !- Rated Outlet Water Temperature {C} + 32.2, !- Rated Outlet Air Temperature {C} + ; !- Rated Ratio for Air and Water Convection + + Coil:Heating:Water, + Perimeter_bot_ZN_3 VAV Box Reheat Coil, !- Name + ALWAYS_ON, !- Availability Schedule Name + AUTOSIZE, !- U-Factor Times Area Value {W/K} + AUTOSIZE, !- Maximum Water Flow Rate {m3/s} + Perimeter_bot_ZN_3 VAV Box Reheat CoilDemand Inlet Node, !- Water Inlet Node Name + Perimeter_bot_ZN_3 VAV Box Reheat CoilDemand Outlet Node, !- Water Outlet Node Name + Perimeter_bot_ZN_3 VAV Box Damper Node, !- Air Inlet Node Name + Perimeter_bot_ZN_3 VAV Box Outlet Node Name, !- Air Outlet Node Name + UFactorTimesAreaAndDesignWaterFlowRate, !- Performance Input Method + AUTOSIZE, !- Rated Capacity {W} + 82.2, !- Rated Inlet Water Temperature {C} + 16.6, !- Rated Inlet Air Temperature {C} + 71.1, !- Rated Outlet Water Temperature {C} + 32.2, !- Rated Outlet Air Temperature {C} + ; !- Rated Ratio for Air and Water Convection + + Coil:Heating:Water, + Perimeter_bot_ZN_4 VAV Box Reheat Coil, !- Name + ALWAYS_ON, !- Availability Schedule Name + AUTOSIZE, !- U-Factor Times Area Value {W/K} + AUTOSIZE, !- Maximum Water Flow Rate {m3/s} + Perimeter_bot_ZN_4 VAV Box Reheat CoilDemand Inlet Node, !- Water Inlet Node Name + Perimeter_bot_ZN_4 VAV Box Reheat CoilDemand Outlet Node, !- Water Outlet Node Name + Perimeter_bot_ZN_4 VAV Box Damper Node, !- Air Inlet Node Name + Perimeter_bot_ZN_4 VAV Box Outlet Node Name, !- Air Outlet Node Name + UFactorTimesAreaAndDesignWaterFlowRate, !- Performance Input Method + AUTOSIZE, !- Rated Capacity {W} + 82.2, !- Rated Inlet Water Temperature {C} + 16.6, !- Rated Inlet Air Temperature {C} + 71.1, !- Rated Outlet Water Temperature {C} + 32.2, !- Rated Outlet Air Temperature {C} + ; !- Rated Ratio for Air and Water Convection + + Coil:Heating:Water, + Perimeter_mid_ZN_1 VAV Box Reheat Coil, !- Name + ALWAYS_ON, !- Availability Schedule Name + AUTOSIZE, !- U-Factor Times Area Value {W/K} + AUTOSIZE, !- Maximum Water Flow Rate {m3/s} + Perimeter_mid_ZN_1 VAV Box Reheat CoilDemand Inlet Node, !- Water Inlet Node Name + Perimeter_mid_ZN_1 VAV Box Reheat CoilDemand Outlet Node, !- Water Outlet Node Name + Perimeter_mid_ZN_1 VAV Box Damper Node, !- Air Inlet Node Name + Perimeter_mid_ZN_1 VAV Box Outlet Node Name, !- Air Outlet Node Name + UFactorTimesAreaAndDesignWaterFlowRate, !- Performance Input Method + AUTOSIZE, !- Rated Capacity {W} + 82.2, !- Rated Inlet Water Temperature {C} + 16.6, !- Rated Inlet Air Temperature {C} + 71.1, !- Rated Outlet Water Temperature {C} + 32.2, !- Rated Outlet Air Temperature {C} + ; !- Rated Ratio for Air and Water Convection + + Coil:Heating:Water, + Perimeter_mid_ZN_2 VAV Box Reheat Coil, !- Name + ALWAYS_ON, !- Availability Schedule Name + AUTOSIZE, !- U-Factor Times Area Value {W/K} + AUTOSIZE, !- Maximum Water Flow Rate {m3/s} + Perimeter_mid_ZN_2 VAV Box Reheat CoilDemand Inlet Node, !- Water Inlet Node Name + Perimeter_mid_ZN_2 VAV Box Reheat CoilDemand Outlet Node, !- Water Outlet Node Name + Perimeter_mid_ZN_2 VAV Box Damper Node, !- Air Inlet Node Name + Perimeter_mid_ZN_2 VAV Box Outlet Node Name, !- Air Outlet Node Name + UFactorTimesAreaAndDesignWaterFlowRate, !- Performance Input Method + AUTOSIZE, !- Rated Capacity {W} + 82.2, !- Rated Inlet Water Temperature {C} + 16.6, !- Rated Inlet Air Temperature {C} + 71.1, !- Rated Outlet Water Temperature {C} + 32.2, !- Rated Outlet Air Temperature {C} + ; !- Rated Ratio for Air and Water Convection + + Coil:Heating:Water, + Perimeter_mid_ZN_3 VAV Box Reheat Coil, !- Name + ALWAYS_ON, !- Availability Schedule Name + AUTOSIZE, !- U-Factor Times Area Value {W/K} + AUTOSIZE, !- Maximum Water Flow Rate {m3/s} + Perimeter_mid_ZN_3 VAV Box Reheat CoilDemand Inlet Node, !- Water Inlet Node Name + Perimeter_mid_ZN_3 VAV Box Reheat CoilDemand Outlet Node, !- Water Outlet Node Name + Perimeter_mid_ZN_3 VAV Box Damper Node, !- Air Inlet Node Name + Perimeter_mid_ZN_3 VAV Box Outlet Node Name, !- Air Outlet Node Name + UFactorTimesAreaAndDesignWaterFlowRate, !- Performance Input Method + AUTOSIZE, !- Rated Capacity {W} + 82.2, !- Rated Inlet Water Temperature {C} + 16.6, !- Rated Inlet Air Temperature {C} + 71.1, !- Rated Outlet Water Temperature {C} + 32.2, !- Rated Outlet Air Temperature {C} + ; !- Rated Ratio for Air and Water Convection + + Coil:Heating:Water, + Perimeter_mid_ZN_4 VAV Box Reheat Coil, !- Name + ALWAYS_ON, !- Availability Schedule Name + AUTOSIZE, !- U-Factor Times Area Value {W/K} + AUTOSIZE, !- Maximum Water Flow Rate {m3/s} + Perimeter_mid_ZN_4 VAV Box Reheat CoilDemand Inlet Node, !- Water Inlet Node Name + Perimeter_mid_ZN_4 VAV Box Reheat CoilDemand Outlet Node, !- Water Outlet Node Name + Perimeter_mid_ZN_4 VAV Box Damper Node, !- Air Inlet Node Name + Perimeter_mid_ZN_4 VAV Box Outlet Node Name, !- Air Outlet Node Name + UFactorTimesAreaAndDesignWaterFlowRate, !- Performance Input Method + AUTOSIZE, !- Rated Capacity {W} + 82.2, !- Rated Inlet Water Temperature {C} + 16.6, !- Rated Inlet Air Temperature {C} + 71.1, !- Rated Outlet Water Temperature {C} + 32.2, !- Rated Outlet Air Temperature {C} + ; !- Rated Ratio for Air and Water Convection + + Coil:Heating:Water, + Perimeter_top_ZN_1 VAV Box Reheat Coil, !- Name + ALWAYS_ON, !- Availability Schedule Name + AUTOSIZE, !- U-Factor Times Area Value {W/K} + AUTOSIZE, !- Maximum Water Flow Rate {m3/s} + Perimeter_top_ZN_1 VAV Box Reheat CoilDemand Inlet Node, !- Water Inlet Node Name + Perimeter_top_ZN_1 VAV Box Reheat CoilDemand Outlet Node, !- Water Outlet Node Name + Perimeter_top_ZN_1 VAV Box Damper Node, !- Air Inlet Node Name + Perimeter_top_ZN_1 VAV Box Outlet Node Name, !- Air Outlet Node Name + UFactorTimesAreaAndDesignWaterFlowRate, !- Performance Input Method + AUTOSIZE, !- Rated Capacity {W} + 82.2, !- Rated Inlet Water Temperature {C} + 16.6, !- Rated Inlet Air Temperature {C} + 71.1, !- Rated Outlet Water Temperature {C} + 32.2, !- Rated Outlet Air Temperature {C} + ; !- Rated Ratio for Air and Water Convection + + Coil:Heating:Water, + Perimeter_top_ZN_2 VAV Box Reheat Coil, !- Name + ALWAYS_ON, !- Availability Schedule Name + AUTOSIZE, !- U-Factor Times Area Value {W/K} + AUTOSIZE, !- Maximum Water Flow Rate {m3/s} + Perimeter_top_ZN_2 VAV Box Reheat CoilDemand Inlet Node, !- Water Inlet Node Name + Perimeter_top_ZN_2 VAV Box Reheat CoilDemand Outlet Node, !- Water Outlet Node Name + Perimeter_top_ZN_2 VAV Box Damper Node, !- Air Inlet Node Name + Perimeter_top_ZN_2 VAV Box Outlet Node Name, !- Air Outlet Node Name + UFactorTimesAreaAndDesignWaterFlowRate, !- Performance Input Method + AUTOSIZE, !- Rated Capacity {W} + 82.2, !- Rated Inlet Water Temperature {C} + 16.6, !- Rated Inlet Air Temperature {C} + 71.1, !- Rated Outlet Water Temperature {C} + 32.2, !- Rated Outlet Air Temperature {C} + ; !- Rated Ratio for Air and Water Convection + + Coil:Heating:Water, + Perimeter_top_ZN_3 VAV Box Reheat Coil, !- Name + ALWAYS_ON, !- Availability Schedule Name + AUTOSIZE, !- U-Factor Times Area Value {W/K} + AUTOSIZE, !- Maximum Water Flow Rate {m3/s} + Perimeter_top_ZN_3 VAV Box Reheat CoilDemand Inlet Node, !- Water Inlet Node Name + Perimeter_top_ZN_3 VAV Box Reheat CoilDemand Outlet Node, !- Water Outlet Node Name + Perimeter_top_ZN_3 VAV Box Damper Node, !- Air Inlet Node Name + Perimeter_top_ZN_3 VAV Box Outlet Node Name, !- Air Outlet Node Name + UFactorTimesAreaAndDesignWaterFlowRate, !- Performance Input Method + AUTOSIZE, !- Rated Capacity {W} + 82.2, !- Rated Inlet Water Temperature {C} + 16.6, !- Rated Inlet Air Temperature {C} + 71.1, !- Rated Outlet Water Temperature {C} + 32.2, !- Rated Outlet Air Temperature {C} + ; !- Rated Ratio for Air and Water Convection + + Coil:Heating:Water, + Perimeter_top_ZN_4 VAV Box Reheat Coil, !- Name + ALWAYS_ON, !- Availability Schedule Name + AUTOSIZE, !- U-Factor Times Area Value {W/K} + AUTOSIZE, !- Maximum Water Flow Rate {m3/s} + Perimeter_top_ZN_4 VAV Box Reheat CoilDemand Inlet Node, !- Water Inlet Node Name + Perimeter_top_ZN_4 VAV Box Reheat CoilDemand Outlet Node, !- Water Outlet Node Name + Perimeter_top_ZN_4 VAV Box Damper Node, !- Air Inlet Node Name + Perimeter_top_ZN_4 VAV Box Outlet Node Name, !- Air Outlet Node Name + UFactorTimesAreaAndDesignWaterFlowRate, !- Performance Input Method + AUTOSIZE, !- Rated Capacity {W} + 82.2, !- Rated Inlet Water Temperature {C} + 16.6, !- Rated Inlet Air Temperature {C} + 71.1, !- Rated Outlet Water Temperature {C} + 32.2, !- Rated Outlet Air Temperature {C} + ; !- Rated Ratio for Air and Water Convection + + Coil:Heating:Water, + VAV_1_HeatC, !- Name + ALWAYS_ON, !- Availability Schedule Name + AUTOSIZE, !- U-Factor Times Area Value {W/K} + AUTOSIZE, !- Maximum Water Flow Rate {m3/s} + VAV_1_HeatCDemand Inlet Node, !- Water Inlet Node Name + VAV_1_HeatCDemand Outlet Node, !- Water Outlet Node Name + VAV_1_CoolC-VAV_1_HeatCNode, !- Air Inlet Node Name + VAV_1_HeatC-VAV_1_FanNode, !- Air Outlet Node Name + UFactorTimesAreaAndDesignWaterFlowRate, !- Performance Input Method + AUTOSIZE, !- Rated Capacity {W} + 82.2, !- Rated Inlet Water Temperature {C} + 16.6, !- Rated Inlet Air Temperature {C} + 71.1, !- Rated Outlet Water Temperature {C} + 32.2, !- Rated Outlet Air Temperature {C} + ; !- Rated Ratio for Air and Water Convection + + Coil:Heating:Water, + VAV_2_HeatC, !- Name + ALWAYS_ON, !- Availability Schedule Name + AUTOSIZE, !- U-Factor Times Area Value {W/K} + AUTOSIZE, !- Maximum Water Flow Rate {m3/s} + VAV_2_HeatCDemand Inlet Node, !- Water Inlet Node Name + VAV_2_HeatCDemand Outlet Node, !- Water Outlet Node Name + VAV_2_CoolC-VAV_2_HeatCNode, !- Air Inlet Node Name + VAV_2_HeatC-VAV_2_FanNode, !- Air Outlet Node Name + UFactorTimesAreaAndDesignWaterFlowRate, !- Performance Input Method + AUTOSIZE, !- Rated Capacity {W} + 82.2, !- Rated Inlet Water Temperature {C} + 16.6, !- Rated Inlet Air Temperature {C} + 71.1, !- Rated Outlet Water Temperature {C} + 32.2, !- Rated Outlet Air Temperature {C} + ; !- Rated Ratio for Air and Water Convection + + Coil:Heating:Water, + VAV_3_HeatC, !- Name + ALWAYS_ON, !- Availability Schedule Name + AUTOSIZE, !- U-Factor Times Area Value {W/K} + AUTOSIZE, !- Maximum Water Flow Rate {m3/s} + VAV_3_HeatCDemand Inlet Node, !- Water Inlet Node Name + VAV_3_HeatCDemand Outlet Node, !- Water Outlet Node Name + VAV_3_CoolC-VAV_3_HeatCNode, !- Air Inlet Node Name + VAV_3_HeatC-VAV_3_FanNode, !- Air Outlet Node Name + UFactorTimesAreaAndDesignWaterFlowRate, !- Performance Input Method + AUTOSIZE, !- Rated Capacity {W} + 82.2, !- Rated Inlet Water Temperature {C} + 16.6, !- Rated Inlet Air Temperature {C} + 71.1, !- Rated Outlet Water Temperature {C} + 32.2, !- Rated Outlet Air Temperature {C} + ; !- Rated Ratio for Air and Water Convection + + Coil:Heating:Water, + VAV_5_HeatC, !- Name + ALWAYS_ON, !- Availability Schedule Name + AUTOSIZE, !- U-Factor Times Area Value {W/K} + AUTOSIZE, !- Maximum Water Flow Rate {m3/s} + VAV_5_HeatCDemand Inlet Node, !- Water Inlet Node Name + VAV_5_HeatCDemand Outlet Node, !- Water Outlet Node Name + VAV_5_CoolC-VAV_5_HeatCNode, !- Air Inlet Node Name + VAV_5_HeatC-VAV_5_FanNode, !- Air Outlet Node Name + UFactorTimesAreaAndDesignWaterFlowRate, !- Performance Input Method + AUTOSIZE, !- Rated Capacity {W} + 82.2, !- Rated Inlet Water Temperature {C} + 16.6, !- Rated Inlet Air Temperature {C} + 71.1, !- Rated Outlet Water Temperature {C} + 32.2, !- Rated Outlet Air Temperature {C} + ; !- Rated Ratio for Air and Water Convection + + Coil:Cooling:Water, + VAV_3_CoolC, !- Name + ALWAYS_ON, !- Availability Schedule Name + AUTOSIZE, !- Design Water Flow Rate {m3/s} + AUTOSIZE, !- Design Air Flow Rate {m3/s} + AUTOSIZE, !- Design Inlet Water Temperature {C} + AUTOSIZE, !- Design Inlet Air Temperature {C} + AUTOSIZE, !- Design Outlet Air Temperature {C} + AUTOSIZE, !- Design Inlet Air Humidity Ratio {kgWater/kgDryAir} + AUTOSIZE, !- Design Outlet Air Humidity Ratio {kgWater/kgDryAir} + VAV_3_CoolCDemand Inlet Node, !- Water Inlet Node Name + VAV_3_CoolCDemand Outlet Node, !- Water Outlet Node Name + VAV_3_OA-VAV_3_CoolCNode,!- Air Inlet Node Name + VAV_3_CoolC-VAV_3_HeatCNode, !- Air Outlet Node Name + SimpleAnalysis, !- Type of Analysis + CrossFlow; !- Heat Exchanger Configuration + + Coil:Cooling:Water, + VAV_2_CoolC, !- Name + ALWAYS_ON, !- Availability Schedule Name + AUTOSIZE, !- Design Water Flow Rate {m3/s} + AUTOSIZE, !- Design Air Flow Rate {m3/s} + AUTOSIZE, !- Design Inlet Water Temperature {C} + AUTOSIZE, !- Design Inlet Air Temperature {C} + AUTOSIZE, !- Design Outlet Air Temperature {C} + AUTOSIZE, !- Design Inlet Air Humidity Ratio {kgWater/kgDryAir} + AUTOSIZE, !- Design Outlet Air Humidity Ratio {kgWater/kgDryAir} + VAV_2_CoolCDemand Inlet Node, !- Water Inlet Node Name + VAV_2_CoolCDemand Outlet Node, !- Water Outlet Node Name + VAV_2_OA-VAV_2_CoolCNode,!- Air Inlet Node Name + VAV_2_CoolC-VAV_2_HeatCNode, !- Air Outlet Node Name + SimpleAnalysis, !- Type of Analysis + CrossFlow; !- Heat Exchanger Configuration + + Coil:Cooling:Water, + VAV_1_CoolC, !- Name + ALWAYS_ON, !- Availability Schedule Name + AUTOSIZE, !- Design Water Flow Rate {m3/s} + AUTOSIZE, !- Design Air Flow Rate {m3/s} + AUTOSIZE, !- Design Inlet Water Temperature {C} + AUTOSIZE, !- Design Inlet Air Temperature {C} + AUTOSIZE, !- Design Outlet Air Temperature {C} + AUTOSIZE, !- Design Inlet Air Humidity Ratio {kgWater/kgDryAir} + AUTOSIZE, !- Design Outlet Air Humidity Ratio {kgWater/kgDryAir} + VAV_1_CoolCDemand Inlet Node, !- Water Inlet Node Name + VAV_1_CoolCDemand Outlet Node, !- Water Outlet Node Name + VAV_1_OA-VAV_1_CoolCNode,!- Air Inlet Node Name + VAV_1_CoolC-VAV_1_HeatCNode, !- Air Outlet Node Name + SimpleAnalysis, !- Type of Analysis + CrossFlow; !- Heat Exchanger Configuration + + Coil:Cooling:Water, + VAV_5_CoolC, !- Name + ALWAYS_ON, !- Availability Schedule Name + AUTOSIZE, !- Design Water Flow Rate {m3/s} + AUTOSIZE, !- Design Air Flow Rate {m3/s} + AUTOSIZE, !- Design Inlet Water Temperature {C} + AUTOSIZE, !- Design Inlet Air Temperature {C} + AUTOSIZE, !- Design Outlet Air Temperature {C} + AUTOSIZE, !- Design Inlet Air Humidity Ratio {kgWater/kgDryAir} + AUTOSIZE, !- Design Outlet Air Humidity Ratio {kgWater/kgDryAir} + VAV_5_CoolCDemand Inlet Node, !- Water Inlet Node Name + VAV_5_CoolCDemand Outlet Node, !- Water Outlet Node Name + VAV_5_OA-VAV_5_CoolCNode,!- Air Inlet Node Name + VAV_5_CoolC-VAV_5_HeatCNode, !- Air Outlet Node Name + SimpleAnalysis, !- Type of Analysis + CrossFlow; !- Heat Exchanger Configuration + + AirTerminal:SingleDuct:VAV:Reheat, + Basement VAV Box Component, !- Name + ALWAYS_ON, !- Availability Schedule Name + Basement VAV Box Damper Node, !- Damper Air Outlet Node Name + Basement VAV Box Inlet Node Name, !- Air Inlet Node Name + AUTOSIZE, !- Maximum Air Flow Rate {m3/s} + Constant, !- Zone Minimum Air Flow Input Method + 0.3, !- Constant Minimum Air Flow Fraction + , !- Fixed Minimum Air Flow Rate {m3/s} + , !- Minimum Air Flow Fraction Schedule Name + Coil:Heating:Water, !- Reheat Coil Object Type + Basement VAV Box Reheat Coil, !- Reheat Coil Name + AUTOSIZE, !- Maximum Hot Water or Steam Flow Rate {m3/s} + 0.0, !- Minimum Hot Water or Steam Flow Rate {m3/s} + Basement VAV Box Outlet Node Name, !- Air Outlet Node Name + 0.001, !- Convergence Tolerance + NORMAL; !- Damper Heating Action + + AirTerminal:SingleDuct:VAV:Reheat, + Core_bottom VAV Box Component, !- Name + ALWAYS_ON, !- Availability Schedule Name + Core_bottom VAV Box Damper Node, !- Damper Air Outlet Node Name + Core_bottom VAV Box Inlet Node Name, !- Air Inlet Node Name + AUTOSIZE, !- Maximum Air Flow Rate {m3/s} + Constant, !- Zone Minimum Air Flow Input Method + 0.3, !- Constant Minimum Air Flow Fraction + , !- Fixed Minimum Air Flow Rate {m3/s} + , !- Minimum Air Flow Fraction Schedule Name + Coil:Heating:Water, !- Reheat Coil Object Type + Core_bottom VAV Box Reheat Coil, !- Reheat Coil Name + AUTOSIZE, !- Maximum Hot Water or Steam Flow Rate {m3/s} + 0.0, !- Minimum Hot Water or Steam Flow Rate {m3/s} + Core_bottom VAV Box Outlet Node Name, !- Air Outlet Node Name + 0.001, !- Convergence Tolerance + NORMAL; !- Damper Heating Action + + AirTerminal:SingleDuct:VAV:Reheat, + Core_mid VAV Box Component, !- Name + ALWAYS_ON, !- Availability Schedule Name + Core_mid VAV Box Damper Node, !- Damper Air Outlet Node Name + Core_mid VAV Box Inlet Node Name, !- Air Inlet Node Name + AUTOSIZE, !- Maximum Air Flow Rate {m3/s} + Constant, !- Zone Minimum Air Flow Input Method + 0.3, !- Constant Minimum Air Flow Fraction + , !- Fixed Minimum Air Flow Rate {m3/s} + , !- Minimum Air Flow Fraction Schedule Name + Coil:Heating:Water, !- Reheat Coil Object Type + Core_mid VAV Box Reheat Coil, !- Reheat Coil Name + AUTOSIZE, !- Maximum Hot Water or Steam Flow Rate {m3/s} + 0.0, !- Minimum Hot Water or Steam Flow Rate {m3/s} + Core_mid VAV Box Outlet Node Name, !- Air Outlet Node Name + 0.001, !- Convergence Tolerance + NORMAL; !- Damper Heating Action + + AirTerminal:SingleDuct:VAV:Reheat, + Core_top VAV Box Component, !- Name + ALWAYS_ON, !- Availability Schedule Name + Core_top VAV Box Damper Node, !- Damper Air Outlet Node Name + Core_top VAV Box Inlet Node Name, !- Air Inlet Node Name + AUTOSIZE, !- Maximum Air Flow Rate {m3/s} + Constant, !- Zone Minimum Air Flow Input Method + 0.3, !- Constant Minimum Air Flow Fraction + , !- Fixed Minimum Air Flow Rate {m3/s} + , !- Minimum Air Flow Fraction Schedule Name + Coil:Heating:Water, !- Reheat Coil Object Type + Core_top VAV Box Reheat Coil, !- Reheat Coil Name + AUTOSIZE, !- Maximum Hot Water or Steam Flow Rate {m3/s} + 0.0, !- Minimum Hot Water or Steam Flow Rate {m3/s} + Core_top VAV Box Outlet Node Name, !- Air Outlet Node Name + 0.001, !- Convergence Tolerance + NORMAL; !- Damper Heating Action + + AirTerminal:SingleDuct:VAV:Reheat, + Perimeter_bot_ZN_1 VAV Box Component, !- Name + ALWAYS_ON, !- Availability Schedule Name + Perimeter_bot_ZN_1 VAV Box Damper Node, !- Damper Air Outlet Node Name + Perimeter_bot_ZN_1 VAV Box Inlet Node Name, !- Air Inlet Node Name + AUTOSIZE, !- Maximum Air Flow Rate {m3/s} + Constant, !- Zone Minimum Air Flow Input Method + 0.3, !- Constant Minimum Air Flow Fraction + , !- Fixed Minimum Air Flow Rate {m3/s} + , !- Minimum Air Flow Fraction Schedule Name + Coil:Heating:Water, !- Reheat Coil Object Type + Perimeter_bot_ZN_1 VAV Box Reheat Coil, !- Reheat Coil Name + AUTOSIZE, !- Maximum Hot Water or Steam Flow Rate {m3/s} + 0.0, !- Minimum Hot Water or Steam Flow Rate {m3/s} + Perimeter_bot_ZN_1 VAV Box Outlet Node Name, !- Air Outlet Node Name + 0.001, !- Convergence Tolerance + NORMAL; !- Damper Heating Action + + AirTerminal:SingleDuct:VAV:Reheat, + Perimeter_bot_ZN_2 VAV Box Component, !- Name + ALWAYS_ON, !- Availability Schedule Name + Perimeter_bot_ZN_2 VAV Box Damper Node, !- Damper Air Outlet Node Name + Perimeter_bot_ZN_2 VAV Box Inlet Node Name, !- Air Inlet Node Name + AUTOSIZE, !- Maximum Air Flow Rate {m3/s} + Constant, !- Zone Minimum Air Flow Input Method + 0.3, !- Constant Minimum Air Flow Fraction + , !- Fixed Minimum Air Flow Rate {m3/s} + , !- Minimum Air Flow Fraction Schedule Name + Coil:Heating:Water, !- Reheat Coil Object Type + Perimeter_bot_ZN_2 VAV Box Reheat Coil, !- Reheat Coil Name + AUTOSIZE, !- Maximum Hot Water or Steam Flow Rate {m3/s} + 0.0, !- Minimum Hot Water or Steam Flow Rate {m3/s} + Perimeter_bot_ZN_2 VAV Box Outlet Node Name, !- Air Outlet Node Name + 0.001, !- Convergence Tolerance + NORMAL; !- Damper Heating Action + + AirTerminal:SingleDuct:VAV:Reheat, + Perimeter_bot_ZN_3 VAV Box Component, !- Name + ALWAYS_ON, !- Availability Schedule Name + Perimeter_bot_ZN_3 VAV Box Damper Node, !- Damper Air Outlet Node Name + Perimeter_bot_ZN_3 VAV Box Inlet Node Name, !- Air Inlet Node Name + AUTOSIZE, !- Maximum Air Flow Rate {m3/s} + Constant, !- Zone Minimum Air Flow Input Method + 0.3, !- Constant Minimum Air Flow Fraction + , !- Fixed Minimum Air Flow Rate {m3/s} + , !- Minimum Air Flow Fraction Schedule Name + Coil:Heating:Water, !- Reheat Coil Object Type + Perimeter_bot_ZN_3 VAV Box Reheat Coil, !- Reheat Coil Name + AUTOSIZE, !- Maximum Hot Water or Steam Flow Rate {m3/s} + 0.0, !- Minimum Hot Water or Steam Flow Rate {m3/s} + Perimeter_bot_ZN_3 VAV Box Outlet Node Name, !- Air Outlet Node Name + 0.001, !- Convergence Tolerance + NORMAL; !- Damper Heating Action + + AirTerminal:SingleDuct:VAV:Reheat, + Perimeter_bot_ZN_4 VAV Box Component, !- Name + ALWAYS_ON, !- Availability Schedule Name + Perimeter_bot_ZN_4 VAV Box Damper Node, !- Damper Air Outlet Node Name + Perimeter_bot_ZN_4 VAV Box Inlet Node Name, !- Air Inlet Node Name + AUTOSIZE, !- Maximum Air Flow Rate {m3/s} + Constant, !- Zone Minimum Air Flow Input Method + 0.3, !- Constant Minimum Air Flow Fraction + , !- Fixed Minimum Air Flow Rate {m3/s} + , !- Minimum Air Flow Fraction Schedule Name + Coil:Heating:Water, !- Reheat Coil Object Type + Perimeter_bot_ZN_4 VAV Box Reheat Coil, !- Reheat Coil Name + AUTOSIZE, !- Maximum Hot Water or Steam Flow Rate {m3/s} + 0.0, !- Minimum Hot Water or Steam Flow Rate {m3/s} + Perimeter_bot_ZN_4 VAV Box Outlet Node Name, !- Air Outlet Node Name + 0.001, !- Convergence Tolerance + NORMAL; !- Damper Heating Action + + AirTerminal:SingleDuct:VAV:Reheat, + Perimeter_mid_ZN_1 VAV Box Component, !- Name + ALWAYS_ON, !- Availability Schedule Name + Perimeter_mid_ZN_1 VAV Box Damper Node, !- Damper Air Outlet Node Name + Perimeter_mid_ZN_1 VAV Box Inlet Node Name, !- Air Inlet Node Name + AUTOSIZE, !- Maximum Air Flow Rate {m3/s} + Constant, !- Zone Minimum Air Flow Input Method + 0.3, !- Constant Minimum Air Flow Fraction + , !- Fixed Minimum Air Flow Rate {m3/s} + , !- Minimum Air Flow Fraction Schedule Name + Coil:Heating:Water, !- Reheat Coil Object Type + Perimeter_mid_ZN_1 VAV Box Reheat Coil, !- Reheat Coil Name + AUTOSIZE, !- Maximum Hot Water or Steam Flow Rate {m3/s} + 0.0, !- Minimum Hot Water or Steam Flow Rate {m3/s} + Perimeter_mid_ZN_1 VAV Box Outlet Node Name, !- Air Outlet Node Name + 0.001, !- Convergence Tolerance + NORMAL; !- Damper Heating Action + + AirTerminal:SingleDuct:VAV:Reheat, + Perimeter_mid_ZN_2 VAV Box Component, !- Name + ALWAYS_ON, !- Availability Schedule Name + Perimeter_mid_ZN_2 VAV Box Damper Node, !- Damper Air Outlet Node Name + Perimeter_mid_ZN_2 VAV Box Inlet Node Name, !- Air Inlet Node Name + AUTOSIZE, !- Maximum Air Flow Rate {m3/s} + Constant, !- Zone Minimum Air Flow Input Method + 0.3, !- Constant Minimum Air Flow Fraction + , !- Fixed Minimum Air Flow Rate {m3/s} + , !- Minimum Air Flow Fraction Schedule Name + Coil:Heating:Water, !- Reheat Coil Object Type + Perimeter_mid_ZN_2 VAV Box Reheat Coil, !- Reheat Coil Name + AUTOSIZE, !- Maximum Hot Water or Steam Flow Rate {m3/s} + 0.0, !- Minimum Hot Water or Steam Flow Rate {m3/s} + Perimeter_mid_ZN_2 VAV Box Outlet Node Name, !- Air Outlet Node Name + 0.001, !- Convergence Tolerance + NORMAL; !- Damper Heating Action + + AirTerminal:SingleDuct:VAV:Reheat, + Perimeter_mid_ZN_3 VAV Box Component, !- Name + ALWAYS_ON, !- Availability Schedule Name + Perimeter_mid_ZN_3 VAV Box Damper Node, !- Damper Air Outlet Node Name + Perimeter_mid_ZN_3 VAV Box Inlet Node Name, !- Air Inlet Node Name + AUTOSIZE, !- Maximum Air Flow Rate {m3/s} + Constant, !- Zone Minimum Air Flow Input Method + 0.3, !- Constant Minimum Air Flow Fraction + , !- Fixed Minimum Air Flow Rate {m3/s} + , !- Minimum Air Flow Fraction Schedule Name + Coil:Heating:Water, !- Reheat Coil Object Type + Perimeter_mid_ZN_3 VAV Box Reheat Coil, !- Reheat Coil Name + AUTOSIZE, !- Maximum Hot Water or Steam Flow Rate {m3/s} + 0.0, !- Minimum Hot Water or Steam Flow Rate {m3/s} + Perimeter_mid_ZN_3 VAV Box Outlet Node Name, !- Air Outlet Node Name + 0.001, !- Convergence Tolerance + NORMAL; !- Damper Heating Action + + AirTerminal:SingleDuct:VAV:Reheat, + Perimeter_mid_ZN_4 VAV Box Component, !- Name + ALWAYS_ON, !- Availability Schedule Name + Perimeter_mid_ZN_4 VAV Box Damper Node, !- Damper Air Outlet Node Name + Perimeter_mid_ZN_4 VAV Box Inlet Node Name, !- Air Inlet Node Name + AUTOSIZE, !- Maximum Air Flow Rate {m3/s} + Constant, !- Zone Minimum Air Flow Input Method + 0.3, !- Constant Minimum Air Flow Fraction + , !- Fixed Minimum Air Flow Rate {m3/s} + , !- Minimum Air Flow Fraction Schedule Name + Coil:Heating:Water, !- Reheat Coil Object Type + Perimeter_mid_ZN_4 VAV Box Reheat Coil, !- Reheat Coil Name + AUTOSIZE, !- Maximum Hot Water or Steam Flow Rate {m3/s} + 0.0, !- Minimum Hot Water or Steam Flow Rate {m3/s} + Perimeter_mid_ZN_4 VAV Box Outlet Node Name, !- Air Outlet Node Name + 0.001, !- Convergence Tolerance + NORMAL; !- Damper Heating Action + + AirTerminal:SingleDuct:VAV:Reheat, + Perimeter_top_ZN_1 VAV Box Component, !- Name + ALWAYS_ON, !- Availability Schedule Name + Perimeter_top_ZN_1 VAV Box Damper Node, !- Damper Air Outlet Node Name + Perimeter_top_ZN_1 VAV Box Inlet Node Name, !- Air Inlet Node Name + AUTOSIZE, !- Maximum Air Flow Rate {m3/s} + Constant, !- Zone Minimum Air Flow Input Method + 0.3, !- Constant Minimum Air Flow Fraction + , !- Fixed Minimum Air Flow Rate {m3/s} + , !- Minimum Air Flow Fraction Schedule Name + Coil:Heating:Water, !- Reheat Coil Object Type + Perimeter_top_ZN_1 VAV Box Reheat Coil, !- Reheat Coil Name + AUTOSIZE, !- Maximum Hot Water or Steam Flow Rate {m3/s} + 0.0, !- Minimum Hot Water or Steam Flow Rate {m3/s} + Perimeter_top_ZN_1 VAV Box Outlet Node Name, !- Air Outlet Node Name + 0.001, !- Convergence Tolerance + NORMAL; !- Damper Heating Action + + AirTerminal:SingleDuct:VAV:Reheat, + Perimeter_top_ZN_2 VAV Box Component, !- Name + ALWAYS_ON, !- Availability Schedule Name + Perimeter_top_ZN_2 VAV Box Damper Node, !- Damper Air Outlet Node Name + Perimeter_top_ZN_2 VAV Box Inlet Node Name, !- Air Inlet Node Name + AUTOSIZE, !- Maximum Air Flow Rate {m3/s} + Constant, !- Zone Minimum Air Flow Input Method + 0.3, !- Constant Minimum Air Flow Fraction + , !- Fixed Minimum Air Flow Rate {m3/s} + , !- Minimum Air Flow Fraction Schedule Name + Coil:Heating:Water, !- Reheat Coil Object Type + Perimeter_top_ZN_2 VAV Box Reheat Coil, !- Reheat Coil Name + AUTOSIZE, !- Maximum Hot Water or Steam Flow Rate {m3/s} + 0.0, !- Minimum Hot Water or Steam Flow Rate {m3/s} + Perimeter_top_ZN_2 VAV Box Outlet Node Name, !- Air Outlet Node Name + 0.001, !- Convergence Tolerance + NORMAL; !- Damper Heating Action + + AirTerminal:SingleDuct:VAV:Reheat, + Perimeter_top_ZN_3 VAV Box Component, !- Name + ALWAYS_ON, !- Availability Schedule Name + Perimeter_top_ZN_3 VAV Box Damper Node, !- Damper Air Outlet Node Name + Perimeter_top_ZN_3 VAV Box Inlet Node Name, !- Air Inlet Node Name + AUTOSIZE, !- Maximum Air Flow Rate {m3/s} + Constant, !- Zone Minimum Air Flow Input Method + 0.3, !- Constant Minimum Air Flow Fraction + , !- Fixed Minimum Air Flow Rate {m3/s} + , !- Minimum Air Flow Fraction Schedule Name + Coil:Heating:Water, !- Reheat Coil Object Type + Perimeter_top_ZN_3 VAV Box Reheat Coil, !- Reheat Coil Name + AUTOSIZE, !- Maximum Hot Water or Steam Flow Rate {m3/s} + 0.0, !- Minimum Hot Water or Steam Flow Rate {m3/s} + Perimeter_top_ZN_3 VAV Box Outlet Node Name, !- Air Outlet Node Name + 0.001, !- Convergence Tolerance + NORMAL; !- Damper Heating Action + + AirTerminal:SingleDuct:VAV:Reheat, + Perimeter_top_ZN_4 VAV Box Component, !- Name + ALWAYS_ON, !- Availability Schedule Name + Perimeter_top_ZN_4 VAV Box Damper Node, !- Damper Air Outlet Node Name + Perimeter_top_ZN_4 VAV Box Inlet Node Name, !- Air Inlet Node Name + AUTOSIZE, !- Maximum Air Flow Rate {m3/s} + Constant, !- Zone Minimum Air Flow Input Method + 0.3, !- Constant Minimum Air Flow Fraction + , !- Fixed Minimum Air Flow Rate {m3/s} + , !- Minimum Air Flow Fraction Schedule Name + Coil:Heating:Water, !- Reheat Coil Object Type + Perimeter_top_ZN_4 VAV Box Reheat Coil, !- Reheat Coil Name + AUTOSIZE, !- Maximum Hot Water or Steam Flow Rate {m3/s} + 0.0, !- Minimum Hot Water or Steam Flow Rate {m3/s} + Perimeter_top_ZN_4 VAV Box Outlet Node Name, !- Air Outlet Node Name + 0.001, !- Convergence Tolerance + NORMAL; !- Damper Heating Action + + ZoneHVAC:EquipmentList, + Basement Equipment, !- Name + ZoneHVAC:AirDistributionUnit, !- Zone Equipment 1 Object Type + Basement VAV Box, !- Zone Equipment 1 Name + 1, !- Zone Equipment 1 Cooling Sequence + 1; !- Zone Equipment 1 Heating or No-Load Sequence + + ZoneHVAC:EquipmentList, + Core_bottom Equipment, !- Name + ZoneHVAC:AirDistributionUnit, !- Zone Equipment 1 Object Type + Core_bottom VAV Box, !- Zone Equipment 1 Name + 1, !- Zone Equipment 1 Cooling Sequence + 1; !- Zone Equipment 1 Heating or No-Load Sequence + + ZoneHVAC:EquipmentList, + Core_mid Equipment, !- Name + ZoneHVAC:AirDistributionUnit, !- Zone Equipment 1 Object Type + Core_mid VAV Box, !- Zone Equipment 1 Name + 1, !- Zone Equipment 1 Cooling Sequence + 1; !- Zone Equipment 1 Heating or No-Load Sequence + + ZoneHVAC:EquipmentList, + Core_top Equipment, !- Name + ZoneHVAC:AirDistributionUnit, !- Zone Equipment 1 Object Type + Core_top VAV Box, !- Zone Equipment 1 Name + 1, !- Zone Equipment 1 Cooling Sequence + 1; !- Zone Equipment 1 Heating or No-Load Sequence + + ZoneHVAC:EquipmentList, + Perimeter_bot_ZN_1 Equipment, !- Name + ZoneHVAC:AirDistributionUnit, !- Zone Equipment 1 Object Type + Perimeter_bot_ZN_1 VAV Box, !- Zone Equipment 1 Name + 1, !- Zone Equipment 1 Cooling Sequence + 1; !- Zone Equipment 1 Heating or No-Load Sequence + + ZoneHVAC:EquipmentList, + Perimeter_bot_ZN_2 Equipment, !- Name + ZoneHVAC:AirDistributionUnit, !- Zone Equipment 1 Object Type + Perimeter_bot_ZN_2 VAV Box, !- Zone Equipment 1 Name + 1, !- Zone Equipment 1 Cooling Sequence + 1; !- Zone Equipment 1 Heating or No-Load Sequence + + ZoneHVAC:EquipmentList, + Perimeter_bot_ZN_3 Equipment, !- Name + ZoneHVAC:AirDistributionUnit, !- Zone Equipment 1 Object Type + Perimeter_bot_ZN_3 VAV Box, !- Zone Equipment 1 Name + 1, !- Zone Equipment 1 Cooling Sequence + 1; !- Zone Equipment 1 Heating or No-Load Sequence + + ZoneHVAC:EquipmentList, + Perimeter_bot_ZN_4 Equipment, !- Name + ZoneHVAC:AirDistributionUnit, !- Zone Equipment 1 Object Type + Perimeter_bot_ZN_4 VAV Box, !- Zone Equipment 1 Name + 1, !- Zone Equipment 1 Cooling Sequence + 1; !- Zone Equipment 1 Heating or No-Load Sequence + + ZoneHVAC:EquipmentList, + Perimeter_mid_ZN_1 Equipment, !- Name + ZoneHVAC:AirDistributionUnit, !- Zone Equipment 1 Object Type + Perimeter_mid_ZN_1 VAV Box, !- Zone Equipment 1 Name + 1, !- Zone Equipment 1 Cooling Sequence + 1; !- Zone Equipment 1 Heating or No-Load Sequence + + ZoneHVAC:EquipmentList, + Perimeter_mid_ZN_2 Equipment, !- Name + ZoneHVAC:AirDistributionUnit, !- Zone Equipment 1 Object Type + Perimeter_mid_ZN_2 VAV Box, !- Zone Equipment 1 Name + 1, !- Zone Equipment 1 Cooling Sequence + 1; !- Zone Equipment 1 Heating or No-Load Sequence + + ZoneHVAC:EquipmentList, + Perimeter_mid_ZN_3 Equipment, !- Name + ZoneHVAC:AirDistributionUnit, !- Zone Equipment 1 Object Type + Perimeter_mid_ZN_3 VAV Box, !- Zone Equipment 1 Name + 1, !- Zone Equipment 1 Cooling Sequence + 1; !- Zone Equipment 1 Heating or No-Load Sequence + + ZoneHVAC:EquipmentList, + Perimeter_mid_ZN_4 Equipment, !- Name + ZoneHVAC:AirDistributionUnit, !- Zone Equipment 1 Object Type + Perimeter_mid_ZN_4 VAV Box, !- Zone Equipment 1 Name + 1, !- Zone Equipment 1 Cooling Sequence + 1; !- Zone Equipment 1 Heating or No-Load Sequence + + ZoneHVAC:EquipmentList, + Perimeter_top_ZN_1 Equipment, !- Name + ZoneHVAC:AirDistributionUnit, !- Zone Equipment 1 Object Type + Perimeter_top_ZN_1 VAV Box, !- Zone Equipment 1 Name + 1, !- Zone Equipment 1 Cooling Sequence + 1; !- Zone Equipment 1 Heating or No-Load Sequence + + ZoneHVAC:EquipmentList, + Perimeter_top_ZN_2 Equipment, !- Name + ZoneHVAC:AirDistributionUnit, !- Zone Equipment 1 Object Type + Perimeter_top_ZN_2 VAV Box, !- Zone Equipment 1 Name + 1, !- Zone Equipment 1 Cooling Sequence + 1; !- Zone Equipment 1 Heating or No-Load Sequence + + ZoneHVAC:EquipmentList, + Perimeter_top_ZN_3 Equipment, !- Name + ZoneHVAC:AirDistributionUnit, !- Zone Equipment 1 Object Type + Perimeter_top_ZN_3 VAV Box, !- Zone Equipment 1 Name + 1, !- Zone Equipment 1 Cooling Sequence + 1; !- Zone Equipment 1 Heating or No-Load Sequence + + ZoneHVAC:EquipmentList, + Perimeter_top_ZN_4 Equipment, !- Name + ZoneHVAC:AirDistributionUnit, !- Zone Equipment 1 Object Type + Perimeter_top_ZN_4 VAV Box, !- Zone Equipment 1 Name + 1, !- Zone Equipment 1 Cooling Sequence + 1; !- Zone Equipment 1 Heating or No-Load Sequence + +! ***SIZING & CONTROLS*** + + Sizing:Zone, + Basement, !- Zone or ZoneList Name + SupplyAirTemperature, !- Zone Cooling Design Supply Air Temperature Input Method + 12.8000, !- Zone Cooling Design Supply Air Temperature {C} + , !- Zone Cooling Design Supply Air Temperature Difference {deltaC} + SupplyAirTemperature, !- Zone Heating Design Supply Air Temperature Input Method + 50.0000, !- Zone Heating Design Supply Air Temperature {C} + , !- Zone Heating Design Supply Air Temperature Difference {deltaC} + 0.0085, !- Zone Cooling Design Supply Air Humidity Ratio {kgWater/kgDryAir} + 0.0080, !- Zone Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} + SZ DSOA Basement, !- Design Specification Outdoor Air Object Name + , !- Zone Heating Sizing Factor + , !- Zone Cooling Sizing Factor + DesignDay, !- Cooling Design Air Flow Method + , !- Cooling Design Air Flow Rate {m3/s} + , !- Cooling Minimum Air Flow per Zone Floor Area {m3/s-m2} + , !- Cooling Minimum Air Flow {m3/s} + , !- Cooling Minimum Air Flow Fraction + DesignDay, !- Heating Design Air Flow Method + , !- Heating Design Air Flow Rate {m3/s} + , !- Heating Maximum Air Flow per Zone Floor Area {m3/s-m2} + , !- Heating Maximum Air Flow {m3/s} + ; !- Heating Maximum Air Flow Fraction + + DesignSpecification:OutdoorAir, + SZ DSOA Basement, !- Name + Flow/Person, !- Outdoor Air Method + 0.0125, !- Outdoor Air Flow per Person {m3/s-person} + , !- Outdoor Air Flow per Zone Floor Area {m3/s-m2} + ; !- Outdoor Air Flow per Zone {m3/s} + + Sizing:Zone, + Core_bottom, !- Zone or ZoneList Name + SupplyAirTemperature, !- Zone Cooling Design Supply Air Temperature Input Method + 12.8000, !- Zone Cooling Design Supply Air Temperature {C} + , !- Zone Cooling Design Supply Air Temperature Difference {deltaC} + SupplyAirTemperature, !- Zone Heating Design Supply Air Temperature Input Method + 50.0000, !- Zone Heating Design Supply Air Temperature {C} + , !- Zone Heating Design Supply Air Temperature Difference {deltaC} + 0.0085, !- Zone Cooling Design Supply Air Humidity Ratio {kgWater/kgDryAir} + 0.0080, !- Zone Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} + SZ DSOA Core_bottom, !- Design Specification Outdoor Air Object Name + , !- Zone Heating Sizing Factor + , !- Zone Cooling Sizing Factor + DesignDay, !- Cooling Design Air Flow Method + , !- Cooling Design Air Flow Rate {m3/s} + , !- Cooling Minimum Air Flow per Zone Floor Area {m3/s-m2} + , !- Cooling Minimum Air Flow {m3/s} + , !- Cooling Minimum Air Flow Fraction + DesignDay, !- Heating Design Air Flow Method + , !- Heating Design Air Flow Rate {m3/s} + , !- Heating Maximum Air Flow per Zone Floor Area {m3/s-m2} + , !- Heating Maximum Air Flow {m3/s} + ; !- Heating Maximum Air Flow Fraction + + DesignSpecification:OutdoorAir, + SZ DSOA Core_bottom, !- Name + Flow/Person, !- Outdoor Air Method + 0.0125, !- Outdoor Air Flow per Person {m3/s-person} + , !- Outdoor Air Flow per Zone Floor Area {m3/s-m2} + ; !- Outdoor Air Flow per Zone {m3/s} + + Sizing:Zone, + Core_mid, !- Zone or ZoneList Name + SupplyAirTemperature, !- Zone Cooling Design Supply Air Temperature Input Method + 12.8000, !- Zone Cooling Design Supply Air Temperature {C} + , !- Zone Cooling Design Supply Air Temperature Difference {deltaC} + SupplyAirTemperature, !- Zone Heating Design Supply Air Temperature Input Method + 50.0000, !- Zone Heating Design Supply Air Temperature {C} + , !- Zone Heating Design Supply Air Temperature Difference {deltaC} + 0.0085, !- Zone Cooling Design Supply Air Humidity Ratio {kgWater/kgDryAir} + 0.0080, !- Zone Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} + SZ DSOA Core_mid, !- Design Specification Outdoor Air Object Name + , !- Zone Heating Sizing Factor + , !- Zone Cooling Sizing Factor + DesignDay, !- Cooling Design Air Flow Method + , !- Cooling Design Air Flow Rate {m3/s} + , !- Cooling Minimum Air Flow per Zone Floor Area {m3/s-m2} + , !- Cooling Minimum Air Flow {m3/s} + , !- Cooling Minimum Air Flow Fraction + DesignDay, !- Heating Design Air Flow Method + , !- Heating Design Air Flow Rate {m3/s} + , !- Heating Maximum Air Flow per Zone Floor Area {m3/s-m2} + , !- Heating Maximum Air Flow {m3/s} + ; !- Heating Maximum Air Flow Fraction + + DesignSpecification:OutdoorAir, + SZ DSOA Core_mid, !- Name + Flow/Person, !- Outdoor Air Method + 0.0125, !- Outdoor Air Flow per Person {m3/s-person} + , !- Outdoor Air Flow per Zone Floor Area {m3/s-m2} + ; !- Outdoor Air Flow per Zone {m3/s} + + Sizing:Zone, + Core_top, !- Zone or ZoneList Name + SupplyAirTemperature, !- Zone Cooling Design Supply Air Temperature Input Method + 12.8000, !- Zone Cooling Design Supply Air Temperature {C} + , !- Zone Cooling Design Supply Air Temperature Difference {deltaC} + SupplyAirTemperature, !- Zone Heating Design Supply Air Temperature Input Method + 50.0000, !- Zone Heating Design Supply Air Temperature {C} + , !- Zone Heating Design Supply Air Temperature Difference {deltaC} + 0.0085, !- Zone Cooling Design Supply Air Humidity Ratio {kgWater/kgDryAir} + 0.0080, !- Zone Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} + SZ DSOA Core_top, !- Design Specification Outdoor Air Object Name + , !- Zone Heating Sizing Factor + , !- Zone Cooling Sizing Factor + DesignDay, !- Cooling Design Air Flow Method + , !- Cooling Design Air Flow Rate {m3/s} + , !- Cooling Minimum Air Flow per Zone Floor Area {m3/s-m2} + , !- Cooling Minimum Air Flow {m3/s} + , !- Cooling Minimum Air Flow Fraction + DesignDay, !- Heating Design Air Flow Method + , !- Heating Design Air Flow Rate {m3/s} + , !- Heating Maximum Air Flow per Zone Floor Area {m3/s-m2} + , !- Heating Maximum Air Flow {m3/s} + ; !- Heating Maximum Air Flow Fraction + + DesignSpecification:OutdoorAir, + SZ DSOA Core_top, !- Name + Flow/Person, !- Outdoor Air Method + 0.0125, !- Outdoor Air Flow per Person {m3/s-person} + , !- Outdoor Air Flow per Zone Floor Area {m3/s-m2} + ; !- Outdoor Air Flow per Zone {m3/s} + + Sizing:Zone, + Perimeter_bot_ZN_1, !- Zone or ZoneList Name + SupplyAirTemperature, !- Zone Cooling Design Supply Air Temperature Input Method + 12.8000, !- Zone Cooling Design Supply Air Temperature {C} + , !- Zone Cooling Design Supply Air Temperature Difference {deltaC} + SupplyAirTemperature, !- Zone Heating Design Supply Air Temperature Input Method + 50.0000, !- Zone Heating Design Supply Air Temperature {C} + , !- Zone Heating Design Supply Air Temperature Difference {deltaC} + 0.0085, !- Zone Cooling Design Supply Air Humidity Ratio {kgWater/kgDryAir} + 0.0080, !- Zone Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} + SZ DSOA Perimeter_bot_ZN_1, !- Design Specification Outdoor Air Object Name + , !- Zone Heating Sizing Factor + , !- Zone Cooling Sizing Factor + DesignDay, !- Cooling Design Air Flow Method + , !- Cooling Design Air Flow Rate {m3/s} + , !- Cooling Minimum Air Flow per Zone Floor Area {m3/s-m2} + , !- Cooling Minimum Air Flow {m3/s} + , !- Cooling Minimum Air Flow Fraction + DesignDay, !- Heating Design Air Flow Method + , !- Heating Design Air Flow Rate {m3/s} + , !- Heating Maximum Air Flow per Zone Floor Area {m3/s-m2} + , !- Heating Maximum Air Flow {m3/s} + ; !- Heating Maximum Air Flow Fraction + + DesignSpecification:OutdoorAir, + SZ DSOA Perimeter_bot_ZN_1, !- Name + Flow/Person, !- Outdoor Air Method + 0.0125, !- Outdoor Air Flow per Person {m3/s-person} + , !- Outdoor Air Flow per Zone Floor Area {m3/s-m2} + ; !- Outdoor Air Flow per Zone {m3/s} + + Sizing:Zone, + Perimeter_bot_ZN_2, !- Zone or ZoneList Name + SupplyAirTemperature, !- Zone Cooling Design Supply Air Temperature Input Method + 12.8000, !- Zone Cooling Design Supply Air Temperature {C} + , !- Zone Cooling Design Supply Air Temperature Difference {deltaC} + SupplyAirTemperature, !- Zone Heating Design Supply Air Temperature Input Method + 50.0000, !- Zone Heating Design Supply Air Temperature {C} + , !- Zone Heating Design Supply Air Temperature Difference {deltaC} + 0.0085, !- Zone Cooling Design Supply Air Humidity Ratio {kgWater/kgDryAir} + 0.0080, !- Zone Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} + SZ DSOA Perimeter_bot_ZN_2, !- Design Specification Outdoor Air Object Name + , !- Zone Heating Sizing Factor + , !- Zone Cooling Sizing Factor + DesignDay, !- Cooling Design Air Flow Method + , !- Cooling Design Air Flow Rate {m3/s} + , !- Cooling Minimum Air Flow per Zone Floor Area {m3/s-m2} + , !- Cooling Minimum Air Flow {m3/s} + , !- Cooling Minimum Air Flow Fraction + DesignDay, !- Heating Design Air Flow Method + , !- Heating Design Air Flow Rate {m3/s} + , !- Heating Maximum Air Flow per Zone Floor Area {m3/s-m2} + , !- Heating Maximum Air Flow {m3/s} + ; !- Heating Maximum Air Flow Fraction + + DesignSpecification:OutdoorAir, + SZ DSOA Perimeter_bot_ZN_2, !- Name + Flow/Person, !- Outdoor Air Method + 0.0125, !- Outdoor Air Flow per Person {m3/s-person} + , !- Outdoor Air Flow per Zone Floor Area {m3/s-m2} + ; !- Outdoor Air Flow per Zone {m3/s} + + Sizing:Zone, + Perimeter_bot_ZN_3, !- Zone or ZoneList Name + SupplyAirTemperature, !- Zone Cooling Design Supply Air Temperature Input Method + 12.8000, !- Zone Cooling Design Supply Air Temperature {C} + , !- Zone Cooling Design Supply Air Temperature Difference {deltaC} + SupplyAirTemperature, !- Zone Heating Design Supply Air Temperature Input Method + 50.0000, !- Zone Heating Design Supply Air Temperature {C} + , !- Zone Heating Design Supply Air Temperature Difference {deltaC} + 0.0085, !- Zone Cooling Design Supply Air Humidity Ratio {kgWater/kgDryAir} + 0.0080, !- Zone Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} + SZ DSOA Perimeter_bot_ZN_3, !- Design Specification Outdoor Air Object Name + , !- Zone Heating Sizing Factor + , !- Zone Cooling Sizing Factor + DesignDay, !- Cooling Design Air Flow Method + , !- Cooling Design Air Flow Rate {m3/s} + , !- Cooling Minimum Air Flow per Zone Floor Area {m3/s-m2} + , !- Cooling Minimum Air Flow {m3/s} + , !- Cooling Minimum Air Flow Fraction + DesignDay, !- Heating Design Air Flow Method + , !- Heating Design Air Flow Rate {m3/s} + , !- Heating Maximum Air Flow per Zone Floor Area {m3/s-m2} + , !- Heating Maximum Air Flow {m3/s} + ; !- Heating Maximum Air Flow Fraction + + DesignSpecification:OutdoorAir, + SZ DSOA Perimeter_bot_ZN_3, !- Name + Flow/Person, !- Outdoor Air Method + 0.0125, !- Outdoor Air Flow per Person {m3/s-person} + , !- Outdoor Air Flow per Zone Floor Area {m3/s-m2} + ; !- Outdoor Air Flow per Zone {m3/s} + + Sizing:Zone, + Perimeter_bot_ZN_4, !- Zone or ZoneList Name + SupplyAirTemperature, !- Zone Cooling Design Supply Air Temperature Input Method + 12.8000, !- Zone Cooling Design Supply Air Temperature {C} + , !- Zone Cooling Design Supply Air Temperature Difference {deltaC} + SupplyAirTemperature, !- Zone Heating Design Supply Air Temperature Input Method + 50.0000, !- Zone Heating Design Supply Air Temperature {C} + , !- Zone Heating Design Supply Air Temperature Difference {deltaC} + 0.0085, !- Zone Cooling Design Supply Air Humidity Ratio {kgWater/kgDryAir} + 0.0080, !- Zone Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} + SZ DSOA Perimeter_bot_ZN_4, !- Design Specification Outdoor Air Object Name + , !- Zone Heating Sizing Factor + , !- Zone Cooling Sizing Factor + DesignDay, !- Cooling Design Air Flow Method + , !- Cooling Design Air Flow Rate {m3/s} + , !- Cooling Minimum Air Flow per Zone Floor Area {m3/s-m2} + , !- Cooling Minimum Air Flow {m3/s} + , !- Cooling Minimum Air Flow Fraction + DesignDay, !- Heating Design Air Flow Method + , !- Heating Design Air Flow Rate {m3/s} + , !- Heating Maximum Air Flow per Zone Floor Area {m3/s-m2} + , !- Heating Maximum Air Flow {m3/s} + ; !- Heating Maximum Air Flow Fraction + + DesignSpecification:OutdoorAir, + SZ DSOA Perimeter_bot_ZN_4, !- Name + Flow/Person, !- Outdoor Air Method + 0.0125, !- Outdoor Air Flow per Person {m3/s-person} + , !- Outdoor Air Flow per Zone Floor Area {m3/s-m2} + ; !- Outdoor Air Flow per Zone {m3/s} + + Sizing:Zone, + Perimeter_mid_ZN_1, !- Zone or ZoneList Name + SupplyAirTemperature, !- Zone Cooling Design Supply Air Temperature Input Method + 12.8000, !- Zone Cooling Design Supply Air Temperature {C} + , !- Zone Cooling Design Supply Air Temperature Difference {deltaC} + SupplyAirTemperature, !- Zone Heating Design Supply Air Temperature Input Method + 50.0000, !- Zone Heating Design Supply Air Temperature {C} + , !- Zone Heating Design Supply Air Temperature Difference {deltaC} + 0.0085, !- Zone Cooling Design Supply Air Humidity Ratio {kgWater/kgDryAir} + 0.0080, !- Zone Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} + SZ DSOA Perimeter_mid_ZN_1, !- Design Specification Outdoor Air Object Name + , !- Zone Heating Sizing Factor + , !- Zone Cooling Sizing Factor + DesignDay, !- Cooling Design Air Flow Method + , !- Cooling Design Air Flow Rate {m3/s} + , !- Cooling Minimum Air Flow per Zone Floor Area {m3/s-m2} + , !- Cooling Minimum Air Flow {m3/s} + , !- Cooling Minimum Air Flow Fraction + DesignDay, !- Heating Design Air Flow Method + , !- Heating Design Air Flow Rate {m3/s} + , !- Heating Maximum Air Flow per Zone Floor Area {m3/s-m2} + , !- Heating Maximum Air Flow {m3/s} + ; !- Heating Maximum Air Flow Fraction + + DesignSpecification:OutdoorAir, + SZ DSOA Perimeter_mid_ZN_1, !- Name + Flow/Person, !- Outdoor Air Method + 0.0125, !- Outdoor Air Flow per Person {m3/s-person} + , !- Outdoor Air Flow per Zone Floor Area {m3/s-m2} + ; !- Outdoor Air Flow per Zone {m3/s} + + Sizing:Zone, + Perimeter_mid_ZN_2, !- Zone or ZoneList Name + SupplyAirTemperature, !- Zone Cooling Design Supply Air Temperature Input Method + 12.8000, !- Zone Cooling Design Supply Air Temperature {C} + , !- Zone Cooling Design Supply Air Temperature Difference {deltaC} + SupplyAirTemperature, !- Zone Heating Design Supply Air Temperature Input Method + 50.0000, !- Zone Heating Design Supply Air Temperature {C} + , !- Zone Heating Design Supply Air Temperature Difference {deltaC} + 0.0085, !- Zone Cooling Design Supply Air Humidity Ratio {kgWater/kgDryAir} + 0.0080, !- Zone Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} + SZ DSOA Perimeter_mid_ZN_2, !- Design Specification Outdoor Air Object Name + , !- Zone Heating Sizing Factor + , !- Zone Cooling Sizing Factor + DesignDay, !- Cooling Design Air Flow Method + , !- Cooling Design Air Flow Rate {m3/s} + , !- Cooling Minimum Air Flow per Zone Floor Area {m3/s-m2} + , !- Cooling Minimum Air Flow {m3/s} + , !- Cooling Minimum Air Flow Fraction + DesignDay, !- Heating Design Air Flow Method + , !- Heating Design Air Flow Rate {m3/s} + , !- Heating Maximum Air Flow per Zone Floor Area {m3/s-m2} + , !- Heating Maximum Air Flow {m3/s} + ; !- Heating Maximum Air Flow Fraction + + DesignSpecification:OutdoorAir, + SZ DSOA Perimeter_mid_ZN_2, !- Name + Flow/Person, !- Outdoor Air Method + 0.0125, !- Outdoor Air Flow per Person {m3/s-person} + , !- Outdoor Air Flow per Zone Floor Area {m3/s-m2} + ; !- Outdoor Air Flow per Zone {m3/s} + + Sizing:Zone, + Perimeter_mid_ZN_3, !- Zone or ZoneList Name + SupplyAirTemperature, !- Zone Cooling Design Supply Air Temperature Input Method + 12.8000, !- Zone Cooling Design Supply Air Temperature {C} + , !- Zone Cooling Design Supply Air Temperature Difference {deltaC} + SupplyAirTemperature, !- Zone Heating Design Supply Air Temperature Input Method + 50.0000, !- Zone Heating Design Supply Air Temperature {C} + , !- Zone Heating Design Supply Air Temperature Difference {deltaC} + 0.0085, !- Zone Cooling Design Supply Air Humidity Ratio {kgWater/kgDryAir} + 0.0080, !- Zone Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} + SZ DSOA Perimeter_mid_ZN_3, !- Design Specification Outdoor Air Object Name + , !- Zone Heating Sizing Factor + , !- Zone Cooling Sizing Factor + DesignDay, !- Cooling Design Air Flow Method + , !- Cooling Design Air Flow Rate {m3/s} + , !- Cooling Minimum Air Flow per Zone Floor Area {m3/s-m2} + , !- Cooling Minimum Air Flow {m3/s} + , !- Cooling Minimum Air Flow Fraction + DesignDay, !- Heating Design Air Flow Method + , !- Heating Design Air Flow Rate {m3/s} + , !- Heating Maximum Air Flow per Zone Floor Area {m3/s-m2} + , !- Heating Maximum Air Flow {m3/s} + ; !- Heating Maximum Air Flow Fraction + + DesignSpecification:OutdoorAir, + SZ DSOA Perimeter_mid_ZN_3, !- Name + Flow/Person, !- Outdoor Air Method + 0.0125, !- Outdoor Air Flow per Person {m3/s-person} + , !- Outdoor Air Flow per Zone Floor Area {m3/s-m2} + ; !- Outdoor Air Flow per Zone {m3/s} + + Sizing:Zone, + Perimeter_mid_ZN_4, !- Zone or ZoneList Name + SupplyAirTemperature, !- Zone Cooling Design Supply Air Temperature Input Method + 12.8000, !- Zone Cooling Design Supply Air Temperature {C} + , !- Zone Cooling Design Supply Air Temperature Difference {deltaC} + SupplyAirTemperature, !- Zone Heating Design Supply Air Temperature Input Method + 50.0000, !- Zone Heating Design Supply Air Temperature {C} + , !- Zone Heating Design Supply Air Temperature Difference {deltaC} + 0.0085, !- Zone Cooling Design Supply Air Humidity Ratio {kgWater/kgDryAir} + 0.0080, !- Zone Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} + SZ DSOA Perimeter_mid_ZN_4, !- Design Specification Outdoor Air Object Name + , !- Zone Heating Sizing Factor + , !- Zone Cooling Sizing Factor + DesignDay, !- Cooling Design Air Flow Method + , !- Cooling Design Air Flow Rate {m3/s} + , !- Cooling Minimum Air Flow per Zone Floor Area {m3/s-m2} + , !- Cooling Minimum Air Flow {m3/s} + , !- Cooling Minimum Air Flow Fraction + DesignDay, !- Heating Design Air Flow Method + , !- Heating Design Air Flow Rate {m3/s} + , !- Heating Maximum Air Flow per Zone Floor Area {m3/s-m2} + , !- Heating Maximum Air Flow {m3/s} + ; !- Heating Maximum Air Flow Fraction + + DesignSpecification:OutdoorAir, + SZ DSOA Perimeter_mid_ZN_4, !- Name + Flow/Person, !- Outdoor Air Method + 0.0125, !- Outdoor Air Flow per Person {m3/s-person} + , !- Outdoor Air Flow per Zone Floor Area {m3/s-m2} + ; !- Outdoor Air Flow per Zone {m3/s} + + Sizing:Zone, + Perimeter_top_ZN_1, !- Zone or ZoneList Name + SupplyAirTemperature, !- Zone Cooling Design Supply Air Temperature Input Method + 12.8000, !- Zone Cooling Design Supply Air Temperature {C} + , !- Zone Cooling Design Supply Air Temperature Difference {deltaC} + SupplyAirTemperature, !- Zone Heating Design Supply Air Temperature Input Method + 50.0000, !- Zone Heating Design Supply Air Temperature {C} + , !- Zone Heating Design Supply Air Temperature Difference {deltaC} + 0.0085, !- Zone Cooling Design Supply Air Humidity Ratio {kgWater/kgDryAir} + 0.0080, !- Zone Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} + SZ DSOA Perimeter_top_ZN_1, !- Design Specification Outdoor Air Object Name + , !- Zone Heating Sizing Factor + , !- Zone Cooling Sizing Factor + DesignDay, !- Cooling Design Air Flow Method + , !- Cooling Design Air Flow Rate {m3/s} + , !- Cooling Minimum Air Flow per Zone Floor Area {m3/s-m2} + , !- Cooling Minimum Air Flow {m3/s} + , !- Cooling Minimum Air Flow Fraction + DesignDay, !- Heating Design Air Flow Method + , !- Heating Design Air Flow Rate {m3/s} + , !- Heating Maximum Air Flow per Zone Floor Area {m3/s-m2} + , !- Heating Maximum Air Flow {m3/s} + ; !- Heating Maximum Air Flow Fraction + + DesignSpecification:OutdoorAir, + SZ DSOA Perimeter_top_ZN_1, !- Name + Flow/Person, !- Outdoor Air Method + 0.0125, !- Outdoor Air Flow per Person {m3/s-person} + , !- Outdoor Air Flow per Zone Floor Area {m3/s-m2} + ; !- Outdoor Air Flow per Zone {m3/s} + + Sizing:Zone, + Perimeter_top_ZN_2, !- Zone or ZoneList Name + SupplyAirTemperature, !- Zone Cooling Design Supply Air Temperature Input Method + 12.8000, !- Zone Cooling Design Supply Air Temperature {C} + , !- Zone Cooling Design Supply Air Temperature Difference {deltaC} + SupplyAirTemperature, !- Zone Heating Design Supply Air Temperature Input Method + 50.0000, !- Zone Heating Design Supply Air Temperature {C} + , !- Zone Heating Design Supply Air Temperature Difference {deltaC} + 0.0085, !- Zone Cooling Design Supply Air Humidity Ratio {kgWater/kgDryAir} + 0.0080, !- Zone Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} + SZ DSOA Perimeter_top_ZN_2, !- Design Specification Outdoor Air Object Name + , !- Zone Heating Sizing Factor + , !- Zone Cooling Sizing Factor + DesignDay, !- Cooling Design Air Flow Method + , !- Cooling Design Air Flow Rate {m3/s} + , !- Cooling Minimum Air Flow per Zone Floor Area {m3/s-m2} + , !- Cooling Minimum Air Flow {m3/s} + , !- Cooling Minimum Air Flow Fraction + DesignDay, !- Heating Design Air Flow Method + , !- Heating Design Air Flow Rate {m3/s} + , !- Heating Maximum Air Flow per Zone Floor Area {m3/s-m2} + , !- Heating Maximum Air Flow {m3/s} + ; !- Heating Maximum Air Flow Fraction + + DesignSpecification:OutdoorAir, + SZ DSOA Perimeter_top_ZN_2, !- Name + Flow/Person, !- Outdoor Air Method + 0.0125, !- Outdoor Air Flow per Person {m3/s-person} + , !- Outdoor Air Flow per Zone Floor Area {m3/s-m2} + ; !- Outdoor Air Flow per Zone {m3/s} + + Sizing:Zone, + Perimeter_top_ZN_3, !- Zone or ZoneList Name + SupplyAirTemperature, !- Zone Cooling Design Supply Air Temperature Input Method + 12.8000, !- Zone Cooling Design Supply Air Temperature {C} + , !- Zone Cooling Design Supply Air Temperature Difference {deltaC} + SupplyAirTemperature, !- Zone Heating Design Supply Air Temperature Input Method + 50.0000, !- Zone Heating Design Supply Air Temperature {C} + , !- Zone Heating Design Supply Air Temperature Difference {deltaC} + 0.0085, !- Zone Cooling Design Supply Air Humidity Ratio {kgWater/kgDryAir} + 0.0080, !- Zone Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} + SZ DSOA Perimeter_top_ZN_3, !- Design Specification Outdoor Air Object Name + , !- Zone Heating Sizing Factor + , !- Zone Cooling Sizing Factor + DesignDay, !- Cooling Design Air Flow Method + , !- Cooling Design Air Flow Rate {m3/s} + , !- Cooling Minimum Air Flow per Zone Floor Area {m3/s-m2} + , !- Cooling Minimum Air Flow {m3/s} + , !- Cooling Minimum Air Flow Fraction + DesignDay, !- Heating Design Air Flow Method + , !- Heating Design Air Flow Rate {m3/s} + , !- Heating Maximum Air Flow per Zone Floor Area {m3/s-m2} + , !- Heating Maximum Air Flow {m3/s} + ; !- Heating Maximum Air Flow Fraction + + DesignSpecification:OutdoorAir, + SZ DSOA Perimeter_top_ZN_3, !- Name + Flow/Person, !- Outdoor Air Method + 0.0125, !- Outdoor Air Flow per Person {m3/s-person} + , !- Outdoor Air Flow per Zone Floor Area {m3/s-m2} + ; !- Outdoor Air Flow per Zone {m3/s} + + Sizing:Zone, + Perimeter_top_ZN_4, !- Zone or ZoneList Name + SupplyAirTemperature, !- Zone Cooling Design Supply Air Temperature Input Method + 12.8000, !- Zone Cooling Design Supply Air Temperature {C} + , !- Zone Cooling Design Supply Air Temperature Difference {deltaC} + SupplyAirTemperature, !- Zone Heating Design Supply Air Temperature Input Method + 50.0000, !- Zone Heating Design Supply Air Temperature {C} + , !- Zone Heating Design Supply Air Temperature Difference {deltaC} + 0.0085, !- Zone Cooling Design Supply Air Humidity Ratio {kgWater/kgDryAir} + 0.0080, !- Zone Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} + SZ DSOA Perimeter_top_ZN_4, !- Design Specification Outdoor Air Object Name + , !- Zone Heating Sizing Factor + , !- Zone Cooling Sizing Factor + DesignDay, !- Cooling Design Air Flow Method + , !- Cooling Design Air Flow Rate {m3/s} + , !- Cooling Minimum Air Flow per Zone Floor Area {m3/s-m2} + , !- Cooling Minimum Air Flow {m3/s} + , !- Cooling Minimum Air Flow Fraction + DesignDay, !- Heating Design Air Flow Method + , !- Heating Design Air Flow Rate {m3/s} + , !- Heating Maximum Air Flow per Zone Floor Area {m3/s-m2} + , !- Heating Maximum Air Flow {m3/s} + ; !- Heating Maximum Air Flow Fraction + + DesignSpecification:OutdoorAir, + SZ DSOA Perimeter_top_ZN_4, !- Name + Flow/Person, !- Outdoor Air Method + 0.0125, !- Outdoor Air Flow per Person {m3/s-person} + , !- Outdoor Air Flow per Zone Floor Area {m3/s-m2} + ; !- Outdoor Air Flow per Zone {m3/s} + + ZoneControl:Thermostat, + Basement Thermostat, !- Name + Basement, !- Zone or ZoneList Name + Dual Zone Control Type Sched, !- Control Type Schedule Name + ThermostatSetpoint:DualSetpoint, !- Control 1 Object Type + Basement DualSPSched; !- Control 1 Name + + ZoneControl:Thermostat, + Core_bottom Thermostat, !- Name + Core_bottom, !- Zone or ZoneList Name + Dual Zone Control Type Sched, !- Control Type Schedule Name + ThermostatSetpoint:DualSetpoint, !- Control 1 Object Type + Core_bottom DualSPSched; !- Control 1 Name + + ZoneControl:Thermostat, + Core_mid Thermostat, !- Name + Core_mid, !- Zone or ZoneList Name + Dual Zone Control Type Sched, !- Control Type Schedule Name + ThermostatSetpoint:DualSetpoint, !- Control 1 Object Type + Core_mid DualSPSched; !- Control 1 Name + + ZoneControl:Thermostat, + Core_top Thermostat, !- Name + Core_top, !- Zone or ZoneList Name + Dual Zone Control Type Sched, !- Control Type Schedule Name + ThermostatSetpoint:DualSetpoint, !- Control 1 Object Type + Core_top DualSPSched; !- Control 1 Name + + ZoneControl:Thermostat, + Perimeter_bot_ZN_1 Thermostat, !- Name + Perimeter_bot_ZN_1, !- Zone or ZoneList Name + Dual Zone Control Type Sched, !- Control Type Schedule Name + ThermostatSetpoint:DualSetpoint, !- Control 1 Object Type + Perimeter_bot_ZN_1 DualSPSched; !- Control 1 Name + + ZoneControl:Thermostat, + Perimeter_bot_ZN_2 Thermostat, !- Name + Perimeter_bot_ZN_2, !- Zone or ZoneList Name + Dual Zone Control Type Sched, !- Control Type Schedule Name + ThermostatSetpoint:DualSetpoint, !- Control 1 Object Type + Perimeter_bot_ZN_2 DualSPSched; !- Control 1 Name + + ZoneControl:Thermostat, + Perimeter_bot_ZN_3 Thermostat, !- Name + Perimeter_bot_ZN_3, !- Zone or ZoneList Name + Dual Zone Control Type Sched, !- Control Type Schedule Name + ThermostatSetpoint:DualSetpoint, !- Control 1 Object Type + Perimeter_bot_ZN_3 DualSPSched; !- Control 1 Name + + ZoneControl:Thermostat, + Perimeter_bot_ZN_4 Thermostat, !- Name + Perimeter_bot_ZN_4, !- Zone or ZoneList Name + Dual Zone Control Type Sched, !- Control Type Schedule Name + ThermostatSetpoint:DualSetpoint, !- Control 1 Object Type + Perimeter_bot_ZN_4 DualSPSched; !- Control 1 Name + + ZoneControl:Thermostat, + Perimeter_mid_ZN_1 Thermostat, !- Name + Perimeter_mid_ZN_1, !- Zone or ZoneList Name + Dual Zone Control Type Sched, !- Control Type Schedule Name + ThermostatSetpoint:DualSetpoint, !- Control 1 Object Type + Perimeter_mid_ZN_1 DualSPSched; !- Control 1 Name + + ZoneControl:Thermostat, + Perimeter_mid_ZN_2 Thermostat, !- Name + Perimeter_mid_ZN_2, !- Zone or ZoneList Name + Dual Zone Control Type Sched, !- Control Type Schedule Name + ThermostatSetpoint:DualSetpoint, !- Control 1 Object Type + Perimeter_mid_ZN_2 DualSPSched; !- Control 1 Name + + ZoneControl:Thermostat, + Perimeter_mid_ZN_3 Thermostat, !- Name + Perimeter_mid_ZN_3, !- Zone or ZoneList Name + Dual Zone Control Type Sched, !- Control Type Schedule Name + ThermostatSetpoint:DualSetpoint, !- Control 1 Object Type + Perimeter_mid_ZN_3 DualSPSched; !- Control 1 Name + + ZoneControl:Thermostat, + Perimeter_mid_ZN_4 Thermostat, !- Name + Perimeter_mid_ZN_4, !- Zone or ZoneList Name + Dual Zone Control Type Sched, !- Control Type Schedule Name + ThermostatSetpoint:DualSetpoint, !- Control 1 Object Type + Perimeter_mid_ZN_4 DualSPSched; !- Control 1 Name + + ZoneControl:Thermostat, + Perimeter_top_ZN_1 Thermostat, !- Name + Perimeter_top_ZN_1, !- Zone or ZoneList Name + Dual Zone Control Type Sched, !- Control Type Schedule Name + ThermostatSetpoint:DualSetpoint, !- Control 1 Object Type + Perimeter_top_ZN_1 DualSPSched; !- Control 1 Name + + ZoneControl:Thermostat, + Perimeter_top_ZN_2 Thermostat, !- Name + Perimeter_top_ZN_2, !- Zone or ZoneList Name + Dual Zone Control Type Sched, !- Control Type Schedule Name + ThermostatSetpoint:DualSetpoint, !- Control 1 Object Type + Perimeter_top_ZN_2 DualSPSched; !- Control 1 Name + + ZoneControl:Thermostat, + Perimeter_top_ZN_3 Thermostat, !- Name + Perimeter_top_ZN_3, !- Zone or ZoneList Name + Dual Zone Control Type Sched, !- Control Type Schedule Name + ThermostatSetpoint:DualSetpoint, !- Control 1 Object Type + Perimeter_top_ZN_3 DualSPSched; !- Control 1 Name + + ZoneControl:Thermostat, + Perimeter_top_ZN_4 Thermostat, !- Name + Perimeter_top_ZN_4, !- Zone or ZoneList Name + Dual Zone Control Type Sched, !- Control Type Schedule Name + ThermostatSetpoint:DualSetpoint, !- Control 1 Object Type + Perimeter_top_ZN_4 DualSPSched; !- Control 1 Name + + ThermostatSetpoint:DualSetpoint, + Basement DualSPSched, !- Name + HTGSETP_SCH, !- Heating Setpoint Temperature Schedule Name + CLGSETP_SCH; !- Cooling Setpoint Temperature Schedule Name + + ThermostatSetpoint:DualSetpoint, + Core_bottom DualSPSched, !- Name + HTGSETP_SCH, !- Heating Setpoint Temperature Schedule Name + CLGSETP_SCH; !- Cooling Setpoint Temperature Schedule Name + + ThermostatSetpoint:DualSetpoint, + Core_mid DualSPSched, !- Name + HTGSETP_SCH, !- Heating Setpoint Temperature Schedule Name + CLGSETP_SCH; !- Cooling Setpoint Temperature Schedule Name + + ThermostatSetpoint:DualSetpoint, + Core_top DualSPSched, !- Name + HTGSETP_SCH, !- Heating Setpoint Temperature Schedule Name + CLGSETP_SCH; !- Cooling Setpoint Temperature Schedule Name + + ThermostatSetpoint:DualSetpoint, + Perimeter_bot_ZN_1 DualSPSched, !- Name + HTGSETP_SCH, !- Heating Setpoint Temperature Schedule Name + CLGSETP_SCH; !- Cooling Setpoint Temperature Schedule Name + + ThermostatSetpoint:DualSetpoint, + Perimeter_bot_ZN_2 DualSPSched, !- Name + HTGSETP_SCH, !- Heating Setpoint Temperature Schedule Name + CLGSETP_SCH; !- Cooling Setpoint Temperature Schedule Name + + ThermostatSetpoint:DualSetpoint, + Perimeter_bot_ZN_3 DualSPSched, !- Name + HTGSETP_SCH, !- Heating Setpoint Temperature Schedule Name + CLGSETP_SCH; !- Cooling Setpoint Temperature Schedule Name + + ThermostatSetpoint:DualSetpoint, + Perimeter_bot_ZN_4 DualSPSched, !- Name + HTGSETP_SCH, !- Heating Setpoint Temperature Schedule Name + CLGSETP_SCH; !- Cooling Setpoint Temperature Schedule Name + + ThermostatSetpoint:DualSetpoint, + Perimeter_mid_ZN_1 DualSPSched, !- Name + HTGSETP_SCH, !- Heating Setpoint Temperature Schedule Name + CLGSETP_SCH; !- Cooling Setpoint Temperature Schedule Name + + ThermostatSetpoint:DualSetpoint, + Perimeter_mid_ZN_2 DualSPSched, !- Name + HTGSETP_SCH, !- Heating Setpoint Temperature Schedule Name + CLGSETP_SCH; !- Cooling Setpoint Temperature Schedule Name + + ThermostatSetpoint:DualSetpoint, + Perimeter_mid_ZN_3 DualSPSched, !- Name + HTGSETP_SCH, !- Heating Setpoint Temperature Schedule Name + CLGSETP_SCH; !- Cooling Setpoint Temperature Schedule Name + + ThermostatSetpoint:DualSetpoint, + Perimeter_mid_ZN_4 DualSPSched, !- Name + HTGSETP_SCH, !- Heating Setpoint Temperature Schedule Name + CLGSETP_SCH; !- Cooling Setpoint Temperature Schedule Name + + ThermostatSetpoint:DualSetpoint, + Perimeter_top_ZN_1 DualSPSched, !- Name + HTGSETP_SCH, !- Heating Setpoint Temperature Schedule Name + CLGSETP_SCH; !- Cooling Setpoint Temperature Schedule Name + + ThermostatSetpoint:DualSetpoint, + Perimeter_top_ZN_2 DualSPSched, !- Name + HTGSETP_SCH, !- Heating Setpoint Temperature Schedule Name + CLGSETP_SCH; !- Cooling Setpoint Temperature Schedule Name + + ThermostatSetpoint:DualSetpoint, + Perimeter_top_ZN_3 DualSPSched, !- Name + HTGSETP_SCH, !- Heating Setpoint Temperature Schedule Name + CLGSETP_SCH; !- Cooling Setpoint Temperature Schedule Name + + ThermostatSetpoint:DualSetpoint, + Perimeter_top_ZN_4 DualSPSched, !- Name + HTGSETP_SCH, !- Heating Setpoint Temperature Schedule Name + CLGSETP_SCH; !- Cooling Setpoint Temperature Schedule Name + + Sizing:System, + VAV_1, !- AirLoop Name + Sensible, !- Type of Load to Size On + AUTOSIZE, !- Design Outdoor Air Flow Rate {m3/s} + 0.3, !- Minimum System Air Flow Ratio + 7.0, !- Preheat Design Temperature {C} + 0.008, !- Preheat Design Humidity Ratio {kgWater/kgDryAir} + 12.8000, !- Precool Design Temperature {C} + 0.008, !- Precool Design Humidity Ratio {kgWater/kgDryAir} + 12.8000, !- Central Cooling Design Supply Air Temperature {C} + 16.7000, !- Central Heating Design Supply Air Temperature {C} + NonCoincident, !- Sizing Option + No, !- 100% Outdoor Air in Cooling + No, !- 100% Outdoor Air in Heating + 0.0085, !- Central Cooling Design Supply Air Humidity Ratio {kgWater/kgDryAir} + 0.0080, !- Central Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} + DesignDay, !- Cooling Design Air Flow Method + , !- Cooling Design Air Flow Rate {m3/s} + DesignDay, !- Heating Design Air Flow Method + , !- Heating Design Air Flow Rate {m3/s} + ZoneSum; !- System Outdoor Air Method + + Sizing:System, + VAV_2, !- AirLoop Name + Sensible, !- Type of Load to Size On + AUTOSIZE, !- Design Outdoor Air Flow Rate {m3/s} + 0.3, !- Minimum System Air Flow Ratio + 7.0, !- Preheat Design Temperature {C} + 0.008, !- Preheat Design Humidity Ratio {kgWater/kgDryAir} + 12.8000, !- Precool Design Temperature {C} + 0.008, !- Precool Design Humidity Ratio {kgWater/kgDryAir} + 12.8000, !- Central Cooling Design Supply Air Temperature {C} + 16.7000, !- Central Heating Design Supply Air Temperature {C} + NonCoincident, !- Sizing Option + No, !- 100% Outdoor Air in Cooling + No, !- 100% Outdoor Air in Heating + 0.0085, !- Central Cooling Design Supply Air Humidity Ratio {kgWater/kgDryAir} + 0.0080, !- Central Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} + DesignDay, !- Cooling Design Air Flow Method + , !- Cooling Design Air Flow Rate {m3/s} + DesignDay, !- Heating Design Air Flow Method + , !- Heating Design Air Flow Rate {m3/s} + ZoneSum; !- System Outdoor Air Method + + Sizing:System, + VAV_3, !- AirLoop Name + Sensible, !- Type of Load to Size On + AUTOSIZE, !- Design Outdoor Air Flow Rate {m3/s} + 0.3, !- Minimum System Air Flow Ratio + 7.0, !- Preheat Design Temperature {C} + 0.008, !- Preheat Design Humidity Ratio {kgWater/kgDryAir} + 12.8000, !- Precool Design Temperature {C} + 0.008, !- Precool Design Humidity Ratio {kgWater/kgDryAir} + 12.8000, !- Central Cooling Design Supply Air Temperature {C} + 16.7000, !- Central Heating Design Supply Air Temperature {C} + NonCoincident, !- Sizing Option + No, !- 100% Outdoor Air in Cooling + No, !- 100% Outdoor Air in Heating + 0.0085, !- Central Cooling Design Supply Air Humidity Ratio {kgWater/kgDryAir} + 0.0080, !- Central Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} + DesignDay, !- Cooling Design Air Flow Method + , !- Cooling Design Air Flow Rate {m3/s} + DesignDay, !- Heating Design Air Flow Method + , !- Heating Design Air Flow Rate {m3/s} + ZoneSum; !- System Outdoor Air Method + + Sizing:System, + VAV_5, !- AirLoop Name + Sensible, !- Type of Load to Size On + AUTOSIZE, !- Design Outdoor Air Flow Rate {m3/s} + 0.3, !- Minimum System Air Flow Ratio + 7.0, !- Preheat Design Temperature {C} + 0.008, !- Preheat Design Humidity Ratio {kgWater/kgDryAir} + 12.8000, !- Precool Design Temperature {C} + 0.008, !- Precool Design Humidity Ratio {kgWater/kgDryAir} + 12.8000, !- Central Cooling Design Supply Air Temperature {C} + 16.7000, !- Central Heating Design Supply Air Temperature {C} + NonCoincident, !- Sizing Option + No, !- 100% Outdoor Air in Cooling + No, !- 100% Outdoor Air in Heating + 0.0085, !- Central Cooling Design Supply Air Humidity Ratio {kgWater/kgDryAir} + 0.0080, !- Central Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} + DesignDay, !- Cooling Design Air Flow Method + , !- Cooling Design Air Flow Rate {m3/s} + DesignDay, !- Heating Design Air Flow Method + , !- Heating Design Air Flow Rate {m3/s} + ZoneSum; !- System Outdoor Air Method + + Controller:OutdoorAir, + VAV_1_OA_Controller, !- Name + VAV_1_OARelief Node, !- Relief Air Outlet Node Name + VAV_1 Supply Equipment Inlet Node, !- Return Air Node Name + VAV_1_OA-VAV_1_CoolCNode,!- Mixed Air Node Name + VAV_1_OAInlet Node, !- Actuator Node Name + AUTOSIZE, !- Minimum Outdoor Air Flow Rate {m3/s} + AUTOSIZE, !- Maximum Outdoor Air Flow Rate {m3/s} + DifferentialDryBulb, !- Economizer Control Type + ModulateFlow, !- Economizer Control Action Type + 28.0, !- Economizer Maximum Limit Dry-Bulb Temperature {C} + 64000.0, !- Economizer Maximum Limit Enthalpy {J/kg} + , !- Economizer Maximum Limit Dewpoint Temperature {C} + , !- Electronic Enthalpy Limit Curve Name + -100.0, !- Economizer Minimum Limit Dry-Bulb Temperature {C} + NoLockout, !- Lockout Type + FixedMinimum, !- Minimum Limit Type + MinOA_MotorizedDamper_Sched, !- Minimum Outdoor Air Schedule Name + , !- Minimum Fraction of Outdoor Air Schedule Name + , !- Maximum Fraction of Outdoor Air Schedule Name + ; !- Mechanical Ventilation Controller Name + + Controller:OutdoorAir, + VAV_2_OA_Controller, !- Name + VAV_2_OARelief Node, !- Relief Air Outlet Node Name + VAV_2 Supply Equipment Inlet Node, !- Return Air Node Name + VAV_2_OA-VAV_2_CoolCNode,!- Mixed Air Node Name + VAV_2_OAInlet Node, !- Actuator Node Name + AUTOSIZE, !- Minimum Outdoor Air Flow Rate {m3/s} + AUTOSIZE, !- Maximum Outdoor Air Flow Rate {m3/s} + DifferentialDryBulb, !- Economizer Control Type + ModulateFlow, !- Economizer Control Action Type + 28.0, !- Economizer Maximum Limit Dry-Bulb Temperature {C} + 64000.0, !- Economizer Maximum Limit Enthalpy {J/kg} + , !- Economizer Maximum Limit Dewpoint Temperature {C} + , !- Electronic Enthalpy Limit Curve Name + -100.0, !- Economizer Minimum Limit Dry-Bulb Temperature {C} + NoLockout, !- Lockout Type + FixedMinimum, !- Minimum Limit Type + MinOA_MotorizedDamper_Sched, !- Minimum Outdoor Air Schedule Name + , !- Minimum Fraction of Outdoor Air Schedule Name + , !- Maximum Fraction of Outdoor Air Schedule Name + ; !- Mechanical Ventilation Controller Name + + Controller:OutdoorAir, + VAV_3_OA_Controller, !- Name + VAV_3_OARelief Node, !- Relief Air Outlet Node Name + VAV_3 Supply Equipment Inlet Node, !- Return Air Node Name + VAV_3_OA-VAV_3_CoolCNode,!- Mixed Air Node Name + VAV_3_OAInlet Node, !- Actuator Node Name + AUTOSIZE, !- Minimum Outdoor Air Flow Rate {m3/s} + AUTOSIZE, !- Maximum Outdoor Air Flow Rate {m3/s} + DifferentialDryBulb, !- Economizer Control Type + ModulateFlow, !- Economizer Control Action Type + 28.0, !- Economizer Maximum Limit Dry-Bulb Temperature {C} + 64000.0, !- Economizer Maximum Limit Enthalpy {J/kg} + , !- Economizer Maximum Limit Dewpoint Temperature {C} + , !- Electronic Enthalpy Limit Curve Name + -100.0, !- Economizer Minimum Limit Dry-Bulb Temperature {C} + NoLockout, !- Lockout Type + FixedMinimum, !- Minimum Limit Type + MinOA_MotorizedDamper_Sched, !- Minimum Outdoor Air Schedule Name + , !- Minimum Fraction of Outdoor Air Schedule Name + , !- Maximum Fraction of Outdoor Air Schedule Name + ; !- Mechanical Ventilation Controller Name + + Controller:OutdoorAir, + VAV_5_OA_Controller, !- Name + VAV_5_OARelief Node, !- Relief Air Outlet Node Name + VAV_5 Supply Equipment Inlet Node, !- Return Air Node Name + VAV_5_OA-VAV_5_CoolCNode,!- Mixed Air Node Name + VAV_5_OAInlet Node, !- Actuator Node Name + AUTOSIZE, !- Minimum Outdoor Air Flow Rate {m3/s} + AUTOSIZE, !- Maximum Outdoor Air Flow Rate {m3/s} + DifferentialDryBulb, !- Economizer Control Type + ModulateFlow, !- Economizer Control Action Type + 28.0, !- Economizer Maximum Limit Dry-Bulb Temperature {C} + 64000.0, !- Economizer Maximum Limit Enthalpy {J/kg} + , !- Economizer Maximum Limit Dewpoint Temperature {C} + , !- Electronic Enthalpy Limit Curve Name + -100.0, !- Economizer Minimum Limit Dry-Bulb Temperature {C} + NoLockout, !- Lockout Type + FixedMinimum, !- Minimum Limit Type + MinOA_MotorizedDamper_Sched, !- Minimum Outdoor Air Schedule Name + , !- Minimum Fraction of Outdoor Air Schedule Name + , !- Maximum Fraction of Outdoor Air Schedule Name + ; !- Mechanical Ventilation Controller Name + + SetpointManager:Scheduled, + VAV_1 SAT setpoint, !- Name + Temperature, !- Control Variable + Seasonal-Reset-Supply-Air-Temp-Sch, !- Schedule Name + VAV_1 Supply Equipment Outlet Node; !- Setpoint Node or NodeList Name + + SetpointManager:Scheduled, + VAV_2 SAT setpoint, !- Name + Temperature, !- Control Variable + Seasonal-Reset-Supply-Air-Temp-Sch, !- Schedule Name + VAV_2 Supply Equipment Outlet Node; !- Setpoint Node or NodeList Name + + SetpointManager:Scheduled, + VAV_3 SAT setpoint, !- Name + Temperature, !- Control Variable + Seasonal-Reset-Supply-Air-Temp-Sch, !- Schedule Name + VAV_3 Supply Equipment Outlet Node; !- Setpoint Node or NodeList Name + + SetpointManager:Scheduled, + VAV_5 SAT setpoint, !- Name + Temperature, !- Control Variable + Seasonal-Reset-Supply-Air-Temp-Sch, !- Schedule Name + VAV_5 Supply Equipment Outlet Node; !- Setpoint Node or NodeList Name + +! ***AIR LOOPS*** + + AirLoopHVAC, + VAV_1, !- Name + VAV_1_Controllers, !- Controller List Name + VAV_1 Availability Manager List, !- Availability Manager List Name + AUTOSIZE, !- Design Supply Air Flow Rate {m3/s} + VAV_1 Air Loop Branches, !- Branch List Name + , !- Connector List Name + VAV_1 Supply Equipment Inlet Node, !- Supply Side Inlet Node Name + VAV_1 Zone Equipment Outlet Node, !- Demand Side Outlet Node Name + VAV_1 Zone Equipment Inlet Node, !- Demand Side Inlet Node Names + VAV_1 Supply Equipment Outlet Node; !- Supply Side Outlet Node Names + + AirLoopHVAC, + VAV_2, !- Name + VAV_2_Controllers, !- Controller List Name + VAV_2 Availability Manager List, !- Availability Manager List Name + AUTOSIZE, !- Design Supply Air Flow Rate {m3/s} + VAV_2 Air Loop Branches, !- Branch List Name + , !- Connector List Name + VAV_2 Supply Equipment Inlet Node, !- Supply Side Inlet Node Name + VAV_2 Zone Equipment Outlet Node, !- Demand Side Outlet Node Name + VAV_2 Zone Equipment Inlet Node, !- Demand Side Inlet Node Names + VAV_2 Supply Equipment Outlet Node; !- Supply Side Outlet Node Names + + AirLoopHVAC, + VAV_3, !- Name + VAV_3_Controllers, !- Controller List Name + VAV_3 Availability Manager List, !- Availability Manager List Name + AUTOSIZE, !- Design Supply Air Flow Rate {m3/s} + VAV_3 Air Loop Branches, !- Branch List Name + , !- Connector List Name + VAV_3 Supply Equipment Inlet Node, !- Supply Side Inlet Node Name + VAV_3 Zone Equipment Outlet Node, !- Demand Side Outlet Node Name + VAV_3 Zone Equipment Inlet Node, !- Demand Side Inlet Node Names + VAV_3 Supply Equipment Outlet Node; !- Supply Side Outlet Node Names + + AirLoopHVAC, + VAV_5, !- Name + VAV_5_Controllers, !- Controller List Name + VAV_5 Availability Manager List, !- Availability Manager List Name + AUTOSIZE, !- Design Supply Air Flow Rate {m3/s} + VAV_5 Air Loop Branches, !- Branch List Name + , !- Connector List Name + VAV_5 Supply Equipment Inlet Node, !- Supply Side Inlet Node Name + VAV_5 Zone Equipment Outlet Node, !- Demand Side Outlet Node Name + VAV_5 Zone Equipment Inlet Node, !- Demand Side Inlet Node Names + VAV_5 Supply Equipment Outlet Node; !- Supply Side Outlet Node Names + +! ***CONNECTIONS*** + + ZoneHVAC:EquipmentConnections, + Basement, !- Zone Name + Basement Equipment, !- Zone Conditioning Equipment List Name + Basement Inlet Nodes, !- Zone Air Inlet Node or NodeList Name + , !- Zone Air Exhaust Node or NodeList Name + Basement Air Node, !- Zone Air Node Name + Basement Return Air Node Name; !- Zone Return Air Node Name + + ZoneHVAC:EquipmentConnections, + Core_bottom, !- Zone Name + Core_bottom Equipment, !- Zone Conditioning Equipment List Name + Core_bottom Inlet Nodes, !- Zone Air Inlet Node or NodeList Name + , !- Zone Air Exhaust Node or NodeList Name + Core_bottom Air Node, !- Zone Air Node Name + Core_bottom Return Air Node Name; !- Zone Return Air Node Name + + ZoneHVAC:EquipmentConnections, + Core_mid, !- Zone Name + Core_mid Equipment, !- Zone Conditioning Equipment List Name + Core_mid Inlet Nodes, !- Zone Air Inlet Node or NodeList Name + , !- Zone Air Exhaust Node or NodeList Name + Core_mid Air Node, !- Zone Air Node Name + Core_mid Return Air Node Name; !- Zone Return Air Node Name + + ZoneHVAC:EquipmentConnections, + Core_top, !- Zone Name + Core_top Equipment, !- Zone Conditioning Equipment List Name + Core_top Inlet Nodes, !- Zone Air Inlet Node or NodeList Name + , !- Zone Air Exhaust Node or NodeList Name + Core_top Air Node, !- Zone Air Node Name + Core_top Return Air Node Name; !- Zone Return Air Node Name + + ZoneHVAC:EquipmentConnections, + Perimeter_bot_ZN_1, !- Zone Name + Perimeter_bot_ZN_1 Equipment, !- Zone Conditioning Equipment List Name + Perimeter_bot_ZN_1 Inlet Nodes, !- Zone Air Inlet Node or NodeList Name + , !- Zone Air Exhaust Node or NodeList Name + Perimeter_bot_ZN_1 Air Node, !- Zone Air Node Name + Perimeter_bot_ZN_1 Return Air Node Name; !- Zone Return Air Node Name + + ZoneHVAC:EquipmentConnections, + Perimeter_bot_ZN_2, !- Zone Name + Perimeter_bot_ZN_2 Equipment, !- Zone Conditioning Equipment List Name + Perimeter_bot_ZN_2 Inlet Nodes, !- Zone Air Inlet Node or NodeList Name + , !- Zone Air Exhaust Node or NodeList Name + Perimeter_bot_ZN_2 Air Node, !- Zone Air Node Name + Perimeter_bot_ZN_2 Return Air Node Name; !- Zone Return Air Node Name + + ZoneHVAC:EquipmentConnections, + Perimeter_bot_ZN_3, !- Zone Name + Perimeter_bot_ZN_3 Equipment, !- Zone Conditioning Equipment List Name + Perimeter_bot_ZN_3 Inlet Nodes, !- Zone Air Inlet Node or NodeList Name + , !- Zone Air Exhaust Node or NodeList Name + Perimeter_bot_ZN_3 Air Node, !- Zone Air Node Name + Perimeter_bot_ZN_3 Return Air Node Name; !- Zone Return Air Node Name + + ZoneHVAC:EquipmentConnections, + Perimeter_bot_ZN_4, !- Zone Name + Perimeter_bot_ZN_4 Equipment, !- Zone Conditioning Equipment List Name + Perimeter_bot_ZN_4 Inlet Nodes, !- Zone Air Inlet Node or NodeList Name + , !- Zone Air Exhaust Node or NodeList Name + Perimeter_bot_ZN_4 Air Node, !- Zone Air Node Name + Perimeter_bot_ZN_4 Return Air Node Name; !- Zone Return Air Node Name + + ZoneHVAC:EquipmentConnections, + Perimeter_mid_ZN_1, !- Zone Name + Perimeter_mid_ZN_1 Equipment, !- Zone Conditioning Equipment List Name + Perimeter_mid_ZN_1 Inlet Nodes, !- Zone Air Inlet Node or NodeList Name + , !- Zone Air Exhaust Node or NodeList Name + Perimeter_mid_ZN_1 Air Node, !- Zone Air Node Name + Perimeter_mid_ZN_1 Return Air Node Name; !- Zone Return Air Node Name + + ZoneHVAC:EquipmentConnections, + Perimeter_mid_ZN_2, !- Zone Name + Perimeter_mid_ZN_2 Equipment, !- Zone Conditioning Equipment List Name + Perimeter_mid_ZN_2 Inlet Nodes, !- Zone Air Inlet Node or NodeList Name + , !- Zone Air Exhaust Node or NodeList Name + Perimeter_mid_ZN_2 Air Node, !- Zone Air Node Name + Perimeter_mid_ZN_2 Return Air Node Name; !- Zone Return Air Node Name + + ZoneHVAC:EquipmentConnections, + Perimeter_mid_ZN_3, !- Zone Name + Perimeter_mid_ZN_3 Equipment, !- Zone Conditioning Equipment List Name + Perimeter_mid_ZN_3 Inlet Nodes, !- Zone Air Inlet Node or NodeList Name + , !- Zone Air Exhaust Node or NodeList Name + Perimeter_mid_ZN_3 Air Node, !- Zone Air Node Name + Perimeter_mid_ZN_3 Return Air Node Name; !- Zone Return Air Node Name + + ZoneHVAC:EquipmentConnections, + Perimeter_mid_ZN_4, !- Zone Name + Perimeter_mid_ZN_4 Equipment, !- Zone Conditioning Equipment List Name + Perimeter_mid_ZN_4 Inlet Nodes, !- Zone Air Inlet Node or NodeList Name + , !- Zone Air Exhaust Node or NodeList Name + Perimeter_mid_ZN_4 Air Node, !- Zone Air Node Name + Perimeter_mid_ZN_4 Return Air Node Name; !- Zone Return Air Node Name + + ZoneHVAC:EquipmentConnections, + Perimeter_top_ZN_1, !- Zone Name + Perimeter_top_ZN_1 Equipment, !- Zone Conditioning Equipment List Name + Perimeter_top_ZN_1 Inlet Nodes, !- Zone Air Inlet Node or NodeList Name + , !- Zone Air Exhaust Node or NodeList Name + Perimeter_top_ZN_1 Air Node, !- Zone Air Node Name + Perimeter_top_ZN_1 Return Air Node Name; !- Zone Return Air Node Name + + ZoneHVAC:EquipmentConnections, + Perimeter_top_ZN_2, !- Zone Name + Perimeter_top_ZN_2 Equipment, !- Zone Conditioning Equipment List Name + Perimeter_top_ZN_2 Inlet Nodes, !- Zone Air Inlet Node or NodeList Name + , !- Zone Air Exhaust Node or NodeList Name + Perimeter_top_ZN_2 Air Node, !- Zone Air Node Name + Perimeter_top_ZN_2 Return Air Node Name; !- Zone Return Air Node Name + + ZoneHVAC:EquipmentConnections, + Perimeter_top_ZN_3, !- Zone Name + Perimeter_top_ZN_3 Equipment, !- Zone Conditioning Equipment List Name + Perimeter_top_ZN_3 Inlet Nodes, !- Zone Air Inlet Node or NodeList Name + , !- Zone Air Exhaust Node or NodeList Name + Perimeter_top_ZN_3 Air Node, !- Zone Air Node Name + Perimeter_top_ZN_3 Return Air Node Name; !- Zone Return Air Node Name + + ZoneHVAC:EquipmentConnections, + Perimeter_top_ZN_4, !- Zone Name + Perimeter_top_ZN_4 Equipment, !- Zone Conditioning Equipment List Name + Perimeter_top_ZN_4 Inlet Nodes, !- Zone Air Inlet Node or NodeList Name + , !- Zone Air Exhaust Node or NodeList Name + Perimeter_top_ZN_4 Air Node, !- Zone Air Node Name + Perimeter_top_ZN_4 Return Air Node Name; !- Zone Return Air Node Name + + ZoneHVAC:AirDistributionUnit, + Basement VAV Box, !- Name + Basement VAV Box Outlet Node Name, !- Air Distribution Unit Outlet Node Name + AirTerminal:SingleDuct:VAV:Reheat, !- Air Terminal Object Type + Basement VAV Box Component; !- Air Terminal Name + + ZoneHVAC:AirDistributionUnit, + Core_bottom VAV Box, !- Name + Core_bottom VAV Box Outlet Node Name, !- Air Distribution Unit Outlet Node Name + AirTerminal:SingleDuct:VAV:Reheat, !- Air Terminal Object Type + Core_bottom VAV Box Component; !- Air Terminal Name + + ZoneHVAC:AirDistributionUnit, + Core_mid VAV Box, !- Name + Core_mid VAV Box Outlet Node Name, !- Air Distribution Unit Outlet Node Name + AirTerminal:SingleDuct:VAV:Reheat, !- Air Terminal Object Type + Core_mid VAV Box Component; !- Air Terminal Name + + ZoneHVAC:AirDistributionUnit, + Core_top VAV Box, !- Name + Core_top VAV Box Outlet Node Name, !- Air Distribution Unit Outlet Node Name + AirTerminal:SingleDuct:VAV:Reheat, !- Air Terminal Object Type + Core_top VAV Box Component; !- Air Terminal Name + + ZoneHVAC:AirDistributionUnit, + Perimeter_bot_ZN_1 VAV Box, !- Name + Perimeter_bot_ZN_1 VAV Box Outlet Node Name, !- Air Distribution Unit Outlet Node Name + AirTerminal:SingleDuct:VAV:Reheat, !- Air Terminal Object Type + Perimeter_bot_ZN_1 VAV Box Component; !- Air Terminal Name + + ZoneHVAC:AirDistributionUnit, + Perimeter_bot_ZN_2 VAV Box, !- Name + Perimeter_bot_ZN_2 VAV Box Outlet Node Name, !- Air Distribution Unit Outlet Node Name + AirTerminal:SingleDuct:VAV:Reheat, !- Air Terminal Object Type + Perimeter_bot_ZN_2 VAV Box Component; !- Air Terminal Name + + ZoneHVAC:AirDistributionUnit, + Perimeter_bot_ZN_3 VAV Box, !- Name + Perimeter_bot_ZN_3 VAV Box Outlet Node Name, !- Air Distribution Unit Outlet Node Name + AirTerminal:SingleDuct:VAV:Reheat, !- Air Terminal Object Type + Perimeter_bot_ZN_3 VAV Box Component; !- Air Terminal Name + + ZoneHVAC:AirDistributionUnit, + Perimeter_bot_ZN_4 VAV Box, !- Name + Perimeter_bot_ZN_4 VAV Box Outlet Node Name, !- Air Distribution Unit Outlet Node Name + AirTerminal:SingleDuct:VAV:Reheat, !- Air Terminal Object Type + Perimeter_bot_ZN_4 VAV Box Component; !- Air Terminal Name + + ZoneHVAC:AirDistributionUnit, + Perimeter_mid_ZN_1 VAV Box, !- Name + Perimeter_mid_ZN_1 VAV Box Outlet Node Name, !- Air Distribution Unit Outlet Node Name + AirTerminal:SingleDuct:VAV:Reheat, !- Air Terminal Object Type + Perimeter_mid_ZN_1 VAV Box Component; !- Air Terminal Name + + ZoneHVAC:AirDistributionUnit, + Perimeter_mid_ZN_2 VAV Box, !- Name + Perimeter_mid_ZN_2 VAV Box Outlet Node Name, !- Air Distribution Unit Outlet Node Name + AirTerminal:SingleDuct:VAV:Reheat, !- Air Terminal Object Type + Perimeter_mid_ZN_2 VAV Box Component; !- Air Terminal Name + + ZoneHVAC:AirDistributionUnit, + Perimeter_mid_ZN_3 VAV Box, !- Name + Perimeter_mid_ZN_3 VAV Box Outlet Node Name, !- Air Distribution Unit Outlet Node Name + AirTerminal:SingleDuct:VAV:Reheat, !- Air Terminal Object Type + Perimeter_mid_ZN_3 VAV Box Component; !- Air Terminal Name + + ZoneHVAC:AirDistributionUnit, + Perimeter_mid_ZN_4 VAV Box, !- Name + Perimeter_mid_ZN_4 VAV Box Outlet Node Name, !- Air Distribution Unit Outlet Node Name + AirTerminal:SingleDuct:VAV:Reheat, !- Air Terminal Object Type + Perimeter_mid_ZN_4 VAV Box Component; !- Air Terminal Name + + ZoneHVAC:AirDistributionUnit, + Perimeter_top_ZN_1 VAV Box, !- Name + Perimeter_top_ZN_1 VAV Box Outlet Node Name, !- Air Distribution Unit Outlet Node Name + AirTerminal:SingleDuct:VAV:Reheat, !- Air Terminal Object Type + Perimeter_top_ZN_1 VAV Box Component; !- Air Terminal Name + + ZoneHVAC:AirDistributionUnit, + Perimeter_top_ZN_2 VAV Box, !- Name + Perimeter_top_ZN_2 VAV Box Outlet Node Name, !- Air Distribution Unit Outlet Node Name + AirTerminal:SingleDuct:VAV:Reheat, !- Air Terminal Object Type + Perimeter_top_ZN_2 VAV Box Component; !- Air Terminal Name + + ZoneHVAC:AirDistributionUnit, + Perimeter_top_ZN_3 VAV Box, !- Name + Perimeter_top_ZN_3 VAV Box Outlet Node Name, !- Air Distribution Unit Outlet Node Name + AirTerminal:SingleDuct:VAV:Reheat, !- Air Terminal Object Type + Perimeter_top_ZN_3 VAV Box Component; !- Air Terminal Name + + ZoneHVAC:AirDistributionUnit, + Perimeter_top_ZN_4 VAV Box, !- Name + Perimeter_top_ZN_4 VAV Box Outlet Node Name, !- Air Distribution Unit Outlet Node Name + AirTerminal:SingleDuct:VAV:Reheat, !- Air Terminal Object Type + Perimeter_top_ZN_4 VAV Box Component; !- Air Terminal Name + + NodeList, + Basement Inlet Nodes, !- Name + Basement VAV Box Outlet Node Name; !- Node 1 Name + + NodeList, + Core_bottom Inlet Nodes, !- Name + Core_bottom VAV Box Outlet Node Name; !- Node 1 Name + + NodeList, + Core_mid Inlet Nodes, !- Name + Core_mid VAV Box Outlet Node Name; !- Node 1 Name + + NodeList, + Core_top Inlet Nodes, !- Name + Core_top VAV Box Outlet Node Name; !- Node 1 Name + + NodeList, + Perimeter_bot_ZN_1 Inlet Nodes, !- Name + Perimeter_bot_ZN_1 VAV Box Outlet Node Name; !- Node 1 Name + + NodeList, + Perimeter_bot_ZN_2 Inlet Nodes, !- Name + Perimeter_bot_ZN_2 VAV Box Outlet Node Name; !- Node 1 Name + + NodeList, + Perimeter_bot_ZN_3 Inlet Nodes, !- Name + Perimeter_bot_ZN_3 VAV Box Outlet Node Name; !- Node 1 Name + + NodeList, + Perimeter_bot_ZN_4 Inlet Nodes, !- Name + Perimeter_bot_ZN_4 VAV Box Outlet Node Name; !- Node 1 Name + + NodeList, + Perimeter_mid_ZN_1 Inlet Nodes, !- Name + Perimeter_mid_ZN_1 VAV Box Outlet Node Name; !- Node 1 Name + + NodeList, + Perimeter_mid_ZN_2 Inlet Nodes, !- Name + Perimeter_mid_ZN_2 VAV Box Outlet Node Name; !- Node 1 Name + + NodeList, + Perimeter_mid_ZN_3 Inlet Nodes, !- Name + Perimeter_mid_ZN_3 VAV Box Outlet Node Name; !- Node 1 Name + + NodeList, + Perimeter_mid_ZN_4 Inlet Nodes, !- Name + Perimeter_mid_ZN_4 VAV Box Outlet Node Name; !- Node 1 Name + + NodeList, + Perimeter_top_ZN_1 Inlet Nodes, !- Name + Perimeter_top_ZN_1 VAV Box Outlet Node Name; !- Node 1 Name + + NodeList, + Perimeter_top_ZN_2 Inlet Nodes, !- Name + Perimeter_top_ZN_2 VAV Box Outlet Node Name; !- Node 1 Name + + NodeList, + Perimeter_top_ZN_3 Inlet Nodes, !- Name + Perimeter_top_ZN_3 VAV Box Outlet Node Name; !- Node 1 Name + + NodeList, + Perimeter_top_ZN_4 Inlet Nodes, !- Name + Perimeter_top_ZN_4 VAV Box Outlet Node Name; !- Node 1 Name + + NodeList, + VAV_1_OANode List, !- Name + VAV_1_OAInlet Node; !- Node 1 Name + + NodeList, + VAV_2_OANode List, !- Name + VAV_2_OAInlet Node; !- Node 1 Name + + NodeList, + VAV_3_OANode List, !- Name + VAV_3_OAInlet Node; !- Node 1 Name + + NodeList, + VAV_5_OANode List, !- Name + VAV_5_OAInlet Node; !- Node 1 Name + + AvailabilityManagerAssignmentList, + VAV_1 Availability Manager List, !- Name + AvailabilityManager:NightCycle, !- Availability Manager 1 Object Type + VAV_1 Availability Manager; !- Availability Manager 1 Name + + AvailabilityManagerAssignmentList, + VAV_2 Availability Manager List, !- Name + AvailabilityManager:NightCycle, !- Availability Manager 1 Object Type + VAV_2 Availability Manager; !- Availability Manager 1 Name + + AvailabilityManagerAssignmentList, + VAV_3 Availability Manager List, !- Name + AvailabilityManager:NightCycle, !- Availability Manager 1 Object Type + VAV_3 Availability Manager; !- Availability Manager 1 Name + + AvailabilityManagerAssignmentList, + VAV_5 Availability Manager List, !- Name + AvailabilityManager:NightCycle, !- Availability Manager 1 Object Type + VAV_5 Availability Manager; !- Availability Manager 1 Name + + AvailabilityManager:NightCycle, + VAV_1 Availability Manager, !- Name + ALWAYS_ON, !- Applicability Schedule Name + HVACOperationSchd, !- Fan Schedule Name + CycleOnAny, !- Control Type + 1.0, !- Thermostat Tolerance {deltaC} + 1800; !- Cycling Run Time {s} + + AvailabilityManager:NightCycle, + VAV_2 Availability Manager, !- Name + ALWAYS_ON, !- Applicability Schedule Name + HVACOperationSchd, !- Fan Schedule Name + CycleOnAny, !- Control Type + 1.0, !- Thermostat Tolerance {deltaC} + 1800; !- Cycling Run Time {s} + + AvailabilityManager:NightCycle, + VAV_3 Availability Manager, !- Name + ALWAYS_ON, !- Applicability Schedule Name + HVACOperationSchd, !- Fan Schedule Name + CycleOnAny, !- Control Type + 1.0, !- Thermostat Tolerance {deltaC} + 1800; !- Cycling Run Time {s} + + AvailabilityManager:NightCycle, + VAV_5 Availability Manager, !- Name + ALWAYS_ON, !- Applicability Schedule Name + HVACOperationSchd, !- Fan Schedule Name + CycleOnAny, !- Control Type + 1.0, !- Thermostat Tolerance {deltaC} + 1800; !- Cycling Run Time {s} + + BranchList, + VAV_1 Air Loop Branches, !- Name + VAV_1 Air Loop Main Branch; !- Branch 1 Name + + BranchList, + VAV_2 Air Loop Branches, !- Name + VAV_2 Air Loop Main Branch; !- Branch 1 Name + + BranchList, + VAV_3 Air Loop Branches, !- Name + VAV_3 Air Loop Main Branch; !- Branch 1 Name + + BranchList, + VAV_5 Air Loop Branches, !- Name + VAV_5 Air Loop Main Branch; !- Branch 1 Name + + Branch, + VAV_1 Air Loop Main Branch, !- Name + AUTOSIZE, !- Maximum Flow Rate {m3/s} + , !- Pressure Drop Curve Name + AirLoopHVAC:OutdoorAirSystem, !- Component 1 Object Type + VAV_1_OA, !- Component 1 Name + VAV_1 Supply Equipment Inlet Node, !- Component 1 Inlet Node Name + VAV_1_OA-VAV_1_CoolCNode,!- Component 1 Outlet Node Name + Passive, !- Component 1 Branch Control Type + Coil:Cooling:Water, !- Component 2 Object Type + VAV_1_CoolC, !- Component 2 Name + VAV_1_OA-VAV_1_CoolCNode,!- Component 2 Inlet Node Name + VAV_1_CoolC-VAV_1_HeatCNode, !- Component 2 Outlet Node Name + Passive, !- Component 2 Branch Control Type + Coil:Heating:Water, !- Component 3 Object Type + VAV_1_HeatC, !- Component 3 Name + VAV_1_CoolC-VAV_1_HeatCNode, !- Component 3 Inlet Node Name + VAV_1_HeatC-VAV_1_FanNode, !- Component 3 Outlet Node Name + Passive, !- Component 3 Branch Control Type + Fan:VariableVolume, !- Component 4 Object Type + VAV_1_Fan, !- Component 4 Name + VAV_1_HeatC-VAV_1_FanNode, !- Component 4 Inlet Node Name + VAV_1 Supply Equipment Outlet Node, !- Component 4 Outlet Node Name + Active; !- Component 4 Branch Control Type + + Branch, + VAV_2 Air Loop Main Branch, !- Name + AUTOSIZE, !- Maximum Flow Rate {m3/s} + , !- Pressure Drop Curve Name + AirLoopHVAC:OutdoorAirSystem, !- Component 1 Object Type + VAV_2_OA, !- Component 1 Name + VAV_2 Supply Equipment Inlet Node, !- Component 1 Inlet Node Name + VAV_2_OA-VAV_2_CoolCNode,!- Component 1 Outlet Node Name + Passive, !- Component 1 Branch Control Type + Coil:Cooling:Water, !- Component 2 Object Type + VAV_2_CoolC, !- Component 2 Name + VAV_2_OA-VAV_2_CoolCNode,!- Component 2 Inlet Node Name + VAV_2_CoolC-VAV_2_HeatCNode, !- Component 2 Outlet Node Name + Passive, !- Component 2 Branch Control Type + Coil:Heating:Water, !- Component 3 Object Type + VAV_2_HeatC, !- Component 3 Name + VAV_2_CoolC-VAV_2_HeatCNode, !- Component 3 Inlet Node Name + VAV_2_HeatC-VAV_2_FanNode, !- Component 3 Outlet Node Name + Passive, !- Component 3 Branch Control Type + Fan:VariableVolume, !- Component 4 Object Type + VAV_2_Fan, !- Component 4 Name + VAV_2_HeatC-VAV_2_FanNode, !- Component 4 Inlet Node Name + VAV_2 Supply Equipment Outlet Node, !- Component 4 Outlet Node Name + Active; !- Component 4 Branch Control Type + + Branch, + VAV_3 Air Loop Main Branch, !- Name + AUTOSIZE, !- Maximum Flow Rate {m3/s} + , !- Pressure Drop Curve Name + AirLoopHVAC:OutdoorAirSystem, !- Component 1 Object Type + VAV_3_OA, !- Component 1 Name + VAV_3 Supply Equipment Inlet Node, !- Component 1 Inlet Node Name + VAV_3_OA-VAV_3_CoolCNode,!- Component 1 Outlet Node Name + Passive, !- Component 1 Branch Control Type + Coil:Cooling:Water, !- Component 2 Object Type + VAV_3_CoolC, !- Component 2 Name + VAV_3_OA-VAV_3_CoolCNode,!- Component 2 Inlet Node Name + VAV_3_CoolC-VAV_3_HeatCNode, !- Component 2 Outlet Node Name + Passive, !- Component 2 Branch Control Type + Coil:Heating:Water, !- Component 3 Object Type + VAV_3_HeatC, !- Component 3 Name + VAV_3_CoolC-VAV_3_HeatCNode, !- Component 3 Inlet Node Name + VAV_3_HeatC-VAV_3_FanNode, !- Component 3 Outlet Node Name + Passive, !- Component 3 Branch Control Type + Fan:VariableVolume, !- Component 4 Object Type + VAV_3_Fan, !- Component 4 Name + VAV_3_HeatC-VAV_3_FanNode, !- Component 4 Inlet Node Name + VAV_3 Supply Equipment Outlet Node, !- Component 4 Outlet Node Name + Active; !- Component 4 Branch Control Type + + Branch, + VAV_5 Air Loop Main Branch, !- Name + AUTOSIZE, !- Maximum Flow Rate {m3/s} + , !- Pressure Drop Curve Name + AirLoopHVAC:OutdoorAirSystem, !- Component 1 Object Type + VAV_5_OA, !- Component 1 Name + VAV_5 Supply Equipment Inlet Node, !- Component 1 Inlet Node Name + VAV_5_OA-VAV_5_CoolCNode,!- Component 1 Outlet Node Name + Passive, !- Component 1 Branch Control Type + Coil:Cooling:Water, !- Component 2 Object Type + VAV_5_CoolC, !- Component 2 Name + VAV_5_OA-VAV_5_CoolCNode,!- Component 2 Inlet Node Name + VAV_5_CoolC-VAV_5_HeatCNode, !- Component 2 Outlet Node Name + Passive, !- Component 2 Branch Control Type + Coil:Heating:Water, !- Component 3 Object Type + VAV_5_HeatC, !- Component 3 Name + VAV_5_CoolC-VAV_5_HeatCNode, !- Component 3 Inlet Node Name + VAV_5_HeatC-VAV_5_FanNode, !- Component 3 Outlet Node Name + Passive, !- Component 3 Branch Control Type + Fan:VariableVolume, !- Component 4 Object Type + VAV_5_Fan, !- Component 4 Name + VAV_5_HeatC-VAV_5_FanNode, !- Component 4 Inlet Node Name + VAV_5 Supply Equipment Outlet Node, !- Component 4 Outlet Node Name + Active; !- Component 4 Branch Control Type + + AirLoopHVAC:ControllerList, + VAV_1_Controllers, !- Name + Controller:WaterCoil, !- Controller 1 Object Type + VAV_1_CoolC_Controller, !- Controller 1 Name + Controller:WaterCoil, !- Controller 2 Object Type + VAV_1_HeatC_Controller; !- Controller 2 Name + + AirLoopHVAC:ControllerList, + VAV_1_OA_Controllers, !- Name + Controller:OutdoorAir, !- Controller 1 Object Type + VAV_1_OA_Controller; !- Controller 1 Name + + AirLoopHVAC:ControllerList, + VAV_2_Controllers, !- Name + Controller:WaterCoil, !- Controller 1 Object Type + VAV_2_CoolC_Controller, !- Controller 1 Name + Controller:WaterCoil, !- Controller 2 Object Type + VAV_2_HeatC_Controller; !- Controller 2 Name + + AirLoopHVAC:ControllerList, + VAV_2_OA_Controllers, !- Name + Controller:OutdoorAir, !- Controller 1 Object Type + VAV_2_OA_Controller; !- Controller 1 Name + + AirLoopHVAC:ControllerList, + VAV_3_Controllers, !- Name + Controller:WaterCoil, !- Controller 1 Object Type + VAV_3_CoolC_Controller, !- Controller 1 Name + Controller:WaterCoil, !- Controller 2 Object Type + VAV_3_HeatC_Controller; !- Controller 2 Name + + AirLoopHVAC:ControllerList, + VAV_3_OA_Controllers, !- Name + Controller:OutdoorAir, !- Controller 1 Object Type + VAV_3_OA_Controller; !- Controller 1 Name + + AirLoopHVAC:ControllerList, + VAV_5_Controllers, !- Name + Controller:WaterCoil, !- Controller 1 Object Type + VAV_5_CoolC_Controller, !- Controller 1 Name + Controller:WaterCoil, !- Controller 2 Object Type + VAV_5_HeatC_Controller; !- Controller 2 Name + + AirLoopHVAC:ControllerList, + VAV_5_OA_Controllers, !- Name + Controller:OutdoorAir, !- Controller 1 Object Type + VAV_5_OA_Controller; !- Controller 1 Name + + AirLoopHVAC:OutdoorAirSystem:EquipmentList, + VAV_1_OA_Equipment, !- Name + OutdoorAir:Mixer, !- Component 1 Object Type + VAV_1_OAMixing Box; !- Component 1 Name + + AirLoopHVAC:OutdoorAirSystem:EquipmentList, + VAV_2_OA_Equipment, !- Name + OutdoorAir:Mixer, !- Component 1 Object Type + VAV_2_OAMixing Box; !- Component 1 Name + + AirLoopHVAC:OutdoorAirSystem:EquipmentList, + VAV_3_OA_Equipment, !- Name + OutdoorAir:Mixer, !- Component 1 Object Type + VAV_3_OAMixing Box; !- Component 1 Name + + AirLoopHVAC:OutdoorAirSystem:EquipmentList, + VAV_5_OA_Equipment, !- Name + OutdoorAir:Mixer, !- Component 1 Object Type + VAV_5_OAMixing Box; !- Component 1 Name + + AirLoopHVAC:OutdoorAirSystem, + VAV_1_OA, !- Name + VAV_1_OA_Controllers, !- Controller List Name + VAV_1_OA_Equipment, !- Outdoor Air Equipment List Name + VAV_1 Availability Manager List; !- Availability Manager List Name + + AirLoopHVAC:OutdoorAirSystem, + VAV_2_OA, !- Name + VAV_2_OA_Controllers, !- Controller List Name + VAV_2_OA_Equipment, !- Outdoor Air Equipment List Name + VAV_2 Availability Manager List; !- Availability Manager List Name + + AirLoopHVAC:OutdoorAirSystem, + VAV_3_OA, !- Name + VAV_3_OA_Controllers, !- Controller List Name + VAV_3_OA_Equipment, !- Outdoor Air Equipment List Name + VAV_3 Availability Manager List; !- Availability Manager List Name + + AirLoopHVAC:OutdoorAirSystem, + VAV_5_OA, !- Name + VAV_5_OA_Controllers, !- Controller List Name + VAV_5_OA_Equipment, !- Outdoor Air Equipment List Name + VAV_5 Availability Manager List; !- Availability Manager List Name + + OutdoorAir:NodeList, + VAV_1_OANode List; !- Node or NodeList Name 1 + + OutdoorAir:NodeList, + VAV_2_OANode List; !- Node or NodeList Name 1 + + OutdoorAir:NodeList, + VAV_3_OANode List; !- Node or NodeList Name 1 + + OutdoorAir:NodeList, + VAV_5_OANode List; !- Node or NodeList Name 1 + + OutdoorAir:Mixer, + VAV_1_OAMixing Box, !- Name + VAV_1_OA-VAV_1_CoolCNode,!- Mixed Air Node Name + VAV_1_OAInlet Node, !- Outdoor Air Stream Node Name + VAV_1_OARelief Node, !- Relief Air Stream Node Name + VAV_1 Supply Equipment Inlet Node; !- Return Air Stream Node Name + + OutdoorAir:Mixer, + VAV_2_OAMixing Box, !- Name + VAV_2_OA-VAV_2_CoolCNode,!- Mixed Air Node Name + VAV_2_OAInlet Node, !- Outdoor Air Stream Node Name + VAV_2_OARelief Node, !- Relief Air Stream Node Name + VAV_2 Supply Equipment Inlet Node; !- Return Air Stream Node Name + + OutdoorAir:Mixer, + VAV_3_OAMixing Box, !- Name + VAV_3_OA-VAV_3_CoolCNode,!- Mixed Air Node Name + VAV_3_OAInlet Node, !- Outdoor Air Stream Node Name + VAV_3_OARelief Node, !- Relief Air Stream Node Name + VAV_3 Supply Equipment Inlet Node; !- Return Air Stream Node Name + + OutdoorAir:Mixer, + VAV_5_OAMixing Box, !- Name + VAV_5_OA-VAV_5_CoolCNode,!- Mixed Air Node Name + VAV_5_OAInlet Node, !- Outdoor Air Stream Node Name + VAV_5_OARelief Node, !- Relief Air Stream Node Name + VAV_5 Supply Equipment Inlet Node; !- Return Air Stream Node Name + + SetpointManager:MixedAir, + VAV_1_CoolC SAT Manager, !- Name + Temperature, !- Control Variable + VAV_1 Supply Equipment Outlet Node, !- Reference Setpoint Node Name + VAV_1_HeatC-VAV_1_FanNode, !- Fan Inlet Node Name + VAV_1 Supply Equipment Outlet Node, !- Fan Outlet Node Name + VAV_1_CoolC-VAV_1_HeatCNode; !- Setpoint Node or NodeList Name + + SetpointManager:MixedAir, + VAV_1_HeatC SAT Manager, !- Name + Temperature, !- Control Variable + VAV_1 Supply Equipment Outlet Node, !- Reference Setpoint Node Name + VAV_1_HeatC-VAV_1_FanNode, !- Fan Inlet Node Name + VAV_1 Supply Equipment Outlet Node, !- Fan Outlet Node Name + VAV_1_HeatC-VAV_1_FanNode; !- Setpoint Node or NodeList Name + + SetpointManager:MixedAir, + VAV_1_OAMixed Air Temp Manager, !- Name + Temperature, !- Control Variable + VAV_1 Supply Equipment Outlet Node, !- Reference Setpoint Node Name + VAV_1_HeatC-VAV_1_FanNode, !- Fan Inlet Node Name + VAV_1 Supply Equipment Outlet Node, !- Fan Outlet Node Name + VAV_1_OA-VAV_1_CoolCNode;!- Setpoint Node or NodeList Name + + SetpointManager:MixedAir, + VAV_2_CoolC SAT Manager, !- Name + Temperature, !- Control Variable + VAV_2 Supply Equipment Outlet Node, !- Reference Setpoint Node Name + VAV_2_HeatC-VAV_2_FanNode, !- Fan Inlet Node Name + VAV_2 Supply Equipment Outlet Node, !- Fan Outlet Node Name + VAV_2_CoolC-VAV_2_HeatCNode; !- Setpoint Node or NodeList Name + + SetpointManager:MixedAir, + VAV_2_HeatC SAT Manager, !- Name + Temperature, !- Control Variable + VAV_2 Supply Equipment Outlet Node, !- Reference Setpoint Node Name + VAV_2_HeatC-VAV_2_FanNode, !- Fan Inlet Node Name + VAV_2 Supply Equipment Outlet Node, !- Fan Outlet Node Name + VAV_2_HeatC-VAV_2_FanNode; !- Setpoint Node or NodeList Name + + SetpointManager:MixedAir, + VAV_2_OAMixed Air Temp Manager, !- Name + Temperature, !- Control Variable + VAV_2 Supply Equipment Outlet Node, !- Reference Setpoint Node Name + VAV_2_HeatC-VAV_2_FanNode, !- Fan Inlet Node Name + VAV_2 Supply Equipment Outlet Node, !- Fan Outlet Node Name + VAV_2_OA-VAV_2_CoolCNode;!- Setpoint Node or NodeList Name + + SetpointManager:MixedAir, + VAV_3_CoolC SAT Manager, !- Name + Temperature, !- Control Variable + VAV_3 Supply Equipment Outlet Node, !- Reference Setpoint Node Name + VAV_3_HeatC-VAV_3_FanNode, !- Fan Inlet Node Name + VAV_3 Supply Equipment Outlet Node, !- Fan Outlet Node Name + VAV_3_CoolC-VAV_3_HeatCNode; !- Setpoint Node or NodeList Name + + SetpointManager:MixedAir, + VAV_3_HeatC SAT Manager, !- Name + Temperature, !- Control Variable + VAV_3 Supply Equipment Outlet Node, !- Reference Setpoint Node Name + VAV_3_HeatC-VAV_3_FanNode, !- Fan Inlet Node Name + VAV_3 Supply Equipment Outlet Node, !- Fan Outlet Node Name + VAV_3_HeatC-VAV_3_FanNode; !- Setpoint Node or NodeList Name + + SetpointManager:MixedAir, + VAV_3_OAMixed Air Temp Manager, !- Name + Temperature, !- Control Variable + VAV_3 Supply Equipment Outlet Node, !- Reference Setpoint Node Name + VAV_3_HeatC-VAV_3_FanNode, !- Fan Inlet Node Name + VAV_3 Supply Equipment Outlet Node, !- Fan Outlet Node Name + VAV_3_OA-VAV_3_CoolCNode;!- Setpoint Node or NodeList Name + + SetpointManager:MixedAir, + VAV_5_CoolC SAT Manager, !- Name + Temperature, !- Control Variable + VAV_5 Supply Equipment Outlet Node, !- Reference Setpoint Node Name + VAV_5_HeatC-VAV_5_FanNode, !- Fan Inlet Node Name + VAV_5 Supply Equipment Outlet Node, !- Fan Outlet Node Name + VAV_5_CoolC-VAV_5_HeatCNode; !- Setpoint Node or NodeList Name + + SetpointManager:MixedAir, + VAV_5_HeatC SAT Manager, !- Name + Temperature, !- Control Variable + VAV_5 Supply Equipment Outlet Node, !- Reference Setpoint Node Name + VAV_5_HeatC-VAV_5_FanNode, !- Fan Inlet Node Name + VAV_5 Supply Equipment Outlet Node, !- Fan Outlet Node Name + VAV_5_HeatC-VAV_5_FanNode; !- Setpoint Node or NodeList Name + + SetpointManager:MixedAir, + VAV_5_OAMixed Air Temp Manager, !- Name + Temperature, !- Control Variable + VAV_5 Supply Equipment Outlet Node, !- Reference Setpoint Node Name + VAV_5_HeatC-VAV_5_FanNode, !- Fan Inlet Node Name + VAV_5 Supply Equipment Outlet Node, !- Fan Outlet Node Name + VAV_5_OA-VAV_5_CoolCNode;!- Setpoint Node or NodeList Name + + AirLoopHVAC:SupplyPath, + VAV_1, !- Name + VAV_1 Zone Equipment Inlet Node, !- Supply Air Path Inlet Node Name + AirLoopHVAC:ZoneSplitter,!- Component 1 Object Type + VAV_1 Supply Air Splitter; !- Component 1 Name + + AirLoopHVAC:SupplyPath, + VAV_2, !- Name + VAV_2 Zone Equipment Inlet Node, !- Supply Air Path Inlet Node Name + AirLoopHVAC:ZoneSplitter,!- Component 1 Object Type + VAV_2 Supply Air Splitter; !- Component 1 Name + + AirLoopHVAC:SupplyPath, + VAV_3, !- Name + VAV_3 Zone Equipment Inlet Node, !- Supply Air Path Inlet Node Name + AirLoopHVAC:ZoneSplitter,!- Component 1 Object Type + VAV_3 Supply Air Splitter; !- Component 1 Name + + AirLoopHVAC:SupplyPath, + VAV_5, !- Name + VAV_5 Zone Equipment Inlet Node, !- Supply Air Path Inlet Node Name + AirLoopHVAC:ZoneSplitter,!- Component 1 Object Type + VAV_5 Supply Air Splitter; !- Component 1 Name + + AirLoopHVAC:ZoneSplitter, + VAV_1 Supply Air Splitter, !- Name + VAV_1 Zone Equipment Inlet Node, !- Inlet Node Name + Core_bottom VAV Box Inlet Node Name, !- Outlet 1 Node Name + Perimeter_bot_ZN_3 VAV Box Inlet Node Name, !- Outlet 2 Node Name + Perimeter_bot_ZN_2 VAV Box Inlet Node Name, !- Outlet 3 Node Name + Perimeter_bot_ZN_1 VAV Box Inlet Node Name, !- Outlet 4 Node Name + Perimeter_bot_ZN_4 VAV Box Inlet Node Name; !- Outlet 5 Node Name + + AirLoopHVAC:ZoneSplitter, + VAV_2 Supply Air Splitter, !- Name + VAV_2 Zone Equipment Inlet Node, !- Inlet Node Name + Core_mid VAV Box Inlet Node Name, !- Outlet 1 Node Name + Perimeter_mid_ZN_3 VAV Box Inlet Node Name, !- Outlet 2 Node Name + Perimeter_mid_ZN_2 VAV Box Inlet Node Name, !- Outlet 3 Node Name + Perimeter_mid_ZN_1 VAV Box Inlet Node Name, !- Outlet 4 Node Name + Perimeter_mid_ZN_4 VAV Box Inlet Node Name; !- Outlet 5 Node Name + + AirLoopHVAC:ZoneSplitter, + VAV_3 Supply Air Splitter, !- Name + VAV_3 Zone Equipment Inlet Node, !- Inlet Node Name + Core_top VAV Box Inlet Node Name, !- Outlet 1 Node Name + Perimeter_top_ZN_3 VAV Box Inlet Node Name, !- Outlet 2 Node Name + Perimeter_top_ZN_2 VAV Box Inlet Node Name, !- Outlet 3 Node Name + Perimeter_top_ZN_1 VAV Box Inlet Node Name, !- Outlet 4 Node Name + Perimeter_top_ZN_4 VAV Box Inlet Node Name; !- Outlet 5 Node Name + + AirLoopHVAC:ZoneSplitter, + VAV_5 Supply Air Splitter, !- Name + VAV_5 Zone Equipment Inlet Node, !- Inlet Node Name + Basement VAV Box Inlet Node Name; !- Outlet 1 Node Name + + AirLoopHVAC:ReturnPath, + VAV_1 Return Air Path, !- Name + VAV_1 Zone Equipment Outlet Node, !- Return Air Path Outlet Node Name + AirLoopHVAC:ReturnPlenum,!- Component 1 Object Type + VAV_1 Return Plenum, !- Component 1 Name + AirLoopHVAC:ZoneMixer, !- Component 2 Object Type + VAV_1 Return Air Mixer; !- Component 2 Name + + AirLoopHVAC:ReturnPath, + VAV_2 Return Air Path, !- Name + VAV_2 Zone Equipment Outlet Node, !- Return Air Path Outlet Node Name + AirLoopHVAC:ReturnPlenum,!- Component 1 Object Type + VAV_2 Return Plenum, !- Component 1 Name + AirLoopHVAC:ZoneMixer, !- Component 2 Object Type + VAV_2 Return Air Mixer; !- Component 2 Name + + AirLoopHVAC:ReturnPath, + VAV_3 Return Air Path, !- Name + VAV_3 Zone Equipment Outlet Node, !- Return Air Path Outlet Node Name + AirLoopHVAC:ReturnPlenum,!- Component 1 Object Type + VAV_3 Return Plenum, !- Component 1 Name + AirLoopHVAC:ZoneMixer, !- Component 2 Object Type + VAV_3 Return Air Mixer; !- Component 2 Name + + AirLoopHVAC:ReturnPath, + VAV_5 Return Air Path, !- Name + VAV_5 Zone Equipment Outlet Node, !- Return Air Path Outlet Node Name + AirLoopHVAC:ZoneMixer, !- Component 1 Object Type + VAV_5 Return Air Mixer; !- Component 1 Name + + AirLoopHVAC:ReturnPlenum, + VAV_2 Return Plenum, !- Name + MidFloor_Plenum, !- Zone Name + MIDFLOOR_PLENUMPlenumNode, !- Zone Node Name + MIDFLOOR_PLENUMPlenumOutletNode, !- Outlet Node Name + , !- Induced Air Outlet Node or NodeList Name + Core_mid Return Air Node Name, !- Inlet 1 Node Name + Perimeter_mid_ZN_3 Return Air Node Name, !- Inlet 2 Node Name + Perimeter_mid_ZN_2 Return Air Node Name, !- Inlet 3 Node Name + Perimeter_mid_ZN_1 Return Air Node Name, !- Inlet 4 Node Name + Perimeter_mid_ZN_4 Return Air Node Name; !- Inlet 5 Node Name + + AirLoopHVAC:ReturnPlenum, + VAV_1 Return Plenum, !- Name + GroundFloor_Plenum, !- Zone Name + GROUNDFLOOR_PLENUMPlenumNode, !- Zone Node Name + GROUNDFLOOR_PLENUMPlenumOutletNode, !- Outlet Node Name + , !- Induced Air Outlet Node or NodeList Name + Core_bottom Return Air Node Name, !- Inlet 1 Node Name + Perimeter_bot_ZN_3 Return Air Node Name, !- Inlet 2 Node Name + Perimeter_bot_ZN_2 Return Air Node Name, !- Inlet 3 Node Name + Perimeter_bot_ZN_1 Return Air Node Name, !- Inlet 4 Node Name + Perimeter_bot_ZN_4 Return Air Node Name; !- Inlet 5 Node Name + + AirLoopHVAC:ReturnPlenum, + VAV_3 Return Plenum, !- Name + TopFloor_Plenum, !- Zone Name + TOPFLOOR_PLENUMPlenumNode, !- Zone Node Name + TOPFLOOR_PLENUMPlenumOutletNode, !- Outlet Node Name + , !- Induced Air Outlet Node or NodeList Name + Core_top Return Air Node Name, !- Inlet 1 Node Name + Perimeter_top_ZN_3 Return Air Node Name, !- Inlet 2 Node Name + Perimeter_top_ZN_2 Return Air Node Name, !- Inlet 3 Node Name + Perimeter_top_ZN_1 Return Air Node Name, !- Inlet 4 Node Name + Perimeter_top_ZN_4 Return Air Node Name; !- Inlet 5 Node Name + + AirLoopHVAC:ZoneMixer, + VAV_1 Return Air Mixer, !- Name + VAV_1 Zone Equipment Outlet Node, !- Outlet Node Name + GROUNDFLOOR_PLENUMPlenumOutletNode; !- Inlet 1 Node Name + + AirLoopHVAC:ZoneMixer, + VAV_2 Return Air Mixer, !- Name + VAV_2 Zone Equipment Outlet Node, !- Outlet Node Name + MIDFLOOR_PLENUMPlenumOutletNode; !- Inlet 1 Node Name + + AirLoopHVAC:ZoneMixer, + VAV_3 Return Air Mixer, !- Name + VAV_3 Zone Equipment Outlet Node, !- Outlet Node Name + TOPFLOOR_PLENUMPlenumOutletNode; !- Inlet 1 Node Name + + AirLoopHVAC:ZoneMixer, + VAV_5 Return Air Mixer, !- Name + VAV_5 Zone Equipment Outlet Node, !- Outlet Node Name + Basement Return Air Node Name; !- Inlet 1 Node Name + +! ***SCHEDULES*** + + Schedule:Compact, + CLGSETP_SCH, !- Name + Temperature, !- Schedule Type Limits Name + Through: 12/31, !- Field 1 + For: Weekdays SummerDesignDay, !- Field 2 + Until: 06:00,26.7, !- Field 3 + Until: 22:00,24.0, !- Field 5 + Until: 24:00,26.7, !- Field 7 + For: Saturday, !- Field 9 + Until: 06:00,26.7, !- Field 10 + Until: 18:00,24.0, !- Field 12 + Until: 24:00,26.7, !- Field 14 + For WinterDesignDay, !- Field 16 + Until: 24:00,26.7, !- Field 17 + For: AllOtherDays, !- Field 19 + Until: 24:00,26.7; !- Field 20 + + Schedule:Compact, + HTGSETP_SCH, !- Name + Temperature, !- Schedule Type Limits Name + Through: 12/31, !- Field 1 + For: Weekdays, !- Field 2 + Until: 06:00,15.6, !- Field 3 + Until: 22:00,21.0, !- Field 5 + Until: 24:00,15.6, !- Field 7 + For SummerDesignDay, !- Field 9 + Until: 24:00,15.6, !- Field 10 + For: Saturday, !- Field 12 + Until: 06:00,15.6, !- Field 13 + Until: 18:00,21.0, !- Field 15 + Until: 24:00,15.6, !- Field 17 + For: WinterDesignDay, !- Field 19 + Until: 24:00,21.0, !- Field 20 + For: AllOtherDays, !- Field 22 + Until: 24:00,15.6; !- Field 23 + + Schedule:Compact, + Seasonal-Reset-Supply-Air-Temp-Sch, !- Name + Temperature, !- Schedule Type Limits Name + Through: 12/31, !- Field 1 + For: AllDays, !- Field 2 + Until: 24:00,12.8; !- Field 3 + + Schedule:Compact, + MinOA_MotorizedDamper_Sched, !- Name + Fraction, !- Schedule Type Limits Name + Through: 12/31, !- Field 1 + For: Weekdays SummerDesignDay, !- Field 2 + Until: 07:00,0.0, !- Field 3 + Until: 22:00,1.0, !- Field 5 + Until: 24:00,0.0, !- Field 7 + For: Saturday WinterDesignDay, !- Field 9 + Until: 07:00,0.0, !- Field 10 + Until: 18:00,1.0, !- Field 12 + Until: 24:00,0.0, !- Field 14 + For: AllOtherDays, !- Field 16 + Until: 24:00,0.0; !- Field 17 + + Schedule:Compact, + Dual Zone Control Type Sched, !- Name + Control Type, !- Schedule Type Limits Name + Through: 12/31, !- Field 1 + For: AllDays, !- Field 2 + Until: 24:00,4; !- Field 3 + + Schedule:Compact, + HVACOperationSchd, !- Name + On/Off, !- Schedule Type Limits Name + Through: 12/31, !- Field 1 + For: Weekdays SummerDesignDay, !- Field 2 + Until: 06:00,0.0, !- Field 3 + Until: 22:00,1.0, !- Field 5 + Until: 24:00,0.0, !- Field 7 + For: Saturday WinterDesignDay, !- Field 9 + Until: 06:00,0.0, !- Field 10 + Until: 18:00,1.0, !- Field 12 + Until: 24:00,0.0, !- Field 14 + For: AllOtherDays, !- Field 16 + Until: 24:00,0.0; !- Field 17 + +! ***EQUIPMENT*** + + Output:PreprocessorMessage,Conversion 7.2 => 8.0,Warning, +Boiler:HotWater="HeatSys1 Boiler", + defaults for this object have changed. Results may be different than previous. See , +InputOutputReference document for details.; + Boiler:HotWater, + HeatSys1 Boiler, !- Name + NATURALGAS, !- Fuel Type + AUTOSIZE, !- Nominal Capacity {W} + 0.78, !- Nominal Thermal Efficiency + LeavingBoiler, !- Efficiency Curve Temperature Evaluation Variable + , !- Normalized Boiler Efficiency Curve Name + 82.2000, !- Design Water Outlet Temperature {C} + AUTOSIZE, !- Design Water Flow Rate {m3/s} + 0.0, !- Minimum Part Load Ratio + 1.2, !- Maximum Part Load Ratio + 1.0, !- Optimum Part Load Ratio + HeatSys1 Pump-HeatSys1 BoilerNode, !- Boiler Water Inlet Node Name + HeatSys1 Supply Equipment Outlet Node, !- Boiler Water Outlet Node Name + 95.0, !- Water Outlet Upper Temperature Limit {C} + LeavingSetpointModulated,!- Boiler Flow Mode + 0.0000, !- Parasitic Electric Load {W} + 1.0000; !- Sizing Factor + + SetpointManager:Scheduled, + HeatSys1 Boiler Setpoint Manager, !- Name + Temperature, !- Control Variable + HW-Loop-Temp-Schedule, !- Schedule Name + HeatSys1 Supply Equipment Outlet Node; !- Setpoint Node or NodeList Name + + Output:PreprocessorMessage,Conversion 7.2 => 8.0,Warning, +Chiller:Electric:ReformulatedEIR="CoolSys1 Chiller 1", + defaults for this object have changed. See InputOutputReference document for details.; + Chiller:Electric:ReformulatedEIR, + CoolSys1 Chiller 1, !- Name + AUTOSIZE, !- Reference Capacity {W} + 5.5, !- Reference COP {W/W} + 6.67, !- Reference Leaving Chilled Water Temperature {C} + 35, !- Reference Leaving Condenser Water Temperature {C} + AutoSize, !- Reference Chilled Water Flow Rate {m3/s} + AutoSize, !- Reference Condenser Water Flow Rate {m3/s} + WC Screw Default 90.1-2004 Cap_fT, !- Cooling Capacity Function of Temperature Curve Name + WC Screw Default 90.1-2004 EIR_fT, !- Electric Input to Cooling Output Ratio Function of Temperature Curve Name + WC Screw GTE 300tons Default 90.1-2004 EIR_fPLR, !- Electric Input to Cooling Output Ratio Function of Part Load Ratio Curve Name + 0.1, !- Minimum Part Load Ratio + 1, !- Maximum Part Load Ratio + 1, !- Optimum Part Load Ratio + 0.2, !- Minimum Unloading Ratio + CoolSys1 Pump-CoolSys1 ChillerNode 1, !- Chilled Water Inlet Node Name + CoolSys1 Supply Equipment Outlet Node 1, !- Chilled Water Outlet Node Name + CoolSys1 Chiller Water Inlet Node 1, !- Condenser Inlet Node Name + CoolSys1 Chiller Water Outlet Node 1, !- Condenser Outlet Node Name + 1, !- Fraction of Compressor Electric Consumption Rejected by Condenser + 2, !- Leaving Chilled Water Lower Temperature Limit {C} + LeavingSetpointModulated,!- Chiller Flow Mode Type + , !- Design Heat Recovery Water Flow Rate {m3/s} + , !- Heat Recovery Inlet Node Name + , !- Heat Recovery Outlet Node Name + 0.4; !- Sizing Factor + + SetpointManager:Scheduled, + CoolSys1 Chiller 1 Setpoint Manager, !- Name + Temperature, !- Control Variable + CW-Loop-Temp-Schedule, !- Schedule Name + CoolSys1 Supply Equipment Outlet Node 1; !- Setpoint Node or NodeList Name + + Output:PreprocessorMessage,Conversion 7.2 => 8.0,Warning, +Chiller:Electric:ReformulatedEIR="CoolSys1 Chiller 2", + defaults for this object have changed. See InputOutputReference document for details.; + Chiller:Electric:ReformulatedEIR, + CoolSys1 Chiller 2, !- Name + AUTOSIZE, !- Reference Capacity {W} + 5.5, !- Reference COP {W/W} + 6.67, !- Reference Leaving Chilled Water Temperature {C} + 35, !- Reference Leaving Condenser Water Temperature {C} + AutoSize, !- Reference Chilled Water Flow Rate {m3/s} + AutoSize, !- Reference Condenser Water Flow Rate {m3/s} + WC Screw Default 90.1-2004 Cap_fT, !- Cooling Capacity Function of Temperature Curve Name + WC Screw Default 90.1-2004 EIR_fT, !- Electric Input to Cooling Output Ratio Function of Temperature Curve Name + WC Screw GTE 300tons Default 90.1-2004 EIR_fPLR, !- Electric Input to Cooling Output Ratio Function of Part Load Ratio Curve Name + 0.1, !- Minimum Part Load Ratio + 1, !- Maximum Part Load Ratio + 1, !- Optimum Part Load Ratio + 0.2, !- Minimum Unloading Ratio + CoolSys1 Pump-CoolSys1 ChillerNode 2, !- Chilled Water Inlet Node Name + CoolSys1 Supply Equipment Outlet Node 2, !- Chilled Water Outlet Node Name + CoolSys1 Chiller Water Inlet Node 2, !- Condenser Inlet Node Name + CoolSys1 Chiller Water Outlet Node 2, !- Condenser Outlet Node Name + 1, !- Fraction of Compressor Electric Consumption Rejected by Condenser + 2, !- Leaving Chilled Water Lower Temperature Limit {C} + LeavingSetpointModulated,!- Chiller Flow Mode Type + , !- Design Heat Recovery Water Flow Rate {m3/s} + , !- Heat Recovery Inlet Node Name + , !- Heat Recovery Outlet Node Name + 0.4; !- Sizing Factor + + SetpointManager:Scheduled, + CoolSys1 Chiller 2 Setpoint Manager, !- Name + Temperature, !- Control Variable + CW-Loop-Temp-Schedule, !- Schedule Name + CoolSys1 Supply Equipment Outlet Node 2; !- Setpoint Node or NodeList Name + + CoolingTower:SingleSpeed, + TowerWaterSys CoolTower, !- Name + TowerWaterSys Pump-TowerWaterSys CoolTowerNode, !- Water Inlet Node Name + TowerWaterSys Supply Equipment Outlet Node, !- Water Outlet Node Name + AUTOSIZE, !- Design Water Flow Rate {m3/s} + AUTOSIZE, !- Design Air Flow Rate {m3/s} + AUTOSIZE, !- Fan Power at Design Air Flow Rate {W} + AUTOSIZE, !- U-Factor Times Area Value at Design Air Flow Rate {W/K} + AUTOSIZE, !- Air Flow Rate in Free Convection Regime {m3/s} + AUTOSIZE, !- U-Factor Times Area Value at Free Convection Air Flow Rate {W/K} + UFactorTimesAreaAndDesignWaterFlowRate, !- Performance Input Method + , !- Nominal Capacity {W} + , !- Free Convection Capacity {W} + , !- Basin Heater Capacity {W/K} + , !- Basin Heater Setpoint Temperature {C} + , !- Basin Heater Operating Schedule Name + SaturatedExit, !- Evaporation Loss Mode + , !- Evaporation Loss Factor {percent/K} + 0.0080, !- Drift Loss Percent {percent} + ConcentrationRatio, !- Blowdown Calculation Mode + 3.0000, !- Blowdown Concentration Ratio + , !- Blowdown Makeup Water Usage Schedule Name + , !- Supply Water Storage Tank Name + TowerWaterSys CoolTower OA ref Node, !- Outdoor Air Inlet Node Name + FanCycling, !- Capacity Control + , !- Number of Cells + , !- Cell Control + , !- Cell Minimum Water Flow Rate Fraction + , !- Cell Maximum Water Flow Rate Fraction + 1.0000; !- Sizing Factor + + Pump:VariableSpeed, + CoolSys1 Pump, !- Name + CoolSys1 Supply Inlet Node, !- Inlet Node Name + CoolSys1 Pump-CoolSys1 ChillerNodeviaConnector, !- Outlet Node Name + AUTOSIZE, !- Rated Flow Rate {m3/s} + 179352, !- Rated Pump Head {Pa} + AUTOSIZE, !- Rated Power Consumption {W} + 0.9, !- Motor Efficiency + 0.0, !- Fraction of Motor Inefficiencies to Fluid Stream + 0, !- Coefficient 1 of the Part Load Performance Curve + 1, !- Coefficient 2 of the Part Load Performance Curve + 0, !- Coefficient 3 of the Part Load Performance Curve + 0, !- Coefficient 4 of the Part Load Performance Curve + 0.0, !- Minimum Flow Rate {m3/s} + Intermittent, !- Pump Control Type + ; !- Pump Flow Rate Schedule Name + + Pump:VariableSpeed, + HeatSys1 Pump, !- Name + HeatSys1 Supply Inlet Node, !- Inlet Node Name + HeatSys1 Pump-HeatSys1 BoilerNodeviaConnector, !- Outlet Node Name + AUTOSIZE, !- Rated Flow Rate {m3/s} + 179352, !- Rated Pump Head {Pa} + AUTOSIZE, !- Rated Power Consumption {W} + 0.875, !- Motor Efficiency + 0.0, !- Fraction of Motor Inefficiencies to Fluid Stream + 0, !- Coefficient 1 of the Part Load Performance Curve + 1, !- Coefficient 2 of the Part Load Performance Curve + 0, !- Coefficient 3 of the Part Load Performance Curve + 0, !- Coefficient 4 of the Part Load Performance Curve + 0.0, !- Minimum Flow Rate {m3/s} + Intermittent, !- Pump Control Type + ; !- Pump Flow Rate Schedule Name + + Pump:ConstantSpeed, + TowerWaterSys Pump, !- Name + TowerWaterSys Supply Inlet Node, !- Inlet Node Name + TowerWaterSys Pump-TowerWaterSys CoolTowerNodeviaConnector, !- Outlet Node Name + AUTOSIZE, !- Rated Flow Rate {m3/s} + 179352, !- Rated Pump Head {Pa} + AUTOSIZE, !- Rated Power Consumption {W} + 0.87, !- Motor Efficiency + 0.0, !- Fraction of Motor Inefficiencies to Fluid Stream + Intermittent, !- Pump Control Type + ; !- Pump Flow Rate Schedule Name + + PlantEquipmentList, + CoolSys1 Equipment List, !- Name + Chiller:Electric:ReformulatedEIR, !- Equipment 1 Object Type + CoolSys1 Chiller 1, !- Equipment 1 Name + Chiller:Electric:ReformulatedEIR, !- Equipment 2 Object Type + CoolSys1 Chiller 2; !- Equipment 2 Name + + PlantEquipmentList, + HeatSys1 Equipment List, !- Name + Boiler:HotWater, !- Equipment 1 Object Type + HeatSys1 Boiler; !- Equipment 1 Name + + CondenserEquipmentList, + TowerWaterSys Equipment List, !- Name + CoolingTower:SingleSpeed,!- Equipment 1 Object Type + TowerWaterSys CoolTower; !- Equipment 1 Name + +! ***SIZING & CONTROLS*** + + Sizing:Plant, + CoolSys1, !- Plant or Condenser Loop Name + Cooling, !- Loop Type + 6.67, !- Design Loop Exit Temperature {C} + 6.67; !- Loop Design Temperature Difference {deltaC} + + Sizing:Plant, + HeatSys1, !- Plant or Condenser Loop Name + Heating, !- Loop Type + 82.2, !- Design Loop Exit Temperature {C} + 11.1; !- Loop Design Temperature Difference {deltaC} + + Sizing:Plant, + TowerWaterSys, !- Plant or Condenser Loop Name + CONDENSER, !- Loop Type + 29.4, !- Design Loop Exit Temperature {C} + 5.6; !- Loop Design Temperature Difference {deltaC} + + Controller:WaterCoil, + VAV_1_CoolC_Controller, !- Name + Temperature, !- Control Variable + Reverse, !- Action + Flow, !- Actuator Variable + VAV_1_CoolC-VAV_1_HeatCNode, !- Sensor Node Name + VAV_1_CoolCDemand Inlet Node, !- Actuator Node Name + , !- Controller Convergence Tolerance {deltaC} + AUTOSIZE, !- Maximum Actuated Flow {m3/s} + 0.0; !- Minimum Actuated Flow {m3/s} + + Controller:WaterCoil, + VAV_1_HeatC_Controller, !- Name + Temperature, !- Control Variable + Normal, !- Action + Flow, !- Actuator Variable + VAV_1_HeatC-VAV_1_FanNode, !- Sensor Node Name + VAV_1_HeatCDemand Inlet Node, !- Actuator Node Name + 0.0001, !- Controller Convergence Tolerance {deltaC} + AUTOSIZE, !- Maximum Actuated Flow {m3/s} + 0.0; !- Minimum Actuated Flow {m3/s} + + Controller:WaterCoil, + VAV_2_CoolC_Controller, !- Name + Temperature, !- Control Variable + Reverse, !- Action + Flow, !- Actuator Variable + VAV_2_CoolC-VAV_2_HeatCNode, !- Sensor Node Name + VAV_2_CoolCDemand Inlet Node, !- Actuator Node Name + , !- Controller Convergence Tolerance {deltaC} + AUTOSIZE, !- Maximum Actuated Flow {m3/s} + 0.0; !- Minimum Actuated Flow {m3/s} + + Controller:WaterCoil, + VAV_2_HeatC_Controller, !- Name + Temperature, !- Control Variable + Normal, !- Action + Flow, !- Actuator Variable + VAV_2_HeatC-VAV_2_FanNode, !- Sensor Node Name + VAV_2_HeatCDemand Inlet Node, !- Actuator Node Name + 0.0001, !- Controller Convergence Tolerance {deltaC} + AUTOSIZE, !- Maximum Actuated Flow {m3/s} + 0.0; !- Minimum Actuated Flow {m3/s} + + Controller:WaterCoil, + VAV_3_CoolC_Controller, !- Name + Temperature, !- Control Variable + Reverse, !- Action + Flow, !- Actuator Variable + VAV_3_CoolC-VAV_3_HeatCNode, !- Sensor Node Name + VAV_3_CoolCDemand Inlet Node, !- Actuator Node Name + , !- Controller Convergence Tolerance {deltaC} + AUTOSIZE, !- Maximum Actuated Flow {m3/s} + 0.0; !- Minimum Actuated Flow {m3/s} + + Controller:WaterCoil, + VAV_3_HeatC_Controller, !- Name + Temperature, !- Control Variable + Normal, !- Action + Flow, !- Actuator Variable + VAV_3_HeatC-VAV_3_FanNode, !- Sensor Node Name + VAV_3_HeatCDemand Inlet Node, !- Actuator Node Name + 0.0001, !- Controller Convergence Tolerance {deltaC} + AUTOSIZE, !- Maximum Actuated Flow {m3/s} + 0.0; !- Minimum Actuated Flow {m3/s} + + Controller:WaterCoil, + VAV_5_CoolC_Controller, !- Name + Temperature, !- Control Variable + Reverse, !- Action + Flow, !- Actuator Variable + VAV_5_CoolC-VAV_5_HeatCNode, !- Sensor Node Name + VAV_5_CoolCDemand Inlet Node, !- Actuator Node Name + , !- Controller Convergence Tolerance {deltaC} + AUTOSIZE, !- Maximum Actuated Flow {m3/s} + 0.0; !- Minimum Actuated Flow {m3/s} + + Controller:WaterCoil, + VAV_5_HeatC_Controller, !- Name + Temperature, !- Control Variable + Normal, !- Action + Flow, !- Actuator Variable + VAV_5_HeatC-VAV_5_FanNode, !- Sensor Node Name + VAV_5_HeatCDemand Inlet Node, !- Actuator Node Name + 0.0001, !- Controller Convergence Tolerance {deltaC} + AUTOSIZE, !- Maximum Actuated Flow {m3/s} + 0.0; !- Minimum Actuated Flow {m3/s} + +! Curve adapted by R. Lord for ANSI/ASHRAE/IESNA 90.1-2004 performance +! for a water-cooled, screw/scroll chiller + + Curve:Biquadratic, + WC Screw Default 90.1-2004 Cap_fT, !- Name + 0.9061150, !- Coefficient1 Constant + 0.0292277, !- Coefficient2 x + -0.0003647, !- Coefficient3 x**2 + -0.0009709, !- Coefficient4 y + -0.0000905, !- Coefficient5 y**2 + 0.0002527, !- Coefficient6 x*y + 0.0, !- Minimum Value of x + 20.0, !- Maximum Value of x + 0.0, !- Minimum Value of y + 50.0; !- Maximum Value of y + +! Curve adapted by R. Lord for ANSI/ASHRAE/IESNA 90.1-2004 performance +! for a water-cooled, screw/scroll chiller + + Curve:Biquadratic, + WC Screw Default 90.1-2004 EIR_fT, !- Name + 0.3617105, !- Coefficient1 Constant + -0.0229833, !- Coefficient2 x + -0.0009519, !- Coefficient3 x**2 + 0.0131889, !- Coefficient4 y + 0.0003752, !- Coefficient5 y**2 + -0.0007059, !- Coefficient6 x*y + 0.0, !- Minimum Value of x + 20.0, !- Maximum Value of x + 0.0, !- Minimum Value of y + 50.0; !- Maximum Value of y + + SetpointManager:Scheduled, + CoolSys1 Loop Setpoint Manager, !- Name + Temperature, !- Control Variable + CW-Loop-Temp-Schedule, !- Schedule Name + CoolSys1 Supply Outlet Node; !- Setpoint Node or NodeList Name + + SetpointManager:Scheduled, + HeatSys1 Loop Setpoint Manager, !- Name + Temperature, !- Control Variable + HW-Loop-Temp-Schedule, !- Schedule Name + HeatSys1 Supply Outlet Node; !- Setpoint Node or NodeList Name + + PlantEquipmentOperationSchemes, + CoolSys1 Loop Operation Scheme List, !- Name + PlantEquipmentOperation:CoolingLoad, !- Control Scheme 1 Object Type + CoolSys1 Operation Scheme, !- Control Scheme 1 Name + ALWAYS_ON; !- Control Scheme 1 Schedule Name + + PlantEquipmentOperationSchemes, + HeatSys1 Loop Operation Scheme List, !- Name + PlantEquipmentOperation:HeatingLoad, !- Control Scheme 1 Object Type + HeatSys1 Operation Scheme, !- Control Scheme 1 Name + ALWAYS_ON; !- Control Scheme 1 Schedule Name + + CondenserEquipmentOperationSchemes, + TowerWaterSys Loop Operation Scheme List, !- Name + PlantEquipmentOperation:CoolingLoad, !- Control Scheme 1 Object Type + TowerWaterSys Operation Scheme, !- Control Scheme 1 Name + ALWAYS_ON; !- Control Scheme 1 Schedule Name + + PlantEquipmentOperation:HeatingLoad, + HeatSys1 Operation Scheme, !- Name + 0.0, !- Load Range 1 Lower Limit {W} + 1000000000000000, !- Load Range 1 Upper Limit {W} + HeatSys1 Equipment List; !- Range 1 Equipment List Name + + PlantEquipmentOperation:CoolingLoad, + CoolSys1 Operation Scheme, !- Name + 0.0, !- Load Range 1 Lower Limit {W} + 100000000000000, !- Load Range 1 Upper Limit {W} + CoolSys1 Equipment List; !- Range 1 Equipment List Name + + PlantEquipmentOperation:CoolingLoad, + TowerWaterSys Operation Scheme, !- Name + 0.0, !- Load Range 1 Lower Limit {W} + 1000000000000, !- Load Range 1 Upper Limit {W} + TowerWaterSys Equipment List; !- Range 1 Equipment List Name + +! ***LOOPS*** + + PlantLoop, + CoolSys1, !- Name + Water, !- Fluid Type + , !- User Defined Fluid Type + CoolSys1 Loop Operation Scheme List, !- Plant Equipment Operation Scheme Name + CoolSys1 Supply Outlet Node, !- Loop Temperature Setpoint Node Name + 98.0, !- Maximum Loop Temperature {C} + 1.0, !- Minimum Loop Temperature {C} + AUTOSIZE, !- Maximum Loop Flow Rate {m3/s} + 0.0, !- Minimum Loop Flow Rate {m3/s} + AUTOSIZE, !- Plant Loop Volume {m3} + CoolSys1 Supply Inlet Node, !- Plant Side Inlet Node Name + CoolSys1 Supply Outlet Node, !- Plant Side Outlet Node Name + CoolSys1 Supply Branches,!- Plant Side Branch List Name + CoolSys1 Supply Connectors, !- Plant Side Connector List Name + CoolSys1 Demand Inlet Node, !- Demand Side Inlet Node Name + CoolSys1 Demand Outlet Node, !- Demand Side Outlet Node Name + CoolSys1 Demand Branches,!- Demand Side Branch List Name + CoolSys1 Demand Connectors, !- Demand Side Connector List Name + Uniform; !- Load Distribution Scheme + + PlantLoop, + HeatSys1, !- Name + Water, !- Fluid Type + , !- User Defined Fluid Type + HeatSys1 Loop Operation Scheme List, !- Plant Equipment Operation Scheme Name + HeatSys1 Supply Outlet Node, !- Loop Temperature Setpoint Node Name + 100.0, !- Maximum Loop Temperature {C} + 10.0, !- Minimum Loop Temperature {C} + AUTOSIZE, !- Maximum Loop Flow Rate {m3/s} + 0.0, !- Minimum Loop Flow Rate {m3/s} + AUTOSIZE, !- Plant Loop Volume {m3} + HeatSys1 Supply Inlet Node, !- Plant Side Inlet Node Name + HeatSys1 Supply Outlet Node, !- Plant Side Outlet Node Name + HeatSys1 Supply Branches,!- Plant Side Branch List Name + HeatSys1 Supply Connectors, !- Plant Side Connector List Name + HeatSys1 Demand Inlet Node, !- Demand Side Inlet Node Name + HeatSys1 Demand Outlet Node, !- Demand Side Outlet Node Name + HeatSys1 Demand Branches,!- Demand Side Branch List Name + HeatSys1 Demand Connectors, !- Demand Side Connector List Name + Optimal; !- Load Distribution Scheme + + CondenserLoop, + TowerWaterSys, !- Name + Water, !- Fluid Type + , !- User Defined Fluid Type + TowerWaterSys Loop Operation Scheme List, !- Condenser Equipment Operation Scheme Name + TowerWaterSys Supply Outlet Node, !- Condenser Loop Temperature Setpoint Node Name + 80.0, !- Maximum Loop Temperature {C} + 5.0, !- Minimum Loop Temperature {C} + AUTOSIZE, !- Maximum Loop Flow Rate {m3/s} + 0.0, !- Minimum Loop Flow Rate {m3/s} + AUTOSIZE, !- Condenser Loop Volume {m3} + TowerWaterSys Supply Inlet Node, !- Condenser Side Inlet Node Name + TowerWaterSys Supply Outlet Node, !- Condenser Side Outlet Node Name + TowerWaterSys Supply Branches, !- Condenser Side Branch List Name + TowerWaterSys Supply Connectors, !- Condenser Side Connector List Name + TowerWaterSys Demand Inlet Node, !- Demand Side Inlet Node Name + TowerWaterSys Demand Outlet Node, !- Demand Side Outlet Node Name + TowerWaterSys Demand Branches, !- Condenser Demand Side Branch List Name + TowerWaterSys Demand Connectors, !- Condenser Demand Side Connector List Name + Sequential; !- Load Distribution Scheme + + SetpointManager:FollowOutdoorAirTemperature, + TowerWaterSys, !- Name + Temperature, !- Control Variable + OutdoorAirWetBulb, !- Reference Temperature Type + 0, !- Offset Temperature Difference {deltaC} + 80.0, !- Maximum Setpoint Temperature {C} + 5.0, !- Minimum Setpoint Temperature {C} + TowerWaterSys Supply Outlet Node; !- Setpoint Node or NodeList Name + +! ***CONNECTIONS*** + + BranchList, + CoolSys1 Demand Branches,!- Name + CoolSys1 Demand Inlet Branch, !- Branch 1 Name + CoolSys1 Demand Load Branch 1, !- Branch 2 Name + CoolSys1 Demand Load Branch 2, !- Branch 3 Name + CoolSys1 Demand Load Branch 3, !- Branch 4 Name + CoolSys1 Demand Load Branch 4, !- Branch 5 Name + CoolSys1 Demand Bypass Branch, !- Branch 6 Name + CoolSys1 Demand Outlet Branch; !- Branch 7 Name + + BranchList, + CoolSys1 Supply Branches,!- Name + CoolSys1 Supply Inlet Branch, !- Branch 1 Name + CoolSys1 Supply Equipment Branch 1, !- Branch 2 Name + CoolSys1 Supply Equipment Branch 2, !- Branch 3 Name + CoolSys1 Supply Equipment Bypass Branch, !- Branch 4 Name + CoolSys1 Supply Outlet Branch; !- Branch 5 Name + + BranchList, + HeatSys1 Demand Branches,!- Name + HeatSys1 Demand Inlet Branch, !- Branch 1 Name + HeatSys1 Demand Load Branch 1, !- Branch 2 Name + HeatSys1 Demand Load Branch 2, !- Branch 3 Name + HeatSys1 Demand Load Branch 3, !- Branch 4 Name + HeatSys1 Demand Load Branch 4, !- Branch 5 Name + HeatSys1 Demand Load Branch 5, !- Branch 6 Name + HeatSys1 Demand Load Branch 6, !- Branch 7 Name + HeatSys1 Demand Load Branch 7, !- Branch 8 Name + HeatSys1 Demand Load Branch 8, !- Branch 9 Name + HeatSys1 Demand Load Branch 9, !- Branch 10 Name + HeatSys1 Demand Load Branch 10, !- Branch 11 Name + HeatSys1 Demand Load Branch 11, !- Branch 12 Name + HeatSys1 Demand Load Branch 12, !- Branch 13 Name + HeatSys1 Demand Load Branch 13, !- Branch 14 Name + HeatSys1 Demand Load Branch 14, !- Branch 15 Name + HeatSys1 Demand Load Branch 15, !- Branch 16 Name + HeatSys1 Demand Load Branch 16, !- Branch 17 Name + HeatSys1 Demand Load Branch 17, !- Branch 18 Name + HeatSys1 Demand Load Branch 18, !- Branch 19 Name + HeatSys1 Demand Load Branch 19, !- Branch 20 Name + HeatSys1 Demand Load Branch 20, !- Branch 21 Name + HeatSys1 Demand Bypass Branch, !- Branch 22 Name + HeatSys1 Demand Outlet Branch; !- Branch 23 Name + + BranchList, + HeatSys1 Supply Branches,!- Name + HeatSys1 Supply Inlet Branch, !- Branch 1 Name + HeatSys1 Supply Equipment Branch, !- Branch 2 Name + HeatSys1 Supply Equipment Bypass Branch, !- Branch 3 Name + HeatSys1 Supply Outlet Branch; !- Branch 4 Name + + BranchList, + TowerWaterSys Demand Branches, !- Name + TowerWaterSys Demand Inlet Branch, !- Branch 1 Name + TowerWaterSys Demand Load Branch 1, !- Branch 2 Name + TowerWaterSys Demand Load Branch 2, !- Branch 3 Name + TowerWaterSys Demand Bypass Branch, !- Branch 4 Name + TowerWaterSys Demand Outlet Branch; !- Branch 5 Name + + BranchList, + TowerWaterSys Supply Branches, !- Name + TowerWaterSys Supply Inlet Branch, !- Branch 1 Name + TowerWaterSys Supply Equipment Branch, !- Branch 2 Name + TowerWaterSys Supply Equipment Bypass Branch, !- Branch 3 Name + TowerWaterSys Supply Outlet Branch; !- Branch 4 Name + + Branch, + CoolSys1 Demand Bypass Branch, !- Name + , !- Maximum Flow Rate {m3/s} + , !- Pressure Drop Curve Name + Pipe:Adiabatic, !- Component 1 Object Type + CoolSys1 Demand Bypass Pipe, !- Component 1 Name + CoolSys1 Demand Bypass Pipe Inlet Node, !- Component 1 Inlet Node Name + CoolSys1 Demand Bypass Pipe Outlet Node, !- Component 1 Outlet Node Name + Bypass; !- Component 1 Branch Control Type + + Branch, + CoolSys1 Demand Inlet Branch, !- Name + , !- Maximum Flow Rate {m3/s} + , !- Pressure Drop Curve Name + Pipe:Adiabatic, !- Component 1 Object Type + CoolSys1 Demand Inlet Pipe, !- Component 1 Name + CoolSys1 Demand Inlet Node, !- Component 1 Inlet Node Name + CoolSys1 Demand Inlet Pipe-CoolSys1 Demand Mixer, !- Component 1 Outlet Node Name + Passive; !- Component 1 Branch Control Type + + Branch, + CoolSys1 Demand Load Branch 1, !- Name + , !- Maximum Flow Rate {m3/s} + , !- Pressure Drop Curve Name + Coil:Cooling:Water, !- Component 1 Object Type + VAV_5_CoolC, !- Component 1 Name + VAV_5_CoolCDemand Inlet Node, !- Component 1 Inlet Node Name + VAV_5_CoolCDemand Outlet Node, !- Component 1 Outlet Node Name + Active; !- Component 1 Branch Control Type + + Branch, + CoolSys1 Demand Load Branch 2, !- Name + , !- Maximum Flow Rate {m3/s} + , !- Pressure Drop Curve Name + Coil:Cooling:Water, !- Component 1 Object Type + VAV_1_CoolC, !- Component 1 Name + VAV_1_CoolCDemand Inlet Node, !- Component 1 Inlet Node Name + VAV_1_CoolCDemand Outlet Node, !- Component 1 Outlet Node Name + Active; !- Component 1 Branch Control Type + + Branch, + CoolSys1 Demand Load Branch 3, !- Name + , !- Maximum Flow Rate {m3/s} + , !- Pressure Drop Curve Name + Coil:Cooling:Water, !- Component 1 Object Type + VAV_2_CoolC, !- Component 1 Name + VAV_2_CoolCDemand Inlet Node, !- Component 1 Inlet Node Name + VAV_2_CoolCDemand Outlet Node, !- Component 1 Outlet Node Name + Active; !- Component 1 Branch Control Type + + Branch, + CoolSys1 Demand Load Branch 4, !- Name + , !- Maximum Flow Rate {m3/s} + , !- Pressure Drop Curve Name + Coil:Cooling:Water, !- Component 1 Object Type + VAV_3_CoolC, !- Component 1 Name + VAV_3_CoolCDemand Inlet Node, !- Component 1 Inlet Node Name + VAV_3_CoolCDemand Outlet Node, !- Component 1 Outlet Node Name + Active; !- Component 1 Branch Control Type + + Branch, + CoolSys1 Demand Outlet Branch, !- Name + , !- Maximum Flow Rate {m3/s} + , !- Pressure Drop Curve Name + Pipe:Adiabatic, !- Component 1 Object Type + CoolSys1 Demand Outlet Pipe, !- Component 1 Name + CoolSys1 Demand Mixer-CoolSys1 Demand Outlet Pipe, !- Component 1 Inlet Node Name + CoolSys1 Demand Outlet Node, !- Component 1 Outlet Node Name + Passive; !- Component 1 Branch Control Type + + Branch, + CoolSys1 Supply Equipment Branch 1, !- Name + , !- Maximum Flow Rate {m3/s} + , !- Pressure Drop Curve Name + Chiller:Electric:ReformulatedEIR, !- Component 1 Object Type + CoolSys1 Chiller 1, !- Component 1 Name + CoolSys1 Pump-CoolSys1 ChillerNode 1, !- Component 1 Inlet Node Name + CoolSys1 Supply Equipment Outlet Node 1, !- Component 1 Outlet Node Name + Active; !- Component 1 Branch Control Type + + Branch, + CoolSys1 Supply Equipment Branch 2, !- Name + , !- Maximum Flow Rate {m3/s} + , !- Pressure Drop Curve Name + Chiller:Electric:ReformulatedEIR, !- Component 1 Object Type + CoolSys1 Chiller 2, !- Component 1 Name + CoolSys1 Pump-CoolSys1 ChillerNode 2, !- Component 1 Inlet Node Name + CoolSys1 Supply Equipment Outlet Node 2, !- Component 1 Outlet Node Name + Active; !- Component 1 Branch Control Type + + Branch, + CoolSys1 Supply Equipment Bypass Branch, !- Name + , !- Maximum Flow Rate {m3/s} + , !- Pressure Drop Curve Name + Pipe:Adiabatic, !- Component 1 Object Type + CoolSys1 Supply Equipment Bypass Pipe, !- Component 1 Name + CoolSys1 Supply Equip Bypass Inlet Node, !- Component 1 Inlet Node Name + CoolSys1 Supply Equip Bypass Outlet Node, !- Component 1 Outlet Node Name + Bypass; !- Component 1 Branch Control Type + + Branch, + CoolSys1 Supply Inlet Branch, !- Name + , !- Maximum Flow Rate {m3/s} + , !- Pressure Drop Curve Name + Pump:VariableSpeed, !- Component 1 Object Type + CoolSys1 Pump, !- Component 1 Name + CoolSys1 Supply Inlet Node, !- Component 1 Inlet Node Name + CoolSys1 Pump-CoolSys1 ChillerNodeviaConnector, !- Component 1 Outlet Node Name + Active; !- Component 1 Branch Control Type + + Branch, + CoolSys1 Supply Outlet Branch, !- Name + , !- Maximum Flow Rate {m3/s} + , !- Pressure Drop Curve Name + Pipe:Adiabatic, !- Component 1 Object Type + CoolSys1 Supply Outlet Pipe, !- Component 1 Name + CoolSys1 Supply Mixer-CoolSys1 Supply Outlet Pipe, !- Component 1 Inlet Node Name + CoolSys1 Supply Outlet Node, !- Component 1 Outlet Node Name + Passive; !- Component 1 Branch Control Type + + Branch, + HeatSys1 Demand Bypass Branch, !- Name + , !- Maximum Flow Rate {m3/s} + , !- Pressure Drop Curve Name + Pipe:Adiabatic, !- Component 1 Object Type + HeatSys1 Demand Bypass Pipe, !- Component 1 Name + HeatSys1 Demand Bypass Pipe Inlet Node, !- Component 1 Inlet Node Name + HeatSys1 Demand Bypass Pipe Outlet Node, !- Component 1 Outlet Node Name + Bypass; !- Component 1 Branch Control Type + + Branch, + HeatSys1 Demand Inlet Branch, !- Name + , !- Maximum Flow Rate {m3/s} + , !- Pressure Drop Curve Name + Pipe:Adiabatic, !- Component 1 Object Type + HeatSys1 Demand Inlet Pipe, !- Component 1 Name + HeatSys1 Demand Inlet Node, !- Component 1 Inlet Node Name + HeatSys1 Demand Inlet Pipe-HeatSys1 Demand Mixer, !- Component 1 Outlet Node Name + Passive; !- Component 1 Branch Control Type + + Branch, + HeatSys1 Demand Load Branch 1, !- Name + , !- Maximum Flow Rate {m3/s} + , !- Pressure Drop Curve Name + Coil:Heating:Water, !- Component 1 Object Type + Basement VAV Box Reheat Coil, !- Component 1 Name + Basement VAV Box Reheat CoilDemand Inlet Node, !- Component 1 Inlet Node Name + Basement VAV Box Reheat CoilDemand Outlet Node, !- Component 1 Outlet Node Name + Active; !- Component 1 Branch Control Type + + Branch, + HeatSys1 Demand Load Branch 10, !- Name + , !- Maximum Flow Rate {m3/s} + , !- Pressure Drop Curve Name + Coil:Heating:Water, !- Component 1 Object Type + Perimeter_mid_ZN_2 VAV Box Reheat Coil, !- Component 1 Name + Perimeter_mid_ZN_2 VAV Box Reheat CoilDemand Inlet Node, !- Component 1 Inlet Node Name + Perimeter_mid_ZN_2 VAV Box Reheat CoilDemand Outlet Node, !- Component 1 Outlet Node Name + Active; !- Component 1 Branch Control Type + + Branch, + HeatSys1 Demand Load Branch 11, !- Name + , !- Maximum Flow Rate {m3/s} + , !- Pressure Drop Curve Name + Coil:Heating:Water, !- Component 1 Object Type + Perimeter_mid_ZN_1 VAV Box Reheat Coil, !- Component 1 Name + Perimeter_mid_ZN_1 VAV Box Reheat CoilDemand Inlet Node, !- Component 1 Inlet Node Name + Perimeter_mid_ZN_1 VAV Box Reheat CoilDemand Outlet Node, !- Component 1 Outlet Node Name + Active; !- Component 1 Branch Control Type + + Branch, + HeatSys1 Demand Load Branch 12, !- Name + , !- Maximum Flow Rate {m3/s} + , !- Pressure Drop Curve Name + Coil:Heating:Water, !- Component 1 Object Type + Perimeter_mid_ZN_4 VAV Box Reheat Coil, !- Component 1 Name + Perimeter_mid_ZN_4 VAV Box Reheat CoilDemand Inlet Node, !- Component 1 Inlet Node Name + Perimeter_mid_ZN_4 VAV Box Reheat CoilDemand Outlet Node, !- Component 1 Outlet Node Name + Active; !- Component 1 Branch Control Type + + Branch, + HeatSys1 Demand Load Branch 13, !- Name + , !- Maximum Flow Rate {m3/s} + , !- Pressure Drop Curve Name + Coil:Heating:Water, !- Component 1 Object Type + Perimeter_top_ZN_3 VAV Box Reheat Coil, !- Component 1 Name + Perimeter_top_ZN_3 VAV Box Reheat CoilDemand Inlet Node, !- Component 1 Inlet Node Name + Perimeter_top_ZN_3 VAV Box Reheat CoilDemand Outlet Node, !- Component 1 Outlet Node Name + Active; !- Component 1 Branch Control Type + + Branch, + HeatSys1 Demand Load Branch 14, !- Name + , !- Maximum Flow Rate {m3/s} + , !- Pressure Drop Curve Name + Coil:Heating:Water, !- Component 1 Object Type + Perimeter_top_ZN_2 VAV Box Reheat Coil, !- Component 1 Name + Perimeter_top_ZN_2 VAV Box Reheat CoilDemand Inlet Node, !- Component 1 Inlet Node Name + Perimeter_top_ZN_2 VAV Box Reheat CoilDemand Outlet Node, !- Component 1 Outlet Node Name + Active; !- Component 1 Branch Control Type + + Branch, + HeatSys1 Demand Load Branch 15, !- Name + , !- Maximum Flow Rate {m3/s} + , !- Pressure Drop Curve Name + Coil:Heating:Water, !- Component 1 Object Type + Perimeter_top_ZN_1 VAV Box Reheat Coil, !- Component 1 Name + Perimeter_top_ZN_1 VAV Box Reheat CoilDemand Inlet Node, !- Component 1 Inlet Node Name + Perimeter_top_ZN_1 VAV Box Reheat CoilDemand Outlet Node, !- Component 1 Outlet Node Name + Active; !- Component 1 Branch Control Type + + Branch, + HeatSys1 Demand Load Branch 16, !- Name + , !- Maximum Flow Rate {m3/s} + , !- Pressure Drop Curve Name + Coil:Heating:Water, !- Component 1 Object Type + Perimeter_top_ZN_4 VAV Box Reheat Coil, !- Component 1 Name + Perimeter_top_ZN_4 VAV Box Reheat CoilDemand Inlet Node, !- Component 1 Inlet Node Name + Perimeter_top_ZN_4 VAV Box Reheat CoilDemand Outlet Node, !- Component 1 Outlet Node Name + Active; !- Component 1 Branch Control Type + + Branch, + HeatSys1 Demand Load Branch 17, !- Name + , !- Maximum Flow Rate {m3/s} + , !- Pressure Drop Curve Name + Coil:Heating:Water, !- Component 1 Object Type + VAV_5_HeatC, !- Component 1 Name + VAV_5_HeatCDemand Inlet Node, !- Component 1 Inlet Node Name + VAV_5_HeatCDemand Outlet Node, !- Component 1 Outlet Node Name + Active; !- Component 1 Branch Control Type + + Branch, + HeatSys1 Demand Load Branch 18, !- Name + , !- Maximum Flow Rate {m3/s} + , !- Pressure Drop Curve Name + Coil:Heating:Water, !- Component 1 Object Type + VAV_1_HeatC, !- Component 1 Name + VAV_1_HeatCDemand Inlet Node, !- Component 1 Inlet Node Name + VAV_1_HeatCDemand Outlet Node, !- Component 1 Outlet Node Name + Active; !- Component 1 Branch Control Type + + Branch, + HeatSys1 Demand Load Branch 19, !- Name + , !- Maximum Flow Rate {m3/s} + , !- Pressure Drop Curve Name + Coil:Heating:Water, !- Component 1 Object Type + VAV_2_HeatC, !- Component 1 Name + VAV_2_HeatCDemand Inlet Node, !- Component 1 Inlet Node Name + VAV_2_HeatCDemand Outlet Node, !- Component 1 Outlet Node Name + Active; !- Component 1 Branch Control Type + + Branch, + HeatSys1 Demand Load Branch 2, !- Name + , !- Maximum Flow Rate {m3/s} + , !- Pressure Drop Curve Name + Coil:Heating:Water, !- Component 1 Object Type + Core_bottom VAV Box Reheat Coil, !- Component 1 Name + Core_bottom VAV Box Reheat CoilDemand Inlet Node, !- Component 1 Inlet Node Name + Core_bottom VAV Box Reheat CoilDemand Outlet Node, !- Component 1 Outlet Node Name + Active; !- Component 1 Branch Control Type + + Branch, + HeatSys1 Demand Load Branch 20, !- Name + , !- Maximum Flow Rate {m3/s} + , !- Pressure Drop Curve Name + Coil:Heating:Water, !- Component 1 Object Type + VAV_3_HeatC, !- Component 1 Name + VAV_3_HeatCDemand Inlet Node, !- Component 1 Inlet Node Name + VAV_3_HeatCDemand Outlet Node, !- Component 1 Outlet Node Name + Active; !- Component 1 Branch Control Type + + Branch, + HeatSys1 Demand Load Branch 3, !- Name + , !- Maximum Flow Rate {m3/s} + , !- Pressure Drop Curve Name + Coil:Heating:Water, !- Component 1 Object Type + Core_mid VAV Box Reheat Coil, !- Component 1 Name + Core_mid VAV Box Reheat CoilDemand Inlet Node, !- Component 1 Inlet Node Name + Core_mid VAV Box Reheat CoilDemand Outlet Node, !- Component 1 Outlet Node Name + Active; !- Component 1 Branch Control Type + + Branch, + HeatSys1 Demand Load Branch 4, !- Name + , !- Maximum Flow Rate {m3/s} + , !- Pressure Drop Curve Name + Coil:Heating:Water, !- Component 1 Object Type + Core_top VAV Box Reheat Coil, !- Component 1 Name + Core_top VAV Box Reheat CoilDemand Inlet Node, !- Component 1 Inlet Node Name + Core_top VAV Box Reheat CoilDemand Outlet Node, !- Component 1 Outlet Node Name + Active; !- Component 1 Branch Control Type + + Branch, + HeatSys1 Demand Load Branch 5, !- Name + , !- Maximum Flow Rate {m3/s} + , !- Pressure Drop Curve Name + Coil:Heating:Water, !- Component 1 Object Type + Perimeter_bot_ZN_3 VAV Box Reheat Coil, !- Component 1 Name + Perimeter_bot_ZN_3 VAV Box Reheat CoilDemand Inlet Node, !- Component 1 Inlet Node Name + Perimeter_bot_ZN_3 VAV Box Reheat CoilDemand Outlet Node, !- Component 1 Outlet Node Name + Active; !- Component 1 Branch Control Type + + Branch, + HeatSys1 Demand Load Branch 6, !- Name + , !- Maximum Flow Rate {m3/s} + , !- Pressure Drop Curve Name + Coil:Heating:Water, !- Component 1 Object Type + Perimeter_bot_ZN_2 VAV Box Reheat Coil, !- Component 1 Name + Perimeter_bot_ZN_2 VAV Box Reheat CoilDemand Inlet Node, !- Component 1 Inlet Node Name + Perimeter_bot_ZN_2 VAV Box Reheat CoilDemand Outlet Node, !- Component 1 Outlet Node Name + Active; !- Component 1 Branch Control Type + + Branch, + HeatSys1 Demand Load Branch 7, !- Name + , !- Maximum Flow Rate {m3/s} + , !- Pressure Drop Curve Name + Coil:Heating:Water, !- Component 1 Object Type + Perimeter_bot_ZN_1 VAV Box Reheat Coil, !- Component 1 Name + Perimeter_bot_ZN_1 VAV Box Reheat CoilDemand Inlet Node, !- Component 1 Inlet Node Name + Perimeter_bot_ZN_1 VAV Box Reheat CoilDemand Outlet Node, !- Component 1 Outlet Node Name + Active; !- Component 1 Branch Control Type + + Branch, + HeatSys1 Demand Load Branch 8, !- Name + , !- Maximum Flow Rate {m3/s} + , !- Pressure Drop Curve Name + Coil:Heating:Water, !- Component 1 Object Type + Perimeter_bot_ZN_4 VAV Box Reheat Coil, !- Component 1 Name + Perimeter_bot_ZN_4 VAV Box Reheat CoilDemand Inlet Node, !- Component 1 Inlet Node Name + Perimeter_bot_ZN_4 VAV Box Reheat CoilDemand Outlet Node, !- Component 1 Outlet Node Name + Active; !- Component 1 Branch Control Type + + Branch, + HeatSys1 Demand Load Branch 9, !- Name + , !- Maximum Flow Rate {m3/s} + , !- Pressure Drop Curve Name + Coil:Heating:Water, !- Component 1 Object Type + Perimeter_mid_ZN_3 VAV Box Reheat Coil, !- Component 1 Name + Perimeter_mid_ZN_3 VAV Box Reheat CoilDemand Inlet Node, !- Component 1 Inlet Node Name + Perimeter_mid_ZN_3 VAV Box Reheat CoilDemand Outlet Node, !- Component 1 Outlet Node Name + Active; !- Component 1 Branch Control Type + + Branch, + HeatSys1 Demand Outlet Branch, !- Name + , !- Maximum Flow Rate {m3/s} + , !- Pressure Drop Curve Name + Pipe:Adiabatic, !- Component 1 Object Type + HeatSys1 Demand Outlet Pipe, !- Component 1 Name + HeatSys1 Demand Mixer-HeatSys1 Demand Outlet Pipe, !- Component 1 Inlet Node Name + HeatSys1 Demand Outlet Node, !- Component 1 Outlet Node Name + Passive; !- Component 1 Branch Control Type + + Branch, + HeatSys1 Supply Equipment Branch, !- Name + , !- Maximum Flow Rate {m3/s} + , !- Pressure Drop Curve Name + Boiler:HotWater, !- Component 1 Object Type + HeatSys1 Boiler, !- Component 1 Name + HeatSys1 Pump-HeatSys1 BoilerNode, !- Component 1 Inlet Node Name + HeatSys1 Supply Equipment Outlet Node, !- Component 1 Outlet Node Name + Active; !- Component 1 Branch Control Type + + Branch, + HeatSys1 Supply Equipment Bypass Branch, !- Name + , !- Maximum Flow Rate {m3/s} + , !- Pressure Drop Curve Name + Pipe:Adiabatic, !- Component 1 Object Type + HeatSys1 Supply Equipment Bypass Pipe, !- Component 1 Name + HeatSys1 Supply Equip Bypass Inlet Node, !- Component 1 Inlet Node Name + HeatSys1 Supply Equip Bypass Outlet Node, !- Component 1 Outlet Node Name + Bypass; !- Component 1 Branch Control Type + + Branch, + HeatSys1 Supply Inlet Branch, !- Name + , !- Maximum Flow Rate {m3/s} + , !- Pressure Drop Curve Name + Pump:VariableSpeed, !- Component 1 Object Type + HeatSys1 Pump, !- Component 1 Name + HeatSys1 Supply Inlet Node, !- Component 1 Inlet Node Name + HeatSys1 Pump-HeatSys1 BoilerNodeviaConnector, !- Component 1 Outlet Node Name + Active; !- Component 1 Branch Control Type + + Branch, + HeatSys1 Supply Outlet Branch, !- Name + , !- Maximum Flow Rate {m3/s} + , !- Pressure Drop Curve Name + Pipe:Adiabatic, !- Component 1 Object Type + HeatSys1 Supply Outlet Pipe, !- Component 1 Name + HeatSys1 Supply Mixer-HeatSys1 Supply Outlet Pipe, !- Component 1 Inlet Node Name + HeatSys1 Supply Outlet Node, !- Component 1 Outlet Node Name + Passive; !- Component 1 Branch Control Type + + Branch, + TowerWaterSys Demand Bypass Branch, !- Name + , !- Maximum Flow Rate {m3/s} + , !- Pressure Drop Curve Name + Pipe:Adiabatic, !- Component 1 Object Type + TowerWaterSys Demand Bypass Pipe, !- Component 1 Name + TowerWaterSys Demand Bypass Pipe Inlet Node, !- Component 1 Inlet Node Name + TowerWaterSys Demand Bypass Pipe Outlet Node, !- Component 1 Outlet Node Name + Bypass; !- Component 1 Branch Control Type + + Branch, + TowerWaterSys Demand Inlet Branch, !- Name + , !- Maximum Flow Rate {m3/s} + , !- Pressure Drop Curve Name + Pipe:Adiabatic, !- Component 1 Object Type + TowerWaterSys Demand Inlet Pipe, !- Component 1 Name + TowerWaterSys Demand Inlet Node, !- Component 1 Inlet Node Name + TowerWaterSys Demand Inlet Pipe-TowerWaterSys Demand Mixer, !- Component 1 Outlet Node Name + Passive; !- Component 1 Branch Control Type + + Branch, + TowerWaterSys Demand Load Branch 1, !- Name + , !- Maximum Flow Rate {m3/s} + , !- Pressure Drop Curve Name + Chiller:Electric:ReformulatedEIR, !- Component 1 Object Type + CoolSys1 Chiller 1, !- Component 1 Name + CoolSys1 Chiller Water Inlet Node 1, !- Component 1 Inlet Node Name + CoolSys1 Chiller Water Outlet Node 1, !- Component 1 Outlet Node Name + Active; !- Component 1 Branch Control Type + + Branch, + TowerWaterSys Demand Load Branch 2, !- Name + , !- Maximum Flow Rate {m3/s} + , !- Pressure Drop Curve Name + Chiller:Electric:ReformulatedEIR, !- Component 1 Object Type + CoolSys1 Chiller 2, !- Component 1 Name + CoolSys1 Chiller Water Inlet Node 2, !- Component 1 Inlet Node Name + CoolSys1 Chiller Water Outlet Node 2, !- Component 1 Outlet Node Name + Active; !- Component 1 Branch Control Type + + Branch, + TowerWaterSys Demand Outlet Branch, !- Name + , !- Maximum Flow Rate {m3/s} + , !- Pressure Drop Curve Name + Pipe:Adiabatic, !- Component 1 Object Type + TowerWaterSys Demand Outlet Pipe, !- Component 1 Name + TowerWaterSys Demand Mixer-TowerWaterSys Demand Outlet Pipe, !- Component 1 Inlet Node Name + TowerWaterSys Demand Outlet Node, !- Component 1 Outlet Node Name + Passive; !- Component 1 Branch Control Type + + Branch, + TowerWaterSys Supply Equipment Branch, !- Name + , !- Maximum Flow Rate {m3/s} + , !- Pressure Drop Curve Name + CoolingTower:SingleSpeed,!- Component 1 Object Type + TowerWaterSys CoolTower, !- Component 1 Name + TowerWaterSys Pump-TowerWaterSys CoolTowerNode, !- Component 1 Inlet Node Name + TowerWaterSys Supply Equipment Outlet Node, !- Component 1 Outlet Node Name + Active; !- Component 1 Branch Control Type + + Branch, + TowerWaterSys Supply Equipment Bypass Branch, !- Name + , !- Maximum Flow Rate {m3/s} + , !- Pressure Drop Curve Name + Pipe:Adiabatic, !- Component 1 Object Type + TowerWaterSys Supply Equipment Bypass Pipe, !- Component 1 Name + TowerWaterSys Supply Equip Bypass Inlet Node, !- Component 1 Inlet Node Name + TowerWaterSys Supply Equip Bypass Outlet Node, !- Component 1 Outlet Node Name + Bypass; !- Component 1 Branch Control Type + + Branch, + TowerWaterSys Supply Inlet Branch, !- Name + , !- Maximum Flow Rate {m3/s} + , !- Pressure Drop Curve Name + Pump:ConstantSpeed, !- Component 1 Object Type + TowerWaterSys Pump, !- Component 1 Name + TowerWaterSys Supply Inlet Node, !- Component 1 Inlet Node Name + TowerWaterSys Pump-TowerWaterSys CoolTowerNodeviaConnector, !- Component 1 Outlet Node Name + Active; !- Component 1 Branch Control Type + + Branch, + TowerWaterSys Supply Outlet Branch, !- Name + , !- Maximum Flow Rate {m3/s} + , !- Pressure Drop Curve Name + Pipe:Adiabatic, !- Component 1 Object Type + TowerWaterSys Supply Outlet Pipe, !- Component 1 Name + TowerWaterSys Supply Mixer-TowerWaterSys Supply Outlet Pipe, !- Component 1 Inlet Node Name + TowerWaterSys Supply Outlet Node, !- Component 1 Outlet Node Name + Passive; !- Component 1 Branch Control Type + + OutdoorAir:Node, + TowerWaterSys CoolTower OA ref Node; !- Name + + ConnectorList, + CoolSys1 Demand Connectors, !- Name + Connector:Splitter, !- Connector 1 Object Type + CoolSys1 Demand Splitter,!- Connector 1 Name + Connector:Mixer, !- Connector 2 Object Type + CoolSys1 Demand Mixer; !- Connector 2 Name + + ConnectorList, + CoolSys1 Supply Connectors, !- Name + Connector:Splitter, !- Connector 1 Object Type + CoolSys1 Supply Splitter,!- Connector 1 Name + Connector:Mixer, !- Connector 2 Object Type + CoolSys1 Supply Mixer; !- Connector 2 Name + + ConnectorList, + HeatSys1 Demand Connectors, !- Name + Connector:Splitter, !- Connector 1 Object Type + HeatSys1 Demand Splitter,!- Connector 1 Name + Connector:Mixer, !- Connector 2 Object Type + HeatSys1 Demand Mixer; !- Connector 2 Name + + ConnectorList, + HeatSys1 Supply Connectors, !- Name + Connector:Splitter, !- Connector 1 Object Type + HeatSys1 Supply Splitter,!- Connector 1 Name + Connector:Mixer, !- Connector 2 Object Type + HeatSys1 Supply Mixer; !- Connector 2 Name + + ConnectorList, + TowerWaterSys Demand Connectors, !- Name + Connector:Splitter, !- Connector 1 Object Type + TowerWaterSys Demand Splitter, !- Connector 1 Name + Connector:Mixer, !- Connector 2 Object Type + TowerWaterSys Demand Mixer; !- Connector 2 Name + + ConnectorList, + TowerWaterSys Supply Connectors, !- Name + Connector:Splitter, !- Connector 1 Object Type + TowerWaterSys Supply Splitter, !- Connector 1 Name + Connector:Mixer, !- Connector 2 Object Type + TowerWaterSys Supply Mixer; !- Connector 2 Name + + Connector:Splitter, + CoolSys1 Demand Splitter,!- Name + CoolSys1 Demand Inlet Branch, !- Inlet Branch Name + CoolSys1 Demand Load Branch 1, !- Outlet Branch 1 Name + CoolSys1 Demand Load Branch 2, !- Outlet Branch 2 Name + CoolSys1 Demand Load Branch 3, !- Outlet Branch 3 Name + CoolSys1 Demand Load Branch 4, !- Outlet Branch 4 Name + CoolSys1 Demand Bypass Branch; !- Outlet Branch 5 Name + + Connector:Splitter, + CoolSys1 Supply Splitter,!- Name + CoolSys1 Supply Inlet Branch, !- Inlet Branch Name + CoolSys1 Supply Equipment Branch 1, !- Outlet Branch 1 Name + CoolSys1 Supply Equipment Branch 2, !- Outlet Branch 2 Name + CoolSys1 Supply Equipment Bypass Branch; !- Outlet Branch 3 Name + + Connector:Splitter, + HeatSys1 Demand Splitter,!- Name + HeatSys1 Demand Inlet Branch, !- Inlet Branch Name + HeatSys1 Demand Load Branch 1, !- Outlet Branch 1 Name + HeatSys1 Demand Load Branch 2, !- Outlet Branch 2 Name + HeatSys1 Demand Load Branch 3, !- Outlet Branch 3 Name + HeatSys1 Demand Load Branch 4, !- Outlet Branch 4 Name + HeatSys1 Demand Load Branch 5, !- Outlet Branch 5 Name + HeatSys1 Demand Load Branch 6, !- Outlet Branch 6 Name + HeatSys1 Demand Load Branch 7, !- Outlet Branch 7 Name + HeatSys1 Demand Load Branch 8, !- Outlet Branch 8 Name + HeatSys1 Demand Load Branch 9, !- Outlet Branch 9 Name + HeatSys1 Demand Load Branch 10, !- Outlet Branch 10 Name + HeatSys1 Demand Load Branch 11, !- Outlet Branch 11 Name + HeatSys1 Demand Load Branch 12, !- Outlet Branch 12 Name + HeatSys1 Demand Load Branch 13, !- Outlet Branch 13 Name + HeatSys1 Demand Load Branch 14, !- Outlet Branch 14 Name + HeatSys1 Demand Load Branch 15, !- Outlet Branch 15 Name + HeatSys1 Demand Load Branch 16, !- Outlet Branch 16 Name + HeatSys1 Demand Load Branch 17, !- Outlet Branch 17 Name + HeatSys1 Demand Load Branch 18, !- Outlet Branch 18 Name + HeatSys1 Demand Load Branch 19, !- Outlet Branch 19 Name + HeatSys1 Demand Load Branch 20, !- Outlet Branch 20 Name + HeatSys1 Demand Bypass Branch; !- Outlet Branch 21 Name + + Connector:Splitter, + HeatSys1 Supply Splitter,!- Name + HeatSys1 Supply Inlet Branch, !- Inlet Branch Name + HeatSys1 Supply Equipment Branch, !- Outlet Branch 1 Name + HeatSys1 Supply Equipment Bypass Branch; !- Outlet Branch 2 Name + + Connector:Splitter, + TowerWaterSys Demand Splitter, !- Name + TowerWaterSys Demand Inlet Branch, !- Inlet Branch Name + TowerWaterSys Demand Load Branch 1, !- Outlet Branch 1 Name + TowerWaterSys Demand Load Branch 2, !- Outlet Branch 2 Name + TowerWaterSys Demand Bypass Branch; !- Outlet Branch 3 Name + + Connector:Splitter, + TowerWaterSys Supply Splitter, !- Name + TowerWaterSys Supply Inlet Branch, !- Inlet Branch Name + TowerWaterSys Supply Equipment Branch, !- Outlet Branch 1 Name + TowerWaterSys Supply Equipment Bypass Branch; !- Outlet Branch 2 Name + + Connector:Mixer, + CoolSys1 Demand Mixer, !- Name + CoolSys1 Demand Outlet Branch, !- Outlet Branch Name + CoolSys1 Demand Load Branch 1, !- Inlet Branch 1 Name + CoolSys1 Demand Load Branch 2, !- Inlet Branch 2 Name + CoolSys1 Demand Load Branch 3, !- Inlet Branch 3 Name + CoolSys1 Demand Load Branch 4, !- Inlet Branch 4 Name + CoolSys1 Demand Bypass Branch; !- Inlet Branch 5 Name + + Connector:Mixer, + CoolSys1 Supply Mixer, !- Name + CoolSys1 Supply Outlet Branch, !- Outlet Branch Name + CoolSys1 Supply Equipment Branch 1, !- Inlet Branch 1 Name + CoolSys1 Supply Equipment Branch 2, !- Inlet Branch 2 Name + CoolSys1 Supply Equipment Bypass Branch; !- Inlet Branch 3 Name + + Connector:Mixer, + HeatSys1 Demand Mixer, !- Name + HeatSys1 Demand Outlet Branch, !- Outlet Branch Name + HeatSys1 Demand Load Branch 1, !- Inlet Branch 1 Name + HeatSys1 Demand Load Branch 2, !- Inlet Branch 2 Name + HeatSys1 Demand Load Branch 3, !- Inlet Branch 3 Name + HeatSys1 Demand Load Branch 4, !- Inlet Branch 4 Name + HeatSys1 Demand Load Branch 5, !- Inlet Branch 5 Name + HeatSys1 Demand Load Branch 6, !- Inlet Branch 6 Name + HeatSys1 Demand Load Branch 7, !- Inlet Branch 7 Name + HeatSys1 Demand Load Branch 8, !- Inlet Branch 8 Name + HeatSys1 Demand Load Branch 9, !- Inlet Branch 9 Name + HeatSys1 Demand Load Branch 10, !- Inlet Branch 10 Name + HeatSys1 Demand Load Branch 11, !- Inlet Branch 11 Name + HeatSys1 Demand Load Branch 12, !- Inlet Branch 12 Name + HeatSys1 Demand Load Branch 13, !- Inlet Branch 13 Name + HeatSys1 Demand Load Branch 14, !- Inlet Branch 14 Name + HeatSys1 Demand Load Branch 15, !- Inlet Branch 15 Name + HeatSys1 Demand Load Branch 16, !- Inlet Branch 16 Name + HeatSys1 Demand Load Branch 17, !- Inlet Branch 17 Name + HeatSys1 Demand Load Branch 18, !- Inlet Branch 18 Name + HeatSys1 Demand Load Branch 19, !- Inlet Branch 19 Name + HeatSys1 Demand Load Branch 20, !- Inlet Branch 20 Name + HeatSys1 Demand Bypass Branch; !- Inlet Branch 21 Name + + Connector:Mixer, + HeatSys1 Supply Mixer, !- Name + HeatSys1 Supply Outlet Branch, !- Outlet Branch Name + HeatSys1 Supply Equipment Branch, !- Inlet Branch 1 Name + HeatSys1 Supply Equipment Bypass Branch; !- Inlet Branch 2 Name + + Connector:Mixer, + TowerWaterSys Demand Mixer, !- Name + TowerWaterSys Demand Outlet Branch, !- Outlet Branch Name + TowerWaterSys Demand Load Branch 1, !- Inlet Branch 1 Name + TowerWaterSys Demand Load Branch 2, !- Inlet Branch 2 Name + TowerWaterSys Demand Bypass Branch; !- Inlet Branch 3 Name + + Connector:Mixer, + TowerWaterSys Supply Mixer, !- Name + TowerWaterSys Supply Outlet Branch, !- Outlet Branch Name + TowerWaterSys Supply Equipment Branch, !- Inlet Branch 1 Name + TowerWaterSys Supply Equipment Bypass Branch; !- Inlet Branch 2 Name + + Pipe:Adiabatic, + CoolSys1 Demand Bypass Pipe, !- Name + CoolSys1 Demand Bypass Pipe Inlet Node, !- Inlet Node Name + CoolSys1 Demand Bypass Pipe Outlet Node; !- Outlet Node Name + + Pipe:Adiabatic, + CoolSys1 Demand Inlet Pipe, !- Name + CoolSys1 Demand Inlet Node, !- Inlet Node Name + CoolSys1 Demand Inlet Pipe-CoolSys1 Demand Mixer; !- Outlet Node Name + + Pipe:Adiabatic, + CoolSys1 Demand Outlet Pipe, !- Name + CoolSys1 Demand Mixer-CoolSys1 Demand Outlet Pipe, !- Inlet Node Name + CoolSys1 Demand Outlet Node; !- Outlet Node Name + + Pipe:Adiabatic, + CoolSys1 Supply Equipment Bypass Pipe, !- Name + CoolSys1 Supply Equip Bypass Inlet Node, !- Inlet Node Name + CoolSys1 Supply Equip Bypass Outlet Node; !- Outlet Node Name + + Pipe:Adiabatic, + CoolSys1 Supply Outlet Pipe, !- Name + CoolSys1 Supply Mixer-CoolSys1 Supply Outlet Pipe, !- Inlet Node Name + CoolSys1 Supply Outlet Node; !- Outlet Node Name + + Pipe:Adiabatic, + HeatSys1 Demand Bypass Pipe, !- Name + HeatSys1 Demand Bypass Pipe Inlet Node, !- Inlet Node Name + HeatSys1 Demand Bypass Pipe Outlet Node; !- Outlet Node Name + + Pipe:Adiabatic, + HeatSys1 Demand Inlet Pipe, !- Name + HeatSys1 Demand Inlet Node, !- Inlet Node Name + HeatSys1 Demand Inlet Pipe-HeatSys1 Demand Mixer; !- Outlet Node Name + + Pipe:Adiabatic, + HeatSys1 Demand Outlet Pipe, !- Name + HeatSys1 Demand Mixer-HeatSys1 Demand Outlet Pipe, !- Inlet Node Name + HeatSys1 Demand Outlet Node; !- Outlet Node Name + + Pipe:Adiabatic, + HeatSys1 Supply Equipment Bypass Pipe, !- Name + HeatSys1 Supply Equip Bypass Inlet Node, !- Inlet Node Name + HeatSys1 Supply Equip Bypass Outlet Node; !- Outlet Node Name + + Pipe:Adiabatic, + HeatSys1 Supply Outlet Pipe, !- Name + HeatSys1 Supply Mixer-HeatSys1 Supply Outlet Pipe, !- Inlet Node Name + HeatSys1 Supply Outlet Node; !- Outlet Node Name + + Pipe:Adiabatic, + TowerWaterSys Demand Bypass Pipe, !- Name + TowerWaterSys Demand Bypass Pipe Inlet Node, !- Inlet Node Name + TowerWaterSys Demand Bypass Pipe Outlet Node; !- Outlet Node Name + + Pipe:Adiabatic, + TowerWaterSys Demand Inlet Pipe, !- Name + TowerWaterSys Demand Inlet Node, !- Inlet Node Name + TowerWaterSys Demand Inlet Pipe-TowerWaterSys Demand Mixer; !- Outlet Node Name + + Pipe:Adiabatic, + TowerWaterSys Demand Outlet Pipe, !- Name + TowerWaterSys Demand Mixer-TowerWaterSys Demand Outlet Pipe, !- Inlet Node Name + TowerWaterSys Demand Outlet Node; !- Outlet Node Name + + Pipe:Adiabatic, + TowerWaterSys Supply Equipment Bypass Pipe, !- Name + TowerWaterSys Supply Equip Bypass Inlet Node, !- Inlet Node Name + TowerWaterSys Supply Equip Bypass Outlet Node; !- Outlet Node Name + + Pipe:Adiabatic, + TowerWaterSys Supply Outlet Pipe, !- Name + TowerWaterSys Supply Mixer-TowerWaterSys Supply Outlet Pipe, !- Inlet Node Name + TowerWaterSys Supply Outlet Node; !- Outlet Node Name + +! ***SCHEDULES*** + + Schedule:Compact, + CW-Loop-Temp-Schedule, !- Name + Temperature, !- Schedule Type Limits Name + Through: 12/31, !- Field 1 + For: AllDays, !- Field 2 + Until: 24:00,6.7; !- Field 3 + + Schedule:Compact, + HW-Loop-Temp-Schedule, !- Name + Temperature, !- Schedule Type Limits Name + Through: 12/31, !- Field 1 + For: AllDays, !- Field 2 + Until: 24:00,82.2; !- Field 3 + +! ***SWH EQUIPMENT*** + + WaterHeater:Mixed, + SWHSys1 Water Heater, !- Name + 0.7571, !- Tank Volume {m3} + SWHSys1 Water Heater Setpoint Temperature Schedule Name, !- Setpoint Temperature Schedule Name + 2.0, !- Deadband Temperature Difference {deltaC} + 82.2222, !- Maximum Temperature Limit {C} + Cycle, !- Heater Control Type + 845000, !- Heater Maximum Capacity {W} + , !- Heater Minimum Capacity {W} + , !- Heater Ignition Minimum Flow Rate {m3/s} + , !- Heater Ignition Delay {s} + NATURALGAS, !- Heater Fuel Type + 0.8, !- Heater Thermal Efficiency + , !- Part Load Factor Curve Name + 20, !- Off Cycle Parasitic Fuel Consumption Rate {W} + NATURALGAS, !- Off Cycle Parasitic Fuel Type + 0.8, !- Off Cycle Parasitic Heat Fraction to Tank + , !- On Cycle Parasitic Fuel Consumption Rate {W} + NATURALGAS, !- On Cycle Parasitic Fuel Type + , !- On Cycle Parasitic Heat Fraction to Tank + SCHEDULE, !- Ambient Temperature Indicator + SWHSys1 Water Heater Ambient Temperature Schedule Name, !- Ambient Temperature Schedule Name + , !- Ambient Temperature Zone Name + , !- Ambient Temperature Outdoor Air Node Name + 6.0, !- Off Cycle Loss Coefficient to Ambient Temperature {W/K} + , !- Off Cycle Loss Fraction to Zone + 6.0, !- On Cycle Loss Coefficient to Ambient Temperature {W/K} + , !- On Cycle Loss Fraction to Zone + , !- Peak Use Flow Rate {m3/s} + , !- Use Flow Rate Fraction Schedule Name + , !- Cold Water Supply Temperature Schedule Name + SWHSys1 Pump-SWHSys1 Water HeaterNode, !- Use Side Inlet Node Name + SWHSys1 Supply Equipment Outlet Node, !- Use Side Outlet Node Name + 1.0, !- Use Side Effectiveness + , !- Source Side Inlet Node Name + , !- Source Side Outlet Node Name + 1.0, !- Source Side Effectiveness + AUTOSIZE, !- Use Side Design Flow Rate {m3/s} + AUTOSIZE, !- Source Side Design Flow Rate {m3/s} + 1.5; !- Indirect Water Heating Recovery Time {hr} + + WaterUse:Equipment, + Core_bottom Water Equipment, !- Name + , !- End-Use Subcategory + 2.24e-005, !- Peak Flow Rate {m3/s} + BLDG_SWH_SCH, !- Flow Rate Fraction Schedule Name + Water Equipment Temp Sched, !- Target Temperature Schedule Name + Water Equipment Hot Supply Temp Sched, !- Hot Water Supply Temperature Schedule Name + , !- Cold Water Supply Temperature Schedule Name + Core_bottom, !- Zone Name + Water Equipment Sensible fract sched, !- Sensible Fraction Schedule Name + Water Equipment Latent fract sched; !- Latent Fraction Schedule Name + + WaterUse:Equipment, + Core_mid Water Equipment,!- Name + , !- End-Use Subcategory + 2.24e-005, !- Peak Flow Rate {m3/s} + BLDG_SWH_SCH, !- Flow Rate Fraction Schedule Name + Water Equipment Temp Sched, !- Target Temperature Schedule Name + Water Equipment Hot Supply Temp Sched, !- Hot Water Supply Temperature Schedule Name + , !- Cold Water Supply Temperature Schedule Name + Core_mid, !- Zone Name + Water Equipment Sensible fract sched, !- Sensible Fraction Schedule Name + Water Equipment Latent fract sched; !- Latent Fraction Schedule Name + + WaterUse:Equipment, + Core_top Water Equipment,!- Name + , !- End-Use Subcategory + 2.24e-005, !- Peak Flow Rate {m3/s} + BLDG_SWH_SCH, !- Flow Rate Fraction Schedule Name + Water Equipment Temp Sched, !- Target Temperature Schedule Name + Water Equipment Hot Supply Temp Sched, !- Hot Water Supply Temperature Schedule Name + , !- Cold Water Supply Temperature Schedule Name + Core_top, !- Zone Name + Water Equipment Sensible fract sched, !- Sensible Fraction Schedule Name + Water Equipment Latent fract sched; !- Latent Fraction Schedule Name + + PlantEquipmentList, + SWHSys1 Equipment List, !- Name + WaterHeater:Mixed, !- Equipment 1 Object Type + SWHSys1 Water Heater; !- Equipment 1 Name + + Pump:VariableSpeed, + SWHSys1 Pump, !- Name + SWHSys1 Supply Inlet Node, !- Inlet Node Name + SWHSys1 Pump-SWHSys1 Water HeaterNodeviaConnector, !- Outlet Node Name + AUTOSIZE, !- Rated Flow Rate {m3/s} + 179352, !- Rated Pump Head {Pa} + AUTOSIZE, !- Rated Power Consumption {W} + 0.85, !- Motor Efficiency + 0.0, !- Fraction of Motor Inefficiencies to Fluid Stream + 0, !- Coefficient 1 of the Part Load Performance Curve + 1, !- Coefficient 2 of the Part Load Performance Curve + 0, !- Coefficient 3 of the Part Load Performance Curve + 0, !- Coefficient 4 of the Part Load Performance Curve + 0.0, !- Minimum Flow Rate {m3/s} + Intermittent, !- Pump Control Type + ; !- Pump Flow Rate Schedule Name + +! ***SWH SIZING & CONTROLS*** + + Sizing:Plant, + SWHSys1, !- Plant or Condenser Loop Name + Heating, !- Loop Type + 60, !- Design Loop Exit Temperature {C} + 5.0; !- Loop Design Temperature Difference {deltaC} + + SetpointManager:Scheduled, + SWHSys1 Loop Setpoint Manager, !- Name + Temperature, !- Control Variable + SWHSys1-Loop-Temp-Schedule, !- Schedule Name + SWHSys1 Supply Outlet Node; !- Setpoint Node or NodeList Name + + PlantEquipmentOperationSchemes, + SWHSys1 Loop Operation Scheme List, !- Name + PlantEquipmentOperation:HeatingLoad, !- Control Scheme 1 Object Type + SWHSys1 Operation Scheme,!- Control Scheme 1 Name + ALWAYS_ON; !- Control Scheme 1 Schedule Name + + PlantEquipmentOperation:HeatingLoad, + SWHSys1 Operation Scheme,!- Name + 0.0, !- Load Range 1 Lower Limit {W} + 1000000000000000, !- Load Range 1 Upper Limit {W} + SWHSys1 Equipment List; !- Range 1 Equipment List Name + +! ***SWH LOOP*** + + PlantLoop, + SWHSys1, !- Name + Water, !- Fluid Type + , !- User Defined Fluid Type + SWHSys1 Loop Operation Scheme List, !- Plant Equipment Operation Scheme Name + SWHSys1 Supply Outlet Node, !- Loop Temperature Setpoint Node Name + 60.0, !- Maximum Loop Temperature {C} + 10.0, !- Minimum Loop Temperature {C} + AUTOSIZE, !- Maximum Loop Flow Rate {m3/s} + 0.0, !- Minimum Loop Flow Rate {m3/s} + AUTOSIZE, !- Plant Loop Volume {m3} + SWHSys1 Supply Inlet Node, !- Plant Side Inlet Node Name + SWHSys1 Supply Outlet Node, !- Plant Side Outlet Node Name + SWHSys1 Supply Branches, !- Plant Side Branch List Name + SWHSys1 Supply Connectors, !- Plant Side Connector List Name + SWHSys1 Demand Inlet Node, !- Demand Side Inlet Node Name + SWHSys1 Demand Outlet Node, !- Demand Side Outlet Node Name + SWHSys1 Demand Branches, !- Demand Side Branch List Name + SWHSys1 Demand Connectors, !- Demand Side Connector List Name + Optimal; !- Load Distribution Scheme + +! ***SWH CONNECTIONS*** + + BranchList, + SWHSys1 Demand Branches, !- Name + SWHSys1 Demand Inlet Branch, !- Branch 1 Name + SWHSys1 Demand Load Branch 1, !- Branch 2 Name + SWHSys1 Demand Load Branch 2, !- Branch 3 Name + SWHSys1 Demand Load Branch 3, !- Branch 4 Name + SWHSys1 Demand Bypass Branch, !- Branch 5 Name + SWHSys1 Demand Outlet Branch; !- Branch 6 Name + + BranchList, + SWHSys1 Supply Branches, !- Name + SWHSys1 Supply Inlet Branch, !- Branch 1 Name + SWHSys1 Supply Equipment Branch, !- Branch 2 Name + SWHSys1 Supply Equipment Bypass Branch, !- Branch 3 Name + SWHSys1 Supply Outlet Branch; !- Branch 4 Name + + Branch, + SWHSys1 Demand Bypass Branch, !- Name + , !- Maximum Flow Rate {m3/s} + , !- Pressure Drop Curve Name + Pipe:Adiabatic, !- Component 1 Object Type + SWHSys1 Demand Bypass Pipe, !- Component 1 Name + SWHSys1 Demand Bypass Pipe Inlet Node, !- Component 1 Inlet Node Name + SWHSys1 Demand Bypass Pipe Outlet Node, !- Component 1 Outlet Node Name + Bypass; !- Component 1 Branch Control Type + + Branch, + SWHSys1 Demand Inlet Branch, !- Name + , !- Maximum Flow Rate {m3/s} + , !- Pressure Drop Curve Name + Pipe:Adiabatic, !- Component 1 Object Type + SWHSys1 Demand Inlet Pipe, !- Component 1 Name + SWHSys1 Demand Inlet Node, !- Component 1 Inlet Node Name + SWHSys1 Demand Inlet Pipe-SWHSys1 Demand Mixer, !- Component 1 Outlet Node Name + Passive; !- Component 1 Branch Control Type + + Branch, + SWHSys1 Demand Load Branch 1, !- Name + , !- Maximum Flow Rate {m3/s} + , !- Pressure Drop Curve Name + WaterUse:Connections, !- Component 1 Object Type + Core_bottom Water Equipment, !- Component 1 Name + Core_bottom Water Equipment Water Inlet Node, !- Component 1 Inlet Node Name + Core_bottom Water Equipment Water Outlet Node, !- Component 1 Outlet Node Name + Active; !- Component 1 Branch Control Type + + Branch, + SWHSys1 Demand Load Branch 2, !- Name + , !- Maximum Flow Rate {m3/s} + , !- Pressure Drop Curve Name + WaterUse:Connections, !- Component 1 Object Type + Core_mid Water Equipment,!- Component 1 Name + Core_mid Water Equipment Water Inlet Node, !- Component 1 Inlet Node Name + Core_mid Water Equipment Water Outlet Node, !- Component 1 Outlet Node Name + Active; !- Component 1 Branch Control Type + + Branch, + SWHSys1 Demand Load Branch 3, !- Name + , !- Maximum Flow Rate {m3/s} + , !- Pressure Drop Curve Name + WaterUse:Connections, !- Component 1 Object Type + Core_top Water Equipment,!- Component 1 Name + Core_top Water Equipment Water Inlet Node, !- Component 1 Inlet Node Name + Core_top Water Equipment Water Outlet Node, !- Component 1 Outlet Node Name + Active; !- Component 1 Branch Control Type + + Branch, + SWHSys1 Demand Outlet Branch, !- Name + , !- Maximum Flow Rate {m3/s} + , !- Pressure Drop Curve Name + Pipe:Adiabatic, !- Component 1 Object Type + SWHSys1 Demand Outlet Pipe, !- Component 1 Name + SWHSys1 Demand Mixer-SWHSys1 Demand Outlet Pipe, !- Component 1 Inlet Node Name + SWHSys1 Demand Outlet Node, !- Component 1 Outlet Node Name + Passive; !- Component 1 Branch Control Type + + Branch, + SWHSys1 Supply Equipment Branch, !- Name + , !- Maximum Flow Rate {m3/s} + , !- Pressure Drop Curve Name + WaterHeater:Mixed, !- Component 1 Object Type + SWHSys1 Water Heater, !- Component 1 Name + SWHSys1 Pump-SWHSys1 Water HeaterNode, !- Component 1 Inlet Node Name + SWHSys1 Supply Equipment Outlet Node, !- Component 1 Outlet Node Name + Active; !- Component 1 Branch Control Type + + Branch, + SWHSys1 Supply Equipment Bypass Branch, !- Name + , !- Maximum Flow Rate {m3/s} + , !- Pressure Drop Curve Name + Pipe:Adiabatic, !- Component 1 Object Type + SWHSys1 Supply Equipment Bypass Pipe, !- Component 1 Name + SWHSys1 Supply Equip Bypass Inlet Node, !- Component 1 Inlet Node Name + SWHSys1 Supply Equip Bypass Outlet Node, !- Component 1 Outlet Node Name + Bypass; !- Component 1 Branch Control Type + + Branch, + SWHSys1 Supply Inlet Branch, !- Name + , !- Maximum Flow Rate {m3/s} + , !- Pressure Drop Curve Name + Pump:VariableSpeed, !- Component 1 Object Type + SWHSys1 Pump, !- Component 1 Name + SWHSys1 Supply Inlet Node, !- Component 1 Inlet Node Name + SWHSys1 Pump-SWHSys1 Water HeaterNodeviaConnector, !- Component 1 Outlet Node Name + Active; !- Component 1 Branch Control Type + + Branch, + SWHSys1 Supply Outlet Branch, !- Name + , !- Maximum Flow Rate {m3/s} + , !- Pressure Drop Curve Name + Pipe:Adiabatic, !- Component 1 Object Type + SWHSys1 Supply Outlet Pipe, !- Component 1 Name + SWHSys1 Supply Mixer-SWHSys1 Supply Outlet Pipe, !- Component 1 Inlet Node Name + SWHSys1 Supply Outlet Node, !- Component 1 Outlet Node Name + Passive; !- Component 1 Branch Control Type + + ConnectorList, + SWHSys1 Demand Connectors, !- Name + Connector:Splitter, !- Connector 1 Object Type + SWHSys1 Demand Splitter, !- Connector 1 Name + Connector:Mixer, !- Connector 2 Object Type + SWHSys1 Demand Mixer; !- Connector 2 Name + + ConnectorList, + SWHSys1 Supply Connectors, !- Name + Connector:Splitter, !- Connector 1 Object Type + SWHSys1 Supply Splitter, !- Connector 1 Name + Connector:Mixer, !- Connector 2 Object Type + SWHSys1 Supply Mixer; !- Connector 2 Name + + WaterUse:Connections, + Core_bottom Water Equipment, !- Name + Core_bottom Water Equipment Water Inlet Node, !- Inlet Node Name + Core_bottom Water Equipment Water Outlet Node, !- Outlet Node Name + , !- Supply Water Storage Tank Name + , !- Reclamation Water Storage Tank Name + , !- Hot Water Supply Temperature Schedule Name + , !- Cold Water Supply Temperature Schedule Name + , !- Drain Water Heat Exchanger Type + , !- Drain Water Heat Exchanger Destination + , !- Drain Water Heat Exchanger U-Factor Times Area {W/K} + Core_bottom Water Equipment; !- Water Use Equipment 1 Name + + WaterUse:Connections, + Core_mid Water Equipment,!- Name + Core_mid Water Equipment Water Inlet Node, !- Inlet Node Name + Core_mid Water Equipment Water Outlet Node, !- Outlet Node Name + , !- Supply Water Storage Tank Name + , !- Reclamation Water Storage Tank Name + , !- Hot Water Supply Temperature Schedule Name + , !- Cold Water Supply Temperature Schedule Name + , !- Drain Water Heat Exchanger Type + , !- Drain Water Heat Exchanger Destination + , !- Drain Water Heat Exchanger U-Factor Times Area {W/K} + Core_mid Water Equipment;!- Water Use Equipment 1 Name + + WaterUse:Connections, + Core_top Water Equipment,!- Name + Core_top Water Equipment Water Inlet Node, !- Inlet Node Name + Core_top Water Equipment Water Outlet Node, !- Outlet Node Name + , !- Supply Water Storage Tank Name + , !- Reclamation Water Storage Tank Name + , !- Hot Water Supply Temperature Schedule Name + , !- Cold Water Supply Temperature Schedule Name + , !- Drain Water Heat Exchanger Type + , !- Drain Water Heat Exchanger Destination + , !- Drain Water Heat Exchanger U-Factor Times Area {W/K} + Core_top Water Equipment;!- Water Use Equipment 1 Name + + Connector:Splitter, + SWHSys1 Demand Splitter, !- Name + SWHSys1 Demand Inlet Branch, !- Inlet Branch Name + SWHSys1 Demand Load Branch 1, !- Outlet Branch 1 Name + SWHSys1 Demand Load Branch 2, !- Outlet Branch 2 Name + SWHSys1 Demand Load Branch 3, !- Outlet Branch 3 Name + SWHSys1 Demand Bypass Branch; !- Outlet Branch 4 Name + + Connector:Splitter, + SWHSys1 Supply Splitter, !- Name + SWHSys1 Supply Inlet Branch, !- Inlet Branch Name + SWHSys1 Supply Equipment Branch, !- Outlet Branch 1 Name + SWHSys1 Supply Equipment Bypass Branch; !- Outlet Branch 2 Name + + Connector:Mixer, + SWHSys1 Demand Mixer, !- Name + SWHSys1 Demand Outlet Branch, !- Outlet Branch Name + SWHSys1 Demand Load Branch 1, !- Inlet Branch 1 Name + SWHSys1 Demand Load Branch 2, !- Inlet Branch 2 Name + SWHSys1 Demand Load Branch 3, !- Inlet Branch 3 Name + SWHSys1 Demand Bypass Branch; !- Inlet Branch 4 Name + + Connector:Mixer, + SWHSys1 Supply Mixer, !- Name + SWHSys1 Supply Outlet Branch, !- Outlet Branch Name + SWHSys1 Supply Equipment Branch, !- Inlet Branch 1 Name + SWHSys1 Supply Equipment Bypass Branch; !- Inlet Branch 2 Name + + Pipe:Adiabatic, + SWHSys1 Demand Bypass Pipe, !- Name + SWHSys1 Demand Bypass Pipe Inlet Node, !- Inlet Node Name + SWHSys1 Demand Bypass Pipe Outlet Node; !- Outlet Node Name + + Pipe:Adiabatic, + SWHSys1 Demand Inlet Pipe, !- Name + SWHSys1 Demand Inlet Node, !- Inlet Node Name + SWHSys1 Demand Inlet Pipe-SWHSys1 Demand Mixer; !- Outlet Node Name + + Pipe:Adiabatic, + SWHSys1 Demand Outlet Pipe, !- Name + SWHSys1 Demand Mixer-SWHSys1 Demand Outlet Pipe, !- Inlet Node Name + SWHSys1 Demand Outlet Node; !- Outlet Node Name + + Pipe:Adiabatic, + SWHSys1 Supply Equipment Bypass Pipe, !- Name + SWHSys1 Supply Equip Bypass Inlet Node, !- Inlet Node Name + SWHSys1 Supply Equip Bypass Outlet Node; !- Outlet Node Name + + Pipe:Adiabatic, + SWHSys1 Supply Outlet Pipe, !- Name + SWHSys1 Supply Mixer-SWHSys1 Supply Outlet Pipe, !- Inlet Node Name + SWHSys1 Supply Outlet Node; !- Outlet Node Name + +! ***SWH SCHEDULES*** + + Schedule:Compact, + BLDG_SWH_SCH, !- Name + Fraction, !- Schedule Type Limits Name + Through: 12/31, !- Field 1 + For: Weekdays SummerDesignDay, !- Field 2 + Until: 05:00,0.05, !- Field 3 + Until: 06:00,0.08, !- Field 5 + Until: 07:00,0.07, !- Field 7 + Until: 08:00,0.19, !- Field 9 + Until: 09:00,0.35, !- Field 11 + Until: 10:00,0.38, !- Field 13 + Until: 11:00,0.39, !- Field 15 + Until: 12:00,0.47, !- Field 17 + Until: 13:00,0.57, !- Field 19 + Until: 14:00,0.54, !- Field 21 + Until: 15:00,0.34, !- Field 23 + Until: 16:00,0.33, !- Field 25 + Until: 17:00,0.44, !- Field 27 + Until: 18:00,0.26, !- Field 29 + Until: 19:00,0.21, !- Field 31 + Until: 20:00,0.15, !- Field 33 + Until: 21:00,0.17, !- Field 35 + Until: 22:00,0.08, !- Field 37 + Until: 24:00,0.05, !- Field 39 + For: Saturday WinterDesignDay, !- Field 41 + Until: 05:00,0.05, !- Field 42 + Until: 06:00,0.08, !- Field 44 + Until: 07:00,0.07, !- Field 46 + Until: 08:00,0.11, !- Field 48 + Until: 09:00,0.15, !- Field 50 + Until: 10:00,0.21, !- Field 52 + Until: 11:00,0.19, !- Field 54 + Until: 12:00,0.23, !- Field 56 + Until: 13:00,0.20, !- Field 58 + Until: 14:00,0.19, !- Field 60 + Until: 15:00,0.15, !- Field 62 + Until: 16:00,0.13, !- Field 64 + Until: 17:00,0.14, !- Field 66 + Until: 21:00,0.07, !- Field 68 + Until: 22:00,0.09, !- Field 70 + Until: 24:00,0.05, !- Field 72 + For: AllOtherDays, !- Field 74 + Until: 05:00,0.04, !- Field 75 + Until: 06:00,0.07, !- Field 77 + Until: 11:00,0.04, !- Field 79 + Until: 13:00,0.06, !- Field 81 + Until: 14:00,0.09, !- Field 83 + Until: 15:00,0.06, !- Field 85 + Until: 21:00,0.04, !- Field 87 + Until: 22:00,0.07, !- Field 89 + Until: 24:00,0.04; !- Field 91 + + Schedule:Compact, + Water Equipment Latent fract sched, !- Name + Fraction, !- Schedule Type Limits Name + Through: 12/31, !- Field 1 + For: AllDays, !- Field 2 + Until: 24:00,0.05; !- Field 3 + + Schedule:Compact, + Water Equipment Sensible fract sched, !- Name + Fraction, !- Schedule Type Limits Name + Through: 12/31, !- Field 1 + For: AllDays, !- Field 2 + Until: 24:00,0.2; !- Field 3 + + Schedule:Compact, + SWHSys1 Water Heater Ambient Temperature Schedule Name, !- Name + Temperature, !- Schedule Type Limits Name + Through: 12/31, !- Field 1 + For: AllDays, !- Field 2 + Until: 24:00,22.0; !- Field 3 + + Schedule:Compact, + Water Equipment Temp Sched, !- Name + Temperature, !- Schedule Type Limits Name + Through: 12/31, !- Field 1 + For: AllDays, !- Field 2 + Until: 24:00,43.3; !- Field 3 + + Schedule:Compact, + Water Equipment Hot Supply Temp Sched, !- Name + Temperature, !- Schedule Type Limits Name + Through: 12/31, !- Field 1 + For: AllDays, !- Field 2 + Until: 24:00,43.3; !- Field 3 + + Schedule:Compact, + SWHSys1 Water Heater Setpoint Temperature Schedule Name, !- Name + Temperature, !- Schedule Type Limits Name + Through: 12/31, !- Field 1 + For: AllDays, !- Field 2 + Until: 24:00,60.0; !- Field 3 + + Schedule:Compact, + SWHSys1-Loop-Temp-Schedule, !- Name + Temperature, !- Schedule Type Limits Name + Through: 12/31, !- Field 1 + For: AllDays, !- Field 2 + Until: 24:00,60.0; !- Field 3 + +! ***ECONOMICS*** +! IN_EIAMonthlyRateGas, Source EIA historical Nov2003 thru Oct2004 +! Indiana 1999 state average electricity emissions factors based on eGRID, 1065, AirData +! PSI_CS_CommercialElectricService, source http://www.cinergypsi.com/pdfs/RateCS.pdf, effective 2004-05-24 +! PSI_LLF_LowLoadFactorService,source http://www.cinergypsi.com/pdfs/RATELLF.pdf, effective 2004-05-24 + + UtilityCost:Tariff, + PSI_LLF_LowLoadFactorService, !- Name + Electricity:Facility, !- Output Meter Name + kWh, !- Conversion Factor Choice + , !- Energy Conversion Factor + , !- Demand Conversion Factor + , !- Time of Use Period Schedule Name + , !- Season Schedule Name + , !- Month Schedule Name + HalfHour, !- Demand Window Length + 15.00, !- Monthly Charge or Variable Name + , !- Minimum Monthly Charge or Variable Name + , !- Real Time Pricing Charge Schedule Name + , !- Customer Baseline Load Schedule Name + Comm Elect; !- Group Name + + UtilityCost:Charge:Block, + AnnualEnergyCharge, !- Name + PSI_LLF_LowLoadFactorService, !- Tariff Name + totalEnergy, !- Source Variable + Annual, !- Season + EnergyCharges, !- Category Variable Name + , !- Remaining Into Variable + , !- Block Size Multiplier Value or Variable Name + 300, !- Block Size 1 Value or Variable Name + 0.108222, !- Block 1 Cost per Unit Value or Variable Name + 700, !- Block Size 2 Value or Variable Name + 0.087021, !- Block 2 Cost per Unit Value or Variable Name + 1500, !- Block Size 3 Value or Variable Name + 0.078420, !- Block 3 Cost per Unit Value or Variable Name + remaining, !- Block Size 4 Value or Variable Name + 0.058320; !- Block 4 Cost per Unit Value or Variable Name + + UtilityCost:Charge:Block, + AnnualDemandBaseCharge, !- Name + PSI_LLF_LowLoadFactorService, !- Tariff Name + totalEnergy, !- Source Variable + Annual, !- Season + EnergyCharges, !- Category Variable Name + , !- Remaining Into Variable + TotalDemand, !- Block Size Multiplier Value or Variable Name + 190, !- Block Size 1 Value or Variable Name + 0.0, !- Block 1 Cost per Unit Value or Variable Name + 110, !- Block Size 2 Value or Variable Name + 0.051773, !- Block 2 Cost per Unit Value or Variable Name + remaining, !- Block Size 3 Value or Variable Name + 0.046965; !- Block 3 Cost per Unit Value or Variable Name + + UtilityCost:Charge:Simple, + FuelCostAdjustEnergyCharge, !- Name + PSI_LLF_LowLoadFactorService, !- Tariff Name + totalEnergy, !- Source Variable + Annual, !- Season + EnergyCharges, !- Category Variable Name + 0.002028; !- Cost per Unit Value or Variable Name + + UtilityCost:Charge:Simple, + QualPollutionControlAdjustEnergyCharge, !- Name + PSI_LLF_LowLoadFactorService, !- Tariff Name + totalEnergy, !- Source Variable + Annual, !- Season + EnergyCharges, !- Category Variable Name + 0.000536; !- Cost per Unit Value or Variable Name + + UtilityCost:Charge:Simple, + SoxNoxRiderAdjustEnergyCharge, !- Name + PSI_LLF_LowLoadFactorService, !- Tariff Name + totalEnergy, !- Source Variable + Annual, !- Season + EnergyCharges, !- Category Variable Name + 0.001127; !- Cost per Unit Value or Variable Name + + UtilityCost:Charge:Simple, + DSMRiderAdjustEnergyCharge, !- Name + PSI_LLF_LowLoadFactorService, !- Tariff Name + totalEnergy, !- Source Variable + Annual, !- Season + EnergyCharges, !- Category Variable Name + -0.000370; !- Cost per Unit Value or Variable Name + + UtilityCost:Charge:Simple, + PurchPowerTrackerAdjustEnergyCharge, !- Name + PSI_LLF_LowLoadFactorService, !- Tariff Name + totalEnergy, !- Source Variable + Annual, !- Season + EnergyCharges, !- Category Variable Name + -0.000031; !- Cost per Unit Value or Variable Name + + UtilityCost:Charge:Simple, + MidwestISOAdjustEnergyCharge, !- Name + PSI_LLF_LowLoadFactorService, !- Tariff Name + totalEnergy, !- Source Variable + Annual, !- Season + EnergyCharges, !- Category Variable Name + -0.000216; !- Cost per Unit Value or Variable Name + + UtilityCost:Charge:Simple, + CleanCoalRiderEnergyCharge, !- Name + PSI_LLF_LowLoadFactorService, !- Tariff Name + totalEnergy, !- Source Variable + Annual, !- Season + EnergyCharges, !- Category Variable Name + 0.000833; !- Cost per Unit Value or Variable Name + + UtilityCost:Qualify, + MinDemand75kw, !- Name + PSI_LLF_LowLoadFactorService, !- Tariff Name + TotalDemand, !- Variable Name + Minimum, !- Qualify Type + 75, !- Threshold Value or Variable Name + Annual, !- Season + Count, !- Threshold Test + 12; !- Number of Months + + UtilityCost:Charge:Simple, + TaxofeightPercent, !- Name + PSI_LLF_LowLoadFactorService, !- Tariff Name + SubTotal, !- Source Variable + Annual, !- Season + Taxes, !- Category Variable Name + 0.08; !- Cost per Unit Value or Variable Name + +!end PSI_LLF_LowLoadFactorService + + UtilityCost:Tariff, + PSI_CS_CommercialElectricService, !- Name + Electricity:Facility, !- Output Meter Name + kWh, !- Conversion Factor Choice + , !- Energy Conversion Factor + , !- Demand Conversion Factor + , !- Time of Use Period Schedule Name + , !- Season Schedule Name + , !- Month Schedule Name + , !- Demand Window Length + 9.40, !- Monthly Charge or Variable Name + , !- Minimum Monthly Charge or Variable Name + , !- Real Time Pricing Charge Schedule Name + , !- Customer Baseline Load Schedule Name + Comm Elect; !- Group Name + + UtilityCost:Charge:Block, + AnnualEnergyCharge, !- Name + PSI_CS_CommercialElectricService, !- Tariff Name + totalEnergy, !- Source Variable + Annual, !- Season + EnergyCharges, !- Category Variable Name + , !- Remaining Into Variable + , !- Block Size Multiplier Value or Variable Name + 300, !- Block Size 1 Value or Variable Name + 0.082409, !- Block 1 Cost per Unit Value or Variable Name + 700, !- Block Size 2 Value or Variable Name + 0.072873, !- Block 2 Cost per Unit Value or Variable Name + 1500, !- Block Size 3 Value or Variable Name + 0.061696, !- Block 3 Cost per Unit Value or Variable Name + remaining, !- Block Size 4 Value or Variable Name + 0.041179; !- Block 4 Cost per Unit Value or Variable Name + + UtilityCost:Charge:Simple, + FuelCostAdjustEnergyCharge, !- Name + PSI_CS_CommercialElectricService, !- Tariff Name + totalEnergy, !- Source Variable + Annual, !- Season + EnergyCharges, !- Category Variable Name + 0.002028; !- Cost per Unit Value or Variable Name + + UtilityCost:Charge:Simple, + QualPollutionControlAdjustEnergyCharge, !- Name + PSI_CS_CommercialElectricService, !- Tariff Name + totalEnergy, !- Source Variable + Annual, !- Season + EnergyCharges, !- Category Variable Name + 0.000536; !- Cost per Unit Value or Variable Name + + UtilityCost:Charge:Simple, + SoxNoxRiderAdjustEnergyCharge, !- Name + PSI_CS_CommercialElectricService, !- Tariff Name + totalEnergy, !- Source Variable + Annual, !- Season + EnergyCharges, !- Category Variable Name + 0.001127; !- Cost per Unit Value or Variable Name + + UtilityCost:Charge:Simple, + DSMRiderAdjustEnergyCharge, !- Name + PSI_CS_CommercialElectricService, !- Tariff Name + totalEnergy, !- Source Variable + Annual, !- Season + EnergyCharges, !- Category Variable Name + 0.000021; !- Cost per Unit Value or Variable Name + + UtilityCost:Charge:Simple, + PurchPowerTrackerAdjustEnergyCharge, !- Name + PSI_CS_CommercialElectricService, !- Tariff Name + totalEnergy, !- Source Variable + Annual, !- Season + EnergyCharges, !- Category Variable Name + 0.000034; !- Cost per Unit Value or Variable Name + + UtilityCost:Charge:Simple, + MidwestISOAdjustEnergyCharge, !- Name + PSI_CS_CommercialElectricService, !- Tariff Name + totalEnergy, !- Source Variable + Annual, !- Season + EnergyCharges, !- Category Variable Name + -0.000203; !- Cost per Unit Value or Variable Name + + UtilityCost:Charge:Simple, + CleanCoalRiderEnergyCharge, !- Name + PSI_CS_CommercialElectricService, !- Tariff Name + totalEnergy, !- Source Variable + Annual, !- Season + EnergyCharges, !- Category Variable Name + 0.000807; !- Cost per Unit Value or Variable Name + + UtilityCost:Qualify, + MaxDemand75kw, !- Name + PSI_CS_CommercialElectricService, !- Tariff Name + TotalDemand, !- Variable Name + Maximum, !- Qualify Type + 75, !- Threshold Value or Variable Name + Annual, !- Season + Count, !- Threshold Test + 1; !- Number of Months + + UtilityCost:Charge:Simple, + TaxofeightPercent, !- Name + PSI_CS_CommercialElectricService, !- Tariff Name + SubTotal, !- Source Variable + Annual, !- Season + Taxes, !- Category Variable Name + 0.08; !- Cost per Unit Value or Variable Name + + UtilityCost:Tariff, + IN_EIAMonthlyRateGas, !- Name + Gas:Facility, !- Output Meter Name + MCF, !- Conversion Factor Choice + , !- Energy Conversion Factor + , !- Demand Conversion Factor + , !- Time of Use Period Schedule Name + , !- Season Schedule Name + , !- Month Schedule Name + , !- Demand Window Length + 0.0, !- Monthly Charge or Variable Name + , !- Minimum Monthly Charge or Variable Name + , !- Real Time Pricing Charge Schedule Name + , !- Customer Baseline Load Schedule Name + Comm Gas; !- Group Name + + UtilityCost:Charge:Simple, + MonthlyRateGasCharge, !- Name + IN_EIAMonthlyRateGas, !- Tariff Name + totalEnergy, !- Source Variable + Annual, !- Season + EnergyCharges, !- Category Variable Name + IN_MonthlyGasRates; !- Cost per Unit Value or Variable Name + + UtilityCost:Variable, + IN_MonthlyGasRates, !- Name + IN_EIAMonthlyRateGas, !- Tariff Name + Currency, !- Variable Type + 8.22, !- January Value + 7.51, !- February Value + 8.97, !- March Value + 9.01, !- April Value + 9.16, !- May Value + 10.44, !- June Value + 10.32, !- July Value + 10.13, !- August Value + 9.20, !- September Value + 8.18, !- October Value + 7.83, !- November Value + 7.63; !- December Value + + UtilityCost:Charge:Simple, + TaxofEightPercent, !- Name + IN_EIAMonthlyRateGas, !- Tariff Name + SubTotal, !- Source Variable + Annual, !- Season + Taxes, !- Category Variable Name + 0.08; !- Cost per Unit Value or Variable Name + +! ***GENERAL REPORTING*** + + OutputControl:ReportingTolerances, + 0.556, !- Tolerance for Time Heating Setpoint Not Met {deltaC} + 0.556; !- Tolerance for Time Cooling Setpoint Not Met {deltaC} + + Output:SQLite, + SimpleAndTabular; !- Option Type + + EnvironmentalImpactFactors, + 0.663, !- District Heating Efficiency + 4.18, !- District Cooling COP {W/W} + 0.585, !- Steam Conversion Efficiency + 80.7272, !- Total Carbon Equivalent Emission Factor From N2O {kg/kg} + 6.2727, !- Total Carbon Equivalent Emission Factor From CH4 {kg/kg} + 0.2727; !- Total Carbon Equivalent Emission Factor From CO2 {kg/kg} + +! Indiana electricity source and emission factors based on Deru and Torcellini 2007 + + FuelFactors, + Electricity, !- Existing Fuel Resource Name + kg, !- Units of Measure + , !- Energy per Unit Factor + 3.546, !- Source Energy Factor {J/J} + , !- Source Energy Schedule Name + 3.417E+02, !- CO2 Emission Factor {g/MJ} + , !- CO2 Emission Factor Schedule Name + 1.186E-01, !- CO Emission Factor {g/MJ} + , !- CO Emission Factor Schedule Name + 7.472E-01, !- CH4 Emission Factor {g/MJ} + , !- CH4 Emission Factor Schedule Name + 6.222E-01, !- NOx Emission Factor {g/MJ} + , !- NOx Emission Factor Schedule Name + 8.028E-03, !- N2O Emission Factor {g/MJ} + , !- N2O Emission Factor Schedule Name + 1.872E+00, !- SO2 Emission Factor {g/MJ} + , !- SO2 Emission Factor Schedule Name + 0.0, !- PM Emission Factor {g/MJ} + , !- PM Emission Factor Schedule Name + 1.739E-02, !- PM10 Emission Factor {g/MJ} + , !- PM10 Emission Factor Schedule Name + 0.0, !- PM2.5 Emission Factor {g/MJ} + , !- PM2.5 Emission Factor Schedule Name + 0.0, !- NH3 Emission Factor {g/MJ} + , !- NH3 Emission Factor Schedule Name + 1.019E-02, !- NMVOC Emission Factor {g/MJ} + , !- NMVOC Emission Factor Schedule Name + 5.639E-06, !- Hg Emission Factor {g/MJ} + , !- Hg Emission Factor Schedule Name + 2.778E-05, !- Pb Emission Factor {g/MJ} + , !- Pb Emission Factor Schedule Name + 0.4309556, !- Water Emission Factor {L/MJ} + , !- Water Emission Factor Schedule Name + 0, !- Nuclear High Level Emission Factor {g/MJ} + , !- Nuclear High Level Emission Factor Schedule Name + 0; !- Nuclear Low Level Emission Factor {m3/MJ} + +! Deru and Torcellini 2007 +! Source Energy and Emission Factors for Energy Use in Buildings +! NREL/TP-550-38617 +! source factor and Higher Heating Values from Table 5 +! post-combustion emission factors for boiler from Table 9 (with factor of 1000 correction for natural gas) + + FuelFactors, + NaturalGas, !- Existing Fuel Resource Name + m3, !- Units of Measure + 37631000, !- Energy per Unit Factor + 1.092, !- Source Energy Factor {J/J} + , !- Source Energy Schedule Name + 5.21E+01, !- CO2 Emission Factor {g/MJ} + , !- CO2 Emission Factor Schedule Name + 3.99E-02, !- CO Emission Factor {g/MJ} + , !- CO Emission Factor Schedule Name + 1.06E-03, !- CH4 Emission Factor {g/MJ} + , !- CH4 Emission Factor Schedule Name + 4.73E-02, !- NOx Emission Factor {g/MJ} + , !- NOx Emission Factor Schedule Name + 1.06E-03, !- N2O Emission Factor {g/MJ} + , !- N2O Emission Factor Schedule Name + 2.68E-04, !- SO2 Emission Factor {g/MJ} + , !- SO2 Emission Factor Schedule Name + 0.0, !- PM Emission Factor {g/MJ} + , !- PM Emission Factor Schedule Name + 3.59E-03, !- PM10 Emission Factor {g/MJ} + , !- PM10 Emission Factor Schedule Name + 0.0, !- PM2.5 Emission Factor {g/MJ} + , !- PM2.5 Emission Factor Schedule Name + 0, !- NH3 Emission Factor {g/MJ} + , !- NH3 Emission Factor Schedule Name + 2.61E-03, !- NMVOC Emission Factor {g/MJ} + , !- NMVOC Emission Factor Schedule Name + 1.11E-07, !- Hg Emission Factor {g/MJ} + , !- Hg Emission Factor Schedule Name + 2.13E-07, !- Pb Emission Factor {g/MJ} + , !- Pb Emission Factor Schedule Name + 0, !- Water Emission Factor {L/MJ} + , !- Water Emission Factor Schedule Name + 0, !- Nuclear High Level Emission Factor {g/MJ} + , !- Nuclear High Level Emission Factor Schedule Name + 0; !- Nuclear Low Level Emission Factor {m3/MJ} + + Curve:Bicubic, + WC Screw GTE 300tons Default 90.1-2004 EIR_fPLR, !- Name + -2.737954E-01, !- Coefficient1 Constant + 2.822257E-02, !- Coefficient2 x + -8.097657E-05, !- Coefficient3 x**2 + 9.612284E-01, !- Coefficient4 y + 3.029741E-01, !- Coefficient5 y**2 + -2.421933E-02, !- Coefficient6 x*y + 0.000000E+00, !- Coefficient7 x**3 + -3.885224E-02, !- Coefficient8 y**3 + 0.000000E+00, !- Coefficient9 x**2*y + 0.000000E+00, !- Coefficient10 x*y**2 + 18.54, !- Minimum Value of x + 31.63, !- Maximum Value of x + 0.20, !- Minimum Value of y + 1.02; !- Maximum Value of y + + OutputControl:Table:Style, + XML; !- Column Separator + + Output:Table:SummaryReports, + AllSummaryAndMonthly; !- Report 1 Name + + Output:Meter,Electricity:Facility,hourly; + + Output:Meter,Heating:Electricity,hourly; + + Output:Meter,Cooling:Electricity,hourly; + + Output:Meter,InteriorLights:Electricity,hourly; + + Output:Meter,ExteriorLights:Electricity,hourly; + + Output:Meter,InteriorEquipment:Electricity,hourly; + + Output:Meter,ExteriorEquipment:Electricity,hourly; + + Output:Meter,Fans:Electricity,hourly; + + Output:Meter,Pumps:Electricity,hourly; + + Output:Meter,HeatRejection:Electricity,hourly; + + Output:Meter,Humidifier:Electricity,hourly; + + Output:Meter,Refrigeration:Electricity,hourly; + + Output:Meter,WaterSystems:Electricity,hourly; + + Output:Meter,Gas:Facility,hourly; + + Output:Meter,Heating:Gas,hourly; + + Output:Meter,InteriorEquipment:Gas,hourly; + + Output:Meter,WaterSystems:Gas,hourly; + Added: SwiftApps/gocat/locatewrap.sh =================================================================== --- SwiftApps/gocat/locatewrap.sh (rev 0) +++ SwiftApps/gocat/locatewrap.sh 2014-03-13 15:57:00 UTC (rev 7704) @@ -0,0 +1,31 @@ +#!/bin/bash -x + +# Usage: $0 ... +#e.g. sh locatewrap.sh cofeemug color size material +# Required: Env variable catloc pointing to the directory containing catalog.py + +if [ $# -le 1 ] +then + echo "Usage: $0 LIKE LIKE ..." + exit 1 +fi + +dsetname=$1 +shift + +for tagvalpair in "$@" +do + tagname=`echo $tagvalpair|awk -F= '{print $1}'` + tagval=`echo $tagvalpair|awk -F= '{print $2}'` + + python $catloc/catalog.py -text query_datasets $catid name EQUAL $dsetname + exprstr="{\"name\":\"$dsetname\"}" + retstr=$(python $catloc/catalog.py create_dataset $catid $exprstr) + + python $catloc/catalog.py create_annotation_def $catid "$tagname" 'text' + dsetid=`echo $retstr |awk -F, '{print $2}'` + + python $catloc/catalog.py add_dataset_annotation $catid $dsetid "{\"$tagname\":\"$tagval\"}" + +done + Modified: SwiftApps/swift-galaxy/README =================================================================== --- SwiftApps/swift-galaxy/README 2014-03-13 15:30:07 UTC (rev 7703) +++ SwiftApps/swift-galaxy/README 2014-03-13 15:57:00 UTC (rev 7704) @@ -14,6 +14,22 @@ This document can be found http://www.mcs.anl.gov/~ketan/swiftgalaxy.html[here]. +Description of the Swift-Galaxy `foreach` tool +----------------------------------------------- + +There are two ways, the foreach Swift tool can be utilized. First, over a range +of numbers. The tool is used to run a Swift foreach loop over a range of +numbers for any arbitrary executable. The executable will run with number in +range as commandline argument, one at a time. User can add arbitrary string +arguments in addition to the number argument to the call to executable. + +The second version runs the foreach loop over a list of items. These items can +be file references or simple strings. The tool will pass one item at a time to +the executable as argument parameter and run them all in parallel. This is +similar to the above described number range except that the iteration takes +place over a list of items provided as a file. + + How To ------ @@ -42,39 +58,49 @@ Screenshots ----------- -The following screenshot shows overall look-and-feel of the Swift-Galaxy tool in the Galaxy web GUI. +The following screenshot shows overall look-and-feel of the Swift-Galaxy tool +in the Galaxy web GUI. image::./screenshots/overall.png["swift-galaxy screenshot", width=600, align="center"] -The following screenshot shows execution location selector. User can select one or more execution locations from the list as their target execution site. +The following screenshot shows execution location selector. User can select one +or more execution locations from the list as their target execution site. image::./screenshots/execloc.png["execution location selector screenshot", width=200, align="center"] -The following screenshot shows a dialog box to add Swift-level commandline arguments to be passed to the script. +The following screenshot shows a dialog box to add Swift-level commandline +arguments to be passed to the script. image::./screenshots/swift-level-args.png["swift-args screenshot", width=200, align="center"] -The following screenshot shows a selection dropdown list to chose the execution interpreter from. The interpreters currently supported and tested are shell, java and python. Upcoming are R and matlab. +The following screenshot shows a selection dropdown list to chose the execution +interpreter from. The interpreters currently supported and tested are shell, +java and python. Upcoming are R and matlab. image::./screenshots/execution-interpreter.png["interpreter screenshot", width=150, align="center"] -The following screenshot shows the selection for an executable. User can upload an executable and select it from the list. +The following screenshot shows the selection for an executable. User can upload +an executable and select it from the list. image::./screenshots/executable.png["executable screenshot", width=200, align="center"] -The following screenshot shows a selection for range of numbers or list of items to chose from. User can select one and the corresponding dialog box will appear below. +The following screenshot shows a selection for range of numbers or list of +items to chose from. User can select one and the corresponding dialog box will +appear below. image::./screenshots/rangeorlist.png["select range or list screenshot", width=150, align="center"] -The following screenshot shows a dialog for string or file type arguments. A user can add string and filetype arguments to their executable and the commandline will be built accordingly. +The following screenshot shows a dialog for string or file type arguments. A +user can add string and filetype arguments to their executable and the +commandline will be built accordingly. image::./screenshots/string-or-fileargs.png["string or fileargs screenshot", width=250, align="center"] -The following screenshot shows a dialog box to enter the directory location for results of execution. The Swift output files will be placed here: +The following screenshot shows a dialog box to enter the directory location for +results of execution. The Swift output files will be placed here: image::./screenshots/outlocation.png["output location screenshot", width=250, align="center"] - An example ---------- @@ -120,17 +146,3 @@ Step 6. For examples of other Galaxy-Swift tools, look into the swift directoty. -Description of the Swift-Galaxy `foreach` tool ------------------------------------------------ - -There are two ways, the foreach Swift tool can be utilized. First, over a range -of numbers. The tool is used to run a Swift foreach loop over a range of -numbers for any arbitrary executable. The executable will run with number in -range as commandline argument, one at a time. User can add arbitrary string -arguments in addition to the number argument to the call to executable. - -The second version runs the foreach loop over a list of items. These items can -be file references or simple strings. The tool will pass one item at a time to -the executable as argument parameter and run them all in parallel. This is -similar to the above described number range except that the iteration takes -place over a list of items provided as a file. From ketan at ci.uchicago.edu Thu Mar 13 11:20:31 2014 From: ketan at ci.uchicago.edu (ketan at ci.uchicago.edu) Date: Thu, 13 Mar 2014 11:20:31 -0500 (CDT) Subject: [Swift-commit] r7706 - SwiftApps/swift-galaxy Message-ID: <20140313162031.0EC839CD2B@svn.ci.uchicago.edu> Author: ketan Date: 2014-03-13 11:20:30 -0500 (Thu, 13 Mar 2014) New Revision: 7706 Modified: SwiftApps/swift-galaxy/README Log: readme improvements Modified: SwiftApps/swift-galaxy/README =================================================================== --- SwiftApps/swift-galaxy/README 2014-03-13 16:03:26 UTC (rev 7705) +++ SwiftApps/swift-galaxy/README 2014-03-13 16:20:30 UTC (rev 7706) @@ -10,17 +10,24 @@ Galaxy tool, called `foreach` which allows user to compose Galaxy workflows such that each computation stage in the workflow is executed by Swift. User can compose Galaxy tool and pick up arbitrary executables and dataset to run the -executable over. +executable over. User can also run the executable over a list of items such as +string or file parameters. -This document can be found http://www.mcs.anl.gov/~ketan/swiftgalaxy.html[here]. +NOTE: This document can be found http://www.mcs.anl.gov/~ketan/swiftgalaxy.html[here]. -Description of the Swift-Galaxy `foreach` tool ------------------------------------------------ +Swift-Galaxy `foreach` Mechanism +--------------------------------- -There are two ways, the foreach Swift tool can be utilized. First, over a range -of numbers. The tool is used to run a Swift foreach loop over a range of -numbers for any arbitrary executable. The executable will run with number in -range as commandline argument, one at a time. User can add arbitrary string +The basic mechanism is that the tool user-interface will accept parameters and +will pass them along to a backend Swift "generator". This generator program +will run the parameters over Swift source and configuration templates. As a +result, the right source and configuration files are produced in a temporary +directory (`/tmp/tmpname`). This is then executed and the results collected. + +There are two ways the foreach Swift tool can be utilized. First, over a range +of numbers. The tool is used to run any arbitrary executable via Swift foreach +loop over a range of numbers. The executable will run with number in range as +commandline argument, one at a time. Furthermore, user can add arbitrary string arguments in addition to the number argument to the call to executable. The second version runs the foreach loop over a list of items. These items can @@ -146,3 +153,10 @@ Step 6. For examples of other Galaxy-Swift tools, look into the swift directoty. +Upcoming Features +------------------ + +* Mixing the order of file and string arguments +* Optionally allowing user to not use range number as arguments +* Providing more Swift patterns, eg. `if-else` conditionals + From ketan at ci.uchicago.edu Thu Mar 13 11:34:40 2014 From: ketan at ci.uchicago.edu (ketan at ci.uchicago.edu) Date: Thu, 13 Mar 2014 11:34:40 -0500 (CDT) Subject: [Swift-commit] r7707 - SwiftApps/swift-galaxy Message-ID: <20140313163440.B93599CD2B@svn.ci.uchicago.edu> Author: ketan Date: 2014-03-13 11:34:39 -0500 (Thu, 13 Mar 2014) New Revision: 7707 Modified: SwiftApps/swift-galaxy/README Log: doc updates Modified: SwiftApps/swift-galaxy/README =================================================================== --- SwiftApps/swift-galaxy/README 2014-03-13 16:20:30 UTC (rev 7706) +++ SwiftApps/swift-galaxy/README 2014-03-13 16:34:39 UTC (rev 7707) @@ -37,9 +37,15 @@ place over a list of items provided as a file. -How To ------- +Installation +------------- +Step 0. Checkout the swift-galaxy tools directory as follows: + +---- +svn co https://svn.ci.uchicago.edu/svn/vdl2/SwiftApps/swift-galaxy +---- + Step 1. Symlink the swift directory in the current directory from galaxy's top level directory. For example, if Galaxy top level directory is galaxy-dist and swift directory is /home/ketan/SwiftApps/swift-galaxy/swift: @@ -49,11 +55,23 @@ ln -s /home/ketan/SwiftApps/swift-galaxy/swift swift ---- +The advantage of symbolic links is that as users update the tool directory via +`svn up`, they need not worry about reinstallation. Everything gets propagated +to Galaxy. + Step 2. Add the tool definitions of the tools contained in this Swift to Galaxy's tool_conf.xml. This can be done by copying the text in `
...
` from the tool_conf.xml in swift-galaxy directory and -paste it to the tool_conf.xml of the Galaxy directory. +paste it to the tool_conf.xml of the Galaxy directory. In the current installation, the text to be copied is: +---- +
+ + + +
+---- + Step 3. (Re)start Galaxy. ---- From ketan at ci.uchicago.edu Thu Mar 13 14:54:22 2014 From: ketan at ci.uchicago.edu (ketan at ci.uchicago.edu) Date: Thu, 13 Mar 2014 14:54:22 -0500 (CDT) Subject: [Swift-commit] r7708 - SwiftApps/swift-galaxy Message-ID: <20140313195422.9A4CF9CD2B@svn.ci.uchicago.edu> Author: ketan Date: 2014-03-13 14:54:22 -0500 (Thu, 13 Mar 2014) New Revision: 7708 Modified: SwiftApps/swift-galaxy/README Log: update link Modified: SwiftApps/swift-galaxy/README =================================================================== --- SwiftApps/swift-galaxy/README 2014-03-13 16:34:39 UTC (rev 7707) +++ SwiftApps/swift-galaxy/README 2014-03-13 19:54:22 UTC (rev 7708) @@ -13,7 +13,7 @@ executable over. User can also run the executable over a list of items such as string or file parameters. -NOTE: This document can be found http://www.mcs.anl.gov/~ketan/swiftgalaxy.html[here]. +NOTE: This document can be found http://swift-lang.org/tutorials/galaxy/tutorial.html[here]. Swift-Galaxy `foreach` Mechanism --------------------------------- From ketan at ci.uchicago.edu Thu Mar 13 16:36:57 2014 From: ketan at ci.uchicago.edu (ketan at ci.uchicago.edu) Date: Thu, 13 Mar 2014 16:36:57 -0500 (CDT) Subject: [Swift-commit] r7709 - SwiftApps/swift-galaxy Message-ID: <20140313213657.F0E4D9D651@svn.ci.uchicago.edu> Author: ketan Date: 2014-03-13 16:36:57 -0500 (Thu, 13 Mar 2014) New Revision: 7709 Added: SwiftApps/swift-galaxy/push Modified: SwiftApps/swift-galaxy/README Log: tutorial update Modified: SwiftApps/swift-galaxy/README =================================================================== --- SwiftApps/swift-galaxy/README 2014-03-13 19:54:22 UTC (rev 7708) +++ SwiftApps/swift-galaxy/README 2014-03-13 21:36:57 UTC (rev 7709) @@ -24,29 +24,29 @@ result, the right source and configuration files are produced in a temporary directory (`/tmp/tmpname`). This is then executed and the results collected. -There are two ways the foreach Swift tool can be utilized. First, over a range -of numbers. The tool is used to run any arbitrary executable via Swift foreach +There are two ways the `foreach` Swift tool can be utilized. First, over a range +of numbers. The tool is used to run any arbitrary executable via Swift `foreach` loop over a range of numbers. The executable will run with number in range as commandline argument, one at a time. Furthermore, user can add arbitrary string arguments in addition to the number argument to the call to executable. -The second version runs the foreach loop over a list of items. These items can -be file references or simple strings. The tool will pass one item at a time to -the executable as argument parameter and run them all in parallel. This is -similar to the above described number range except that the iteration takes -place over a list of items provided as a file. +The second way runs the `foreach` loop over a list of items read from an input +file. These items can be file references or simple strings. The tool will pass +one item at a time to the executable as argument parameter and run them all in +parallel. This is similar to the above described number range except that the +iteration takes place over a list of items provided as a file. Installation ------------- -Step 0. Checkout the swift-galaxy tools directory as follows: +Step 0. Checkout the swift-galaxy SVN directory as follows: ---- svn co https://svn.ci.uchicago.edu/svn/vdl2/SwiftApps/swift-galaxy ---- -Step 1. Symlink the swift directory in the current directory from galaxy's top +Step 1. Create a symbolic link of the swift directory in the current directory from galaxy's top level directory. For example, if Galaxy top level directory is galaxy-dist and swift directory is /home/ketan/SwiftApps/swift-galaxy/swift: Added: SwiftApps/swift-galaxy/push =================================================================== --- SwiftApps/swift-galaxy/push (rev 0) +++ SwiftApps/swift-galaxy/push 2014-03-13 21:36:57 UTC (rev 7709) @@ -0,0 +1,5 @@ +#!/bin/bash + +scp tutorial.html login.ci.uchicago.edu:/ci/www/projects/swift/tutorials/galaxy/ +scp screenshots/* login.ci.uchicago.edu:/ci/www/projects/swift/tutorials/galaxy/screenshots/ + Property changes on: SwiftApps/swift-galaxy/push ___________________________________________________________________ Added: svn:executable + * From ketan at ci.uchicago.edu Thu Mar 13 16:37:30 2014 From: ketan at ci.uchicago.edu (ketan at ci.uchicago.edu) Date: Thu, 13 Mar 2014 16:37:30 -0500 (CDT) Subject: [Swift-commit] r7710 - in SwiftApps/cloud: . screenshots Message-ID: <20140313213730.B5DF49D651@svn.ci.uchicago.edu> Author: ketan Date: 2014-03-13 16:37:30 -0500 (Thu, 13 Mar 2014) New Revision: 7710 Added: SwiftApps/cloud/push SwiftApps/cloud/screenshots/ SwiftApps/cloud/screenshots/ec2screenshot.png Removed: SwiftApps/cloud/ec2screenshot.png Modified: SwiftApps/cloud/README Log: push script Modified: SwiftApps/cloud/README =================================================================== --- SwiftApps/cloud/README 2014-03-13 21:36:57 UTC (rev 7709) +++ SwiftApps/cloud/README 2014-03-13 21:37:30 UTC (rev 7710) @@ -71,7 +71,7 @@ Following screenshot shows places where you can manage the various EC2 related settings from the default web-gui: -image:ec2screenshot.png["EC2 screenshot", scaledwidth="30%"] +image:./screenshots/ec2screenshot.png["EC2 screenshot", scaledwidth="30%"] coaster-service.conf ~~~~~~~~~~~~~~~~~~~~~ Deleted: SwiftApps/cloud/ec2screenshot.png =================================================================== (Binary files differ) Added: SwiftApps/cloud/push =================================================================== --- SwiftApps/cloud/push (rev 0) +++ SwiftApps/cloud/push 2014-03-13 21:37:30 UTC (rev 7710) @@ -0,0 +1,5 @@ +#!/bin/bash + +scp tutorial.html login.ci.uchicago.edu:/ci/www/projects/swift/tutorials/cloud-provision/ +scp screenshots/* login.ci.uchicago.edu:/ci/www/projects/swift/tutorials/cloud-provision/screenshots/ + Property changes on: SwiftApps/cloud/push ___________________________________________________________________ Added: svn:executable + * Added: SwiftApps/cloud/screenshots/ec2screenshot.png =================================================================== (Binary files differ) Property changes on: SwiftApps/cloud/screenshots/ec2screenshot.png ___________________________________________________________________ Added: svn:mime-type + application/octet-stream From ketan at ci.uchicago.edu Thu Mar 13 21:20:19 2014 From: ketan at ci.uchicago.edu (ketan at ci.uchicago.edu) Date: Thu, 13 Mar 2014 21:20:19 -0500 (CDT) Subject: [Swift-commit] r7711 - SwiftApps/swift-galaxy/swift Message-ID: <20140314022019.B0CFB9D651@svn.ci.uchicago.edu> Author: ketan Date: 2014-03-13 21:20:19 -0500 (Thu, 13 Mar 2014) New Revision: 7711 Modified: SwiftApps/swift-galaxy/swift/swiftforeach.xml Log: flexible string and file args Modified: SwiftApps/swift-galaxy/swift/swiftforeach.xml =================================================================== --- SwiftApps/swift-galaxy/swift/swiftforeach.xml 2014-03-13 21:37:30 UTC (rev 7710) +++ SwiftApps/swift-galaxy/swift/swiftforeach.xml 2014-03-14 02:20:19 UTC (rev 7711) @@ -115,7 +115,26 @@ - + From ketan at ci.uchicago.edu Fri Mar 14 11:35:38 2014 From: ketan at ci.uchicago.edu (ketan at ci.uchicago.edu) Date: Fri, 14 Mar 2014 11:35:38 -0500 (CDT) Subject: [Swift-commit] r7712 - SwiftApps/swift-galaxy Message-ID: <20140314163538.61E729CD06@svn.ci.uchicago.edu> Author: ketan Date: 2014-03-14 11:35:33 -0500 (Fri, 14 Mar 2014) New Revision: 7712 Modified: SwiftApps/swift-galaxy/README Log: doc edit Modified: SwiftApps/swift-galaxy/README =================================================================== --- SwiftApps/swift-galaxy/README 2014-03-14 02:20:19 UTC (rev 7711) +++ SwiftApps/swift-galaxy/README 2014-03-14 16:35:33 UTC (rev 7712) @@ -88,8 +88,10 @@ image::./screenshots/overall.png["swift-galaxy screenshot", width=600, align="center"] -The following screenshot shows execution location selector. User can select one -or more execution locations from the list as their target execution site. +The rest of this section walks you through each of the components shown in the +above screen and their utility. The following screenshot shows execution +location selector. User can select one or more execution locations from the +list as their target execution site. image::./screenshots/execloc.png["execution location selector screenshot", width=200, align="center"] From ketan at ci.uchicago.edu Fri Mar 14 13:49:26 2014 From: ketan at ci.uchicago.edu (ketan at ci.uchicago.edu) Date: Fri, 14 Mar 2014 13:49:26 -0500 (CDT) Subject: [Swift-commit] r7713 - SwiftApps/swift-galaxy Message-ID: <20140314184926.1EF0C9CD06@svn.ci.uchicago.edu> Author: ketan Date: 2014-03-14 13:49:25 -0500 (Fri, 14 Mar 2014) New Revision: 7713 Modified: SwiftApps/swift-galaxy/README Log: troubleshoot Modified: SwiftApps/swift-galaxy/README =================================================================== --- SwiftApps/swift-galaxy/README 2014-03-14 16:35:33 UTC (rev 7712) +++ SwiftApps/swift-galaxy/README 2014-03-14 18:49:25 UTC (rev 7713) @@ -173,6 +173,17 @@ Step 6. For examples of other Galaxy-Swift tools, look into the swift directoty. +Troubleshoot +------------- + +Each tool generates a set of Swift source and configuration files. These files are placed in a unique directory with a random name generated on the fly. The location of the directory is in `/tmp` and it is prefixed with name `swift-gal.`. The suffix is a four letter random number. You can run Swift from this directory to reproduce possible issues as follows: + +---- +swift -tc.file tc -sites.file sites.xml -config cf script.swift +---- + +Feel free to contact Swift http://swift-lang.org/support/index.php[support] if issues persist. + Upcoming Features ------------------ From ketan at ci.uchicago.edu Fri Mar 14 13:50:53 2014 From: ketan at ci.uchicago.edu (ketan at ci.uchicago.edu) Date: Fri, 14 Mar 2014 13:50:53 -0500 (CDT) Subject: [Swift-commit] r7714 - SwiftApps/swift-galaxy Message-ID: <20140314185053.5667A9CD06@svn.ci.uchicago.edu> Author: ketan Date: 2014-03-14 13:50:53 -0500 (Fri, 14 Mar 2014) New Revision: 7714 Modified: SwiftApps/swift-galaxy/README Log: tiny Modified: SwiftApps/swift-galaxy/README =================================================================== --- SwiftApps/swift-galaxy/README 2014-03-14 18:49:25 UTC (rev 7713) +++ SwiftApps/swift-galaxy/README 2014-03-14 18:50:53 UTC (rev 7714) @@ -176,7 +176,7 @@ Troubleshoot ------------- -Each tool generates a set of Swift source and configuration files. These files are placed in a unique directory with a random name generated on the fly. The location of the directory is in `/tmp` and it is prefixed with name `swift-gal.`. The suffix is a four letter random number. You can run Swift from this directory to reproduce possible issues as follows: +Each tool generates a set of Swift source and configuration files. These files are placed in a unique directory with a random name generated on the fly. The location of the directory is in `/tmp` and it is prefixed with name `swift-gal.` . The suffix is a four letter random number. You can run Swift from this directory to reproduce possible issues as follows: ---- swift -tc.file tc -sites.file sites.xml -config cf script.swift From ketan at ci.uchicago.edu Fri Mar 14 14:01:16 2014 From: ketan at ci.uchicago.edu (ketan at ci.uchicago.edu) Date: Fri, 14 Mar 2014 14:01:16 -0500 (CDT) Subject: [Swift-commit] r7715 - SwiftApps/swift-galaxy/swift Message-ID: <20140314190116.880F19CD06@svn.ci.uchicago.edu> Author: ketan Date: 2014-03-14 14:01:16 -0500 (Fri, 14 Mar 2014) New Revision: 7715 Modified: SwiftApps/swift-galaxy/swift/swiftforeach.xml Log: link to tutorial in tool def Modified: SwiftApps/swift-galaxy/swift/swiftforeach.xml =================================================================== --- SwiftApps/swift-galaxy/swift/swiftforeach.xml 2014-03-14 18:50:53 UTC (rev 7714) +++ SwiftApps/swift-galaxy/swift/swiftforeach.xml 2014-03-14 19:01:16 UTC (rev 7715) @@ -187,5 +187,9 @@ echo n hello +----- + +For more help, see: http://swift-lang.org/tutorials/galaxy/tutorial.html + From ketan at ci.uchicago.edu Fri Mar 14 15:15:55 2014 From: ketan at ci.uchicago.edu (ketan at ci.uchicago.edu) Date: Fri, 14 Mar 2014 15:15:55 -0500 (CDT) Subject: [Swift-commit] r7716 - SwiftApps/swift-galaxy/swift Message-ID: <20140314201555.098549CF8D@svn.ci.uchicago.edu> Author: ketan Date: 2014-03-14 15:15:54 -0500 (Fri, 14 Mar 2014) New Revision: 7716 Modified: SwiftApps/swift-galaxy/swift/swiftforeachlist.sh SwiftApps/swift-galaxy/swift/swiftforeachrange.sh Log: header notice Modified: SwiftApps/swift-galaxy/swift/swiftforeachlist.sh =================================================================== --- SwiftApps/swift-galaxy/swift/swiftforeachlist.sh 2014-03-14 19:01:16 UTC (rev 7715) +++ SwiftApps/swift-galaxy/swift/swiftforeachlist.sh 2014-03-14 20:15:54 UTC (rev 7716) @@ -45,6 +45,15 @@ fi cat << EOF > $wdir/script.swift + +/* +* +* Swift source script is generated automatically via the Swift-Galaxy +* integration tool. Be careful before making any changes to it directly as +* it might be tied with other configuration and paramter values. +* +*/ + type file; app (file _out, file _err) anapp(file _exec, int _i, string _stringargs[], file _fileargs[]){ Modified: SwiftApps/swift-galaxy/swift/swiftforeachrange.sh =================================================================== --- SwiftApps/swift-galaxy/swift/swiftforeachrange.sh 2014-03-14 19:01:16 UTC (rev 7715) +++ SwiftApps/swift-galaxy/swift/swiftforeachrange.sh 2014-03-14 20:15:54 UTC (rev 7716) @@ -52,6 +52,15 @@ #Build Swift source code cat << EOF > $wdir/script.swift + +/* +* +* Swift source script is generated automatically via the Swift-Galaxy +* integration tool. Be careful before making any changes to it directly as +* it might be tied with other configuration and paramter values. +* +*/ + type file; app (file _out, file _err) anapp(file _exec, int _i, string _stringargs[], file _fileargs[]){ From ketan at ci.uchicago.edu Sat Mar 15 13:56:43 2014 From: ketan at ci.uchicago.edu (ketan at ci.uchicago.edu) Date: Sat, 15 Mar 2014 13:56:43 -0500 (CDT) Subject: [Swift-commit] r7717 - SwiftApps/raytrace/c-ray Message-ID: <20140315185643.904A79D584@svn.ci.uchicago.edu> Author: ketan Date: 2014-03-15 13:56:42 -0500 (Sat, 15 Mar 2014) New Revision: 7717 Added: SwiftApps/raytrace/c-ray/workflow.dia SwiftApps/raytrace/c-ray/workflow.png Modified: SwiftApps/raytrace/c-ray/c-ray.swift Log: workflow diagram Modified: SwiftApps/raytrace/c-ray/c-ray.swift =================================================================== --- SwiftApps/raytrace/c-ray/c-ray.swift 2014-03-14 20:15:54 UTC (rev 7716) +++ SwiftApps/raytrace/c-ray/c-ray.swift 2014-03-15 18:56:42 UTC (rev 7717) @@ -17,32 +17,25 @@ scene_template template <"tscene">; -app (scene out) generate (scene_template t, int i, int total) -{ +app (scene out) generate (scene_template t, int i, int total) { genscenes i total @t stdout=@out; } -app (image o) render (scene i, string r, int t) -{ +app (image o) render (scene i, string r, int t) { cray "-s" r "-t" t stdin=@i stdout=@o; } -app (movie o) convert (image i[], int d, int q) -{ +app (movie o) convert (image i[], int d, int q) { convert "-delay" d "-quality" q @filenames(i) @filename(o); } -app (image outimg) ppm2gif (image inimg) -{ +app (image outimg) ppm2gif (image inimg) { convert @filename(inimg) @filename(outimg); } scene scene_files[] ; - image image_files[] ; - image gif_files[] ; - movie output_movie <"output.gif">; foreach i in [1:steps] { Added: SwiftApps/raytrace/c-ray/workflow.dia =================================================================== (Binary files differ) Property changes on: SwiftApps/raytrace/c-ray/workflow.dia ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Added: SwiftApps/raytrace/c-ray/workflow.png =================================================================== (Binary files differ) Property changes on: SwiftApps/raytrace/c-ray/workflow.png ___________________________________________________________________ Added: svn:mime-type + application/octet-stream From ketan at ci.uchicago.edu Mon Mar 17 11:49:26 2014 From: ketan at ci.uchicago.edu (ketan at ci.uchicago.edu) Date: Mon, 17 Mar 2014 11:49:26 -0500 (CDT) Subject: [Swift-commit] r7718 - SwiftApps/cloud Message-ID: <20140317164926.C71A29D67B@svn.ci.uchicago.edu> Author: ketan Date: 2014-03-17 11:49:25 -0500 (Mon, 17 Mar 2014) New Revision: 7718 Modified: SwiftApps/cloud/addnodes SwiftApps/cloud/coaster-service.conf Log: spot pricing Modified: SwiftApps/cloud/addnodes =================================================================== --- SwiftApps/cloud/addnodes 2014-03-15 18:56:42 UTC (rev 7717) +++ SwiftApps/cloud/addnodes 2014-03-17 16:49:25 UTC (rev 7718) @@ -54,8 +54,16 @@ addbynum (){ echo "$1" - #ec2-run-instance -k -n 1 -g --instance-type - runinst=$(ec2-run-instance -k "$EC2KEYPAIR" -g "$EC2SECGRP" -n "$1" --instance-type t1.micro "$EC2AMI") + + if [ -z "$SPOT_PRICE" ] ; then + #ec2-run-instances -k -n 1 -g --instance-type + echo "spot ptice not set: $SPOT_PRICE" + runinst=$(ec2-run-instances -k "$EC2KEYPAIR" -g "$EC2SECGRP" -n "$1" --instance-type t1.micro "$EC2AMI") + else + echo "spot price set to: $SPOT_PRICE" + runinst=$(ec2-request-spot-instances -k "$EC2KEYPAIR" -g "$EC2SECGRP" -n "$1" --instance-type -p "$SPOT_PRICE" t1.micro "$EC2AMI") + fi + echo "Waiting for instances to start" sleep 60 for i in $(echo $runinst | grep -o '\bi-........\b'); do @@ -65,8 +73,13 @@ } #use getopts to check user options -while getopts ":a:n:" o ; do +while getopts ":a:n:p:" o ; do case $o in + p) + SPOT_PRICE=${OPTARG} + #echo "in p block" + ;; + a) addbyip ${OPTARG} ;; @@ -74,7 +87,7 @@ n) addbynum ${OPTARG} ;; - + *) usage ;; Modified: SwiftApps/cloud/coaster-service.conf =================================================================== --- SwiftApps/cloud/coaster-service.conf 2014-03-15 18:56:42 UTC (rev 7717) +++ SwiftApps/cloud/coaster-service.conf 2014-03-17 16:49:25 UTC (rev 7718) @@ -51,7 +51,7 @@ #app cat=/bin/cat #app bash=/bin/bash #app echo=/bin/echo -export WORKERURL="http://localhost:50003" +export WORKERURL="http://localhost:50001" export PID_FILE="/homes/ketan/.swift/.coaster-service-pids" export LOG="start-coaster-service.log" -export LOCAL_PORT="50003" +export LOCAL_PORT="50001" From ketan at ci.uchicago.edu Mon Mar 17 12:38:25 2014 From: ketan at ci.uchicago.edu (ketan at ci.uchicago.edu) Date: Mon, 17 Mar 2014 12:38:25 -0500 (CDT) Subject: [Swift-commit] r7719 - SwiftApps/cloud Message-ID: <20140317173825.6FA909D67B@svn.ci.uchicago.edu> Author: ketan Date: 2014-03-17 12:38:25 -0500 (Mon, 17 Mar 2014) New Revision: 7719 Modified: SwiftApps/cloud/README SwiftApps/cloud/addnodes Log: document spot instances and add more info on addnodes Modified: SwiftApps/cloud/README =================================================================== --- SwiftApps/cloud/README 2014-03-17 16:49:25 UTC (rev 7718) +++ SwiftApps/cloud/README 2014-03-17 17:38:25 UTC (rev 7719) @@ -202,7 +202,18 @@ ./addnodes -a "54.243.24.104 54.243.24.154" ---- +Add EC2 spot instances +~~~~~~~~~~~~~~~~~~~~~~ +To add resources from the EC2 spot instances, use the `-p` option of the `addnodes` command. For example, the following commandline will add 2 EC2 spot instances with a bid of $ 0.08 : + +---- +./addnodes -p 0.08 -n 2 +---- + +Note that there is no guarantee of the resources being available at this price. +In case the resources are not available, the request will be silently ignored. + Remove EC2 compute instances ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Modified: SwiftApps/cloud/addnodes =================================================================== --- SwiftApps/cloud/addnodes 2014-03-17 16:49:25 UTC (rev 7718) +++ SwiftApps/cloud/addnodes 2014-03-17 17:38:25 UTC (rev 7719) @@ -53,7 +53,6 @@ } addbynum (){ - echo "$1" if [ -z "$SPOT_PRICE" ] ; then #ec2-run-instances -k -n 1 -g --instance-type @@ -61,10 +60,10 @@ runinst=$(ec2-run-instances -k "$EC2KEYPAIR" -g "$EC2SECGRP" -n "$1" --instance-type t1.micro "$EC2AMI") else echo "spot price set to: $SPOT_PRICE" - runinst=$(ec2-request-spot-instances -k "$EC2KEYPAIR" -g "$EC2SECGRP" -n "$1" --instance-type -p "$SPOT_PRICE" t1.micro "$EC2AMI") + runinst=$(ec2rsi -k "$EC2KEYPAIR" -g "$EC2SECGRP" -n "$1" --instance-type -p "$SPOT_PRICE" t1.micro "$EC2AMI") fi - echo "Waiting for instances to start" + echo "Waiting for $1 instance(s) to start" sleep 60 for i in $(echo $runinst | grep -o '\bi-........\b'); do ip=$(ec2din $i | grep 'running' | awk '{print $15}') From ketan at ci.uchicago.edu Mon Mar 17 12:48:35 2014 From: ketan at ci.uchicago.edu (ketan at ci.uchicago.edu) Date: Mon, 17 Mar 2014 12:48:35 -0500 (CDT) Subject: [Swift-commit] r7720 - SwiftApps/cloud Message-ID: <20140317174835.79A4C9D67B@svn.ci.uchicago.edu> Author: ketan Date: 2014-03-17 12:48:35 -0500 (Mon, 17 Mar 2014) New Revision: 7720 Modified: SwiftApps/cloud/addnodes Log: addnode debug Modified: SwiftApps/cloud/addnodes =================================================================== --- SwiftApps/cloud/addnodes 2014-03-17 17:38:25 UTC (rev 7719) +++ SwiftApps/cloud/addnodes 2014-03-17 17:48:35 UTC (rev 7720) @@ -60,7 +60,7 @@ runinst=$(ec2-run-instances -k "$EC2KEYPAIR" -g "$EC2SECGRP" -n "$1" --instance-type t1.micro "$EC2AMI") else echo "spot price set to: $SPOT_PRICE" - runinst=$(ec2rsi -k "$EC2KEYPAIR" -g "$EC2SECGRP" -n "$1" --instance-type -p "$SPOT_PRICE" t1.micro "$EC2AMI") + runinst=$(ec2rsi -k "$EC2KEYPAIR" -g "$EC2SECGRP" -n "$1" -p "$SPOT_PRICE" --instance-type t1.micro "$EC2AMI") fi echo "Waiting for $1 instance(s) to start" From ketan at ci.uchicago.edu Mon Mar 17 13:06:27 2014 From: ketan at ci.uchicago.edu (ketan at ci.uchicago.edu) Date: Mon, 17 Mar 2014 13:06:27 -0500 (CDT) Subject: [Swift-commit] r7721 - SwiftApps/cloud Message-ID: <20140317180627.EBC9C9D67B@svn.ci.uchicago.edu> Author: ketan Date: 2014-03-17 13:06:27 -0500 (Mon, 17 Mar 2014) New Revision: 7721 Added: SwiftApps/cloud/apps SwiftApps/cloud/catnap.sh Log: add test script Added: SwiftApps/cloud/apps =================================================================== --- SwiftApps/cloud/apps (rev 0) +++ SwiftApps/cloud/apps 2014-03-17 18:06:27 UTC (rev 7721) @@ -0,0 +1,7 @@ +persistent-coasters cat /bin/cat +persistent-coasters bash /bin/bash +persistent-coasters echo /bin/echo + +persistent-coasters cat /bin/cat +persistent-coasters bash /bin/bash +persistent-coasters echo /bin/echo Added: SwiftApps/cloud/catnap.sh =================================================================== --- SwiftApps/cloud/catnap.sh (rev 0) +++ SwiftApps/cloud/catnap.sh 2014-03-17 18:06:27 UTC (rev 7721) @@ -0,0 +1,5 @@ +#! /bin/sh +sleep $1 +shift +cat $* + Property changes on: SwiftApps/cloud/catnap.sh ___________________________________________________________________ Added: svn:executable + * From ketan at ci.uchicago.edu Mon Mar 17 14:21:50 2014 From: ketan at ci.uchicago.edu (ketan at ci.uchicago.edu) Date: Mon, 17 Mar 2014 14:21:50 -0500 (CDT) Subject: [Swift-commit] r7722 - SwiftApps/swift-galaxy/swift Message-ID: <20140317192150.594E49D0B4@svn.ci.uchicago.edu> Author: ketan Date: 2014-03-17 14:21:50 -0500 (Mon, 17 Mar 2014) New Revision: 7722 Modified: SwiftApps/swift-galaxy/swift/swiftforeach.xml SwiftApps/swift-galaxy/swift/swiftforeachlist.sh SwiftApps/swift-galaxy/swift/swiftforeachrange.sh Log: stdin file Modified: SwiftApps/swift-galaxy/swift/swiftforeach.xml =================================================================== --- SwiftApps/swift-galaxy/swift/swiftforeach.xml 2014-03-17 18:06:27 UTC (rev 7721) +++ SwiftApps/swift-galaxy/swift/swiftforeach.xml 2014-03-17 19:21:50 UTC (rev 7722) @@ -18,6 +18,7 @@ "${swiftargs}" "${interpret}" "${exec}" + "${stdin}" "${rangeorlist.rngstart}" "${rangeorlist.rend}" "${rangeorlist.stepsize}" @@ -34,6 +35,7 @@ "${swiftargs}" "${interpret}" "${exec}" + "${stdin}" "${rangeorlist.listfile}" "${outloc}" "${logfile}" @@ -48,6 +50,7 @@ "${swiftargs}" "${interpret}" "${exec}" + "${stdin}" "${rangeorlist.rngstart}" "${rangeorlist.rend}" "${rangeorlist.stepsize}" @@ -89,6 +92,7 @@ + Modified: SwiftApps/swift-galaxy/swift/swiftforeachlist.sh =================================================================== --- SwiftApps/swift-galaxy/swift/swiftforeachlist.sh 2014-03-17 18:06:27 UTC (rev 7721) +++ SwiftApps/swift-galaxy/swift/swiftforeachlist.sh 2014-03-17 19:21:50 UTC (rev 7722) @@ -11,6 +11,8 @@ shift executable=$1 shift +stdin=$1 +shift listfile=$1 shift outloc=$1 @@ -19,7 +21,6 @@ shift logfile=$1 shift - stringargs=$1 shift @@ -30,6 +31,13 @@ stringarrayexpr='string stringargs[];' fi +#workout standard input file +if [ "${stdin}" ] ; then + stdinfile="${stdin}" +else + stdinfile="/dev/null" +fi + fileargs=() while [ $# -gt 0 ] ; do fileargs+=("\"$1\"") @@ -56,8 +64,8 @@ type file; -app (file _out, file _err) anapp(file _exec, int _i, string _stringargs[], file _fileargs[]){ - $interpreter @_exec _i _stringargs @_fileargs stdout=@_out stderr=@_err; +app (file _out, file _err) anapp(file _exec, int _i, string _stringargs[], file _fileargs[], file _stdin){ + $interpreter @_exec _i _stringargs @_fileargs stdin=@_stdin stdout=@_out stderr=@_err; } $stringarrayexpr $filearrayexpr @@ -68,7 +76,7 @@ foreach l, i in list{ file out ; file err ; - (out,err) = anapp(exec, i, stringargs, fileargs); + (out,err) = anapp(exec, i, stringargs, fileargs,"${stdinfile}"); } EOF Modified: SwiftApps/swift-galaxy/swift/swiftforeachrange.sh =================================================================== --- SwiftApps/swift-galaxy/swift/swiftforeachrange.sh 2014-03-17 18:06:27 UTC (rev 7721) +++ SwiftApps/swift-galaxy/swift/swiftforeachrange.sh 2014-03-17 19:21:50 UTC (rev 7722) @@ -12,6 +12,8 @@ shift executable=$1 shift +stdin=$1 +shift rstart=$1 shift rend=$1 @@ -35,6 +37,13 @@ stringarrayexpr='string stringargs[];' fi +#workout standard input file +if [ "${stdin}" ] ; then + stdinfile="${stdin}" +else + stdinfile="/dev/null" +fi + fileargs=() while [ $# -gt 0 ] ; do fileargs+=("\"$1\"") @@ -63,8 +72,8 @@ type file; -app (file _out, file _err) anapp(file _exec, int _i, string _stringargs[], file _fileargs[]){ - $interpreter @_exec _i _stringargs @_fileargs stdout=@_out stderr=@_err; +app (file _out, file _err) anapp(file _exec, int _i, string _stringargs[], file _fileargs[], file _stdin){ + $interpreter @_exec _i _stringargs @_fileargs stdin=@_stdin stdout=@_out stderr=@_err; } $stringarrayexpr @@ -74,7 +83,7 @@ foreach i in [$rstart:$rend:$stepsize]{ file out ; file err ; - (out,err) = anapp(exec, i, stringargs, fileargs); + (out,err) = anapp(exec, i, stringargs, fileargs, "${stdinfile}"); } EOF From ketan at ci.uchicago.edu Mon Mar 17 14:34:24 2014 From: ketan at ci.uchicago.edu (ketan at ci.uchicago.edu) Date: Mon, 17 Mar 2014 14:34:24 -0500 (CDT) Subject: [Swift-commit] r7723 - SwiftApps/swift-galaxy/swift Message-ID: <20140317193424.CA9F29D0B4@svn.ci.uchicago.edu> Author: ketan Date: 2014-03-17 14:34:24 -0500 (Mon, 17 Mar 2014) New Revision: 7723 Modified: SwiftApps/swift-galaxy/swift/swiftforeachlist.sh SwiftApps/swift-galaxy/swift/swiftforeachrange.sh Log: stdin file expression in source Modified: SwiftApps/swift-galaxy/swift/swiftforeachlist.sh =================================================================== --- SwiftApps/swift-galaxy/swift/swiftforeachlist.sh 2014-03-17 19:21:50 UTC (rev 7722) +++ SwiftApps/swift-galaxy/swift/swiftforeachlist.sh 2014-03-17 19:34:24 UTC (rev 7723) @@ -33,9 +33,9 @@ #workout standard input file if [ "${stdin}" ] ; then - stdinfile="${stdin}" + stdinfilexpr='file stdinfile<'\"${stdin}\"'>;' else - stdinfile="/dev/null" + stdinfilexpr='file stdinfile<'\"/dev/null\"'>;' fi fileargs=() @@ -69,6 +69,7 @@ } $stringarrayexpr $filearrayexpr +$stdinfilexpr file exec<"$executable">; file listfile<"$listfile">; @@ -76,7 +77,7 @@ foreach l, i in list{ file out ; file err ; - (out,err) = anapp(exec, i, stringargs, fileargs,"${stdinfile}"); + (out,err) = anapp(exec, i, stringargs, fileargs, stdinfile); } EOF Modified: SwiftApps/swift-galaxy/swift/swiftforeachrange.sh =================================================================== --- SwiftApps/swift-galaxy/swift/swiftforeachrange.sh 2014-03-17 19:21:50 UTC (rev 7722) +++ SwiftApps/swift-galaxy/swift/swiftforeachrange.sh 2014-03-17 19:34:24 UTC (rev 7723) @@ -39,9 +39,9 @@ #workout standard input file if [ "${stdin}" ] ; then - stdinfile="${stdin}" + stdinfilexpr='file stdinfile<'\"${stdin}\"'>;' else - stdinfile="/dev/null" + stdinfilexpr='file stdinfile<'\"/dev/null\"'>;' fi fileargs=() @@ -78,12 +78,13 @@ $stringarrayexpr $filearrayexpr +$stdinfilexpr file exec<"$executable">; foreach i in [$rstart:$rend:$stepsize]{ file out ; file err ; - (out,err) = anapp(exec, i, stringargs, fileargs, "${stdinfile}"); + (out,err) = anapp(exec, i, stringargs, fileargs, stdinfile); } EOF From ketan at ci.uchicago.edu Tue Mar 18 10:36:33 2014 From: ketan at ci.uchicago.edu (ketan at ci.uchicago.edu) Date: Tue, 18 Mar 2014 10:36:33 -0500 (CDT) Subject: [Swift-commit] r7724 - SwiftApps/swift-galaxy/swift Message-ID: <20140318153633.D50179D0E4@svn.ci.uchicago.edu> Author: ketan Date: 2014-03-18 10:36:32 -0500 (Tue, 18 Mar 2014) New Revision: 7724 Modified: SwiftApps/swift-galaxy/swift/swiftforeach.xml Log: set stdin optional Modified: SwiftApps/swift-galaxy/swift/swiftforeach.xml =================================================================== --- SwiftApps/swift-galaxy/swift/swiftforeach.xml 2014-03-17 19:34:24 UTC (rev 7723) +++ SwiftApps/swift-galaxy/swift/swiftforeach.xml 2014-03-18 15:36:32 UTC (rev 7724) @@ -92,8 +92,9 @@ - + + From ketan at ci.uchicago.edu Wed Mar 19 10:22:37 2014 From: ketan at ci.uchicago.edu (ketan at ci.uchicago.edu) Date: Wed, 19 Mar 2014 10:22:37 -0500 (CDT) Subject: [Swift-commit] r7725 - SwiftApps/cloud Message-ID: <20140319152237.7C8489D0E4@svn.ci.uchicago.edu> Author: ketan Date: 2014-03-19 10:22:37 -0500 (Wed, 19 Mar 2014) New Revision: 7725 Modified: SwiftApps/cloud/README Log: upcoming features Modified: SwiftApps/cloud/README =================================================================== --- SwiftApps/cloud/README 2014-03-18 15:36:32 UTC (rev 7724) +++ SwiftApps/cloud/README 2014-03-19 15:22:37 UTC (rev 7725) @@ -298,7 +298,7 @@ c. Swift runs fail: Check if ports are open between submithost and cloud instance: ---- -ec2-describe-security-groups $(ec2-describe-instances | grep 'RESERVATION' | awk '{print $4}') +ec2-describe-group $(ec2-describe-instances | grep 'RESERVATION' | awk '{print $4}') ---- The output will look similar to (some fields are removed for brevity): @@ -316,3 +316,11 @@ Above output shows the group description for the security groups associated with your running instances. Feel free to contact Swift http://swift-lang.org/support/index.php[support] if issues persist. + +Upcoming Features +------------------ + +. Ability to test and automatically create appropriate security groups along with instance creation. +. Ability to test and create keypairs if not exist for accessing the EC2 resources. +. Ability to sense resource creation limits and steer requests to new regions if limits are reached. + From ketan at ci.uchicago.edu Wed Mar 19 10:43:45 2014 From: ketan at ci.uchicago.edu (ketan at ci.uchicago.edu) Date: Wed, 19 Mar 2014 10:43:45 -0500 (CDT) Subject: [Swift-commit] r7726 - SwiftApps/cloud Message-ID: <20140319154345.7F1D29D0E4@svn.ci.uchicago.edu> Author: ketan Date: 2014-03-19 10:43:45 -0500 (Wed, 19 Mar 2014) New Revision: 7726 Modified: SwiftApps/cloud/coaster-service.conf Log: coaster-service conf changes Modified: SwiftApps/cloud/coaster-service.conf =================================================================== --- SwiftApps/cloud/coaster-service.conf 2014-03-19 15:22:37 UTC (rev 7725) +++ SwiftApps/cloud/coaster-service.conf 2014-03-19 15:43:45 UTC (rev 7726) @@ -1,5 +1,6 @@ -#Amazon EC2 specific env +#Amazon EC2 specific env; change as per your set up + export EC2KEYPAIR="ketan" export EC2AMI="ami-cf0953a6" export EC2SECGRP="Swift" @@ -8,7 +9,7 @@ export SWIFT= # Where to place/launch worker.pl on the remote machine for sites.xml -export WORKER_LOCATION=/root +export WORKER_LOCATION=/tmp # How to launch workers: local, ssh, or cobalt export WORKER_MODE=ssh @@ -27,7 +28,7 @@ # Directory to keep log files, relative to working directory when launching start-coaster-service export LOG_DIR=logs -export WORKER_LOG_DIR=/root +export WORKER_LOG_DIR=/tmp # Manually define ports. If not specified, ports will be automatically generated #export SERVICE_PORT=50200 @@ -41,7 +42,7 @@ export IPADDR= # Below are various settings to give information about how to create sites.xml -export WORK=/tmp/ketan +export WORK=/tmp export JOBS_PER_NODE=2 export JOBSPERNODE=2 export JOBTHROTTLE=$( echo "scale=5; ( $JOBS_PER_NODE * $(echo $WORKER_HOSTS | wc -w ))/100 - 0.00001 + 10.0 "|bc ) @@ -51,6 +52,8 @@ #app cat=/bin/cat #app bash=/bin/bash #app echo=/bin/echo + +# === DO NOT EDIT BEYOND THIS LINE === export WORKERURL="http://localhost:50001" export PID_FILE="/homes/ketan/.swift/.coaster-service-pids" export LOG="start-coaster-service.log" From ketan at ci.uchicago.edu Wed Mar 19 10:54:57 2014 From: ketan at ci.uchicago.edu (ketan at ci.uchicago.edu) Date: Wed, 19 Mar 2014 10:54:57 -0500 (CDT) Subject: [Swift-commit] r7727 - SwiftApps/cloud Message-ID: <20140319155457.46F759D0E4@svn.ci.uchicago.edu> Author: ketan Date: 2014-03-19 10:54:57 -0500 (Wed, 19 Mar 2014) New Revision: 7727 Modified: SwiftApps/cloud/addnodes Log: typo and instance type change Modified: SwiftApps/cloud/addnodes =================================================================== --- SwiftApps/cloud/addnodes 2014-03-19 15:43:45 UTC (rev 7726) +++ SwiftApps/cloud/addnodes 2014-03-19 15:54:57 UTC (rev 7727) @@ -56,11 +56,11 @@ if [ -z "$SPOT_PRICE" ] ; then #ec2-run-instances -k -n 1 -g --instance-type - echo "spot ptice not set: $SPOT_PRICE" - runinst=$(ec2-run-instances -k "$EC2KEYPAIR" -g "$EC2SECGRP" -n "$1" --instance-type t1.micro "$EC2AMI") + echo "spot price not set: $SPOT_PRICE" + runinst=$(ec2-run-instances -k "$EC2KEYPAIR" -g "$EC2SECGRP" -n "$1" --instance-type m1.small "$EC2AMI") else echo "spot price set to: $SPOT_PRICE" - runinst=$(ec2rsi -k "$EC2KEYPAIR" -g "$EC2SECGRP" -n "$1" -p "$SPOT_PRICE" --instance-type t1.micro "$EC2AMI") + runinst=$(ec2rsi -k "$EC2KEYPAIR" -g "$EC2SECGRP" -n "$1" -p "$SPOT_PRICE" --instance-type m1.small "$EC2AMI") fi echo "Waiting for $1 instance(s) to start" From ketan at ci.uchicago.edu Wed Mar 19 11:11:07 2014 From: ketan at ci.uchicago.edu (ketan at ci.uchicago.edu) Date: Wed, 19 Mar 2014 11:11:07 -0500 (CDT) Subject: [Swift-commit] r7728 - SwiftApps/cloud Message-ID: <20140319161107.0F5E19D0E4@svn.ci.uchicago.edu> Author: ketan Date: 2014-03-19 11:11:06 -0500 (Wed, 19 Mar 2014) New Revision: 7728 Modified: SwiftApps/cloud/addnodes Log: consistent commandline to get ec2 ip Modified: SwiftApps/cloud/addnodes =================================================================== --- SwiftApps/cloud/addnodes 2014-03-19 15:54:57 UTC (rev 7727) +++ SwiftApps/cloud/addnodes 2014-03-19 16:11:06 UTC (rev 7728) @@ -66,7 +66,8 @@ echo "Waiting for $1 instance(s) to start" sleep 60 for i in $(echo $runinst | grep -o '\bi-........\b'); do - ip=$(ec2din $i | grep 'running' | awk '{print $15}') + #ip=$(ec2din $i | grep 'running' | awk '{print $15}') + ip=$(ec2din --show-empty-fields | grep running | awk '{print $17}') start_worker_ssh $ip done } From ketan at ci.uchicago.edu Wed Mar 19 11:29:19 2014 From: ketan at ci.uchicago.edu (ketan at ci.uchicago.edu) Date: Wed, 19 Mar 2014 11:29:19 -0500 (CDT) Subject: [Swift-commit] r7729 - SwiftApps/cloud Message-ID: <20140319162919.D423C9D0E4@svn.ci.uchicago.edu> Author: ketan Date: 2014-03-19 11:29:19 -0500 (Wed, 19 Mar 2014) New Revision: 7729 Modified: SwiftApps/cloud/remnodes Log: ec2 cmd fix in remove nodes Modified: SwiftApps/cloud/remnodes =================================================================== --- SwiftApps/cloud/remnodes 2014-03-19 16:11:06 UTC (rev 7728) +++ SwiftApps/cloud/remnodes 2014-03-19 16:29:19 UTC (rev 7729) @@ -9,7 +9,7 @@ rem_instance() { MACHINE=$1 #ec2din | grep 54.243.24.154 | awk '{print $2}' - instanceid=$(ec2din | grep $1 | awk '{print $2}') + instanceid=$(ec2din --show-empty-fields | grep $1 | awk '{print $2}') ec2kill $instanceid # Connect directly return 0 @@ -25,7 +25,8 @@ rembynum (){ #ec2-run-instance -k -n 1 -g --instance-type for i in $(seq 1 $1); do - ip=$(ec2din | grep running | head -1 | awk '{print $15}') + #ip=$(ec2din | grep running | head -1 | awk '{print $15}') + ip=$(ec2din --show-empty-fields | grep running | awk '{print $17}') rem_instance "${ip}" sleep 15 done From ketan at ci.uchicago.edu Wed Mar 19 11:52:09 2014 From: ketan at ci.uchicago.edu (ketan at ci.uchicago.edu) Date: Wed, 19 Mar 2014 11:52:09 -0500 (CDT) Subject: [Swift-commit] r7730 - SwiftApps/cloud Message-ID: <20140319165209.7FB5F9D67B@svn.ci.uchicago.edu> Author: ketan Date: 2014-03-19 11:52:09 -0500 (Wed, 19 Mar 2014) New Revision: 7730 Added: SwiftApps/cloud/cleanup.sh Log: cleanup script Added: SwiftApps/cloud/cleanup.sh =================================================================== --- SwiftApps/cloud/cleanup.sh (rev 0) +++ SwiftApps/cloud/cleanup.sh 2014-03-19 16:52:09 UTC (rev 7730) @@ -0,0 +1,4 @@ +#!/bin/bash + +rm -rf *.log *.rlog *.d *.kml _concurrent *.swiftx .nfs00000* + From ketan at ci.uchicago.edu Wed Mar 19 12:24:03 2014 From: ketan at ci.uchicago.edu (ketan at ci.uchicago.edu) Date: Wed, 19 Mar 2014 12:24:03 -0500 (CDT) Subject: [Swift-commit] r7731 - SwiftApps/cloud Message-ID: <20140319172403.DEB379D67B@svn.ci.uchicago.edu> Author: ketan Date: 2014-03-19 12:24:03 -0500 (Wed, 19 Mar 2014) New Revision: 7731 Modified: SwiftApps/cloud/addnodes SwiftApps/cloud/apps SwiftApps/cloud/remnodes Log: new api Modified: SwiftApps/cloud/addnodes =================================================================== --- SwiftApps/cloud/addnodes 2014-03-19 16:52:09 UTC (rev 7730) +++ SwiftApps/cloud/addnodes 2014-03-19 17:24:03 UTC (rev 7731) @@ -67,7 +67,7 @@ sleep 60 for i in $(echo $runinst | grep -o '\bi-........\b'); do #ip=$(ec2din $i | grep 'running' | awk '{print $15}') - ip=$(ec2din --show-empty-fields | grep running | awk '{print $17}') + ip=$(ec2din --show-empty-fields $i | grep running | awk '{print $17}') start_worker_ssh $ip done } Modified: SwiftApps/cloud/apps =================================================================== --- SwiftApps/cloud/apps 2014-03-19 16:52:09 UTC (rev 7730) +++ SwiftApps/cloud/apps 2014-03-19 17:24:03 UTC (rev 7731) @@ -1,7 +1,3 @@ persistent-coasters cat /bin/cat persistent-coasters bash /bin/bash persistent-coasters echo /bin/echo - -persistent-coasters cat /bin/cat -persistent-coasters bash /bin/bash -persistent-coasters echo /bin/echo Modified: SwiftApps/cloud/remnodes =================================================================== --- SwiftApps/cloud/remnodes 2014-03-19 16:52:09 UTC (rev 7730) +++ SwiftApps/cloud/remnodes 2014-03-19 17:24:03 UTC (rev 7731) @@ -9,7 +9,7 @@ rem_instance() { MACHINE=$1 #ec2din | grep 54.243.24.154 | awk '{print $2}' - instanceid=$(ec2din --show-empty-fields | grep $1 | awk '{print $2}') + instanceid=$(ec2din --show-empty-fields | grep $MACHINE | awk '{print $2}') ec2kill $instanceid # Connect directly return 0 @@ -26,9 +26,9 @@ #ec2-run-instance -k -n 1 -g --instance-type for i in $(seq 1 $1); do #ip=$(ec2din | grep running | head -1 | awk '{print $15}') - ip=$(ec2din --show-empty-fields | grep running | awk '{print $17}') + ip=$(ec2din --show-empty-fields | grep -E 'INSTANCE.*running' | head -n 1 | awk '{print $17}') rem_instance "${ip}" - sleep 15 + sleep 5 done } From ketan at ci.uchicago.edu Wed Mar 19 12:42:03 2014 From: ketan at ci.uchicago.edu (ketan at ci.uchicago.edu) Date: Wed, 19 Mar 2014 12:42:03 -0500 (CDT) Subject: [Swift-commit] r7732 - SwiftApps/cloud Message-ID: <20140319174203.A1BFC9D67B@svn.ci.uchicago.edu> Author: ketan Date: 2014-03-19 12:42:03 -0500 (Wed, 19 Mar 2014) New Revision: 7732 Modified: SwiftApps/cloud/addnodes Log: addnodes per the new api Modified: SwiftApps/cloud/addnodes =================================================================== --- SwiftApps/cloud/addnodes 2014-03-19 17:24:03 UTC (rev 7731) +++ SwiftApps/cloud/addnodes 2014-03-19 17:42:03 UTC (rev 7732) @@ -65,7 +65,7 @@ echo "Waiting for $1 instance(s) to start" sleep 60 - for i in $(echo $runinst | grep -o '\bi-........\b'); do + for i in $(echo $runinst | grep 'INSTANCE' | grep -o '\bi-........\b'); do #ip=$(ec2din $i | grep 'running' | awk '{print $15}') ip=$(ec2din --show-empty-fields $i | grep running | awk '{print $17}') start_worker_ssh $ip From ketan at ci.uchicago.edu Wed Mar 19 12:55:13 2014 From: ketan at ci.uchicago.edu (ketan at ci.uchicago.edu) Date: Wed, 19 Mar 2014 12:55:13 -0500 (CDT) Subject: [Swift-commit] r7733 - SwiftApps/cloud Message-ID: <20140319175513.79D039D0E4@svn.ci.uchicago.edu> Author: ketan Date: 2014-03-19 12:55:13 -0500 (Wed, 19 Mar 2014) New Revision: 7733 Modified: SwiftApps/cloud/README Log: documentation as per the new api Modified: SwiftApps/cloud/README =================================================================== --- SwiftApps/cloud/README 2014-03-19 17:42:03 UTC (rev 7732) +++ SwiftApps/cloud/README 2014-03-19 17:55:13 UTC (rev 7733) @@ -15,14 +15,27 @@ EC2 CLI API ------------ -For the purpose of this tutorial, installation and setup of EC2 commandline -tools API is assumed. In other words, EC2 commands such as `ec2-run-instances`, -`ec2kill`, etc must be available in your environment. Instructions for setting -the EC2 CLI API ican be found +This tutorial is tested with EC2 commandline tools API version +1.6.12.2+. The +instructions for download, install and configuring the EC2 CLI API can be found http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/SettingUp_CommandLine.html[here]. +For quick install, you can download a copy as follows: -Installation and setup ----------------------- +---- +wget http://www.mcs.anl.gov/~ketan/ec2-api-tools.zip +unzip ec2-api-tools.zip +---- + +Make sure the `PATH` is set to point to the `bin` directory of the unzipped API +package. For example, if the package is unzipped in `$HOME`: + +---- +export PATH=$HOME/ec2-api-tools-1.6.12.2/bin:$PATH +---- + + +Swift Installation +------------------- + To install Swift, follow the instructions found http://swift-lang.org/downloads/index.php[here]. We use the Swift version 0.94 from the SVN repository. Note that Swift installation is required only on the @@ -34,6 +47,7 @@ cd swift-cloud ---- + Configure ---------- From ketan at ci.uchicago.edu Wed Mar 19 13:30:26 2014 From: ketan at ci.uchicago.edu (ketan at ci.uchicago.edu) Date: Wed, 19 Mar 2014 13:30:26 -0500 (CDT) Subject: [Swift-commit] r7734 - SwiftApps/cloud Message-ID: <20140319183026.0A2DC9D0E4@svn.ci.uchicago.edu> Author: ketan Date: 2014-03-19 13:30:25 -0500 (Wed, 19 Mar 2014) New Revision: 7734 Modified: SwiftApps/cloud/addnodes SwiftApps/cloud/remnodes Log: take into account the keypairs when adding or removing instances Modified: SwiftApps/cloud/addnodes =================================================================== --- SwiftApps/cloud/addnodes 2014-03-19 17:55:13 UTC (rev 7733) +++ SwiftApps/cloud/addnodes 2014-03-19 18:30:25 UTC (rev 7734) @@ -65,7 +65,7 @@ echo "Waiting for $1 instance(s) to start" sleep 60 - for i in $(echo $runinst | grep 'INSTANCE' | grep -o '\bi-........\b'); do + for i in $(echo $runinst | grep -E "INSTANCE.*$EC2KEYPAIR" | grep -o '\bi-........\b'); do #ip=$(ec2din $i | grep 'running' | awk '{print $15}') ip=$(ec2din --show-empty-fields $i | grep running | awk '{print $17}') start_worker_ssh $ip Modified: SwiftApps/cloud/remnodes =================================================================== --- SwiftApps/cloud/remnodes 2014-03-19 17:55:13 UTC (rev 7733) +++ SwiftApps/cloud/remnodes 2014-03-19 18:30:25 UTC (rev 7734) @@ -26,7 +26,7 @@ #ec2-run-instance -k -n 1 -g --instance-type for i in $(seq 1 $1); do #ip=$(ec2din | grep running | head -1 | awk '{print $15}') - ip=$(ec2din --show-empty-fields | grep -E 'INSTANCE.*running' | head -n 1 | awk '{print $17}') + ip=$(ec2din --show-empty-fields | grep -E "INSTANCE.*running.*$EC2KEYPAIR" | head -n 1 | awk '{print $17}') rem_instance "${ip}" sleep 5 done From ketan at ci.uchicago.edu Wed Mar 19 13:52:10 2014 From: ketan at ci.uchicago.edu (ketan at ci.uchicago.edu) Date: Wed, 19 Mar 2014 13:52:10 -0500 (CDT) Subject: [Swift-commit] r7735 - SwiftApps/swift-galaxy/swift Message-ID: <20140319185210.3EC919D67B@svn.ci.uchicago.edu> Author: ketan Date: 2014-03-19 13:52:10 -0500 (Wed, 19 Mar 2014) New Revision: 7735 Modified: SwiftApps/swift-galaxy/swift/swiftforeachlist.sh SwiftApps/swift-galaxy/swift/swiftforeachrange.sh Log: small improvements Modified: SwiftApps/swift-galaxy/swift/swiftforeachlist.sh =================================================================== --- SwiftApps/swift-galaxy/swift/swiftforeachlist.sh 2014-03-19 18:30:25 UTC (rev 7734) +++ SwiftApps/swift-galaxy/swift/swiftforeachlist.sh 2014-03-19 18:52:10 UTC (rev 7735) @@ -104,10 +104,14 @@ EOF done +touch None # Create a "None" file in case user does not specify any stdin file + +#invoke swift $swift -sites.file $wdir/sites.xml -tc.file $wdir/tc -config $wdir/cf $wdir/script.swift "${swiftargs}" 2>$logfile EXITCODE=$? -`for i in \`find $HOME/swift-sandbox -type f\`; do echo "\`basename $i\` $i"; done` +`for i in \`find $outloc -type f\`; do echo "\`basename $i\` $i"; done` + cat << EOF > $outlistfile `for i in $(find $outloc -type f -iname "*.out"); do echo "$i"; done` EOF Modified: SwiftApps/swift-galaxy/swift/swiftforeachrange.sh =================================================================== --- SwiftApps/swift-galaxy/swift/swiftforeachrange.sh 2014-03-19 18:30:25 UTC (rev 7734) +++ SwiftApps/swift-galaxy/swift/swiftforeachrange.sh 2014-03-19 18:52:10 UTC (rev 7735) @@ -112,6 +112,7 @@ EOF done +touch None # Create a "None" file in case user does not specify any stdin file $swift -sites.file $wdir/sites.xml -tc.file $wdir/tc -config $wdir/cf $wdir/script.swift "${swiftargs}" 2>$logfile EXITCODE=$? From ketan at ci.uchicago.edu Wed Mar 19 13:52:57 2014 From: ketan at ci.uchicago.edu (ketan at ci.uchicago.edu) Date: Wed, 19 Mar 2014 13:52:57 -0500 (CDT) Subject: [Swift-commit] r7736 - SwiftApps/raytrace/c-ray Message-ID: <20140319185257.BBA739D67B@svn.ci.uchicago.edu> Author: ketan Date: 2014-03-19 13:52:57 -0500 (Wed, 19 Mar 2014) New Revision: 7736 Modified: SwiftApps/raytrace/c-ray/genscenes.sh Log: comment unnecessary line Modified: SwiftApps/raytrace/c-ray/genscenes.sh =================================================================== --- SwiftApps/raytrace/c-ray/genscenes.sh 2014-03-19 18:52:10 UTC (rev 7735) +++ SwiftApps/raytrace/c-ray/genscenes.sh 2014-03-19 18:52:57 UTC (rev 7736) @@ -3,7 +3,7 @@ z=-2.0 templ=$3 -sed -e "s/\@/$z/" $templ > scene.0.data +#sed -e "s/\@/$z/" $templ > scene.0.data incr=$(echo "scale=4; 4.0/$steps" | bc) z=$(echo "scale=4; $z+$incr*$step" | bc) From davidk at ci.uchicago.edu Wed Mar 19 13:56:17 2014 From: davidk at ci.uchicago.edu (davidk at ci.uchicago.edu) Date: Wed, 19 Mar 2014 13:56:17 -0500 (CDT) Subject: [Swift-commit] r7737 - SwiftApps/cloud Message-ID: <20140319185617.3E85D9D67B@svn.ci.uchicago.edu> Author: davidk Date: 2014-03-19 13:56:17 -0500 (Wed, 19 Mar 2014) New Revision: 7737 Modified: SwiftApps/cloud/addnodes SwiftApps/cloud/monitor SwiftApps/cloud/remnodes Log: Set executable bits Property changes on: SwiftApps/cloud/addnodes ___________________________________________________________________ Added: svn:executable + * Property changes on: SwiftApps/cloud/monitor ___________________________________________________________________ Added: svn:executable + * Property changes on: SwiftApps/cloud/remnodes ___________________________________________________________________ Added: svn:executable + * From davidk at ci.uchicago.edu Wed Mar 19 14:01:07 2014 From: davidk at ci.uchicago.edu (davidk at ci.uchicago.edu) Date: Wed, 19 Mar 2014 14:01:07 -0500 (CDT) Subject: [Swift-commit] r7738 - branches/release-0.94/bin Message-ID: <20140319190107.823139D67B@svn.ci.uchicago.edu> Author: davidk Date: 2014-03-19 14:01:07 -0500 (Wed, 19 Mar 2014) New Revision: 7738 Modified: branches/release-0.94/bin/gensites branches/release-0.94/bin/start-coaster-service Log: Fixes for start-coaster-service and gensites on mac Modified: branches/release-0.94/bin/gensites =================================================================== --- branches/release-0.94/bin/gensites 2014-03-19 18:56:17 UTC (rev 7737) +++ branches/release-0.94/bin/gensites 2014-03-19 19:01:07 UTC (rev 7738) @@ -180,12 +180,12 @@ COMMAND_DIRNAME=$(dirname $COMMAND) if [ -d "$COMMAND_DIRNAME" ]; then COMMAND_PATH=$(cd $COMMAND_DIRNAME; pwd)/$(basename $COMMAND) - if ! grep -xq "$HOST $NAME $COMMAND_PATH " apps ; then - echo "$HOST $NAME $COMMAND_PATH " >> apps + if ! grep -xq "$HOST $NAME $COMMAND_PATH" apps ; then + echo "$HOST $NAME $COMMAND_PATH" >> apps fi else - if ! grep -xq "$HOST $NAME $COMMAND_PATH " apps ; then - echo "$HOST $NAME $COMMAND_PATH " >> apps + if ! grep -xq "$HOST $NAME $COMMAND_PATH" apps ; then + echo "$HOST $NAME $COMMAND_PATH" >> apps fi fi done @@ -199,8 +199,8 @@ COMMAND=`echo $line|awk '{print $3}'|cut -d'=' -f2` COMMAND=`eval echo $COMMAND` COMMAND_PATH=$(cd $(dirname $COMMAND); pwd)/$(basename $COMMAND) - if ! grep -xq "$HOST $NAME $COMMAND_PATH " apps ; then - eval echo "$HOST $NAME $COMMAND_PATH " >> apps + if ! grep -xq "$HOST $NAME $COMMAND_PATH" apps ; then + eval echo "$HOST $NAME $COMMAND_PATH" >> apps fi fi done Modified: branches/release-0.94/bin/start-coaster-service =================================================================== --- branches/release-0.94/bin/start-coaster-service 2014-03-19 18:56:17 UTC (rev 7737) +++ branches/release-0.94/bin/start-coaster-service 2014-03-19 19:01:07 UTC (rev 7738) @@ -112,10 +112,10 @@ fi #clean up coaster conf -sed -i '/export WORKERURL=/d' $CONFIG_FILE -sed -i '/export PID_FILE=/d' $CONFIG_FILE -sed -i '/export LOG=/d' $CONFIG_FILE -sed -i '/export LOCAL_PORT=/d' $CONFIG_FILE +sed -i '' '/export WORKERURL=/d' $CONFIG_FILE +sed -i '' '/export PID_FILE=/d' $CONFIG_FILE +sed -i '' '/export LOG=/d' $CONFIG_FILE +sed -i '' '/export LOCAL_PORT=/d' $CONFIG_FILE echo "Start-coaster-service..." echo "Configuration: $CONFIG_FILE" @@ -151,11 +151,11 @@ # Create files for storing port info, if needed if [ -z "$LOCAL_PORT" ]; then - LOCAL_PORT_FILE=$( mktemp ) + LOCAL_PORT_FILE=$( mktemp XXXXXXX ) fi if [ -z "$SERVICE_PORT" ]; then - SERVICE_PORT_FILE=$( mktemp ) + SERVICE_PORT_FILE=$( mktemp XXXXXXX ) fi # Check values in configuration file to determine how we should start coaster-service From ketan at ci.uchicago.edu Wed Mar 19 14:16:50 2014 From: ketan at ci.uchicago.edu (ketan at ci.uchicago.edu) Date: Wed, 19 Mar 2014 14:16:50 -0500 (CDT) Subject: [Swift-commit] r7739 - SwiftApps/cloud Message-ID: <20140319191650.058F29D67B@svn.ci.uchicago.edu> Author: ketan Date: 2014-03-19 14:16:49 -0500 (Wed, 19 Mar 2014) New Revision: 7739 Modified: SwiftApps/cloud/README Log: an Modified: SwiftApps/cloud/README =================================================================== --- SwiftApps/cloud/README 2014-03-19 19:01:07 UTC (rev 7738) +++ SwiftApps/cloud/README 2014-03-19 19:16:49 UTC (rev 7739) @@ -334,7 +334,7 @@ Upcoming Features ------------------ -. Ability to test and automatically create appropriate security groups along with instance creation. -. Ability to test and create keypairs if not exist for accessing the EC2 resources. -. Ability to sense resource creation limits and steer requests to new regions if limits are reached. +. An Ability to test and automatically create appropriate security groups along with instance creation. +. An Ability to test and create keypairs if not exist for accessing the EC2 resources. +. An Ability to sense resource creation limits and steer requests to new regions if limits are reached. From ketan at ci.uchicago.edu Wed Mar 19 14:34:38 2014 From: ketan at ci.uchicago.edu (ketan at ci.uchicago.edu) Date: Wed, 19 Mar 2014 14:34:38 -0500 (CDT) Subject: [Swift-commit] r7740 - SwiftApps/cloud Message-ID: <20140319193438.363F39D67B@svn.ci.uchicago.edu> Author: ketan Date: 2014-03-19 14:34:38 -0500 (Wed, 19 Mar 2014) New Revision: 7740 Modified: SwiftApps/cloud/README Log: Notes and Warnings Modified: SwiftApps/cloud/README =================================================================== --- SwiftApps/cloud/README 2014-03-19 19:16:49 UTC (rev 7739) +++ SwiftApps/cloud/README 2014-03-19 19:34:38 UTC (rev 7740) @@ -38,8 +38,12 @@ To install Swift, follow the instructions found http://swift-lang.org/downloads/index.php[here]. We use the Swift version 0.94 -from the SVN repository. Note that Swift installation is required only on the -submit host and not on the cloud instances. To checkout the Swift-cloud +from the SVN repository. + +NOTE: Swift installation is required only on the +submit host and not on the cloud instances. + +To checkout the Swift-cloud provision package from SVN repository use the following command: ---- @@ -194,10 +198,12 @@ ./addnodes -n 6 ---- -Note that the above command will trigger a create instance command on your EC2 -account and can take upto 2 minutes before the newly created instances can -actually join the existing Swift execution. Typically, you will see output as follows: +NOTE: The above command will trigger a "create-instance" command on your EC2 +account and can take upto a minute before the newly created instances can +actually join the existing Swift execution. +Typically, you will see output as follows: + ---- Configuration: coaster-service.conf 6 @@ -225,8 +231,8 @@ ./addnodes -p 0.08 -n 2 ---- -Note that there is no guarantee of the resources being available at this price. -In case the resources are not available, the request will be silently ignored. +NOTE: There is no guarantee of the resources being available at this price. In +case the resources are not available, the request will be silently ignored. Remove EC2 compute instances ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -275,6 +281,10 @@ Shut down ---------- + +WARNING: At this point make sure all your EC2 instances are terminated in order +to avoid undue metering on those resources. + Use the stop-coaster-service command to terminate the coaster service and remote worker agents: ---- From ketan at ci.uchicago.edu Wed Mar 19 15:55:39 2014 From: ketan at ci.uchicago.edu (ketan at ci.uchicago.edu) Date: Wed, 19 Mar 2014 15:55:39 -0500 (CDT) Subject: [Swift-commit] r7741 - SwiftApps/cloud Message-ID: <20140319205539.2080F9D0E4@svn.ci.uchicago.edu> Author: ketan Date: 2014-03-19 15:55:38 -0500 (Wed, 19 Mar 2014) New Revision: 7741 Modified: SwiftApps/cloud/README SwiftApps/cloud/addnodes Log: add instances by type Modified: SwiftApps/cloud/README =================================================================== --- SwiftApps/cloud/README 2014-03-19 19:34:38 UTC (rev 7740) +++ SwiftApps/cloud/README 2014-03-19 20:55:38 UTC (rev 7741) @@ -32,7 +32,6 @@ export PATH=$HOME/ec2-api-tools-1.6.12.2/bin:$PATH ---- - Swift Installation ------------------- @@ -190,12 +189,14 @@ Add EC2 compute instances ~~~~~~~~~~~~~~~~~~~~~~~~~~ -Add more resources via addnodes. Use -n to add by number and -a to add by ip -address. For example, the following commandline will add 10 cloud instances to -the currently executing run: +Add more resources via addnodes. Use option `-n` to add by number and `-a` to +add by ip address. Use `-t` to specify the instance type (t1.micro, m1.small, +http://aws.amazon.com/ec2/instance-types/[etc.]). For example, the following +commandline will add 10 cloud instances of type `t1.micro` to the currently +executing run: ---- -./addnodes -n 6 +./addnodes -n 6 -t t1.micro ---- NOTE: The above command will trigger a "create-instance" command on your EC2 Modified: SwiftApps/cloud/addnodes =================================================================== --- SwiftApps/cloud/addnodes 2014-03-19 19:34:38 UTC (rev 7740) +++ SwiftApps/cloud/addnodes 2014-03-19 20:55:38 UTC (rev 7741) @@ -2,7 +2,7 @@ #set -x -# Import settings +# Import environment settings if [ -f "coaster-service.conf" ]; then CONFIG_FILE="coaster-service.conf" else @@ -12,10 +12,11 @@ echo "Configuration: $CONFIG_FILE" source $CONFIG_FILE +INSTYPE="m1.small" WORKER=$(\which worker.pl) usage (){ - printf "Usage: %s -a \"\" | -n \n" "${0}" + printf "Usage: %s -a \"\" | [-p spotprice] -n -t instance-type \n" "${0}" } run_command() { @@ -57,10 +58,10 @@ if [ -z "$SPOT_PRICE" ] ; then #ec2-run-instances -k -n 1 -g --instance-type echo "spot price not set: $SPOT_PRICE" - runinst=$(ec2-run-instances -k "$EC2KEYPAIR" -g "$EC2SECGRP" -n "$1" --instance-type m1.small "$EC2AMI") + runinst=$(ec2-run-instances -k "$EC2KEYPAIR" -g "$EC2SECGRP" -n "$1" --instance-type "$INSTYPE" "$EC2AMI") else echo "spot price set to: $SPOT_PRICE" - runinst=$(ec2rsi -k "$EC2KEYPAIR" -g "$EC2SECGRP" -n "$1" -p "$SPOT_PRICE" --instance-type m1.small "$EC2AMI") + runinst=$(ec2rsi -k "$EC2KEYPAIR" -g "$EC2SECGRP" -n "$1" -p "$SPOT_PRICE" --instance-type "$INSTYPE" "$EC2AMI") fi echo "Waiting for $1 instance(s) to start" @@ -73,7 +74,7 @@ } #use getopts to check user options -while getopts ":a:n:p:" o ; do +while getopts ":a:n:p:t" o ; do case $o in p) SPOT_PRICE=${OPTARG} @@ -88,6 +89,10 @@ addbynum ${OPTARG} ;; + t) + INSTYPE=${OPTARG} + ;; + *) usage ;; From ketan at ci.uchicago.edu Wed Mar 19 15:57:18 2014 From: ketan at ci.uchicago.edu (ketan at ci.uchicago.edu) Date: Wed, 19 Mar 2014 15:57:18 -0500 (CDT) Subject: [Swift-commit] r7742 - SwiftApps/swift-galaxy/swift Message-ID: <20140319205718.7A1BF9D0E4@svn.ci.uchicago.edu> Author: ketan Date: 2014-03-19 15:57:18 -0500 (Wed, 19 Mar 2014) New Revision: 7742 Modified: SwiftApps/swift-galaxy/swift/swiftforeach.xml Log: order of dialog box Modified: SwiftApps/swift-galaxy/swift/swiftforeach.xml =================================================================== --- SwiftApps/swift-galaxy/swift/swiftforeach.xml 2014-03-19 20:55:38 UTC (rev 7741) +++ SwiftApps/swift-galaxy/swift/swiftforeach.xml 2014-03-19 20:57:18 UTC (rev 7742) @@ -80,7 +80,6 @@ - @@ -146,6 +145,8 @@ + + From ketan at ci.uchicago.edu Wed Mar 19 16:05:53 2014 From: ketan at ci.uchicago.edu (ketan at ci.uchicago.edu) Date: Wed, 19 Mar 2014 16:05:53 -0500 (CDT) Subject: [Swift-commit] r7743 - SwiftApps/cloud Message-ID: <20140319210553.15F4B9D0E4@svn.ci.uchicago.edu> Author: ketan Date: 2014-03-19 16:05:52 -0500 (Wed, 19 Mar 2014) New Revision: 7743 Modified: SwiftApps/cloud/README Log: more notes, warnings and formatting on doc Modified: SwiftApps/cloud/README =================================================================== --- SwiftApps/cloud/README 2014-03-19 20:57:18 UTC (rev 7742) +++ SwiftApps/cloud/README 2014-03-19 21:05:52 UTC (rev 7743) @@ -258,16 +258,19 @@ ./remnodes -a "54.243.24.104" ---- -The above command will remove the node with IP `54.243.24.104` from the current run. Note that in place of IP, you can use public DNS name of the instance eg: +The above command will remove the node with IP `54.243.24.104` from the current run. +NOTE: In place of IP, you can use public DNS name of the instance eg: + ---- ./remnodes -a "ec2-50-99-41-60.compute-1.amazonaws.com ec2-50-99-41-56.compute-1.amazonaws.com" ---- The above command will remove instances `ec2-50-99-41-60.compute-1.amazonaws.com` and -`ec2-50-99-41-56.compute-1.amazonaws.com` from the current run. Note that the -`./remnodes` command will terminate the instances provided as arguments and +`ec2-50-99-41-56.compute-1.amazonaws.com` from the current run. + +WARNING: The `./remnodes` command will terminate the instances provided as arguments and will terminate the top `n` instances provided as number `n` with its `-n` switch. @@ -338,10 +341,10 @@ +--------------+-----------+----------+------------+----------+--------+ ---- -Above output shows the group description for the security groups associated with your running instances. +Above output shows the group description for the security groups associated +with your running instances. Feel free to contact Swift +http://swift-lang.org/support/index.php[support] if issues persist. -Feel free to contact Swift http://swift-lang.org/support/index.php[support] if issues persist. - Upcoming Features ------------------ From ketan at ci.uchicago.edu Wed Mar 19 16:11:38 2014 From: ketan at ci.uchicago.edu (ketan at ci.uchicago.edu) Date: Wed, 19 Mar 2014 16:11:38 -0500 (CDT) Subject: [Swift-commit] r7744 - SwiftApps/cloud Message-ID: <20140319211138.904AD9D0E4@svn.ci.uchicago.edu> Author: ketan Date: 2014-03-19 16:11:38 -0500 (Wed, 19 Mar 2014) New Revision: 7744 Modified: SwiftApps/cloud/README Log: text massage Modified: SwiftApps/cloud/README =================================================================== --- SwiftApps/cloud/README 2014-03-19 21:05:52 UTC (rev 7743) +++ SwiftApps/cloud/README 2014-03-19 21:11:38 UTC (rev 7744) @@ -15,8 +15,11 @@ EC2 CLI API ------------ -This tutorial is tested with EC2 commandline tools API version +1.6.12.2+. The -instructions for download, install and configuring the EC2 CLI API can be found +This tutorial is tested with EC2 commandline tools API version +1.6.12.2+. It +is expected to work through minor version changes. Since many commands are +sensitive to the columnar outputs of the EC2 API commands, some of it might +break on distant versions. The instructions for download, install and +configuring the EC2 CLI API can be found http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/SettingUp_CommandLine.html[here]. For quick install, you can download a copy as follows: From swift at ci.uchicago.edu Sat Mar 22 02:05:03 2014 From: swift at ci.uchicago.edu (swift at ci.uchicago.edu) Date: Sat, 22 Mar 2014 02:05:03 -0500 (CDT) Subject: [Swift-commit] cog r3881 Message-ID: <20140322070503.C82FF8D000A6@bridled.ci.uchicago.edu> ------------------------------------------------------------------------ r3881 | hategan | 2014-03-22 02:00:54 -0500 (Sat, 22 Mar 2014) | 1 line re-organized some functions a bit and added join(list, delimiter) ------------------------------------------------------------------------ Index: modules/karajan/src/org/globus/cog/karajan/analyzer/RootScope.java =================================================================== --- modules/karajan/src/org/globus/cog/karajan/analyzer/RootScope.java (revision 3880) +++ modules/karajan/src/org/globus/cog/karajan/analyzer/RootScope.java (working copy) @@ -23,9 +23,9 @@ import org.globus.cog.karajan.compiled.nodes.SetVarK; import org.globus.cog.karajan.compiled.nodes.functions.ChannelArg; import org.globus.cog.karajan.compiled.nodes.functions.List; -import org.globus.cog.karajan.compiled.nodes.functions.Misc; import org.globus.cog.karajan.compiled.nodes.functions.Named; import org.globus.cog.karajan.compiled.nodes.functions.NumericValue; +import org.globus.cog.karajan.compiled.nodes.functions.Str; import org.globus.cog.karajan.compiled.nodes.functions.Variable; import org.globus.cog.karajan.compiled.nodes.user.Function; import org.globus.cog.karajan.compiled.nodes.user.Lambda; @@ -52,7 +52,7 @@ addDef("k", "function", new JavaDef(Function.class)); addDef("k", "lambda", new JavaDef(Lambda.class)); addDef("k", "channel", new JavaDef(ChannelArg.class)); - addDef("k", "concat", new JavaDef(Misc.Concat.class)); + addDef("k", "concat", new JavaDef(Str.Concat.class)); addVar("#context", context); addVar("#properties", props); Index: modules/karajan/src/org/globus/cog/karajan/compiled/nodes/functions/Str.java =================================================================== --- modules/karajan/src/org/globus/cog/karajan/compiled/nodes/functions/Str.java (revision 0) +++ modules/karajan/src/org/globus/cog/karajan/compiled/nodes/functions/Str.java (revision 3881) @@ -0,0 +1,239 @@ +//---------------------------------------------------------------------- +//This code is developed as part of the Java CoG Kit project +//The terms of the license can be found at http://www.cogkit.org/license +//This message may not be removed or altered. +//---------------------------------------------------------------------- + +/* + * Created on Mar 21, 2014 + */ +package org.globus.cog.karajan.compiled.nodes.functions; + +import java.util.ArrayList; +import java.util.Collection; +import java.util.Iterator; +import java.util.List; +import java.util.regex.Pattern; + +import k.rt.Channel; +import k.rt.ExecutionException; +import k.rt.Stack; + +import org.globus.cog.karajan.analyzer.ArgRef; +import org.globus.cog.karajan.analyzer.ChannelRef; +import org.globus.cog.karajan.analyzer.CompilationException; +import org.globus.cog.karajan.analyzer.Param; +import org.globus.cog.karajan.analyzer.Scope; +import org.globus.cog.karajan.compiled.nodes.Node; +import org.globus.cog.karajan.parser.WrapperNode; +import org.globus.cog.karajan.util.TypeUtil; + +public class Str { + public static class Concat extends AbstractSingleValuedFunction { + private ChannelRef c_vargs; + + @Override + protected Param[] getParams() { + return params("..."); + } + + @Override + public Object function(Stack stack) { + StringBuilder sb = new StringBuilder(); + for (Object o : c_vargs.get(stack)) { + sb.append(TypeUtil.toString(o)); + } + return sb.toString(); + } + } + + public static class Join extends AbstractSingleValuedFunction { + private ChannelRef c_vargs; + + @Override + protected Param[] getParams() { + return params("..."); + } + + @Override + public Object function(Stack stack) { + Channel args = c_vargs.get(stack); + if (args.size() > 2) { + throw new ExecutionException("Too many arguments: " + args.size()); + } + if (args.isEmpty()) { + throw new ExecutionException("Too few arguments"); + } + @SuppressWarnings("unchecked") + Collection items = (Collection) args.get(0); + String delim = " "; + if (args.size() == 2) { + delim = (String) args.get(1); + } + StringBuilder sb = new StringBuilder(); + Iterator i = items.iterator(); + while (i.hasNext()) { + sb.append(i.next()); + if (i.hasNext()) { + sb.append(delim); + } + } + return sb.toString(); + } + } + + + public static class SubString extends AbstractSingleValuedFunction { + private ArgRef string; + private ArgRef from; + private ArgRef to; + + @Override + protected Param[] getParams() { + return params("string", "from", optional("to", Integer.MAX_VALUE)); + } + + @Override + public Object function(Stack stack) { + int to = this.to.getValue(stack).intValue(); + String str = string.getValue(stack); + if (to == Integer.MAX_VALUE) { + return str.substring(from.getValue(stack).intValue()); + } + else if (to < 0) { + to += str.length() - 1; + } + return str.substring(from.getValue(stack).intValue(), to); + } + } + + public static class Matches extends AbstractSingleValuedFunction { + private ArgRef string; + private ArgRef pattern; + + @Override + protected Param[] getParams() { + return params("string", "pattern"); + } + + @Override + public Object function(Stack stack) { + Object o = string.getValue(stack); + String str; + if (o instanceof Exception) { + str = ((Exception) o).getMessage(); + } + else { + str = String.valueOf(o); + } + if (str == null) { + return false; + } + else { + String pat = pattern.getValue(stack); + Pattern p = Pattern.compile(pat, Pattern.DOTALL); + return p.matcher(str).matches(); + } + } + } + + public static class Split extends AbstractSingleValuedFunction { + private ArgRef string; + private ArgRef separator; + + @Override + protected Param[] getParams() { + return params("string", "separator"); + } + + @Override + public Object function(Stack stack) { + String str = string.getValue(stack); + String sep = separator.getValue(stack); + + List list = new ArrayList(); + int index = -1; + int last = 0; + do { + index = str.indexOf(sep, index + sep.length()); + if (index > -1) { + if (last < index) { + list.add(str.substring(last, index)); + } + last = index + sep.length(); + } + } while (index != -1); + list.add(str.substring(last, str.length())); + return list; + } + } + + public static class Strip extends AbstractSingleValuedFunction { + private ArgRef string; + + @Override + protected Param[] getParams() { + return params("string"); + } + + @Override + public Object function(Stack stack) { + return string.getValue(stack).trim(); + } + } + + public static class Chr extends AbstractSingleValuedFunction { + private ArgRef code; + + @Override + protected Param[] getParams() { + return params("code"); + } + + @Override + public Object function(Stack stack) { + return (char) code.getValue(stack).intValue(); + } + } + + public static class Quote extends AbstractSingleValuedFunction { + private ArgRef str; + + @Override + protected Param[] getParams() { + return params("str"); + } + + @Override + public Object function(Stack stack) { + return '"' + str.getValue(stack) + '"'; + } + } + + public static class ParseNumber extends AbstractSingleValuedFunction { + private ArgRef str; + + @Override + protected Param[] getParams() { + return params("str"); + } + + @Override + protected Node compileBody(WrapperNode w, Scope argScope, Scope scope) + throws CompilationException { + if (str.getValue() != null && staticReturn(scope, Double.parseDouble(str.getValue()))) { + return null; + } + else { + return super.compileBody(w, argScope, scope); + } + } + + @Override + public Object function(Stack stack) { + String str = this.str.getValue(stack); + return Double.parseDouble(str); + } + } + +} Index: modules/karajan/src/org/globus/cog/karajan/compiled/nodes/functions/Misc.java =================================================================== --- modules/karajan/src/org/globus/cog/karajan/compiled/nodes/functions/Misc.java (revision 3880) +++ modules/karajan/src/org/globus/cog/karajan/compiled/nodes/functions/Misc.java (working copy) @@ -430,137 +430,7 @@ } } } - - public static class Concat extends AbstractSingleValuedFunction { - private ChannelRef c_vargs; - - @Override - protected Param[] getParams() { - return params("..."); - } - - @Override - public Object function(Stack stack) { - StringBuilder sb = new StringBuilder(); - for (Object o : c_vargs.get(stack)) { - sb.append(TypeUtil.toString(o)); - } - return sb.toString(); - } - } - public static class SubString extends AbstractSingleValuedFunction { - private ArgRef string; - private ArgRef from; - private ArgRef to; - - @Override - protected Param[] getParams() { - return params("string", "from", optional("to", Integer.MAX_VALUE)); - } - - @Override - public Object function(Stack stack) { - int to = this.to.getValue(stack).intValue(); - String str = string.getValue(stack); - if (to == Integer.MAX_VALUE) { - return str.substring(from.getValue(stack).intValue()); - } - else if (to < 0) { - to += str.length() - 1; - } - return str.substring(from.getValue(stack).intValue(), to); - } - } - - public static class Matches extends AbstractSingleValuedFunction { - private ArgRef string; - private ArgRef pattern; - - @Override - protected Param[] getParams() { - return params("string", "pattern"); - } - - @Override - public Object function(Stack stack) { - Object o = string.getValue(stack); - String str; - if (o instanceof Exception) { - str = ((Exception) o).getMessage(); - } - else { - str = String.valueOf(o); - } - if (str == null) { - return false; - } - else { - String pat = pattern.getValue(stack); - Pattern p = Pattern.compile(pat, Pattern.DOTALL); - return p.matcher(str).matches(); - } - } - } - - public static class Split extends AbstractSingleValuedFunction { - private ArgRef string; - private ArgRef separator; - - @Override - protected Param[] getParams() { - return params("string", "separator"); - } - - @Override - public Object function(Stack stack) { - String str = string.getValue(stack); - String sep = separator.getValue(stack); - - List list = new ArrayList(); - int index = -1; - int last = 0; - do { - index = str.indexOf(sep, index + sep.length()); - if (index > -1) { - if (last < index) { - list.add(str.substring(last, index)); - } - last = index + sep.length(); - } - } while (index != -1); - list.add(str.substring(last, str.length())); - return list; - } - } - - public static class ParseNumber extends AbstractSingleValuedFunction { - private ArgRef str; - - @Override - protected Param[] getParams() { - return params("str"); - } - - @Override - protected Node compileBody(WrapperNode w, Scope argScope, Scope scope) - throws CompilationException { - if (str.getValue() != null && staticReturn(scope, Double.parseDouble(str.getValue()))) { - return null; - } - else { - return super.compileBody(w, argScope, scope); - } - } - - @Override - public Object function(Stack stack) { - String str = this.str.getValue(stack); - return Double.parseDouble(str); - } - } - - public static class Discard extends InternalFunction { private ChannelRef c_vargs; @@ -690,21 +560,7 @@ return c1.compareTo(o2); } }; - - public static class Strip extends AbstractSingleValuedFunction { - private ArgRef string; - @Override - protected Param[] getParams() { - return params("string"); - } - - @Override - public Object function(Stack stack) { - return string.getValue(stack).trim(); - } - } - public static class DotIterator implements Iterator { private final Iterator[] its; private boolean next, nextValid; @@ -853,34 +709,7 @@ } } - public static class Chr extends AbstractSingleValuedFunction { - private ArgRef code; - @Override - protected Param[] getParams() { - return params("code"); - } - - @Override - public Object function(Stack stack) { - return (char) code.getValue(stack).intValue(); - } - } - - public static class Quote extends AbstractSingleValuedFunction { - private ArgRef str; - - @Override - protected Param[] getParams() { - return params("str"); - } - - @Override - public Object function(Stack stack) { - return '"' + str.getValue(stack) + '"'; - } - } - public static class Stats extends AbstractSingleValuedFunction { private ArgRef asMap; Index: modules/karajan/resources/sys.k =================================================================== --- modules/karajan/resources/sys.k (revision 3880) +++ modules/karajan/resources/sys.k (working copy) @@ -55,13 +55,14 @@ export(unique, def("org.globus.cog.karajan.compiled.nodes.functions.Unique")) namespace(str) { - export(strip, def("org.globus.cog.karajan.compiled.nodes.functions.Misc$Strip")) - export(split, def("org.globus.cog.karajan.compiled.nodes.functions.Misc$Split")) - export(matches, def("org.globus.cog.karajan.compiled.nodes.functions.Misc$Matches")) - export(chr, def("org.globus.cog.karajan.compiled.nodes.functions.Misc$Chr")) - export(substring, def("org.globus.cog.karajan.compiled.nodes.functions.Misc$SubString")) - export(quote, def("org.globus.cog.karajan.compiled.nodes.functions.Misc$Quote")) - export(number, def("org.globus.cog.karajan.compiled.nodes.functions.Misc$ParseNumber")) + export(strip, def("org.globus.cog.karajan.compiled.nodes.functions.Str$Strip")) + export(split, def("org.globus.cog.karajan.compiled.nodes.functions.Str$Split")) + export(matches, def("org.globus.cog.karajan.compiled.nodes.functions.Str$Matches")) + export(chr, def("org.globus.cog.karajan.compiled.nodes.functions.Str$Chr")) + export(substring, def("org.globus.cog.karajan.compiled.nodes.functions.Str$SubString")) + export(quote, def("org.globus.cog.karajan.compiled.nodes.functions.Str$Quote")) + export(number, def("org.globus.cog.karajan.compiled.nodes.functions.Str$ParseNumber")) + export(join, def("org.globus.cog.karajan.compiled.nodes.functions.Str$Join")) } export(time, def("org.globus.cog.karajan.compiled.nodes.functions.Time")) From hategan at ci.uchicago.edu Sat Mar 22 14:52:30 2014 From: hategan at ci.uchicago.edu (hategan at ci.uchicago.edu) Date: Sat, 22 Mar 2014 14:52:30 -0500 (CDT) Subject: [Swift-commit] r7745 - in trunk: libexec src/org/globus/swift/data src/org/griphyn/vdl/karajan/lib src/org/griphyn/vdl/karajan/lib/swiftscript src/org/griphyn/vdl/mapping Message-ID: <20140322195230.1D70A9D542@svn.ci.uchicago.edu> Author: hategan Date: 2014-03-22 14:52:28 -0500 (Sat, 22 Mar 2014) New Revision: 7745 Added: trunk/src/org/griphyn/vdl/karajan/lib/GetStagingInfo.java trunk/src/org/griphyn/vdl/karajan/lib/RemoteFileNames.java Removed: trunk/src/org/griphyn/vdl/karajan/lib/Flatten.java trunk/src/org/griphyn/vdl/karajan/lib/InFileDirs.java trunk/src/org/griphyn/vdl/karajan/lib/OutFileDirs.java trunk/src/org/griphyn/vdl/karajan/lib/OutFiles.java Modified: trunk/libexec/swift-int-staging.k trunk/libexec/swift-int-wrapper-staging.k trunk/libexec/swift-int.k trunk/libexec/swift-lib.k trunk/libexec/swift.k trunk/src/org/globus/swift/data/Query.java trunk/src/org/griphyn/vdl/karajan/lib/AppStageins.java trunk/src/org/griphyn/vdl/karajan/lib/AppStageouts.java trunk/src/org/griphyn/vdl/karajan/lib/CacheUnlockFiles.java trunk/src/org/griphyn/vdl/karajan/lib/DoRestartLog.java trunk/src/org/griphyn/vdl/karajan/lib/IsDone.java trunk/src/org/griphyn/vdl/karajan/lib/IsLogged.java trunk/src/org/griphyn/vdl/karajan/lib/JobConstraints.java trunk/src/org/griphyn/vdl/karajan/lib/LogVar.java trunk/src/org/griphyn/vdl/karajan/lib/Mark.java trunk/src/org/griphyn/vdl/karajan/lib/PathUtils.java trunk/src/org/griphyn/vdl/karajan/lib/SetDatasetValues.java trunk/src/org/griphyn/vdl/karajan/lib/Stagein.java trunk/src/org/griphyn/vdl/karajan/lib/Stageout.java trunk/src/org/griphyn/vdl/karajan/lib/SwiftFunction.java trunk/src/org/griphyn/vdl/karajan/lib/swiftscript/Misc.java trunk/src/org/griphyn/vdl/mapping/AbstractDataNode.java trunk/src/org/griphyn/vdl/mapping/DSHandle.java Log: cleaned up stagein and stageout code Modified: trunk/libexec/swift-int-staging.k =================================================================== --- trunk/libexec/swift-int-staging.k 2014-03-19 21:11:38 UTC (rev 7744) +++ trunk/libexec/swift-int-staging.k 2014-03-22 19:52:28 UTC (rev 7745) @@ -25,11 +25,7 @@ initDDir := function() { "{SWIFT:DEBUG_DIR_PREFIX}{SWIFT:SCRIPT_NAME}-{SWIFT:RUN_ID}.d" } - - inFiles := function(stageins) { - pathnames(stageins) - } - + fileSizes := function(files) { math:sum( for(f, files, file:size(f)) @@ -64,13 +60,10 @@ } export(execute2, - function(progress, tr, stagein, stageout, restartout - replicationGroup, replicationChannel + function(progress, tr, stagein, stageout, + replicationGroup, replicationChannel, arguments = [], stdin = null, stdout = null, stderr = null, attributes = null) { - stagein := list(unique(each(stagein))) - stageout := list(unique(each(stageout))) - allocateHost(rhost, constraints = jobConstraints(tr, stagein = stagein)) { ddir := initDDir() @@ -83,7 +76,9 @@ wfdir := "{SWIFT:SCRIPT_NAME}-{SWIFT:RUN_ID}" tmpdir := dircat("{wfdir}/jobs/{jobdir}", jobid) - cdmfile := cdm:file() + cdmfile := cdm:file(), + + (localFileDirs, remoteFileDirs, inFiles, outFiles) := getStagingInfo(stagein, stageout) try { log(LOG:DEBUG, "JOB_START jobid={jobid} tr={tr}", if (arguments != null, (" arguments=", arguments)), @@ -101,9 +96,9 @@ "-out", if(stdout == null, "stdout.txt", getFieldValue(stdout)), "-err", if(stderr == null, "stderr.txt", getFieldValue(stderr)), "-i", if (stdin != null, getFieldValue(stdin)), - "-d", flatten(unique(outFileDirs(stageout))), - "-if", flatten(inFiles(stagein)), - "-of", flatten(outFiles(stageout)), + "-d", str:join(remoteFileDirs, "|"), + "-if", str:join(remoteFileNames(inFiles), "|"), + "-of", str:join(remoteFileNames(outFiles), "|"), "-k", "-cdmfile", cdmfile, "-status", "provider" @@ -132,7 +127,7 @@ stageIn("{loc}{SWIFT:HOME}/libexec/cdm_lib.sh", "cdm_lib.sh") } - appStageins(jobid, stagein, stagingMethod) + appStageins(jobid, inFiles, stagingMethod) stageOut("wrapper.log", "{stagingMethod}://localhost/{ddir}/{jobid}.info", mode = WRAPPER_TRANSFER_MODE) @@ -156,7 +151,7 @@ } stageOut("wrapper.error", "{stagingMethod}://localhost/{ddir}/{jobid}.error", mode = STAGING_MODE:IF_PRESENT) - appStageouts(jobid, stageout, stagingMethod) + appStageouts(jobid, outFiles, stagingMethod) if (CLEANUP_ENABLED) { task:cleanUp(".") @@ -164,7 +159,7 @@ ) - doRestartLog(restartout) + doRestartLog(stageout) log(LOG:DEBUG, "JOB_END jobid={jobid}") } else catch(prev) { Modified: trunk/libexec/swift-int-wrapper-staging.k =================================================================== --- trunk/libexec/swift-int-wrapper-staging.k 2014-03-19 21:11:38 UTC (rev 7744) +++ trunk/libexec/swift-int-wrapper-staging.k 2014-03-22 19:52:28 UTC (rev 7745) @@ -64,20 +64,6 @@ ddir } - - inFiles := function(stageins) { - pathnames(stageins) - } - - fileDirs := function(stageins, stageouts) { - list( - unique( - inFileDirs(stageins) - outFileDirs(stageouts) - ) - ) - } - cleanup := function(dir, host) { log(LOG:INFO, "START dir={dir} host={host}") if(vdl:configProperty("sitedir.keep") == "false") { @@ -143,13 +129,10 @@ export(execute2, - function(progress, tr, stagein, stageout, restartout - replicationGroup, replicationChannel + function(progress, tr, stagein, stageout, + replicationGroup, replicationChannel, arguments = [], stdin = null, stdout = null, stderr = null, attributes = null) { - stagein := list(unique(each(stagein))) - stageout := list(unique(each(stageout))) - allocateHost(rhost, constraints=jobConstraints(tr, stagein = stagein)) { ddir := initDDir() @@ -173,9 +156,10 @@ wrapfile := "{jobdir}/_paramfile" stdout := if (stdout == null, "stdout.txt", getFieldValue(stdout)) - stderr := if (stderr == null, "stderr.txt", getFieldValue(stderr)) + stderr := if (stderr == null, "stderr.txt", getFieldValue(stderr)), + + (localFileDirs, remoteFileDirs, inFiles, outFiles) := getStagingInfo(stagein, stageout) - fileDirs := fileDirs(stagein, stageout) os := siteProfile(rhost, "SYSINFO:OS") scratch := siteProfile(rhost, "scratch") @@ -186,9 +170,9 @@ "\n-out ", stdout, "\n-err ", stderr, "\n-i ", if (stdin != null, getFieldValue(stdin)), - "\n-d ", flatten(each(fileDirs)), - "\n-if ", flatten(inFiles(stagein)), - "\n-of ", flatten(outFiles(stageout)), + "\n-d ", str:join(remoteFileDirs, "|"), + "\n-if ", str:join(remoteFileNames(inFiles), "|"), + "\n-of ", str:join(remoteFileNames(outFiles), "|"), "\n-wt", WRAPPERLOG_ALWAYS_TRANSFER, "\n-sk", SITEDIR_KEEP, "\n-cdmfile ", cdm:file(), @@ -247,9 +231,9 @@ "-out", stdout, "-err", stderr, "-i", if (stdin != null, getFieldValue(stdin)), - "-d", flatten(each(fileDirs)), - "-if", flatten(inFiles(stagein)), - "-of", flatten(outFiles(stageout)), + "-d", str:join(remoteFileDirs, "|"), + "-if", str:join(remoteFileNames(inFiles), "|"), + "-of", str:join(remoteFileNames(outFiles), "|"), "-wt", WRAPPERLOG_ALWAYS_TRANSFER, "-sk", SITEDIR_KEEP, "-cdmfile", cdm:file(), @@ -283,7 +267,7 @@ setProgress(progress, "Stage out") - doRestartlog(restartout) + doRestartlog(stageout) log(LOG:DEBUG, "JOB_END jobid={jobid}") } Modified: trunk/libexec/swift-int.k =================================================================== --- trunk/libexec/swift-int.k 2014-03-19 21:11:38 UTC (rev 7744) +++ trunk/libexec/swift-int.k 2014-03-22 19:52:28 UTC (rev 7745) @@ -111,19 +111,6 @@ ddir } - inFiles := function(stageins) { - pathnames(stageins) - } - - fileDirs := function(stageins, stageouts) { - list( - unique( - inFileDirs(stageins) - outFileDirs(stageouts) - ) - ) - } - createDirSet := function(jobid, destdir, host, dirs) { /* * Ideally this would be done by creating a tree of the directories @@ -219,7 +206,7 @@ cdm:wait() } - doStagein := function(jobid, files, dir, host) { + doStagein := function(jobid, dir, host, files) { log(LOG:INFO, "START jobid={jobid} - Staging in files {files}") cdmfile := cdm:file() @@ -238,11 +225,7 @@ } parallelFor(file, files) { - provider := provider(file) - srchost := hostname(file) - srcdir := swift:dirname(file) - destdir := dircat(dir, reldirname(file)) - filename := basename(file) + (provider, srchost, destdir, filename, srcdir) := splitFileURL(file, dir) size := file:size("{srcdir}/{filename}", host=srchost, provider=provider) policy := cdm:query(file) @@ -254,18 +237,12 @@ log(LOG:INFO, "END jobid={jobid} - Staging in finished") } - doStageout := function(jobid, stageouts, dir, host) { + doStageout := function(jobid, dir, host, files) { log(LOG:INFO, "START jobid={jobid} - Staging out files") - log(LOG:DEBUG, "stageouts: {stageouts}") + log(LOG:DEBUG, "stageouts: {files}") done := list( - parallelFor(pv, stageouts) { - (path, var) := each(pv) - file := absFileName(getField(var, path)) - provider := provider(file) - dhost := hostname(file) - rdir := dircat(dir, reldirname(file)) - bname := basename(file) - ldir := swift:dirname(file) + parallelFor(file, files) { + (provider, dhost, rdir, bname, ldir) := splitFileURL(file, dir) fullLocal := dircat(ldir, bname) fullRemote := dircat(rdir, bname) @@ -354,13 +331,10 @@ ) export(execute2, - function(progress, tr, stagein, stageout, restartout - replicationGroup, replicationChannel + function(progress, tr, stagein, stageout, + replicationGroup, replicationChannel, arguments = [], stdin = null, stdout = null, stderr = null, attributes = null) { - stagein := list(unique(each(stagein))) - stageout := list(unique(each(stageout))) - allocateHost(rhost, constraints = jobConstraints(tr, stagein = stagein)) { ddir := initDDir(), (wfdir, sharedDir) := @@ -383,9 +357,10 @@ wrapfile := "{ddir}/param-{jobid}" stdout := if (stdout == null, "stdout.txt", getFieldValue(stdout)) - stderr := if (stderr == null, "stderr.txt", getFieldValue(stderr)) + stderr := if (stderr == null, "stderr.txt", getFieldValue(stderr)), + + (localFileDirs, remoteFileDirs, inFiles, outFiles) := getStagingInfo(stagein, stageout) - fileDirs := fileDirs(stagein, stageout) os := siteProfile(rhost, "SYSINFO:OS") if(wrapperMode == "files") { @@ -395,9 +370,9 @@ "\n-out ", stdout, "\n-err ", stderr, "\n-i ", if (stdin != null, getFieldValue(stdin)), - "\n-d ", flatten(each(fileDirs)), - "\n-if ", flatten(inFiles(stagein)), - "\n-of ", flatten(outFiles(stageout)), + "\n-d ", str:join(remoteFileDirs, "|"), + "\n-if ", str:join(remoteFileNames(inFiles), "|"), + "\n-of ", str:join(remoteFileNames(outFiles), "|"), "\n-cdmfile ", cdm:file(), "\n-status ", statusMode, for(a, arguments) { @@ -410,8 +385,8 @@ tmpdir := dircat("{wfdir}/jobs/{jobdir}", jobid) try { - createDirSet(jobid, sharedDir, rhost, fileDirs) - doStagein(jobid, stagein, sharedDir, rhost) + createDirSet(jobid, sharedDir, rhost, localFileDirs) + doStagein(jobid, sharedDir, rhost, inFiles) if(wrapperMode == "files") { stageWrapperParams(jobid, jobdir, wrapfile, wfdir, rhost) } @@ -452,9 +427,9 @@ "-out", stdout, "-err", stderr, "-i", if (stdin != null, getFieldValue(stdin)), - "-d", flatten(each(fileDirs)), - "-if", flatten(inFiles(stagein)), - "-of", flatten(outFiles(stageout)), + "-d", str:join(remoteFileDirs, "|"), + "-if", str:join(remoteFileNames(inFiles), "|"), + "-of", str:join(remoteFileNames(outFiles), "|"), "-cdmfile", cdm:file(), "-status", statusMode, "-a", if (arguments != null, each(arguments)) @@ -486,14 +461,14 @@ setProgress(progress, "Stage out") - doStageout(jobid, stageout, sharedDir, rhost) - doRestartLog(restartout) + doStageout(jobid, sharedDir, rhost, outFiles) + doRestartLog(stageout) if (configProperty("wrapperlog.always.transfer") == "true") { discard(transferWrapperLog(rhost, wfdir, jobid, jobdir)) } - cacheUnlockFiles(stagein, sharedDir, rhost) { + cacheUnlockFiles(inFiles, sharedDir, rhost) { cleanupFiles(cacheFilesToRemove, rhost) } @@ -502,7 +477,7 @@ else catch(prev) { if (matches(prev, "^Abort$")) { log(LOG:DEBUG, "JOB_CANCELED jobid={jobid}") - cacheUnlockFiles(stagein, sharedDir, rhost, force=false) { + cacheUnlockFiles(inFiles, sharedDir, rhost, force=false) { cleanupFiles(cacheFilesToRemove, rhost) } throw(prev) @@ -517,7 +492,7 @@ throw(exception) } - cacheUnlockFiles(stagein, sharedDir, rhost, force=false) { + cacheUnlockFiles(inFiles, sharedDir, rhost, force=false) { cleanupFiles(cacheFilesToRemove, rhost) } Modified: trunk/libexec/swift-lib.k =================================================================== --- trunk/libexec/swift-lib.k 2014-03-19 21:11:38 UTC (rev 7744) +++ trunk/libexec/swift-lib.k 2014-03-22 19:52:28 UTC (rev 7745) @@ -115,6 +115,7 @@ export(hostname, def("org.griphyn.vdl.karajan.lib.PathUtils$HostName")) export(dircat, def("org.griphyn.vdl.karajan.lib.PathUtils$DirCat")) export(pathnames, def("org.griphyn.vdl.karajan.lib.PathUtils$PathNames")) + export(splitFileURL, def("org.griphyn.vdl.karajan.lib.PathUtils$SplitFileURL")) export(execute, def("org.griphyn.vdl.karajan.lib.Execute")) export(expandArguments, def("org.griphyn.vdl.karajan.lib.ExpandArguments")) @@ -125,13 +126,11 @@ export(appStageins, def("org.griphyn.vdl.karajan.lib.AppStageins")) export(appStageouts, def("org.griphyn.vdl.karajan.lib.AppStageouts")) + export(remoteFileNames, def("org.griphyn.vdl.karajan.lib.RemoteFileNames")) export(isDone, def("org.griphyn.vdl.karajan.lib.IsDone")) export(mark, def("org.griphyn.vdl.karajan.lib.Mark")) - export(flatten, def("org.griphyn.vdl.karajan.lib.Flatten")) export(parameterlog, def("org.griphyn.vdl.karajan.lib.Parameterlog")) - export(inFileDirs, def("org.griphyn.vdl.karajan.lib.InFileDirs")) - export(outFileDirs, def("org.griphyn.vdl.karajan.lib.OutFileDirs")) - export(outFiles, def("org.griphyn.vdl.karajan.lib.OutFiles")) + export(getStagingInfo, def("org.griphyn.vdl.karajan.lib.GetStagingInfo")) export(doRestartLog, def("org.griphyn.vdl.karajan.lib.DoRestartLog")) export(unwrapClosedList, def("org.griphyn.vdl.karajan.lib.UnwrapClosedList")) Modified: trunk/libexec/swift.k =================================================================== --- trunk/libexec/swift.k 2014-03-19 21:11:38 UTC (rev 7744) +++ trunk/libexec/swift.k 2014-03-22 19:52:28 UTC (rev 7745) @@ -178,11 +178,11 @@ stdin = null, stdout = null, stderr = null, attributes = null, deperror = false, mdeperror = false, - channel(stagein), channel(stageout), channel(restartout)) { + channel(stagein), channel(stageout)) { progress := initProgressState() - done := isDone(restartout) + done := isDone(stageout) derr := try(deperror, false) merr := try(mdeperror, false) @@ -203,7 +203,7 @@ progress, tr, if(arguments != null, arguments = unwrapClosedList(arguments)), stdin=stdin, stdout=stdout, stderr=stderr, attributes=attributes, - stagein, stageout, restartout, replicationGroup, replicationChannel + stagein, stageout, replicationGroup, replicationChannel ) } else catch(exception) { @@ -222,7 +222,7 @@ progress, tr, if(arguments != null, arguments = unwrapClosedList(arguments)), stdin=stdin, stdout=stdout, stderr=stderr, attributes=attributes, - stagein, stageout, restartout, null, null + stagein, stageout, null, null ) } else catch(exception) { @@ -236,7 +236,7 @@ } } setDatasetValues(stageout) - mark(restartout, false, mapping=false) + mark(stageout, false, mapping=false) log(LOG:INFO, "END_SUCCESS thread=", currentThread(), " tr={tr}") setProgress(progress, "Finished successfully") } @@ -251,7 +251,7 @@ to(errors, exception) log(LOG:INFO, exception) echo(exception) - mark(restartout, true, mapping=false) + mark(stageout, true, mapping=false) graphStuff(tr, stagein, stageout, true, maybe(args=arguments)) } } @@ -273,7 +273,7 @@ to(errors, exception) log(LOG:INFO, exception) } - mark(restartout, true, mapping=merr) + mark(stageout, true, mapping=merr) graphStuff(tr, stagein, stageout, true, maybe(args=arguments)) } } Modified: trunk/src/org/globus/swift/data/Query.java =================================================================== --- trunk/src/org/globus/swift/data/Query.java 2014-03-19 21:11:38 UTC (rev 7744) +++ trunk/src/org/globus/swift/data/Query.java 2014-03-22 19:52:28 UTC (rev 7745) @@ -25,6 +25,7 @@ import org.globus.cog.karajan.compiled.nodes.functions.AbstractSingleValuedFunction; import org.globus.cog.karajan.compiled.nodes.functions.NullaryOp; import org.globus.swift.data.policy.Policy; +import org.griphyn.vdl.mapping.AbsFile; /** Karajan-accessible read-queries to CDM functionality. @@ -36,7 +37,7 @@ Do CDM policy lookup based on the CDM file. */ public static class Q extends AbstractSingleValuedFunction { - private ArgRef query; + private ArgRef query; @Override protected Param[] getParams() { @@ -45,8 +46,8 @@ @Override public Object function(Stack stack) { - String file = query.getValue(stack); - Policy policy = Director.lookup(file); + AbsFile file = query.getValue(stack); + Policy policy = Director.lookup(file.getPath()); if (logger.isDebugEnabled()) { logger.debug("Director.lookup(): " + file + " -> " + policy); } Modified: trunk/src/org/griphyn/vdl/karajan/lib/AppStageins.java =================================================================== --- trunk/src/org/griphyn/vdl/karajan/lib/AppStageins.java 2014-03-19 21:11:38 UTC (rev 7744) +++ trunk/src/org/griphyn/vdl/karajan/lib/AppStageins.java 2014-03-22 19:52:28 UTC (rev 7745) @@ -33,14 +33,13 @@ import org.globus.cog.karajan.analyzer.Signature; import org.globus.cog.karajan.analyzer.VarRef; import org.globus.cog.karajan.compiled.nodes.InternalFunction; -import org.globus.cog.karajan.util.TypeUtil; import org.globus.swift.data.Director; import org.globus.swift.data.policy.Policy; import org.griphyn.vdl.mapping.AbsFile; public class AppStageins extends InternalFunction { private ArgRef jobid; - private ArgRef> files; + private ArgRef> files; private ArgRef stagingMethod; private ChannelRef> cr_stagein; @@ -64,11 +63,10 @@ protected void runBody(LWThread thr) { Stack stack = thr.getStack(); - List files = this.files.getValue(stack); + List files = this.files.getValue(stack); String stagingMethod = this.stagingMethod.getValue(stack); String cwd = this.cwd.getValue(stack); - for (Object f : files) { - AbsFile file = new AbsFile(TypeUtil.toString(f)); + for (AbsFile file : files) { Policy policy = Director.lookup(file.toString()); if (policy != Policy.DEFAULT) { logger.debug("will not stage in (CDM): " + file); Modified: trunk/src/org/griphyn/vdl/karajan/lib/AppStageouts.java =================================================================== --- trunk/src/org/griphyn/vdl/karajan/lib/AppStageouts.java 2014-03-19 21:11:38 UTC (rev 7744) +++ trunk/src/org/griphyn/vdl/karajan/lib/AppStageouts.java 2014-03-22 19:52:28 UTC (rev 7745) @@ -34,12 +34,10 @@ import org.globus.cog.karajan.compiled.nodes.InternalFunction; import org.griphyn.vdl.karajan.Pair; import org.griphyn.vdl.mapping.AbsFile; -import org.griphyn.vdl.mapping.DSHandle; -import org.griphyn.vdl.mapping.Path; public class AppStageouts extends InternalFunction { private ArgRef jobid; - private ArgRef>> files; + private ArgRef> files; private ArgRef stagingMethod; private ChannelRef> cr_stageout; @@ -61,14 +59,11 @@ protected void runBody(LWThread thr) { try { Stack stack = thr.getStack(); - List> files = this.files.getValue(stack); + List files = this.files.getValue(stack); String stagingMethod = this.stagingMethod.getValue(stack); String cwd = this.cwd.getValue(stack); - for (List pv : files) { - Path p = (Path) pv.get(0); - DSHandle handle = (DSHandle) pv.get(1); - AbsFile file = new AbsFile(SwiftFunction.filename(handle.getField(p))[0]); + for (AbsFile file : files) { String protocol = file.getProtocol(); if (protocol.equals("file")) { protocol = stagingMethod; Modified: trunk/src/org/griphyn/vdl/karajan/lib/CacheUnlockFiles.java =================================================================== --- trunk/src/org/griphyn/vdl/karajan/lib/CacheUnlockFiles.java 2014-03-19 21:11:38 UTC (rev 7744) +++ trunk/src/org/griphyn/vdl/karajan/lib/CacheUnlockFiles.java 2014-03-22 19:52:28 UTC (rev 7745) @@ -21,6 +21,7 @@ package org.griphyn.vdl.karajan.lib; import java.util.ArrayList; +import java.util.Collection; import java.util.List; import k.rt.Stack; @@ -39,7 +40,7 @@ import org.griphyn.vdl.mapping.AbsFile; public class CacheUnlockFiles extends CacheFunction { - private ArgRef> file; + private ArgRef> files; private ArgRef dir; private ArgRef host; private ArgRef force; @@ -49,7 +50,7 @@ @Override protected Signature getSignature() { - return new Signature(params("file", "dir", "host", optional("force", Boolean.TRUE), block("body"))); + return new Signature(params("files", "dir", "host", optional("force", Boolean.TRUE), block("body"))); } @Override @@ -77,7 +78,7 @@ } public void remove(Stack stack) { - List pairs = this.file.getValue(stack); + Collection files = this.files.getValue(stack); String dir = this.dir.getValue(stack); Object host = this.host.getValue(stack); VDLFileCache cache = getCache(stack); @@ -85,10 +86,9 @@ boolean force = this.force.getValue(stack); - for (Object o : pairs) { - String file = (String) o; - File f = new File(PathUtils.remotePathName(new AbsFile(file).getPath()), dir, host, 0); - CacheReturn cr = cache.unlockEntry(f, force); + for (AbsFile f : files) { + File cf = new File(PathUtils.remotePathName(f.getPath()), dir, host, 0); + CacheReturn cr = cache.unlockEntry(cf, force); rem.addAll(cr.remove); } Modified: trunk/src/org/griphyn/vdl/karajan/lib/DoRestartLog.java =================================================================== --- trunk/src/org/griphyn/vdl/karajan/lib/DoRestartLog.java 2014-03-19 21:11:38 UTC (rev 7744) +++ trunk/src/org/griphyn/vdl/karajan/lib/DoRestartLog.java 2014-03-22 19:52:28 UTC (rev 7745) @@ -33,30 +33,29 @@ import org.globus.cog.karajan.analyzer.Signature; import org.globus.cog.karajan.compiled.nodes.InternalFunction; import org.griphyn.vdl.mapping.DSHandle; -import org.griphyn.vdl.mapping.Path; public class DoRestartLog extends InternalFunction { - private ArgRef>> restartouts; + private ArgRef> stageouts; private ChannelRef cr_vargs; private ChannelRef cr_restartLog; @Override protected Signature getSignature() { - return new Signature(params("restartouts"), returns(channel("...", DYNAMIC), channel("restartLog", DYNAMIC))); + return new Signature(params("stageouts"), returns(channel("...", DYNAMIC), channel("restartLog", DYNAMIC))); } @Override protected void runBody(LWThread thr) { Stack stack = thr.getStack(); - Collection> files = restartouts.getValue(stack); + Collection files = stageouts.getValue(stack); Channel ret = cr_vargs.get(stack); Channel log = cr_restartLog.get(stack); try { - for (List pv : files) { - Path p = (Path) pv.get(0); - DSHandle handle = (DSHandle) pv.get(1); - LogVar.logVar(log, handle, p); + for (DSHandle file : files) { + for (DSHandle leaf : file.getLeaves()) { + LogVar.logVar(log, leaf); + } } } catch (Exception e) { Deleted: trunk/src/org/griphyn/vdl/karajan/lib/Flatten.java =================================================================== --- trunk/src/org/griphyn/vdl/karajan/lib/Flatten.java 2014-03-19 21:11:38 UTC (rev 7744) +++ trunk/src/org/griphyn/vdl/karajan/lib/Flatten.java 2014-03-22 19:52:28 UTC (rev 7745) @@ -1,65 +0,0 @@ -/* - * Copyright 2012 University of Chicago - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - - -/* - * Created on Jul 18, 2010 - */ -package org.griphyn.vdl.karajan.lib; - -import java.util.List; - -import k.rt.Channel; -import k.rt.Stack; - -import org.globus.cog.karajan.analyzer.ChannelRef; -import org.globus.cog.karajan.analyzer.Signature; -import org.globus.cog.karajan.util.TypeUtil; - -public class Flatten extends SwiftFunction { - private ChannelRef c_vargs; - - @Override - protected Signature getSignature() { - return new Signature(params("...")); - } - - @Override - public Object function(Stack stack) { - Channel v = c_vargs.get(stack); - if (v.isEmpty()) { - return ""; - } - else { - StringBuilder sb = new StringBuilder(); - flatten(sb, v.getAll()); - sb.deleteCharAt(sb.length() - 1); - return sb.toString(); - } - } - - private void flatten(StringBuilder sb, List l) { - for (Object o : l) { - if (o instanceof List) { - flatten(sb, (List) o); - } - else { - sb.append(TypeUtil.toString(o)); - sb.append('|'); - } - } - } -} Added: trunk/src/org/griphyn/vdl/karajan/lib/GetStagingInfo.java =================================================================== --- trunk/src/org/griphyn/vdl/karajan/lib/GetStagingInfo.java (rev 0) +++ trunk/src/org/griphyn/vdl/karajan/lib/GetStagingInfo.java 2014-03-22 19:52:28 UTC (rev 7745) @@ -0,0 +1,103 @@ +/* + * Copyright 2012 University of Chicago + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + + +/* + * Created on Jul 18, 2010 + */ +package org.griphyn.vdl.karajan.lib; + +import java.util.ArrayList; +import java.util.Collection; +import java.util.HashSet; +import java.util.List; +import java.util.Set; + +import k.rt.Channel; +import k.rt.ExecutionException; +import k.rt.Stack; + +import org.globus.cog.karajan.analyzer.ArgRef; +import org.globus.cog.karajan.analyzer.ChannelRef; +import org.globus.cog.karajan.analyzer.Signature; +import org.griphyn.vdl.mapping.AbsFile; +import org.griphyn.vdl.mapping.DSHandle; +import org.griphyn.vdl.mapping.HandleOpenException; +import org.griphyn.vdl.type.Type; + +public class GetStagingInfo extends SwiftFunction { + + private ArgRef> stageins; + private ArgRef> stageouts; + private ChannelRef cr_vargs; + + @Override + protected Signature getSignature() { + return new Signature(params("stageins", "stageouts"), returns(channel("...", 4))); + } + + + @Override + public Object function(Stack stack) { + Collection fi = stageins.getValue(stack); + Collection fo = stageouts.getValue(stack); + Channel ret = cr_vargs.get(stack); + Set localDirNames = new HashSet(); + Set remoteDirNames = new HashSet(); + List inFiles = new ArrayList(); + List outFiles = new ArrayList(); + + try { + addPaths(localDirNames, remoteDirNames, inFiles, fi); + addPaths(localDirNames, remoteDirNames, outFiles, fo); + } + catch (HandleOpenException e) { + throw new ExecutionException(e.getMessage(), e); + } + ret.add(localDirNames); + ret.add(remoteDirNames); + ret.add(inFiles); + ret.add(outFiles); + return null; + } + + private void addPaths(Set ldirs, Set rdirs, List files, Collection vars) throws HandleOpenException { + for (DSHandle file : vars) { + for (DSHandle leaf : file.getLeaves()) { + Type t = leaf.getType(); + String fname = SwiftFunction.argList(SwiftFunction.filename(leaf), true); + AbsFile f = new AbsFile(fname); + String dir = f.getDirectory(); + if (dir != null) { + ldirs.add(dir); + rdirs.add(remoteDir(f, dir)); + } + files.add(f); + } + } + } + + + private String remoteDir(AbsFile f, String dir) { + if ("file".equals(f.getProtocol())) { + return PathUtils.remotePathName(dir); + } + else { + // also prepend host name to the path + return f.getHost() + "/" + PathUtils.remotePathName(dir); + } + } +} Deleted: trunk/src/org/griphyn/vdl/karajan/lib/InFileDirs.java =================================================================== --- trunk/src/org/griphyn/vdl/karajan/lib/InFileDirs.java 2014-03-19 21:11:38 UTC (rev 7744) +++ trunk/src/org/griphyn/vdl/karajan/lib/InFileDirs.java 2014-03-22 19:52:28 UTC (rev 7745) @@ -1,65 +0,0 @@ -/* - * Copyright 2012 University of Chicago - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - - -/* - * Created on Jul 18, 2010 - */ -package org.griphyn.vdl.karajan.lib; - -import java.util.List; - -import k.rt.Channel; -import k.rt.Stack; -import k.thr.LWThread; - -import org.globus.cog.karajan.analyzer.ArgRef; -import org.globus.cog.karajan.analyzer.ChannelRef; -import org.globus.cog.karajan.analyzer.Signature; -import org.globus.cog.karajan.compiled.nodes.InternalFunction; -import org.griphyn.vdl.mapping.AbsFile; - -public class InFileDirs extends InternalFunction { - - private ArgRef> stageins; - private ChannelRef cr_vargs; - - @Override - protected Signature getSignature() { - return new Signature(params("stageins"), returns(channel("...", DYNAMIC))); - } - - - @Override - protected void runBody(LWThread thr) { - Stack stack = thr.getStack(); - List files = stageins.getValue(stack); - Channel ret = cr_vargs.get(stack); - for (String path : files) { - AbsFile af = new AbsFile(path); - String dir = af.getDirectory(); - if (dir != null) { - if ("file".equals(af.getProtocol())) { - ret.add(PathUtils.remotePathName(dir)); - } - else { - // also prepend host name to the path - ret.add(af.getHost() + "/" + PathUtils.remotePathName(dir)); - } - } - } - } -} Modified: trunk/src/org/griphyn/vdl/karajan/lib/IsDone.java =================================================================== --- trunk/src/org/griphyn/vdl/karajan/lib/IsDone.java 2014-03-19 21:11:38 UTC (rev 7744) +++ trunk/src/org/griphyn/vdl/karajan/lib/IsDone.java 2014-03-22 19:52:28 UTC (rev 7745) @@ -20,8 +20,6 @@ */ package org.griphyn.vdl.karajan.lib; -import java.util.List; - import k.rt.Context; import k.rt.Stack; @@ -30,10 +28,10 @@ import org.globus.cog.karajan.analyzer.Signature; import org.globus.cog.karajan.analyzer.VarRef; import org.griphyn.vdl.mapping.DSHandle; -import org.griphyn.vdl.mapping.Path; +import org.griphyn.vdl.mapping.HandleOpenException; public class IsDone extends SwiftFunction { - private ArgRef>> stageout; + private ArgRef> stageout; private VarRef context; @@ -50,12 +48,22 @@ @Override public Object function(Stack stack) { - Iterable> files = stageout.getValue(stack); - for (List pv : files) { - Path p = (Path) pv.get(0); - DSHandle handle = (DSHandle) pv.get(1); - if (!IsLogged.isLogged(context.getValue(stack), handle, p)) { - return Boolean.FALSE; + Iterable files = stageout.getValue(stack); + for (DSHandle file : files) { + if (file.isRestartable()) { + try { + for (DSHandle leaf : file.getLeaves()) { + if (!IsLogged.isLogged(context.getValue(stack), leaf)) { + return Boolean.FALSE; + } + } + } + catch (HandleOpenException e) { + if (logger.isDebugEnabled()) { + logger.debug("Handle open caught in isDone for " + file + ". Assuming false."); + } + return Boolean.FALSE; + } } } if (!files.iterator().hasNext()) { Modified: trunk/src/org/griphyn/vdl/karajan/lib/IsLogged.java =================================================================== --- trunk/src/org/griphyn/vdl/karajan/lib/IsLogged.java 2014-03-19 21:11:38 UTC (rev 7744) +++ trunk/src/org/griphyn/vdl/karajan/lib/IsLogged.java 2014-03-22 19:52:28 UTC (rev 7745) @@ -24,7 +24,6 @@ import java.util.Map; import k.rt.Context; -import k.rt.ExecutionException; import k.rt.Stack; import org.globus.cog.karajan.analyzer.ArgRef; @@ -33,19 +32,18 @@ import org.globus.cog.karajan.analyzer.VarRef; import org.globus.cog.karajan.compiled.nodes.restartLog.LogEntry; import org.globus.cog.karajan.compiled.nodes.restartLog.RestartLog; -import org.globus.cog.karajan.util.TypeUtil; import org.griphyn.vdl.mapping.DSHandle; -import org.griphyn.vdl.mapping.Path; +import org.griphyn.vdl.mapping.PhysicalFormat; +import org.griphyn.vdl.type.Types; public class IsLogged extends SwiftFunction { private ArgRef var; - private ArgRef path; private VarRef context; @Override protected Signature getSignature() { - return new Signature(params("var", "path")); + return new Signature(params("var")); } @Override @@ -57,25 +55,32 @@ @Override public Object function(Stack stack) { DSHandle var = this.var.getValue(stack); - Path path; - Object p = this.path.getValue(stack); - if (p instanceof Path) { - path = (Path) p; - } - else { - path = Path.parse(TypeUtil.toString(p)); - } - return Boolean.valueOf(isLogged(context.getValue(stack), var, path)); + return Boolean.valueOf(isLogged(context.getValue(stack), var)); } - public static boolean isLogged(Context ctx, DSHandle var, Path path) throws ExecutionException { + public static boolean isLogged(Context ctx, DSHandle var) { @SuppressWarnings("unchecked") Map logData = (Map) ctx.getAttribute(RestartLog.LOG_DATA); if (logData.isEmpty()) { return false; } - path = var.getPathFromRoot().append(path); - LogEntry entry = LogEntry.build(LogVar.getLogId(var, path)); + + if (var.getType().equals(Types.EXTERNAL)) { + return isLogged(logData, LogVar.getLogId(var)); + } + else { + PhysicalFormat pf = var.map(); + if (pf == null) { + throw new IllegalArgumentException(var + " could not be mapped"); + } + else { + return isLogged(logData, pf.toString()); + } + } + } + + private static boolean isLogged(Map logData, String str) { + LogEntry entry = LogEntry.build(str); boolean found = false; synchronized (logData) { List files = (List) logData.get(entry); @@ -84,5 +89,5 @@ } } return found; - } + } } Modified: trunk/src/org/griphyn/vdl/karajan/lib/JobConstraints.java =================================================================== --- trunk/src/org/griphyn/vdl/karajan/lib/JobConstraints.java 2014-03-19 21:11:38 UTC (rev 7744) +++ trunk/src/org/griphyn/vdl/karajan/lib/JobConstraints.java 2014-03-22 19:52:28 UTC (rev 7745) @@ -32,11 +32,12 @@ import org.globus.cog.karajan.analyzer.Signature; import org.globus.cog.karajan.scheduler.TaskConstraints; import org.griphyn.vdl.karajan.lib.cache.CacheMapAdapter; +import org.griphyn.vdl.mapping.DSHandle; import org.griphyn.vdl.util.FQN; public class JobConstraints extends CacheFunction { private ArgRef tr; - private ArgRef> stagein; + private ArgRef> stagein; private ChannelRef cr_vargs; @Override @@ -51,39 +52,36 @@ Stack stack = thr.getStack(); String tr = this.tr.getValue(stack); String[] filenames = null; - Collection c = this.stagein.getValue(stack); - if (c != null) { - filenames = c.toArray(STRING_ARRAY); - } + Collection stageins = this.stagein.getValue(stack); SwiftTaskConstraints tc = new SwiftTaskConstraints(tr, new FQN(tr)); - if (filenames != null) { - tc.setFilenames(filenames); + if (stageins != null) { + tc.setStageins(stageins); tc.setFilecache(new CacheMapAdapter(getCache(stack))); } cr_vargs.append(stack, tc); } private static final List NAMES1 = Arrays.asList("tr", "trfqn"); - private static final List NAMES2 = Arrays.asList("tr", "trfqn", "filenames", "filecache"); + private static final List NAMES2 = Arrays.asList("tr", "trfqn", "stageins", "filecache"); private static class SwiftTaskConstraints implements TaskConstraints { private final String tr; private final FQN trfqn; - private String[] filenames; + private Collection stageins; private CacheMapAdapter filecache; public SwiftTaskConstraints(String tr, FQN trfqn) { this.tr = tr; this.trfqn = trfqn; } - - public String[] getFilenames() { - return filenames; + + public Collection getStageins() { + return stageins; } - public void setFilenames(String[] filenames) { - this.filenames = filenames; + public void setStageins(Collection stageins) { + this.stageins = stageins; } public CacheMapAdapter getFilecache() { @@ -103,8 +101,8 @@ else if ("trfqn".equals(name)) { return trfqn; } - else if ("filenames".equals(name)) { - return filenames; + else if ("stageins".equals(name)) { + return stageins; } else if ("filecache".equals(name)) { return filecache; @@ -116,7 +114,7 @@ @Override public Collection getConstraintNames() { - if (filenames == null) { + if (stageins == null) { return NAMES1; } else { Modified: trunk/src/org/griphyn/vdl/karajan/lib/LogVar.java =================================================================== --- trunk/src/org/griphyn/vdl/karajan/lib/LogVar.java 2014-03-19 21:11:38 UTC (rev 7744) +++ trunk/src/org/griphyn/vdl/karajan/lib/LogVar.java 2014-03-22 19:52:28 UTC (rev 7745) @@ -28,53 +28,46 @@ import org.globus.cog.karajan.analyzer.ChannelRef; import org.globus.cog.karajan.analyzer.Signature; import org.globus.cog.karajan.analyzer.VariableNotFoundException; -import org.globus.cog.karajan.util.TypeUtil; import org.griphyn.vdl.mapping.DSHandle; -import org.griphyn.vdl.mapping.Path; import org.griphyn.vdl.mapping.PhysicalFormat; import org.griphyn.vdl.mapping.RootHandle; +import org.griphyn.vdl.type.Types; public class LogVar extends SwiftFunction { private ArgRef var; - private ArgRef path; private ChannelRef cr_restartlog; @Override protected Signature getSignature() { - return new Signature(params("var", "path"), returns(channel("restartlog", 1))); + return new Signature(params("var"), returns(channel("restartlog", 1))); } @Override public Object function(Stack stack) { DSHandle var = this.var.getValue(stack); - Path path; - Object p = this.path.getValue(stack); - if (p instanceof Path) { - path = (Path) p; - } - else { - path = Path.parse(TypeUtil.toString(p)); - } - logVar(cr_restartlog.get(stack), var, path); + logVar(cr_restartlog.get(stack), var); return null; } - - public static void logVar(Channel log, DSHandle var, Path path) throws VariableNotFoundException { - String annotation; - PhysicalFormat pf = var.map(path); - if (pf != null) { - annotation = "" + pf; - } - else { - annotation = "unmapped"; - } - log.add(getLogId(var, path) + "!" + annotation); - } - - public static String getLogId(DSHandle var, Path path) { - RootHandle root = var.getRoot(); - LWThread thr = root.getThread(); - return thr.getQualifiedName() + ":" + root.getName() + - "." + path.stringForm(); - } + + public static void logVar(Channel log, DSHandle var) throws VariableNotFoundException { + if (var.getType().equals(Types.EXTERNAL)) { + log.add(getLogId(var)); + } + else { + PhysicalFormat pf = var.map(); + if (pf == null) { + throw new IllegalArgumentException(var + " could not be mapped"); + } + else { + log.add(pf.toString()); + } + } + } + + public static String getLogId(DSHandle var) { + RootHandle root = var.getRoot(); + LWThread thr = root.getThread(); + return thr.getQualifiedName() + ":" + root.getName() + + "." + var.getPathFromRoot().stringForm(); + } } Modified: trunk/src/org/griphyn/vdl/karajan/lib/Mark.java =================================================================== --- trunk/src/org/griphyn/vdl/karajan/lib/Mark.java 2014-03-19 21:11:38 UTC (rev 7744) +++ trunk/src/org/griphyn/vdl/karajan/lib/Mark.java 2014-03-22 19:52:28 UTC (rev 7745) @@ -20,7 +20,7 @@ */ package org.griphyn.vdl.karajan.lib; -import java.util.List; +import java.util.Collection; import k.rt.Channel; import k.rt.ExecutionException; @@ -28,13 +28,13 @@ import org.globus.cog.karajan.analyzer.ArgRef; import org.globus.cog.karajan.analyzer.Signature; +import org.griphyn.vdl.mapping.AbstractDataNode; import org.griphyn.vdl.mapping.DSHandle; import org.griphyn.vdl.mapping.DataDependentException; import org.griphyn.vdl.mapping.MappingDependentException; -import org.griphyn.vdl.mapping.Path; public class Mark extends SwiftFunction { - private ArgRef>> restarts; + private ArgRef> restarts; private ArgRef err; private ArgRef mapping; @@ -48,19 +48,19 @@ try { if (err.getValue(stack)) { boolean mapping = this.mapping.getValue(stack); - Channel> files = this.restarts.getValue(stack); - for (List pv : files) { - Path p = parsePath(pv.get(0)); - DSHandle handle = (DSHandle) pv.get(1); - DSHandle leaf = handle.getField(p); - synchronized (leaf) { - if (mapping) { - leaf.setValue(new MappingDependentException(leaf, null)); + Channel files = this.restarts.getValue(stack); + for (AbstractDataNode dn : files) { + Collection leaves = dn.getLeaves(); + for (DSHandle leaf : leaves) { + synchronized (leaf) { + if (mapping) { + leaf.setValue(new MappingDependentException(leaf, null)); + } + else { + leaf.setValue(new DataDependentException(leaf, null)); + } + leaf.closeShallow(); } - else { - leaf.setValue(new DataDependentException(leaf, null)); - } - leaf.closeShallow(); } } } Deleted: trunk/src/org/griphyn/vdl/karajan/lib/OutFileDirs.java =================================================================== --- trunk/src/org/griphyn/vdl/karajan/lib/OutFileDirs.java 2014-03-19 21:11:38 UTC (rev 7744) +++ trunk/src/org/griphyn/vdl/karajan/lib/OutFileDirs.java 2014-03-22 19:52:28 UTC (rev 7745) @@ -1,74 +0,0 @@ -/* - * Copyright 2012 University of Chicago - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - - -/* - * Created on Jul 18, 2010 - */ -package org.griphyn.vdl.karajan.lib; - -import java.util.List; - -import k.rt.Channel; -import k.rt.ExecutionException; -import k.rt.Stack; - -import org.globus.cog.karajan.analyzer.ArgRef; -import org.globus.cog.karajan.analyzer.ChannelRef; -import org.globus.cog.karajan.analyzer.Signature; -import org.griphyn.vdl.mapping.AbsFile; -import org.griphyn.vdl.mapping.DSHandle; -import org.griphyn.vdl.mapping.Path; - -public class OutFileDirs extends SwiftFunction { - - private ArgRef>> stageouts; - private ChannelRef cr_vargs; - - @Override - protected Signature getSignature() { - return new Signature(params("stageouts"), returns(channel("...", DYNAMIC))); - } - - - @Override - public Object function(Stack stack) { - List> files = stageouts.getValue(stack); - Channel ret = cr_vargs.get(stack); - try { - for (List pv : files) { - Path p = parsePath(pv.get(0)); - DSHandle handle = (DSHandle) pv.get(1); - DSHandle leaf = handle.getField(p); - String fname = SwiftFunction.filename(leaf)[0]; - AbsFile af = new AbsFile(fname); - String dir = af.getDirectory(); - if (dir != null) { - if ("file".equals(af.getProtocol())) { - ret.add(PathUtils.remotePathName(dir)); - } - else { - ret.add(af.getHost() + "/" + PathUtils.remotePathName(dir)); - } - } - } - } - catch (Exception e) { - throw new ExecutionException(this, e); - } - return null; - } -} Deleted: trunk/src/org/griphyn/vdl/karajan/lib/OutFiles.java =================================================================== --- trunk/src/org/griphyn/vdl/karajan/lib/OutFiles.java 2014-03-19 21:11:38 UTC (rev 7744) +++ trunk/src/org/griphyn/vdl/karajan/lib/OutFiles.java 2014-03-22 19:52:28 UTC (rev 7745) @@ -1,62 +0,0 @@ -/* - * Copyright 2012 University of Chicago - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - - -/* - * Created on Jul 18, 2010 - */ -package org.griphyn.vdl.karajan.lib; - -import java.util.List; - -import k.rt.Channel; -import k.rt.ExecutionException; -import k.rt.Stack; - -import org.globus.cog.karajan.analyzer.ArgRef; -import org.globus.cog.karajan.analyzer.ChannelRef; -import org.globus.cog.karajan.analyzer.Signature; -import org.griphyn.vdl.mapping.DSHandle; -import org.griphyn.vdl.mapping.Path; - -public class OutFiles extends SwiftFunction { - private ArgRef>> stageouts; - private ChannelRef cr_vargs; - - @Override - protected Signature getSignature() { - return new Signature(params("stageouts"), returns(channel("...", DYNAMIC))); - } - - @Override - public Object function(Stack stack) { - List> files = this.stageouts.getValue(stack); - Channel ret = cr_vargs.get(stack); - try { - for (List pv : files) { - Path p = parsePath(pv.get(0)); - DSHandle handle = (DSHandle) pv.get(1); - DSHandle leaf = handle.getField(p); - String fname = argList(SwiftFunction.filename(leaf), true); - ret.add(fname); - } - } - catch (Exception e) { - throw new ExecutionException(this, e); - } - return null; - } -} Modified: trunk/src/org/griphyn/vdl/karajan/lib/PathUtils.java =================================================================== --- trunk/src/org/griphyn/vdl/karajan/lib/PathUtils.java 2014-03-19 21:11:38 UTC (rev 7744) +++ trunk/src/org/griphyn/vdl/karajan/lib/PathUtils.java 2014-03-22 19:52:28 UTC (rev 7745) @@ -20,10 +20,14 @@ import java.util.ArrayList; import java.util.List; +import k.rt.Channel; import k.rt.Stack; +import k.thr.LWThread; import org.globus.cog.karajan.analyzer.ArgRef; +import org.globus.cog.karajan.analyzer.ChannelRef; import org.globus.cog.karajan.analyzer.Param; +import org.globus.cog.karajan.analyzer.Signature; import org.globus.cog.karajan.compiled.nodes.functions.AbstractSingleValuedFunction; import org.globus.swift.catalog.types.Os; import org.griphyn.vdl.mapping.AbsFile; @@ -61,6 +65,10 @@ @Override public Object function(Stack stack) { String dir = new AbsFile(path.getValue(stack)).getDirectory(); + return function(dir); + } + + public static String function(String dir) { if (dir != null) { return remotePathName(dir); } @@ -73,7 +81,8 @@ private static final char EOL = '\0'; /** * Replace leading slash if present with "__root__" and replace - * parent dir references with "__parent__" + * parent dir references with "__parent__". + * */ public static String remotePathName(String dir) { @@ -272,6 +281,10 @@ String dir = this.dir.getValue(stack); String path = this.path.getValue(stack); boolean windows = this.os.getValue(stack).equals(Os.WINDOWS); + return function(dir, path, windows); + } + + public static String function(String dir, String path, boolean windows) { if (dir.equals("")) { return windowsify(path, windows); } @@ -310,4 +323,51 @@ return l.toArray(new String[0]); } } + + /** + * (provider, dhost, rdir, bname, ldir) = splitFileURL(file, dir) + * + * Implements this functionality that used to be in swift-int.k: + * + * provider := provider(file) + * dhost := hostname(file) + * rdir := dircat(dir, reldirname(file)) + * bname := basename(file) + * ldir := swift:dirname(file) + * + */ + public static class SplitFileURL extends SwiftFunction { + private ArgRef file; + private ArgRef dir; + private ChannelRef cr_vargs; + + @Override + protected Signature getSignature() { + return new Signature(params("file", "dir"), returns(channel("...", DYNAMIC))); + } + + + + @Override + public void runBody(LWThread thr) { + super.runBody(thr); + } + + @Override + public Object function(Stack stack) { + AbsFile f = this.file.getValue(stack); + String dir = this.dir.getValue(stack); + Channel ret = cr_vargs.get(stack); + + ret.add(f.getProtocol()); + ret.add(f.getHost()); + String fdir = f.getDirectory(); + ret.add(DirCat.function(dir, RelDirName.function(fdir), false)); + ret.add(f.getName()); + ret.add(fdir == null ? "" : fdir); + + return null; + } + } + } Added: trunk/src/org/griphyn/vdl/karajan/lib/RemoteFileNames.java =================================================================== --- trunk/src/org/griphyn/vdl/karajan/lib/RemoteFileNames.java (rev 0) +++ trunk/src/org/griphyn/vdl/karajan/lib/RemoteFileNames.java 2014-03-22 19:52:28 UTC (rev 7745) @@ -0,0 +1,55 @@ +/* + * Copyright 2012 University of Chicago + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + + +/* + * Created on Jan 5, 2007 + */ +package org.griphyn.vdl.karajan.lib; + +import java.util.ArrayList; +import java.util.List; + +import k.rt.Stack; + +import org.globus.cog.karajan.analyzer.ArgRef; +import org.globus.cog.karajan.analyzer.Signature; +import org.griphyn.vdl.mapping.AbsFile; + +public class RemoteFileNames extends SwiftFunction { + private ArgRef> files; + + @Override + protected Signature getSignature() { + return new Signature(params("files")); + } + + @Override + public Object function(Stack stack) { + List files = this.files.getValue(stack); + List ret = new ArrayList(); + for (AbsFile f : files) { + String path = null; + if ("file".equals(f.getProtocol())) { + ret.add(PathUtils.remotePathName(f.getPath())); + } + else { + ret.add(PathUtils.remotePathName(f.getHost() + "/" + f.getPath())); + } + } + return ret; + } +} Modified: trunk/src/org/griphyn/vdl/karajan/lib/SetDatasetValues.java =================================================================== --- trunk/src/org/griphyn/vdl/karajan/lib/SetDatasetValues.java 2014-03-19 21:11:38 UTC (rev 7744) +++ trunk/src/org/griphyn/vdl/karajan/lib/SetDatasetValues.java 2014-03-22 19:52:28 UTC (rev 7745) @@ -30,10 +30,9 @@ import org.globus.cog.karajan.analyzer.Signature; import org.griphyn.vdl.mapping.AbstractDataNode; import org.griphyn.vdl.mapping.DSHandle; -import org.griphyn.vdl.mapping.Path; public class SetDatasetValues extends SwiftFunction { - private ArgRef>> stageouts; + private ArgRef> stageouts; @Override protected Signature getSignature() { @@ -42,13 +41,12 @@ @Override public Object function(Stack stack) { - Collection> files = this.stageouts.getValue(stack); + Collection files = this.stageouts.getValue(stack); try { - for (List pv : files) { - Path p = parsePath(pv.get(0)); - DSHandle handle = (DSHandle) pv.get(1); - DSHandle leaf = handle.getField(p); - leaf.setValue(AbstractDataNode.FILE_VALUE); + for (DSHandle file : files) { + for (DSHandle leaf : file.getLeaves()) { + leaf.setValue(AbstractDataNode.FILE_VALUE); + } } } catch (Exception e) { Modified: trunk/src/org/griphyn/vdl/karajan/lib/Stagein.java =================================================================== --- trunk/src/org/griphyn/vdl/karajan/lib/Stagein.java 2014-03-19 21:11:38 UTC (rev 7744) +++ trunk/src/org/griphyn/vdl/karajan/lib/Stagein.java 2014-03-22 19:52:28 UTC (rev 7745) @@ -85,10 +85,7 @@ deperr = true; } - k.rt.Channel stagein = cr_stagein.get(stack); - for (Path p : fp) { - stagein.add(filename(var.getField(p))[0]); - } + cr_stagein.append(stack, var); } catch (ConditionalYield f) { if (tracer.isEnabled()) { Modified: trunk/src/org/griphyn/vdl/karajan/lib/Stageout.java =================================================================== --- trunk/src/org/griphyn/vdl/karajan/lib/Stageout.java 2014-03-19 21:11:38 UTC (rev 7744) +++ trunk/src/org/griphyn/vdl/karajan/lib/Stageout.java 2014-03-22 19:52:28 UTC (rev 7745) @@ -20,11 +20,6 @@ */ package org.griphyn.vdl.karajan.lib; -import java.util.ArrayList; -import java.util.Collection; -import java.util.List; - -import k.rt.ExecutionException; import k.rt.Stack; import org.apache.log4j.Logger; @@ -33,32 +28,23 @@ import org.globus.cog.karajan.analyzer.Signature; import org.globus.cog.karajan.analyzer.VarRef; import org.griphyn.vdl.mapping.AbstractDataNode; -import org.griphyn.vdl.mapping.DSHandle; +import org.griphyn.vdl.mapping.Mapper; import org.griphyn.vdl.mapping.MappingDependentException; -import org.griphyn.vdl.mapping.Path; public class Stageout extends SwiftFunction { public static final Logger logger = Logger.getLogger(Stageout.class); private ArgRef var; private ChannelRef cr_stageout; - private ChannelRef cr_restartout; private VarRef r_deperror; private VarRef r_mdeperror; @Override protected Signature getSignature() { return new Signature(params("var"), returns("deperror", "mdeperror", - channel("stageout", DYNAMIC), channel("restartout", DYNAMIC))); + channel("stageout", DYNAMIC))); } - private List list(Path p, DSHandle var) { - ArrayList l = new ArrayList(2); - l.add(p); - l.add(var); - return l; - } - @Override public Object function(Stack stack) { AbstractDataNode var = this.var.getValue(stack); @@ -69,16 +55,16 @@ // if these arrays had their sizes closed, which could lead to // race conditions (e.g. if this array's mapper had some parameter // dependencies that weren't closed at the time the app was started). - if (var.getType().isArray()) { - var.waitFor(this); - } try { + if (var.getType().isArray()) { + Mapper m = var.getMapper(); + if (m.isStatic()) { + var.waitFor(this); + } + } if (!var.isPrimitive()) { - retPaths(cr_stageout.get(stack), var); + cr_stageout.append(stack, var); } - if (var.isRestartable()) { - retPaths(cr_restartout.get(stack), var); - } } catch (MappingDependentException e) { logger.debug(e); @@ -93,16 +79,4 @@ } return null; } - - private void retPaths(k.rt.Channel channel, DSHandle var) throws ExecutionException { - try { - Collection fp = var.getFringePaths(); - for (Path p : fp) { - channel.add(list(p, var)); - } - } - catch (Exception e) { - throw new ExecutionException(this, e); - } - } } Modified: trunk/src/org/griphyn/vdl/karajan/lib/SwiftFunction.java =================================================================== --- trunk/src/org/griphyn/vdl/karajan/lib/SwiftFunction.java 2014-03-19 21:11:38 UTC (rev 7744) +++ trunk/src/org/griphyn/vdl/karajan/lib/SwiftFunction.java 2014-03-22 19:52:28 UTC (rev 7745) @@ -277,7 +277,7 @@ * true, then each input string will be passed through the relativize * function. */ - public String argList(String[] s, boolean relative) { + public static String argList(String[] s, boolean relative) { StringBuffer sb = new StringBuffer(); for (int i = 0; i < s.length; i++) { if (relative) { Modified: trunk/src/org/griphyn/vdl/karajan/lib/swiftscript/Misc.java =================================================================== --- trunk/src/org/griphyn/vdl/karajan/lib/swiftscript/Misc.java 2014-03-19 21:11:38 UTC (rev 7744) +++ trunk/src/org/griphyn/vdl/karajan/lib/swiftscript/Misc.java 2014-03-22 19:52:28 UTC (rev 7745) @@ -172,7 +172,13 @@ @Override public Object function(Stack stack) { AbstractDataNode dn = file.getValue(stack); - String filename = SwiftFunction.unwrap(this, dn); + String filename; + if (dn.getType().equals(Types.STRING)) { + filename = SwiftFunction.unwrap(this, dn); + } + else { + filename = SwiftFunction.filename(dn)[0]; + } AbsFile file = new AbsFile(filename); if (logger.isDebugEnabled()) { Modified: trunk/src/org/griphyn/vdl/mapping/AbstractDataNode.java =================================================================== --- trunk/src/org/griphyn/vdl/mapping/AbstractDataNode.java 2014-03-19 21:11:38 UTC (rev 7744) +++ trunk/src/org/griphyn/vdl/mapping/AbstractDataNode.java 2014-03-22 19:52:28 UTC (rev 7745) @@ -459,6 +459,46 @@ } } } + + public Collection getLeaves() throws HandleOpenException { + Type t = getType(); + if (t.isPrimitive()) { + return Collections.emptyList(); + } + if (!t.isComposite()) { + return Collections.singletonList((DSHandle) this); + } + List list = new ArrayList(); + getLeaves(list); + return list; + } + + public void getLeaves(List list) throws HandleOpenException { + checkMappingException(); + if (getType().getBaseType() != null) { + list.add(this); + } + else { + for (Field field : getType().getFields()) { + AbstractDataNode child; + String name = (String) field.getId(); + try { + child = (AbstractDataNode) this.getField(name); + } + catch (NoSuchFieldException e) { + throw new RuntimeException("Inconsistency between type declaration and " + + "handle for field '" + name + "'"); + } + Type type = child.getType(); + if (!type.isPrimitive() && !child.isArray() && type.getFields().size() == 0) { + list.add(child); + } + else { + child.getLeaves(list); + } + } + } + } public void closeShallow() { synchronized(this) { Modified: trunk/src/org/griphyn/vdl/mapping/DSHandle.java =================================================================== --- trunk/src/org/griphyn/vdl/mapping/DSHandle.java 2014-03-19 21:11:38 UTC (rev 7744) +++ trunk/src/org/griphyn/vdl/mapping/DSHandle.java 2014-03-22 19:52:28 UTC (rev 7745) @@ -91,6 +91,8 @@ public void closeDeep(); public Collection getFringePaths() throws HandleOpenException; + + public Collection getLeaves() throws HandleOpenException; public Map, DSHandle> getArrayValue(); From hategan at ci.uchicago.edu Sat Mar 22 14:59:06 2014 From: hategan at ci.uchicago.edu (hategan at ci.uchicago.edu) Date: Sat, 22 Mar 2014 14:59:06 -0500 (CDT) Subject: [Swift-commit] r7746 - trunk/src/org/griphyn/vdl/karajan/lib Message-ID: <20140322195906.7147D9D542@svn.ci.uchicago.edu> Author: hategan Date: 2014-03-22 14:59:06 -0500 (Sat, 22 Mar 2014) New Revision: 7746 Modified: trunk/src/org/griphyn/vdl/karajan/lib/AppendArray.java Log: fixed NPE with array append Modified: trunk/src/org/griphyn/vdl/karajan/lib/AppendArray.java =================================================================== --- trunk/src/org/griphyn/vdl/karajan/lib/AppendArray.java 2014-03-22 19:52:28 UTC (rev 7745) +++ trunk/src/org/griphyn/vdl/karajan/lib/AppendArray.java 2014-03-22 19:59:06 UTC (rev 7746) @@ -28,7 +28,8 @@ @Override protected Signature getSignature() { - return new Signature(params("var", "value")); + return new Signature(params("var", "value", optional("_traceline", null))); + // _traceline is used by SetFieldValue } @Override From hategan at ci.uchicago.edu Sat Mar 22 15:28:48 2014 From: hategan at ci.uchicago.edu (hategan at ci.uchicago.edu) Date: Sat, 22 Mar 2014 15:28:48 -0500 (CDT) Subject: [Swift-commit] r7747 - trunk/src/org/griphyn/vdl/mapping Message-ID: <20140322202848.7D1A39D542@svn.ci.uchicago.edu> Author: hategan Date: 2014-03-22 15:28:48 -0500 (Sat, 22 Mar 2014) New Revision: 7747 Modified: trunk/src/org/griphyn/vdl/mapping/DuplicateMappingChecker.java Log: prevent duplicate mapping to null warnings when some fields in a structure are not mapped nor used Modified: trunk/src/org/griphyn/vdl/mapping/DuplicateMappingChecker.java =================================================================== --- trunk/src/org/griphyn/vdl/mapping/DuplicateMappingChecker.java 2014-03-22 19:59:06 UTC (rev 7746) +++ trunk/src/org/griphyn/vdl/mapping/DuplicateMappingChecker.java 2014-03-22 20:28:48 UTC (rev 7747) @@ -69,7 +69,7 @@ } Entry e = getEntry(f); if (e.write != null) { - warn("Duplicate mapping found:\n\t" + + warn("WARNING: duplicate mapping found:\n\t" + formatInfo(getInfo(h)) + " is used to read from " + f + "\n\t" + formatInfo(e.write) + " is used to write to " + f); } @@ -93,13 +93,23 @@ if (!enabled) { return; } + if (f == null) { + /* + * sometimes only a sub-set of a complex structure is mapped and used + * such as, for example, in 0755-ext-mapper.swift + * + * In such cases, don't complain about multiple things being mapped + * to null + */ + return; + } Entry e = getEntry(f); if (e.write != null) { - warn("Duplicate mapping found:\n\t" + + warn("WARNING: duplicate mapping found:\n\t" + formatInfo(getInfo(h)) + " and " + formatInfo(e.write) + " are both used to write to " + f); } if (e.read != null) { - warn("Duplicate mapping found:\n\t" + + warn("WARNING: duplicate mapping found:\n\t" + formatInfo(e.write) + " is used to write to " + f + "\n\t" + "The following variables(s) are also used to read from " + f + ":" + formatInfos(e.read)); } From swift at ci.uchicago.edu Thu Mar 27 20:40:05 2014 From: swift at ci.uchicago.edu (swift at ci.uchicago.edu) Date: Thu, 27 Mar 2014 20:40:05 -0500 (CDT) Subject: [Swift-commit] cog r3883 Message-ID: <20140328014005.6A0E38D000A6@bridled.ci.uchicago.edu> ------------------------------------------------------------------------ r3883 | hategan | 2014-03-27 20:39:36 -0500 (Thu, 27 Mar 2014) | 1 line added filtered list method to file resources ------------------------------------------------------------------------ Index: modules/abstraction-common/src/org/globus/cog/abstraction/impl/file/FileResourceFileFilter.java =================================================================== --- modules/abstraction-common/src/org/globus/cog/abstraction/impl/file/FileResourceFileFilter.java (revision 0) +++ modules/abstraction-common/src/org/globus/cog/abstraction/impl/file/FileResourceFileFilter.java (revision 3883) @@ -0,0 +1,16 @@ +//---------------------------------------------------------------------- +//This code is developed as part of the Java CoG Kit project +//The terms of the license can be found at http://www.cogkit.org/license +//This message may not be removed or altered. +//---------------------------------------------------------------------- + +/* + * Created on Mar 26, 2014 + */ +package org.globus.cog.abstraction.impl.file; + +import org.globus.cog.abstraction.interfaces.GridFile; + +public interface FileResourceFileFilter { + boolean accept(GridFile f); +} Index: modules/abstraction-common/src/org/globus/cog/abstraction/impl/file/AbstractFileResource.java =================================================================== --- modules/abstraction-common/src/org/globus/cog/abstraction/impl/file/AbstractFileResource.java (revision 3882) +++ modules/abstraction-common/src/org/globus/cog/abstraction/impl/file/AbstractFileResource.java (working copy) @@ -13,9 +13,11 @@ import java.io.InputStream; import java.io.OutputStream; import java.net.PasswordAuthentication; +import java.util.ArrayList; import java.util.Collection; import java.util.HashMap; import java.util.Iterator; +import java.util.List; import java.util.Map; import org.apache.log4j.Logger; @@ -436,4 +438,24 @@ throw new UnsupportedOperationException("The " + name + " provider does not support partial transfers"); } } + + /** + * Convenience method to implement filtering. Providers should implement their + * own, more efficient, filtering + * @throws FileResourceException + * @throws DirectoryNotFoundException + */ + @Override + public Collection list(String dir, FileResourceFileFilter filter) + throws DirectoryNotFoundException, FileResourceException { + + List nl = new ArrayList(); + Collection ol = list(dir); + for (GridFile f : ol) { + if (filter.accept(f)) { + nl.add(f); + } + } + return nl; + } } Index: modules/abstraction-common/src/org/globus/cog/abstraction/interfaces/FileResource.java =================================================================== --- modules/abstraction-common/src/org/globus/cog/abstraction/interfaces/FileResource.java (revision 3882) +++ modules/abstraction-common/src/org/globus/cog/abstraction/interfaces/FileResource.java (working copy) @@ -10,12 +10,14 @@ import java.io.InputStream; import java.io.OutputStream; import java.util.Collection; +import java.util.List; import org.globus.cog.abstraction.impl.common.task.IllegalSpecException; import org.globus.cog.abstraction.impl.common.task.InvalidSecurityContextException; import org.globus.cog.abstraction.impl.common.task.TaskSubmissionException; import org.globus.cog.abstraction.impl.file.DirectoryNotFoundException; import org.globus.cog.abstraction.impl.file.FileResourceException; +import org.globus.cog.abstraction.impl.file.FileResourceFileFilter; import org.globus.cog.abstraction.impl.file.IllegalHostException; /** @@ -132,6 +134,9 @@ */ public Collection list(String directoryName) throws DirectoryNotFoundException, FileResourceException; + + public Collection list(String dir, FileResourceFileFilter filter) + throws DirectoryNotFoundException, FileResourceException; /** * Creates a new directory with the given name @@ -371,4 +376,5 @@ void thirdPartyTransfer(FileResource sourceResource, FileFragment source, FileFragment destination) throws FileResourceException; + } From swift at ci.uchicago.edu Thu Mar 27 20:45:04 2014 From: swift at ci.uchicago.edu (swift at ci.uchicago.edu) Date: Thu, 27 Mar 2014 20:45:04 -0500 (CDT) Subject: [Swift-commit] cog r3890 Message-ID: <20140328014504.701928D000A6@bridled.ci.uchicago.edu> ------------------------------------------------------------------------ r3890 | hategan | 2014-03-27 20:44:44 -0500 (Thu, 27 Mar 2014) | 1 line wildcard stageouts for local provider ------------------------------------------------------------------------ Index: modules/provider-local/src/org/globus/cog/abstraction/impl/execution/local/JobSubmissionTaskHandler.java =================================================================== --- modules/provider-local/src/org/globus/cog/abstraction/impl/execution/local/JobSubmissionTaskHandler.java (revision 3889) +++ modules/provider-local/src/org/globus/cog/abstraction/impl/execution/local/JobSubmissionTaskHandler.java (working copy) @@ -36,6 +36,7 @@ import org.globus.cog.abstraction.impl.common.util.NullOutputStream; import org.globus.cog.abstraction.impl.common.util.OutputStreamMultiplexer; import org.globus.cog.abstraction.impl.file.FileResourceCache; +import org.globus.cog.abstraction.impl.file.SimplePathExpansion; import org.globus.cog.abstraction.interfaces.CleanUpSet; import org.globus.cog.abstraction.interfaces.FileLocation; import org.globus.cog.abstraction.interfaces.FileResource; @@ -318,15 +319,48 @@ } getTask().setStatus(Status.STAGE_OUT); - stage(s, dir, jobSucceeded); + stage(s, dir, jobSucceeded, true); } - private void stage(StagingSet s, File dir, boolean jobSucceeded) throws Exception { + private void stage(StagingSet s, File dir, boolean jobSucceeded, boolean pathNameExpansion) throws Exception { for (StagingSetEntry e : s) { - copy(e.getSource(), e.getDestination(), dir, e.getMode(), jobSucceeded); + String src = e.getSource(); + if (pathNameExpansion && isPattern(src)) { + if (e.getMode().contains(Mode.ON_SUCCESS) && !jobSucceeded) { + continue; + } + if (e.getMode().contains(Mode.ON_ERROR) && jobSucceeded) { + continue; + } + String dst = e.getDestination(); + RemoteFile srf = new RemoteFile(src); + String srcScheme = defaultToLocal(srf.getProtocol()); + Service ss = new ServiceImpl(srcScheme, getServiceContact(srf), null); + FileResource sres = FileResourceCache.getDefault().getResource(ss); + RemoteFile drf = new RemoteFile(dst); + Collection paths = SimplePathExpansion.expand(srf, drf, sres); + for (String[] pair : paths) { + copy(pair[0], pair[1], dir, e.getMode(), jobSucceeded); + } + } + else { + copy(e.getSource(), e.getDestination(), dir, e.getMode(), jobSucceeded); + } } } + private boolean isPattern(String path) { + for (int i = 0; i < path.length(); i++) { + char c = path.charAt(i); + switch (c) { + case '?': + case '*': + return true; + } + } + return false; + } + protected void stageIn(JobSpecification spec, File dir) throws Exception { StagingSet s = spec.getStageIn(); if (s == null || s.isEmpty()) { @@ -336,7 +370,7 @@ getTask().setStatus(Status.STAGE_IN); // job is considered successful before it runs as far as // staging modes are concerned - stage(s, dir, true); + stage(s, dir, true, false); } private void copy(String src, String dest, File dir, EnumSet mode, boolean jobSucceeded) throws Exception { From hategan at ci.uchicago.edu Thu Mar 27 20:52:39 2014 From: hategan at ci.uchicago.edu (hategan at ci.uchicago.edu) Date: Thu, 27 Mar 2014 20:52:39 -0500 (CDT) Subject: [Swift-commit] r7749 - in trunk/tests/language-behaviour/procedures: . dynamic-output dynamic-output/provider-staging-coasters dynamic-output/provider-staging-local dynamic-output/swift-staging Message-ID: <20140328015239.998DE9D0BE@svn.ci.uchicago.edu> Author: hategan Date: 2014-03-27 20:52:39 -0500 (Thu, 27 Mar 2014) New Revision: 7749 Added: trunk/tests/language-behaviour/procedures/dynamic-output/ trunk/tests/language-behaviour/procedures/dynamic-output/provider-staging-coasters/ trunk/tests/language-behaviour/procedures/dynamic-output/provider-staging-coasters/900-dynamic-output-simple-mapper.check.sh trunk/tests/language-behaviour/procedures/dynamic-output/provider-staging-coasters/900-dynamic-output-simple-mapper.swift trunk/tests/language-behaviour/procedures/dynamic-output/provider-staging-coasters/901-dynamic-output-fs-mapper.check.sh trunk/tests/language-behaviour/procedures/dynamic-output/provider-staging-coasters/901-dynamic-output-fs-mapper.swift trunk/tests/language-behaviour/procedures/dynamic-output/provider-staging-coasters/gen.sh trunk/tests/language-behaviour/procedures/dynamic-output/provider-staging-coasters/sites.template.xml trunk/tests/language-behaviour/procedures/dynamic-output/provider-staging-coasters/swift.properties trunk/tests/language-behaviour/procedures/dynamic-output/provider-staging-coasters/tc.template.data trunk/tests/language-behaviour/procedures/dynamic-output/provider-staging-coasters/title.txt trunk/tests/language-behaviour/procedures/dynamic-output/provider-staging-local/ trunk/tests/language-behaviour/procedures/dynamic-output/provider-staging-local/900-dynamic-output-simple-mapper.check.sh trunk/tests/language-behaviour/procedures/dynamic-output/provider-staging-local/900-dynamic-output-simple-mapper.swift trunk/tests/language-behaviour/procedures/dynamic-output/provider-staging-local/901-dynamic-output-fs-mapper.check.sh trunk/tests/language-behaviour/procedures/dynamic-output/provider-staging-local/901-dynamic-output-fs-mapper.swift trunk/tests/language-behaviour/procedures/dynamic-output/provider-staging-local/gen.sh trunk/tests/language-behaviour/procedures/dynamic-output/provider-staging-local/sites.template.xml trunk/tests/language-behaviour/procedures/dynamic-output/provider-staging-local/swift.properties trunk/tests/language-behaviour/procedures/dynamic-output/provider-staging-local/tc.template.data trunk/tests/language-behaviour/procedures/dynamic-output/provider-staging-local/title.txt trunk/tests/language-behaviour/procedures/dynamic-output/swift-staging/ trunk/tests/language-behaviour/procedures/dynamic-output/swift-staging/900-dynamic-output-simple-mapper.check.sh trunk/tests/language-behaviour/procedures/dynamic-output/swift-staging/900-dynamic-output-simple-mapper.swift trunk/tests/language-behaviour/procedures/dynamic-output/swift-staging/901-dynamic-output-fs-mapper.check.sh trunk/tests/language-behaviour/procedures/dynamic-output/swift-staging/901-dynamic-output-fs-mapper.swift trunk/tests/language-behaviour/procedures/dynamic-output/swift-staging/gen.sh trunk/tests/language-behaviour/procedures/dynamic-output/swift-staging/sites.template.xml trunk/tests/language-behaviour/procedures/dynamic-output/swift-staging/swift.properties trunk/tests/language-behaviour/procedures/dynamic-output/swift-staging/tc.template.data trunk/tests/language-behaviour/procedures/dynamic-output/swift-staging/title.txt Log: added tests for dynamic stageouts Added: trunk/tests/language-behaviour/procedures/dynamic-output/provider-staging-coasters/900-dynamic-output-simple-mapper.check.sh =================================================================== --- trunk/tests/language-behaviour/procedures/dynamic-output/provider-staging-coasters/900-dynamic-output-simple-mapper.check.sh (rev 0) +++ trunk/tests/language-behaviour/procedures/dynamic-output/provider-staging-coasters/900-dynamic-output-simple-mapper.check.sh 2014-03-28 01:52:39 UTC (rev 7749) @@ -0,0 +1,5 @@ +#!/bin/bash + +cat 900-dynamic-output-simple-mapper.out |grep "SwiftScript trace: 3" || exit 1 + +exit 0 \ No newline at end of file Property changes on: trunk/tests/language-behaviour/procedures/dynamic-output/provider-staging-coasters/900-dynamic-output-simple-mapper.check.sh ___________________________________________________________________ Added: svn:executable + * Added: trunk/tests/language-behaviour/procedures/dynamic-output/provider-staging-coasters/900-dynamic-output-simple-mapper.swift =================================================================== --- trunk/tests/language-behaviour/procedures/dynamic-output/provider-staging-coasters/900-dynamic-output-simple-mapper.swift (rev 0) +++ trunk/tests/language-behaviour/procedures/dynamic-output/provider-staging-coasters/900-dynamic-output-simple-mapper.swift 2014-03-28 01:52:39 UTC (rev 7749) @@ -0,0 +1,12 @@ +type file; + +file[] a ; + +app (file[] oa) gen(int i) { + gen i; +} + +a = gen(3); + +trace(a); +trace(length(a)); \ No newline at end of file Added: trunk/tests/language-behaviour/procedures/dynamic-output/provider-staging-coasters/901-dynamic-output-fs-mapper.check.sh =================================================================== --- trunk/tests/language-behaviour/procedures/dynamic-output/provider-staging-coasters/901-dynamic-output-fs-mapper.check.sh (rev 0) +++ trunk/tests/language-behaviour/procedures/dynamic-output/provider-staging-coasters/901-dynamic-output-fs-mapper.check.sh 2014-03-28 01:52:39 UTC (rev 7749) @@ -0,0 +1,5 @@ +#!/bin/bash + +cat 901-dynamic-output-fs-mapper.out |grep "SwiftScript trace: 3" || exit 1 + +exit 0 \ No newline at end of file Property changes on: trunk/tests/language-behaviour/procedures/dynamic-output/provider-staging-coasters/901-dynamic-output-fs-mapper.check.sh ___________________________________________________________________ Added: svn:executable + * Added: trunk/tests/language-behaviour/procedures/dynamic-output/provider-staging-coasters/901-dynamic-output-fs-mapper.swift =================================================================== --- trunk/tests/language-behaviour/procedures/dynamic-output/provider-staging-coasters/901-dynamic-output-fs-mapper.swift (rev 0) +++ trunk/tests/language-behaviour/procedures/dynamic-output/provider-staging-coasters/901-dynamic-output-fs-mapper.swift 2014-03-28 01:52:39 UTC (rev 7749) @@ -0,0 +1,12 @@ +type file; + +file[] a ; + +app (file[] oa) gen(int i) { + gen i; +} + +a = gen(3); + +trace(a); +trace(length(a)); \ No newline at end of file Added: trunk/tests/language-behaviour/procedures/dynamic-output/provider-staging-coasters/gen.sh =================================================================== --- trunk/tests/language-behaviour/procedures/dynamic-output/provider-staging-coasters/gen.sh (rev 0) +++ trunk/tests/language-behaviour/procedures/dynamic-output/provider-staging-coasters/gen.sh 2014-03-28 01:52:39 UTC (rev 7749) @@ -0,0 +1,6 @@ +#!/bin/bash + +mkdir outs +for ((i = 0; i < $1; i++)); do + echo "test" > outs/foo000$i.out +done \ No newline at end of file Property changes on: trunk/tests/language-behaviour/procedures/dynamic-output/provider-staging-coasters/gen.sh ___________________________________________________________________ Added: svn:executable + * Added: trunk/tests/language-behaviour/procedures/dynamic-output/provider-staging-coasters/sites.template.xml =================================================================== --- trunk/tests/language-behaviour/procedures/dynamic-output/provider-staging-coasters/sites.template.xml (rev 0) +++ trunk/tests/language-behaviour/procedures/dynamic-output/provider-staging-coasters/sites.template.xml 2014-03-28 01:52:39 UTC (rev 7749) @@ -0,0 +1,16 @@ + + + + + _HOST_ + 2.55 + 10000 + 4 + 8 + 1000 + 1 + 4 + _WORK_ + + + Added: trunk/tests/language-behaviour/procedures/dynamic-output/provider-staging-coasters/swift.properties =================================================================== --- trunk/tests/language-behaviour/procedures/dynamic-output/provider-staging-coasters/swift.properties (rev 0) +++ trunk/tests/language-behaviour/procedures/dynamic-output/provider-staging-coasters/swift.properties 2014-03-28 01:52:39 UTC (rev 7749) @@ -0,0 +1,353 @@ +sites.file=${swift.home}/etc/sites.xml +tc.file=${swift.home}/etc/tc.data + +# +# The host name of the submit machine is used by GRAM as a callback +# address to report the status of submitted jobs. In general, Swift +# can automatically detect the host name of the local machine. +# However, if the machine host name is improperly configured or if +# it does not represent a valid DNS entry, certain services (such as +# GRAM) will not be able to send job status notifications back to +# the client. The value of this property can be an IP address. +# +# Format: +# hostname=string +# + + +#hostname=localhost + +# +# A TCP port range can be specified to restrict the ports on which GRAM +# callback services are started. This is likely needed if your submit +# host is behind a firewall, in which case the firewall should be +# configured to allow incoming connections on ports in the range. +# +# Format: +# tcp.port.range=start,end +# + +#tcp.port.range=50000,50100 + +# +# false - means an error will be immediately reported and cause the +# workflow to abort. At this time remote jobs that are already +# running will not be canceled +# true - means that Swift will try to do as much work as possible and +# report all errors encountered at the end. However, "errors" +# here only applies to job execution errors. Certain errors +# that are related to the Swift implementation (should such +# errors occur) will still be reported eagerly. +# +# Default: false +# +lazy.errors=false + +# +# What algorithm to use for caching of remote files. LRU (as in what +# files to purge) is the only implementation right now. One can set +# a target size (in bytes) for a host by using the swift:storagesize +# profile for a host in sites.xml +# +# Default: LRU +# +caching.algorithm=LRU + +# +# true - generate a provenance graph in .dot format (Swift will +# choose a random file name) +# false - do not generate a provenance graph +# - generate a provenange graph in the give file name +# +# Default: false +# +pgraph=false + + +# +# graph properties for the provenance graph (.dot specific) +# +# Default: splines="compound", rankdir="TB" +# +pgraph.graph.options=splines="compound", rankdir="TB" + + +# +# node properties for the provenance graph (.dot specific) +# +# Default: color="seagreen", style="filled" +# +pgraph.node.options=color="seagreen", style="filled" + +# +# true - clustering of small jobs is enabled. Clustering works in the +# following way: If a job is clusterable (meaning that it has the +# GLOBUS::maxwalltime profile specified in tc.data and its value +# is less than the value of the "clustering.min.time" property) it will +# be put in a clustering queue. The queue is processed at intervals +# specified by the "clustering.queue.delay" property. The processing +# of the clustering queue consists of selecting compatible jobs and +# grouping them in clusters whose max wall time does not exceed twice +# the value of the "clustering.min.time" property. Two or more jobs are +# considered compatible if they share the same site and do not have +# conflicting profiles (e.g. different values for the same environment +# variable). +# false - clustering of small jobs is disabled. +# +# Default: false +# +clustering.enabled=false + + +# +# - the intervals at which the clustering queue is processed +# +# Default: 4 +# +clustering.queue.delay=4 + +# +# - the threshold time for clustering +# +# Default: 60 +# +clustering.min.time=60 + +# +# Kickstart is a useful tool that can be used to gather various information +# about a remote process. Before it can be used it must be installed on the +# remote site and the corresponding entry be set in the sites file. +# This option allows controlling of how Swift uses Kickstart. The following +# values are possible: +# false - do not use Kickstart +# true - use Kickstart. If a job is scheduled on a site that does not have +# Kickstart installed, that job will fail. +# maybe - Use Kickstart if installed (i.e. the entry is present in the sites +# file) +# +# Default: maybe +# + +kickstart.enabled=maybe + +# +# Indicates when Kickstart records should be fetched from the remote site: +# true - always transfer Kickstart records if Kickstart was used (see +# kickstart.enabled) +# false - only transfer Kickstart records if the job fails +# +# Default: false +# + +kickstart.always.transfer=false + +# +# Indicates when wrapper logs should be fetched from the remote site: +# true - always transfer wrapper logs +# false - only transfer wrapper logs if the job fails +# +# Default: false +# + +wrapperlog.always.transfer=false + +########################################################################### +# Throttling options # +########################################################################### +# +# For the throttling parameters, valid values are either a positive integer +# or "off" (without the quotes). +# + +# +# Limits the number of concurrent submissions for a workflow instance. This +# throttle only limits the number of concurrent tasks (jobs) that are being +# sent to sites, not the total number of concurrent jobs that can be run. +# The submission stage in GRAM is one of the most CPU expensive stages (due +# mostly to the mutual authentication and delegation). Having too many +# concurrent submissions can overload either or both the submit host CPU +# and the remote host/head node causing degraded performance. +# +# Default: 4 +# + +throttle.submit=4 +#throttle.submit=off + +# +# Limits the number of concurrent submissions for any of the sites Swift will +# try to send jobs to. In other words it guarantees that no more than the +# value of this throttle jobs sent to any site will be concurrently in a state +# of being submitted. +# +# Default: 2 +# + +throttle.host.submit=2 +#throttle.host.submit=off + +# +# The Swift scheduler has the ability to limit the number of concurrent jobs +# allowed on a site based on the performance history of that site. Each site +# is assigned a score (initially 1), which can increase or decrease based +# on whether the site yields successful or faulty job runs. The score for a +# site can take values in the (0.1, 100) interval. The number of allowed jobs +# is calculated using the following formula: +# 2 + score*throttle.score.job.factor +# This means a site will always be allowed at least two concurrent jobs and +# at most 2 + 100*throttle.score.job.factor. With a default of 4 this means +# at least 2 jobs and at most 402. +# +# Default: 4 +# + +throttle.score.job.factor=0.2 +#throttle.score.job.factor=off + + +# +# Limits the total number of concurrent file transfers that can happen at any +# given time. File transfers consume bandwidth. Too many concurrent transfers +# can cause the network to be overloaded preventing various other signalling +# traffic from flowing properly. +# +# Default: 4 +# + +throttle.transfers=4 +#throttle.transfers=off + +# Limits the total number of concurrent file operations that can happen at any +# given time. File operations (like transfers) require an exclusive connection +# to a site. These connections can be expensive to establish. A large number +# of concurrent file operations may cause Swift to attempt to establish many +# such expensive connections to various sites. Limiting the number of concurrent +# file operations causes Swift to use a small number of cached connections and +# achieve better overall performance. +# +# Default: 8 +# + +throttle.file.operations=8 +#throttle.file.operations=off + +# Indicates whether the working directory on the remote site should be +# left intact even when the workflow completes successfully. This can be +# used to inspect the site working directory for debugging purposes. +# +# Default: false +# + +sitedir.keep=false + +# number of time a job will be retried if it fails (giving a maximum of +# 1 + execution.retries attempts at execution) +# + +execution.retries=2 + + +# Enables/disables replication. Replication is used to deal with jobs sitting +# in batch queues for abnormally large amounts of time. If replication is enabled +# and certain conditions are met, Swift creates and submits replicas of jobs, and +# allows multiple instances of a job to compete. +# + +replication.enabled=false + +# If replication is enabled, this value specifies the minimum time, in seconds, +# a job needs to be queued in a batch queue in order to be considered for +# replication +# + +replication.min.queue.time=60 + +# The maximum number of replicas that Swift should attempt. + +replication.limit=3 + +# +# WARNING: This option is deprecated. Please use the hostname option. +# +# The IP address of the submit machine is used by GRAM as a callback +# address to report the status of submitted jobs. In general, Swift +# can automatically detect the IP address of the local machine. +# However, if the machine has more than one network interface, Swift +# will pick the first one, which may not be the right choice. It is +# recommended that this property is set properly before attempting to +# run jobs through GRAM. +# +# Format: +# ip.address=x.y.z.w +# + +#ip.address=127.0.0.1 + + +# Controls how Swift will communicate the result code of running user programs +# from workers to the submit side. In files mode, a file +# indicating success or failure will be created on the site shared filesystem. +# In provider mode, the execution provider job status will +# be used. Notably, GRAM2 does not return job statuses correctly, and so +# provider mode will not work with GRAM2. With other +# providers, it can be used to reduce the amount of filesystem access compared +# to files mode. +# +# status.mode=files + +# Controls how swift will supply parameters to the remote wrapper script. +# 'args' mode will pass parameters on the command line +# 'files' mode will pass parameters through an additional input file +# +# valid values: args, files +# Default: files +# +# wrapper.parameter.mode=args + +# Determines if Swift remote wrappers will be executed by specifying an +# absolute path, or a path relative to the job initial working directory +# +# valid values: absolute, relative +# wrapper.invocation.mode=absolute + +# +# Limits the number of concurrent iterations that each foreach statement +# can have at one time. This conserves memory for swift programs that +# have large numbers of iterations (which would otherwise all be executed +# in parallel). +# +# Default: 1024 +# + +foreach.max.threads=16384 + +# controls whether the log file will contain provenance information +# enabling this will increase the size of log files, sometimes +# significantly. + +provenance.log=false + +# Controls whether file staging is done by swift or by the execution +# provider. If set to false, the standard swift staging mechanism is +# used. If set to true, swift does not stage files. Instead, the +# execution provider is instructed to stage files in and out. +# +# Provider staging is experimental. +# +# When enabled, and when coasters are used as an execution provider, +# a staging mechanism can be selected for each site +# using the swift:stagingMethod site profile in sites.xml. The +# following is a list of accepted mechanisms: +# +# * file: Staging is done from a filesystem accessible to the +# coaster service (typically running on the head node) +# * proxy: Staging is done from a filesystem accessible to the +# client machine that swift is running on, and is proxied +# through the coaster service +# * sfs: (short for "shared filesystem") Staging is done by +# copying files to and from a filesystem accessible +# by the compute node (such as an NFS or GPFS mount). + + +use.provider.staging=true +provider.staging.pin.swiftfiles=false Added: trunk/tests/language-behaviour/procedures/dynamic-output/provider-staging-coasters/tc.template.data =================================================================== --- trunk/tests/language-behaviour/procedures/dynamic-output/provider-staging-coasters/tc.template.data (rev 0) +++ trunk/tests/language-behaviour/procedures/dynamic-output/provider-staging-coasters/tc.template.data 2014-03-28 01:52:39 UTC (rev 7749) @@ -0,0 +1 @@ +local gen _DIR_/900-dynamic-output.gen.sh INSTALLED INTEL32::LINUX null Added: trunk/tests/language-behaviour/procedures/dynamic-output/provider-staging-coasters/title.txt =================================================================== --- trunk/tests/language-behaviour/procedures/dynamic-output/provider-staging-coasters/title.txt (rev 0) +++ trunk/tests/language-behaviour/procedures/dynamic-output/provider-staging-coasters/title.txt 2014-03-28 01:52:39 UTC (rev 7749) @@ -0,0 +1 @@ +Tests for Dynamic Output from Apps - Provider Staging - Coasters Added: trunk/tests/language-behaviour/procedures/dynamic-output/provider-staging-local/900-dynamic-output-simple-mapper.check.sh =================================================================== --- trunk/tests/language-behaviour/procedures/dynamic-output/provider-staging-local/900-dynamic-output-simple-mapper.check.sh (rev 0) +++ trunk/tests/language-behaviour/procedures/dynamic-output/provider-staging-local/900-dynamic-output-simple-mapper.check.sh 2014-03-28 01:52:39 UTC (rev 7749) @@ -0,0 +1,5 @@ +#!/bin/bash + +cat 900-dynamic-output-simple-mapper.out |grep "SwiftScript trace: 3" || exit 1 + +exit 0 \ No newline at end of file Property changes on: trunk/tests/language-behaviour/procedures/dynamic-output/provider-staging-local/900-dynamic-output-simple-mapper.check.sh ___________________________________________________________________ Added: svn:executable + * Added: trunk/tests/language-behaviour/procedures/dynamic-output/provider-staging-local/900-dynamic-output-simple-mapper.swift =================================================================== --- trunk/tests/language-behaviour/procedures/dynamic-output/provider-staging-local/900-dynamic-output-simple-mapper.swift (rev 0) +++ trunk/tests/language-behaviour/procedures/dynamic-output/provider-staging-local/900-dynamic-output-simple-mapper.swift 2014-03-28 01:52:39 UTC (rev 7749) @@ -0,0 +1,12 @@ +type file; + +file[] a ; + +app (file[] oa) gen(int i) { + gen i; +} + +a = gen(3); + +trace(a); +trace(length(a)); \ No newline at end of file Added: trunk/tests/language-behaviour/procedures/dynamic-output/provider-staging-local/901-dynamic-output-fs-mapper.check.sh =================================================================== --- trunk/tests/language-behaviour/procedures/dynamic-output/provider-staging-local/901-dynamic-output-fs-mapper.check.sh (rev 0) +++ trunk/tests/language-behaviour/procedures/dynamic-output/provider-staging-local/901-dynamic-output-fs-mapper.check.sh 2014-03-28 01:52:39 UTC (rev 7749) @@ -0,0 +1,5 @@ +#!/bin/bash + +cat 901-dynamic-output-fs-mapper.out |grep "SwiftScript trace: 3" || exit 1 + +exit 0 \ No newline at end of file Property changes on: trunk/tests/language-behaviour/procedures/dynamic-output/provider-staging-local/901-dynamic-output-fs-mapper.check.sh ___________________________________________________________________ Added: svn:executable + * Added: trunk/tests/language-behaviour/procedures/dynamic-output/provider-staging-local/901-dynamic-output-fs-mapper.swift =================================================================== --- trunk/tests/language-behaviour/procedures/dynamic-output/provider-staging-local/901-dynamic-output-fs-mapper.swift (rev 0) +++ trunk/tests/language-behaviour/procedures/dynamic-output/provider-staging-local/901-dynamic-output-fs-mapper.swift 2014-03-28 01:52:39 UTC (rev 7749) @@ -0,0 +1,12 @@ +type file; + +file[] a ; + +app (file[] oa) gen(int i) { + gen i; +} + +a = gen(3); + +trace(a); +trace(length(a)); \ No newline at end of file Added: trunk/tests/language-behaviour/procedures/dynamic-output/provider-staging-local/gen.sh =================================================================== --- trunk/tests/language-behaviour/procedures/dynamic-output/provider-staging-local/gen.sh (rev 0) +++ trunk/tests/language-behaviour/procedures/dynamic-output/provider-staging-local/gen.sh 2014-03-28 01:52:39 UTC (rev 7749) @@ -0,0 +1,6 @@ +#!/bin/bash + +mkdir outs +for ((i = 0; i < $1; i++)); do + echo "test" > outs/foo000$i.out +done \ No newline at end of file Property changes on: trunk/tests/language-behaviour/procedures/dynamic-output/provider-staging-local/gen.sh ___________________________________________________________________ Added: svn:executable + * Added: trunk/tests/language-behaviour/procedures/dynamic-output/provider-staging-local/sites.template.xml =================================================================== --- trunk/tests/language-behaviour/procedures/dynamic-output/provider-staging-local/sites.template.xml (rev 0) +++ trunk/tests/language-behaviour/procedures/dynamic-output/provider-staging-local/sites.template.xml 2014-03-28 01:52:39 UTC (rev 7749) @@ -0,0 +1,10 @@ + + + + + + _WORK_ + file + + + Added: trunk/tests/language-behaviour/procedures/dynamic-output/provider-staging-local/swift.properties =================================================================== --- trunk/tests/language-behaviour/procedures/dynamic-output/provider-staging-local/swift.properties (rev 0) +++ trunk/tests/language-behaviour/procedures/dynamic-output/provider-staging-local/swift.properties 2014-03-28 01:52:39 UTC (rev 7749) @@ -0,0 +1,353 @@ +sites.file=${swift.home}/etc/sites.xml +tc.file=${swift.home}/etc/tc.data + +# +# The host name of the submit machine is used by GRAM as a callback +# address to report the status of submitted jobs. In general, Swift +# can automatically detect the host name of the local machine. +# However, if the machine host name is improperly configured or if +# it does not represent a valid DNS entry, certain services (such as +# GRAM) will not be able to send job status notifications back to +# the client. The value of this property can be an IP address. +# +# Format: +# hostname=string +# + + +#hostname=localhost + +# +# A TCP port range can be specified to restrict the ports on which GRAM +# callback services are started. This is likely needed if your submit +# host is behind a firewall, in which case the firewall should be +# configured to allow incoming connections on ports in the range. +# +# Format: +# tcp.port.range=start,end +# + +#tcp.port.range=50000,50100 + +# +# false - means an error will be immediately reported and cause the +# workflow to abort. At this time remote jobs that are already +# running will not be canceled +# true - means that Swift will try to do as much work as possible and +# report all errors encountered at the end. However, "errors" +# here only applies to job execution errors. Certain errors +# that are related to the Swift implementation (should such +# errors occur) will still be reported eagerly. +# +# Default: false +# +lazy.errors=false + +# +# What algorithm to use for caching of remote files. LRU (as in what +# files to purge) is the only implementation right now. One can set +# a target size (in bytes) for a host by using the swift:storagesize +# profile for a host in sites.xml +# +# Default: LRU +# +caching.algorithm=LRU + +# +# true - generate a provenance graph in .dot format (Swift will +# choose a random file name) +# false - do not generate a provenance graph +# - generate a provenange graph in the give file name +# +# Default: false +# +pgraph=false + + +# +# graph properties for the provenance graph (.dot specific) +# +# Default: splines="compound", rankdir="TB" +# +pgraph.graph.options=splines="compound", rankdir="TB" + + +# +# node properties for the provenance graph (.dot specific) +# +# Default: color="seagreen", style="filled" +# +pgraph.node.options=color="seagreen", style="filled" + +# +# true - clustering of small jobs is enabled. Clustering works in the +# following way: If a job is clusterable (meaning that it has the +# GLOBUS::maxwalltime profile specified in tc.data and its value +# is less than the value of the "clustering.min.time" property) it will +# be put in a clustering queue. The queue is processed at intervals +# specified by the "clustering.queue.delay" property. The processing +# of the clustering queue consists of selecting compatible jobs and +# grouping them in clusters whose max wall time does not exceed twice +# the value of the "clustering.min.time" property. Two or more jobs are +# considered compatible if they share the same site and do not have +# conflicting profiles (e.g. different values for the same environment +# variable). +# false - clustering of small jobs is disabled. +# +# Default: false +# +clustering.enabled=false + + +# +# - the intervals at which the clustering queue is processed +# +# Default: 4 +# +clustering.queue.delay=4 + +# +# - the threshold time for clustering +# +# Default: 60 +# +clustering.min.time=60 + +# +# Kickstart is a useful tool that can be used to gather various information +# about a remote process. Before it can be used it must be installed on the +# remote site and the corresponding entry be set in the sites file. +# This option allows controlling of how Swift uses Kickstart. The following +# values are possible: +# false - do not use Kickstart +# true - use Kickstart. If a job is scheduled on a site that does not have +# Kickstart installed, that job will fail. +# maybe - Use Kickstart if installed (i.e. the entry is present in the sites +# file) +# +# Default: maybe +# + +kickstart.enabled=maybe + +# +# Indicates when Kickstart records should be fetched from the remote site: +# true - always transfer Kickstart records if Kickstart was used (see +# kickstart.enabled) +# false - only transfer Kickstart records if the job fails +# +# Default: false +# + +kickstart.always.transfer=false + +# +# Indicates when wrapper logs should be fetched from the remote site: +# true - always transfer wrapper logs +# false - only transfer wrapper logs if the job fails +# +# Default: false +# + +wrapperlog.always.transfer=false + +########################################################################### +# Throttling options # +########################################################################### +# +# For the throttling parameters, valid values are either a positive integer +# or "off" (without the quotes). +# + +# +# Limits the number of concurrent submissions for a workflow instance. This +# throttle only limits the number of concurrent tasks (jobs) that are being +# sent to sites, not the total number of concurrent jobs that can be run. +# The submission stage in GRAM is one of the most CPU expensive stages (due +# mostly to the mutual authentication and delegation). Having too many +# concurrent submissions can overload either or both the submit host CPU +# and the remote host/head node causing degraded performance. +# +# Default: 4 +# + +throttle.submit=4 +#throttle.submit=off + +# +# Limits the number of concurrent submissions for any of the sites Swift will +# try to send jobs to. In other words it guarantees that no more than the +# value of this throttle jobs sent to any site will be concurrently in a state +# of being submitted. +# +# Default: 2 +# + +throttle.host.submit=2 +#throttle.host.submit=off + +# +# The Swift scheduler has the ability to limit the number of concurrent jobs +# allowed on a site based on the performance history of that site. Each site +# is assigned a score (initially 1), which can increase or decrease based +# on whether the site yields successful or faulty job runs. The score for a +# site can take values in the (0.1, 100) interval. The number of allowed jobs +# is calculated using the following formula: +# 2 + score*throttle.score.job.factor +# This means a site will always be allowed at least two concurrent jobs and +# at most 2 + 100*throttle.score.job.factor. With a default of 4 this means +# at least 2 jobs and at most 402. +# +# Default: 4 +# + +throttle.score.job.factor=0.2 +#throttle.score.job.factor=off + + +# +# Limits the total number of concurrent file transfers that can happen at any +# given time. File transfers consume bandwidth. Too many concurrent transfers +# can cause the network to be overloaded preventing various other signalling +# traffic from flowing properly. +# +# Default: 4 +# + +throttle.transfers=4 +#throttle.transfers=off + +# Limits the total number of concurrent file operations that can happen at any +# given time. File operations (like transfers) require an exclusive connection +# to a site. These connections can be expensive to establish. A large number +# of concurrent file operations may cause Swift to attempt to establish many +# such expensive connections to various sites. Limiting the number of concurrent +# file operations causes Swift to use a small number of cached connections and +# achieve better overall performance. +# +# Default: 8 +# + +throttle.file.operations=8 +#throttle.file.operations=off + +# Indicates whether the working directory on the remote site should be +# left intact even when the workflow completes successfully. This can be +# used to inspect the site working directory for debugging purposes. +# +# Default: false +# + +sitedir.keep=false + +# number of time a job will be retried if it fails (giving a maximum of +# 1 + execution.retries attempts at execution) +# + +execution.retries=2 + + +# Enables/disables replication. Replication is used to deal with jobs sitting +# in batch queues for abnormally large amounts of time. If replication is enabled +# and certain conditions are met, Swift creates and submits replicas of jobs, and +# allows multiple instances of a job to compete. +# + +replication.enabled=false + +# If replication is enabled, this value specifies the minimum time, in seconds, +# a job needs to be queued in a batch queue in order to be considered for +# replication +# + +replication.min.queue.time=60 + +# The maximum number of replicas that Swift should attempt. + +replication.limit=3 + +# +# WARNING: This option is deprecated. Please use the hostname option. +# +# The IP address of the submit machine is used by GRAM as a callback +# address to report the status of submitted jobs. In general, Swift +# can automatically detect the IP address of the local machine. +# However, if the machine has more than one network interface, Swift +# will pick the first one, which may not be the right choice. It is +# recommended that this property is set properly before attempting to +# run jobs through GRAM. +# +# Format: +# ip.address=x.y.z.w +# + +#ip.address=127.0.0.1 + + +# Controls how Swift will communicate the result code of running user programs +# from workers to the submit side. In files mode, a file +# indicating success or failure will be created on the site shared filesystem. +# In provider mode, the execution provider job status will +# be used. Notably, GRAM2 does not return job statuses correctly, and so +# provider mode will not work with GRAM2. With other +# providers, it can be used to reduce the amount of filesystem access compared +# to files mode. +# +# status.mode=files + +# Controls how swift will supply parameters to the remote wrapper script. +# 'args' mode will pass parameters on the command line +# 'files' mode will pass parameters through an additional input file +# +# valid values: args, files +# Default: files +# +# wrapper.parameter.mode=args + +# Determines if Swift remote wrappers will be executed by specifying an +# absolute path, or a path relative to the job initial working directory +# +# valid values: absolute, relative +# wrapper.invocation.mode=absolute + +# +# Limits the number of concurrent iterations that each foreach statement +# can have at one time. This conserves memory for swift programs that +# have large numbers of iterations (which would otherwise all be executed +# in parallel). +# +# Default: 1024 +# + +foreach.max.threads=16384 + +# controls whether the log file will contain provenance information +# enabling this will increase the size of log files, sometimes +# significantly. + +provenance.log=false + +# Controls whether file staging is done by swift or by the execution +# provider. If set to false, the standard swift staging mechanism is +# used. If set to true, swift does not stage files. Instead, the +# execution provider is instructed to stage files in and out. +# +# Provider staging is experimental. +# +# When enabled, and when coasters are used as an execution provider, +# a staging mechanism can be selected for each site +# using the swift:stagingMethod site profile in sites.xml. The +# following is a list of accepted mechanisms: +# +# * file: Staging is done from a filesystem accessible to the +# coaster service (typically running on the head node) +# * proxy: Staging is done from a filesystem accessible to the +# client machine that swift is running on, and is proxied +# through the coaster service +# * sfs: (short for "shared filesystem") Staging is done by +# copying files to and from a filesystem accessible +# by the compute node (such as an NFS or GPFS mount). + + +use.provider.staging=true +provider.staging.pin.swiftfiles=false Added: trunk/tests/language-behaviour/procedures/dynamic-output/provider-staging-local/tc.template.data =================================================================== --- trunk/tests/language-behaviour/procedures/dynamic-output/provider-staging-local/tc.template.data (rev 0) +++ trunk/tests/language-behaviour/procedures/dynamic-output/provider-staging-local/tc.template.data 2014-03-28 01:52:39 UTC (rev 7749) @@ -0,0 +1 @@ +local gen _DIR_/900-dynamic-output.gen.sh INSTALLED INTEL32::LINUX null Added: trunk/tests/language-behaviour/procedures/dynamic-output/provider-staging-local/title.txt =================================================================== --- trunk/tests/language-behaviour/procedures/dynamic-output/provider-staging-local/title.txt (rev 0) +++ trunk/tests/language-behaviour/procedures/dynamic-output/provider-staging-local/title.txt 2014-03-28 01:52:39 UTC (rev 7749) @@ -0,0 +1 @@ +Tests for Dynamic Output from Apps - Provider Staging - Local Provider Added: trunk/tests/language-behaviour/procedures/dynamic-output/swift-staging/900-dynamic-output-simple-mapper.check.sh =================================================================== --- trunk/tests/language-behaviour/procedures/dynamic-output/swift-staging/900-dynamic-output-simple-mapper.check.sh (rev 0) +++ trunk/tests/language-behaviour/procedures/dynamic-output/swift-staging/900-dynamic-output-simple-mapper.check.sh 2014-03-28 01:52:39 UTC (rev 7749) @@ -0,0 +1,5 @@ +#!/bin/bash + +cat 900-dynamic-output-simple-mapper.out |grep "SwiftScript trace: 3" || exit 1 + +exit 0 \ No newline at end of file Property changes on: trunk/tests/language-behaviour/procedures/dynamic-output/swift-staging/900-dynamic-output-simple-mapper.check.sh ___________________________________________________________________ Added: svn:executable + * Added: trunk/tests/language-behaviour/procedures/dynamic-output/swift-staging/900-dynamic-output-simple-mapper.swift =================================================================== --- trunk/tests/language-behaviour/procedures/dynamic-output/swift-staging/900-dynamic-output-simple-mapper.swift (rev 0) +++ trunk/tests/language-behaviour/procedures/dynamic-output/swift-staging/900-dynamic-output-simple-mapper.swift 2014-03-28 01:52:39 UTC (rev 7749) @@ -0,0 +1,12 @@ +type file; + +file[] a ; + +app (file[] oa) gen(int i) { + gen i; +} + +a = gen(3); + +trace(a); +trace(length(a)); \ No newline at end of file Added: trunk/tests/language-behaviour/procedures/dynamic-output/swift-staging/901-dynamic-output-fs-mapper.check.sh =================================================================== --- trunk/tests/language-behaviour/procedures/dynamic-output/swift-staging/901-dynamic-output-fs-mapper.check.sh (rev 0) +++ trunk/tests/language-behaviour/procedures/dynamic-output/swift-staging/901-dynamic-output-fs-mapper.check.sh 2014-03-28 01:52:39 UTC (rev 7749) @@ -0,0 +1,5 @@ +#!/bin/bash + +cat 901-dynamic-output-fs-mapper.out |grep "SwiftScript trace: 3" || exit 1 + +exit 0 \ No newline at end of file Property changes on: trunk/tests/language-behaviour/procedures/dynamic-output/swift-staging/901-dynamic-output-fs-mapper.check.sh ___________________________________________________________________ Added: svn:executable + * Added: trunk/tests/language-behaviour/procedures/dynamic-output/swift-staging/901-dynamic-output-fs-mapper.swift =================================================================== --- trunk/tests/language-behaviour/procedures/dynamic-output/swift-staging/901-dynamic-output-fs-mapper.swift (rev 0) +++ trunk/tests/language-behaviour/procedures/dynamic-output/swift-staging/901-dynamic-output-fs-mapper.swift 2014-03-28 01:52:39 UTC (rev 7749) @@ -0,0 +1,12 @@ +type file; + +file[] a ; + +app (file[] oa) gen(int i) { + gen i; +} + +a = gen(3); + +trace(a); +trace(length(a)); \ No newline at end of file Added: trunk/tests/language-behaviour/procedures/dynamic-output/swift-staging/gen.sh =================================================================== --- trunk/tests/language-behaviour/procedures/dynamic-output/swift-staging/gen.sh (rev 0) +++ trunk/tests/language-behaviour/procedures/dynamic-output/swift-staging/gen.sh 2014-03-28 01:52:39 UTC (rev 7749) @@ -0,0 +1,6 @@ +#!/bin/bash + +mkdir outs +for ((i = 0; i < $1; i++)); do + echo "test" > outs/foo000$i.out +done \ No newline at end of file Property changes on: trunk/tests/language-behaviour/procedures/dynamic-output/swift-staging/gen.sh ___________________________________________________________________ Added: svn:executable + * Added: trunk/tests/language-behaviour/procedures/dynamic-output/swift-staging/sites.template.xml =================================================================== --- trunk/tests/language-behaviour/procedures/dynamic-output/swift-staging/sites.template.xml (rev 0) +++ trunk/tests/language-behaviour/procedures/dynamic-output/swift-staging/sites.template.xml 2014-03-28 01:52:39 UTC (rev 7749) @@ -0,0 +1,10 @@ + + + + + + _WORK_ + file + + + Added: trunk/tests/language-behaviour/procedures/dynamic-output/swift-staging/swift.properties =================================================================== --- trunk/tests/language-behaviour/procedures/dynamic-output/swift-staging/swift.properties (rev 0) +++ trunk/tests/language-behaviour/procedures/dynamic-output/swift-staging/swift.properties 2014-03-28 01:52:39 UTC (rev 7749) @@ -0,0 +1,353 @@ +sites.file=${swift.home}/etc/sites.xml +tc.file=${swift.home}/etc/tc.data + +# +# The host name of the submit machine is used by GRAM as a callback +# address to report the status of submitted jobs. In general, Swift +# can automatically detect the host name of the local machine. +# However, if the machine host name is improperly configured or if +# it does not represent a valid DNS entry, certain services (such as +# GRAM) will not be able to send job status notifications back to +# the client. The value of this property can be an IP address. +# +# Format: +# hostname=string +# + + +#hostname=localhost + +# +# A TCP port range can be specified to restrict the ports on which GRAM +# callback services are started. This is likely needed if your submit +# host is behind a firewall, in which case the firewall should be +# configured to allow incoming connections on ports in the range. +# +# Format: +# tcp.port.range=start,end +# + +#tcp.port.range=50000,50100 + +# +# false - means an error will be immediately reported and cause the +# workflow to abort. At this time remote jobs that are already +# running will not be canceled +# true - means that Swift will try to do as much work as possible and +# report all errors encountered at the end. However, "errors" +# here only applies to job execution errors. Certain errors +# that are related to the Swift implementation (should such +# errors occur) will still be reported eagerly. +# +# Default: false +# +lazy.errors=false + +# +# What algorithm to use for caching of remote files. LRU (as in what +# files to purge) is the only implementation right now. One can set +# a target size (in bytes) for a host by using the swift:storagesize +# profile for a host in sites.xml +# +# Default: LRU +# +caching.algorithm=LRU + +# +# true - generate a provenance graph in .dot format (Swift will +# choose a random file name) +# false - do not generate a provenance graph +# - generate a provenange graph in the give file name +# +# Default: false +# +pgraph=false + + +# +# graph properties for the provenance graph (.dot specific) +# +# Default: splines="compound", rankdir="TB" +# +pgraph.graph.options=splines="compound", rankdir="TB" + + +# +# node properties for the provenance graph (.dot specific) +# +# Default: color="seagreen", style="filled" +# +pgraph.node.options=color="seagreen", style="filled" + +# +# true - clustering of small jobs is enabled. Clustering works in the +# following way: If a job is clusterable (meaning that it has the +# GLOBUS::maxwalltime profile specified in tc.data and its value +# is less than the value of the "clustering.min.time" property) it will +# be put in a clustering queue. The queue is processed at intervals +# specified by the "clustering.queue.delay" property. The processing +# of the clustering queue consists of selecting compatible jobs and +# grouping them in clusters whose max wall time does not exceed twice +# the value of the "clustering.min.time" property. Two or more jobs are +# considered compatible if they share the same site and do not have +# conflicting profiles (e.g. different values for the same environment +# variable). +# false - clustering of small jobs is disabled. +# +# Default: false +# +clustering.enabled=false + + +# +# - the intervals at which the clustering queue is processed +# +# Default: 4 +# +clustering.queue.delay=4 + +# +# - the threshold time for clustering +# +# Default: 60 +# +clustering.min.time=60 + +# +# Kickstart is a useful tool that can be used to gather various information +# about a remote process. Before it can be used it must be installed on the +# remote site and the corresponding entry be set in the sites file. +# This option allows controlling of how Swift uses Kickstart. The following +# values are possible: +# false - do not use Kickstart +# true - use Kickstart. If a job is scheduled on a site that does not have +# Kickstart installed, that job will fail. +# maybe - Use Kickstart if installed (i.e. the entry is present in the sites +# file) +# +# Default: maybe +# + +kickstart.enabled=maybe + +# +# Indicates when Kickstart records should be fetched from the remote site: +# true - always transfer Kickstart records if Kickstart was used (see +# kickstart.enabled) +# false - only transfer Kickstart records if the job fails +# +# Default: false +# + +kickstart.always.transfer=false + +# +# Indicates when wrapper logs should be fetched from the remote site: +# true - always transfer wrapper logs +# false - only transfer wrapper logs if the job fails +# +# Default: false +# + +wrapperlog.always.transfer=false + +########################################################################### +# Throttling options # +########################################################################### +# +# For the throttling parameters, valid values are either a positive integer +# or "off" (without the quotes). +# + +# +# Limits the number of concurrent submissions for a workflow instance. This +# throttle only limits the number of concurrent tasks (jobs) that are being +# sent to sites, not the total number of concurrent jobs that can be run. +# The submission stage in GRAM is one of the most CPU expensive stages (due +# mostly to the mutual authentication and delegation). Having too many +# concurrent submissions can overload either or both the submit host CPU +# and the remote host/head node causing degraded performance. +# +# Default: 4 +# + +throttle.submit=4 +#throttle.submit=off + +# +# Limits the number of concurrent submissions for any of the sites Swift will +# try to send jobs to. In other words it guarantees that no more than the +# value of this throttle jobs sent to any site will be concurrently in a state +# of being submitted. +# +# Default: 2 +# + +throttle.host.submit=2 +#throttle.host.submit=off + +# +# The Swift scheduler has the ability to limit the number of concurrent jobs +# allowed on a site based on the performance history of that site. Each site +# is assigned a score (initially 1), which can increase or decrease based +# on whether the site yields successful or faulty job runs. The score for a +# site can take values in the (0.1, 100) interval. The number of allowed jobs +# is calculated using the following formula: +# 2 + score*throttle.score.job.factor +# This means a site will always be allowed at least two concurrent jobs and +# at most 2 + 100*throttle.score.job.factor. With a default of 4 this means +# at least 2 jobs and at most 402. +# +# Default: 4 +# + +throttle.score.job.factor=0.2 +#throttle.score.job.factor=off + + +# +# Limits the total number of concurrent file transfers that can happen at any +# given time. File transfers consume bandwidth. Too many concurrent transfers +# can cause the network to be overloaded preventing various other signalling +# traffic from flowing properly. +# +# Default: 4 +# + +throttle.transfers=4 +#throttle.transfers=off + +# Limits the total number of concurrent file operations that can happen at any +# given time. File operations (like transfers) require an exclusive connection +# to a site. These connections can be expensive to establish. A large number +# of concurrent file operations may cause Swift to attempt to establish many +# such expensive connections to various sites. Limiting the number of concurrent +# file operations causes Swift to use a small number of cached connections and +# achieve better overall performance. +# +# Default: 8 +# + +throttle.file.operations=8 +#throttle.file.operations=off + +# Indicates whether the working directory on the remote site should be +# left intact even when the workflow completes successfully. This can be +# used to inspect the site working directory for debugging purposes. +# +# Default: false +# + +sitedir.keep=false + +# number of time a job will be retried if it fails (giving a maximum of +# 1 + execution.retries attempts at execution) +# + +execution.retries=2 + + +# Enables/disables replication. Replication is used to deal with jobs sitting +# in batch queues for abnormally large amounts of time. If replication is enabled +# and certain conditions are met, Swift creates and submits replicas of jobs, and +# allows multiple instances of a job to compete. +# + +replication.enabled=false + +# If replication is enabled, this value specifies the minimum time, in seconds, +# a job needs to be queued in a batch queue in order to be considered for +# replication +# + +replication.min.queue.time=60 + +# The maximum number of replicas that Swift should attempt. + +replication.limit=3 + +# +# WARNING: This option is deprecated. Please use the hostname option. +# +# The IP address of the submit machine is used by GRAM as a callback +# address to report the status of submitted jobs. In general, Swift +# can automatically detect the IP address of the local machine. +# However, if the machine has more than one network interface, Swift +# will pick the first one, which may not be the right choice. It is +# recommended that this property is set properly before attempting to +# run jobs through GRAM. +# +# Format: +# ip.address=x.y.z.w +# + +#ip.address=127.0.0.1 + + +# Controls how Swift will communicate the result code of running user programs +# from workers to the submit side. In files mode, a file +# indicating success or failure will be created on the site shared filesystem. +# In provider mode, the execution provider job status will +# be used. Notably, GRAM2 does not return job statuses correctly, and so +# provider mode will not work with GRAM2. With other +# providers, it can be used to reduce the amount of filesystem access compared +# to files mode. +# +# status.mode=files + +# Controls how swift will supply parameters to the remote wrapper script. +# 'args' mode will pass parameters on the command line +# 'files' mode will pass parameters through an additional input file +# +# valid values: args, files +# Default: files +# +# wrapper.parameter.mode=args + +# Determines if Swift remote wrappers will be executed by specifying an +# absolute path, or a path relative to the job initial working directory +# +# valid values: absolute, relative +# wrapper.invocation.mode=absolute + +# +# Limits the number of concurrent iterations that each foreach statement +# can have at one time. This conserves memory for swift programs that +# have large numbers of iterations (which would otherwise all be executed +# in parallel). +# +# Default: 1024 +# + +foreach.max.threads=16384 + +# controls whether the log file will contain provenance information +# enabling this will increase the size of log files, sometimes +# significantly. + +provenance.log=false + +# Controls whether file staging is done by swift or by the execution +# provider. If set to false, the standard swift staging mechanism is +# used. If set to true, swift does not stage files. Instead, the +# execution provider is instructed to stage files in and out. +# +# Provider staging is experimental. +# +# When enabled, and when coasters are used as an execution provider, +# a staging mechanism can be selected for each site +# using the swift:stagingMethod site profile in sites.xml. The +# following is a list of accepted mechanisms: +# +# * file: Staging is done from a filesystem accessible to the +# coaster service (typically running on the head node) +# * proxy: Staging is done from a filesystem accessible to the +# client machine that swift is running on, and is proxied +# through the coaster service +# * sfs: (short for "shared filesystem") Staging is done by +# copying files to and from a filesystem accessible +# by the compute node (such as an NFS or GPFS mount). + + +use.provider.staging=false +provider.staging.pin.swiftfiles=false Added: trunk/tests/language-behaviour/procedures/dynamic-output/swift-staging/tc.template.data =================================================================== --- trunk/tests/language-behaviour/procedures/dynamic-output/swift-staging/tc.template.data (rev 0) +++ trunk/tests/language-behaviour/procedures/dynamic-output/swift-staging/tc.template.data 2014-03-28 01:52:39 UTC (rev 7749) @@ -0,0 +1 @@ +local gen _DIR_/gen.sh INSTALLED INTEL32::LINUX null Added: trunk/tests/language-behaviour/procedures/dynamic-output/swift-staging/title.txt =================================================================== --- trunk/tests/language-behaviour/procedures/dynamic-output/swift-staging/title.txt (rev 0) +++ trunk/tests/language-behaviour/procedures/dynamic-output/swift-staging/title.txt 2014-03-28 01:52:39 UTC (rev 7749) @@ -0,0 +1 @@ +Tests for Dynamic Output from Apps - Swift Staging From hategan at ci.uchicago.edu Thu Mar 27 20:51:51 2014 From: hategan at ci.uchicago.edu (hategan at ci.uchicago.edu) Date: Thu, 27 Mar 2014 20:51:51 -0500 (CDT) Subject: [Swift-commit] r7748 - in trunk: libexec src/org/griphyn/vdl/karajan/lib src/org/griphyn/vdl/mapping src/org/griphyn/vdl/mapping/file src/org/griphyn/vdl/type src/org/griphyn/vdl/type/impl Message-ID: <20140328015151.492D79D0BE@svn.ci.uchicago.edu> Author: hategan Date: 2014-03-27 20:51:51 -0500 (Thu, 27 Mar 2014) New Revision: 7748 Added: trunk/src/org/griphyn/vdl/karajan/lib/ProcessStageouts.java trunk/src/org/griphyn/vdl/karajan/lib/ReadCollectList.java trunk/src/org/griphyn/vdl/mapping/FileSystemLister.java trunk/src/org/griphyn/vdl/mapping/file/AbstractFileNameElementMapper.java Modified: trunk/libexec/_swiftwrap trunk/libexec/_swiftwrap.staging trunk/libexec/swift-int-staging.k trunk/libexec/swift-int.k trunk/libexec/swift-lib.k trunk/libexec/swift.k trunk/src/org/griphyn/vdl/karajan/lib/AppStageouts.java trunk/src/org/griphyn/vdl/karajan/lib/GetStagingInfo.java trunk/src/org/griphyn/vdl/karajan/lib/IsDone.java trunk/src/org/griphyn/vdl/karajan/lib/IsLogged.java trunk/src/org/griphyn/vdl/karajan/lib/PathUtils.java trunk/src/org/griphyn/vdl/karajan/lib/RemoteFileNames.java trunk/src/org/griphyn/vdl/mapping/AbsFile.java trunk/src/org/griphyn/vdl/mapping/AbstractDataNode.java trunk/src/org/griphyn/vdl/mapping/AbstractMapper.java trunk/src/org/griphyn/vdl/mapping/ArrayDataNode.java trunk/src/org/griphyn/vdl/mapping/Mapper.java trunk/src/org/griphyn/vdl/mapping/MapperFactory.java trunk/src/org/griphyn/vdl/mapping/NullMapper.java trunk/src/org/griphyn/vdl/mapping/RootDataNode.java trunk/src/org/griphyn/vdl/mapping/file/AbstractFileMapper.java trunk/src/org/griphyn/vdl/mapping/file/AirsnFileNameElementMapper.java trunk/src/org/griphyn/vdl/mapping/file/ArrayFileMapper.java trunk/src/org/griphyn/vdl/mapping/file/CSVMapper.java trunk/src/org/griphyn/vdl/mapping/file/ConcurrentElementMapper.java trunk/src/org/griphyn/vdl/mapping/file/DefaultFileNameElementMapper.java trunk/src/org/griphyn/vdl/mapping/file/ExternalMapper.java trunk/src/org/griphyn/vdl/mapping/file/FileNameElementMapper.java trunk/src/org/griphyn/vdl/mapping/file/FileSystemArrayMapper.java trunk/src/org/griphyn/vdl/mapping/file/FixedArrayFileMapper.java trunk/src/org/griphyn/vdl/mapping/file/ROIFileNameElementMapper.java trunk/src/org/griphyn/vdl/mapping/file/RegularExpressionMapper.java trunk/src/org/griphyn/vdl/mapping/file/SingleFileMapper.java trunk/src/org/griphyn/vdl/mapping/file/StructuredRegularExpressionMapper.java trunk/src/org/griphyn/vdl/mapping/file/TestMapper.java trunk/src/org/griphyn/vdl/type/Type.java trunk/src/org/griphyn/vdl/type/impl/TypeImpl.java trunk/src/org/griphyn/vdl/type/impl/UnresolvedType.java Log: support for dynamic array (and other structures) stageouts Modified: trunk/libexec/_swiftwrap =================================================================== --- trunk/libexec/_swiftwrap 2014-03-22 20:28:48 UTC (rev 7747) +++ trunk/libexec/_swiftwrap 2014-03-28 01:51:51 UTC (rev 7748) @@ -305,6 +305,10 @@ OUTF=$VALUE shift $SHIFTCOUNT +getarg "-cf" "$@" +COLLECT=$VALUE +shift $SHIFTCOUNT + getarg "-cdmfile" "$@" CDM_FILE= if [ "X$VALUE" != "X" ]; then @@ -384,7 +388,7 @@ log "DIRS=$DIRS" log "INF=$INF" log "OUTF=$OUTF" -log "KICKSTART=$KICKSTART" +log "COLLECT=$COLLECT" log "CDM_FILE=$CDM_FILE" log "ARGS=$@" log "ARGC=$#" @@ -543,6 +547,21 @@ fi fi +if [ "$COLLECT" != "" ]; then + logstate "COLLECT" + log "Collect list is $COLLECT" + exec 4<> "$WFDIR/shared/${ID}-collect" + for O in "$COLLECT" ; do + log "Collecting $O" + ls -1 $O >&4 + for OO in $O ; do + DIR=`dirname "$OO"` + mv $OO "$WFDIR/shared/$DIR" 2>&1 >& "$INFO" + done + done + exec 4>&- +fi + log "Moving back to workflow directory $WFDIR" cd $WFDIR if [ $? != 0 ]; then Modified: trunk/libexec/_swiftwrap.staging =================================================================== --- trunk/libexec/_swiftwrap.staging 2014-03-22 20:28:48 UTC (rev 7747) +++ trunk/libexec/_swiftwrap.staging 2014-03-28 01:51:51 UTC (rev 7748) @@ -185,8 +185,8 @@ OUTF=$VALUE shift $SHIFTCOUNT -getarg "-k" "$@" -KICKSTART=$VALUE +getarg "-cf" "$@" +COLLECT=$VALUE shift $SHIFTCOUNT getarg "-cdmfile" "$@" @@ -248,7 +248,7 @@ log "DIRS=$DIRS" log "INF=$INF" log "OUTF=$OUTF" -log "KICKSTART=$KICKSTART" +log "COLLECT=$COLLECT" log "ARGS=$@" log "ARGC=$#" @@ -302,6 +302,18 @@ fi checkError $? "Application $EXEC failed with an exit code of $?" <$STDERR +if [ "$COLLECT" != "" ]; then + logstate "COLLECT" + log "Collect list is $COLLECT" + exec 4<> "_collect" + for O in "$COLLECT" ; do + log "Collecting $O" + ls -1 $O >&4 + done + exec 4>&- +fi + + logstate "EXECUTE_DONE" log "Job ran successfully" Modified: trunk/libexec/swift-int-staging.k =================================================================== --- trunk/libexec/swift-int-staging.k 2014-03-22 20:28:48 UTC (rev 7747) +++ trunk/libexec/swift-int-staging.k 2014-03-28 01:51:51 UTC (rev 7748) @@ -78,7 +78,7 @@ tmpdir := dircat("{wfdir}/jobs/{jobdir}", jobid) cdmfile := cdm:file(), - (localFileDirs, remoteFileDirs, inFiles, outFiles) := getStagingInfo(stagein, stageout) + (fileDirs, inFiles, outFiles, outCollect) := getStagingInfo(stagein, stageout) try { log(LOG:DEBUG, "JOB_START jobid={jobid} tr={tr}", if (arguments != null, (" arguments=", arguments)), @@ -96,10 +96,10 @@ "-out", if(stdout == null, "stdout.txt", getFieldValue(stdout)), "-err", if(stderr == null, "stderr.txt", getFieldValue(stderr)), "-i", if (stdin != null, getFieldValue(stdin)), - "-d", str:join(remoteFileDirs, "|"), + "-d", str:join(fileDirs, "|"), "-if", str:join(remoteFileNames(inFiles), "|"), "-of", str:join(remoteFileNames(outFiles), "|"), - "-k", + "-cf", str:join(remoteFileNames(outCollect), "|"), "-cdmfile", cdmfile, "-status", "provider" "-a", if (arguments != null, each(arguments)) @@ -139,7 +139,7 @@ } else { stageOut("{stdout}", "{stagingMethod}://localhost/{ddir}/{stdout}", - mode = STAGING_MODE:ALWAYS + STAGING_MODE:IF_PRESENT) + mode = STAGING_MODE:IF_PRESENT) } if (stderr == null) { stageOut("stderr.txt", "{stagingMethod}://localhost/{ddir}/{jobid}.stderr", @@ -147,11 +147,15 @@ } else { stageOut("{stderr}", "{stagingMethod}://localhost/{ddir}/{stderr}", - mode = STAGING_MODE:ALWAYS + STAGING_MODE:IF_PRESENT) + mode = STAGING_MODE:IF_PRESENT) } stageOut("wrapper.error", "{stagingMethod}://localhost/{ddir}/{jobid}.error", mode = STAGING_MODE:IF_PRESENT) - appStageouts(jobid, outFiles, stagingMethod) + appStageouts(jobid, outFiles, outCollect, stagingMethod) + if (!isEmpty(outCollect)) { + stageOut("_collect", "{stagingMethod}://localhost/{ddir}/{jobid}.collect", + mode = STAGING_MODE:ALWAYS) + } if (CLEANUP_ENABLED) { task:cleanUp(".") @@ -159,7 +163,13 @@ ) - doRestartLog(stageout) + if (!isEmpty(outCollect)) { + readCollectList("{ddir}/{jobid}.collect") + } + else { + [] + } + log(LOG:DEBUG, "JOB_END jobid={jobid}") } else catch(prev) { Modified: trunk/libexec/swift-int.k =================================================================== --- trunk/libexec/swift-int.k 2014-03-22 20:28:48 UTC (rev 7747) +++ trunk/libexec/swift-int.k 2014-03-28 01:51:51 UTC (rev 7748) @@ -117,9 +117,12 @@ * to be created and (eventually) exploiting the concurrency in that. */ log(LOG:INFO, "START jobid={jobid} host={host} - Initializing directory structure") - for(u, dirs) { - cache(list(u, destdir, host)) { - createdirs(u, destdir, host) + for(path, dirs) { + cache(list(path, destdir, host)) { + dc := dircat(destdir, path) + log(LOG:INFO, "START path={path} dir={destdir} - Creating directory structure") + + dir:make(dc, host=host) } } log(LOG:INFO, "END jobid={jobid} - Done initializing directory structure") @@ -158,12 +161,8 @@ } stageWrapperParams := function(jobid, jobdir, wrapfile, dir, host) { - log(LOG:INFO, "START jobid={jobid} - staging in wrapper params") - provider := provider(wrapfile) - srchost := hostname(wrapfile) - srcdir := swift:dirname(wrapfile) - destdir := dircat(dir, "/parameters/{jobdir}/") - filename := basename(wrapfile) + log(LOG:INFO, "START jobid={jobid} - staging in wrapper params"), + (provider, srchost, destdir, filename, srcdir) := splitFileURL(wrapfile, dir, destdir="parameters/{jobdir}") cache(list(destdir, host)) { dir:make(destdir, host=host, provider=provider) @@ -274,6 +273,15 @@ } log(LOG:INFO, "END jobid={jobid} - Staging out finished") } + + doStageoutCollect := function(jobid, dir, host, outFiles) { + fileList := "{jobid}-collect" + task:transfer(fileList, srchost=host, srcdir=dir) + collectList := readCollectList(fileList) + doStageout(jobid, dir, host, + list:join(outFiles, collectList)) + collectList + } fileSizes := function(files) { math:sum( @@ -359,7 +367,7 @@ stdout := if (stdout == null, "stdout.txt", getFieldValue(stdout)) stderr := if (stderr == null, "stderr.txt", getFieldValue(stderr)), - (localFileDirs, remoteFileDirs, inFiles, outFiles) := getStagingInfo(stagein, stageout) + (fileDirs, inFiles, outFiles, outCollect) := getStagingInfo(stagein, stageout) os := siteProfile(rhost, "SYSINFO:OS") @@ -370,9 +378,10 @@ "\n-out ", stdout, "\n-err ", stderr, "\n-i ", if (stdin != null, getFieldValue(stdin)), - "\n-d ", str:join(remoteFileDirs, "|"), + "\n-d ", str:join(fileDirs, "|"), "\n-if ", str:join(remoteFileNames(inFiles), "|"), "\n-of ", str:join(remoteFileNames(outFiles), "|"), + "\n-cf ", str:join(remoteFileNames(outCollect), "|"), "\n-cdmfile ", cdm:file(), "\n-status ", statusMode, for(a, arguments) { @@ -385,7 +394,7 @@ tmpdir := dircat("{wfdir}/jobs/{jobdir}", jobid) try { - createDirSet(jobid, sharedDir, rhost, localFileDirs) + createDirSet(jobid, sharedDir, rhost, fileDirs) doStagein(jobid, sharedDir, rhost, inFiles) if(wrapperMode == "files") { stageWrapperParams(jobid, jobdir, wrapfile, wfdir, rhost) @@ -427,9 +436,10 @@ "-out", stdout, "-err", stderr, "-i", if (stdin != null, getFieldValue(stdin)), - "-d", str:join(remoteFileDirs, "|"), + "-d", str:join(fileDirs, "|"), "-if", str:join(remoteFileNames(inFiles), "|"), "-of", str:join(remoteFileNames(outFiles), "|"), + "-cf", str:join(remoteFileNames(outCollect), "|"), "-cdmfile", cdm:file(), "-status", statusMode, "-a", if (arguments != null, each(arguments)) @@ -461,8 +471,13 @@ setProgress(progress, "Stage out") - doStageout(jobid, sharedDir, rhost, outFiles) - doRestartLog(stageout) + if (isEmpty(outCollect)) { + doStageout(jobid, sharedDir, rhost, outFiles) + [] // empty collect list + } + else { + doStageoutCollect(jobid, sharedDir, rhost, outFiles) + } if (configProperty("wrapperlog.always.transfer") == "true") { discard(transferWrapperLog(rhost, wfdir, jobid, jobdir)) Modified: trunk/libexec/swift-lib.k =================================================================== --- trunk/libexec/swift-lib.k 2014-03-22 20:28:48 UTC (rev 7747) +++ trunk/libexec/swift-lib.k 2014-03-28 01:51:51 UTC (rev 7748) @@ -131,6 +131,8 @@ export(mark, def("org.griphyn.vdl.karajan.lib.Mark")) export(parameterlog, def("org.griphyn.vdl.karajan.lib.Parameterlog")) export(getStagingInfo, def("org.griphyn.vdl.karajan.lib.GetStagingInfo")) + export(readCollectList, def("org.griphyn.vdl.karajan.lib.ReadCollectList")) + export(processStageouts, def("org.griphyn.vdl.karajan.lib.ProcessStageouts")) export(doRestartLog, def("org.griphyn.vdl.karajan.lib.DoRestartLog")) export(unwrapClosedList, def("org.griphyn.vdl.karajan.lib.UnwrapClosedList")) Modified: trunk/libexec/swift.k =================================================================== --- trunk/libexec/swift.k 2014-03-22 20:28:48 UTC (rev 7747) +++ trunk/libexec/swift.k 2014-03-28 01:51:51 UTC (rev 7748) @@ -191,7 +191,7 @@ try { throttled { setProgress(progress, "Selecting site") - restartOnError(number(swift:configProperty("execution.retries"))) { + collectList := restartOnError(number(swift:configProperty("execution.retries"))) { if (swift:configProperty("replication.enabled") == "true") { replicationChannel := channel:new() //trigger the first job @@ -235,8 +235,7 @@ } } } - setDatasetValues(stageout) - mark(stageout, false, mapping=false) + processStageouts(stageout, collectList) log(LOG:INFO, "END_SUCCESS thread=", currentThread(), " tr={tr}") setProgress(progress, "Finished successfully") } Modified: trunk/src/org/griphyn/vdl/karajan/lib/AppStageouts.java =================================================================== --- trunk/src/org/griphyn/vdl/karajan/lib/AppStageouts.java 2014-03-22 20:28:48 UTC (rev 7747) +++ trunk/src/org/griphyn/vdl/karajan/lib/AppStageouts.java 2014-03-28 01:51:51 UTC (rev 7748) @@ -38,6 +38,7 @@ public class AppStageouts extends InternalFunction { private ArgRef jobid; private ArgRef> files; + private ArgRef> outCollect; private ArgRef stagingMethod; private ChannelRef> cr_stageout; @@ -47,7 +48,8 @@ @Override protected Signature getSignature() { - return new Signature(params("jobid", "files", "stagingMethod"), returns(channel("stageout"))); + return new Signature(params("jobid", "files", "outCollect", "stagingMethod"), + returns(channel("stageout"))); } @Override @@ -60,27 +62,33 @@ try { Stack stack = thr.getStack(); List files = this.files.getValue(stack); + List outCollect = this.outCollect.getValue(stack); String stagingMethod = this.stagingMethod.getValue(stack); String cwd = this.cwd.getValue(stack); - for (AbsFile file : files) { - String protocol = file.getProtocol(); - if (protocol.equals("file")) { - protocol = stagingMethod; - } - String path = file.getDirectory() == null ? file.getName() : file.getDirectory() - + "/" + file.getName(); - String relpath = PathUtils.remotePathName(path); - cr_stageout.append(stack, - makeList(relpath, - AppStageins.localPath(cwd, protocol, path, file))); - } + process(stack, files, stagingMethod, cwd); + process(stack, outCollect, stagingMethod, cwd); } catch (Exception e) { throw new ExecutionException(this, e); } } + private void process(Stack stack, List files, String stagingMethod, String cwd) { + for (AbsFile file : files) { + String protocol = file.getProtocol(); + if (protocol.equals("file")) { + protocol = stagingMethod; + } + String path = file.getDirectory() == null ? file.getName() : file.getDirectory() + + "/" + file.getName(); + String relpath = PathUtils.remotePathName(path); + cr_stageout.append(stack, + makeList(relpath, + AppStageins.localPath(cwd, protocol, path, file))); + } + } + private List makeList(String s1, String s2) { return new Pair(s1, s2); } Modified: trunk/src/org/griphyn/vdl/karajan/lib/GetStagingInfo.java =================================================================== --- trunk/src/org/griphyn/vdl/karajan/lib/GetStagingInfo.java 2014-03-22 20:28:48 UTC (rev 7747) +++ trunk/src/org/griphyn/vdl/karajan/lib/GetStagingInfo.java 2014-03-28 01:51:51 UTC (rev 7748) @@ -22,6 +22,7 @@ import java.util.ArrayList; import java.util.Collection; +import java.util.Collections; import java.util.HashSet; import java.util.List; import java.util.Set; @@ -36,7 +37,9 @@ import org.griphyn.vdl.mapping.AbsFile; import org.griphyn.vdl.mapping.DSHandle; import org.griphyn.vdl.mapping.HandleOpenException; +import org.griphyn.vdl.mapping.Mapper; import org.griphyn.vdl.type.Type; +import org.griphyn.vdl.type.Types; public class GetStagingInfo extends SwiftFunction { @@ -46,51 +49,97 @@ @Override protected Signature getSignature() { - return new Signature(params("stageins", "stageouts"), returns(channel("...", 4))); + return new Signature(params("stageins", "stageouts"), returns(channel("...", 5))); } + + private static class Info { + Set remoteDirNames = Collections.emptySet(); + List inFiles = Collections.emptyList(); + List outFiles = Collections.emptyList(); + List collectPatterns = Collections.emptyList(); + } - @Override public Object function(Stack stack) { Collection fi = stageins.getValue(stack); Collection fo = stageouts.getValue(stack); Channel ret = cr_vargs.get(stack); - Set localDirNames = new HashSet(); - Set remoteDirNames = new HashSet(); - List inFiles = new ArrayList(); - List outFiles = new ArrayList(); + Info info = new Info(); + try { - addPaths(localDirNames, remoteDirNames, inFiles, fi); - addPaths(localDirNames, remoteDirNames, outFiles, fo); + addPaths(info, fi, false); + addPaths(info, fo, true); } catch (HandleOpenException e) { throw new ExecutionException(e.getMessage(), e); } - ret.add(localDirNames); - ret.add(remoteDirNames); - ret.add(inFiles); - ret.add(outFiles); + ret.add(info.remoteDirNames); + ret.add(info.inFiles); + ret.add(info.outFiles); + ret.add(info.collectPatterns); return null; } - private void addPaths(Set ldirs, Set rdirs, List files, Collection vars) throws HandleOpenException { - for (DSHandle file : vars) { - for (DSHandle leaf : file.getLeaves()) { - Type t = leaf.getType(); - String fname = SwiftFunction.argList(SwiftFunction.filename(leaf), true); - AbsFile f = new AbsFile(fname); - String dir = f.getDirectory(); - if (dir != null) { - ldirs.add(dir); - rdirs.add(remoteDir(f, dir)); - } - files.add(f); + + + private void addPaths(Info info, Collection vars, boolean out) throws HandleOpenException { + for (DSHandle var : vars) { + Mapper m = getMapper(var); + if (out && !m.isStatic() && var.getType().hasArrayComponents()) { + Collection patterns = m.getPattern(var.getPathFromRoot(), var.getType()); + for (AbsFile f : patterns) { + info.collectPatterns = addOne(f, info, info.collectPatterns); + } + } + else { + addAllStatic(var, m, info, out); + } + } + } + + + private void addAllStatic(DSHandle var, Mapper m, Info info, boolean out) throws HandleOpenException { + for (DSHandle leaf : var.getLeaves()) { + Type t = leaf.getType(); + if (t.equals(Types.EXTERNAL)) { + continue; } + if (out) { + info.outFiles = addOne((AbsFile) m.map(leaf.getPathFromRoot()), info, info.outFiles); + } + else { + info.inFiles = addOne((AbsFile) m.map(leaf.getPathFromRoot()), info, info.inFiles); + } } } + private List addOne(AbsFile f, Info info, List files) { + String dir = f.getDirectory(); + if (dir != null) { + if (info.remoteDirNames.isEmpty()) { + info.remoteDirNames = new HashSet(); + } + info.remoteDirNames.add(remoteDir(f, dir)); + } + if (files.isEmpty()) { + files = new ArrayList(); + } + files.add(f); + return files; + } + + + private Mapper getMapper(DSHandle var) { + Mapper m = var.getMapper(); + if (m == null) { + throw new ExecutionException("No mapper found for " + var); + } + return m; + } + + private String remoteDir(AbsFile f, String dir) { if ("file".equals(f.getProtocol())) { return PathUtils.remotePathName(dir); Modified: trunk/src/org/griphyn/vdl/karajan/lib/IsDone.java =================================================================== --- trunk/src/org/griphyn/vdl/karajan/lib/IsDone.java 2014-03-22 20:28:48 UTC (rev 7747) +++ trunk/src/org/griphyn/vdl/karajan/lib/IsDone.java 2014-03-28 01:51:51 UTC (rev 7748) @@ -48,22 +48,37 @@ @Override public Object function(Stack stack) { + Context ctx = context.getValue(stack); Iterable files = stageout.getValue(stack); for (DSHandle file : files) { - if (file.isRestartable()) { - try { - for (DSHandle leaf : file.getLeaves()) { - if (!IsLogged.isLogged(context.getValue(stack), leaf)) { - return Boolean.FALSE; + if (file.isRestartable()) { + if (file.getMapper().isStatic()) { + try { + for (DSHandle leaf : file.getLeaves()) { + if (!IsLogged.isLogged(ctx, leaf)) { + return Boolean.FALSE; + } } } - } - catch (HandleOpenException e) { - if (logger.isDebugEnabled()) { - logger.debug("Handle open caught in isDone for " + file + ". Assuming false."); + catch (HandleOpenException e) { + if (logger.isDebugEnabled()) { + logger.debug("Handle open caught in isDone for " + file + ". Assuming false."); + } + return Boolean.FALSE; } - return Boolean.FALSE; - } + } + else { + /* + * Checking if data with a dynamic mapper is done cannot involve + * iterating over the data items, since the items are not known + * until after the app runs. In such cases revert to logging + * and checking the entire variable rather than its items + */ + + if (!IsLogged.isLogged(ctx, file)) { + return Boolean.FALSE; + } + } } } if (!files.iterator().hasNext()) { Modified: trunk/src/org/griphyn/vdl/karajan/lib/IsLogged.java =================================================================== --- trunk/src/org/griphyn/vdl/karajan/lib/IsLogged.java 2014-03-22 20:28:48 UTC (rev 7747) +++ trunk/src/org/griphyn/vdl/karajan/lib/IsLogged.java 2014-03-28 01:51:51 UTC (rev 7748) @@ -29,6 +29,7 @@ import org.globus.cog.karajan.analyzer.ArgRef; import org.globus.cog.karajan.analyzer.Scope; import org.globus.cog.karajan.analyzer.Signature; +import org.globus.cog.karajan.analyzer.Var; import org.globus.cog.karajan.analyzer.VarRef; import org.globus.cog.karajan.compiled.nodes.restartLog.LogEntry; import org.globus.cog.karajan.compiled.nodes.restartLog.RestartLog; @@ -65,6 +66,11 @@ return false; } + /* + * One cannot use the file name to check if external data is logged + * since there is no explicit file name known to swift for external + * data. + */ if (var.getType().equals(Types.EXTERNAL)) { return isLogged(logData, LogVar.getLogId(var)); } Modified: trunk/src/org/griphyn/vdl/karajan/lib/PathUtils.java =================================================================== --- trunk/src/org/griphyn/vdl/karajan/lib/PathUtils.java 2014-03-22 20:28:48 UTC (rev 7747) +++ trunk/src/org/griphyn/vdl/karajan/lib/PathUtils.java 2014-03-28 01:51:51 UTC (rev 7748) @@ -339,11 +339,12 @@ public static class SplitFileURL extends SwiftFunction { private ArgRef file; private ArgRef dir; + private ArgRef destdir; private ChannelRef cr_vargs; @Override protected Signature getSignature() { - return new Signature(params("file", "dir"), returns(channel("...", DYNAMIC))); + return new Signature(params("file", "dir", optional("destdir", null)), returns(channel("...", DYNAMIC))); } @@ -357,12 +358,18 @@ public Object function(Stack stack) { AbsFile f = this.file.getValue(stack); String dir = this.dir.getValue(stack); + String destdir = this.destdir.getValue(stack); Channel ret = cr_vargs.get(stack); ret.add(f.getProtocol()); ret.add(f.getHost()); String fdir = f.getDirectory(); - ret.add(DirCat.function(dir, RelDirName.function(fdir), false)); + if (destdir == null) { + ret.add(DirCat.function(dir, RelDirName.function(fdir), false)); + } + else { + ret.add(DirCat.function(dir, destdir, false)); + } ret.add(f.getName()); ret.add(fdir == null ? "" : fdir); Added: trunk/src/org/griphyn/vdl/karajan/lib/ProcessStageouts.java =================================================================== --- trunk/src/org/griphyn/vdl/karajan/lib/ProcessStageouts.java (rev 0) +++ trunk/src/org/griphyn/vdl/karajan/lib/ProcessStageouts.java 2014-03-28 01:51:51 UTC (rev 7748) @@ -0,0 +1,114 @@ +/* + * Copyright 2012 University of Chicago + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + + +/* + * Created on Jul 18, 2010 + */ +package org.griphyn.vdl.karajan.lib; + +import java.util.Collection; + +import k.rt.Channel; +import k.rt.ExecutionException; +import k.rt.Stack; + +import org.apache.log4j.Logger; +import org.globus.cog.karajan.analyzer.ArgRef; +import org.globus.cog.karajan.analyzer.ChannelRef; +import org.globus.cog.karajan.analyzer.Signature; +import org.griphyn.vdl.mapping.AbsFile; +import org.griphyn.vdl.mapping.AbstractDataNode; +import org.griphyn.vdl.mapping.DSHandle; +import org.griphyn.vdl.mapping.FileSystemLister; +import org.griphyn.vdl.mapping.Mapper; +import org.griphyn.vdl.mapping.Path; +import org.griphyn.vdl.mapping.RootDataNode; + +public class ProcessStageouts extends SwiftFunction { + public static final Logger logger = Logger.getLogger(ProcessStageouts.class); + + private ArgRef> stageouts; + private ArgRef> collectList; + + private ChannelRef cr_restartLog; + + @Override + protected Signature getSignature() { + return new Signature(params("stageouts", "collectList"), + returns(channel("restartLog", DYNAMIC))); + } + + @Override + public Object function(Stack stack) { + Collection stageouts = this.stageouts.getValue(stack); + Collection collectList = this.collectList.getValue(stack); + + if (logger.isInfoEnabled()) { + logger.info("Collect list: " + collectList); + } + Channel log = cr_restartLog.get(stack); + + /** + * This basically does what setDatasetValues(), mark() and log() used to do. + * Specifically, discover all data in the collectList (similar to what + * Root*Data nodes do when initialized), set all file objects to some + * dummy FILE_VALUE, deep close everything, then send everything to the + * restart log + */ + process(stageouts, collectList, log); + return null; + } + + private void process(Collection vars, Collection collectList, Channel log) { + for (DSHandle var : vars) { + Mapper m = var.getMapper(); + if (!m.isStatic() && var.getType().hasArrayComponents()) { + Collection found = m.existing(new FileSystemLister.FileList(collectList)); + RootDataNode.addExisting(found, m, var.getRoot(), var); + logOnly(var, log); + } + else { + processStatic(var, log); + } + } + } + + + private void processStatic(DSHandle var, Channel log) { + try { + for (DSHandle leaf : var.getLeaves()) { + leaf.setValue(AbstractDataNode.FILE_VALUE); + leaf.closeShallow(); + LogVar.logVar(log, leaf); + } + } + catch (Exception e) { + throw new ExecutionException("Exception caught closing stageouts", e); + } + } + + private void logOnly(DSHandle var, Channel log) { + try { + for (DSHandle leaf : var.getLeaves()) { + LogVar.logVar(log, leaf); + } + } + catch (Exception e) { + throw new ExecutionException("Exception caught closing stageouts", e); + } + } +} Added: trunk/src/org/griphyn/vdl/karajan/lib/ReadCollectList.java =================================================================== --- trunk/src/org/griphyn/vdl/karajan/lib/ReadCollectList.java (rev 0) +++ trunk/src/org/griphyn/vdl/karajan/lib/ReadCollectList.java 2014-03-28 01:51:51 UTC (rev 7748) @@ -0,0 +1,79 @@ +/* + * Copyright 2012 University of Chicago + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + + +/* + * Created on Jul 18, 2010 + */ +package org.griphyn.vdl.karajan.lib; + +import java.io.BufferedReader; +import java.io.File; +import java.io.FileReader; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +import k.rt.ExecutionException; +import k.rt.Stack; + +import org.globus.cog.karajan.analyzer.ArgRef; +import org.globus.cog.karajan.analyzer.Param; +import org.globus.cog.karajan.compiled.nodes.functions.AbstractSingleValuedFunction; +import org.griphyn.vdl.mapping.AbsFile; + +public class ReadCollectList extends AbstractSingleValuedFunction { + private ArgRef file; + + @Override + protected Param[] getParams() { + return params("file"); + } + + @Override + public Object function(Stack stack) { + String fileName = this.file.getValue(stack); + try { + return readFile(fileName); + } + catch (IOException e) { + throw new ExecutionException("Could not read collect file", e); + } + } + + private List readFile(String fileName) throws IOException { + BufferedReader br = new BufferedReader(new FileReader(fileName)); + List l = new ArrayList(); + + String line = br.readLine(); + while (line != null) { + AbsFile f = new AbsFile(remoteToLocal(line)); + l.add(f); + line = br.readLine(); + } + br.close(); + new File(fileName).delete(); + return l; + } + + /** + * Must do the reverse of PathUtils.remotePathName since the collect list + * is built remotely by _swiftwrap + */ + private String remoteToLocal(String s) { + return s.replace("__root__/", "/").replace("__parent__", ".."); + } +} Modified: trunk/src/org/griphyn/vdl/karajan/lib/RemoteFileNames.java =================================================================== --- trunk/src/org/griphyn/vdl/karajan/lib/RemoteFileNames.java 2014-03-22 20:28:48 UTC (rev 7747) +++ trunk/src/org/griphyn/vdl/karajan/lib/RemoteFileNames.java 2014-03-28 01:51:51 UTC (rev 7748) @@ -21,6 +21,7 @@ package org.griphyn.vdl.karajan.lib; import java.util.ArrayList; +import java.util.Collection; import java.util.List; import k.rt.Stack; @@ -30,7 +31,7 @@ import org.griphyn.vdl.mapping.AbsFile; public class RemoteFileNames extends SwiftFunction { - private ArgRef> files; + private ArgRef> files; @Override protected Signature getSignature() { @@ -39,7 +40,7 @@ @Override public Object function(Stack stack) { - List files = this.files.getValue(stack); + Collection files = this.files.getValue(stack); List ret = new ArrayList(); for (AbsFile f : files) { String path = null; Modified: trunk/src/org/griphyn/vdl/mapping/AbsFile.java =================================================================== --- trunk/src/org/griphyn/vdl/mapping/AbsFile.java 2014-03-22 20:28:48 UTC (rev 7747) +++ trunk/src/org/griphyn/vdl/mapping/AbsFile.java 2014-03-28 01:51:51 UTC (rev 7748) @@ -36,6 +36,10 @@ public class AbsFile extends RemoteFile implements GeneralizedFileFormat { + public AbsFile(AbsFile dir, String name) { + super(dir, name); + } + public AbsFile(String url) { super(url); } Modified: trunk/src/org/griphyn/vdl/mapping/AbstractDataNode.java =================================================================== --- trunk/src/org/griphyn/vdl/mapping/AbstractDataNode.java 2014-03-22 20:28:48 UTC (rev 7747) +++ trunk/src/org/griphyn/vdl/mapping/AbstractDataNode.java 2014-03-28 01:51:51 UTC (rev 7748) @@ -45,7 +45,11 @@ public abstract class AbstractDataNode implements DSHandle, FutureValue { - public static final Object FILE_VALUE = new Object(); + public static final Object FILE_VALUE = new Object() { + public String toString() { + return ""; + } + }; static final String DATASET_URI_PREFIX = "dataset:"; Modified: trunk/src/org/griphyn/vdl/mapping/AbstractMapper.java =================================================================== --- trunk/src/org/griphyn/vdl/mapping/AbstractMapper.java 2014-03-22 20:28:48 UTC (rev 7747) +++ trunk/src/org/griphyn/vdl/mapping/AbstractMapper.java 2014-03-28 01:51:51 UTC (rev 7748) @@ -17,12 +17,14 @@ package org.griphyn.vdl.mapping; +import java.util.Collection; import java.util.HashSet; import java.util.Map; import java.util.Set; import org.apache.log4j.Logger; import org.griphyn.vdl.mapping.file.FileGarbageCollector; +import org.griphyn.vdl.type.Type; /** AbstractMapper provides an implementation of the Mapper interface to be used as a base class for writing other mappers. It provides handling @@ -150,4 +152,14 @@ sb.append('>'); return sb.toString(); } + + @Override + public Collection getPattern(Path path, Type type) { + if (isStatic()) { + return null; + } + else { + throw new UnsupportedOperationException(this.getClass().getName() + ".getPattern()"); + } + } } Modified: trunk/src/org/griphyn/vdl/mapping/ArrayDataNode.java =================================================================== --- trunk/src/org/griphyn/vdl/mapping/ArrayDataNode.java 2014-03-22 20:28:48 UTC (rev 7747) +++ trunk/src/org/griphyn/vdl/mapping/ArrayDataNode.java 2014-03-28 01:51:51 UTC (rev 7748) @@ -21,6 +21,7 @@ package org.griphyn.vdl.mapping; import java.util.ArrayList; +import java.util.Collection; import java.util.List; import java.util.Map; @@ -58,6 +59,21 @@ } } + /** + * Get leaves and make sure they are sorted based on the indices + */ + public void getLeaves(List list) throws HandleOpenException { + checkMappingException(); + if (!isClosed()) { + throw new HandleOpenException(this); + } + Map, DSHandle> handles = getHandles(); + Collection values = handles.values(); + for (DSHandle child : values) { + ((AbstractDataNode) child).getLeaves(list); + } + } + /** Recursively closes arrays through a tree of arrays and complex types. */ public void closeDeep() { Added: trunk/src/org/griphyn/vdl/mapping/FileSystemLister.java =================================================================== --- trunk/src/org/griphyn/vdl/mapping/FileSystemLister.java (rev 0) +++ trunk/src/org/griphyn/vdl/mapping/FileSystemLister.java 2014-03-28 01:51:51 UTC (rev 7748) @@ -0,0 +1,180 @@ +//---------------------------------------------------------------------- +//This code is developed as part of the Java CoG Kit project +//The terms of the license can be found at http://www.cogkit.org/license +//This message may not be removed or altered. +//---------------------------------------------------------------------- + +/* + * Created on Mar 24, 2014 + */ +package org.griphyn.vdl.mapping; + +import java.io.FilenameFilter; +import java.util.ArrayList; +import java.util.Collection; +import java.util.Collections; +import java.util.LinkedList; +import java.util.List; +import java.util.StringTokenizer; + +public interface FileSystemLister { + + List listFiles(AbsFile dir, FilenameFilter filter); + + FileSystemLister DEFAULT = new Default(); + + public static class Default implements FileSystemLister { + @Override + public List listFiles(AbsFile dir, FilenameFilter filter) { + return dir.listFiles(filter); + } + } + + public static class FileList implements FileSystemLister { + private FSTree tree; + + public FileList(Collection l) { + tree = buildTree(l); + } + + private FSTree buildTree(Collection l) { + FSTree tree = new FSTree(null); + FSTree root = tree.getDir("absolute"); + root.setParent(root); + + for (AbsFile f : l) { + String path = f.getPath(); + boolean absolute = path.startsWith("/"); + + FSTree crt = absolute ? tree.getDir("absolute") : tree.getDir("relative"); + + StringTokenizer st = new StringTokenizer(path, "/", false); + while (st.hasMoreTokens()) { + String token = st.nextToken(); + + if (!st.hasMoreTokens()) { + // file + crt.addFile(token); + } + else if (token.equals("..")) { + crt = crt.getParent(); + } + else if (token.equals(".")) { + // skip + } + else { + crt = crt.getDir(token); + } + } + } + return tree; + } + + @Override + public List listFiles(AbsFile dir, FilenameFilter filter) { + String path = dir.getPath(); + + boolean absolute = path.startsWith("/"); + + FSTree crt = absolute ? tree.getDir("absolute") : tree.getDir("relative"); + + StringTokenizer st = new StringTokenizer(path, "/", false); + while (st.hasMoreTokens() && crt != null) { + String token = st.nextToken(); + + if (token.equals("..")) { + crt = crt.getParent(); + } + else if (token.equals(".")) { + // skip + } + else { + crt = crt.findDir(token); + } + } + if (crt == null) { + throw new RuntimeException("No such directory: " + path); + } + + List l = new ArrayList(); + for (String name : crt.listFiles()) { + if (filter.accept(null, name)) { + l.add(new AbsFile(dir, name)); + } + } + + return l; + } + } + + public static class FSTree { + private List files; + private List dirs; + private FSTree parent; + + public FSTree(FSTree parent) { + this.parent = parent; + } + + public List listFiles() { + if (files == null) { + return Collections.emptyList(); + } + else { + return files; + } + } + + public FSTree getParent() { + if (parent == null) { + parent = findDir(".."); + } + return parent; + } + + public void setParent(FSTree parent) { + this.parent = parent; + } + + public void addFile(String name) { + if (files == null) { + files = new ArrayList(); + } + files.add(name); + } + + public FSTree getDir(String name) { + FSTree d = findDir(name); + if (d == null) { + if (dirs == null) { + dirs = new LinkedList(); + } + d = new FSTree(this); + dirs.add(new FSTreeDirEntry(name, d)); + } + return d; + } + + public FSTree findDir(String name) { + if (dirs == null) { + return null; + } + for (FSTreeDirEntry e : dirs) { + if (e.name.equals(name)) { + return e.files; + } + } + return null; + } + } + + public static class FSTreeDirEntry { + public final String name; + public final FSTree files; + + public FSTreeDirEntry(String name, FSTree files) { + this.name = name; + this.files = files; + } + } +} Modified: trunk/src/org/griphyn/vdl/mapping/Mapper.java =================================================================== --- trunk/src/org/griphyn/vdl/mapping/Mapper.java 2014-03-22 20:28:48 UTC (rev 7747) +++ trunk/src/org/griphyn/vdl/mapping/Mapper.java 2014-03-28 01:51:51 UTC (rev 7748) @@ -21,6 +21,8 @@ import java.util.Map; import java.util.Set; +import org.griphyn.vdl.type.Type; + /** This interface must be implemented by a Java class that represents a Swift mapper between SwiftScript variables and external data sources. */ @@ -39,6 +41,8 @@ do not necessarily have to exist. */ Collection existing(); + + Collection existing(FileSystemLister l); /** * Returns true if data mapped by this mapper cannot @@ -88,4 +92,18 @@ void setBaseDir(String baseDir); AbstractDataNode getFirstOpenParameter(); + + /** + * For dynamic mappers, this returns a glob pattern that can + * be used to filter data that this mapper maps from a set of + * files. + * + * The type parameter specifies the swift type of the data + * with the specified path. This is necessary in order to build + * a sufficiently restrictive pattern in the case when multiple + * levels of dynamic mappings exist (e.g. file[][]). + * + * Static mappers should return null. + */ + Collection getPattern(Path path, Type type); } Modified: trunk/src/org/griphyn/vdl/mapping/MapperFactory.java =================================================================== --- trunk/src/org/griphyn/vdl/mapping/MapperFactory.java 2014-03-22 20:28:48 UTC (rev 7747) +++ trunk/src/org/griphyn/vdl/mapping/MapperFactory.java 2014-03-28 01:51:51 UTC (rev 7748) @@ -117,4 +117,18 @@ public static Set getValidParams(String type) { return validParams.get(type); } + + public static void main(String[] args) { + for (String name : mappers.keySet()) { + try { + Mapper m = getMapper(name); + if (!m.isStatic()) { + System.out.println(name); + } + } + catch (InvalidMapperException e) { + e.printStackTrace(); + } + } + } } Modified: trunk/src/org/griphyn/vdl/mapping/NullMapper.java =================================================================== --- trunk/src/org/griphyn/vdl/mapping/NullMapper.java 2014-03-22 20:28:48 UTC (rev 7747) +++ trunk/src/org/griphyn/vdl/mapping/NullMapper.java 2014-03-28 01:51:51 UTC (rev 7748) @@ -14,7 +14,9 @@ import java.util.Map; import java.util.Set; +import org.griphyn.vdl.type.Type; + public class NullMapper implements Mapper { public NullMapper() { } @@ -34,7 +36,13 @@ return Collections.emptyList(); } + @Override + public Collection existing(FileSystemLister l) { + return null; + } + + @Override public boolean isStatic() { return false; } @@ -80,4 +88,9 @@ public AbstractDataNode getFirstOpenParameter() { return null; } + + @Override + public Collection getPattern(Path path, Type type) { + return null; + } } Modified: trunk/src/org/griphyn/vdl/mapping/RootDataNode.java =================================================================== --- trunk/src/org/griphyn/vdl/mapping/RootDataNode.java 2014-03-22 20:28:48 UTC (rev 7747) +++ trunk/src/org/griphyn/vdl/mapping/RootDataNode.java 2014-03-28 01:51:51 UTC (rev 7748) @@ -20,6 +20,8 @@ */ package org.griphyn.vdl.mapping; +import java.util.Collection; + import k.rt.Future; import k.rt.FutureListener; import k.thr.LWThread; @@ -156,7 +158,7 @@ static protected void checkInputs(RootHandle root, DuplicateMappingChecker dmc) { Mapper mapper = root.getActualMapper(); if (root.isInput()) { - addExisting(mapper, root); + addExisting(mapper.existing(), mapper, root, root); checkConsistency(root, root, dmc); } else if (mapper.isStatic()) { @@ -194,11 +196,11 @@ } } - private static void addExisting(Mapper mapper, RootHandle root) { + public static void addExisting(Collection existing, Mapper mapper, RootHandle root, DSHandle var) { boolean any = false; - for (Path p : mapper.existing()) { + for (Path p : existing) { try { - DSHandle field = root.getField(p); + DSHandle field = var.getField(p); field.setValue(FILE_VALUE); if (variableTracer.isEnabled()) { variableTracer.trace(root.getThread(), root.getLine(), @@ -216,7 +218,7 @@ e.getDataNode().getType() + "'"); } } - root.closeDeep(); + var.closeDeep(); if (!any && variableTracer.isEnabled()) { variableTracer.trace(root.getThread(), root.getLine(), root.getName() + " MAPPING no files found"); Modified: trunk/src/org/griphyn/vdl/mapping/file/AbstractFileMapper.java =================================================================== --- trunk/src/org/griphyn/vdl/mapping/file/AbstractFileMapper.java 2014-03-22 20:28:48 UTC (rev 7747) +++ trunk/src/org/griphyn/vdl/mapping/file/AbstractFileMapper.java 2014-03-28 01:51:51 UTC (rev 7748) @@ -19,8 +19,6 @@ import java.io.File; import java.io.FilenameFilter; -import java.security.MessageDigest; -import java.security.NoSuchAlgorithmException; import java.util.ArrayList; import java.util.Collection; import java.util.Collections; @@ -30,13 +28,16 @@ import java.util.StringTokenizer; import org.apache.log4j.Logger; -import org.globus.cog.util.Base64; import org.griphyn.vdl.mapping.AbsFile; import org.griphyn.vdl.mapping.AbstractMapper; +import org.griphyn.vdl.mapping.FileSystemLister; import org.griphyn.vdl.mapping.MappingParamSet; import org.griphyn.vdl.mapping.Path; import org.griphyn.vdl.mapping.PhysicalFormat; import org.griphyn.vdl.mapping.RootHandle; +import org.griphyn.vdl.type.Field; +import org.griphyn.vdl.type.Type; +import org.griphyn.vdl.type.Types; /** A base class to build mappers which map based on filename patterns. * It provides a large amount of default behaviour which can be @@ -132,71 +133,51 @@ AbstractFileMapperParams cp = getParams(); return map(cp, path, cp.getPrefix()); } + + protected PhysicalFormat map(AbstractFileMapperParams cp, Path path, String prefix) { + return map(cp, path, prefix, getElementMapper()); + } - protected PhysicalFormat map(AbstractFileMapperParams cp, Path path, String prefix) { - if(logger.isDebugEnabled()) - logger.debug("mapper id="+this.hashCode()+" starting to map "+path); - StringBuffer sb = new StringBuffer(); + protected PhysicalFormat map(AbstractFileMapperParams cp, Path path, String prefix, FileNameElementMapper em) { + if (logger.isDebugEnabled()) { + logger.debug("mapper id=" + this.hashCode() + " starting to map " + path); + } + StringBuilder sb = new StringBuilder(); + String location = cp.getLocation(); - maybeAppend(sb, location); - if (location != null && !location.endsWith("/")) { - sb.append('/'); - } - if (prefix != null) { - sb.append(prefix); - } + maybeAppend(sb, location); + if (location != null && !location.endsWith("/")) { + sb.append('/'); + } + if (prefix != null) { + sb.append(prefix); + } - Iterator pi = path.iterator(); - int level = 0, tokenCount = path.size(); - while (pi.hasNext()) { - Path.Entry nextPathElement = pi.next(); - if (nextPathElement.isIndex()) { - Comparable key = nextPathElement.getKey(); - String f, token; - if (key instanceof Integer) { - token = key.toString(); - f = getElementMapper().mapIndex(((Integer) key).intValue()); - } - else if (key instanceof Double) { - token = Double.toHexString(((Double) key).doubleValue()); - f = getElementMapper().mapField(token); - } - else { - MessageDigest md = getDigest(); - byte[] buf = md.digest(key.toString().getBytes()); - token = encode(buf); - f = getElementMapper().mapField(token); - } - if (logger.isDebugEnabled()) { - logger.debug("Mapping path component to " + token); - } - sb.append(f); - } - else { - String token = (String) nextPathElement.getKey(); - if (logger.isDebugEnabled()) { - logger.debug("Mapping path component field " + token); - } - String f = getElementMapper().mapField(token); - if (logger.isDebugEnabled()) { - logger.debug("field is mapped to: " + f); - } - sb.append(f); - } + Iterator pi = path.iterator(); + int level = 0, tokenCount = path.size(); + while (pi.hasNext()) { + Path.Entry nextPathElement = pi.next(); + if (nextPathElement.isIndex()) { + Comparable key = nextPathElement.getKey(); + String f = em.mapIndex(key, level); + sb.append(f); + } + else { + String token = (String) nextPathElement.getKey(); + if (logger.isDebugEnabled()) { + logger.debug("Mapping path component field " + token); + } + String f = em.mapField(token); + if (logger.isDebugEnabled()) { + logger.debug("field is mapped to: " + f); + } + sb.append(f); + } - if (!pi.hasNext()) { - logger.debug("last element in name - not using a separator"); - } - else if (level < tokenCount - 2) { - logger.debug("Adding mapper-specified separator"); - sb.append(getElementMapper().getSeparator(level)); - } - else { - logger.debug("Adding '.' instead of mapper-specified separator"); - sb.append('.'); - } - level++; - } + appendSeparator(sb, level, tokenCount, em); + level++; + } + String suffix = cp.getSuffix(); if (suffix != null) { sb.append(suffix); @@ -208,26 +189,33 @@ return new AbsFile(sb.toString()); } - private String encode(byte[] buf) { - buf = Base64.encode(buf); - char[] c = new char[buf.length]; - for (int i = 0; i < buf.length; i++) { - c[i] = (char) buf[i]; + protected void appendSeparator(StringBuilder sb, int level, int totalTokenCount, FileNameElementMapper em) { + if (level == totalTokenCount - 1) { + if (logger.isDebugEnabled()) { + logger.debug("last element in name - not using a separator"); + } } - return String.copyValueOf(c); - } - - private MessageDigest getDigest() { - try { - return MessageDigest.getInstance("SHA-1"); + else if (level == totalTokenCount - 2) { + if (logger.isDebugEnabled()) { + logger.debug("Adding mapper-specified separator"); + } + sb.append(em.getSeparator(level)); } - catch (NoSuchAlgorithmException e) { - throw new Error("JVM error: SHA-1 not available"); + else { + if (logger.isDebugEnabled()) { + logger.debug("Adding '.' instead of mapper-specified separator"); + } + sb.append('.'); } } @Override public Collection existing() { + return existing(FileSystemLister.DEFAULT); + } + + @Override + public Collection existing(FileSystemLister fsl) { if (logger.isDebugEnabled()) { logger.debug("list existing paths for mapper id=" + this.hashCode()); } @@ -246,7 +234,7 @@ } logger.debug("Processing file list."); String pattern = cp.getPattern(); - List files = glob(f, pattern); + List files = glob(f, fsl, pattern); if (files != null) { for (AbsFile file : files) { if (logger.isDebugEnabled()) { @@ -273,7 +261,7 @@ return result; } - protected List glob(AbsFile f, String pattern) { + protected List glob(AbsFile f, FileSystemLister fsl, String pattern) { if (pattern.length() == 0) { pattern = "*"; } @@ -298,25 +286,25 @@ else { tokens = Collections.singletonList(firstToken); } - globRecursive(f, l, tokens, 0); + globRecursive(f, fsl, l, tokens, 0); return l; } - private void globRecursive(AbsFile f, List l, List tokens, int pos) { + private void globRecursive(AbsFile f, FileSystemLister fsl, List l, List tokens, int pos) { String token = tokens.get(pos); if (pos == tokens.size() - 1) { if (token.equals("**")) { throw new IllegalArgumentException("** cannot be the last path element in a path pattern"); } // at the file level - globFiles(f, l, token); + globFiles(f, fsl, l, token); } else if (token.equals("**")) { // recursively go through all sub-directories and match the remaining pattern tokens DirectoryScanner ds = new DirectoryScanner(f); while (ds.hasNext()) { AbsFile dir = ds.next(); - globRecursive(dir, l, tokens, pos + 1); + globRecursive(dir, fsl, l, tokens, pos + 1); } } else { @@ -329,14 +317,14 @@ } }); for (AbsFile dir : dirs) { - globRecursive(dir, l, tokens, pos + 1); + globRecursive(dir, fsl, l, tokens, pos + 1); } } } - private void globFiles(AbsFile f, List l, String token) { + private void globFiles(AbsFile f, FileSystemLister fsl, List l, String token) { final String regex = replaceWildcards(token); - List files = f.listFiles(new FilenameFilter() { + List files = fsl.listFiles(f, new FilenameFilter() { @Override public boolean accept(File dir, String name) { return name.matches(regex); @@ -345,6 +333,7 @@ l.addAll(files); } + /** Returns the SwiftScript path for a supplied filename. * * Splits the filename into components using the separator @@ -425,7 +414,7 @@ /** Appends the string representation of obj to the string buffer if obj is not null. */ - private void maybeAppend(StringBuffer sb, Object obj) { + private void maybeAppend(StringBuilder sb, Object obj) { if (obj != null) { sb.append(obj.toString()); } @@ -455,5 +444,129 @@ public boolean isStatic() { return false; } + + @Override + public Collection getPattern(Path path, Type type) { + // it makes no sense to call this method without an array + if (!type.isArray()) { + throw new IllegalArgumentException("getPattern() must be called on an array"); + } + AbstractFileMapperParams cp = getParams(); + + /* + * figure out all possible paths to leaves, then map them but + * replace all array indices by wildcards + */ + FileNameElementMapper m = new WildcardElementMapper(getElementMapper(), path.size()); + Path cpath = path.addLast(getTemplateIndex(type.keyType()), true); + + if (!type.itemType().isComposite()) { + AbsFile f = (AbsFile) this.map(cp, cpath, cp.getPrefix(), m); + return Collections.singletonList(f); + } + else { + // build all possible paths to leaves + List l = new ArrayList(); + traverseTypes(l, cpath, type.itemType()); + + List rl = new ArrayList(); + + for (Path p : l) { + AbsFile f = (AbsFile) this.map(cp, cpath, cp.getPrefix(), m); + } + + return rl; + } + } + + private static class WildcardElementMapper implements FileNameElementMapper { + private FileNameElementMapper delegate; + private int fixed; + + public WildcardElementMapper(FileNameElementMapper delegate, int fixed) { + this.delegate = delegate; + this.fixed = fixed; + } + + @Override + public String mapField(String fieldName) { + return delegate.mapField(fieldName); + } + + @Override + public String rmapField(String pathElement) { + return delegate.rmapField(pathElement); + } + + @Override + public String mapIndex(int index, int pos) { + String s = delegate.mapIndex(index, pos); + if (pos > fixed) { + return nChars(s.length()); + } + else { + return s; + } + } + + @Override + public String mapIndex(Object index, int pos) { + String s = delegate.mapIndex(index, pos); + if (pos >= fixed) { + return nChars(s.length()); + } + else { + return s; + } + } + + @Override + public int rmapIndex(String pathElement) { + return delegate.rmapIndex(pathElement); + } + + @Override + public String getSeparator(int depth) { + return delegate.getSeparator(depth); + } + + private String nChars(int length) { + char[] c = new char[length]; + for (int i = 0; i < length; i++) { + c[i] = '?'; + } + return new String(c); + } + } + + private void traverseTypes(List l, Path path, Type t) { + if (!t.isComposite()) { + // done + l.add(path); + } + else if (t.isArray()) { + Path cpath = path.addLast(getTemplateIndex(t.keyType()), true); + traverseTypes(l, cpath, t.itemType()); + } + else { + // struct + for (Field f : t.getFields()) { + Path cpath = path.addLast(f.getId()); + traverseTypes(l, cpath, f.getType()); + } + } + } + + private Comparable getTemplateIndex(Type keyType) { + if (keyType.equals(Types.INT)) { + return 1; + } + else if (keyType.equals(Types.FLOAT)) { + return 1.1; + } + else { + return "index"; + } + } } Added: trunk/src/org/griphyn/vdl/mapping/file/AbstractFileNameElementMapper.java =================================================================== --- trunk/src/org/griphyn/vdl/mapping/file/AbstractFileNameElementMapper.java (rev 0) +++ trunk/src/org/griphyn/vdl/mapping/file/AbstractFileNameElementMapper.java 2014-03-28 01:51:51 UTC (rev 7748) @@ -0,0 +1,63 @@ +//---------------------------------------------------------------------- +//This code is developed as part of the Java CoG Kit project +//The terms of the license can be found at http://www.cogkit.org/license +//This message may not be removed or altered. +//---------------------------------------------------------------------- + +/* + * Created on Mar 22, 2014 + */ +package org.griphyn.vdl.mapping.file; + +import java.security.MessageDigest; +import java.security.NoSuchAlgorithmException; + +import org.apache.log4j.Logger; +import org.globus.cog.util.Base64; + +public abstract class AbstractFileNameElementMapper implements FileNameElementMapper { + public static final Logger logger = Logger.getLogger(AbstractFileNameElementMapper.class); + + @Override + public String mapIndex(Object key, int pos) { + String token; + String f; + if (key instanceof Integer) { + token = key.toString(); + f = mapIndex(((Integer) key).intValue(), pos); + } + else if (key instanceof Double) { + token = Double.toHexString(((Double) key).doubleValue()); + f = mapField(token); + } + else { + MessageDigest md = getDigest(); + byte[] buf = md.digest(key.toString().getBytes()); + token = encode(buf); + f = mapField(token); + } + if (logger.isDebugEnabled()) { + logger.debug("Mapping path component to " + token); + } + return f; + } + + private String encode(byte[] buf) { + buf = Base64.encode(buf); + char[] c = new char[buf.length]; + for (int i = 0; i < buf.length; i++) { + c[i] = (char) buf[i]; + } + return String.copyValueOf(c); + } + + private MessageDigest getDigest() { + try { + return MessageDigest.getInstance("SHA-1"); + } + catch (NoSuchAlgorithmException e) { + throw new Error("JVM error: SHA-1 not available"); + } + } + +} Modified: trunk/src/org/griphyn/vdl/mapping/file/AirsnFileNameElementMapper.java =================================================================== --- trunk/src/org/griphyn/vdl/mapping/file/AirsnFileNameElementMapper.java 2014-03-22 20:28:48 UTC (rev 7747) +++ trunk/src/org/griphyn/vdl/mapping/file/AirsnFileNameElementMapper.java 2014-03-28 01:51:51 UTC (rev 7748) @@ -21,7 +21,7 @@ package org.griphyn.vdl.mapping.file; -public class AirsnFileNameElementMapper implements FileNameElementMapper { +public class AirsnFileNameElementMapper extends AbstractFileNameElementMapper { public static final int INDEX_WIDTH = 4; public String mapField(String fieldName) { @@ -35,7 +35,7 @@ return pathElement; } - public String mapIndex(int index) { + public String mapIndex(int index, int pos) { StringBuffer sb = new StringBuffer(); sb.append('i'); String num = String.valueOf(index); @@ -56,5 +56,4 @@ } return "_"; } - } Modified: trunk/src/org/griphyn/vdl/mapping/file/ArrayFileMapper.java =================================================================== --- trunk/src/org/griphyn/vdl/mapping/file/ArrayFileMapper.java 2014-03-22 20:28:48 UTC (rev 7747) +++ trunk/src/org/griphyn/vdl/mapping/file/ArrayFileMapper.java 2014-03-28 01:51:51 UTC (rev 7748) @@ -11,6 +11,7 @@ import org.griphyn.vdl.mapping.AbsFile; import org.griphyn.vdl.mapping.AbstractMapper; import org.griphyn.vdl.mapping.DSHandle; +import org.griphyn.vdl.mapping.FileSystemLister; import org.griphyn.vdl.mapping.InvalidPathException; import org.griphyn.vdl.mapping.MappingParamSet; import org.griphyn.vdl.mapping.Path; @@ -48,6 +49,11 @@ } @Override + public Collection existing(FileSystemLister l) { + throw new UnsupportedOperationException(); + } + + @Override public PhysicalFormat map(Path path) { if (path.isEmpty()) { throw new IllegalArgumentException("Path cannot be empty"); Modified: trunk/src/org/griphyn/vdl/mapping/file/CSVMapper.java =================================================================== --- trunk/src/org/griphyn/vdl/mapping/file/CSVMapper.java 2014-03-22 20:28:48 UTC (rev 7747) +++ trunk/src/org/griphyn/vdl/mapping/file/CSVMapper.java 2014-03-28 01:51:51 UTC (rev 7748) @@ -33,6 +33,7 @@ import org.griphyn.vdl.mapping.AbsFile; import org.griphyn.vdl.mapping.AbstractMapper; import org.griphyn.vdl.mapping.DSHandle; +import org.griphyn.vdl.mapping.FileSystemLister; import org.griphyn.vdl.mapping.GeneralizedFileFormat; import org.griphyn.vdl.mapping.InvalidMappingParameterException; import org.griphyn.vdl.mapping.MappingParamSet; @@ -183,9 +184,14 @@ return l; } - @Override + @Override + public Collection existing(FileSystemLister l) { + throw new UnsupportedOperationException(); + } + + @Override public boolean isStatic() { - return false; + return true; } @Override Modified: trunk/src/org/griphyn/vdl/mapping/file/ConcurrentElementMapper.java =================================================================== --- trunk/src/org/griphyn/vdl/mapping/file/ConcurrentElementMapper.java 2014-03-22 20:28:48 UTC (rev 7747) +++ trunk/src/org/griphyn/vdl/mapping/file/ConcurrentElementMapper.java 2014-03-28 01:51:51 UTC (rev 7748) @@ -26,7 +26,7 @@ the same from version to version. */ -public class ConcurrentElementMapper implements FileNameElementMapper { +public class ConcurrentElementMapper extends AbstractFileNameElementMapper { /** determines how many directories and element files are permitted in each directory. There will be no more than @@ -43,23 +43,24 @@ return pathElement; } - public String mapIndex(int index) { + public String mapIndex(int index, int pos) { StringBuffer sb = new StringBuffer(); sb.append("-array/"); sb.append(splitIndexByLoadFactor(index)); sb.append("/"); - sb.append("elt-"+String.valueOf(index)); + sb.append("elt-"); + sb.append(String.valueOf(index)); return sb.toString(); } - String splitIndexByLoadFactor(int index) - { - if(index<=DIRECTORY_LOAD_FACTOR) { + String splitIndexByLoadFactor(int index) { + if (index <= DIRECTORY_LOAD_FACTOR) { return ""; - } else { - String prefix = "h"+String.valueOf(index % DIRECTORY_LOAD_FACTOR) +"/"; - String suffix = splitIndexByLoadFactor(index/DIRECTORY_LOAD_FACTOR); + } + else { + String prefix = "h" + String.valueOf(index % DIRECTORY_LOAD_FACTOR) + "/"; + String suffix = splitIndexByLoadFactor(index / DIRECTORY_LOAD_FACTOR); return prefix + suffix; } } Modified: trunk/src/org/griphyn/vdl/mapping/file/DefaultFileNameElementMapper.java =================================================================== --- trunk/src/org/griphyn/vdl/mapping/file/DefaultFileNameElementMapper.java 2014-03-22 20:28:48 UTC (rev 7747) +++ trunk/src/org/griphyn/vdl/mapping/file/DefaultFileNameElementMapper.java 2014-03-28 01:51:51 UTC (rev 7748) @@ -30,7 +30,7 @@ * */ -public class DefaultFileNameElementMapper implements FileNameElementMapper { +public class DefaultFileNameElementMapper extends AbstractFileNameElementMapper { public static final int DEFAULT_INDEX_WIDTH = 4; @@ -52,7 +52,7 @@ return pathElement; } - public String mapIndex(int index) { + public String mapIndex(int index, int pos) { StringBuilder sb = new StringBuilder(indexWidth); String num = String.valueOf(index); for (int i = 0; i < indexWidth - num.length(); i++) { Modified: trunk/src/org/griphyn/vdl/mapping/file/ExternalMapper.java =================================================================== --- trunk/src/org/griphyn/vdl/mapping/file/ExternalMapper.java 2014-03-22 20:28:48 UTC (rev 7747) +++ trunk/src/org/griphyn/vdl/mapping/file/ExternalMapper.java 2014-03-28 01:51:51 UTC (rev 7748) @@ -32,6 +32,7 @@ import org.apache.log4j.Logger; import org.griphyn.vdl.mapping.AbsFile; import org.griphyn.vdl.mapping.AbstractMapper; +import org.griphyn.vdl.mapping.FileSystemLister; import org.griphyn.vdl.mapping.MappingParamSet; import org.griphyn.vdl.mapping.Path; import org.griphyn.vdl.mapping.PhysicalFormat; @@ -140,7 +141,12 @@ @Override public Collection existing() { return map.keySet(); - } + } + + @Override + public Collection existing(FileSystemLister l) { + throw new UnsupportedOperationException(); + } public Path rmap(String name) { if (name == null || name.equals("")) { Modified: trunk/src/org/griphyn/vdl/mapping/file/FileNameElementMapper.java =================================================================== --- trunk/src/org/griphyn/vdl/mapping/file/FileNameElementMapper.java 2014-03-22 20:28:48 UTC (rev 7747) +++ trunk/src/org/griphyn/vdl/mapping/file/FileNameElementMapper.java 2014-03-28 01:51:51 UTC (rev 7748) @@ -27,7 +27,9 @@ String mapField(String fieldName); String rmapField(String pathElement); - String mapIndex(int index); + String mapIndex(int index, int pos); + String mapIndex(Object index, int pos); + int rmapIndex(String pathElement); /** Returns a string which will be used as a separator string between Modified: trunk/src/org/griphyn/vdl/mapping/file/FileSystemArrayMapper.java =================================================================== --- trunk/src/org/griphyn/vdl/mapping/file/FileSystemArrayMapper.java 2014-03-22 20:28:48 UTC (rev 7747) +++ trunk/src/org/griphyn/vdl/mapping/file/FileSystemArrayMapper.java 2014-03-28 01:51:51 UTC (rev 7748) @@ -17,12 +17,15 @@ package org.griphyn.vdl.mapping.file; +import java.util.Collection; +import java.util.Collections; import java.util.HashMap; import java.util.Map; import org.griphyn.vdl.mapping.AbsFile; import org.griphyn.vdl.mapping.Path; import org.griphyn.vdl.mapping.PhysicalFormat; +import org.griphyn.vdl.type.Type; public class FileSystemArrayMapper extends AbstractFileMapper { private Map filenames = new HashMap(); @@ -47,7 +50,7 @@ @Override public PhysicalFormat map(Path path) { - if (path.size()!=1) { + if (path.size() != 1) { return null; } if (!path.isArrayIndex(0)) { @@ -68,5 +71,27 @@ } } return new AbsFile(filename); - } + } + + @Override + public Collection getPattern(Path path, Type type) { + if (!type.isArray()) { + throw new IllegalArgumentException("Cannot use a non-array type with the FilesysMapper"); + } + AbstractFileMapperParams cp = getParams(); + String location = defaultValue(cp.getLocation(), "./"); + String prefix = defaultValue(cp.getPrefix(), ""); + String suffix = defaultValue(cp.getSuffix(), ""); + String pattern = defaultValue(cp.getPattern(), null); + if (pattern != null) { + return Collections.singletonList(new AbsFile(location + "/" + pattern)); + } + else { + return Collections.singletonList(new AbsFile(location + "/" + prefix + "*" + suffix)); + } + } + + private String defaultValue(String s, String d) { + return s == null ? d : s; + } } Modified: trunk/src/org/griphyn/vdl/mapping/file/FixedArrayFileMapper.java =================================================================== --- trunk/src/org/griphyn/vdl/mapping/file/FixedArrayFileMapper.java 2014-03-22 20:28:48 UTC (rev 7747) +++ trunk/src/org/griphyn/vdl/mapping/file/FixedArrayFileMapper.java 2014-03-28 01:51:51 UTC (rev 7748) @@ -25,6 +25,7 @@ import org.griphyn.vdl.mapping.AbsFile; import org.griphyn.vdl.mapping.AbstractMapper; import org.griphyn.vdl.mapping.DSHandle; +import org.griphyn.vdl.mapping.FileSystemLister; import org.griphyn.vdl.mapping.MappingParamSet; import org.griphyn.vdl.mapping.Path; import org.griphyn.vdl.mapping.PhysicalFormat; @@ -86,6 +87,11 @@ } return l; } + + @Override + public Collection existing(FileSystemLister l) { + throw new UnsupportedOperationException(); + } @Override public PhysicalFormat map(Path path) { Modified: trunk/src/org/griphyn/vdl/mapping/file/ROIFileNameElementMapper.java =================================================================== --- trunk/src/org/griphyn/vdl/mapping/file/ROIFileNameElementMapper.java 2014-03-22 20:28:48 UTC (rev 7747) +++ trunk/src/org/griphyn/vdl/mapping/file/ROIFileNameElementMapper.java 2014-03-28 01:51:51 UTC (rev 7748) @@ -20,7 +20,7 @@ import java.util.HashMap; import java.util.Map; -public class ROIFileNameElementMapper implements FileNameElementMapper { +public class ROIFileNameElementMapper extends AbstractFileNameElementMapper { private Map basenames; int index; @@ -46,7 +46,7 @@ return pathElement; } - public String mapIndex(int index) { + public String mapIndex(int index, int pos) { return basenames.get(index); } Modified: trunk/src/org/griphyn/vdl/mapping/file/RegularExpressionMapper.java =================================================================== --- trunk/src/org/griphyn/vdl/mapping/file/RegularExpressionMapper.java 2014-03-22 20:28:48 UTC (rev 7747) +++ trunk/src/org/griphyn/vdl/mapping/file/RegularExpressionMapper.java 2014-03-28 01:51:51 UTC (rev 7748) @@ -28,6 +28,7 @@ import org.griphyn.vdl.mapping.AbsFile; import org.griphyn.vdl.mapping.AbstractMapper; +import org.griphyn.vdl.mapping.FileSystemLister; import org.griphyn.vdl.mapping.MappingParamSet; import org.griphyn.vdl.mapping.Path; import org.griphyn.vdl.mapping.PhysicalFormat; @@ -73,7 +74,12 @@ else { return Collections.emptyList(); } - } + } + + @Override + public Collection existing(FileSystemLister l) { + throw new UnsupportedOperationException(); + } public PhysicalFormat map(Path path) { RegularExpressionMapperParams cp = getParams(); Modified: trunk/src/org/griphyn/vdl/mapping/file/SingleFileMapper.java =================================================================== --- trunk/src/org/griphyn/vdl/mapping/file/SingleFileMapper.java 2014-03-22 20:28:48 UTC (rev 7747) +++ trunk/src/org/griphyn/vdl/mapping/file/SingleFileMapper.java 2014-03-28 01:51:51 UTC (rev 7748) @@ -23,6 +23,7 @@ import java.util.Set; import org.griphyn.vdl.mapping.AbstractMapper; +import org.griphyn.vdl.mapping.FileSystemLister; import org.griphyn.vdl.mapping.MappingParamSet; import org.griphyn.vdl.mapping.Path; import org.griphyn.vdl.mapping.PhysicalFormat; @@ -61,6 +62,11 @@ return Collections.emptyList(); } } + + @Override + public Collection existing(FileSystemLister l) { + throw new UnsupportedOperationException(); + } @Override public PhysicalFormat map(Path path) { Modified: trunk/src/org/griphyn/vdl/mapping/file/StructuredRegularExpressionMapper.java =================================================================== --- trunk/src/org/griphyn/vdl/mapping/file/StructuredRegularExpressionMapper.java 2014-03-22 20:28:48 UTC (rev 7747) +++ trunk/src/org/griphyn/vdl/mapping/file/StructuredRegularExpressionMapper.java 2014-03-28 01:51:51 UTC (rev 7748) @@ -29,6 +29,7 @@ import org.griphyn.vdl.mapping.AbsFile; import org.griphyn.vdl.mapping.AbstractMapper; import org.griphyn.vdl.mapping.DSHandle; +import org.griphyn.vdl.mapping.FileSystemLister; import org.griphyn.vdl.mapping.HandleOpenException; import org.griphyn.vdl.mapping.InvalidPathException; import org.griphyn.vdl.mapping.MappingParamSet; @@ -84,7 +85,12 @@ } return output; - } + } + + @Override + public Collection existing(FileSystemLister l) { + throw new UnsupportedOperationException(); + } @Override public PhysicalFormat map(Path path) { Modified: trunk/src/org/griphyn/vdl/mapping/file/TestMapper.java =================================================================== --- trunk/src/org/griphyn/vdl/mapping/file/TestMapper.java 2014-03-22 20:28:48 UTC (rev 7747) +++ trunk/src/org/griphyn/vdl/mapping/file/TestMapper.java 2014-03-28 01:51:51 UTC (rev 7748) @@ -23,6 +23,7 @@ import org.griphyn.vdl.mapping.AbsFile; import org.griphyn.vdl.mapping.AbstractMapper; +import org.griphyn.vdl.mapping.FileSystemLister; import org.griphyn.vdl.mapping.Mapper; import org.griphyn.vdl.mapping.MappingParamSet; import org.griphyn.vdl.mapping.Path; @@ -103,9 +104,19 @@ public Collection existing() { return Collections.singletonList(Path.EMPTY_PATH); } + + @Override + public Collection existing(FileSystemLister l) { + return Collections.singletonList(Path.EMPTY_PATH); + } public boolean isStatic() { TestMapperParams cp = getParams(); - return cp.getStatic_(); + if (cp != null) { + return cp.getStatic_(); + } + else { + return false; + } } } Modified: trunk/src/org/griphyn/vdl/type/Type.java =================================================================== --- trunk/src/org/griphyn/vdl/type/Type.java 2014-03-22 20:28:48 UTC (rev 7747) +++ trunk/src/org/griphyn/vdl/type/Type.java 2014-03-28 01:51:51 UTC (rev 7748) @@ -187,5 +187,7 @@ } - public boolean hasNonPrimitiveComponents(); + public boolean hasNonPrimitiveComponents(); + + public boolean hasArrayComponents(); } Modified: trunk/src/org/griphyn/vdl/type/impl/TypeImpl.java =================================================================== --- trunk/src/org/griphyn/vdl/type/impl/TypeImpl.java 2014-03-22 20:28:48 UTC (rev 7747) +++ trunk/src/org/griphyn/vdl/type/impl/TypeImpl.java 2014-03-28 01:51:51 UTC (rev 7748) @@ -32,7 +32,7 @@ private boolean primitive; private Map fields; private Type baseType; - private Boolean hasNonPrimitiveComponents; + private Boolean hasNonPrimitiveComponents, hasArrayComponents; public TypeImpl() { this((URI) null, null, false); @@ -164,6 +164,27 @@ } return hasNonPrimitiveComponents; } + + public synchronized boolean hasArrayComponents() { + if (hasArrayComponents == null) { + if (isArray()) { + hasArrayComponents = true; + } + else if (isPrimitive()) { + hasArrayComponents = true; + } + else { + // struct + for (Field f : getFields()) { + if (f.getType().hasArrayComponents()) { + return hasArrayComponents = true; + } + } + hasArrayComponents = false; + } + } + return hasArrayComponents; + } public static class Array extends TypeImpl { Modified: trunk/src/org/griphyn/vdl/type/impl/UnresolvedType.java =================================================================== --- trunk/src/org/griphyn/vdl/type/impl/UnresolvedType.java 2014-03-22 20:28:48 UTC (rev 7747) +++ trunk/src/org/griphyn/vdl/type/impl/UnresolvedType.java 2014-03-28 01:51:51 UTC (rev 7748) @@ -88,6 +88,11 @@ public boolean hasNonPrimitiveComponents() { throw new UnsupportedOperationException(); } + + @Override + public boolean hasArrayComponents() { + throw new UnsupportedOperationException(); + } public String getName() { return name; From hategan at ci.uchicago.edu Thu Mar 27 20:55:33 2014 From: hategan at ci.uchicago.edu (hategan at ci.uchicago.edu) Date: Thu, 27 Mar 2014 20:55:33 -0500 (CDT) Subject: [Swift-commit] r7750 - trunk/tests/groups Message-ID: <20140328015533.85A5C9D0BE@svn.ci.uchicago.edu> Author: hategan Date: 2014-03-27 20:55:33 -0500 (Thu, 27 Mar 2014) New Revision: 7750 Modified: trunk/tests/groups/group-all-local.sh Log: added dynamic output tests to local group Modified: trunk/tests/groups/group-all-local.sh =================================================================== --- trunk/tests/groups/group-all-local.sh 2014-03-28 01:52:39 UTC (rev 7749) +++ trunk/tests/groups/group-all-local.sh 2014-03-28 01:55:33 UTC (rev 7750) @@ -13,6 +13,9 @@ $TESTDIR/language-behaviour/associative_array \ $TESTDIR/language-behaviour/control_structures \ $TESTDIR/language-behaviour/datatypes \ + $TESTDIR/language-behaviour/procedures/dynamic-output/swift-staging \ + $TESTDIR/language-behaviour/procedures/dynamic-output/provider-staging-local \ + $TESTDIR/language-behaviour/procedures/dynamic-output/provider-staging-coasters \ $TESTDIR/language-behaviour/IO \ $TESTDIR/language-behaviour/logic \ $TESTDIR/language-behaviour/mappers \ From hategan at ci.uchicago.edu Thu Mar 27 22:40:26 2014 From: hategan at ci.uchicago.edu (hategan at ci.uchicago.edu) Date: Thu, 27 Mar 2014 22:40:26 -0500 (CDT) Subject: [Swift-commit] r7751 - trunk/src/org/griphyn/vdl/mapping Message-ID: <20140328034026.4EE649CF83@svn.ci.uchicago.edu> Author: hategan Date: 2014-03-27 22:40:26 -0500 (Thu, 27 Mar 2014) New Revision: 7751 Modified: trunk/src/org/griphyn/vdl/mapping/RootDataNode.java Log: don't check existing for output data that isn't composite Modified: trunk/src/org/griphyn/vdl/mapping/RootDataNode.java =================================================================== --- trunk/src/org/griphyn/vdl/mapping/RootDataNode.java 2014-03-28 01:55:33 UTC (rev 7750) +++ trunk/src/org/griphyn/vdl/mapping/RootDataNode.java 2014-03-28 03:40:26 UTC (rev 7751) @@ -167,6 +167,9 @@ // which can happen in cases such as if(false) {a = ...} return; } + if (!root.getType().isComposite()) { + return; + } // Static mappers are (array) mappers which know the size of // an array statically. A good example is the fixed array mapper if (logger.isDebugEnabled()) { From ketan at ci.uchicago.edu Fri Mar 28 13:10:54 2014 From: ketan at ci.uchicago.edu (ketan at ci.uchicago.edu) Date: Fri, 28 Mar 2014 13:10:54 -0500 (CDT) Subject: [Swift-commit] r7752 - SwiftApps/swift-galaxy/swift Message-ID: <20140328181054.CA0BF9CFE8@svn.ci.uchicago.edu> Author: ketan Date: 2014-03-28 13:10:53 -0500 (Fri, 28 Mar 2014) New Revision: 7752 Modified: SwiftApps/swift-galaxy/swift/swiftforeach.xml SwiftApps/swift-galaxy/swift/swiftforeachlist.sh SwiftApps/swift-galaxy/swift/swiftforeachrange.sh Log: Option to call Swift/T, not tested yet Modified: SwiftApps/swift-galaxy/swift/swiftforeach.xml =================================================================== --- SwiftApps/swift-galaxy/swift/swiftforeach.xml 2014-03-28 03:40:26 UTC (rev 7751) +++ SwiftApps/swift-galaxy/swift/swiftforeach.xml 2014-03-28 18:10:53 UTC (rev 7752) @@ -14,6 +14,7 @@ #if $rangeorlist.rl == "rng" swiftforeachrange.sh + "${k_or_t}" "${site}" "${swiftargs}" "${interpret}" @@ -31,6 +32,7 @@ #end for #elif $rangeorlist.rl == "lst" swiftforeachlist.sh + "${k_or_t}" "${site}" "${swiftargs}" "${interpret}" @@ -46,6 +48,7 @@ #end for #else swiftforeachtest.sh + "${k_or_t}" "${site}" "${swiftargs}" "${interpret}" @@ -72,6 +75,11 @@ #end if --> + + + + + @@ -80,7 +88,6 @@ - Modified: SwiftApps/swift-galaxy/swift/swiftforeachlist.sh =================================================================== --- SwiftApps/swift-galaxy/swift/swiftforeachlist.sh 2014-03-28 03:40:26 UTC (rev 7751) +++ SwiftApps/swift-galaxy/swift/swiftforeachlist.sh 2014-03-28 18:10:53 UTC (rev 7752) @@ -2,7 +2,8 @@ wdir=$(mktemp -d /tmp/swift-gal.XXXX) -# numeric range +k_or_t=$1 +shift sites=$1 # comma separated list of sites shift swiftargs=$1 @@ -105,11 +106,13 @@ done touch None # Create a "None" file in case user does not specify any stdin file +if [ "$k_or_t" = "swiftK" ] ; then + $swift -sites.file $wdir/sites.xml -tc.file $wdir/tc -config $wdir/cf $wdir/script.swift "${swiftargs}" 2>$logfile + EXITCODE=$? +else + echo "stc + turbine; not implemented yet" > /tmp/swiftT.txt +fi -#invoke swift -$swift -sites.file $wdir/sites.xml -tc.file $wdir/tc -config $wdir/cf $wdir/script.swift "${swiftargs}" 2>$logfile -EXITCODE=$? - `for i in \`find $outloc -type f\`; do echo "\`basename $i\` $i"; done` cat << EOF > $outlistfile Modified: SwiftApps/swift-galaxy/swift/swiftforeachrange.sh =================================================================== --- SwiftApps/swift-galaxy/swift/swiftforeachrange.sh 2014-03-28 03:40:26 UTC (rev 7751) +++ SwiftApps/swift-galaxy/swift/swiftforeachrange.sh 2014-03-28 18:10:53 UTC (rev 7752) @@ -3,7 +3,8 @@ echo $@ > /tmp/args.txt wdir=$(mktemp -d /tmp/swift-gal.XXXX) -# numeric range +k_or_t=$1 +shift sites=$1 # comma separated list of sites shift swiftargs=$1 @@ -113,8 +114,12 @@ done touch None # Create a "None" file in case user does not specify any stdin file -$swift -sites.file $wdir/sites.xml -tc.file $wdir/tc -config $wdir/cf $wdir/script.swift "${swiftargs}" 2>$logfile -EXITCODE=$? +if [ "$k_or_t" = "swiftK" ] ; then + $swift -sites.file $wdir/sites.xml -tc.file $wdir/tc -config $wdir/cf $wdir/script.swift "${swiftargs}" 2>$logfile + EXITCODE=$? +else + echo "stc + turbine; not implemented yet" > /tmp/swiftT.txt +fi #`for i in \`find $HOME/swift-sandbox -type f\`; do echo "\`basename $i\` $i"; done` #Populate output file