Index: /issm/trunk/src/m/model/multiplequeue/BuildMultipleQueueingScript.m
===================================================================
--- /issm/trunk/src/m/model/multiplequeue/BuildMultipleQueueingScript.m	(revision 5949)
+++ /issm/trunk/src/m/model/multiplequeue/BuildMultipleQueueingScript.m	(revision 5949)
@@ -0,0 +1,23 @@
+function BuildMultipleQueueingScript(cluster,name,executionpath,codepath)
+%BUILDMULTIPLEQUEUEINGSCRIPT - 
+%
+%   Usage:
+%      BuildMultipleQueueingScript(executionpath,codepath)
+
+disp('building queueing script');
+
+%First try and figure out if there is a special script for this particular cluster
+function_name=['BuildMultipleQueueingScript' cluster];
+
+%some specific treatment of identical cluster, gemini, castor and pollux
+if strcmpi(cluster,'castor') || strcmpi(cluster,'pollux'),
+	function_name='BuildMultipleQueueingScriptgemini';
+end
+
+if exist(function_name,'file'),
+	%Call this function:
+	eval([function_name '(name,executionpath,codepath);']);
+else
+	%Call the generic BuildQueueingScript:
+	BuildMultipleQueueingScriptGeneric(name,executionpath,codepath);
+end
Index: /issm/trunk/src/m/model/multiplequeue/BuildMultipleQueueingScriptGeneric.m
===================================================================
--- /issm/trunk/src/m/model/multiplequeue/BuildMultipleQueueingScriptGeneric.m	(revision 5949)
+++ /issm/trunk/src/m/model/multiplequeue/BuildMultipleQueueingScriptGeneric.m	(revision 5949)
@@ -0,0 +1,12 @@
+function BuildMultipleQueueingScriptGeneric(name,executionpath,codepath)
+%BUILDMULTIPLEQUEUEINGSCRIPTGENERIC - ...
+%
+%   Usage:
+%      BuildMultipleQueueingScriptGeneric(executionpath,codepath)
+
+global ISSM_DIR
+
+
+%not done yet
+error('BuildMultipleQueueingScriptGenericerror message: not supported yet!');
+
Index: /issm/trunk/src/m/model/multiplequeue/BuildMultipleQueueingScriptgemini.m
===================================================================
--- /issm/trunk/src/m/model/multiplequeue/BuildMultipleQueueingScriptgemini.m	(revision 5949)
+++ /issm/trunk/src/m/model/multiplequeue/BuildMultipleQueueingScriptgemini.m	(revision 5949)
@@ -0,0 +1,23 @@
+function BuildQueueingScriptgemini(name,executionpath,codepath)
+%BUILDQUEUEINGSCRIPTGEMINI - ...
+%
+%   Usage:
+%      BuildQueueingScriptgemini(md,executionpath,codepath)
+
+scriptname=[name '.queue'];
+
+fid=fopen(scriptname,'w');
+if fid==-1,
+	error(['BuildQueueingScriptgeminierror message: could not open ' scriptname ' file for ascii writing']);
+end
+
+fprintf(fid,'#!/bin/sh\n');
+fprintf(fid,'cd %s\n',executionpath);
+fprintf(fid,'mkdir %s\n',name);
+fprintf(fid,'cd %s\n',name);
+fprintf(fid,'mv ../ModelList.tar.gz ./\n');
+fprintf(fid,'tar -zxvf ModelList.tar.gz\n');
+fprintf(fid,'foreach i (%s-*vs*.queue)\n',name);
+fprintf(fid,'qsub $i\n');
+fprintf(fid,'end\n');
+fclose(fid);
Index: /issm/trunk/src/m/model/multiplequeue/LaunchMultipleQueueJob.m
===================================================================
--- /issm/trunk/src/m/model/multiplequeue/LaunchMultipleQueueJob.m	(revision 5949)
+++ /issm/trunk/src/m/model/multiplequeue/LaunchMultipleQueueJob.m	(revision 5949)
@@ -0,0 +1,21 @@
+function LaunchMultipleQueueJob(cluster,name,executionpath)
+%LAUNCHMULTIPLEQUEUEJOB - ...
+%
+%   Usage:
+%      LaunchMultipleQueueJob(executionpath)
+
+%First try and figure out if there is a special script for thie particular cluster
+function_name=['LaunchMultipleQueueJob' cluster];
+
+%some specific treatment of identical cluster, gemini, castor and pollux
+if strcmpi(cluster,'castor') || strcmpi(cluster,'pollux'),
+	function_name='LaunchMultipleQueueJobgemini';
+end
+
+if exist(function_name,'file'),
+	%Call this function:
+	eval([function_name '(cluster,name,executionpath);']);
+else
+	%Call the generic LaunchMultipleQueueJob:
+	LaunchMultipleQueueJobGeneric(cluster,name,executionpath);
+end
Index: /issm/trunk/src/m/model/multiplequeue/LaunchMultipleQueueJobGeneric.m
===================================================================
--- /issm/trunk/src/m/model/multiplequeue/LaunchMultipleQueueJobGeneric.m	(revision 5949)
+++ /issm/trunk/src/m/model/multiplequeue/LaunchMultipleQueueJobGeneric.m	(revision 5949)
@@ -0,0 +1,7 @@
+function LaunchMultipleQueueJobGeneric(cluster,name,executionpath)
+%LAUNCHMULTIPLEQUEUEJOBGENERIC - Generic routine to launch multiple queueing job
+%
+%   Usage:
+%      LaunchMultipleQueueJobGeneric(cluster,name,executionpath)
+
+error('LaunchMultipleQueueJobGeneric error message: not supported yet!');
Index: /issm/trunk/src/m/model/multiplequeue/LaunchMultipleQueueJobgemini.m
===================================================================
--- /issm/trunk/src/m/model/multiplequeue/LaunchMultipleQueueJobgemini.m	(revision 5949)
+++ /issm/trunk/src/m/model/multiplequeue/LaunchMultipleQueueJobgemini.m	(revision 5949)
@@ -0,0 +1,22 @@
+function md=LaunchMultipleQueueJobgemini(cluster,name,executionpath)
+%LAUNCHMULTIPLEQUEUEJOBGEMINI - Launch multiple queueing script on Gemini cluster
+%
+%   Usage:
+%      LaunchMultipleQueueJobgemini(cluster,name,executionpath)
+
+
+%first, check we have the binary file and the queueing script
+if ~exist([ name '.queue'],'file'),
+	error('LaunchMultipleQueueJobgemini error message: queueing script issing, cannot go forward');
+end
+
+if ~exist('ModelList.tar.gz','file'),
+	error('LaunchMultipleQueueJobgemini error message: inputs models file missing, cannot go forward');
+end
+
+%upload both files to cluster
+disp('uploading input file,  queueing script and variables script');
+eval(['!scp ModelList.tar.gz ' name '.queue '  cluster ':' executionpath]);
+
+disp('launching solution sequence on remote cluster');
+issmssh(cluster,login,['"cd ' executionpath ' && source ' name '.queue "']);
