Intro¶
The kszx code is split across two github repos:
“Core” repo containing source code for
kszxpackage:Auxiliary repo containing jupyter notebooks:
(This two-repo split is because jupyter notebooks tend to result in large github repos, and I wanted to keep the “core” kszx repo small.)
The goal of the kszx package is to make a unified framework for different kSZ pipelines/projects
which use a “3-d Cartesian” approach.
Define low-level “building blocks” with simple interfaces, for example FFTs or gridding/interpolation kernels.
Status: this currently exists in “rough draft” form, but could probably use improvement. Feel free to suggest (or make) changes!
Make low-level building blocks run very fast. Computational cost is emerging as an issue – I think we can make the building blocks very fast, with some strategically written C++ kernels.
Status: haven’t really started yet, but I think this can be done quickly.
Define high-level functions that can be combined to make pipelines.
Status: haven’t really started yet – currently these high-level functions are scattered between different jupyter notebooks, and haven’t been incoporated into the
kszxpackage.
Data files¶
The kszx library contains functions which read data files from disk.
For example, kszx.sdss.read_galaxies() reads an SDSS galaxy catalog.
Such functions generally contain a download argument (False by default) which
will auto-download the data file, if it is not found on disk.
All auto-downloaded files are saved in a directory tree whose root is given by:
The environment variable
$KSZX_DATA_DIR, if defined.Otherwise,
$HOME/kszx_data.
Therefore, here are some options for setting up your auto-download directory:
If you want to store data in
$HOME/kszx_data, domkdir -p $HOME/kszx_data.If you want to use a different directory, do
ln -s /some/other/dir $HOME/kszx_data.(For example, on Kendrick’s desktop,
/dataalready contains a lot of auto-downloaded kszx data files, so you can doln -s /data $HOME/kszx_data.)If you want to use a different directory, do
ln -s /some/other/dir $HOME/kszx_data.
The reason I’m discussing this in so much detail is that auto-downloaded files can really take up a lot of space!
Not all parts of the kszx library need to use the auto-download directory (just functions which read large data files), so you don’t need to set it up right away.