-
Notifications
You must be signed in to change notification settings - Fork 17
Running the Code
There are several distinct parts of the code that correspond to different steps:
- Generating analysis products (beam transfers, KL modes, PS estimators)
- Simulating data (creating maps, generating timestreams)
- Analysing data (making maps, estimating powerspectra)
Below I'll try and give a brief overview of how to run each.
There is a reasonably stream lined approach to generating all the intermediate products required to do forecasting and data analysis. There is a reasonably obvious (but at the moment undocumented) configuration file format that allows you to set everything up and run easily. There is a well documented example here.
When you've setup a params file, you can fun it with:
python ./scripts/simulate.py param_file_name.yaml
If you're on a cluster (such as SciNet) and have a large problem, you'll probably want to run this as a batch job. If you run
python ./scripts/mkjob_simulate.py param_file_name.yaml
it will create the required directories, make a job script, and then submit it to the queue listed in the file.
This runs through and creates the beamtransfers. The relevant directories that it creates are:
./bt/ # Beam transfers
./bt/beam_f/ # Frequency ordered
./bt/beam_f/00/ # First frequency
./bt/beam_f/00/beam.hdf5 # All the beams for frequency 00.
./bt/beam_m/ # m-ordered beams
./bt/beam_m/30/ # All the beams for m=30
./bt/beam_m/30/beam.hdf5 # The B matrices for m=30
./bt/beam_m/30/svd.hdf5 # The SVD beams
simulations_21cm: make sky, foregrounds
python ./simulations_21cm/scripts/mk_sky_21cm.py
import healpy m1 = hdf5 file freq X pixel healpy.mollview(m1[0])
healpy.anafast(m1[0]) for ang. power spec.
for timestream: /drift/pipeline/mk_timestream
python mk_timestream.py loc_config_file output_dir --map 21cm_map.hdf5 --noise n_days
pipeline: testpipe.py