Index: /issm/trunk-jpl/src/m/classes/surfaceforcings.m
===================================================================
--- /issm/trunk-jpl/src/m/classes/surfaceforcings.m	(revision 14763)
+++ /issm/trunk-jpl/src/m/classes/surfaceforcings.m	(revision 14764)
@@ -48,6 +48,6 @@
 				md = checkfield(md,'surfaceforcings.issmbgradients','numel',[1],'values',[0 1]);
 				if(obj.ispdd)
-				  md = checkfield(md,'surfaceforcings.desfac','<=',1);
-				  md = checkfield(md,'surfaceforcings.s0p','>=',0);
+				  md = checkfield(md,'surfaceforcings.desfac','<=',1,'numel',1);
+				  md = checkfield(md,'surfaceforcings.s0p','>=',0,'numel',1);
 					if(obj.isdelta18o==0)
 						md = checkfield(md,'surfaceforcings.monthlytemperatures','forcing',1,'NaN',1);
Index: /issm/trunk-jpl/src/m/classes/surfaceforcings.py
===================================================================
--- /issm/trunk-jpl/src/m/classes/surfaceforcings.py	(revision 14763)
+++ /issm/trunk-jpl/src/m/classes/surfaceforcings.py	(revision 14764)
@@ -28,4 +28,6 @@
 		self.temperatures_lgm          = float('NaN')
 		self.precipitations_presentday = float('NaN')
+		self.desfac                    = 0.
+		self.s0p                       = 0.
 
 		#set defaults
@@ -39,5 +41,7 @@
 		string="%s\n%s"%(string,fielddisplay(self,'mass_balance','surface mass balance [m/yr ice eq]'))
 		string="%s\n%s"%(string,fielddisplay(self,'ispdd','is pdd activated (0 or 1, default is 0)'))
+		string="%s\n%s"%(string,fielddisplay(self,'desfac','desertification elevation factor (between 0 and 1, default is 0.5) [m]'))
 		string="%s\n%s"%(string,fielddisplay(self,'isdelta18o','is temperature and precipitation delta18o parametrisation activated (0 or 1, default is 0)'))
+		string="%s\n%s"%(string,fielddisplay(self,'s0p','should be set to elevation from precip source (between 0 and a few 1000s m, default is 0) [m]'))
 		string="%s\n%s"%(string,fielddisplay(self,'monthlytemperatures','monthly surface temperatures [K], required if pdd is activated and delta18o not activated'))
 		string="%s\n%s"%(string,fielddisplay(self,'precipitation','surface precipitation [m/yr water eq]'))
@@ -61,4 +65,6 @@
 		self.issmbgradients=0
 		self.isdelta18o=0
+		self.desfac=0.5
+		self.s0p=0.
 
 		return self
@@ -70,4 +76,6 @@
 			md = checkfield(md,'surfaceforcings.issmbgradients','numel',[1],'values',[0,1])
 			if   self.ispdd:
+				md = checkfield(md,'surfaceforcings.desfac','<=',1,'numel',[1]);
+				md = checkfield(md,'surfaceforcings.s0p','>=',0,'numel',[1]);
 				if not self.isdelta18o:
 					md = checkfield(md,'surfaceforcings.monthlytemperatures','forcing',1,'NaN',1)
@@ -99,4 +107,6 @@
 
 		if self.ispdd:
+			WriteData(fid,'object',self,'fieldname','desfac','format','Double');
+			WriteData(fid,'object',self,'fieldname','s0p','format','Double');
 			if self.isdelta18o:
 				WriteData(fid,'object',self,'fieldname','temperatures_presentday','format','DoubleMat','mattype',1)
