Wave Analysis for Fatigue and Oceanography
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.
docs [WIP] add first iteration and incomplete packaging files generated wi… Oct 26, 2015
wafo Added lfind to misc.py Dec 21, 2018
.checkignore added .checkignore for quantifycode Feb 9, 2016
.codeclimate.yml added files: Feb 21, 2016
.gitignore add *.mod to .gitignore Jan 26, 2016
.pylintrc Added .pylintrc Jun 3, 2017
CHANGES.rst [WIP] add first iteration and incomplete packaging files generated wi… Oct 26, 2015
LICENSE.txt [WIP] add first iteration and incomplete packaging files generated wi… Oct 26, 2015
README.rst Updated linkts again Jun 26, 2016
appveyor.yml Added numba_misc.py Oct 13, 2016
setup.cfg updated pep 8 checks Nov 6, 2017



Wave Analysis for Fatigue and Oceanography

pkg_img tests_img docs_img Code Climate coverage_img versions_img depsy_img


WAFO is a toolbox Python routines for statistical analysis and simulation of random waves and random loads. WAFO is freely redistributable software, see WAFO icence, cf. the GNU General Public License (GPL) and contain tools for:

Fatigue Analysis

  • Fatigue life prediction for random loads
  • Theoretical density of rainflow cycles

Sea modelling

  • Simulation of linear and non-linear Gaussian waves
  • Estimation of seamodels (spectrums)
  • Joint wave height, wave steepness, wave period distributions


  • Extreme value analysis
  • Kernel density estimation
  • Hidden markov models


  • TimeSeries:
    Data analysis of time series. Example: extraction of turning points, estimation of spectrum and covariance function. Estimation transformation used in transformed Gaussian model.
  • CovData:
    Computation of spectral functions, linear and non-linear time series simulation.
  • SpecData:
    Computation of spectral moments and covariance functions, linear and non-linear time series simulation. Ex: common spectra implemented, directional spectra, bandwidth measures, exact distributions for wave characteristics.
  • CyclePairs:
    Cycle counting, discretization, and crossings, calculation of damage. Simulation of discrete Markov chains, switching Markov chains, harmonic oscillator. Ex: Rainflow cycles and matrix, discretization of loads. Damage of a rainflow count or matrix, damage matrix, S-N plot.


    Modelling with linear or transformed Gaussian waves.
    Statistical tools and extreme-value distributions. Ex: generation of random numbers, estimation of parameters, evaluation of pdf and cdf
    Kernel-density estimation.
  • MISC
    Miscellaneous routines.
  • DOCS
    Documentation of toolbox, definitions. An overview is given in the routine wafomenu.
  • DATA
    Measurements from marine applications.

WAFO homepage: <http://www.maths.lth.se/matstat/wafo/> On the WAFO home page you will find: - The WAFO Tutorial - List of publications related to WAFO.


WAFO contains some Fortran and C extensions that require a properly configured compiler and NumPy/f2py.

Create a binary wheel package and place it in the dist folder as follows:

python setup.py bdist_wheel -d dist

And install the wheel package with:

pip install dist/wafo-X.Y.Z+abcd123-os_platform.whl

Getting started

A quick introduction to some of the many features of wafo can be found in the Tutorial IPython notebooks in the `tutorial scripts folder`_:

-- _tutorial scripts folder: http://nbviewer.jupyter.org/github/wafo-project/pywafo/tree/master/wafo/doc/tutorial_scripts/

Unit tests

To test if the toolbox is working paste the following in an interactive python session:

import wafo as wf
wf.test(coverage=True, doctests=True)


This project has been set up using PyScaffold 2.4.2. For details and usage information on PyScaffold see http://pyscaffold.readthedocs.org/.