Index: /issm/trunk-jpl/src/m/contrib/defleurian/netCDF/read_netCDF.m
===================================================================
--- /issm/trunk-jpl/src/m/contrib/defleurian/netCDF/read_netCDF.m	(revision 21654)
+++ /issm/trunk-jpl/src/m/contrib/defleurian/netCDF/read_netCDF.m	(revision 21655)
@@ -1,9 +1,9 @@
 function self=read_netCDF(filename)
 
-% Different types in the netcdf standard are:
-%   2 for char
-%   4 for integer
-%   6 for doubles	
-	
+	% Different types in the netcdf standard are:
+	%   2 for char
+	%   4 for integer
+	%   6 for doubles	
+
 	ncid=netcdf.open(filename,'NC_NOWRITE');
 	groupIDs=netcdf.inqGrps(ncid);%retrieve group IDs
@@ -30,5 +30,5 @@
 					%classtype have done is job, no need to keep it any more
 					if ~strcmp(attname,'classtype'),
-						attval=netcdf.getAtt(subgroupIDs(i),netcdf.getConstant('NC_GLOBAL'),attname);
+						attval=netcdf.getAtt(subgroupIDs(j),netcdf.getConstant('NC_GLOBAL'),attname);
 						if strcmp(attval,'False'),
 							self.(groupName).(subclass).(attname)=false;
@@ -37,8 +37,9 @@
 						else
 							self.(groupName).(subclass).(attname)=attval;
-			      end
-		      end
-		    end
+						end
+					end
+				end
 				%now loop on variable in group
+				count=0;
 				for k=1:length(varIDs),
 					[varname, xtype, varDimIDs, varAtts] =netcdf.inqVar(subgroupIDs(j),varIDs(k));
@@ -48,5 +49,5 @@
 						[dimname, dimlen] = netcdf.inqDim(ncid,varDimIDs(l));
 						count(l)=[dimlen];
-		      end
+					end
 					startpoint=zeros(size(varDimIDs));
 					timestep=count(end);
@@ -59,33 +60,8 @@
 						self.(groupName).(subclass)(l).('outlog')='';
 						self.(groupName).(subclass)(l).('SolutionType')=subclass;
-		     end
-				 clear count
-		    end
-	    end
-			%toolkits too require a specific treatment
-		elseif strcmp(whichclass,'toolkits'),
-			%just one variable here
-			varID=netcdf.inqVarIDs(groupIDs(i));
-			[varname, xtype, varDimIDs, varAtts] =netcdf.inqVar(groupIDs(i),varID);
-			disp(sprintf('In %s, Treating variable %s of type %i',whichclass,varname,xtype));
-			[dimname,numoffields] = netcdf.inqDim(ncid,varDimIDs(end));
-			self.(groupName)=eval(whichclass);
-			for j=1:numoffields,
-				varval=netcdf.getVar(groupIDs(i),varID,[0,1,j-1],[40,1,1])';
-				fieldname=netcdf.getVar(groupIDs(i),varID,[0,0,j-1],[40,1,1])';
-				varval=cellstr(varval);
-				fieldname=cellstr(fieldname);
-				[val, status]=str2num(varval{1});
-				if strcmp(varval{1},'false') |strcmp(varval{1},'true')  ,
-					status=0;
-		    end
-				if status==1,
-					self.(groupName).(varname).(fieldname{1})=val;
-				else
-					self.(groupName).(varname).(fieldname{1})=varval{1};
-			 end
-	   end
-			%Now for the other fields
-
+					end
+					count=0;
+				end
+			end
 		else,
 			%define the model structure
@@ -106,8 +82,8 @@
 						self.(groupName).(attname)=true;
 					else
-					self.(groupName).(attname)=attval;
-		    end
-		  end
-	  end
+						self.(groupName).(attname)=attval;
+					end
+				end
+			end
 			%now loop on variable in group
 			for j=1:length(varIDs),
@@ -127,8 +103,8 @@
 				else
 					self.(groupName).(varname)=netcdf.getVar(groupIDs(i),varIDs(j));
-		    end
-		  end
-	  end
-  end
+				end
+			end
+		end
+	end
 	netcdf.close(ncid)
 end
