Index: /issm/trunk/src/m/classes/model.m
===================================================================
--- /issm/trunk/src/m/classes/model.m	(revision 9266)
+++ /issm/trunk/src/m/classes/model.m	(revision 9267)
@@ -269,5 +269,5 @@
 		 pressure                            = {NaN,true,'DoubleMat',1};
 		 %Hydrology
-		 watercolumn                         = {NaN,true,'Double'};
+		 watercolumn                         = {NaN,true,'DoubleMat',1};
 		 hydro_n                             = {0,true,'Double'};
 		 hydro_CR                            = {0,true,'Double'};
Index: /issm/trunk/src/m/model/WriteData.m
===================================================================
--- /issm/trunk/src/m/model/WriteData.m	(revision 9266)
+++ /issm/trunk/src/m/model/WriteData.m	(revision 9267)
@@ -22,4 +22,6 @@
 %Now, write the data itself.
 if     strcmpi(data_type,'Boolean'),% {{{
+	if(numel(data)~=1), error(['field ' field ' cannot be marshalled as it has more than one element!']); end
+
 	%first write length of record
 	fwrite(fid,1+4,'int');  %1 bool+code
@@ -32,4 +34,6 @@
 	% }}}
 elseif strcmpi(data_type,'Integer'), % {{{
+	if(numel(data)~=1), error(['field ' field ' cannot be marshalled as it has more than one element!']); end
+
 	%first write length of record
 	fwrite(fid,4+4,'int');  %1 integer + code
@@ -42,4 +46,6 @@
 	% }}}
 elseif strcmpi(data_type,'Double'), % {{{
+	if(numel(data)~=1), error(['field ' field ' cannot be marshalled as it has more than one element!']); end
+
 	%first write length of record
 	fwrite(fid,8+4,'int');  %1 double+code
Index: /issm/trunk/src/m/model/ismodelselfconsistent.m
===================================================================
--- /issm/trunk/src/m/model/ismodelselfconsistent.m	(revision 9266)
+++ /issm/trunk/src/m/model/ismodelselfconsistent.m	(revision 9267)
@@ -480,5 +480,5 @@
 			% {{{2
 			fields={'spcwatercolumn'};
-			checksize(md,fields,[md.numberofnodes 2]);
+			checkforcing(md,fields);
 			fields={'watercolumn'};
 			checksize(md,fields,[md.numberofnodes 1]);
@@ -726,15 +726,15 @@
 		if size(field,1)==md.numberofnodes,
 			if ~size(field,2)==1,
-				message(['model not consistent: model ' md.name ': ' fieldname ' should have only one column as there are md.numberofnodes lines']);
+				message(['model not consistent: model ' md.name ': ' fields{i} ' should have only one column as there are md.numberofnodes lines']);
 			end
 		elseif size(field,1)==md.numberofnodes+1
 			if any(field(end,:)~=sort(field(end,:))),
-				message(['model not consistent: model ' md.name ': ' fieldname ' columns should be chronological']);
+				message(['model not consistent: model ' md.name ': ' fields{i} ' columns should be chronological']);
 			end
 			if any(field(end,1:end-1)==field(end,2:end)),
-				message(['model not consistent: model ' md.name ': ' fieldname ' columns must not contain duplicate timesteps']);
+				message(['model not consistent: model ' md.name ': ' fields{i} ' columns must not contain duplicate timesteps']);
 			end
 		else
-			message(['model not consistent: model ' md.name ': ' fieldname ' should have md.numberofnodes or md.numberofnodes+1 lines']);
+			message(['model not consistent: model ' md.name ': ' fields{i} ' should have md.numberofnodes or md.numberofnodes+1 lines']);
 		end
 	end
