This toolkit provides comprehensive Fisher matrix analysis for LSST 3x2pt probes combined with spectroscopic surveys (DESI, 4MOST). The package enables cosmological parameter forecasting and systematic error analysis for various survey combinations and binning strategies.
- Multiple survey combinations:
- LSST 3x2pt
- 6x2pt (LSST + DESI/4MOST)
- Flexible configuration:
- Multiple binning strategies (0.05, 0.1, 0.2 redshift bins)
- Various cosmological models (ΛCDM, w₀wₐ, mν)
- With/without nuisance parameters
- Comprehensive outputs:
- Fisher matrices
- Covariance matrices
- SACC files
- Forecast visualizations
git clone https://github.com/LSSTDESC/6x2pt_LSST_and_ext_Spec.git
cd 6x2pt_LSST_and_ext_Spec
-
Firecrown = 1.11
⚠️ After installation, you must manually modify a regular expression infirecrown/metadata_types.py
to support spectroscopic tracers.
Update the following line:- LENS_REGEX = re.compile(r"^lens\d+$") + LENS_REGEX = re.compile(r"^(lens\d+|spec\d+|spec_bgs\d+|spec_lrg\d+|spec_elg\d+)$")
-
Pyccl > 3.0.2
-
Augur = 1.1.0
The main pipeline is executed via:
cd runs/run_name/
python run_pipeline.py general.yaml
Available runs include:
- 3x2pt_LSST
- 6x2ptLSST_DESI[BGS/ELG/LRG]_0.2bin
- 6x2ptLSST_DESI_FULL[0.2/0.1/0.05]bin
- 6x2pt*LSST_4MOST_FULL_0.2bin
The package uses YAML configuration files to control all aspects of the pipeline. These are organized by
- general.yaml - Controls the pipeline run (output path, pipeline choices, YAML configuration choices, etc)
- probes_properties.yaml - Sets survey and tracer properties (e.g, inclusion RSD, Distribution path, fsky value, nuisance parameters, etc)
- probes_combination.yaml - Defines which probe combinations are included in the data vector
- array_choices.yaml - Redshif and
$\ell$ arrays, scale cuts - cosmology.yaml - Cosmological parameters values
- prior_choices/*.yaml - Prior values for parameters (for the nuisance parameters can be shared or tracer-specific)
- range_choices/*.yaml - Range choices for Fisher cosmological derivatives
example configuration hierarchy:
runs/
└── run_name/
├── config_yamls/
│ ├── array_choices.yaml
│ ├── cosmology.yaml
│ ├── probes_combination.yaml
│ ├── probes_properties.yaml
│ ├── range_choices
│ │└── range_choice.yaml
│ └── prior_choices
│ └── prior_choice.yaml
└── general.yaml
Key components of the repository:
6x2pt_LSST_and_ext_Spec/
├── functions_setup
│ ├── config_builder.py # Central config manager
│ ├── fourrier_covariance_fsky.py # Gaussian covariance using Firecrown infrastructure (adapted from Tjpcov covariance_builder)
│ ├── likelihood_build.py # Likelihood builder
│ ├── sacc_generator.py # SACC file generator
│ ├── spec_dndz_config/ # Precomputed dN/dz files for DESI/4MOST surveys
│ ├── utils.py # Utility functions for the Sacc file generator
│ ├── runs/ # runs dictionary (3x2pt, 6x2pt, etc.)
└── one_covariance_setup/ # dictionary with OneCovariance files (not yet implemented!!!!)
Some files—such as the SACC files and the redshift distributions for the DESI DR1/EDR sample—could not be included in the GitHub repository due to their large size. We recommend the following setup:
-
To run the notebooks in spec_dndz_config/ for generating the redshift distribution of the DESI DR1/EDR sample, place the .txt histogram files—produced by desitutorials—inside the auxiliar_files/ directory.
-
Create a sacc_files/ directory within the runs directory to ensure that the generated SACC files are stored in the correct location.
Contributions are welcome! Please open an issue or submit a pull request.