I work in the field of accelerator physics and synchrotron radiation. High energ
ID: 660557 • Letter: I
Question
I work in the field of accelerator physics and synchrotron radiation. High energy electrons circulating in large rings of magnets produce x-rays that are used for a variety of different kinds of science.
Running and improving these facilities requires controlling and modelling the electron beam as it circulates in the ring. A code to model this basically requires trackers to follow the electrons through the elements (something called a symplectic integrator), and then the computation of different parameters associated with this motion. The problem with these codes is that every facility has there own (maybe 4-5 different codes, some with multiple versions). In principle the code is not so complex. And as a modelling project, one might think it has some general interest. Who doesn't want to be able to create a track in space out of magnets and watch the electrons circulate?
There is a Matlab based code to do this called Accelerator Toolbox, but the creator of the code is no longer in the field. I put the code in Sourceforge under the name atcollab. The basic resource is a set of symplectic integrators written in C. These are then compiled into mex code and interfaced via Matlab. It has been useful to put the code on Sourceforge in order to exchange code, but the community of users is quite small and most are too busy to put that much time into collaboration. So in terms of really improving the code, I don't think it has been so successful.
Any piece of this picture could be recreated without that much difficulty, but overall it is a bit complex, and because each lab has their own installation with lots of added-on code and locally developed tools, people find it hard to really work together and share code. Somehow I think we need to involve a wider community in our development, or just use some standard tools. But for that, I suppose it needs to be of some general interest. I think symplectic integrators may have some general interest. And the part about a plug-in architecture to build up the ring ought to fit other patterns. Or the other option is to just accept that this is not a problem of general interest, and work harder within our small community.
Suggestions or anecdotes of analogous experience would be appreciated.
Explanation / Answer
I think that the main thing you need to do is make contacts with more people in similar positions at other scynchrotrons. Share your code and ideas with with more people and you may be able to get them to share their code with you, or at the very least contribute to improving your code.
If there isn't enough overlap between what the communal project is doing and what each individual lab does then you will find it difficult to motivate your existing collaborators, let alone bring in new ones. You may want to discuss with your current collaborators what can be done to help more people use the software in the project. Maybe some people prefer to do something in a slightly different way to how you do it at the moment and that is a barrier to their inclusion.
To find new collaborators, you could hunt through scientific papers published by synchrotrons around the world, looking for people doing the same sort of work you are doing. Another option is to go to conferences and make more contacts that way.
Diamond Light Source, the UK Synchrotron facility, decided to release it's user facing Data Acquisition and Scientific data analysis software under GPL a few years ago. The OpenGda website has allowed us to make contact with a number of synchrotrons around the world who are starting to deploy GDA onto beamlines at their facilities.
You may want to look at the Computational Science stack exchange site, it is turning into quite a useful resource.
Also, talking about open science, for a great example of crowdsource science, take a look at foldit. Harnessing the tenacity, intuition and ingenuity of gamers allows science do do things like Decode AIDS Protein That Stumped Researchers For 15 Years In Just 3 Weeks.