Pickle Contents

SPHGR stores data in a pickle file. This file is a serialization of objects similar to Java‘s JSON. This lets us store data in a way where upon reading it back in, all of the objects and functions associated with said objects are restored. The contents of the SPHGR pickle file contains a number of containers, which hold other objects; basically a way of organizing the data. The general idea is to have a hierarchy of data that looks something like this:

PICKLE
- container1
  - data
- container2
  - data
...

Which can then be accessed very easily. To get data within the first container you would refer to it like so:

> PICKLE.container1.data

These objects are very similar to a common struct, but are more flexible in that they can also contain functions or methods. The hierarchy of an SPHGR pickle file look something like this:

_images/sphgr_pickle.png

Global Attributes & Containers

note: - - denotes a container

pickleFile.:

- - rto                 # run-time-options
- - constants           # universal constants
- - conversionFactors   # conversion factors
- - locs                # file locations
- - snapAttribs         # snapshot info
- - particleLists       # holds methods to read in particle lists
- - particleData        # holds methods to read in particle data
- - halos               # list of all halo objects
- -  parent_halos       # list of all parent halo objects
- -  sub_halos          # list of all sub-halo objects
- - galaxies            # list of all galaxy objects
- -  central_galaxies   # list of all central galaxy objects
- -  satellite_galaxies # list of all satellite galaxy objects
- halo_index_translator #
- n_side                # number of particles per side (N^1/3)
- nparts                # list of particle numbers (types 0-5)
- h                     # Hubble parameter
- boxsize               # boxsize
- boxsize_h             # boxsize/h
- redshift              # redshift
- time                  # scale factor
- num_halos             # number of halos
- num_galaxies          # number of galaxies
- snapdir               # snapshot directory
- snapname              # snapshot base name (excluding directory)
- snapnum               # snapshot number
- snap                  # full snap path
- pickle                # path and name of pickle file
- pprogress             # run time parameter

rto

pickleFile.rto.:

- DEBUG
- DS
- EPSILON_FACT
- GROUPDIRPREFIX
- HDF5
- TIPSY
- PERIODIC
- SKIPRAN
- SUPRESS
- zoomSim
- ZOOM_LOWRES
- localDensitySearchFactor
- pprogress
- pygr_OPTS
- snapnum_str

locs

pickleFile.locs.:

- GRID_DATA
- LOSER_DATADIR
- LOSER_FILES
- PROGEN_DIR
- PROGEN_GALAXY_FILE
- PROGEN_HALO_FILE
- RS_BINFILE
- RS_DIR
- RS_PARENTFILE
- SKID_DIR
- SKID_FILE
- SKID_GRPFILE
- SKID_STATFILE
- snap
- snapdir

constants

pickleFile.constants.:

- cm_per_mpc
- kpc_to_cm
- cm_to_kpc
- Msun_in_g
- protonmass_in_g
- c
- G
- Boltzmann
- cm_to_km
- H_He_mass_in_g
- UnitMass_in_g
- UnitLength_in_cm
- UnitVelocity_in_cm_per_s

conversionFactors

pickleFile.conversionFactors.:

- LCONVERT              # --> kpc
- MCONVERT              # --> Msun
- rconvert              # length conversion factor [1/(1+z)]
- vfactor               # velocity conversion factor [sqrt(a)]
- VCONVERT              # --> km/s
- RS_L_CONVERT          # RS length conversion factor --> Mpc/h
- RS_M_CONVERT          # RS mass conversion factor --> Msun/h
- TIPSY_L_convert       # TIPSY length conversion factor
- TIPSY_V_convert       # TIPSY velocity conversion factor
- TIPSY_M_convert       # TIPSY mass conversion factor
- TIPSY_RHO_convert     # TIPSY density conversion factor

snapAttribs

pickleFile.snapAttribs.:

- DM_ONLY               # set to 1 if this is a DM only sim
- redshift              # redshift
- time                  # scale factor
- h                     # hubble parameter
- O0                    # matter density
- Ol                    # vacuum energy density
- boxsize               # size of the box (no little h)
- boxsize_h             # size of the box (little h divided out)
- n_gas                 # number of type [0] gas particles
- n_star                # number of type [4] star particles
- n_dm                  # number of type [1] dm particles
- n_bulge               # number of type [3] bulge particles
- n_disk                # number of type [2] disk particles
- n_bndry               # number of type [5] bndry particles
- nparts                # list - [n_gas,n_dm,n_bulge,n_disk,n_star,n_bndry]
- nfiles                # number of files for this snapshot
- flagSFR               # SFR flag
- flagFB                # FB flag
- flagCooling           # Cooling flag
- flagAge               # Stellar Age flag
- flagFH2               # fH2 flag

particleData

pickleFile.particleData.:

- getParticleIDs()        # gives access to particle IDs
  - gIDs
  - sIDs
  - dmIDs
- getParticleData()       # gives access to particle data
  - gpos
  - gvel
  - gmass
  - grho
  - gTemp
  - gsfr
  - gHSML
  - gnh
  - gne
  - gZ
  - gfH2
  - zarray
  - spos
  - svel
  - smass
  - sZ
  - sage
  - dmmass
  - dmpos
  - dmvel
- deleteParticleIDs()     # removes particle IDs from memory
- deleteParticleData()    # removes particle data from memory
- cleanUp()               # removes PIDs and particle data

particleLists

pickleFile.particleLists.:

- getParticleLists()      # gives access to particle lists
  - halo_glist            # halo index membership for all gas
  - halo_slist            # halo index membership for all star
  - halo_dmlist           # halo index membership for all DM
  - halo_lrlist           # halo index membership for all lowres
  - galaxy_glist          # galaxy index membership for all gas
  - galaxy_slist          # galaxy index membership for all star
- deleteParticleLists()   # removes particle lists from memory

galaxies (galaxy class)

pickleFile.galaxies[N].:

- index                 # current index
- cm                    # x,y,z center-of-mass
- vel                   # x,y,z center-of-mass velocities
- HMR                   # half-mass-radius  (SKID)
- FMR                   # full-mass-radius  (SKID)
- stellar_FMR           # maximum stellar radius
- gas_mass              # total gas mass
- stellar_mass          # total stellar mass
- total_mass            # gas + stellar
- HImass                # HI mass
- H2mass                # H2 mass
- Hmass                 # H  mass
- HMR_cv                # circular velocity at HMR (SKID)
- FMR_cv                # circular velocity at FMR (SKID)
- max_cv                # maximum circular velocity
- max_cv_r              # radius at maximum vphi
- sigma1d               # 1D velocity dispersion
- central               # -1=unassigned, 0=satellite, 1=central
- originalIndex         # original SKID index
- sfr                   # total SFR
- Z                     # SFR-weighted metallicity
- mwZ                   # MASS-weighted metallicity
- [glist]               # indexes of gas particles that belong to this gal
- [slist]               # indexes of star particles that belong to this gal
- L                     # Lx,Ly,Lz angular momentum vector
- ALPHA                 # first rotation angle to align L with z-axis
- BETA                  # second rotation angle to align L with z-axis
- local_mass_density    # local mass density of galaxies
- local_number_density  # local number density of galaxies
- halo                  # parent :class:`halo` object
- halo_index            # index of corresponding RS halo
- halo_distance         # distance between galaxy CoM and halo CoM
- halo_dm_mass          # total DM mass within the halo
- halo_gmass            # total gas mass within the halo
- halo_smass            # total stellar mass within the halo
- halo_total_mass       # halo_gas + halo_star + halo_dm mass
- halo_mass             # total DM mass within the halo
- halo_isparent         # -1=parent, anything else is substructure

halos (halo class)

pickleFile.halos[N].:

- index                 # current index
- cm                    # x,y,z center-of-mass
- r200                  # radius
- maxrad                # maximum radius
- L                     # Lx,Ly,Lz angular momentum vector
- hparent               # -1=parent, anything else is substructure
- particle_count        # number of DM particles
- [galaxy_list]         # list of galaxy indexes contained within this halo
- [sub_halo_list]       # list of subhalo indexes contained
- [glist]               # indexes of gas particles that belong to this halo
- [slist]               # indexes of star particles that belong to this halo
- [dmlist]              # indexes of dm particles that belong to this halo
- [lrlist]              # list of low-res particles (if present)
- mass                  # virial mass given by RS
- dm_mass               # total DM mass within the halo
- gas_mass              # total gas mass within the halo
- stellar_mass          # total stellar mass within the halo
- total_mass            # gas + star + dm mass
- local_mass_density    # local mass density of halos
- local_number_density  # local number density of halos
- sfr                   # total SFR (all gas within)
- Z                     # SFR-weighted metallicity (all gas within)
- mwZ                   # MASS-weighted metallicity (all gas within)
- energy                #
- spin                  #
- vmax                  #
- rvmax                 #
- vrms                  #
- originalIndex         #
- sub_halos             # list of sub-halo objects
- galaxies              # list of contained galaxy objects