dgrin1 / axionCAMB

MIT License
19 stars 7 forks source link

Running "camb params.ini" immediately after correctly compiling with gfortran gives error #7

Open Dhell96 opened 2 years ago

Dhell96 commented 2 years ago

Running "camb params.ini" after correctly compiling with gfortran i get the error: " Error result inithermo: failed to find end of recombination Note: The following floating-point exceptions are signalling: IEEE_INVALID_FLAG IEEE_DIVIDE_BY_ZERO IEEE_UNDERFLOW_FLAG IEEE_DENORMAL"

dgrin1 commented 2 years ago

Hello there - I have had similar errors, both with axionCAMB and the version of CAMB it is based on. I have found that I can get around this problem by either a) switching to g95 or ifort or b) removing some of the optimization flags in the fortran compile command for camb in Makefile_main

If you send along your makefile and any other details I can try to reproduce the error, or help you out over a zoom call.

Dhell96 commented 2 years ago

Hi, thanks for your fast reply! I will send the makefiles, because it's the only thing i changed after downloading the code. And i forgot to mention that i'm on windows, if this could help. However i will try both the options you suggested!

Here it is the makefile and makefile_main. Thanks in advance!

Makefile_main.txt Makefile.txt .

dgrin1 commented 2 years ago

I would try toggling the flags below on and off...., or switching to g95. Windows should not be a problem. I've definitely run up against this issue before, and it behaves differently on different compilers/OSs, and always get it working through some of the permutations described below and above and in my prior message. Let me know if you need mor ehelp

F90C = gfortran# -ffast-math FFLAGS = -O3

-ffast-math

Dhell96 commented 2 years ago

Hi, thanks again! Itried ifort but that's the error, i can't even compilate:

make ifort -O3 -c constants.f90 process_begin: CreateProcess(NULL, ifort -O3 -c constants.f90, ...) failed. make (e=2): Cannot find the specified file. make: *** [Makefile_main:85: constants.o] Error 2

Then i tried to use gfortran with all the permutations you suggested (in the makefile, right?) but the error still persists.

And g95 site is now under maintenance.

Thanks in advance!

dgrin1 commented 2 years ago

Always run make clean repetitively . That just looks like a dangling file from a prior iteration

Keep me posted

Sent from my iPhone

On Jan 8, 2022, at 12:44 PM, Dhell96 @.***> wrote:

 Hi, thanks again! Itried ifort but that's the error, i can't even compilate:

make ifort -O3 -c constants.f90 process_begin: CreateProcess(NULL, ifort -O3 -c constants.f90, ...) failed. make (e=2): Cannot find the specified file. make: *** [Makefile_main:85: constants.o] Error 2

Then i tried to use gfortran with all the permutations you suggested (in the makefile, right?) but the error still persists.

And g95 site is now under maintenance.

Thanks in advance!

— Reply to this email directly, view it on GitHub, or unsubscribe. Triage notifications on the go with GitHub Mobile for iOS or Android. You are receiving this because you commented.

Dhell96 commented 2 years ago

Everytime i use make i use a completely new clean folder with clean code just to not have this kind of problem. I don't really know what is going on because it's my first time using make and compiling in fortran. Switching to linux could help me in some way?

Dhell96 commented 2 years ago

Hi, i managed to compile it using the linux bash and installing ifort there. So, if i run params.ini, now everything works well, I suppose. Last question: how can i generate graphs, for example the Halo Mass Function or the matter power spectrum, now?