Skip to main content

Tests License Code coverage Docs PyPI version

pycoare

pycoare is a Python package for calculating various air-sea fluxes from bulk variables (e.g., wind speed, temperature, humidity), using the COARE algorithms developed through the TOGA-COARE project (Fairall et al., 1996a, Fairall et al., 1996b, Fairall et al., 1997).

Included in this package are implementations of the COARE v3.5 and v3.6 algorithms that builds on the original NOAA-PSL pycoare code. This package makes very minor updates to the algorithm itself, instead focusing on improved code structure, packaging, documentation, and distribution by implementing an object oriented approach and utilizing modern Python tooling. The goal of this new version is to improve usability and reproducibility, encourage collaboration, and ease maintenance.

See the changelog for all mathematically relevant changes made to the algorithm itself.

Find more details on the usage and api in the documentation.

Installation

The latest stable version (currently a beta) can be downloaded using pip:

pip install pycoare

The package can also be added to projects via uv:

uv add pycoare

You can install the most up-to-date version using:

pip install git+https://github.com/pycoare/coare

Versions

pycoare contains two versions of the COARE algorithm: COARE v3.5 and COARE v3.6.

Version 3.5 was released in 2013, which made adjustments to the wind speed dependence of the Charnock parameter based on a large database of direct covariance stress observations (principally from a buoy) (Edson et al., 2013). This led to an increase in stress for wind speeds greater than about 18 m/s. The roughness Reynolds number formulation of the scalar roughness length was tuned slightly to give the same values of Ch and Ce as Version 3.0. The diurnal warm layer model was structured as a separate routine instead of embedded in a driver program. COARE v3.5 was based on buoy data (Edson et al., 2013) and was compared to a large database (a total of 16,000 hours of observations) combining observations from NOAA, WHOI, and U. Miami (Fairall et al., 2011).

Version 3.6 is slightly restructured and built around improvements in the representation of the effects of waves on fluxes. This includes improved relationships of surface roughness and whitecap fraction on wave parameters (Fairall et al., 2022).

Contribution

I welcome any contributions - feel free to raise an issue or submit a pull request. Take a look at the contribution guide to get started!

Credits

This Python implementation of the COARE algorithm was initially translated from MATLAB by Byron Blomquist, Ludovic Bariteau, with support from the NOAA Physical Sciences Laboratory (Ludovic et al., 2021).

The development of the COARE algorithm builds upon decades of research, for which I am extremely appreciative. The history of the COARE algorithm and its development can be found here (Fairall et al., 2022).

Metadata

Release files for pycoare 0.4.3

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for pycoare 0.4.3
File Size Uploaded
pycoare-0.4.3.tar.gz 27.5 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for pycoare 0.4.3
File Interpreter ABI Platform
pycoare-0.4.3-py3-none-any.whl Python 3 none any Details

Total release size: 50.6 kB

Release files / pycoare-0.4.3.tar.gz

Download URL pycoare-0.4.3.tar.gz
Size 27.5 kB
Tags Source
SHA-256 checksum
How to use checksums
0000eb20499f8af2ecc9b76bcd9f63851d751c134b3ccbc74954938d36a9ed7a
BLAKE2b-256 checksum
How to use checksums
f3feac8e65c2323845934de47387e0142a376a440b19cf36c608808cad9bdc4a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / pycoare-0.4.3-py3-none-any.whl

Download URL pycoare-0.4.3-py3-none-any.whl
Size 23.2 kB
Tags Python 3
SHA-256 checksum
How to use checksums
c9c50033792656191b166e0b7d582a27deacb0bd41901fe9cde1e4fa67781b70
BLAKE2b-256 checksum
How to use checksums
9dc4d6387deb07901f28fb5c308a2f920aa938c9a21c1374a6527de1f4998ba1
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14
Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page