Ticket #11565 (assigned)

Opened 5 years ago

Last modified 5 years ago

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:1 Changed 5 years ago by Alex Buts

  • Description modified (diff)

comment:2 Changed 5 years ago by Alex Buts

  • Blocking 11508 added

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:5 Changed 5 years ago by Alex Buts

  • Blocking 11508 removed

comment:6 Changed 5 years ago by Alex Buts

  • Description modified (diff)

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.

Last edited 5 years ago by Alex Buts (previous) (diff)

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:9 Changed 5 years ago by Alex Buts

  • Description modified (diff)

comment:10 Changed 5 years ago by Alex Buts

  • Blocked By 11569 added

comment:11 Changed 5 years ago by Stuart Campbell

This ticket has been transferred to github issue 12403

Note: See TracTickets for help on using tickets.