Index: /issm/trunk-jpl/src/m/classes/clusters/cloud.m
===================================================================
--- /issm/trunk-jpl/src/m/classes/clusters/cloud.m	(revision 13630)
+++ /issm/trunk-jpl/src/m/classes/clusters/cloud.m	(revision 13631)
@@ -19,9 +19,8 @@
 		function cluster=cloud(varargin) % {{{
 
-			%use provided options to change fields
-			options=pairoptions(varargin{:});
-
 			%initialize cluster using user settings if provided
-			if (exist([cluster.name '_settings'])==2), eval([cluster.name '_settings']); end
+			if (exist('cloud_settings')==2), 
+				eval('cloud_settings'); 
+			end
 
 			%OK get other fields
@@ -74,10 +73,10 @@
 
 			disp('uploading input file and queueing script');
-			issmstscpout(cluster.name,cluster.executionpath,cluster.login,cluster.port,{[dirname '.tar.gz']});
+			issmstscpout(cluster.name,cluster.executionpath,cluster.login,{[dirname '.tar.gz']});
 
 			disp('launching solution sequence on remote cluster');
-			launchcommand=['source ' codepath '/etc/environment.sh && cd ' cluster.executionpath ' && rm -rf ./' dirname ' && mkdir ' dirname ...
+			launchcommand=['cd ' cluster.executionpath ' && rm -rf ./' dirname ' && mkdir ' dirname ...
 				' && cd ' dirname ' && mv ../' dirname '.tar.gz ./ && tar -zxf ' dirname '.tar.gz  && source  ' modelname '.queue '];
-			issmstssh(cluster.name,cluster.login,cluster.port,launchcommand);
+			issmstssh(cluster.name,cluster.login,launchcommand);
 		end %}}}
 		function Download(cluster,dirname,filelist)% {{{
@@ -85,5 +84,5 @@
 			%copy files from cluster to current directory
 			directory=[cluster.executionpath '/' dirname '/'];
-			issmstscpin(cluster.name,cluster.login,cluster.port,directory,filelist);
+			issmstscpin(cluster.name,cluster.login,directory,filelist);
 		end %}}}
 	end
Index: /issm/trunk-jpl/src/m/os/issmstscpin.m
===================================================================
--- /issm/trunk-jpl/src/m/os/issmstscpin.m	(revision 13630)
+++ /issm/trunk-jpl/src/m/os/issmstscpin.m	(revision 13631)
@@ -5,7 +5,4 @@
 %
 %
-
-%first get hostname
-hostname=oshostname();
 
 %get initial warning mode
@@ -24,12 +21,12 @@
 	string=packages{1};
 else
-	string='\{';
+	string='';
 	for i=1:numel(packages)-1,
-		string=[string packages{i} ','];
+		string=[string ' ' path packages{i} ' '];
 	end
-	string=[string packages{end} '\}'];
+	string=[string path packages{end}];
 end
 
-eval(['!starcluster get ' host ' --user ' login ' ' path '/' string  ' ./']);
+system([starcluster() ' get ' host ' --user ' login ' ' string  ' ./']);
 
 %check starcluster get  worked
Index: /issm/trunk-jpl/src/m/os/issmstscpout.m
===================================================================
--- /issm/trunk-jpl/src/m/os/issmstscpout.m	(revision 13631)
+++ /issm/trunk-jpl/src/m/os/issmstscpout.m	(revision 13631)
@@ -0,0 +1,18 @@
+function issmstscpout(host,path,login,packages)
+%ISSMSTSCPOUT send packages to a host, using starcluster put on unix
+%
+%   usage: issmstscpout(host,path,login,packages)
+%
+%
+
+%use starcluster put technologiy
+STARCLUSTER=[issmdir() '/externalpackages/python/install/bin/starcluster -c ' jplsvn '/projects/CloudComputing/starcluster.config'];
+
+%create string of packages being sent
+string='';
+for i=1:numel(packages),
+	string=[string ' ' packages{i}];
+end
+string=[string ' '];
+
+system([ STARCLUSTER ' put ' host ' --user ' login ' ' string ' ' path]);
Index: /issm/trunk-jpl/src/m/os/issmstssh.m
===================================================================
--- /issm/trunk-jpl/src/m/os/issmstssh.m	(revision 13631)
+++ /issm/trunk-jpl/src/m/os/issmstssh.m	(revision 13631)
@@ -0,0 +1,9 @@
+function issmstssh(host,login,command)
+%ISSMSSH - wrapper for OS independent ssh command.
+%
+%   usage: 
+%      issmstssh(host,command)
+
+
+%just use starcluster command to pipe an ssh command through
+system([starcluster() ' sshmaster ' host ' ''' command '''']);
Index: /issm/trunk-jpl/src/m/os/starcluster.m
===================================================================
--- /issm/trunk-jpl/src/m/os/starcluster.m	(revision 13631)
+++ /issm/trunk-jpl/src/m/os/starcluster.m	(revision 13631)
@@ -0,0 +1,7 @@
+function STARCLUSTER=starcluster()
+%STARCLUSTER - Get path to STARCLUSTER command
+%
+%   Usage:
+%      STARCLUSTER=STARCLUSTER()
+
+STARCLUSTER=[issmdir() '/externalpackages/python/install/bin/starcluster -c ' jplsvn '/projects/CloudComputing/starcluster.config'];
Index: /issm/trunk-jpl/src/m/solve/waitonlock.m
===================================================================
--- /issm/trunk-jpl/src/m/solve/waitonlock.m	(revision 13630)
+++ /issm/trunk-jpl/src/m/solve/waitonlock.m	(revision 13631)
@@ -12,5 +12,7 @@
 cluster=md.cluster.name;
 login=md.cluster.login;
-port=md.cluster.port;
+if any(strcmp(properties(md.cluster), 'port')) 
+	port=md.cluster.port;
+end
 timelimit=md.settings.waitonlock;
 filename=[executionpath '/' md.private.runtimename '/' md.miscellaneous.name '.lock'];
