Coder Social home page Coder Social logo

pyww3's Introduction

pyww3

Documentation Status PyPI version CircleCI

Python wrapper for NOAA's WaveWatchIII (WW3) Model.

This package wraps around the WW3's executables by properly defining the namelists (.nml) required to drive the model's executables.

Warning: This is very much work-in-progress and the API is not stable. Use at your own risk.

Requirements

pyww3 requires WaveWatchIII to be properly compiled with netCDF4 available in your $PATH. Please follow the installation instructions from NOAA.

Programs supported: ww3_grid, ww3_prnc, ww3_shel, ww3_ounf, ww3_ounp and ww3_bounc.

Note that I don't have plans to support programs that require ASCII input (such as ww3_outf) even tough they may have an associated namelist.

You will need python 3.7+ because of the extensive usage of dataclasses.

The only python dependency is xarray with netcdf support. pip install netcdf4 xarray should be enough to get you going.

Getting Started

Installation:

pip install pyww3

Development mode:

git clone git://github.com/caiostringari/pyww3
cd pyww3
pip install -e .

Runnig all tests:

pytest

Individual tests:

  • ww3_grid with pytest tests/test_01_grid.py
  • ww3_prnc with pytest tests/test_02_prnc.py
  • ww3_shel with pytest tests/test_03_shel.py
  • ww3_ounf with pytest tests/test_04_ounf.py
  • ww3_ounp with pytest tests/test_05_ounp.py
  • ww3_bounc with pytest tests/test_06_bounc.py

Documentation

READTHEDOCS

Note: I am still documenting everything.

Examples:

Global Simulation ↦ Open In Colab

TODO

  • Add the documentation (working in progress)
  • Add support for ww3_multi ?

Credits

Disclaimer

There is no warranty for the program, to the extent permitted by applicable law except when otherwise stated in writing the copyright holders and/or other parties provide the program “as is” without warranty of any kind, either expressed or implied, including, but not limited to, the implied warranties of merchantability and fitness for a particular purpose. the entire risk as to the quality and performance of the program is with you. should the program prove defective, you assume the cost of all necessary servicing, repair or correction.

pyww3's People

Contributors

caiostringari avatar dependabot[bot] avatar

Stargazers

 avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

pyww3's Issues

Error in reverse_latitude method?

I think WW3 does not like the files created with the reverse_latitude method from the WW3Prnc class. Simulation runs without problem but the output is all zeros.

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.