Index: /issm/trunk-jpl/src/m/classes/calving.py
===================================================================
--- /issm/trunk-jpl/src/m/classes/calving.py	(revision 25843)
+++ /issm/trunk-jpl/src/m/classes/calving.py	(revision 25844)
@@ -16,20 +16,19 @@
     def __init__(self):  # {{{
         self.calvingrate = np.nan
-        self.setdefaultparameters()
-
+        #self.setdefaultparameters() # Uncomment if/when setdefaultparameters is used
     #}}}
 
     def __repr__(self):  # {{{
         s = '   Calving parameters:'
-        s += '{}\n'.format(fielddisplay(self, 'calvingrate', 'calving rate at given location [m / a]'))
+        s += '{}\n'.format(fielddisplay(self, 'calvingrate', 'calving rate at given location [m/a]'))
         return s
+    #}}}
+
+    def setdefaultparameters(self):  # {{{
+        return self
     #}}}
 
     def extrude(self, md):  # {{{
         self.calvingrate = project3d(md, 'vector', self.calvingrate, 'type', 'node')
-        return self
-    #}}}
-
-    def setdefaultparameters(self):  # {{{
         return self
     #}}}
Index: /issm/trunk-jpl/src/m/classes/calvingcrevassedepth.py
===================================================================
--- /issm/trunk-jpl/src/m/classes/calvingcrevassedepth.py	(revision 25844)
+++ /issm/trunk-jpl/src/m/classes/calvingcrevassedepth.py	(revision 25844)
@@ -0,0 +1,52 @@
+from checkfield import checkfield
+from fielddisplay import fielddisplay
+#from project3d import project3d # Uncomment if/when extrude is implemented
+from WriteData import WriteData
+
+
+class calvingcrevassedepth(object):
+    """CALVINCREVASSEDEPTH class definition
+
+    Usage:
+        calvingcrevassedepth = calvingcrevassedepth()
+    """
+
+    def __init__(self):  # {{{
+        self.crevasse_opening_stress = 1
+        self.water_height = 0
+
+        #self.setdefaultparameters() # Uncomment if/when setdefaultparameters is used
+    #}}}
+
+    def __repr__(self):  # {{{
+        s = '   Calving Pi parameters:'
+        s += '{}\n'.format(fielddisplay(self, 'crevasse_opening_stress', '0: stress only in the ice-flow direction, 1: max principal'))
+        s += '{}\n'.format(fielddisplay(self, 'water_height', 'water height in the crevasse [m]'))
+        return s
+    #}}}
+
+    def setdefaultparameters(self):  # {{{
+        return self
+    #}}}
+
+    def extrude(self, md):  # {{{
+        return self
+    #}}}
+
+    def checkconsistency(self, md, solution, analyses):  # {{{
+        #Early return
+        if solution != 'TransientSolution' or not md.transient.ismovingfront:
+            return md
+
+        md = checkfield(md, 'fieldname', 'calving.crevasse_opening_stress', 'numel', [1], 'values', [0,1])
+        md = checkfield(md, 'fieldname', 'calving.water_height', 'NaN', 1, 'Inf', 1, 'timeseries', 1, '>=', 0) 
+
+        return md
+    # }}}
+
+    def marshall(self, prefix, md, fid):  # {{{
+        yts = md.constants.yts
+        WriteData(fid, prefix, 'name', 'md.calving.law', 'data', 6, 'format', 'Integer')
+        WriteData(fid, prefix, 'object', self, 'fieldname', 'crevasse_opening_stress', 'format', 'Integer')
+        WriteData(fid, prefix, 'object', self, 'fieldname', 'water_height', 'format', 'DoubleMat', 'mattype', 1, 'timeserieslength', md.mesh.numberofvertices + 1, 'yts', md.constants.yts)
+    # }}}
