We are looking for someone to translate an existing and functional fortran code in C++. The code is about 15000 lines it is largely undocumented and repetitive, even though it is conceptually very simple. There is no gui, and the command line interface is very simple, however there is input/output of large data files. It relies on lapack for linear algebra and mpi for parallelization. Whoever takes this project will have to
1) Reverse engineer the code. There are notes and publications that will be of help.
2) Reimplement the code in C++. We are not too picky about the design, but we prefer the development of supporting libraries and abstract classes that will allow the core of the code to be really simple and easy to modify. However there should be performance and feature parity with the old code. We will provide detailed guidelines about the desired interface.
3) Provide unit testing classes in order to demonstrate code correctness.
The programmer will get not only compensation but also acknowledgment or authorship in papers published in frontier physics journals.