Open EarlHummocks opened 1 month ago
It means that an integer value is too large to handle for the parts of the code written in C. Probably it is p['Asteps']
, or iseed
.
Please print these numbers by putting
print(p['Asteps'], iseed)
before the line
me.maxent(Aw,rfac,alpha,temp,Ker,sxt,Gt,model,dom,p['Asteps'],iseed)
in the maxentropy.py file, in order to identify which it is.
Thank you very much for a quick reply.
p['Asteps'] = 4000 and iseed = 3435014071
Within the maxent subroutine (maxent_routines.f90), iseed is declared as INTEGER
INTEGER, intent(in) :: nt, nw, steps, iseed
which means that it expects a 32-bit integer.
But iseed=3435014071, which is outside of the range -2^31, ..., 2^31-1 for signed 32-bit integers.
The value is generated in maxentropy.py by any of the python commands:
iseed = random.randint(0,2**32-1)
or
iseed = random.randint(0,maxint)
If we set
iseed = random.randint(0,2**31-1)
in all places, we will always get a a number that is within the allowed range.
Hi!
I am trying the MnO tutorial, but I get the following error when trying to run maxent. Has anyone experienced this?