Index: /issm/trunk-jpl/src/m/classes/calving.py
===================================================================
--- /issm/trunk-jpl/src/m/classes/calving.py	(revision 18765)
+++ /issm/trunk-jpl/src/m/classes/calving.py	(revision 18766)
@@ -26,9 +26,4 @@
 		return string
 		#}}}
-	def defaultoutputs(self,md): # {{{
-
-		return []
-
-	#}}}
 	def setdefaultparameters(self): # {{{
 
Index: /issm/trunk-jpl/src/m/classes/calvinglevermann.m
===================================================================
--- /issm/trunk-jpl/src/m/classes/calvinglevermann.m	(revision 18765)
+++ /issm/trunk-jpl/src/m/classes/calvinglevermann.m	(revision 18766)
@@ -6,5 +6,5 @@
 classdef calvinglevermann
 	properties (SetAccess=public) 
-		 coeff                  = 0;
+		 coeff = NaN;
 	end
 	methods
@@ -37,5 +37,5 @@
 		end % }}}
 		function disp(obj) % {{{
-			disp(sprintf('   Calving parameters:'));
+			disp(sprintf('   Calving Levermann parameters:'));
 			fielddisplay(obj,'coeff','proportionality coefficient in Levermann model');
 
Index: /issm/trunk-jpl/src/m/classes/calvinglevermann.py
===================================================================
--- /issm/trunk-jpl/src/m/classes/calvinglevermann.py	(revision 18766)
+++ /issm/trunk-jpl/src/m/classes/calvinglevermann.py	(revision 18766)
@@ -0,0 +1,45 @@
+from fielddisplay import fielddisplay
+from EnumDefinitions import *
+from StringToEnum import StringToEnum
+from checkfield import checkfield
+from WriteData import WriteData
+
+class calvinglevermann(object):
+	"""
+	CALVINGLEVERMANN class definition
+
+	   Usage:
+	      calvinglevermann=calvinglevermann();
+	"""
+
+	def __init__(self): # {{{
+		self.coeff = float('NaN')
+
+		#set defaults
+		self.setdefaultparameters()
+
+		#}}}
+	def __repr__(self): # {{{
+		string='   Calving Levermann parameters:'
+		string="%s\n%s"%(string,fielddisplay(self,'coeff','proportionality coefficient in Levermann model'))
+
+		return string
+		#}}}
+	def setdefaultparameters(self): # {{{
+
+		#Proportionality coefficient in Levermann model
+		self.coeff=2e13;
+	#}}}
+	def checkconsistency(self,md,solution,analyses):    # {{{
+
+		#Early return
+		if (solution!=TransientSolutionEnum()) or (not md.transient.iscalvinglevermann):
+			return md
+
+		md = checkfield(md,'fieldname','calving.coeff','NaN',1,'size',[md.mesh.numberofvertices],'>',0)
+		return md
+	# }}}
+	def marshall(self,md,fid):    # {{{
+		WriteData(fid,'enum',CalvingLawEnum(),'data',CalvingLevermannEnum(),'format','Integer');
+		WriteData(fid,'enum',CalvinglevermannCoeffEnum(),'data',self.coeff,'format','DoubleMat','mattype',1)
+	# }}}
Index: /issm/trunk-jpl/src/m/classes/model.py
===================================================================
--- /issm/trunk-jpl/src/m/classes/model.py	(revision 18765)
+++ /issm/trunk-jpl/src/m/classes/model.py	(revision 18766)
@@ -16,4 +16,5 @@
 from matice import matice
 from calving import calving
+from calvinglevermann import calvinglevermann
 from damage import damage
 from friction import friction
@@ -664,7 +665,7 @@
 
 		# Calving variables
-		if hasattr(md.calving,'calving'):
+		if isinstance(md.calving,calving):
 			md.calving.calvingrate=project3d(md,'vector',md.calving.calvingrate,'type','node')
-		if hasattr(md.calving,'calvinglevermann'):
+		if isinstance(md.calving,calvinglevermann):
 			md.calving.coeff=project3d(md,'vector',md.calving.coeff,'type','node')
 
