tprerequisites.rst - pism - [fork] customized build of PISM, the parallel ice sheet model (tillflux branch) (HTM) git clone git://src.adamsgaard.dk/pism (DIR) Log (DIR) Files (DIR) Refs (DIR) LICENSE --- tprerequisites.rst (2308B) --- 1 .. include:: ../global.txt 2 3 .. _sec-install-prerequisites: 4 5 Required tools and libraries 6 ============================ 7 8 This table lists required dependencies for PISM alphabetically. 9 10 .. csv-table:: 11 :header: Required Library, Comment 12 13 CMake_, version `\ge` 3.1 14 FFTW_, version `\ge` 3.1 15 GSL_, version `\ge` 1.15 16 MPI_, any recent version 17 NetCDF_ [#]_, version `\ge` 4.4 18 PETSc_ [#]_, version `\ge` |petsc-min-version| 19 UDUNITS_, any recent version 20 21 Before installing these "by hand", check sections :ref:`sec-install-debian` and 22 :ref:`sec-install-macos` for specific how-to. 23 24 In particular, if multiple MPI implementations (e.g. MPICH and Open MPI) are installed 25 then PETSc can under some situations "get confused" and throw MPI-related errors. Even 26 package systems have been known to allow this confusion. 27 28 .. note:: 29 30 We recommend un-installing all MPI libraries except one. In most cases there is no 31 reason to have both Open MPI and MPICH, for example. 32 33 Optional libraries listed below are needed for certain PISM features, namely computing 34 longitude, latitude coordinates of grid points and parallel I/O. These libraries are 35 recommended, but not strictly required: 36 37 .. csv-table:: 38 :header: Optional Library, Comment 39 40 PROJ_, version `\ge` 6.0 (used to compute longitude-latitude grid coordinates and cell bounds) 41 PnetCDF_, Can be used for faster parallel I/O 42 ParallelIO_, Can be used for faster parallel I/O 43 44 Python_ is needed for the PETSc installation process; a number of PISM's pre- and 45 post-processing scripts also use Python (either 2.7 or 3.x), while Git_ is usually needed 46 to download the PISM code. 47 48 PISM's Python bindings support Python 2.7 or 3.3 and later [#]_. 49 50 The following Python packages are needed to do all the examples in the :ref:`User’s Manual 51 <sec-users-manual>` (which run Python scripts): 52 53 .. csv-table:: Python packages 54 :header: Library, Comment 55 56 NumPy_, used in *most* scripts 57 matplotlib_, used in some scripts 58 netcdf4-python_, used in *most* scripts 59 60 .. rubric:: Footnotes 61 62 .. [#] Note that PISM uses ``ncgen`` (provided by NetCDF) on the system where PISM is 63 *compiled*. 64 .. [#] "PETSc" is pronounced "pet-see". 65 .. [#] PISM's Python bindings are tested using Python 3.6.