paudetseis/PyRaysum

Error AttributeError: module 'fraysum' has no attribute 'run_full'

seismoprocess opened this issue · 4 comments

While executing streamlist = prs.run(model, geom, rc) i am getting error as

lib/python3.7/site-packages/pyraysum/prs.py", line 2128, in run
traces, traveltimes, amplitudes, phaselist = fraysum.run_full(
AttributeError: module 'fraysum' has no attribute 'run_full

Plz suggest a answer.

Dear @seismoprocess thank you for raising this issue. This suggests pyraysum did not install successfully. Your error message above also suggests perhaps you did not use conda to install pyraysum (?) and used the fortran compiler available on your system by default. Can you copy and paste the commands you used to install the software? As well as the full log (screen capture) of the result? Thanks

Thanks for your comment. I installed the pyraysum using the below command.

git clone https://github.com/paudetseis/PyRaysum.git
cd PyRaysum
pip install .

Error: when I am trying for more than 15 layer cases using below code

import numpy as np
from pyraysum import prs, Model, Geometry, Control

Vs=np.loadtxt('swave_vel.txt')
Vp = Vs * 1.732
rho = 0.5+0.5* Vs
H = np.loadtxt("thickness.txt")
H=np.array(H)

flag = np.repeat(1,len(Vs))
aniso = np.repeat(0.0,len(Vs))
trend = np.repeat(0.0,len(Vs))
plunge = np.repeat(0.0,len(Vs))
strike = np.repeat(0.0,len(Vs))
dip = np.repeat(0.0,len(Vs))
model = Model(H,rho,Vp,Vs,flag,aniso,trend,
plunge,strike,dip,maxlay=20)
geom = Geometry(30., 0.05)
rc = Control(dt=0.01, npts=3000, mults=1, rot=1,shift=5.0)
streamlist = prs.run(model, geom, rc)

And the error is
streamlist = prs.run(model, geom, rc)
File "/home/seiamo/pgms/anaconda3/envs/pyrays/lib/python3.7/site-packages/pyraysum/prs.py", line 2129, in run
*model.parameters, *geometry.parameters, *rc.parameters
ValueError: failed in converting 1st argument `thick' of fraysum.run_full to C/Fortran array

Unfortunately, the current installation workflow does not re-compile the .o files upon installation. You can either try a fresh installation from source, making sure to change the parameters in param.h before installation, or, if your system allows that, call make in pyraysum/src. Either way, I hope that resolving #14 (comment) will also resolve this issue.

Here is a step-by-step guide on how to approach this issue: #18 (comment)