CosmoCoffee Forum Index CosmoCoffee

 
 FAQFAQ   SearchSearch  MemberlistSmartFeed   MemberlistMemberlist    RegisterRegister 
   ProfileProfile   Log inLog in 
Arxiv New Filter | Bookmarks & clubs | Arxiv ref/author:

CosmoMC: Problem with adding new parameters
 
Post new topic   Reply to topic    CosmoCoffee Forum Index -> Computers and software
View previous topic :: View next topic  
Author Message
Henry Lin



Joined: 06 Mar 2012
Posts: 7
Affiliation: Caddo Magnet High School

PostPosted: May 01 2012  Reply with quote

Hi all,

I've recently modified the (updated 2012) PPF module so that it uses an alternate dark energy equation of state parameterization. When I run CAMB by itself, it gives good results.

I then followed the steps on http://cosmocoffee.info/viewtopic.php?p=4698 to add the new parameters to CosmoMC. Unfortunately, I get the following when running CosmoMC:

Code:

 Computing tensors: F
 Doing CMB lensing: T
 lmax           = 2100
 Number of C_ls =    4
 Varying  6 parameters ( 0 fast)
 starting Monte-Carlo
 Initialising BBN Helium data...
 bad xa input in splint


I've inserted a print command which shows that at the time of the error, the parameters have the correctly loaded values. I can run the standard version of CosmoMC just find.

Thanks for your time!
Back to top
View user's profile  
Sheng Li



Joined: 26 May 2009
Posts: 44
Affiliation: Univ. of Sussex

PostPosted: May 04 2012  Reply with quote

Henry Lin wrote:
Hi all,

I've recently modified the (updated 2012) PPF module so that it uses an alternate dark energy equation of state parameterization. When I run CAMB by itself, it gives good results.

I then followed the steps on http://cosmocoffee.info/viewtopic.php?p=4698 to add the new parameters to CosmoMC. Unfortunately, I get the following when running CosmoMC:

Code:

 Computing tensors: F
 Doing CMB lensing: T
 lmax           = 2100
 Number of C_ls =    4
 Varying  6 parameters ( 0 fast)
 starting Monte-Carlo
 Initialising BBN Helium data...
 bad xa input in splint


I've inserted a print command which shows that at the time of the error, the parameters have the correctly loaded values. I can run the standard version of CosmoMC just find.

Thanks for your time!


Just One cue:
Reverse xa (virtual argument) in its according file, then reverse to actual argument insteadof xa;

No detail outputs, no further help.

If you switched on "debug" while doing compilation, you must see many outputs, which you would better to paste here, so that you or others can help you better and further.

If you dont know how to switch on debug, you can insert the following line after f90 compilation option in your Makefile under the folder "source".

-O0 -g debug -all

Change your default optimization to -O0 (no optim.. then accelerate compiling process).

So, return here with output msgs after doing that.
Good luck.
Back to top
View user's profile [ Hidden ]
Henry Lin



Joined: 06 Mar 2012
Posts: 7
Affiliation: Caddo Magnet High School

PostPosted: May 12 2012  Reply with quote

Thanks so much for your reply! I've changed the makefile to
Code:
FFLAGS = -O0 -g -debug


Incidentally, I'm running cosmobox with ifort.

I get the following messages:
Code:

-I/home/ubuntu/workspace/likelihood -c cmbtypes.f90
cmbtypes.f90(26): warning #5117: Bad # preprocessor line
#ifdef DR71RG
-^
cmbtypes.f90(33): warning #5117: Bad # preprocessor line
#else
-^
cmbtypes.f90(39): warning #5117: Bad # preprocessor line
#endif
-^
cmbtypes.f90(34): error #6418: This name has already been assigned a data type.   [NUM_MATTER_POWER]
  integer, parameter :: num_matter_power = 74 !number of points computed in matter power spectrum
------------------------^
cmbtypes.f90(35): error #6418: This name has already been assigned a data type.   [MATTER_POWER_MINKH]
  real, parameter    :: matter_power_minkh =  0.999e-4  !1e-4 !minimum value of k/h to store
------------------------^
cmbtypes.f90(36): error #6418: This name has already been assigned a data type.   [MATTER_POWER_DLNKH]
  real, parameter    :: matter_power_dlnkh = 0.143911568     !log spacing in k/h
------------------------^
cmbtypes.f90(37): error #6418: This name has already been assigned a data type.   [MATTER_POWER_MAXZ]
  real, parameter    :: matter_power_maxz = 0.    !6.0
------------------------^
cmbtypes.f90(38): error #6418: This name has already been assigned a data type.   [MATTER_POWER_LNZSTEPS]
  integer, parameter :: matter_power_lnzsteps = 1 !20
------------------------^
compilation aborted for cmbtypes.f90 (code 1)
make: *** [cmbtypes.o] Error 1


Thanks for your time!
Back to top
View user's profile  
Sheng Li



Joined: 26 May 2009
Posts: 44
Affiliation: Univ. of Sussex

PostPosted: May 16 2012  Reply with quote

Let me simply reply under your latest post.

I don't understand why those lines
Quote:
#ifdef DR71RG
....
#end if

would not be recognised in cosmoBox.

But if you really want to use DR71RG, which is explained in README in CosmoMC page. then check how to configure it.

For the following lines, which indicated you did not define matter_power or such stuffs. so you should look for all the places where they might be used. Or you can define them in you module or somewhere (basically, in each subroutine in which those variables are used).

Or, another possibility is you did not configure well WMAP 7-year data, where most key variables are defined. Then camb and mcmc explorer can find them without question.
However, if those variables are NEW, as you proposed in you post, then you will have to define them as i said above.

btw: debug option should be fully as (the following is enough to get most debug info)
-O0 -g debug -check all

(sorry for missing '-check all' in my last post.)
Back to top
View user's profile [ Hidden ]
Henry Lin



Joined: 06 Mar 2012
Posts: 7
Affiliation: Caddo Magnet High School

PostPosted: May 20 2012  Reply with quote

Thank you so much for your help!

I was able to resolve this problem by simply adding -fpp. Now my only problem is once i run cosmomc I get
Code:

 Computing tensors: F
 Doing CMB lensing: T
 lmax           = 2100
 Number of C_ls =    4
 Varying  6 parameters ( 0 fast)

forrtl: severe (408): fort: (2): Subscript #1 of the array PMAT has value 14 which is greater than the upper bound of 13

Image              PC        Routine            Line        Source             
cosmomc            08AF6BB9  Unknown               Unknown  Unknown
cosmomc            08AF5935  Unknown               Unknown  Unknown
cosmomc            08AAA961  Unknown               Unknown  Unknown
cosmomc            08A654E6  Unknown               Unknown  Unknown
cosmomc            08A657F4  Unknown               Unknown  Unknown
cosmomc            08077CB3  Unknown               Unknown  Unknown
cosmomc            080E91CF  Unknown               Unknown  Unknown
cosmomc            081078F8  Unknown               Unknown  Unknown
cosmomc            08054124  Unknown               Unknown  Unknown
libc.so.6          00129113  Unknown               Unknown  Unknown
Back to top
View user's profile  
Sheng Li



Joined: 26 May 2009
Posts: 44
Affiliation: Univ. of Sussex

PostPosted: May 21 2012  Reply with quote

Henry Lin wrote:
Thank you so much for your help!

I was able to resolve this problem by simply adding -fpp. Now my only problem is once i run cosmomc I get
Code:

 Computing tensors: F
 Doing CMB lensing: T
 lmax           = 2100
 Number of C_ls =    4
 Varying  6 parameters ( 0 fast)

forrtl: severe (408): fort: (2): Subscript #1 of the array PMAT has value 14 which is greater than the upper bound of 13

Image              PC        Routine            Line        Source             
cosmomc            08AF6BB9  Unknown               Unknown  Unknown
cosmomc            08AF5935  Unknown               Unknown  Unknown
cosmomc            08AAA961  Unknown               Unknown  Unknown
cosmomc            08A654E6  Unknown               Unknown  Unknown
cosmomc            08A657F4  Unknown               Unknown  Unknown
cosmomc            08077CB3  Unknown               Unknown  Unknown
cosmomc            080E91CF  Unknown               Unknown  Unknown
cosmomc            081078F8  Unknown               Unknown  Unknown
cosmomc            08054124  Unknown               Unknown  Unknown
libc.so.6          00129113  Unknown               Unknown  Unknown


Good, since you can get the error msg.

The output error msg indicated that your defined array "PMAT" is out of its allocated bound.

Search your file for of PMAT which is used/called, or defined.

so, then you need to check the size of array PMAT (if this array is actually defined BY YOU OWN SIDE), or what extra components are passed to PMAT.
Back to top
View user's profile [ Hidden ]
Henry Lin



Joined: 06 Mar 2012
Posts: 7
Affiliation: Caddo Magnet High School

PostPosted: May 28 2012  Reply with quote

I found PMAT under paramdef.f90. I've bumped up the number of hard parameters in settings and I've changed the proposed covariance matrix (params_CMB.covmat), but I still get
Code:

ubuntu@cosmobox:~/workspace/cosmomc2$ cos
 Random seeds:  5362, 21711 rand_inst:   0
 Computing tensors: F
 Doing CMB lensing: T
 lmax           = 2100
 Number of C_ls =    4
 Varying  7 parameters ( 0 fast)
forrtl: warning (402): fort: (1): In call to I/O Read routine, an array temporary was created for argument #1

forrtl: warning (402): fort: (1): In call to I/O Read routine, an array temporary was created for argument #1

forrtl: warning (402): fort: (1): In call to I/O Read routine, an array temporary was created for argument #1

forrtl: warning (402): fort: (1): In call to I/O Read routine, an array temporary was created for argument #1

forrtl: warning (402): fort: (1): In call to I/O Read routine, an array temporary was created for argument #1

forrtl: warning (402): fort: (1): In call to I/O Read routine, an array temporary was created for argument #1

forrtl: warning (402): fort: (1): In call to I/O Read routine, an array temporary was created for argument #1

forrtl: warning (402): fort: (1): In call to I/O Read routine, an array temporary was created for argument #1

forrtl: warning (402): fort: (1): In call to I/O Read routine, an array temporary was created for argument #1

forrtl: warning (402): fort: (1): In call to I/O Read routine, an array temporary was created for argument #1

forrtl: warning (402): fort: (1): In call to I/O Read routine, an array temporary was created for argument #1

forrtl: warning (402): fort: (1): In call to I/O Read routine, an array temporary was created for argument #1

forrtl: warning (402): fort: (1): In call to I/O Read routine, an array temporary was created for argument #1

forrtl: warning (402): fort: (1): In call to I/O Read routine, an array temporary was created for argument #1

forrtl: warning (402): fort: (1): In call to I/O Read routine, an array temporary was created for argument #1

 starting Monte-Carlo
 Initialising BBN Helium data...
(alpha, beta) = ( 0.50000,  1.00000)
 bad xa input in splint
(alpha, beta) = ( 0.50000,  1.00000)
ubuntu@cosmobox:~/workspace/cosmomc2$
Back to top
View user's profile  
Sheng Li



Joined: 26 May 2009
Posts: 44
Affiliation: Univ. of Sussex

PostPosted: May 28 2012  Reply with quote

Henry Lin wrote:
I found PMAT under paramdef.f90. I've bumped up the number of hard parameters in settings and I've changed the proposed covariance matrix (params_CMB.covmat), but I still get
Code:

ubuntu@cosmobox:~/workspace/cosmomc2$ cos
 Random seeds:  5362, 21711 rand_inst:   0
 Computing tensors: F
 Doing CMB lensing: T
 lmax           = 2100
 Number of C_ls =    4
 Varying  7 parameters ( 0 fast)
forrtl: warning (402): fort: (1): In call to I/O Read routine, an array temporary was created for argument #1

forrtl: warning (402): fort: (1): In call to I/O Read routine, an array temporary was created for argument #1

forrtl: warning (402): fort: (1): In call to I/O Read routine, an array temporary was created for argument #1

forrtl: warning (402): fort: (1): In call to I/O Read routine, an array temporary was created for argument #1

forrtl: warning (402): fort: (1): In call to I/O Read routine, an array temporary was created for argument #1

forrtl: warning (402): fort: (1): In call to I/O Read routine, an array temporary was created for argument #1

forrtl: warning (402): fort: (1): In call to I/O Read routine, an array temporary was created for argument #1

forrtl: warning (402): fort: (1): In call to I/O Read routine, an array temporary was created for argument #1

forrtl: warning (402): fort: (1): In call to I/O Read routine, an array temporary was created for argument #1

forrtl: warning (402): fort: (1): In call to I/O Read routine, an array temporary was created for argument #1

forrtl: warning (402): fort: (1): In call to I/O Read routine, an array temporary was created for argument #1

forrtl: warning (402): fort: (1): In call to I/O Read routine, an array temporary was created for argument #1

forrtl: warning (402): fort: (1): In call to I/O Read routine, an array temporary was created for argument #1

forrtl: warning (402): fort: (1): In call to I/O Read routine, an array temporary was created for argument #1

forrtl: warning (402): fort: (1): In call to I/O Read routine, an array temporary was created for argument #1

 starting Monte-Carlo
 Initialising BBN Helium data...
(alpha, beta) = ( 0.50000,  1.00000)
 bad xa input in splint
(alpha, beta) = ( 0.50000,  1.00000)
ubuntu@cosmobox:~/workspace/cosmomc2$



Good, I think you are close to clean all issues.
*This msg suggests that your codes encounter just an I/O error.

Just check one subroutine which is called before proceeding to start Monte-Carlo.
To do that, you should locate this *array (which may or may not created by you)* between "Varying 7 parameters" and "starting Monte Carlo".

grep the above two key words, then I think you can find some I/O procedures in which the error occurred.

Besides, if you can run your *cos* after Monte Carlo, I think there is possibly no technical errors before getting your expected outputs. If you could not get that, you will have to debug and refine your codes in some physical principles.

Good luck.
Back to top
View user's profile [ Hidden ]
Sheng Li



Joined: 26 May 2009
Posts: 44
Affiliation: Univ. of Sussex

PostPosted: May 28 2012  Reply with quote

by the way, to do that:
Code:

grep -in "varying\|parameters" *90

then
Code:

grep -in 'starting Monte-Carlo' *90


then you will find one or two subroutines to look into.
Back to top
View user's profile [ Hidden ]
Henry Lin



Joined: 06 Mar 2012
Posts: 7
Affiliation: Caddo Magnet High School

PostPosted: June 09 2012  Reply with quote

Hi Sheng,
Many thanks again for all of your time. I've used grep to find that the warnings are associated w/ the loading covariance matrix. This is in fact not a problem that needs to be addressed; the standard version of CosmoMC also produces these warnings under debug mode, but it can run with no issues. I've reinstalled everything and I think the issue is with the new version of the PPF module. http://cosmocoffee.info/viewtopic.php?t=1849. Any thoughts?
Back to top
View user's profile  
Sheng Li



Joined: 26 May 2009
Posts: 44
Affiliation: Univ. of Sussex

PostPosted: June 09 2012  Reply with quote

Henry Lin wrote:
Hi Sheng,
Many thanks again for all of your time. I've used grep to find that the warnings are associated w/ the loading covariance matrix. This is in fact not a problem that needs to be addressed; the standard version of CosmoMC also produces these warnings under debug mode, but it can run with no issues. I've reinstalled everything and I think the issue is with the new version of the PPF module. http://cosmocoffee.info/viewtopic.php?t=1849. Any thoughts?


Hi,
I think this is not the case I can do. I could not say anything if I did not explore PPF module.
It seemed that the author of PPF said she would update this module. So I think you can either ask her help or probably just wait until the PPF updated.

Alternatively, you may find the functional modules elsewhere which can support your modules.
Back to top
View user's profile [ Hidden ]
Dario Scovacricchi



Joined: 18 Jul 2012
Posts: 1
Affiliation: University of Trieste

PostPosted: July 18 2012  Reply with quote

Hi,
I have exactly the same problem with ppf module.
When I run it, I obtain: bad xa input in splint
Do you solve the problem? Can you help me?
Back to top
View user's profile  
Hamzeh Alavi



Joined: 27 Oct 2011
Posts: 4
Affiliation: KIT

PostPosted: November 19 2012  Reply with quote

Henry Lin wrote:
Hi all,

I've recently modified the (updated 2012) PPF module so that it uses an alternate dark energy equation of state parameterization. When I run CAMB by itself, it gives good results.

I then followed the steps on http://cosmocoffee.info/viewtopic.php?p=4698 to add the new parameters to CosmoMC. Unfortunately, I get the following when running CosmoMC:

Code:

 Computing tensors: F
 Doing CMB lensing: T
 lmax           = 2100
 Number of C_ls =    4
 Varying  6 parameters ( 0 fast)
 starting Monte-Carlo
 Initialising BBN Helium data...
 bad xa input in splint


I've inserted a print command which shows that at the time of the error, the parameters have the correctly loaded values. I can run the standard version of CosmoMC just find.

Thanks for your time!


I have the same problem, I followed the suggestions above, but the problem still exists. Could you solve it?
Back to top
View user's profile  
Display posts from previous:   
Post new topic   Reply to topic    CosmoCoffee Forum Index -> Computers and software All times are GMT + 5 Hours
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


Powered by phpBB © 2001, 2005 phpBB Group. Sponsored by WordWeb online dictionary and dictionary software.