Index: /issm/trunk/src/m/classes/clusters/generic.m
===================================================================
--- /issm/trunk/src/m/classes/clusters/generic.m	(revision 8582)
+++ /issm/trunk/src/m/classes/clusters/generic.m	(revision 8583)
@@ -9,5 +9,5 @@
     properties (SetAccess=public) 
 		 % {{{1
-		 name='generic';
+		 name=oshostname();
 		 login='';
 		 np=feature('numcores');
@@ -25,6 +25,5 @@
 		 
 			 %initialize cluster using user settings if provided
-			 cluster.name=oshostname();
-			 if (exist([cluster.name '_settings'])==2), generic_settings; end
+			 if (exist([cluster.name '_settings'])==2), eval([cluster.name '_settings']); end
 
 			 %use provided options to change fields
Index: /issm/trunk/src/m/utils/Miscellaneous/netcdf2struct.m
===================================================================
--- /issm/trunk/src/m/utils/Miscellaneous/netcdf2struct.m	(revision 8583)
+++ /issm/trunk/src/m/utils/Miscellaneous/netcdf2struct.m	(revision 8583)
@@ -0,0 +1,27 @@
+function S=netcdf2struct(File)
+%NETCDF2STRUCT - load netcdf file and convert to a matlab structure
+%
+%   Usage:
+%      S=netcdf2struct(File);
+
+%Read netcdf file
+data=netcdf(File);
+
+%initialize output
+S=struct();
+
+%All the variables are in VarArray field
+variables=data.VarArray;
+for i=1:size(variables,2),
+	fieldname=deblank(variables(i).Str);
+	fieldvalue=double(squeeze(variables(i).Data));
+	S.(fieldname)=fieldvalue;
+end
+
+%All the variables are in AttArray field
+variables=data.AttArray;
+for i=1:size(variables,2),
+	fieldname=deblank(variables(i).Str);
+	fieldvalue=double(variables(i).Val);
+	S.(fieldname)=fieldvalue;
+end
