Index: /issm/branches/trunk-larour-NatGeoScience2016/src/m/classes/sealevelmodel.m
===================================================================
--- /issm/branches/trunk-larour-NatGeoScience2016/src/m/classes/sealevelmodel.m	(revision 22229)
+++ /issm/branches/trunk-larour-NatGeoScience2016/src/m/classes/sealevelmodel.m	(revision 22230)
@@ -18,5 +18,6 @@
 		settings         = 0;
 		private          = 0;
-		range           = 0;
+		range            = 0;
+		mergedcaps     = 0;
 		%}}}
 	end
@@ -96,4 +97,36 @@
 			disp(sprintf('%19s: %-22s -- %s','range'   ,['[1x1 ' class(self.range) ']'],'ranges'));
 		end % }}}
+		function self=mergeresults(self) % {{{
+			champs=fields(self.icecaps{1}.results.TransientSolution);
+			for i=1:length(self.mergedcaps)/2,
+				md=self.mergedcaps{2*(i-1)+1}; trans=self.mergedcaps{2*(i-1)+2};
+				icecaps=self.icecaps(self.range{2*(i-1)+2});
+				for j=1:length(self.icecaps{1}.results.TransientSolution),
+					for k=1:length(champs),
+						if strcmpi(class(icecaps{1}.results.TransientSolution(j).(champs{k})),'double'),
+							%vertex or element? 
+							if length(icecaps{1}.results.TransientSolution(j).(champs{k}))==icecaps{1}.mesh.numberofvertices,
+								md.results.TransientSolution(j).(champs{k})=zeros(md.mesh.numberofvertices,1);
+							else
+								continue;
+							end
+						elseif strcmpi(class(icecaps{1}.results.TransientSolution(j).(champs{k})),'char'),
+							switch champs{k},
+							case 'IceVolume'
+								error('IceVolume mergeresults not implemented yet!');
+							otherwise continue;
+							end
+						else
+							continue;
+						end
+						for l=1:length(trans),
+							resultcap=icecaps{l}.results.TransientSolution(j).(champs{k});
+							md.results.TransientSolution(j).(champs{k})(trans{l})=resultcap;
+						end
+					end
+				end
+				self.mergedcaps{2*(i-1)+1}=md;
+			end
+		end % }}}
 	end
 end
