Standard and Guidelines for data treatment software defined as first deliverable in WP10
The standard and guidelines were presented at Workshop II for a mixed audience of developers and users.
This report summarises outputs from task 10.2 of WP10. The purpose of this task is to provide guidelines and standards that should be used to exploit and interface to neutron data treatment software developed in this WP.
New, and improvements to existing, neutron data treatment software are continuously needed. The reasons for this is that the field of neutron scattering is not static; there is a continuous development of new instruments, new detectors and detector electrons, improvements in computing networks and hardware, and most topical in relation to the building of ESS.
This report, in addition to an introduction, has three main sections:
- Based on answers from a questionnaire broad guidelines are derived for how to best develop software for neutron data treatment, where the questionnaire targets existing well-established data treatment software and look for commonalities between these.
- For the specific use case of writing data loaders for complex neutron data formats, what best advices, i.e. guidelines, can be given for documenting such loaders?
- Many data treatment software depends critically on fitting. This report presents a new benchmarking library for comparing fit minimizers; a required step towards providing a standard for comparing the performance and stability of minimizers used for treating/analysing neutron data.
The proposed guidelines derived from the questionnaire were discussed in detail in a presentation at the SINE2020 workshop at ILL April 2017, where many participants provided inputs. The guidelines presented take into accounts these comments and these had the broad agreement of the 58 participants of this meeting.