Mantid 2.0.2 Release Notes#

Note

These release notes were migrated from the retired Mantid wiki (archive.mantidproject.org). Trac ticket numbers are given for reference alongside the GitHub issue the ticket was migrated to.

Patch Release

Version

2.0.2

Requested by

Martyn Gigg

Approved by

Nick Draper

Authorised on

09 Feb 2012

Code Reviewed by

Russell Taylor

Code Reviewed on

14 Feb 2012

Review Recommendation

Release

Released on

16 Feb 2012

Key Features#

This is a patch release to correct some significant issues since the last stable release.

Changes in this version#

Ticket

Problem

Impact

Solution

#5798 (Trac 4951)

RHEL6: Updated Perftools library is preventing Mantid install

Updated RHEL6 machines cannot install Mantid

Build with the updated package and release a new RPM

#5662 (Trac 4815)

Improve performance of LoadInstrument (in particular for BASIS)

Basis loading to far too slow

Searching improvement leads to vast improvement in performance for any parameterised instruments

#5197 (Trac 4350)

\(Q\)->\(\lambda\) conversion for peak picked from instrument window is incorrect

The wavelength value in the resultant table is incorrect.

Remove normalisation by \(2\pi\) when creating the Peak object

#5782 (Trac 4936)

Two functions in the new Python API have letters with the wrong case

Scripts that should work do not

Fix the case, which will stop the error from permeating too far

#5797 (Trac 4952)

Alter mantid versioning to allow 2.0.2

Version number would be wrong

Alter versioning to allow the full version to be specified

#5702 (Trac 4855)

Race condition in DiffractionFocussing

Results from DiffractionFocussing are different each time when no bins are masked

Fix DiffractionFocussing

#5810 (Trac 4964)

Updated IDFs - NOMAD, WISH, POLARIS, REF_M, LET, CNCS

Files have been updated

#5811 (Trac 4965)

Facilities.xml updates. ARGUS zero padding was incorrect

New tags for BASIS, CNCS, SEQUOIA, ARCS and VISION. ARGUS zero padding fixed

#5812 (Trac 4966)

HYSPEC T0 Error. T0 for HYSPEC was hard coded to zero

HYSPEC data cannot be reduced using CTE GUI

Add T0 equation in python script.

Code Review#

Review of Specific Changes#

Ticket

Problem

Implementation Notes

Probability of side effects

#5798 (Trac 4951)

RHEL6: Updated Perftools library is preventing Mantid install

Package name and version matches that in epel repository for RHEL6.

None outside of RHEL6 installation (unless someone tries to install the release rpm on an unsupported platform).

#5662 (Trac 4815)

Improve performance of LoadInstrument (in particular for BASIS)

The hasParameterElement variable will have identical contents following the changed code section with both the new and old code. The pNL_parameter variable looks to be redundant now, assuming the reserve call it’s used in does not have a big effect on speed.

Zero. In principle this could affect any instrument that has parameters in its IDF; however, see the comments at left.

#5197 (Trac 4350)

\(Q\)->\(\lambda\) conversion for peak picked from instrument window is incorrect

The removal of the line dividing through by 2*pi will ensure that the final Q retains this factor. The goniometer matrix is now added to the peak (would previously have been absent). Although not a comment on new code, it would be better if unit calculations such as this were all in a central place. Furthermore, there’s an existing open ticket (#4547 (Trac 3700)) concerning having calculational logic such as this in a gui layer.

No effect possible unless using a Peaks workspace created via the instrument view.

#5782 (Trac 4936)

Two functions in the new Python API have letters with the wrong case

Small, well-confined changes that look good.

Scripts that use getDetectorIds (with the small ‘d’) will no longer work.

#5797 (Trac 4952)

Alter mantid versioning to allow 2.0.2

Requires change to the (cmake) code each time the version number needs fixing, but this is preferable to having to set some flag everywhere the package is to be built. Should be revisited when future changes move us away from ‘git describe’ for version numbering.

Have to take care to keep the line fixing the version number out of development builds.

#5702 (Trac 4855)

Race condition in DiffractionFocussing

Minor, but clearly correct change.

None

#5810 (Trac 4964)

Updated IDFs - NOMAD, WISH, POLARIS, REF_M, LET, CNCS

Mostly corrections or new definition files. WISH changes will only affect names in instrument tree display.

Won’t be any except when loading data files of affected instruments.

#5811 (Trac 4965)

Facilities.xml updates. ARGUS zero padding was incorrect

Trivial changes.

None

#5812 (Trac 4966)

HYSPEC T0 Error. T0 for HYSPEC was hard coded to zero

Formula matches M. Hagen’s notes.

None, if not reducing HYSPEC data. Even then, limited to inelastic gui backing script.

Are any changes included in the release that are not accounted for above?#

No.

Is the collective effect of the changes acceptably low risk?#

Yes, the vast majority are small (in terms of the amount of code changed) and in very well-isolated areas. The most pervasive is the change under ticket 4815, which has been thoroughly examined via inspection and manual and automated testing. The changes to instrument definition files in some cases will have a large impact for the instruments affected, but should have been implemented in conjunction with instrument scientists, who will have agreed the changes.

Code Reviewer Recommendation#

Get it out there!