Skip to main content
Pre-release

This release is a pre-release and may not be stable for production use.

Python interface to WAVEWATCH III data

WAVEWATCH III data in Python

Test status https://github.com/csdms/bmi-wavewatch3/workflows/Flake8/badge.svg https://github.com/csdms/bmi-wavewatch3/workflows/Black/badge.svg

About

The bmi_wavewatch3 Python package provides both a command line interface and a programming interface for downloading and working with WAVEWATCH III data.

bmi_wavewatch3 provides access to the following raster data sources,

All data sources provide both global and regional grids.

Installation

bmi_wavewatch3 can be installed by running pip install bmi_wavewatch3. It requires Python >= 3.8 to run.

If you simply can’t wait for the latest release, you can install bmi_wavewatch3 directly from GitHub,

$ pip install git+https://github.com/csdms/bmi-wavewatch3

bmi_wavewatch3 is also available through conda, conda install bmi_wavewatch3 -c conda-forge.

Usage

To get started, you can download WAVEWATCH III data by date with the ww3 command (use ww3 –help to print a brief message),

$ ww3 fetch "2010-05-22"

You can also do this through Python,

>>> from bmi_wavewatch3 import WaveWatch3
>>> WaveWatch3.fetch("2010-05-22")

The bmi_wavewatch3 package provides the WaveWatch3 class for downloading data and presenting it as an xarray Dataset.

>>> from bmi_wavewatch3 import WaveWatch3
>>> ww3 = WaveWatch3("2010-05-22")
>>> ww3.data
<xarray.Dataset>
...

Use the inc method to advance in time month-by-month,

>>> ww3.date
'2010-05-22'
>>> ww3.inc()
'2010-06-22'
>>> ww3.data.time
<xarray.DataArray 'time' ()>
array('2010-06-01T00:00:00.000000000', dtype='datetime64[ns]')
...

This will download new datasets as necessary and load the new data into the data attribute.

Example

>>> from bmi_wavewatch3 import WaveWatch3
>>> ww3 = WaveWatch3("2009-11-08")

The data can be accessed as an xarray Dataset through the data attribute.

>>> ww3.data
<xarray.Dataset>
Dimensions:     (step: 241, latitude: 311, longitude: 720)
Coordinates:
    time        datetime64[ns] 2009-11-01
  * step        (step) timedelta64[ns] 0 days 00:00:00 ... 30 days 00:00:00
    surface     float64 1.0
  * latitude    (latitude) float64 77.5 77.0 76.5 76.0 ... -76.5 -77.0 -77.5
  * longitude   (longitude) float64 0.0 0.5 1.0 1.5 ... 358.0 358.5 359.0 359.5
    valid_time  (step) datetime64[ns] dask.array<chunksize=(241,), meta=np.ndarray>
Data variables:
    dirpw       (step, latitude, longitude) float32 dask.array<chunksize=(241, 311, 720), meta=np.ndarray>
    perpw       (step, latitude, longitude) float32 dask.array<chunksize=(241, 311, 720), meta=np.ndarray>
    swh         (step, latitude, longitude) float32 dask.array<chunksize=(241, 311, 720), meta=np.ndarray>
    u           (step, latitude, longitude) float32 dask.array<chunksize=(241, 311, 720), meta=np.ndarray>
    v           (step, latitude, longitude) float32 dask.array<chunksize=(241, 311, 720), meta=np.ndarray>
Attributes:
    GRIB_edition:            2
    GRIB_centre:             kwbc
    GRIB_centreDescription:  US National Weather Service - NCEP
    GRIB_subCentre:          0
    Conventions:             CF-1.7
    institution:             US National Weather Service - NCEP
    history:                 2022-06-08T16:08 GRIB to CDM+CF via cfgrib-0.9.1...

The step attribute points to the current time slice into the data (i.e number of three hour increments since the start of the month),

>>> ww3.step
56
>>> ww3.data.swh[ww3.step, :, :].plot()
Significant wave height

Credits

Development Lead

  • Eric Hutton (@mcflugen)

Contributors

None yet. Why not be the first?

0.1.0b2 (unreleased)

  • Nothing changed yet.

0.1.0b1 (2022-06-09)

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

bmi_wavewatch3-0.1.0b2.dev0.tar.gz (21.3 kB view details)

Uploaded Source

File details

Details for the file bmi_wavewatch3-0.1.0b2.dev0.tar.gz.

File metadata

  • Download URL: bmi_wavewatch3-0.1.0b2.dev0.tar.gz
  • Upload date:
  • Size: 21.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.10.4

File hashes

Hashes for bmi_wavewatch3-0.1.0b2.dev0.tar.gz
Algorithm Hash digest
SHA256 51e9c0be23bc5cb9591958a6eaf1d5757d379b163ab2064ea6fda11c134b737e
MD5 c159c29ac519a34a6df9a1df97c96d61
BLAKE2b-256 f6d2744ad5895b7efdc577e0623b08ab454e54be87dead6735d8fed1f11d9363

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page