Index: /issm/trunk/src/m/model/extrude.m
===================================================================
--- /issm/trunk/src/m/model/extrude.m	(revision 8312)
+++ /issm/trunk/src/m/model/extrude.m	(revision 8313)
@@ -153,4 +153,5 @@
 md.dhdt=project3d(md,md.dhdt,'node');
 md.firn_layer=project3d(md,md.firn_layer,'node',md.numlayers);
+md.forcing_accumulation=[project3d(md,md.forcing_accumulation(1:end-1,:),'node');md.forcing_accumulation(end,:)];
 
 %results
Index: /issm/trunk/src/m/model/ismodelselfconsistent.m
===================================================================
--- /issm/trunk/src/m/model/ismodelselfconsistent.m	(revision 8312)
+++ /issm/trunk/src/m/model/ismodelselfconsistent.m	(revision 8313)
@@ -91,5 +91,5 @@
 checksize(md,fields,[md.numberofelements 1]);
 %}}}
-%SIZE NUMBEROFGRIDS {{{1
+%SIZE NUMBEROFNODES {{{1
 fields={'x','y','z','rheology_B','drag_coefficient','melting_rate','accumulation_rate','surface','thickness','bed','nodeonbed','nodeonsurface'};
 checksize(md,fields,[md.numberofnodes 1]);
@@ -277,4 +277,19 @@
 		error(['model not consistent: model ' md.name ' cfl_coefficient field should between  0 and 1']);
 	end
+
+	if(md.cfl_coefficient>1 | md.cfl_coefficient<0),
+		error(['model not consistent: model ' md.name ' cfl_coefficient field should between  0 and 1']);
+	end
+
+	%Check that forcing has length numberofnodes+1
+	fields={'forcing_accumulation'};
+	checklength(md,fields,md.numberofnodes+1)
+
+	%Check that forcing columns are properly ordered
+	if md.forcing_accumulation(end,:)~=sort(md.forcing_accumulation(end,:)),
+		error(['model not consistent: model ' md.name ' forcing_accumulation field columns should be chronological']);
+	end
+
+
 end
 %}}}
Index: /issm/trunk/src/m/model/marshall.m
===================================================================
--- /issm/trunk/src/m/model/marshall.m	(revision 8312)
+++ /issm/trunk/src/m/model/marshall.m	(revision 8313)
@@ -93,4 +93,5 @@
 WriteData(fid,md.melting_rate,'Mat','melting_rate');
 WriteData(fid,md.melting_rate_correction_apply,'Integer','melting_rate_correction_apply');
+WriteData(fid,md.forcing_accumulation,'Mat','forcing_accumulation');
 if md.melting_rate_correction_apply,
 	WriteData(fid,md.melting_rate_correction,'Mat','melting_rate_correction');
