***************************************************************** * PINOCCHI0 V3.0 * * (PINpointing Orbit-Crossing Collapsed HIerarchical Objects) * ***************************************************************** This code was written by Pierluigi Monaco, Tom Theuns, Giuliano Taffoni Copyright (C) 2013 web page: http://adlibitum.oats.inaf.it/monaco/Homepage/Pinocchio/ This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA ******************************************************************** This file contains information on how to compile PINOCCHIO 3.0 ******************************************************************** Pinocchio is a mixed fortran90 and C, fully parallel (MPI) code, and has been developed under a linux (intel fortran compiler + gcc) cluster, but should work on most unix machines. REQUIREMENTS Pinocchio-3.0 requires: Message Passing Interface (MPI) libraries; fftw-2.1.5 double-precision libraries with MPI and fortran support (http://www.fftw.org/); the GNU Scientific Libraries (http://www.gnu.org/software/gsl/). SETUP We assume that all the libraries listed above are properly installed in the system. 1. Extract pinocchio from the .tar.gz file prompt> tar xvzf pinocchio-3.0.tar.gz or (if you don't have gnu tar) prompt> gunzip pinocchio-3.0.tar.gz ; tar xvf pinocchio-3.0.tar 2. Change directory to Pinocchio-3.0/src/ prompt> cd Pinocchio-3.0/src/ 3. Edit the Makefile and set the values of compilation variables to those suitable for your system. You find an a few example valid for our linux cluster with the intel fortran compiler, for the cosma4 machine at ICC, Durham and for the Fermi BlueGene machine at CINECA, Bologna. 5. Make the executable by typing prompt> make NB: you may need to copy the fftw_f77.i file in the src/ directory, you find it in the fftw-2.1.5 distribution. You will find the executable in the ../rundir/ directory, unless you have changed the RUNDIR variable in the Makefile. If the code does not compile, check carefully the Makefile and ask support to your local system manager. If everything fails, email all the details to monaco@oats.inaf.it. RUN Change directory to ../rundir/. You will find the executable pinocchio-3.0.x, an example of parameter file (parameters) and output file (outputs), and a directory example/ where you have the result of the example run, including a log of the standard output. Create a new directory my.example/, copy the file parameters and outputs to the new directory and run the code: > mpirun -np 8 ../pinocchio-3.0.x parameters It will generate catalogues of halos in a Lambda CDM cosmology; see the DOCUMENTATION file for more details. To check that the code has run smoothly you can either visualize the final catalogs in pinocchio.0.0000.example.catalog.out, or the mass function in pinocchio.0.0000.example.mf.out. See the file headers to know what the columns contain. If they are almost equal to the provided example, the installation has been successful. A plot.pro idl file that performs this operation is provided in the rundir/ directory; you can run it by typing IDL> @plot from the IDL prompt.