Author: David Maibach
Last Update: 20.05.21
Note: This code was created in the context of my master's thesis in the department of physics at ETH Zurich. The results of the simulations you find in this repository are published in "Extracting the Signal of Cosmic String Wakes from 21-cm Observations" (...) in the following refered to as [1].
Cosmic strings produce overdensities that lead to an extra emission or absorption of 21 cm radiation before the epoch of reionization. Modern day interferometers are capable of measuring signals at high redshift, i.e. signals from the dark ages. With this project we show that interferometers such as MWA in Australia are well capable of picking out string signatures from a contaminated measurement patch in the sky even for small survey sizes, provided that suitable filtering techniques and foreground removal schemes are applied. A simulation of a 25 square degree patch containing residual foregrounds, Lambda-CDM fluctuations, instrumental noise and the cosmic string signature is generated by the code you will find here.
This repository provides all tools and python files to recreate the numerical simulations describes in [1]. The code is thoroughly commented and selfexplainatory. For further clarification of theoretical concepts, see [1].
The project is devided into 4 distinct pyhton files: "Angular_power_sp.py" contains a routine to calculate the angular power spectrum of Lambda-CDM fluctuations using the package PyCosmo (https://cosmo-docs.phys.ethz.ch/PyCosmo/PyCosmo.html) developed at ETH Zurich by the Cosmology Group around Prof. Alexandre Refregier (https://cosmology.ethz.ch/). This is generally redshift dependent. The output file contains the spectrum for every l-mode in the considered range (which is adaptable).
"Instrumental_power_sp.py" computes the instrumental power spectrum based on the input of an antenna configuration for an interferometer (256T_update.txt used in [1]). This code was partially created by Devin Crichton (https://cosmology.ethz.ch/People/person-details.Mjc2Nzgx.TGlzdC8zNzA4LC0xMzgyOTQ3MjAz.html), a group member of the cosmology group at ETH Zurich. The output file describes again the instrumental noise power spectrum depending on the l-modes that are observed.
"chisqu_in_kspace.py" calculates the chi^2 estimator for testing the residual foreground contaminated background model including Lambda-CDM fluctuations against the same background with a string signature added. Note that no instrumental noise is included and no foreground removal applied in this code slip. The significance of the estimator value is not calculated by this file but can be inferred from the chosen degrees of freedom and the output of "chisqu_in_kspace.py".
"threepointfn_and_removal" analogously determines the three-point function of a foreground contaminated interferometer measurement under the consideration of instrumental noise as well. A foreground removal technique is applied taking advantage of the long correlation lengths of the foregrounds compared to a cosmic string signature as well as the foreground's smooth redshift dependence.
For detail explanantions of individual code segments we refer to the comments in the ".py" files. If you have any follow-up questions, please contact [email protected].
Thank you for the interest in this work!