Skip to content

A validation framework and tests for mock galaxy catalogs and beyond

License

Notifications You must be signed in to change notification settings

LSSTDESC/descqa

Repository files navigation

DESCQA

DOI Paper DOI arXiv:1709.09665 ascl:1804.011

This repository contains the DESCQA framework that validates simulated galaxy catalogs. For more information about this framework, please check out the DESCQA paper.

A web interface hosted on NERSC displays recent validation results from the DESCQA framework.

! Important ! Starting from DESCQA v2 (current version), we have separated the configurations and readers of catalogs from DESCQA and moved them to a standalone repo, the GCRCatalogs repo. We have also changed much of the validation tests. If you are looking for the catalogs and tests in DESCQA v1 (as presented in the companion paper), please see the v1 subdirectory.

Example of running a test in DESCQA

To run a sample DESCQA test from the command-line:

git clone [email protected]:LSSTDESC/descqa
cd descqa
sh run_master.sh -c cosmoDC2_v1.1.4_small -t SkyArea

See "How to run DESCQA?" section in CONTRIBUTING.md for more options that you can use with the run script.

Quick start guide to making tests

  1. First of all, try accessing the catalogs! You can find information about the catalogs in this Confluence page and this presentation (video). However, the easiest way to start is to go to https://jupyter.nersc.gov and login with your NERSC account, and follow this tutorial notebook (download link, you can then upload the notebook through the jupyter interface).

  2. Once you can access the catalogs, try to make some plots about things you are interested in. You can find some ideas that have been proposed, but you are more than welcome to come up with new ones!

  3. Now that you are able to make some plots, think about how to "validate" the catalogs (i.e., are there any observation/theory data that can be plotted on the same figure for comparison? How to decide whether a catalog is satisfactory?)

  4. Now we can integrate your work into the DESCQA web interface! This step is slightly more involved, but you can follow the instruction here.

Code structure

  • run_master.sh: a convenient shell script to run DECSQA
  • fix_web_permission.sh: a convenient shell script to ensure permissions are set correctly.
  • index.cgi: CGI script for web interface
  • descqa/: package that contains all the validation test classes and relevant utilities
  • descqa/configs/: directory that hosts all validation test config YAML files
  • descqa/data/: directory that hosts small data files that validation tests need
  • descqaqweb/: package that contains the web interface
  • descqaqrun/: package that contains the execution scripts
  • v1: catalog readers and validation tests for DESCQA v1

Dependencies

See install_requires and extras_require in setup.py for the full installation dependencies.

Note, to run DESCQA (v2), GCRCatalogs is also required.

Additional dependencies For v1