Skip to main content

Gibbs Seawater Oceanographic Package of TEOS-10

Project description

https://travis-ci.org/TEOS-10/GSW-Python.svg?branch=master

This Python implementation of the Thermodynamic Equation of Seawater 2010 (TEOS-10) is based primarily on numpy ufunc wrappers of the GSW-C implementation. We expect it to replace the original python-gsw pure-python implementation after a brief overlap period. The primary reasons for this change are that by building on the C implementation we reduce code duplication and we gain an immediate update to the 75-term equation. Additional benefits include a major increase in speed, a reduction in memory usage, and the inclusion of more functions. The penalty is that a C (or MSVC C++ for Windows) compiler is required to build the package from source.

Warning: this is for Python >=3.5 only.

Warning: the only official TEOS-10 implementations are provided as zipfiles at <http://www.teos-10.org/software.htm>.

For the core functionality, we use an auto-generated C extension module to wrap the C functions as numpy ufuncs, and then use an autogenerated Python module to add docstrings and handle masked arrays. 161 scalar C functions with only double-precision arguments and return values are wrapped as ufuncs, and 155 of these are exposed in the gsw namespace with an additional wrapper in Python.

A hand-written wrapper is used for one C function, and others are re-implemented directly in Python instead of being wrapped. Additional functions present in GSW-Matlab but not in GSW-C may be re-implemented in Python, but there is no expectation that all such functions will be provided.

The package can be installed from a clone of the repo using pip install .. It is neither necessary nor recommended to run the code generators, and no instructions are provided for them; their output is included in the repo. You will need a suitable compiler: gcc or clang for unix-like systems, or the MSVC compiler set used for Python itself on Windows. For Windows, some of the source code has been modified to C++ because the MSVC C compiler does not support the C99 complex data type used in original GSW-C.

To test, after installation, run “py.test” from the source directory.

Project details


Download files

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

Source Distribution

gsw-3.1.0.tar.gz (4.7 MB view details)

Uploaded Source

File details

Details for the file gsw-3.1.0.tar.gz.

File metadata

  • Download URL: gsw-3.1.0.tar.gz
  • Upload date:
  • Size: 4.7 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for gsw-3.1.0.tar.gz
Algorithm Hash digest
SHA256 f9a65a4b4df67e8d94ccdaeac0b0534802accf55c625aa825242934920f1944f
MD5 2fd65033d5599467a78e04c2cdb9c748
BLAKE2b-256 3f472d0187cc242a0bccd10b043dedd9ed6c326ee803f2e2a6bb39318a4a95dc

See more details on using hashes here.

Supported by

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