Index: ../trunk-jpl/src/m/classes/calving.py
===================================================================
--- ../trunk-jpl/src/m/classes/calving.py	(revision 18954)
+++ ../trunk-jpl/src/m/classes/calving.py	(revision 18955)
@@ -37,8 +37,9 @@
 		if (solution!=TransientSolutionEnum()) or (not md.transient.iscalving):
 			return md
 
-		md = checkfield(md,'fieldname','calving.calvingrate','NaN',1,'size',[md.mesh.numberofvertices],'>=',0)
-		md = checkfield(md,'fieldname','calving.meltingrate','NaN',1,'size',[md.mesh.numberofvertices],'>=',0)
+		md = checkfield(md,'fieldname','calving.calvingrate[1:md.mesh.numberofvertices,:]','>=',0,'forcing',1,'NaN',1);
+		md = checkfield(md,'fieldname','calving.meltingrate[1:md.mesh.numberofvertices,:]','>=',0,'forcing',1,'NaN',1);
+
 		return md
 	# }}}
 	def marshall(self,md,fid):    # {{{
Index: ../trunk-jpl/src/m/classes/calving.m
===================================================================
--- ../trunk-jpl/src/m/classes/calving.m	(revision 18954)
+++ ../trunk-jpl/src/m/classes/calving.m	(revision 18955)
@@ -59,8 +59,8 @@
 		function md = checkconsistency(obj,md,solution,analyses) % {{{
 			%Early return
 			if (solution~=TransientSolutionEnum() | md.transient.iscalving==0), return; end
-			md = checkfield(md,'fieldname','calving.calvingrate','NaN',1,'size',[md.mesh.numberofvertices 1],'>=',0);
-			md = checkfield(md,'fieldname','calving.meltingrate','NaN',1,'size',[md.mesh.numberofvertices 1],'>=',0);
+			md = checkfield(md,'fieldname','calving.calvingrate(1:md.mesh.numberofvertices,:)','>=',0,'forcing',1,'NaN',1);
+			md = checkfield(md,'fieldname','calving.meltingrate(1:md.mesh.numberofvertices,:)','>=',0,'forcing',1,'NaN',1);
 		end % }}}
 		function disp(obj) % {{{
 			disp(sprintf('   Calving parameters:'));
