The full list of nbodykit modules is available here. We summarize the most important aspects of the API below.
nbodykit.io
)¶Base class:
FileType |
An abstract base class representing a file object. |
Subclasses available from the nbodykit.io
module:
BigFile (path[, exclude, header, dataset]) |
A file object to handle the reading of columns of data from a bigfile file. |
BinaryFile (path, dtype[, offsets, …]) |
A file object to handle the reading of columns of data from a binary file. |
CSVFile (path, names[, blocksize, dtype, …]) |
A file object to handle the reading of columns of data from a CSV file. |
FITSFile (path[, ext]) |
A file object to handle the reading of FITS data using the fitsio package. |
HDFFile (path[, root, exclude]) |
A file object to handle the reading of columns of data from a h5py HDF5 file. |
FileStack (filetype, path, *args, **kwargs) |
A file object that offers a continuous view of a stack of subclasses of FileType instances. |
TPMBinaryFile (path[, precision]) |
Read snapshot binary files from Martin White’s TPM simulations. |
nbodykit.cosmology
)¶The main cosmology object is
Cosmology ([h, T_cmb, Omega_b, Omega_cdm, …]) |
A cosmology calculator based on the CLASS binding in classylss . |
with available transfer functions computed using
CLASS (cosmo, redshift) |
The linear matter transfer function using the CLASS Boltzmann code. |
EisensteinHu (cosmo, redshift) |
The linear matter transfer function using the Eisenstein & Hu (1998) fitting formula with BAO wiggles. |
NoWiggleEisensteinHu (cosmo, redshift) |
Linear power spectrum using the Eisenstein & Hu (1998) fitting formula without BAO wiggles. |
There are several power spectrum classes
LinearPower (cosmo, redshift[, transfer]) |
An object to compute the linear power spectrum and related quantities, using a transfer function from the CLASS code or the analytic Eisenstein & Hu approximation. |
HalofitPower (cosmo, redshift) |
Nonlinear power spectrum computed using HaloFit via CLASS. |
ZeldovichPower (cosmo, redshift[, transfer]) |
The matter power spectrum in the Zel’dovich approximation. |
And a correlation function class and functions for transforming between power spectra and correlation functions
CorrelationFunction (power) |
Evaluate the correlation function by Fourier transforming a power spectrum object, with automatic re-scaling with redshift and sigma8. |
xi_to_pk (r, xi[, extrap]) |
Return a callable function returning the power spectrum, as computed from the Fourier transform of the input \(r\) and \(\xi(r)\) arrays. |
pk_to_xi (k, Pk[, extrap]) |
Return a callable function returning the correlation function, as computed from the Fourier transform of the input \(k\) and \(P(k)\) arrays. |
We also have a class for computing LPT background calculations:
PerturbationGrowth (cosmo[, a]) |
Perturbation Growth coefficients at several orders. |
The built-in cosmologies are:
Name | Source | H0 | Om | Flat |
---|---|---|---|---|
WMAP5 |
Komatsu et al. 2009 | 70.2 | 0.277 | Yes |
WMAP7 |
Komatsu et al. 2011 | 70.4 | 0.272 | Yes |
WMAP9 |
Hinshaw et al. 2013 | 69.3 | 0.287 | Yes |
Planck13 |
Planck Collab 2013, Paper XVI | 67.8 | 0.307 | Yes |
Planck15 |
Planck Collab 2015, Paper XIII | 67.7 | 0.307 | Yes |
nbodykit.transform
)¶ConcatenateSources (*sources, **kwargs) |
Concatenate CatalogSource objects together, optionally including only certain columns in the returned source. |
StackColumns (*cols) |
Stack the input dask arrays vertically, column by column. |
ConstantArray (value, size[, chunks]) |
Return a dask array of the specified size holding a single value. |
SkyToUnitSphere (ra, dec[, degrees]) |
Convert sky coordinates (ra , dec ) to Cartesian coordinates on the unit sphere. |
SkyToCartesion (ra, dec, redshift, cosmo[, …]) |
Convert sky coordinates (ra , dec , redshift ) to a Cartesian Position column. |
HaloConcentration (mass, cosmo, redshift[, mdef]) |
Return halo concentration from halo mass, based on the analytic fitting formulas presented in Dutton and Maccio 2014. |
HaloRadius (mass, cosmo, redshift[, mdef]) |
Return halo radius from halo mass, based on the specified mass definition. |
Base class:
CatalogSource (comm[, use_cache]) |
An abstract base class representing a catalog of discrete particles. |
And subclasses:
CSVCatalog (*args, **kwargs) |
A CatalogSource that uses CSVFile to read data from disk. |
BinaryCatalog (*args, **kwargs) |
A CatalogSource that uses BinaryFile to read data from disk. |
BigFileCatalog (*args, **kwargs) |
A CatalogSource that uses BigFile to read data from disk. |
TPMBinaryCatalog (*args, **kwargs) |
A CatalogSource that uses TPMBinaryFile to read data from disk. |
HDFCatalog (*args, **kwargs) |
A CatalogSource that uses HDFFile to read data from disk. |
FITSCatalog (*args, **kwargs) |
A CatalogSource that uses FITSFile to read data from disk. |
ArrayCatalog (data[, comm, use_cache]) |
A CatalogSource initialized from a dictionary or structured ndarray. |
HaloCatalog (source, cosmo, redshift[, mdef, …]) |
A wrapper CatalogSource of halo objects to interface nicely with halotools.sim_manager.UserSuppliedHaloCatalog . |
HODCatalog (halos[, logMmin, sigma_logM, …]) |
A CatalogSource that uses the HOD prescription of Zheng et al 2007 to populate an input halo catalog with galaxies. |
LogNormalCatalog (Plin, nbar, BoxSize, Nmesh) |
A CatalogSource containing biased particles that have been Poisson-sampled from a log-normal density field. |
UniformCatalog (nbar, BoxSize[, seed, comm, …]) |
A CatalogSource that has uniformly-distributed Position and Velocity columns. |
RandomCatalog (csize[, seed, comm, use_cache]) |
A CatalogSource that can have columns added via a collective random number generator. |
FKPCatalog (data, randoms[, BoxSize, BoxPad, …]) |
An interface for simultaneous modeling of a data CatalogSource and a randoms CatalogSource, in the spirit of Feldman, Kaiser, and Peacock, 1994. |
MultipleSpeciesCatalog (names, *species, **kwargs) |
A CatalogSource interface for handling multiples species of particles. |
The base class:
CatalogMesh (source, BoxSize, Nmesh, dtype, …) |
A class to convert a CatalogSource to a MeshSource, by interpolating the position of the discrete particles on to a mesh. |
And subclasses:
MultipleSpeciesCatalogMesh (source, BoxSize, …) |
A subclass of CatalogMesh designed to paint the density field from a sum of multiple types of particles. |
FKPCatalogMesh (source, BoxSize, Nmesh, …) |
A subclass of MultipleSpeciesCatalogMesh designed to paint a FKPCatalog to a mesh. |
Base class:
MeshSource (comm, Nmesh, BoxSize, dtype) |
Base class for a source in the form of data on an input grid. |
And subclasses:
BigFileMesh (path, dataset[, comm]) |
A MeshSource object that reads a mesh from disk using bigfile . |
LinearMesh (Plin, BoxSize, Nmesh[, seed, …]) |
A MeshSource object that generates a RealField density mesh from a linear power spectrum function \(P(k)\). |
FieldMesh (field) |
A MeshSource initialized from an in-memory Field object, either a pmesh.pm.RealField or pmesh.pm.ComplexField . |
ArrayMesh (array, BoxSize[, comm, root]) |
A MeshSource initalized from an in-memory numpy array. |
nbodykit.algorithms
)¶FFTPower (first, mode[, Nmesh, BoxSize, …]) |
Algorithm to compute the 1d or 2d power spectrum and/or multipoles in a periodic box, using a Fast Fourier Transform (FFT). |
ProjectedFFTPower (first[, Nmesh, BoxSize, …]) |
The power spectrum of a field in a periodic box, projected over certain axes. |
ConvolvedFFTPower (source, poles[, Nmesh, …]) |
Algorithm to compute power spectrum multipoles using FFTs for a data survey with non-trivial geometry. |
Multipoles3PCF (source, poles, edges[, …]) |
Compute the multipoles of the isotropic, three-point correlation function in configuration space. |
SimulationBoxPairCount (mode, source1, redges) |
Count (weighted) pairs of objects in a simulation box using the Corrfunc package. |
SurveyDataPairCount (mode, source1, redges, cosmo) |
Count (weighted) pairs of objects from a survey data catalog using the Corrfunc package. |
FOF (source, linking_length, nmin[, absolute]) |
A friends-of-friends halo finder that computes the label for each particle, denoting which halo it belongs to. |
CylindricalGroups (source, rankby, rperp, rpar) |
Compute groups of objects using a cylindrical grouping method. |
FiberCollisions (ra, dec[, collision_radius, …]) |
Run an angular FOF algorithm to determine fiber collision groups from an input catalog, and then assign fibers such that the maximum amount of object receive a fiber. |
KDDensity (source[, margin]) |
Estimate a proxy density based on the distance to the nearest neighbor. |
RedshiftHistogram (source, fsky, cosmo[, …]) |
Compute the mean number density as a function of redshift \(n(z)\) from an input CatalogSource of particles. |
TaskManager
)¶TaskManager (cpus_per_task[, comm, debug, …]) |
An MPI task manager that distributes tasks over a set of MPI processes, using a specified number of independent workers to compute each task. |
TaskManager.iterate (tasks) |
A generator that iterates through a series of tasks in parallel. |
TaskManager.map (function, tasks) |
Like the built-in map() function, apply a function to all of the values in a list and return the list of results. |
BinnedStatistic
)¶BinnedStatistic (dims, edges, data[, …]) |
Lightweight class to hold statistics binned at fixed coordinates. |
BinnedStatistic.from_json (filename[, key, …]) |
Initialize a BinnedStatistic from a JSON file. |
BinnedStatistic.to_json (filename) |
Write a BinnedStatistic from a JSON file. |
BinnedStatistic.copy () |
Returns a copy of the BinnedStatistic |
BinnedStatistic.rename_variable (old_name, …) |
Rename a variable in data from old_name to new_name . |
BinnedStatistic.average (dim, **kwargs) |
Compute the average of each variable over the specified dimension. |
BinnedStatistic.reindex (dim, spacing[, …]) |
Reindex the dimension dim by averaging over multiple coordinate bins, optionally weighting by weights . |
BinnedStatistic.sel ([method]) |
Return a new BinnedStatistic indexed by coordinate values along the specified dimension(s). |
BinnedStatistic.squeeze ([dim]) |
Squeeze the BinnedStatistic along the specified dimension, which removes that dimension from the BinnedStatistic. |
nbodykit.CurrentMPIComm |
A class to faciliate getting and setting the current MPI communicator. |
nbodykit.CurrentMPIComm.enable (func) |
Decorator to attach the current MPI communicator to the input keyword arguments of func , via the comm keyword. |
nbodykit.CurrentMPIComm.get () |
Get the current MPI communicator, returning MPI.COMM_WORLD if it has not be explicitly set yet. |
nbodykit.CurrentMPIComm.set (comm) |
Set the current MPI communicator to the input value. |
nbodykit.utils.GatherArray (data, comm[, root]) |
Gather the input data array from all ranks to the specified root . |
nbodykit.utils.ScatterArray (data, comm[, …]) |
Scatter the input data array across all ranks, assuming data is initially only on root (and None on other ranks). |
nbodykit.setup_logging ([log_level]) |
Turn on logging, with the specified level. |
nbodykit.utils.JSONEncoder ([skipkeys, …]) |
A subclass of json.JSONEncoder that can also handle numpy arrays, complex values, and astropy.units.Quantity objects. |
nbodykit.utils.JSONDecoder (*args, **kwargs) |
A subclass of json.JSONDecoder that can also handle numpy arrays, complex values, and astropy.units.Quantity objects. |
nbodykit.mockmaker.gaussian_complex_fields (pm, …) |
Make a Gaussian realization of a overdensity field, \(\delta(x)\). |
nbodykit.mockmaker.gaussian_real_fields (pm, …) |
Make a Gaussian realization of a overdensity field in real-space \(\delta(x)\). |
nbodykit.mockmaker.poisson_sample_to_points (…) |
Poisson sample the linear delta and displacement fields to points. |