Data Treatment Software
The participants of Workshop IV in Lund, Sweden
Software that allows a researcher to turn instrument data into publishable data is a very important step in the experimental process. However, a broadening user profile at neutron sources means that many neutron users are non-experts in programming and are coming from a widening range of scientific backgrounds. To meet the demands and expectations of these users it is imperative to have easy to use and understandable software across all facilities that can save time and allow the innovation of neutron techniques to prosper.
SINE2020 has taken this challenge on in the form of the Data Treatment Software work package. Software developers and researchers based in 6 Partner countries have been working together to:
1. Create Guidelines and standards
These Guidelines and Standards form the basis of the development work. These define the programming languages and other criteria that should be used in software packages to help deliver maintainable and sustainable software. For example, all software should preferably be written in C++ and / or Python and use a Qt Graphical User Interface (GUI). These were chosen as they are the most common and suitable tools for the software and thus makes it easier for anyone in the community to contribute, develop and share their work. You can read more about these Guidelines and download them here.
2. Develop Mantid at continuum sources
The Mantid software framework has been chosen as the standard for reducing experimental data. It will be used at the ESS and other facilities are progressing towards its adoption. Within the SINE2020 framework the instruments at three facilities: ILL (D2B, D11, D17, D20, D22, D33, Figaro, IN4, IN5, IN6, IN15B), MLZ (TOFTOF, DNS, POWTEX), PSI (AMOR, BOA, FOCUS, POLDI) are all having their data reduction software moved and updated to Mantid and the challenge for the developers is to transfer the useful functionality from the old system to the new. As an example, you can read about the work of Verena Reimund who is doing just this with LAMP at ILL.
3. Create and improve existing interoperable data treatment software
This type of software performs the last step in the process, data analysis, to produce publishable data from Mantid-reduced experimental data. Software packages have been established for different techniques. They use user-friendly workflows and are relevant no matter where an experiment is performed. You can find out more about them in the following article(s).
- For Imaging, reflectometry and SANS: MuhRec/KipTool, BornAgain, SasView
- For QENS, INS and modelling: MUESR, MDANSE, Mantid (QENS), abINS
All of these tasks should enable straightforward generation of scientific results for non-expert and industry users and get the community ready for the ESS from day one.
The work has involved many people and has been facilitated by annual work package workshops that have taken place in Villigen (Switzerland), Grenoble (France), Soragna (Italy) and Lund (Sweden); regular code camps and workshops for specific software packages and regular dissemination activities to encourage contributions from third party developers and users. Thomas Holm Rod at the ESS Data Management and Software Centre in Denmark has been the main coordinator over the last four years.
Now at the end of SINE2020, all the software packages are available to download. They are all open source and will all be maintained going forward. There are also plans to update the Standards and Guidelines and continue the annual workshops that proved so useful for the community, expanding them so that they cover software for all techniques, for example, diffraction that was not covered as part of SINE2020.
Acknowledgements: Thomas Holm Rod, ESS DMSC