Index: /issm/trunk-jpl/src/m/classes/levelset.m
===================================================================
--- /issm/trunk-jpl/src/m/classes/levelset.m	(revision 23169)
+++ /issm/trunk-jpl/src/m/classes/levelset.m	(revision 23170)
@@ -10,4 +10,5 @@
 		reinit_frequency	= 5;
 		calving_max       = 0.;
+		fe                = 'P1';
 	end
 	methods
@@ -41,4 +42,7 @@
 			self.calving_max      = 3000.;
 
+			%Linear elements by default
+			self.fe='P1';
+
 		end % }}}
 		function md = checkconsistency(self,md,solution,analyses) % {{{
@@ -49,4 +53,5 @@
 			md = checkfield(md,'fieldname','levelset.stabilization','values',[0 1 2]);
 			md = checkfield(md,'fieldname','levelset.calving_max','numel',1,'NaN',1,'Inf',1,'>',0);
+			md = checkfield(md,'fieldname','levelset.fe','values',{'P1','P2'});
 		end % }}}
 		function disp(self) % {{{
@@ -56,4 +61,5 @@
 			fielddisplay(self,'reinit_frequency','Amount of time steps after which the levelset function in re-initialized');
 			fielddisplay(self,'calving_max','maximum allowed calving rate (m/a)');
+			fielddisplay(self,'fe','Finite Element type: ''P1'' (default), or ''P2''');
 		end % }}}
 		function marshall(self,prefix,md,fid) % {{{
@@ -65,4 +71,5 @@
 			WriteData(fid,prefix,'object',self,'fieldname','reinit_frequency','format','Integer');
 			WriteData(fid,prefix,'object',self,'fieldname','calving_max','format','Double','scale',1./yts);
+			WriteData(fid,prefix,'object',self,'fieldname','fe','format','String');
 		end % }}}
 		function savemodeljs(self,fid,modelname) % {{{
Index: /issm/trunk-jpl/src/m/classes/levelset.py
===================================================================
--- /issm/trunk-jpl/src/m/classes/levelset.py	(revision 23169)
+++ /issm/trunk-jpl/src/m/classes/levelset.py	(revision 23170)
@@ -18,4 +18,5 @@
 		self.reinit_frequency = 0
 		self.calving_max      = 0.
+                self.fe               = 'P1'
 
 		#set defaults
@@ -29,4 +30,5 @@
 		string="%s\n%s"%(string,fielddisplay(self,'reinit_frequency','Amount of time steps after which the levelset function in re-initialized'))
 		string="%s\n%s"%(string,fielddisplay(self,'calving_max','maximum allowed calving rate (m/a)'))
+                string="%s\n%s"%(string,fielddisplay(self,'fe','Finite Element type: ''P1'' (default), or ''P2'''))
 
 		return string
@@ -41,5 +43,8 @@
 		self.stabilization = 1
 		self.reinit_frequency = 5
-		self.calving_max      = 3000
+		self.calving_max      = 3000.
+
+                #Linear elements by default
+                self.fe='P1'
 
 		return self
@@ -54,4 +59,5 @@
 		md = checkfield(md,'fieldname','levelset.stabilization','values',[0,1,2]);
 		md = checkfield(md,'fieldname','levelset.calving_max','NaN',1,'Inf',1,'>',0);
+                md = checkfield(md,'fieldname','levelset.fe','values',['P1','P2']);
 
 		return md
@@ -65,3 +71,4 @@
 		WriteData(fid,prefix,'object',self,'fieldname','reinit_frequency','format','Integer');
 		WriteData(fid,prefix,'object',self,'fieldname','calving_max','format','Double','scale',1./yts);
+                WriteData(fid,prefix,'object',self,'fieldname','fe','format','String');
 	# }}}
Index: /issm/trunk-jpl/src/m/classes/thermal.py
===================================================================
--- /issm/trunk-jpl/src/m/classes/thermal.py	(revision 23169)
+++ /issm/trunk-jpl/src/m/classes/thermal.py	(revision 23170)
@@ -22,6 +22,6 @@
 		self.penalty_factor    = 0
 		self.isenthalpy        = 0
-		self.isdynamicbasalspc = 0;
-		self.fe                = 'P1';
+		self.isdynamicbasalspc = 0
+		self.fe                = 'P1'
 		self.requested_outputs = []
 
