Index: /issm/trunk-jpl/src/m/classes/organizer.m
===================================================================
--- /issm/trunk-jpl/src/m/classes/organizer.m	(revision 14277)
+++ /issm/trunk-jpl/src/m/classes/organizer.m	(revision 14278)
@@ -112,4 +112,30 @@
 			end
 		end%}}}
+		function md=loaddata(org,string),% {{{
+
+			%Get model path
+			if ~ischar(string), error('argument provided is not a string'); end
+			path=[org.repository '/' org.prefix string];
+
+			%figure out if the data is there, otherwise, we have to use the default path supplied by user.
+			if exist(path,'file') | exist([path '.mat'],'file'),
+				evalin('caller',['load -mat ' path]);
+				return;
+			end
+
+			%If we are here, the data has not been found. Try trunk prefix if provided
+			if ~isempty(org.trunkprefix),
+				path2=[org.repository '/' org.trunkprefix string];
+				if ~exist(path2,'file'),
+					error(['Could find neither ' path ', nor ' path2]);
+				else
+					disp(['--> Branching ' org.prefix ' from trunk ' org.trunkprefix]);
+					evalin('caller',['load -mat ' path2]);
+					return;
+				end
+			else
+				error(['Could not find ' path ]);
+			end
+		end%}}}
 		function bool=perform(org,string) % {{{
 
@@ -159,4 +185,24 @@
 			save(name,'md','-v7.3');
 		end%}}}
+		function savedata(org,varargin) % {{{
+
+			%check
+			if (org.currentstep==0), error('Cannot save data because organizer (org) is empty! Make sure you did not skip any perform call'); end
+			if (org.currentstep>length(org.steps)), error('Cannot save data because organizer (org) is not up to date!'); end
+
+			name=[org.repository '/' org.prefix org.steps(org.currentstep).string ];
+			disp(['saving data in: ' name]);
+
+			%check that md is a model
+			if (org.currentstep>length(org.steps)), error(['organizer error message: element with id ' num2str(org.currentstep) ' not found']); end
+
+			%list of variable names: 
+			variables='';
+			for i=2:nargin, 
+				variables=[variables ',' '''' inputname(i) ''''];
+				eval([inputname(i) '= varargin{' num2str(i-1) '};']);
+			end
+			eval(['save(''' name '''' variables ',''-v7.3'');']);
+		end%}}}
 	end
 end
