Source code for particleLists

class ParticleLists(object):
[docs] def __init__(self,obj): self.obj = obj def deleteAttribute(self,attrib):
[docs] if hasattr(self, attrib): delattr(self,attrib) def deleteParticleLists(self):
[docs] self.deleteAttribute('halo_glist') self.deleteAttribute('halo_slist') self.deleteAttribute('halo_dmlist') self.deleteAttribute('halo_lrlist') if not self.obj.snapAttribs.DM_ONLY: self.deleteAttribute('galaxy_glist') self.deleteAttribute('galaxy_slist') self.deleteAttribute('haloParentIndexes') self.deleteAttribute('haloChildIndexes') def getParticleLists(self):
[docs] import numpy as np import os,sys ## enable legacy support ## if '.npz' in self.obj.locs.particlelist: self.obj.locs.particlelist = '%s.hdf5' % self.obj.locs.particlelist[:-4] if os.path.isfile(self.obj.locs.particlelist): import h5py infile = h5py.File(self.obj.locs.particlelist,'r') self.halo_glist = np.asarray(infile['halo/halo_glist']) self.halo_slist = np.asarray(infile['halo/halo_slist']) self.halo_dmlist = np.asarray(infile['halo/halo_dmlist']) self.halo_lrlist = np.asarray(infile['halo/halo_lrlist']) self.haloParentIndexes = np.asarray(infile['halo/haloParentIndexes']) #self.haloChildIndexes = np.asarray(infile['halo/haloChildIndexes']) if not self.obj.snapAttribs.DM_ONLY: self.galaxy_glist = np.asarray(infile['galaxy/galaxy_glist']) self.galaxy_slist = np.asarray(infile['galaxy/galaxy_slist']) infile.close() elif os.path.isfile('%s.npz' % self.obj.locs.particlelist[:-5]): """ OUTDATED NUMPY LEGACY SUPPORT """ data = np.load('%s.npz' % self.obj.locs.particlelist[:-5]) self.halo_glist = data['halo_glist'] self.halo_slist = data['halo_slist'] self.halo_dmlist = data['halo_dmlist'] self.halo_lrlist = data['halo_lrlist'] if not self.obj.snapAttribs.DM_ONLY: self.galaxy_glist = data['galaxy_glist'] self.galaxy_slist = data['galaxy_slist'] self.haloParentIndexes = data['haloParentIndexes'] #self.haloChildIndexes = data['haloChildIndexes'] #if not os.path.isfile(self.obj.locs.particlelist): else: self.obj.logOutput('cannot locate %s!' % self.obj.locs.particlelist) return def saveParticleLists(self):
[docs] import numpy as np import h5py outfile = h5py.File(self.obj.locs.particlelist,'w') hd = outfile.create_group('halo') hd.create_dataset('halo_glist', data = self.halo_glist) hd.create_dataset('halo_slist', data = self.halo_slist) hd.create_dataset('halo_dmlist',data = self.halo_dmlist) hd.create_dataset('halo_lrlist',data = self.halo_lrlist) hd.create_dataset('haloParentIndexes', data = self.haloParentIndexes) #hd.create_dataset('haloChildIndexes' , data = self.haloChildIndexes) if not self.obj.snapAttribs.DM_ONLY: gd = outfile.create_group('galaxy') gd.create_dataset('galaxy_glist', data = self.galaxy_glist) gd.create_dataset('galaxy_slist', data = self.galaxy_slist) outfile.close() """ OUTDATED NUMPY halo_glist = self.halo_glist halo_slist = self.halo_slist halo_dmlist = self.halo_dmlist halo_lrlist = self.halo_lrlist haloparentIndexes = self.haloParentIndexes if not self.obj.snapAttribs.DM_ONLY: galaxy_glist = self.galaxy_glist galaxy_slist = self.galaxy_slist np.savez(self.obj.locs.particlelist, halo_glist = halo_glist, halo_slist = halo_slist, halo_dmlist = halo_dmlist, halo_lrlist = halo_lrlist, galaxy_glist = galaxy_glist, galaxy_slist = galaxy_slist, haloParentIndexes = haloparentIndexes) else: np.savez(self.obj.locs.particlelist, halo_glist = halo_glist, halo_slist = halo_slist, halo_dmlist = halo_dmlist, halo_lrlist = halo_lrlist, haloParentIndexes = haloparentIndexes) """