Skip to content
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

Unable to load data if a TimeSeriesProperty contains only a single time #38598

Open
rbauststfc opened this issue Jan 14, 2025 · 1 comment
Open
Labels
Investigation A task to investigate options for future work ISIS Team: Core Issue and pull requests managed by the Core subteam at ISIS ISIS Team: LSS Issue and pull requests managed by the LSS subteam at ISIS Reported By User Issues that were found or highlighted by a user/scientist

Comments

@rbauststfc
Copy link
Contributor

rbauststfc commented Jan 14, 2025

Original reporter: Max Skoda and John Webster from the ISIS Reflectometry Group

Describe the bug

Attempting to load run INTER81632 fails with error "Cannot guess ending value from a TimeSeriesProperty that contains only a single time".

To Reproduce

Run the following:

ws = Load("INTER81632")

Expected behavior

Prior to version 6.10 of Mantid, the workspace would still have been loaded with all the sample logs. This can be seen by running the above in version 6.9 of Mantid. It's unclear why this behaviour was changed (if it was intentional, or is a regression). Further investigation is needed to identify if the issue should be fixed in Mantid or in the Nexus file.

Platform/Version (please complete the following information):

  • Mantid Version: started in Mantid version 6.10

Additional context

The issue with this run appears to be in the Nima_mode SE log. If you look at entry selog->Nima_mode->value_log->time in the raw Nexus file (load into an HDF viewer) then there is only one positive time entry. This seems to be different to run INTER81633, which loads OK and has two positive time entries. Further investigation of the code would be needed to confirm that this is definitely the part of this entry that is causing the problem, it may not be, but it does seem consistent with the error message (and the location in the code that is throwing that error).

I am confident that something in the Nima_mode log is the cause of the problem as running the below script (which excludes this log) works OK:

ws = LoadEventNexus(Filename="INTER81632", LoadMonitors=True, BlockList="Nima_mode")

John has explained that he sees this occasionally whenever he uses a NIMA trough in a Reflectometry experiment (at a frequency of approximately one run in three experiments).

@rbauststfc rbauststfc added Bug Issues and pull requests that are regressions or would be considered a bug by users (e.g. crashing) Reported By User Issues that were found or highlighted by a user/scientist Investigation A task to investigate options for future work ISIS Team: LSS Issue and pull requests managed by the LSS subteam at ISIS ISIS Team: Core Issue and pull requests managed by the Core subteam at ISIS and removed Bug Issues and pull requests that are regressions or would be considered a bug by users (e.g. crashing) labels Jan 14, 2025
@rbauststfc
Copy link
Contributor Author

Max has been doing some comparisons of different Nexus file log entries and this seems to show that the number of positive time entries is not what is determining how many time series entries get loaded. I've now looked further into the code and I think (although this still needs further investigation to confirm) it may be to do with the number of valid entries. If you look at entry selog->Nima_mode->value_log->value_valid in the raw Nexus file then you can see that the Nima_mode log for INTER81632 has only one value marked as valid. The log loading code looks like it includes a step where it filters out invalid values (in method PropertyManager::filterByProperty), which would in theory leave us with only a single time series value for the Nima_mode log for INTER81632. Further investigation is required to confirm that this is really why we are getting the load error for this run.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Investigation A task to investigate options for future work ISIS Team: Core Issue and pull requests managed by the Core subteam at ISIS ISIS Team: LSS Issue and pull requests managed by the LSS subteam at ISIS Reported By User Issues that were found or highlighted by a user/scientist
Projects
Status: No status
Development

No branches or pull requests

1 participant