Index: ../trunk-jpl/src/m/contrib/defleurian/netCDF/export_netCDF.py =================================================================== --- ../trunk-jpl/src/m/contrib/defleurian/netCDF/export_netCDF.py (revision 25062) +++ ../trunk-jpl/src/m/contrib/defleurian/netCDF/export_netCDF.py (revision 25063) @@ -6,7 +6,6 @@ def export_netCDF(md, filename): # {{{ - res_time = time.time() debug = False if path.exists(filename): print('File {} allready exist'.format(filename)) @@ -86,32 +85,6 @@ except AttributeError: subfields = dict.keys(md.__dict__[group].__dict__[field].__getitem__(0)) - # for subfield in subfields: - # if subfield not in['errlog', 'outlog']: - # #first create the variable - # try: - # Var = md.__dict__[group].__dict__[field].__getitem__(0).__dict__[subfield] - # except AttributeError: - # Var = md.__dict__[group].__dict__[field].__getitem__(0)[subfield] - # Var = SqueezeVar(Var) - # #If first time we create a nc variable - # if Listsize == len(TimeDim): - # ExtraDim = 'Time' - # else: - # ExtraDim = 'Unlim' - # if debug: - # print("=$$=creating var for {}.{}.{}".format(group, field, subfield)) - # DimDict, ncvar = CreateVar(NCData, Var, subfield, Subgroup, DimDict, ExtraDim) - - # for listindex in range(0, Listsize): - # try: - # Var = md.__dict__[group].__dict__[field].__getitem__(listindex).__dict__[subfield] - # except AttributeError: - # Var = md.__dict__[group].__dict__[field].__getitem__(listindex)[subfield] - # Var = SqueezeVar(Var) - # #and fill it up - # FillVar(ncvar, Var, listindex) - for subfield in subfields: if subfield not in['errlog', 'outlog']: try: @@ -125,6 +98,9 @@ Var = md.__dict__[group].__dict__[field].__getitem__(listindex).__dict__[subfield] except AttributeError: Var = md.__dict__[group].__dict__[field].__getitem__(listindex)[subfield] + except KeyError: + #Some fields only exist for the first step + continue Var = SqueezeVar(Var) StackedVar = np.vstack((StackedVar, Var)) if debug: @@ -173,7 +149,6 @@ if ncvar is not None: FillVar(ncvar, Var) NCData.close() - print("export time is {}".format(time.time() - res_time)) # }}} Index: ../trunk-jpl/src/m/io/loadvars.py =================================================================== --- ../trunk-jpl/src/m/io/loadvars.py (revision 25062) +++ ../trunk-jpl/src/m/io/loadvars.py (revision 25063) @@ -123,7 +123,8 @@ keylist = [key for key in curclass.variables] dimlist = [curclass.variables[key].dimensions for key in keylist] indexlist = np.arange(0, len(NCFile.dimensions['Time'])) - if 'Time' in np.all(dimlist): + AllHaveTime = np.all(['Time' in dimtuple for dimtuple in dimlist]) + if AllHaveTime: #Time dimension is in all the variables so we take that as stepnumber for the results listtype = curclass.classtype nvdict['md'].__dict__[classtree[mod][0]].__dict__[classtree[mod][1]] = [getattr(__import__(listtype), listtype)() for i in range(max(1, len(NCFile.dimensions['Time'])))]