# numpy dtype for LGAL_GAL_STRUCT import numpy struct_dtype = numpy.dtype([ ('GalID',numpy.int64,1), ('HaloID',numpy.int64,1), ('FirstProgGal',numpy.int64,1), ('NextProgGal',numpy.int64,1), ('LastProgGal',numpy.int64,1), ('FOFCentralGal',numpy.int64,1), ('CentralGal',numpy.int64,1), ('FileTreeNr',numpy.int64,1), ('DescendantGal',numpy.int64,1), ('MainLeafId',numpy.int64,1), ('TreeRootId',numpy.int64,1), ('SubID',numpy.int64,1), ('MMSubID',numpy.int64,1), ('PeanoKey',numpy.int32,1), ('Redshift',numpy.float32,1), ('Type',numpy.int32,1), ('SnapNum',numpy.int32,1), ('LookBackTimeToSnap',numpy.float32,1), ('CentralMvir',numpy.float32,1), ('CentralRvir',numpy.float32,1), ('DistanceToCentralGal',numpy.float32,3), ('Pos',numpy.float32,3), ('Vel',numpy.float32,3), ('Len',numpy.int32,1), ('Mvir',numpy.float32,1), ('Rvir',numpy.float32,1), ('Vvir',numpy.float32,1), ('Vmax',numpy.float32,1), ('GasSpin',numpy.float32,3), ('StellarSpin',numpy.float32,3), ('InfallVmax',numpy.float32,1), ('InfallVmaxPeak',numpy.float32,1), ('InfallSnap',numpy.int32,1), ('InfallHotGas',numpy.float32,1), ('HotRadius',numpy.float32,1), ('OriMergTime',numpy.float32,1), ('MergTime',numpy.float32,1), ('ColdGas',numpy.float32,1), ('StellarMass',numpy.float32,1), ('BulgeMass',numpy.float32,1), ('DiskMass',numpy.float32,1), ('HotGas',numpy.float32,1), ('EjectedMass',numpy.float32,1), ('BlackHoleMass',numpy.float32,1), ('ICM',numpy.float32,1), ('MetalsColdGas',numpy.float32,1), ('MetalsStellarMass',numpy.float32,1), ('MetalsBulgeMass',numpy.float32,1), ('MetalsDiskMass',numpy.float32,1), ('MetalsHotGas',numpy.float32,1), ('MetalsEjectedMass',numpy.float32,1), ('MetalsICM',numpy.float32,1), ('PrimordialAccretionRate',numpy.float32,1), ('CoolingRadius',numpy.float32,1), ('CoolingRate',numpy.float32,1), ('CoolingRate_beforeAGN',numpy.float32,1), ('QuasarAccretionRate',numpy.float32,1), ('RadioAccretionRate',numpy.float32,1), ('Sfr',numpy.float32,1), ('SfrBulge',numpy.float32,1), ('XrayLum',numpy.float32,1), ('BulgeSize',numpy.float32,1), ('StellarDiskRadius',numpy.float32,1), ('GasDiskRadius',numpy.float32,1), ('CosInclination',numpy.float32,1), ('DisruptOn',numpy.int32,1), ('MergeOn',numpy.int32,1), ('MagDust',numpy.float32,8), ('Mag',numpy.float32,8), ('MagBulge',numpy.float32,8), ('ObsMagDust',numpy.float32,8), ('ObsMag',numpy.float32,8), ('ObsMagBulge',numpy.float32,8), ('MassWeightAge',numpy.float32,1), ('rbandWeightAge',numpy.float32,1), ('sfh_ibin',numpy.int32,1), ('sfh_numbins',numpy.int32,1), ('sfh_DiskMass',numpy.float32,21), ('sfh_BulgeMass',numpy.float32,21), ('sfh_ICM',numpy.float32,21), ('sfh_MetalsDiskMass',numpy.float32,21), ('sfh_MetalsBulgeMass',numpy.float32,21), ('sfh_MetalsICM',numpy.float32,21), ('ending','i4',0) ]) properties_used = {} for el in struct_dtype.names: properties_used[el] = False