CPC’s 50th Anniversary: celebrating 50 years of open-source software in computational physics

Abstract To celebrate the leading role Computer Physics Communications (CPC) has played in publishing open-source software in computational physics for over 50 years the editors are delighted to announce this Virtual Special Issue. Since 2018, coinciding with the 50th anniversary of the start of the CPC venture, thirty-two invited articles have been published. Each has been peer reviewed and each bears the header ‘CPC 50th anniversary article’. The special issue is in keeping with CPC’s ethos: it is focused on computational physics software and is accompanied by twenty-five software systems. The introduction to the collection also includes a personal reflection on Phil Burke, CPC’s founder, by Alan Hibbert, a lifelong colleague, who joined Queen’s University with Phil in the autumn of 1967. The distinctive feature of CPC is its Program Library which houses and distributes over 3500 open-source programs in computational physics. The introduction concludes with a description of key events in the history of the Program Library, its association with Queen’s University Belfast and its transfer to Elsevier’s Mendeley Data repository.

The concept of publishing descriptions of well-known computer programs and holding the programs in a computer program library was proposed by P.G. Burke to North-Holland following his appointment to the Chair of Mathematical Physics at The Queen's University of Belfast in 1967. Following discussions with W.H. Wimmers, the then Managing Editor at North-Holland, the journal Computer Physics Communications (CPC) and its associated Program Library were established in 1968. The former was published by North-Holland and the latter was established at The Queen's University of Belfast. Professor P.G. Burke was the Principal Editor of CPC and his wife, Mrs V.M. Burke, managed the Program Library.
In July 1969 sufficient program descriptions had been accepted for publication to fill the first issue of CPC and in September 1970 the first volume was completed. Now, with close to 10,000 articles and 3500 open-source computational physics programs published, CPC is a major resource for the computational physics community worldwide.
To celebrate CPC's leading role in publishing open-source software in computational physics for over 50 years the editors are delighted to publish this Virtual Special Issue. Since 2018, coinciding with the 50th anniversary of the start of the CPC venture, thirty-two invited articles have been published. Each has been peer reviewed and each bears the header 'CPC 50th anniversary article'. The special issue is in keeping with CPC's ethos: it is focused on computational physics software and is accompanied by twenty-five software systems. However, its scope is more flexible than for regular issues and this has allowed some https://doi.org/10.1016/j.cpc.2020.107269 0010-4655/© 2020 The Author(s). Published by Elsevier B.V. This is an open access article under the CC BY license (http://creativecommons.org/licenses/by/4.0/). experimentation in publishing articles beyond our normal scope. The articles were invited from the following communities.
1. First, five contributions come from authors of computational physics software whose papers are amongst CPC's most highly cited publications. These include updates on the following packages: PYTHIA [1], HDECAY [2], Loopedia [3], FeynHiggs [4], and ABINIT [5]. It is particularly pleasing to note that the first four packages are closely connected to CERN, an institution that was one of the Program Library's first subscribers in 1969. The final package, ABINIT [5], was the most highly cited contribution [6] to CPC's 40th anniversary issue. 2. Second, eight contributions come from the UK Collaborative Computational Project [7] (CCP) community. CCPs bring together leading UK expertise in key fields of computational research to tackle large-scale scientific software development, maintenance and distribution. Phil Burke was instrumental in their inception whilst Head of the Theory and Computational Science Division at Daresbury Laboratory (1977-1982) a position he held jointly with his professorship at Queen's University Belfast. These contributions centre around the following major computer codes.
3. CPC is a partner journal of the interdisciplinary computational science conference Platform for Advanced Scientific Computing (PASC) [20]. Five extended versions of papers published at PASC 2017 and 2018 have been contributed by this community.
i. The first paper, from the area of nuclear reactor neutronics modelling, investigates accelerating the radiation transport mini-application, Minisweep [21], on heterogeneous HPC systems. ii. A second paper, investigates the computational simulation of blood flow, developing a framework [22] for comparing vascular haemodynamics at different points in time. iii. Two papers describe DIAPHANE [23] a portable radiation transport library for astrophysical applications with the second releasing the code as open-source release [24]. iv. The final contribution reports on HistogramFreeMUCAA [25] a new multicanonical Monte Carlo algorithm, and associated Python code [26], to obtain the density of states for physical systems with continuous state variables in statistical mechanics.
4. The remaining 14 articles that complete the issue have been contributed by authors recommended by CPC's editors, both specially solicited and regular articles. This eclectic mix involves contributions from fields such as atomic physics, computational fluid dynamics, granular material simulation, ink seepage, many body quantum systems, molecular crystals, partial differential equations and quantum field theory. These papers are as follows.
i. GRASP2018 [27], a Fortran 95 version of the General Relativistic Atomic Structure Package; we are delighted to include this article as the lead author, Charlotte Froese Fisher, was one of the original Specialist Editor's listed in Volume 1, Issue 1, in 1969 [28]. ii. A fresh computational approach to atomic structures, processes and cascades which describes the Jena Atomic Calculator [29] which is implemented in Julia. iii. A code implementing a one-dimensional model of an atom exposed to a time-dependent intense, shortpulse EM field [30] providing a tool to train undergraduate physics majors in the art of computation and software development. iv. Optimisations [31] for improving the performance of unstructured finite volume CFD applications on modern multicore and many core processors. v. SPHERA v.9.0.0 [32], a Computational Fluid Dynamics research code, based on the Smoothed Particle Hydrodynamics mesh-less method. vi. ZEFR [33], a GPU accelerated high-order solver for compressible viscous flows using the flux reconstruction method; vii. SEMTEX [34], a code that enables direct numerical simulation of the incompressible Navier-Stokes equations in cylindrical or Cartesian coordinates. viii. MercuryDPM [35], a code for discrete particle simulations. ix. A paper on the 3D multiscale simulation of ink seepage [36] into paper at the fibre level.
x. An open source Matrix Product States [37] code, implemented in Python and Fortran 2003, providing the community with a toolset to analyze the statics and dynamics of one-dimensional quantum systems. xi. Genarris 2.0 [38], a random structure generator for molecular crystals. xii. Nektar++ [39], an open-source framework that provides a flexible, high-performance and scalable platform for the development of solvers for partial differential equations using the high-order spectral/ element method; xiii. FEMPAR [40], a scientific software library for the simulation of partial differential equations using finite element methods designed to be scalable on supercomputers and to easily handle multiphysics problems. xiv. Version 3.0 of the Mathematica package DoFun [41] for the derivation of functional equations.
Reproducibility and re-usability of code are important to CPC. Indeed throughout the period 2004-2016 much of the job of the Program Librarian was spent on installing and testing submitted software to ensure that it was portable and that the results claimed by the authors could be replicated. This activity is laborious and time consuming and, as additional Elsevier journals incorporate software into their publications, is not scalable across multiple journals. To explore how reproducibility and re-usability might be managed in the future CPC, along with other Elsevier journals, has been involved in a pilot project with Code Ocean [42] to enable authors to share fully-functional and executable code accompanying their articles. The project's main purpose is to enable preservation of code, data and the complete environment which is directly linked to the published article.
Code Ocean is a cloud-based reproducibility platform where authors upload code and data and configure the necessary computational environment for reproduction. The code, data, metadata, and computational environment, called a 'compute capsule', can then be accessed by reviewers in an anonymous fashion, and upon publication, is provided to readers via a link from the article. Code Ocean supports many open source programming languages, as well as Stata and MATLAB and compute capsules can be created from existing GitHub folders by easy drag and drop.
Since its inception in 1969 the CPC Program Library [51] has been physically located in, and administered by, Queen's University Belfast. Since May 2016 all software associated with new Computer Programs in Physics (CPiP) publications have been permanently housed in Elsevier's Mendeley Data repository [52] which is open source and freely available. Authors benefit from the enhanced discoverability and accessibility of the Mendeley Data platform [52], which is fully indexed and searchable alongside related Elsevier science and technology content. In addition, the long term maintenance of the repository is assured via agreements with the British Library. We are pleased to announce that the transfer of the entire contents of the Program Library was completed at the end of December 2019. This marks the end of an era of association between CPC and Queen's University Belfast and the key steps along the journey are highlighted in Section 3.
CPC has published close to 10,000 articles since its launch in 1969, including almost 3500 programs. Its benefit to the physics community is evidenced by the 450,000 downloads of programs from the CPC PL website [51] between 1995 and 2016. In the past two years one million full text articles were downloaded from ScienceDirect [53]. Twenty-six papers have been cited 1000+ times, the top one, GROMACS [54], describing a parallel messagepassing implementation of a molecular dynamics (MD) program that is useful for bio(macro)molecules in aqueous environment has been cited over 5200 times. Several papers have been downloaded over 25,000 times each. The journal's impact factor has steadily increased over the years and recently approached 4. CPC has been an undoubted success over the past 50 years and we should like to pay tribute to Phil and Val Burke for their efforts throughout, but particularly in the early years in providing a solid foundation of ideas, infrastructure and organisation upon which the success of CPC has been built. A personal reflection on Phil by Professor Emeritus Alan Hibbert, a lifelong colleague, who joined Queen's University with Phil in the autumn of 1967, can be found in Section 2.

Some memories of Phil Burke (A. Hibbert)
Phil and I both joined Queen's University Belfast in the autumn of 1967. I came to the department headed by David Bates as a postdoc; Phil came as full professor. And it rained every day for the next month! A leadership structure was soon established, with Phil heading the research effort, Benno Moiseiwitsch the teaching portfolio and with David in overall charge. It was a highly successful pattern.
I first met Phil when David suggested I go and see him with a view to my working with him. As I entered his office, he said ''Hello, I'm Phil; what's your name?''. It was the greeting of colleagues. Phil never did push status. To everyone, and for many years to come, he was just 'Phil'. But we all knew his qualities -he didn't need to pull rank, because he was highly respected by everyone.
He quickly established a small research group -including Donald Allison, Alfie Chivers, myself, and in due course Derek Robb, Ken Taylor and Keith Berrington, and later Stan and Penny Scott -with the aim of constructing robust and general programs to enable both atomic structure and atomic collision processes to be calculated. He was keen to encourage us to publish in CPC various modules which formed key steps on the way to creating these general programs, which in due course were also published in CPC. It was an exciting team to be a part of, not least because of the enthusiasm and vision of Phil.
From 1977 to 1982, Phil held a joint appointment with Queen's and the Daresbury Laboratory in Cheshire. But he maintained his teaching and research commitments in Queen's by travelling, every week in term time, on the Liverpool-Belfast boat -on Wednesday night from Liverpool and returning on Friday night. He spent the days in Belfast undertaking his undergraduate teaching and meeting graduate students and colleagues. I was by that time an adviser of studies to undergraduate students and they frequently told me that they really appreciated Phil's teaching, and his willingness to spend time with them in answering their questions. A later Vice-Chancellor at Queen's emphasized 'balanced excellence' -the importance of quality in all aspects of university life. Phil was the best example of balanced excellence I have ever known.
Phil and Val had bought a renovated cottage near the Mourne Mountains, which was a great place for quiet and thinking. When he was living in Cheshire and not using the cottage, he allowed members of the department and their families to use it for summer breaks, at an extraordinarily low rent -it would hardly have covered the cost of the electricity used! The deal was that we kept the grass cut, and so each Spring, a departmental work party was organized to spruce the place up. We had a lot of fun, and it helped to maintain the 'family' atmosphere in the department, that David Bates had been keen to engender.
Phil was a humble man. He expressed surprise at his election to Fellowship of the Royal Society when we gave a party in his honour. And years later, when he was simultaneously a member of the Councils of both the Royal Society and the Science & Engineering Research Council, he was amazed to get a letter to say he could only travel up to business class: he had always assumed he should travel economy! Phil 'retired' in 1998, and he moved his main base from Belfast to the house in Cheshire he and Val had bought while he worked in Daresbury. But his research continued unabated, and they both came over to Belfast regularly -initially for about a week each month -to discuss research with his colleagues there. He maintained an apartment near to the university, which made for easy access. Over time, the visits became less frequent, and the later ones comprised Phil and Val 'downsizing' his filing cabinets. A few years ago, he announced that he no longer felt able to undertake the trips to Belfast, but by then there was just one filing cabinet left and we were able to send him its contents to Cheshire quite easily.
He still enjoyed visits from old friends and colleagues, and I was able to call in at his home to see him on a number of occasions. My last visit was about a year before he died. He was clearly in failing health, but his interest in what was happening in Queen's was still strong.
Phil was a wonderful colleague. He had a fine mind, and a warm personality. He was a man of integrity. I miss him a great deal.

The CPC program library: 50 years of open-source software in computational physics (N.S. Scott)
The following announcement, under the heading of Miscellaneous Intelligence in the journal Nature on the 15th November 1969 [1], heralded the birth of the Computer Physics Communications Program Library (CPC PL).
''AN international library of computer programs in physics has been established at the Queen's University, Belfast, with the help of a grant from the Science Research Council. The idea is that the library will acquire and store computer programs, supplying a copy of each to regular subscribers or copies of particular programs to individual scientists''.
In this article I trace the key developments throughout the CPC PL time line shown in Fig. 1.

The beginning: 1967-1969
Towards the end of his tenure at the Atomic Energy Research Establishment, Harwell (1962)(1963)(1964)(1965)(1966)(1967) it became clear to Phil Burke [2] that the work of developing large computer programs to solve major problems in physics and chemistry was not being adequately recognized. This was confirmed through discussions with Keith Roberts who headed the Computational Science Group at the nearby Culham Laboratory. Discussions were brokered with North-Holland in the summer of 1967 around the publication of descriptions of computer programs that would be held in a computer program library. Then, in 1968, W.H. Wimmers, Managing Editor at North-Holland, visited Queen's University Belfast where Phil was now Professor of Mathematical Physics.
Wimmers [3] was enthusiastic but recognized that ''the running of the Library was too difficult for North-Holland from both technical and financial viewpoints ... technical handling ... required expertise that was simply not available to us . . . Financially, we were entirely in the dark, having not the slightest idea about subscription potential ... A Journal which would publish write-ups of the papers and the listings ... was something we understood and could handle ... So the project started in 1969 with separate management budgets for the library and journal''.
Wimmers eventually arranged for North-Holland to provide financial support for Val and a secretary to work on the Program Library until it got off the ground. Phil was to be Principal Editor, and consult with colleagues on the form of the journal and its coordination with the Program Library. The Library was in essence a research project, not a commercial venture, and the U.K. Science Research Council gave it financial support in the early stages until it could become self-supporting. During the  In July 1969 sufficient program descriptions had been accepted for publication to fill the first issue of Computer Physics Communications and in September 1970 the first volume was completed.

The early days: 1969-1971
In the late 60s and early 70s there was no Internet and programs came into the Library as card decks and occasionally on paper tape (Fig. 2). As each program deck was received, the library was copied to another tape along with the new program, forming the next generation of the library. The library system was distributed to each subscribing institution who became a mirror of the Queen's Library.
Institutional subscribers received four magnetic tapes per year each containing approximately 56,000 card images for an annual subscription of £100. Individual requests were supplied on minitape or program decks of punched cards in BCD, EBCDIC and other card codes. The magnetic tapes were written in a mode specifying tape width, number of tracks, density of characters per inch, inter-block gap and the character code most suitable for their institution, which involved translating from the author's 64character code to that of the subscriber. Tapes required two days to prepare including one day cooling. There was no guarantee that tapes would arrive at their destination undamaged, ''.. parcels could easily sit for hours at airports, possibly in the sun, leading to deterioration..'' [3].
A Program Summary Form was designed to hold metadata describing each program. The summaries were typed on punched cards in fixed format and stored on magnetic tape, identified by their catalogue number (Fig. 3). The summaries were stored in a retrieval system written by Shirley and Val in standard FORTRAN. The system could retrieve the summaries by catalogue number, author name and keyword. It was also used to print the Contents, Program and Author indices for the Journal.
In the first few issues the contents and indices appeared on photocopied line printer paper (Fig. 4). In later issues they appeared much more professional having been output directly onto photographic paper (Fig. 5). This was achieved using advanced technology of the time in a rather intriguing fashion [2], not in Amsterdam but in Co. Fermanagh, Northern Ireland.
The famous grammar school, Portora Royal (Old Portorans include Samuel Beckett and Oscar Wilde), in Enniskillen produced its school magazine with help from the local farming newspaper. The newspaper had a Compugraphic phototypesetter, which was at the vanguard of computerized typesetting. The schoolmaster, responsible for the school magazine, advised on the format of the paper tape required as input by the Compugraphic phototypesetter. The Program Library retrieval system was enhanced to produce the required paper tape on the University's ICL mainframe and, prior to the completion of each CPC volume, Val and Shirley motored to Enniskillen to generate the contents and indices which were then posted to North-Holland in Amsterdam. This was during the ''Troubles'' in Northern Ireland and in the Library archives I found a note from the schoolmaster to Val with a map describing how to bypass the newly erected street barricades in Enniskillen.
Looking back at the technical challenges of the day, and the background of unrest in Northern Ireland, it is remarkable that the Library got off the ground. However, it did and that is down to tenacity, expertise and commitment of the small team at Queen's University led by Val Burke. The number of subscribing institutes and universities rose rapidly and in 1970 included the 23 detailed in Table 1.

Consolidation: 1971-1995
Submissions to the Library were steady over the first few years ( Fig. 6) with, as to be expected, a predominance of Computer Programs in Physics papers (CPiP).
Phil insisted on the highest standards from the start with first article in CPC [5], by Keith Roberts, establishing principles and advocating that in the publication of software it was ''necessary to achieve the same professional standards that are characteristic of science and mathematics as a whole'' and ''it should be refereed''.
As anticipated by the Vice-Chancellor of Queen's University, Sir Arthur Vick, this placed additional responsibility on the reviewers and editors (Fig. 7). Potential reviewers were solicited by Phil. The first trawl to numerical analysts elicited encouraging responses not dissimilar to those received by today's editors.
Happy to help within time limits available; Happy to assist; Would be willing to referee the coding as well as the numerical methods; Happy to assist but not more than one every two months; Willing to referee descriptions of numerical or computational methods but not programs; Willing to referee an occasional paper in the area of ordinary differential equations; on year's leave of absence. Ask again; willing to help; Accept with pleasure; Glad to if there are not too many; Glad to help; Will referee descriptions of numerical method but not programs or listings; Interests have moved away; Willing to help in the area of numerical evaluation of special functions; Declined, changing job;     Willing to help; Declined because of other commitments. Very sympathetic to idea. Table 2 shows the acceptance and rejection rates between March 1972 and March 1974. The trend for CPiP papers to have a higher acceptance rate continues today. These submissions tend to be more mature, better developed and with clear significance.
Institutional subscriptions formed the back bone of the Library finances in the early years. However, this was a period of high inflation and the institutional subscriptions were supplemented by individual subscriptions which showed a steady year-on-year increase as shown in Fig. 8.
The grant from SRC was renewed twice and ended after seven years in 1976. Shirley's salary was covered by Queen's University until 1981 when the Program Library was generating sufficient recurrent income to be self-supporting but non-profit making.
Val continued to lead the Library until 1980 at which point Keith Roberts at Culham succeeded Phil as Principal Editor and Shirley Jackson succeeded Val as Program Librarian. The Library continued to be based in Queen's University with Phil assuming the role of Program Library Director in 1982. In the late 80s the library moved to on-line distribution of the library via the Internet initially using a VAX 11/750 belonging to the Department of Applied Mathematics and Theoretical Physics.
The Library now had around 500 programs, ninety percent of which were written in FORTRAN. Its storage, information retrieval and costing model remained largely unchanged [6] but there was a move towards publication of equal numbers of CPiP and computational physics (CP) papers [7]. The Library's maintenance system written in FORTRAN by Val and Shirley was itself published in CPC [8][9][10][11].
Accepted CPiP submissions were steady, as shown in Fig. 9, totalling 1588 by the end of 1994 and, averaging 61 published programs per year.

A time of change: 1995-2016
In 1995, Phil asked me to join him as Program Library Co-Director, passing the baton to me a couple of years after he retired from Queen's University in 1998. Since 1969 the Program Library had been based in Queen's University Belfast. It was now non-profit making and financially independent. However, it was always Phil's intention that the two components, CPC journal and CPC PL, would be integrated. And in 1995, following discussions between Queen's University and Elsevier, the Program Library was purchased by Elsevier for £1. The Program Library was then operated under contract by Queen's, initially for five-years with the option of yearly extension.
The World Wide Web was just beginning to be used seriously and in 1996 the Program Library became available via WWW [12]. Each computer program was concisely described by a Program Summary in HTML, using the metadata described earlier. The content was indexed under twenty-three headings ranging from Astrophysics to Statistical Physics.
An e-mail and a WWW information retrieval system enabled the Program Library Index to be explored, the Program Summaries to be viewed and searched and the programs to be retrieved. For the first few years the e-mail retrieval service used a listserver developed and maintained by Jerry Hopkinson at CLRC Daresbury Laboratory.
The journal subscription now included a subscription to the full Program Library and each member of a subscribing institute had electronic access to the entire contents of the Program Library throughout the period of subscription. Access was controlled by the domain of each institution's IP and email address. A CD-ROM was also delivered to each institutional subscriber twice a year.
This major computational physics resource, containing programs contributed by scientists worldwide, covering 23 broad areas of physics, was seamlessly and instantly delivered, 24/7, to anyone with an internet connection, from a server at Queen's University Belfast. Use of the Program Library via WWW quickly gained traction and showed a steady increase as illustrated in Fig. 10. It peaked in 2016 after Elsevier changed its subscription model in 2015 and gave free access to everyone.
Popularity, in terms of uploads (programs accepted) and downloads, across the twenty-three subject categories is shown in Fig. 11.
Shirley Jackson continued as Program Librarian until illness forced her to retire in 2004 after 36 years of dedicated service to the Library and to the computational physics community. Dr Carol Phillips was recruited as Program Librarian. Carol quickly got to grips with the Library retrieval system. However, while functional, the FORTRAN system was dated, esoteric and after 30 years idiosyncratic. I rewrote it in Perl and Carol honed and enhanced it over the next 12 years.   Fig. 13.

The end of an era: 2016-2019
Whilst the CPC had pioneered the archival and distribution of open-source computational physics software for 50 years it was clear that scientific research had now become a much more complex process and that the Program Library needed to be integrated into the wider data ecosystem that was developing. This ecosystem was being designed to support the comprehensive data needs that now required collaboration across the communities that generate, store, retrieve and use data i.e. researchers, librarians, institutions, government offices, funders and publishers.
Elsevier acquired Mendeley in 2013 and one of its products, Mendeley Data, provided tools, processes and standards to enable the effective, rigorous and open research data management practices that were needed. Thus, to ensure the effectiveness and long     term viability of the Program Library it was decided to move the Library to the Mendeley Data repository. The decision was timed to coincide with the retirement of Dr Carol Phillips in 2016 who was subsequently replaced by Dr John Ballantyne in a new role of Technical Editor [13].
Since 2016 all new computer programs belonging to Computer Programs in Physics (CPiP) papers published in CPC have been lodged with Mendeley Data [13]. Each is linked to the corresponding CPC article on ScienceDirect and each can be downloaded free of charge (Fig. 14). Mendeley Data collaborates with Data Archive and Networked Services (DANS) [14] a service that promotes sustained access to digital research data and encourages researchers to archive and reuse data. Each CPC program is sent to the DANS-archive for long-term storage with appropriate CC0 metadata and a resolvable, persistent and versioned DOI.
By the end of 2019 the complete contents of the Program Library had been migrated to Mendeley Data and all traffic to the Program Library web server at Queen's University is now redirected to the requested content on the Mendeley Data repository [15]. This marks the end of an era and the completion of a successful and distinguished association with Queen's University Belfast.
CPC and its Program Library have undoubtedly been a resounding success for 50 years and I should like to pay tribute to the following: Phil Burke, who devised and led the project; Val Burke and Shirley Jackson who were the technical experts behind the design and implementation of Library system and who provided the technical infrastructure upon which success was built; Shirley Jackson (Program Librarian), Carol Phillips (Program Librarian) and John Ballantyne (Technical Editor) whose painstaking support for contributors and subscribers has enhanced the Program Library's reputation across the international scientific community; Mike Jones, Archana Palani, Wouter Haak and the Mendeley Data team for migrating the Program Library contents to the Mendeley Data platform. And finally to North-Holland, Elsevier and Queen's University Belfast for their support and encouragement throughout the journey.
It has been a pleasure and a privilege to be Director of the Program Library and I am delighted to see to a successful conclusion this chapter of the Library's life.