Index: /issm/trunk-jpl/src/m/contrib/defleurian/netCDF/export_netCDF.py
===================================================================
--- /issm/trunk-jpl/src/m/contrib/defleurian/netCDF/export_netCDF.py	(revision 21250)
+++ /issm/trunk-jpl/src/m/contrib/defleurian/netCDF/export_netCDF.py	(revision 21251)
@@ -40,5 +40,7 @@
 
 	#get all model classes and create respective groups
-	typelist=[bool,str,unicode,int,float,complex,numpy.ndarray,collections.OrderedDict]
+	typelist=[bool,str,unicode,int,float,complex,dict,
+						collections.OrderedDict,
+						numpy.int64,numpy.ndarray,numpy.float64]
 	groups=dict.keys(md.__dict__)
 	for group in groups:
@@ -80,9 +82,10 @@
 							subfields=dict.keys(md.__dict__[group].__dict__[field].__getitem__(listindex))
 						for subfield in subfields:
-							try:
-								Var=md.__dict__[group].__dict__[field].__getitem__(listindex).__dict__[subfield]
-							except AttributeError:
-								Var=md.__dict__[group].__dict__[field].__getitem__(listindex)[subfield]
-							DimDict=CreateVar(NCData,Var,subfield,Listgroup,DimDict,False,md.__dict__[group],field,listindex)
+							if subfield!='outlog':
+								try:
+									Var=md.__dict__[group].__dict__[field].__getitem__(listindex).__dict__[subfield]
+								except AttributeError:
+									Var=md.__dict__[group].__dict__[field].__getitem__(listindex)[subfield]
+								DimDict=CreateVar(NCData,Var,subfield,Listgroup,DimDict,False,md.__dict__[group],field,listindex)
 			#No subgroup, we directly treat the variable
 			elif type(md.__dict__[group].__dict__[field]) in typelist:
@@ -91,4 +94,5 @@
 				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))
@@ -96,5 +100,5 @@
 				subfields=dict.keys(md.__dict__[group].__dict__[field].__dict__)
 				for subfield in subfields:
-					if str(subfield)!='errlog' and str(subfield)!='outlog' and str(subfield)!='SolutionType':
+					if str(subfield)!='outlog':
 						Var=md.__dict__[group].__dict__[field].__dict__[subfield]
 						DimDict=CreateVar(NCData,Var,subfield,Subgroup,DimDict,False)
@@ -118,6 +122,8 @@
 	TypeDict = {float:'f8',
 							'float64':'f8',
+							numpy.float64:'f8',
 							int:'i8',
 							'int64':'i8',
+							numpy.int64:'i8',
 							str:'str',
 							dict:'str'}
@@ -149,5 +155,5 @@
 			ncvar[elt] = str(var[elt])
 	#treating dictionaries as tables of strings
-	elif val_type==collections.OrderedDict:
+	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)
@@ -195,5 +201,5 @@
 					DimDict[len(NewDim)]='DimNum'+str(index)
 					output=output+[str(DimDict[shape[dim]])]
-		elif type(shape[0])==str:#dealling with a dictionnary
+		elif type(shape[0])==str or type(shape[0])==unicode:#dealling with a dictionnary
 			try:
 				#dimension5 is 2 to treat with dict
