Repository navigation
Reorganize the tutorials before v1.0 - #45
Conversation
tutorials/README.md now describes the pipeline, which tutorial covers which step, and the shared environments and Jupyter kernels at CC-IN2P3 and NERSC. TJPCov 0.6.0 includes the cluster count covariance (PR #113), so the Firecrown environment installs it from PyPI instead of the merged branch, and the README no longer lists TJPCov with TXPipe.
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #45 +/- ##
=======================================
Coverage 95.12% 95.12%
=======================================
Files 9 9
Lines 1025 1025
Branches 69 69
=======================================
Hits 975 975
Misses 41 41
Partials 9 9 ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
…covariance element The covariance notebook runs the stage without capturing its output, the likelihood notebook calls cosmosis with a shell line, and the stage notebook writes its output under the temporary name of ceci and calls finalize.
…ep CLPCovariance unchanged
…rsions of the shared environments
|
All the notebooks have been executed, without error locally (Ububtu), at CCIN2P3 and NERSC with the "shared" jupyter kernels. |
| launch_job_all_in2p3.sh job script that runs everything | ||
| ``` | ||
|
|
||
| The pipeline is split in three files because TXPipe and the CLPipe stages run |
There was a problem hiding this comment.
This text could benefit from more detail or being moved. As it stands, it lacks clarity.
At the point when the user begins the tutorial, the TXPipe and CLPipe steps have not yet been defined. It would be helpful, at the very least, to indicate which steps correspond to which files.
OR
Move the running_an_anlaysis to the end of tutorial tree, as all the missing information are indeed present in the other chapter.s
| export PYTHONPATH=/path/to/CLPipe:$PYTHONPATH | ||
| ceci TJPCov.yml | ||
| ceci Firecrown.yml | ||
|
|
There was a problem hiding this comment.
Stages defined in TJPCov.yml and Firecrown.yml are executed in the same environment (firecrown_developer_clp) and are implemented in the same module: clpipe.
So why are they defined in two deference ceci pipeline files (*.yml)?
There was a problem hiding this comment.
Because at some point, they were not able to run on the same envs. After some changes to Firecrown and TJPCov, yes. But I decided to keep it like this now just in case something breaks in the near future. People still did not decide where to run TJPCov. Like what we just did or inside Firecrown. So let's leave this to a future problem
There was a problem hiding this comment.
Ok, it makes sens.
| ``` | ||
|
|
||
| The `PYTHONPATH` lines point to the CLPipe and TXPipe checkouts used by the | ||
| run. The last line samples the likelihood with the files written by |
There was a problem hiding this comment.
replace written by generated to emphasize the fact that this stage generates a new python file.
| mpirun -n ${SLURM_NTASKS} cosmosis --mpi sampler_file.ini | ||
| ``` | ||
|
|
||
| The `PYTHONPATH` lines point to the CLPipe and TXPipe checkouts used by the |
There was a problem hiding this comment.
The new installation procedure defined in the README.md include a clpipe module installation in the conda env. So there is no more need to add clpipe path to PYTHONPATH
| the next steps start from the SACC file they write. | ||
|
|
||
| The code and the documentation of these stages are in TXPipe | ||
| (https://txpipe.readthedocs.io). This page only says what CLPipe uses and |
There was a problem hiding this comment.
This notebook can be executed without any error (locally/CCIN2P3 and NERSC).
I did not understand what the figures/plots show, but that is likely due to my lack of knowledge on the subject.
There was a problem hiding this comment.
This notebook can be executed without any error.
There was a problem hiding this comment.
This notebook can be excuted without any error (locally/CCIN2P3 and NERSC)..
| ```bash | ||
| mkdir -p ${HOME}/.local/share/jupyter/kernels | ||
| cp -r /sps/lsst/groups/clusters/cl_pipeline_project/jupyter_kernel/firecrown_clp ${HOME}/.local/share/jupyter/kernels/ | ||
| ``` |
There was a problem hiding this comment.
At least inform the user that the kernel.json must be modifying to replace ${HOME} by the user home directory
There was a problem hiding this comment.
I will update the file on CCIN2P3 so nothing has to be done here
…omments The tutorials are numbered in reading order, and running an analysis comes after the four step tutorials, which define its stages and files. The writing-a-stage notebook now shows the config.yml file and the data path for running the stage from the command line. CLPFirecrown files are described as generated, the TXPipe documentation is a link, and the run page says when the CLPipe path is needed in PYTHONPATH.
Last PR before the v1.0.0 release. The tutorials folder now explains what is in CLPipe, how to run an analysis, how each step works, and how to add a stage.
tutorials/README.mdis the entry point. It shows the pipeline, which tutorial covers which step, and how to get the Jupyter kernel at CC-IN2P3 and NERSC. All the notebooks run with the sharedfirecrown_clpkernel, which starts thefirecrown_developer_clpenvironment.New pages
running_an_analysis.md: the files of a run directory, the job script, the outputs, how to rerun part of a run, andexamples/templatefor new runs.txpipe.md: what CLPipe uses from TXPipe and where to find it. The stages are documented in TXPipe, so this is only a page, pointing to theclpipe-paper-v1tag used for the paper.covariance_tjpcov.ipynb: runsCLPCovarianceon the TXPipe SACC file of the redMaPPer baseline analysis and shows the counts covariance. It reproduces the covariance of the analysis.likelihood_firecrown.ipynb: writes theCLPFirecrownfiles, shows what they contain, and evaluates the likelihood once with the CosmoSIS test sampler.theory_prediction.ipynb: the tutorial of Update cluster_theory_pred to match CLPFirecrown and add a tutorial #40, moved.writing_a_stage.ipynb: a toy stage that removes the lowest richness bins of a SACC file, how to use it in a pipeline, and the steps to add a stage to CLPipe (file,__init__.py, tests, docs).The notebooks share their inputs in
tutorials/data(the redMaPPer baseline SACC files before and after the covariance, and the cosmoDC2 fiducial cosmology) and write totutorials/outputs, which is ignored by git. They are saved with their outputs. The oldfirecrown_tutorial(with its committed CosmoSIS outputs) andtxpipe_tutorialfolders are removed.Other changes
pyproject.tomland in the documentation.docs/conf.pycopies them at build time, so there is a single version in git.firecrown_environment.ymlnow pins Firecrown (commit 7098afc, 1.15.0a1.dev187), CROW (commit 8a79d03) and TJPCov (0.6.0, from PyPI instead of theclustercount_cov_validationbranch, it contains TJPCov #113). The versions of the CLPipe paper for the other packages are pinned in Pin the Firecrown environment to the versions of the CLPipe paper #46.At NERSC, the shared
firecrown_clpkernel now startsfirecrown_developer_clp, as at CC-IN2P3, and that environment was updated to the same firecrown, crow and TJPCov. The four notebooks run at both sites with the same results.