Overview

STATPACK is a Fortran 95/2003 library for solving the most commonly occurring mathematical and statistical problems in the processing of (huge) climate model outputs and datasets, and, more generally, in data analysis. STATPACK is a parallel, multi-threaded software based on the OpenMP standard [OpenMP]. Therefore, STATPACK will run on multi-core or, more generally, shared memory multi-processor computers. STATPACK does not run on distributed memory (e.g., clusters) parallel computers. Currently, STATPACK does not use Graphics Processing Units (GPUs), but this possibility may be included in future releases of STATPACK.

STATPACK consists of numerical algorithms using pure and portable Fortran 95/2003 language constructs and currently includes (in version 2.3):

  • Numerical linear algebra subroutines for statistical computations (LU, Cholesky, QR, QL and QLP decompositions, linear solvers, least square solvers, full and partial eigenvalue and singular value decompositions, generalized inverses of full or symmetric matrices, determinant of a square matrix,... )
  • Randomized and deterministic (full or partial) QR decomposition with Column Pivoting (QRCP), Complete Orthogonal Decomposition (COD) or QB decomposition of a matrix and associated linear least square solvers
  • State-of-the-art approximate partial eigenvalue and singular value decompositions based on randomized power subspace and block Krylov iterations, or a preliminary QRCP or QLP factorization
  • A large set of very fast randomized or deterministic routines for solving accurately the fixed-rank and fixed-precision problems
  • Randomized and deterministic routines for computing the column Interpolative (ID), two-sided Interpolative (tsID) and CUR decompositions of a matrix
  • Probability functions and their inverses
  • Statistical univariate and multivariate routines
  • Random number or matrix generation, Monte Carlo procedures and related procedures
  • Fast Fourier Transforms
  • Time series analysis routines
  • Utilities for printing and sorting matrices and vectors
  • Utilities for manipulating strings, dates and times
The emphasis of the software is on fast and robust algorithms appropriate for problems in which the associated matrices are large and dense, for example, those arising in the statistical analysis of very high resolution climate model outputs for which standard commercial or free softwares currently used in the climate scientific community (e.g., MATLAB, IDL, Grads, Ferret, Ncl, Python ) may have difficulties.

Note, finally, that prior to building the STATPACK library, none other packages are required or must be installed, meaning that STATPACK is a fully portable software.

However, optionally, the STATPACK library can also benefit from an optimized BLAS (Basic Linear Algebra Subprograms) library (e.g., OpenBlas, BLIS, ATLAS, GotoBLAS, MKL (Intel), ESSL (IBM), Accelerate Framework (Apple), Arm Performance Library (ArmPerfLib), AMD Optimization CPU Library (AOCL) ) for increased efficiency and includes an interface for several drivers in the LAPACK library if optimized versions of these libraries are available on your computer.

Licensing

STATPACK is a freely-available software package: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

STATPACK 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 Lesser General Public License for more details [license LGPL][license GPL].

STATPACK is copyrighted and we do ask the following:

  • If you modify the source for the library and executables, we ask that you change the name of the executable/routine and comment the changes made to the original.
  • If a modification is done, however, it is the responsibility of the person who modified the executable to provide support.
  • If you use STATPACK in a published work, proper credit and reference to the STATPACK library will be greatly appreciated. Send us also a copy/link of your published work!

Documentation and source code

Contributors

  • Pascal Terray (LOCEAN/IPSL, lead)
  • Françoise Pinsard (LOCEAN/IPSL, generation of documentation using Sphinx)

Contact

If you have any questions/feedbacks regarding STATPACK, please send an-email to pascal.terray [at symbol] ird [dot] fr .

Flag Counter