Index: /issm/trunk-jpl/src/m/classes/initialization.m
===================================================================
--- /issm/trunk-jpl/src/m/classes/initialization.m	(revision 26005)
+++ /issm/trunk-jpl/src/m/classes/initialization.m	(revision 26006)
@@ -20,4 +20,5 @@
 		hydraulic_potential = NaN;
 		channelarea         = NaN;
+        sample              = NaN;
 	end
 	methods
@@ -109,5 +110,10 @@
 						md = checkfield(md,'fieldname','initialization.epl_thickness','NaN',1,'Inf',1,'size',[md.mesh.numberofvertices 1]);
 					end
-				end
+                end
+            end
+            if ismember('SamplingAnalysis',analyses) & ~(strcmp(solution,'TransientSolution') & md.transient.issampling == 0),
+                if ~isnan(md.initialization.sample)
+                    md = checkfield(md,'fieldname','initialization.sample','NaN',1,'Inf',1,'size',[md.mesh.numberofvertices 1]);
+                end
 			end
 		end % }}}
@@ -129,5 +135,5 @@
 			fielddisplay(self,'hydraulic_potential','Hydraulic potential (for GlaDS) [Pa]');
 			fielddisplay(self,'channelarea','subglacial water channel area (for GlaDS) [m2]');
-
+            fielddisplay(self,'sample','Realization of a Gaussian random field');
 		end % }}}
 		function marshall(self,prefix,md,fid) % {{{
@@ -147,5 +153,6 @@
 			WriteData(fid,prefix,'object',self,'fieldname','channelarea','format','DoubleMat','mattype',1);
 			WriteData(fid,prefix,'object',self,'fieldname','hydraulic_potential','format','DoubleMat','mattype',1);
-
+            WriteData(fid,prefix,'object',self,'fieldname','sample','format','DoubleMat','mattype',1);
+            
 			if md.thermal.isenthalpy,
 				if numel(self.enthalpy) <= 1,
@@ -177,5 +184,6 @@
 			writejs1Darray(fid,[modelname '.initialization.hydraulic_potential'],self.hydraulic_potential);
 			writejs1Darray(fid,[modelname '.initialization.channel'],self.channelarea);
-
+            writejs1Darray(fid,[modelname '.initialization.sample'],self.sample);
+            
 		end % }}}
 	end
Index: /issm/trunk-jpl/src/m/classes/transient.m
===================================================================
--- /issm/trunk-jpl/src/m/classes/transient.m	(revision 26005)
+++ /issm/trunk-jpl/src/m/classes/transient.m	(revision 26006)
@@ -16,4 +16,5 @@
 		ismovingfront     = 0;
 		ishydrology       = 0;
+        issampling        = 0;
 		isslc             = 0;
 		iscoupler         = 0;
@@ -44,4 +45,5 @@
 			self.ismovingfront   =0;
 			self.ishydrology     = 0;
+            self.issampling      = 0;
 			self.isslc           = 0;
 			self.isoceancoupling = 0;
@@ -65,4 +67,5 @@
 			self.ismovingfront   = 0;
 			self.ishydrology     = 0;
+            self.issampling      = 0;
 			self.isslc           = 0;
 			self.isoceancoupling = 0;
@@ -99,4 +102,5 @@
 			md = checkfield(md,'fieldname','transient.isoceancoupling','numel',[1],'values',[0 1]);
 			md = checkfield(md,'fieldname','transient.iscoupler','numel',[1],'values',[0 1]);
+            md = checkfield(md,'fieldname','transient.issampling','numel',[1],'values',[0 1]);  
 			md = checkfield(md,'fieldname','transient.amr_frequency','numel',[1],'>=',0,'NaN',1,'Inf',1);
 
@@ -121,4 +125,5 @@
 			fielddisplay(self,'ismovingfront','indicates whether a moving front capability is used in the transient');
 			fielddisplay(self,'ishydrology','indicates whether an hydrology model is used');
+            fielddisplay(self,'issampling','indicates whether sampling is used in the transient')
 			fielddisplay(self,'isslc','indicates whether a sea-level change solution is used in the transient');
 			fielddisplay(self,'isoceancoupling','indicates whether a coupling with an ocean model is used in the transient');
@@ -139,4 +144,5 @@
 			WriteData(fid,prefix,'object',self,'fieldname','ishydrology','format','Boolean');
 			WriteData(fid,prefix,'object',self,'fieldname','ismovingfront','format','Boolean');
+            WriteData(fid,prefix,'object',self,'fieldname','issampling','format','Boolean'); 
 			WriteData(fid,prefix,'object',self,'fieldname','isslc','format','Boolean');
 			WriteData(fid,prefix,'object',self,'fieldname','isoceancoupling','format','Boolean');
@@ -165,4 +171,5 @@
 			writejsdouble(fid,[modelname '.trans.ismovingfront'],self.ismovingfront);
 			writejsdouble(fid,[modelname '.trans.ishydrology'],self.ishydrology);
+            writejsdouble(fid,[modelname '.trans.issampling'],self.issampling); 
 			writejsdouble(fid,[modelname '.trans.isslc'],self.isslc);
 			writejsdouble(fid,[modelname '.trans.isoceancoupling'],self.isoceancoupling);
