-
Notifications
You must be signed in to change notification settings - Fork 126
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
Python API does not work for 2.9.2 #3909
Comments
This is a circumstance where unfortunately you have to read the release notes for 2.8 and 2.9 to infer what is going on. In order to address metadata scalability issues the new BP5 engine (which was not the default in 2.8), more strictly separated the two read "modes" in ADIOS which were only informally separated in the file engines before. In particular 2.8 introduced ReadRandomAccess mode, in which the entire set of metadata in the input file is read upon Open() (this was the default behaviour in BP3/4) and then individual data items are selected with SetStepSelection before Get(). However by default if you simple do Read mode, BP5 assumes the much more efficient version where it loads metadata on a per-timestep basis on BeginStep(). The new BP5 behavior mirrors standard behavior in ADIOS streaming engines. The ambiguity in file engines was an unfortunate historical artifact. |
The fix seems easy enough, but it should be better documents and communicated. I do not see anything mentioned here, that implies this: https://github.com/ornladios/ADIOS2/releases/tag/v2.9.0. This should go in a section like Breaking changes. The documentation for Python does not mention random access at all. There is also no mention of this limitation in the documentation for these functions: https://adios2.readthedocs.io/en/v2.9.2/api_high/api_high.html#adios2.File.available_variables |
Community contributions are welcome... |
Duly noted now in the release notes. Thanks for the feedback |
Describe the bug
The python API in version 2.9.2 fails to return any data. I get empty lists for both attributes and variables. The file has been writen with Fortran API 2.9.2,
bpls
shows attributes with values. It worked well with 2.8.2.To Reproduce
Expected behavior
Python should return variables and attributes found in the adios file
Env:
OS:
Code:
Additional context
Worked with Adios 2.8.2
The text was updated successfully, but these errors were encountered: