Comments (6)
The call to pm.models()
runs bellhop.exe
with an empty env file. This is the expected behavior. But bellhop isn't supposed to terminate with a runtime error. On my machine, I get this back from Bellhop:
$ bellhop.exe test.env
STOP Fatal Error: See print file for details
So I suspect this is to do with the version of Bellhop or with the compilation options. What version of Bellhop are you using?
Also, can you try running this in a new notebook:
import arlpy.uwapm as pm
import arlpy.plot as plt
import numpy as np
env = pm.create_env2d()
rays = pm.compute_eigenrays(env, model='bellhop')
pm.plot_rays(rays, env=env, width=900)
and see if it works...? This will skip the check for bellhop, and create a env file with proper content and run bellhop on it. It'll help us debug the problem.
from arlpy.
Hi mchitre, thanks for the quick answer! Yes, with a proper environment file, the code executes nicely. So the problem only occurs when the environmental file is empty. I get the same behaviour if I run bellhop.exe with an empty env file in the terminal, independent of your library.
from arlpy.
OK, probably a change in bellhop.exe behavior, or differences across platforms. Let me try and test with the latest version, and I'll update the mechanism to test availability of bellhop in the next release.
In the mean time, I presume you shouldn't be blocked, as you can just add the model = 'bellhop'
to your uwapm
calls, and it'll work fine without needing the detection.
from arlpy.
Yes, no urgency. I can continue working in the mean time.
Unrelated to this, I was wondering if you have plans to implement 3d environments and execution of bellhop3d?
from arlpy.
I haven't explored the file formats for Bellhop 3D since I don't use it, but they shouldn't be that different. It will likely be useful someday for me, and so I'll be happy to implement it if there's interest by others in using it. If you feel that you'll find value in it, do raise a feature request and I'll attend to it as soon as I get some time.
from arlpy.
Hopefully fixed. I can't test since I don't seem to be able to replicate the issue, but it now uses a non-existent file instead of an empty file, and at least on OSX, that seems to print an error message and gracefully terminate.
from arlpy.
Related Issues (20)
- Not able to compute or plot arrival times/ rays using bellhop model in python HOT 1
- Transmitter position/ possible request HOT 1
- Exposing when `bellhop.exe` is not recognized HOT 1
- Saving bellhop output file HOT 4
- Bellhop throws an unexpected error with arlpy default env file HOT 7
- How can I make sure that BELLHOP installed on my PC? HOT 12
- Range dependent profile -I am getting Print('[WARN] Bellhop did not generate expected output file') HOT 8
- np.int is deprecated in numpy == 1.20.0 HOT 1
- arlpy outputs debug messages to stdout HOT 3
- ARRFile output in two lines instead of one HOT 8
- Compatibility issues with Bokeh version 3.1.1 HOT 4
- Ability to plot a transmission loss slice at one receiver depth HOT 2
- CI is broken
- why is max_angle (and min) limited in bellhop uwapm? HOT 1
- Arrival Amplitude Calculation raises error HOT 9
- failed to validate FigureOptions(...).y_range HOT 2
- Impulse Response Calculation HOT 1
- compute_arrivals and compute_eigenrays do not work in parallel HOT 2
- The reference bellhop version which is compatible with arlpy HOT 1
- `nbeams` is messing up the uwapm notebook tutorial HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from arlpy.