Git Product home page Git Product logo

pywafo's Introduction

wafo_logo

Wave Analysis for Fatigue and Oceanography

pkg_img tests_img docs_img Code Climate coverage_img versions_img PyPI - Downloads

Description

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

Statistics

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

Classes

A short description of the main classes found in WAFO:

  • 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.

Subpackages

A short descriptions the subpackages of WAFO:

  • TRANSFORM
    Modelling with linear or transformed Gaussian waves.
  • STATS
    Statistical tools and extreme-value distributions. Ex: generation of random numbers, estimation of parameters, evaluation of pdf and cdf
  • KDETOOLS
    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.

Installation

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/src/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)

pywafo's People

Contributors

pbrod avatar davidovitch avatar ocefpaf avatar morbult avatar hypergravity avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.