Index: /issm/trunk-jpl/src/m/contrib/defleurian/netCDF/export_netCDF.py
===================================================================
--- /issm/trunk-jpl/src/m/contrib/defleurian/netCDF/export_netCDF.py	(revision 21256)
+++ /issm/trunk-jpl/src/m/contrib/defleurian/netCDF/export_netCDF.py	(revision 21257)
@@ -94,5 +94,4 @@
 				DimDict=CreateVar(NCData,Var,field,NCgroup,DimDict,False)
 			else:
-				print('treating {}.{} of type {}'.format(group,field,type(md.__dict__[group].__dict__[field])))
 				NCgroup.__setattr__('classtype', str(group))
 				Subgroup=NCgroup.createGroup(str(field))
@@ -126,6 +125,6 @@
 							'int64':'i8',
 							numpy.int64:'i8',
-							str:'str',
-							dict:'str'}
+							str:str,
+							dict:str}
 		
 	val_dim=np.shape(val_shape)[0]
@@ -133,5 +132,5 @@
 	#treating scalar string or bool as atribute
 	if val_type==str or val_type==unicode or val_type==bool:
-		Group.__setattr__(str(field), str(var))
+		Group.__setattr__(str(field).capitalize(), str(var))
 	#treating list as string table
 	elif val_type==list:
@@ -141,5 +140,5 @@
 			nctype=TypeDict[type(var[0])]
 		except IndexError:
-			nctype='str' #most probably an empty list take str for that
+			nctype=str #most probably an empty list take str for that
 		ncvar = Group.createVariable(str(field),nctype,dimensions,zlib=True)
 		if val_shape==0:
@@ -151,5 +150,5 @@
 	elif val_type=='bool':
 		dimensions,DimDict=GetDim(NCData,var,val_shape,DimDict,val_dim,istime)
-		ncvar = Group.createVariable(str(field),'str',dimensions,zlib=True)
+		ncvar = Group.createVariable(str(field),str,dimensions,zlib=True)
 		for elt in range(0,val_shape[0]):
 			ncvar[elt] = str(var[elt])
@@ -157,5 +156,5 @@
 	elif val_type==collections.OrderedDict or val_type==dict:
 		dimensions,DimDict=GetDim(NCData,var,val_shape,DimDict,val_dim,istime)
-		ncvar = Group.createVariable(str(field),'str',dimensions,zlib=True)
+		ncvar = Group.createVariable(str(field),str,dimensions,zlib=True)
 		for elt in range(0,val_dim):
 			ncvar[elt,0]=dict.keys(var)[elt]
Index: /issm/trunk-jpl/src/m/io/loadvars.py
===================================================================
--- /issm/trunk-jpl/src/m/io/loadvars.py	(revision 21256)
+++ /issm/trunk-jpl/src/m/io/loadvars.py	(revision 21257)
@@ -189,13 +189,13 @@
 							t=indexlist[i]
 							if listtype=='dict':
-								Tree[t][str(attr)]=str(listclass.getncattr(attr))
-							else:
-								Tree[t].__dict__[str(attr)]=str(listclass.getncattr(attr))
+								Tree[t][str(attr).lower()]=str(listclass.getncattr(attr))
+							else:
+								Tree[t].__dict__[str(attr).lower()]=str(listclass.getncattr(attr))
 						else:
-							Tree.__dict__[str(attr)]=str(listclass.getncattr(attr))
+							Tree.__dict__[str(attr).lower()]=str(listclass.getncattr(attr))
 							if listclass.getncattr(attr)=='True':
-								Tree.__dict__[str(attr)]=True
+								Tree.__dict__[str(attr).lower()]=True
 							elif listclass.getncattr(attr)=='False':
-								Tree.__dict__[str(attr)]=False
+								Tree.__dict__[str(attr).lower()]=False
 		NCFile.close()
 	if   len(args) >= 2 and isinstance(args[1],(str,unicode)):    # (value)
@@ -227,9 +227,11 @@
 		else:
 			classe=str(group)
-			class_dict[classe]=[str(getattr(NCData.groups[group],'classtype')),]
-			if class_dict[classe][0] not in ['dict','list']:
-				class_dict[classe].append(__import__(class_dict[classe][0]))
-			class_tree[classe]=[group,]
-	
+			try:
+				class_dict[classe]=[str(getattr(NCData.groups[group],'classtype')),]
+				if class_dict[classe][0] not in ['dict','list']:
+					class_dict[classe].append(__import__(class_dict[classe][0]))
+					class_tree[classe]=[group,]
+			except AttributeError:
+				print('group {} is empty'.format(group))
 	NCData.close()
 	return class_dict,class_tree
