-
Notifications
You must be signed in to change notification settings - Fork 24
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Bugfix: Fix the MET vx_pointdata_python library to handle MET_PYTHON_EXE for python embedding of point observations #2428
Comments
Run this script python_commands.sh.txt on seneca to demonstrate. And then diff the resulting log files. MET_PYTHON_EXE works as expected for plot_data_plane:
But it does NOT work for plot_point_obs:
There are no real differences in the plot_point_obs log files, when there should be! Ideally, fix this by migrating MET_PYTHON_EXE logic from ascii2nc into library code some that can be accessed by all the point observation tools, such as point_stat, ensemble_stat, plot_point_obs, point2grid, and so on. While fixing this, recommend updating log messages as follows:
|
If user defined MET_PYTHON_EXE is the same as the MET_PYTHON_BIN_EXE (python at compile time), is it OK not to write/read the temporay NetCDF file? |
I don't know the technical details from a MET side of things, but if But maybe @JohnHalleyGotway or @georgemccabe have a different thinking? |
execution times from unit tests (the first: without MET_PYTHON_EXE and the second: with MET_PYTHON_EXE)
|
I recall an issue a while back that was resolved by setting MET_PYTHON_EXE explicitly to the same version of Python, but I don't know if it is still an issue. From what I remember, there was a conflict between the HDF5 library used to install MET and the HDF5 library that is obtained when installing the h5py python package. It failed when MET_PYTHON_EXE was unset but succeeded when MET_PYTHON_EXE was set. It looks like the /usr/local/met-python3 version does not have the h5py package installed, so we would have to build MET with another Python to test. I may not be remembering the details correctly and this may have been resolved in changes to the Python Embedding logic long ago. I lean towards writing the temp NetCDF file if MET_PYTHON_EXE is set by the user regardless of the value. Yes, it takes longer to run, but checking and forcing behavior based on this value may prevent a viable work around to potential issues. |
Describe the Problem
When a user runs a point data tool
plot_point_obs
,point_stat
, etc. with the environment variableMET_PYTHON_EXE
set, MET does not override the default Python with the value fromMET_PYTHON_EXE
.Expected Behavior
When a user sets
MET_PYTHON_EXE
, the MET tools should override the default Python executable and use the users Python executable. The example below under "To Reproduce" reports this:but I would expect it to say this:
Environment
Testing on seneca on Linux using the MET develop nightly build which reports the Python executable being used.
To Reproduce
On seneca:
Relevant Deadlines
List relevant project deadlines here or state NONE.
Funding Source
2792542
Define the Metadata
Assignee
Labels
Projects and Milestone
Define Related Issue(s)
Consider the impact to the other METplus components.
Bugfix Checklist
See the METplus Workflow for details.
Branch name:
bugfix_<Issue Number>_main_<Version>_<Description>
Pull request:
bugfix <Issue Number> main_<Version> <Description>
Select: Reviewer(s) and Development issue
Select: Organization level software support Project for the current coordinated release
Select: Milestone as the next bugfix version
Branch name:
bugfix_<Issue Number>_develop_<Description>
Pull request:
bugfix <Issue Number> develop <Description>
Select: Reviewer(s) and Development issue
Select: Repository level development cycle Project for the next official release
Select: Milestone as the next official version
The text was updated successfully, but these errors were encountered: