View previous topic :: View next topic |
Author |
Message |
daan meerburg
Joined: 20 Nov 2007 Posts: 27 Affiliation: Cambridge
|
Posted: November 13 2017 |
|
|
Hi Anthony and co
I am trying to reproduce the 21cm polarisation power spectra as in https://arxiv.org/pdf/astro-ph/0702600.pdf -Fig. 9. Although it is not immediately evident, from running through the code it seems setting line_reionoization = .true. should produce polarised spectra.
The first question is if this is indeed the case?
If yes, I found that there are several issues with running the (GitHub) version of the code. I have tried both intel (16 and 17) and Gfortran compilers (gcc 7.2.0 ). With default settings (high lmax) the code crashes when solving the ODE's. Running with a debugging flag I find at least one issue in modules.f90 where the array TimeSteps%points runs out of bound (in the subroutine interp_window). Apparently this is not causing the later crash as I learned by patching this problem. Fortunately lowering lmax to 2000 seems to work and does not crash the code. However, now the EE power spectra and ET CMB power spectra are completely off. Producing some weird looking spectrum that is larger then the TT spectrum and resembles a matter or lensing power spectrum more then a CMB power spectrum ( I have attached a plot).
In any case, it seems to overwrite the CMB E-mode polarisation spectrum, but it is not clear with what (it also does not look like the spectrum in Fig. 9 of the aforementioned paper). Any thoughts? Maybe the sources are not overwritten but are added (so it would be the sum of CMB E-mode + 21cm E-modes??).
Also, even if line_reionization is the correct flag, there is no extra file produced for E-modes. I now simply turned off all other Line contributions. I then get a spectrum that looks somewhat similar to the spectrum in Fig. 9, however where the wiggles are much less pronounced (using the same redshift and same window).
Last, I tried to run tensors, but there is no equivalent file produced (the scalCov) that contains tensors. It is not really important right now, but I wondered if there is a way to produce the tensor 21cm polarisation spectra from the code.
Any help would be appreciated.
Best
Daan
EEspectrum_wLineReionizationTrue.pdf[/url] |
|
Back to top |
|
 |
daan meerburg
Joined: 20 Nov 2007 Posts: 27 Affiliation: Cambridge
|
Posted: November 13 2017 |
|
|
I should have added that the code only crashes in default + line_reionization = T |
|
Back to top |
|
 |
daan meerburg
Joined: 20 Nov 2007 Posts: 27 Affiliation: Cambridge
|
Posted: November 13 2017 |
|
|
Also, when get_trasfer = T the code also crashes (with line_reionization = T) with some floating error. |
|
Back to top |
|
 |
Antony Lewis
Joined: 23 Sep 2004 Posts: 1332 Affiliation: University of Sussex
|
Posted: November 14 2017 |
|
|
It's a long time ago now, but yes I think line_reionoization = .true. is supposed to produce the 21cm polarization spectra (replacing the standard EE spectrum in the output file). I doubt it has been properly tested for 10 years as these esoteric things are not really maintained, so may have got a bit broken (also you may need to boost accuracy etc to get nice results, I don't recall). Are you using devel branch (latest maintained CMB sources code) or the CAMB_sources branch?
I think the tensor case may not be in the public code, so you'd have to make the modification yourself. |
|
Back to top |
|
 |
daan meerburg
Joined: 20 Nov 2007 Posts: 27 Affiliation: Cambridge
|
Posted: November 14 2017 |
|
|
Hi Antony
I am using the CAMB_sources branch. Should I use the developer branch instead? I understand it has not been updated (the sources part). I was just hoping you might have an idea what is going on. I will see if I can trace what is happening.
Cheers
Daan |
|
Back to top |
|
 |
Antony Lewis
Joined: 23 Sep 2004 Posts: 1332 Affiliation: University of Sussex
|
Posted: November 14 2017 |
|
|
I'd certainly try the devel branch. |
|
Back to top |
|
 |
daan meerburg
Joined: 20 Nov 2007 Posts: 27 Affiliation: Cambridge
|
Posted: November 14 2017 |
|
|
unfortunately this version also gives a very strange spectrum that looks nothing like the results in your paper. Do you know if there has been a version that has ever worked? I have tried all the versions on the CAMB_sources website. All of them do not seem to work with line_reionization = T. If none of them has ever worked I might abandon looking for the source of the bug, since it could be a multiple number of issues after so long
Thanks
Daan |
|
Back to top |
|
 |
Antony Lewis
Joined: 23 Sep 2004 Posts: 1332 Affiliation: University of Sussex
|
Posted: November 15 2017 |
|
|
I can't immediately get anything very sensible either (will need to use various settings like use_spline_template = F, CMB_outputscale = 1 as well as increasing hard-coded lmax). Btw, I think tensors are included in 2007 versions of CAMB sources code. |
|
Back to top |
|
 |
daan meerburg
Joined: 20 Nov 2007 Posts: 27 Affiliation: Cambridge
|
Posted: November 16 2017 |
|
|
Hi
So you are saying if you set these you get something that makes a little more sense? I did not run into the lmax issue though, because I lowered lmax = 2000 (as the plot in your paper only goes to 200 or so anyway).
Which version from 2007 works you say?
thanks for the help btw |
|
Back to top |
|
 |
Antony Lewis
Joined: 23 Sep 2004 Posts: 1332 Affiliation: University of Sussex
|
Posted: November 16 2017 |
|
|
I'm not saying the 2007 version works (I didn't try it), just that the code for the tensor 21cm is included. I didn't get anything that actually looked right from the latest branch, but couldn't immediately see what the issue might be. |
|
Back to top |
|
 |
|