Index: /issm/trunk-jpl/src/m/contrib/defleurian/netCDF/export_netCDF.m
===================================================================
--- /issm/trunk-jpl/src/m/contrib/defleurian/netCDF/export_netCDF.m	(revision 21647)
+++ /issm/trunk-jpl/src/m/contrib/defleurian/netCDF/export_netCDF.m	(revision 21648)
@@ -73,5 +73,5 @@
 					listsize=length(Var);
 					subgroupID=netcdf.defGrp(groupID,groupfields{j});
-					netcdf.putAtt(subgroupID,netcdf.getConstant('NC_GLOBAL'),'classtype',class(md.(groups{i}).(groupfields{j})));
+					netcdf.putAtt(subgroupID,netcdf.getConstant('NC_GLOBAL'),'classtype',class(Var));
 					for l=1:listsize
 						if isprop(Var{l},'name')
@@ -89,4 +89,51 @@
 								[DimSize,DimValue]=DefCreateVar(ncid,Var{l}.(subfields{m}),listgroupID,subfields{m},DimSize,DimValue);
 							end
+						end
+					end
+				end
+			elseif isa(Var,'struct') && ~strcmp(groupfields{j},'bamg')
+				classtype=class(md.(groups{i}));
+				if strcmp(classtype,'struct')
+					classtype=groups{i};
+				end
+				netcdf.putAtt(groupID,netcdf.getConstant('NC_GLOBAL'),'classtype',classtype);
+				if length(Var)>1
+					listsize=length(Var);
+					subgroupID=netcdf.defGrp(groupID,groupfields{j});
+					classtype=class(Var);
+					if strcmp(classtype,'struct')
+						classtype=groups{i};
+					end
+					netcdf.putAtt(subgroupID,netcdf.getConstant('NC_GLOBAL'),'classtype',classtype);
+					for l=1:listsize
+						if isfield(Var(l),'step')
+							lname=[int2str(Var(l).step)];
+						else
+							lname=[class(Var(l)) int2str(l)];
+						end
+						classtype=class(Var(l));
+						if strcmp(classtype,'struct')
+							classtype=groups{i};
+						end
+						listgroupID=netcdf.defGrp(subgroupID,lname);
+						netcdf.putAtt(listgroupID,netcdf.getConstant('NC_GLOBAL'),'classtype',classtype);
+						subfields=fields(Var(l));
+						for m=1:length(subfields)
+							if ~strcmp(subfields{m},'outlog')
+								[DimSize,DimValue]=DefCreateVar(ncid,Var(l).(subfields{m}),listgroupID,subfields{m},DimSize,DimValue);
+							end
+						end
+					end
+				else
+					subgroupID=netcdf.defGrp(groupID,groupfields{j});
+					classtype=class(Var);
+					if strcmp(classtype,'struct')
+						classtype=groups{i};
+					end
+					netcdf.putAtt(subgroupID,netcdf.getConstant('NC_GLOBAL'),'classtype',classtype);
+					subfields=fields(Var);
+					for m=1:length(subfields)
+						if ~strcmp(subfields{m},'outlog')
+							[DimSize,DimValue]=DefCreateVar(ncid,Var.(subfields{m}),subgroupID,subfields{m},DimSize,DimValue);
 						end
 					end
