Ticket #11565 (assigned)
LoadInstrument does not overload existing IDF despite explicitly beeing asked to do so.
Reported by: | Alex Buts | Owned by: | Alex Buts |
---|---|---|---|
Priority: | critical | Milestone: | Release 3.5 |
Component: | Framework | Keywords: | |
Cc: | nick.draper@… | Blocked By: | #11569 |
Blocking: | Tester: |
Description (last modified by Alex Buts) (diff)
Try the script:
Load(Filename='LET00014320.nxs', OutputWorkspace='SR_LET4320', LoadMonitors=True) LoadInstrument('SR_LET4320','C:/Mantid/Code/Mantid/instrument/LET_Definition.xml') Targ = 'SR_LET4320_MoveShift' ScaleX(InputWorkspace=LET4320, OutputWorkspace=Targ , Factor=-34302.115963939235, Operation='Add', InstrumentParameter='DelayTime', Combine=True)
The data file in the row 1 can be loaded from ftp://ftp.nd.rl.ac.uk/scratch/abuts/Ticket_11565/ and contains old IDF stored in it. This IDF does not contain DelayTime property. This is why the second row calls algorithm, which should load new IDF which contains the DelayTime property.
The script fails with the error:
ScaleX: Spectrum at index '30724' has no parameter named 'DelayTime' Error in execution of algorithm ScaleX: ScaleX: error (see log)
which indicates that old IDF has been used and LoadInstrument algorithm does not work properly.
Change History
comment:3 Changed 5 years ago by Alex Buts
After investigations I have find out, that when instrument is loaded from nexus file, the algorithm takes "valid from" date from recent IDF file but the IDF information itself from the data, written to the nexus file. After that if refuses to load new (correct) IDF.
This has to be fixed on LoadIDF from Nexus level by somebody who know what vtp files are and why they are there.
comment:4 Changed 5 years ago by Alex Buts
- Owner changed from Alex Buts to Anders Markvardsen
- Status changed from new to assigned
comment:7 Changed 5 years ago by Alex Buts
It apparently works on Unix, as instrument decoration function always generates strange name there, while on windows it still always fails.
I believe the part of this ticket (and ultimate test of the fact that its done properly) would be removal of hack in code/Mantid/scripts/Inelastic/Direct/RunDescriptor.py, rows 987:966. This would also test the fix correctness when you first reduce one of runs specified there with hack, and then, with proper fix.
comment:8 Changed 5 years ago by Harry Jeffery
- Owner changed from Anders Markvardsen to Alex Buts
- Milestone changed from Release 3.4 to Release 3.5
comment:11 Changed 5 years ago by Stuart Campbell
This ticket has been transferred to github issue 12403