# IRPF90 public/static/IRPF90_box.png IRPF90 is a Fortran programming environment which helps the development of large Fortran codes by applying the Implicit Reference to Parameters method (IRP). In Fortran programs, the programmer has to focus on the order of the instructions: before using a variable, the programmer has to be sure that it has already been computed in all possible situations. For large codes, it is common source of error. In IRPF90 most of the order of instructions is handled by the pre-processor, and an automatic mechanism guarantees that every entity is built before being used. This mechanism relies on the *needs/needed by* relations between the entities, which are built automatically. Codes written with IRPF90 execute often faster than Fortran programs, are faster to write and easier to maintain. If you use IRPF90, please cite this paper : [arXiv:0909.5012v1](http://arxiv.org/abs/0909.5012). ## Download * [Download latest version](https://gitlab.com/scemama/irpf90/releases/latest) * The source files are available on [GitLab](http://gitlab.com/scemama/irpf90) ## How to use IRPF90 * [Installation] * [IRPF90 GitBook](http://scemama.gitbooks.io/irpf90), and the [pdf version](http://irpf90.ups-tlse.fr/files/irpf90_manual.pdf) ## Presentations * [PDF presentation](http://irpf90.ups-tlse.fr/files/cours_irpf90.pdf) * [PDF Presentation (in french)](http://irpf90.ups-tlse.fr/files/cours_irp1.pdf) * [Article in HPC Magazine (in french)](http://www.hpcmagazine.fr/hpc-labs/irpf90-un-generateur-de-code-fortran-pour-le-calcul-scientifique/) * [Presentation at HPCKP 2015 Barcelona (video in english)](https://youtu.be/TpMXkBlePSE) * [Presentation at JDev2015 Bordeaux (video in french)](https://webcast.in2p3.fr/videos-irpf90) ## Tutorials * [Simple Tutorial] * [Molecular dynamics tutorial](http://irpf90.ups-tlse.fr/tutorial/index.html), [pdf version](http://irpf90.ups-tlse.fr/files/irpf90_tutorial.pdf) ## Video demo {{< vimeo id="154503567" class="my-vimeo-wrapper-class" >}} ## Some programs written with IRPF90 * [Quantum Package](http://github.com/LCPQ/quantum_package) : Library of quantum chemistry methods * [QMC=Chem](http://qmcchem.ups-tlse.fr) : Massively parallel Quantum Monte Carlo program for Chemistry * [EZFIO](http://gitlab.com/scemama/EZFIO) : The Easy Fortran I/O library generator * [Other examples here](http://www.lct.jussieu.fr/pagesperso/reinh/IRP/IRPf90.html) : Programs developed by P. Reinhardt