Index: /issm/trunk-jpl/src/c/analyses/MasstransportAnalysis.cpp
===================================================================
--- /issm/trunk-jpl/src/c/analyses/MasstransportAnalysis.cpp	(revision 19308)
+++ /issm/trunk-jpl/src/c/analyses/MasstransportAnalysis.cpp	(revision 19309)
@@ -181,4 +181,6 @@
 			iomodel->Constant(&ismungsm,SurfaceforcingsIsmungsmEnum);
 			iomodel->FetchDataToInput(elements,ThermalSpctemperatureEnum);
+			iomodel->FetchDataToInput(elements,SurfaceforcingsS0pEnum);
+			iomodel->FetchDataToInput(elements,SurfaceforcingsS0tEnum);
 			if(isdelta18o || ismungsm){
 				iomodel->FetchDataToInput(elements,SurfaceforcingsTemperaturesLgmEnum);
@@ -188,5 +190,5 @@
 			}
 			else{
-			        iomodel->FetchDataToInput(elements,SurfaceforcingsPrecipitationEnum);
+				iomodel->FetchDataToInput(elements,SurfaceforcingsPrecipitationEnum);
 				iomodel->FetchDataToInput(elements,SurfaceforcingsMonthlytemperaturesEnum);
 			}
@@ -196,4 +198,6 @@
 			iomodel->Constant(&isd18opd,SurfaceforcingsIsd18opdEnum);
 			iomodel->FetchDataToInput(elements,ThermalSpctemperatureEnum);
+			iomodel->FetchDataToInput(elements,SurfaceforcingsS0pEnum);
+			iomodel->FetchDataToInput(elements,SurfaceforcingsS0tEnum);
 			if (isd18opd){
 			        iomodel->FetchDataToInput(elements,SurfaceforcingsTemperaturesPresentdayEnum);
Index: /issm/trunk-jpl/src/c/classes/Elements/Element.cpp
===================================================================
--- /issm/trunk-jpl/src/c/classes/Elements/Element.cpp	(revision 19308)
+++ /issm/trunk-jpl/src/c/classes/Elements/Element.cpp	(revision 19309)
@@ -1691,5 +1691,7 @@
 	IssmDouble* h=xNew<IssmDouble>(numvertices);
 	IssmDouble* s=xNew<IssmDouble>(numvertices);
-	IssmDouble rho_water,rho_ice,desfac,s0p,s0t,rlaps,rlapslgm;
+	IssmDouble* s0p=xNew<IssmDouble>(numvertices);
+	IssmDouble* s0t=xNew<IssmDouble>(numvertices);
+	IssmDouble rho_water,rho_ice,desfac,rlaps,rlapslgm;
 	IssmDouble PfacTime,TdiffTime,sealevTime;
 	IssmDouble mavg=1./12.; //factor for monthly average
@@ -1701,6 +1703,4 @@
 	/*Get some pdd parameters*/
 	desfac=this->matpar->GetMaterialParameter(SurfaceforcingsDesfacEnum);
-	s0p=this->matpar->GetMaterialParameter(SurfaceforcingsS0pEnum);
-	s0t=this->matpar->GetMaterialParameter(SurfaceforcingsS0tEnum);
 	rlaps=this->matpar->GetMaterialParameter(SurfaceforcingsRlapsEnum);
 	rlapslgm=this->matpar->GetMaterialParameter(SurfaceforcingsRlapslgmEnum);
@@ -1742,4 +1742,6 @@
 	GetInputListOnVertices(&h[0],ThicknessEnum);
 	GetInputListOnVertices(&s[0],SurfaceEnum);
+	GetInputListOnVertices(&s0p[0],SurfaceforcingsS0pEnum);
+	GetInputListOnVertices(&s0t[0],SurfaceforcingsS0tEnum);
 
 	/*measure the surface mass balance*/
@@ -1747,5 +1749,5 @@
 		agd[iv]=PddSurfaceMassBalance(&monthlytemperatures[iv*12], &monthlyprec[iv*12],
 					pdds, pds, signorm, yts, h[iv], s[iv],
-					desfac, s0t, s0p,rlaps,rlapslgm,TdiffTime,sealevTime,
+					desfac, s0t[iv], s0p[iv],rlaps,rlapslgm,TdiffTime,sealevTime,
 					rho_water,rho_ice);
 	}
@@ -1801,4 +1803,6 @@
 	xDelete<IssmDouble>(h);
 	xDelete<IssmDouble>(s);
+	xDelete<IssmDouble>(s0t);
+	xDelete<IssmDouble>(s0p);
 	xDelete<IssmDouble>(tmp);
 
Index: /issm/trunk-jpl/src/c/classes/Materials/Matpar.cpp
===================================================================
--- /issm/trunk-jpl/src/c/classes/Materials/Matpar.cpp	(revision 19308)
+++ /issm/trunk-jpl/src/c/classes/Materials/Matpar.cpp	(revision 19309)
@@ -35,6 +35,4 @@
 	omega=0;
 	desfac=0;
-	s0p=0;
-	s0t=0;
 	rlaps=0;
 	rlapslgm=0;
@@ -100,6 +98,4 @@
 				case SMBpddEnum:
 					iomodel->Constant(&this->desfac,SurfaceforcingsDesfacEnum);
-					iomodel->Constant(&this->s0p,SurfaceforcingsS0pEnum);
-					iomodel->Constant(&this->s0t,SurfaceforcingsS0tEnum);
 					iomodel->Constant(&this->rlaps,SurfaceforcingsRlapsEnum);
 					iomodel->Constant(&this->rlapslgm,SurfaceforcingsRlapslgmEnum);
@@ -107,6 +103,4 @@
 				case SMBd18opddEnum:
 					iomodel->Constant(&this->desfac,SurfaceforcingsDesfacEnum);
-					iomodel->Constant(&this->s0p,SurfaceforcingsS0pEnum);
-					iomodel->Constant(&this->s0t,SurfaceforcingsS0tEnum);
 					iomodel->Constant(&this->rlaps,SurfaceforcingsRlapsEnum);
 					iomodel->Constant(&this->rlapslgm,SurfaceforcingsRlapslgmEnum);
@@ -187,6 +181,4 @@
 	_printf_("   g: " << g << "\n");
 	_printf_("   desfac: " << desfac << "\n");
-	_printf_("   s0p: " << s0p << "\n");
-	_printf_("   s0t: " << s0t << "\n");
 	_printf_("   rlaps: " << rlaps << "\n");
 	_printf_("   rlapslgm: " << rlapslgm << "\n");
@@ -233,6 +225,4 @@
 	matpar->g=this->g;
 	matpar->desfac=this->desfac;
-	matpar->s0p=this->s0p;
-	matpar->s0t=this->s0t;
 	matpar->rlaps=this->rlaps;
 	matpar->rlapslgm=this->rlapslgm;
@@ -280,6 +270,4 @@
 	MARSHALLING(omega);
 	MARSHALLING(desfac);
-	MARSHALLING(s0p);
-	MARSHALLING(s0t);
 	MARSHALLING(rlaps);
 	MARSHALLING(rlapslgm);
@@ -379,10 +367,4 @@
 		case  SurfaceforcingsDesfacEnum:
 			this->desfac=constant;
-			break;
-		case SurfaceforcingsS0pEnum:
-			this->s0p=constant;
-			break;
-		case SurfaceforcingsS0tEnum:
-			this->s0t=constant;
 			break;
 		case SurfaceforcingsRlapsEnum:
@@ -517,6 +499,4 @@
 		case ConstantsGEnum:                         return this->g;
 		case SurfaceforcingsDesfacEnum:              return this->desfac;
-		case SurfaceforcingsS0pEnum:                 return this->s0p;
-		case SurfaceforcingsS0tEnum:                 return this->s0t;
 		case SurfaceforcingsRlapsEnum:               return this->rlaps;
 		case SurfaceforcingsRlapslgmEnum:            return this->rlapslgm;
Index: /issm/trunk-jpl/src/c/classes/Materials/Matpar.h
===================================================================
--- /issm/trunk-jpl/src/c/classes/Materials/Matpar.h	(revision 19308)
+++ /issm/trunk-jpl/src/c/classes/Materials/Matpar.h	(revision 19309)
@@ -32,6 +32,4 @@
 		IssmDouble  omega;
 		IssmDouble  desfac;
-		IssmDouble  s0p;
-		IssmDouble  s0t;
 		IssmDouble  rlaps;
 		IssmDouble  rlapslgm;
Index: /issm/trunk-jpl/src/c/modules/ModelProcessorx/CreateParameters.cpp
===================================================================
--- /issm/trunk-jpl/src/c/modules/ModelProcessorx/CreateParameters.cpp	(revision 19308)
+++ /issm/trunk-jpl/src/c/modules/ModelProcessorx/CreateParameters.cpp	(revision 19309)
@@ -110,6 +110,4 @@
 			parameters->AddObject(iomodel->CopyConstantObject(SurfaceforcingsIsmungsmEnum));
 			parameters->AddObject(iomodel->CopyConstantObject(SurfaceforcingsDesfacEnum));
-			parameters->AddObject(iomodel->CopyConstantObject(SurfaceforcingsS0pEnum));
-			parameters->AddObject(iomodel->CopyConstantObject(SurfaceforcingsS0tEnum));
 			parameters->AddObject(iomodel->CopyConstantObject(SurfaceforcingsRlapsEnum));
 			parameters->AddObject(iomodel->CopyConstantObject(SurfaceforcingsRlapslgmEnum));
@@ -144,6 +142,4 @@
 			parameters->AddObject(iomodel->CopyConstantObject(SurfaceforcingsIsd18opdEnum));
 			parameters->AddObject(iomodel->CopyConstantObject(SurfaceforcingsDesfacEnum));
-			parameters->AddObject(iomodel->CopyConstantObject(SurfaceforcingsS0pEnum));
-			parameters->AddObject(iomodel->CopyConstantObject(SurfaceforcingsS0tEnum));
 			parameters->AddObject(iomodel->CopyConstantObject(SurfaceforcingsRlapsEnum));
 			parameters->AddObject(iomodel->CopyConstantObject(SurfaceforcingsRlapslgmEnum));
Index: /issm/trunk-jpl/src/m/classes/SMBd18opdd.m
===================================================================
--- /issm/trunk-jpl/src/m/classes/SMBd18opdd.m	(revision 19308)
+++ /issm/trunk-jpl/src/m/classes/SMBd18opdd.m	(revision 19309)
@@ -7,6 +7,6 @@
 	properties (SetAccess=public) 
 		desfac                    = 0;
-		s0p                       = 0;
-		s0t                       = 0;
+		s0p                       = NaN;
+		s0t                       = NaN;
 		rlaps                     = 0;
 		rlapslgm                  = 0; 
@@ -33,12 +33,18 @@
 			if(self.isd18opd),self.temperatures_presentday=project3d(md,'vector',self.temperatures_presentday,'type','node');end
 			if(self.isd18opd),self.precipitations_presentday=project3d(md,'vector',self.precipitations_presentday,'type','node');end
+			self.s0p=project3d(md,'vector',self.s0p,'type','node');
+			self.s0t=project3d(md,'vector',self.s0t,'type','node');
 
 		end % }}}
 		function self = initialize(self,md) % {{{
                     
-			% if isnan(self.precipitation),
-			% 	self.precipitation=zeros(md.mesh.numberofvertices,1);
-			% 	disp('      no SMBd18opdd.precipitation specified: values set as zero');
-			% end
+			if isnan(self.s0p),
+			 	self.s0p=zeros(md.mesh.numberofvertices,1);
+			 	disp('      no SMBd18opdd.s0p specified: values set as zero');
+			end
+			if isnan(self.s0t),
+				self.s0t=zeros(md.mesh.numberofvertices,1);
+				disp('      no SMBd18opdd.s0t specified: values set as zero');
+			end
 
 		end % }}}
@@ -48,6 +54,4 @@
 		  self.isd18opd   = 1;
 		  self.desfac     = 0.5;
-		  self.s0p        = 0;
-		  self.s0t        = 0;
 		  self.rlaps      = 6.5;
 		  self.rlapslgm   = 6.5;
@@ -59,6 +63,6 @@
 			if ismember(MasstransportAnalysisEnum(),analyses),
 				md = checkfield(md,'fieldname','surfaceforcings.desfac','<=',1,'numel',1);
-				md = checkfield(md,'fieldname','surfaceforcings.s0p','>=',0,'numel',1);
-				md = checkfield(md,'fieldname','surfaceforcings.s0t','>=',0,'numel',1);
+				md = checkfield(md,'fieldname','surfaceforcings.s0p','>=',0,'NaN',1,'size',[md.mesh.numberofvertices 1]);
+				md = checkfield(md,'fieldname','surfaceforcings.s0t','>=',0,'NaN',1,'size',[md.mesh.numberofvertices 1]);
 				md = checkfield(md,'fieldname','surfaceforcings.rlaps','>=',0,'numel',1);
 				md = checkfield(md,'fieldname','surfaceforcings.rlapslgm','>=',0,'numel',1);
@@ -99,6 +103,6 @@
 			WriteData(fid,'object',self,'class','surfaceforcings','fieldname','isd18opd','format','Boolean');
 			WriteData(fid,'object',self,'class','surfaceforcings','fieldname','desfac','format','Double');
-			WriteData(fid,'object',self,'class','surfaceforcings','fieldname','s0p','format','Double');
-			WriteData(fid,'object',self,'class','surfaceforcings','fieldname','s0t','format','Double');
+			WriteData(fid,'object',self,'class','surfaceforcings','fieldname','s0p','format','DoubleMat','mattype',1);
+			WriteData(fid,'object',self,'class','surfaceforcings','fieldname','s0t','format','DoubleMat','mattype',1);
 			WriteData(fid,'object',self,'class','surfaceforcings','fieldname','rlaps','format','Double');
 			WriteData(fid,'object',self,'class','surfaceforcings','fieldname','rlapslgm','format','Double');
Index: /issm/trunk-jpl/src/m/classes/SMBd18opdd.py
===================================================================
--- /issm/trunk-jpl/src/m/classes/SMBd18opdd.py	(revision 19308)
+++ /issm/trunk-jpl/src/m/classes/SMBd18opdd.py	(revision 19309)
@@ -16,6 +16,6 @@
 	def __init__(self): # {{{
 		self.desfac                    = 0.
-		self.s0p                       = 0.
-		self.s0t                       = 0.
+		self.s0p                       = float('NaN')
+		self.s0t                       = float('NaN')
 		self.rlaps                     = 0.
 		self.rlapslgm                  = 0.
@@ -53,14 +53,21 @@
 		if self.isd18opd: self.temperatures_presentday=project3d(md,'vector',self.temperatures_presentday,'type','node')
 		if self.isd18opd: self.precipitations_presentday=project3d(md,'vector',self.precipitations_presentday,'type','node')
+		self.s0p=project3d(md,'vector',self.s0p,'type','node')
+		self.s0t=project3d(md,'vector',self.s0t,'type','node')
+
 		return self
 	#}}}
 	def initialize(self,md): # {{{
 
-		# if numpy.all(numpy.isnan(self.precipitation)):
-		# 	self.precipitation=numpy.zeros((md.mesh.numberofvertices,1))
-		# 	print "      no SMBpdd.precipitation specified: values set as zero"
-		# 
-		 return self
-	#}}}
+		if numpy.all(numpy.isnan(self.s0p)):
+			self.s0p=numpy.zeros((md.mesh.numberofvertices,1))
+			print "      no SMBd18opdd.s0p specified: values set as zero"
+
+		if numpy.all(numpy.isnan(self.s0t)):
+			self.s0t=numpy.zeros((md.mesh.numberofvertices,1))
+			print "      no SMBd18opdd.s0t specified: values set as zero"
+			
+		return self
+	# }}}
 	def setdefaultparameters(self): # {{{
 
@@ -69,6 +76,4 @@
 		self.isd18opd   = 1
 		self.desfac     = 0.5
-		self.s0p        = 0.
-		self.s0t        = 0.
 		self.rlaps      = 6.5 
 		self.rlapslgm   = 6.5
@@ -81,6 +86,6 @@
 		if MasstransportAnalysisEnum() in analyses:
 			md = checkfield(md,'fieldname','surfaceforcings.desfac','<=',1,'numel',[1])
-			md = checkfield(md,'fieldname','surfaceforcings.s0p','>=',0,'numel',[1])
-			md = checkfield(md,'fieldname','surfaceforcings.s0t','>=',0,'numel',[1])
+			md = checkfield(md,'fieldname','surfaceforcings.s0p','>=',0,'NaN',1,'size',[md.mesh.numberofvertices,1])
+			md = checkfield(md,'fieldname','surfaceforcings.s0t','>=',0,'NaN',1,'size',[md.mesh.numberofvertices,1])
 			md = checkfield(md,'fieldname','surfaceforcings.rlaps','>=',0,'numel',[1])
 			md = checkfield(md,'fieldname','surfaceforcings.rlapslgm','>=',0,'numel',[1])
@@ -103,6 +108,6 @@
 		WriteData(fid,'object',self,'class','surfaceforcings','fieldname','isd18opd','format','Boolean')
 		WriteData(fid,'object',self,'class','surfaceforcings','fieldname','desfac','format','Double')
-		WriteData(fid,'object',self,'class','surfaceforcings','fieldname','s0p','format','Double')
-		WriteData(fid,'object',self,'class','surfaceforcings','fieldname','s0t','format','Double')
+		WriteData(fid,'object',self,'class','surfaceforcings','fieldname','s0p','format','DoubleMat','mattype',1);
+		WriteData(fid,'object',self,'class','surfaceforcings','fieldname','s0t','format','DoubleMat','mattype',1);
 		WriteData(fid,'object',self,'class','surfaceforcings','fieldname','rlaps','format','Double')
 		WriteData(fid,'object',self,'class','surfaceforcings','fieldname','rlapslgm','format','Double')
Index: /issm/trunk-jpl/src/m/classes/SMBpdd.m
===================================================================
--- /issm/trunk-jpl/src/m/classes/SMBpdd.m	(revision 19308)
+++ /issm/trunk-jpl/src/m/classes/SMBpdd.m	(revision 19309)
@@ -9,6 +9,6 @@
 		monthlytemperatures       = NaN;
 		desfac                    = 0;
-		s0p                       = 0;
-		s0t                       = 0;
+		s0p                       = NaN;
+		s0t                       = NaN;
 		rlaps                     = 0;
 		rlapslgm                  = 0; 
@@ -45,12 +45,18 @@
 			if(self.ismungsm),self.precipitations_presentday=project3d(md,'vector',self.precipitations_presentday,'type','node');end
 			if(self.ismungsm),self.precipitations_lgm=project3d(md,'vector',self.precipitations_lgm,'type','node');end
+			self.s0p=project3d(md,'vector',self.s0p,'type','node');
+			self.s0t=project3d(md,'vector',self.s0t,'type','node');
 
 		end % }}}
 		function self = initialize(self,md) % {{{
                     
-			% if isnan(self.precipitation),
-			% 	self.precipitation=zeros(md.mesh.numberofvertices,1);
-			% 	disp('      no SMBpdd.precipitation specified: values set as zero');
-			% end
+			if isnan(self.s0p),
+				self.s0p=zeros(md.mesh.numberofvertices,1);
+				disp('      no SMBpdd.s0p specified: values set as zero');
+			end
+			if isnan(self.s0t),
+				self.s0t=zeros(md.mesh.numberofvertices,1);
+				disp('      no SMBpdd.s0t specified: values set as zero');
+			end
 
 		end % }}}
@@ -60,6 +66,4 @@
 		  self.ismungsm   = 0;
 		  self.desfac     = 0.5;
-		  self.s0p        = 0;
-		  self.s0t        = 0;
 		  self.rlaps      = 6.5;
 		  self.rlapslgm   = 6.5;
@@ -70,6 +74,6 @@
 			if ismember(MasstransportAnalysisEnum(),analyses),
 				md = checkfield(md,'fieldname','surfaceforcings.desfac','<=',1,'numel',1);
-				md = checkfield(md,'fieldname','surfaceforcings.s0p','>=',0,'numel',1);
-				md = checkfield(md,'fieldname','surfaceforcings.s0t','>=',0,'numel',1);
+				md = checkfield(md,'fieldname','surfaceforcings.s0p','>=',0,'NaN',1,'size',[md.mesh.numberofvertices 1]);
+				md = checkfield(md,'fieldname','surfaceforcings.s0t','>=',0,'NaN',1,'size',[md.mesh.numberofvertices 1]);
 				md = checkfield(md,'fieldname','surfaceforcings.rlaps','>=',0,'numel',1);
 				md = checkfield(md,'fieldname','surfaceforcings.rlapslgm','>=',0,'numel',1);
@@ -139,6 +143,6 @@
 			WriteData(fid,'object',self,'class','surfaceforcings','fieldname','ismungsm','format','Boolean');
 			WriteData(fid,'object',self,'class','surfaceforcings','fieldname','desfac','format','Double');
-			WriteData(fid,'object',self,'class','surfaceforcings','fieldname','s0p','format','Double');
-			WriteData(fid,'object',self,'class','surfaceforcings','fieldname','s0t','format','Double');
+			WriteData(fid,'object',self,'class','surfaceforcings','fieldname','s0p','format','DoubleMat','mattype',1);
+			WriteData(fid,'object',self,'class','surfaceforcings','fieldname','s0t','format','DoubleMat','mattype',1);
 			WriteData(fid,'object',self,'class','surfaceforcings','fieldname','rlaps','format','Double');
 			WriteData(fid,'object',self,'class','surfaceforcings','fieldname','rlapslgm','format','Double');
Index: /issm/trunk-jpl/src/m/classes/SMBpdd.py
===================================================================
--- /issm/trunk-jpl/src/m/classes/SMBpdd.py	(revision 19308)
+++ /issm/trunk-jpl/src/m/classes/SMBpdd.py	(revision 19309)
@@ -18,6 +18,6 @@
 		self.monthlytemperatures       = float('NaN')
 		self.desfac                    = 0.
-		self.s0p                       = 0.
-		self.s0t                       = 0.
+		self.s0p                       = float('NaN')
+		self.s0t                       = float('NaN')
 		self.rlaps                     = 0.
 		self.rlapslgm                  = 0.
@@ -67,6 +67,7 @@
 				string="%s\n%s"%(string,fielddisplay(self,'Tdiff','time interpolation parameter for temperature, 1D(year), required if mungsm is activated'))
 				string="%s\n%s"%(string,fielddisplay(self,'sealev','sea level [m], 1D(year), required if mungsm is activated'))
+				
 		return string
-		#}}}
+	# }}}
 	def extrude(self,md): # {{{
 
@@ -82,13 +83,20 @@
 		if self.ismungsm: self.precipitations_presentday=project3d(md,'vector',self.precipitations_presentday,'type','node')
 		if self.ismungsm: self.precipitations_lgm=project3d(md,'vector',self.precipitations_lgm,'type','node')
+		self.s0p=project3d(md,'vector',self.s0p,'type','node')
+		self.s0t=project3d(md,'vector',self.s0t,'type','node')
+
 		return self
 	#}}}
 	def initialize(self,md): # {{{
 
-		# if numpy.all(numpy.isnan(self.precipitation)):
-		# 	self.precipitation=numpy.zeros((md.mesh.numberofvertices,1))
-		# 	print "      no SMBpdd.precipitation specified: values set as zero"
-		# 
-		 return self
+		if numpy.all(numpy.isnan(self.s0p)):
+			self.s0p=numpy.zeros((md.mesh.numberofvertices,1))
+			print "      no SMBpdd.s0p specified: values set as zero"
+
+		if numpy.all(numpy.isnan(self.s0t)):
+			self.s0t=numpy.zeros((md.mesh.numberofvertices,1))
+			print "      no SMBpdd.s0t specified: values set as zero"
+
+		return self
 	#}}}
 	def setdefaultparameters(self): # {{{
@@ -98,6 +106,4 @@
 		self.ismungsm   = 0
 		self.desfac     = 0.5
-		self.s0p        = 0.
-		self.s0t        = 0.
 		self.rlaps      = 6.5 
 		self.rlapslgm   = 6.5
@@ -109,6 +115,6 @@
 		if MasstransportAnalysisEnum() in analyses:
 			md = checkfield(md,'fieldname','surfaceforcings.desfac','<=',1,'numel',[1])
-			md = checkfield(md,'fieldname','surfaceforcings.s0p','>=',0,'numel',[1])
-			md = checkfield(md,'fieldname','surfaceforcings.s0t','>=',0,'numel',[1])
+			md = checkfield(md,'fieldname','surfaceforcings.s0p','>=',0,'NaN',1,'size',[md.mesh.numberofvertices,1])
+			md = checkfield(md,'fieldname','surfaceforcings.s0t','>=',0,'NaN',1,'size',[md.mesh.numberofvertices,1])
 			md = checkfield(md,'fieldname','surfaceforcings.rlaps','>=',0,'numel',[1])
 			md = checkfield(md,'fieldname','surfaceforcings.rlapslgm','>=',0,'numel',[1])
@@ -136,5 +142,5 @@
 
 		return md
-	# }}}
+	#}}}
 	def marshall(self,md,fid):    # {{{
 
@@ -146,6 +152,6 @@
 		WriteData(fid,'object',self,'class','surfaceforcings','fieldname','ismungsm','format','Boolean')
 		WriteData(fid,'object',self,'class','surfaceforcings','fieldname','desfac','format','Double')
-		WriteData(fid,'object',self,'class','surfaceforcings','fieldname','s0p','format','Double')
-		WriteData(fid,'object',self,'class','surfaceforcings','fieldname','s0t','format','Double')
+		WriteData(fid,'object',self,'class','surfaceforcings','fieldname','s0p','format','DoubleMat','mattype',1);
+		WriteData(fid,'object',self,'class','surfaceforcings','fieldname','s0t','format','DoubleMat','mattype',1);
 		WriteData(fid,'object',self,'class','surfaceforcings','fieldname','rlaps','format','Double')
 		WriteData(fid,'object',self,'class','surfaceforcings','fieldname','rlapslgm','format','Double')
