Skip to main content

GeoCAT-f2py wraps, in Python, the compiled language

Project description

CI GitHub Workflow Status GitHub Workflow Status Code Coverage Status
Docs Documentation Status
Package Conda PyPI
License License
Citing DOI

GeoCAT-comp is both the whole computational component of the GeoCAT project and a single Github repository as described in GeoCAT-comp. As the computational component of GeoCAT, GeoCAT-comp provides implementations of computational functions for operating on geosciences data. Many of these functions originated in NCL are pivoted into Python with the help of GeoCAT-comp; however, developers are welcome to come up with novel computational functions for geosciences data.

Many of the computational functions in GeoCAT are implemented in a pure Python fashion. However, there are some others that are implemented in Fortran but wrapped up in Python. To facilitate contribution, the whole GeoCAT-comp structure is split into two repositories with respect to being pure-Python or Python with compiled codes (i.e. Fortran) implementations. While pure Python implementation as well as user API are implemented within GeoCAT-comp, Python codes that calls the Fortran functionality with the help of Numpy's f2py are handled within GeoCAT-f2py (i.e. this repository).

GeoCAT-f2py

GeoCAT-f2py wraps, in Python, the compiled language implementations of some of the computational functions found under the GeoCAT-comp umbrella. The compiled language functions contained in GeoCAT-f2py (i.e. this repository) as Fortran subroutines are wrapped up in corresponding Python wrapper files in the same repository with the help of Numpy.f2py's signature files (.pyf).

Not all computational functions in GeoCAT computational component have compiled language implementations; therefore, developers basing their implementations entirely in Python need not concern themselves with this repo; instead, they should engage with GeoCAT-comp repo as it invisibly imports GeoCAT-f2py. However, for those functions that are implemented in Fortran, this repo provides a Python interface to those functions via a Numpy.f2py wrapper.

Documentation

GeoCAT Homepage

GeoCAT Contributor's Guide

GeoCAT-comp documentation on Read the Docs

Installation and build instructions

Please see our documentation for installation and build instructions.

Xarray interface vs NumPy interface

GeoCAT-f2py provides a high-level Xarray interface under the geocat.f2py namespace. However, a stripped-down NumPy interface is used under the hood to bridge the gap between NumPy arrays and the compiled language data structures. These functions are accessible under the geocat.comp.f2py namespace, but are minimally documented and are intended primarily for internal use.

Citing GeoCAT-f2py

If you use this software, please cite it as described at the GeoCAT-f2py - Citation page.

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

geocat.f2py-2023.3.0.tar.gz (477.5 kB view details)

Uploaded Source

Built Distribution

geocat.f2py-2023.3.0-py3-none-any.whl (577.1 kB view details)

Uploaded Python 3

File details

Details for the file geocat.f2py-2023.3.0.tar.gz.

File metadata

  • Download URL: geocat.f2py-2023.3.0.tar.gz
  • Upload date:
  • Size: 477.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.9.16

File hashes

Hashes for geocat.f2py-2023.3.0.tar.gz
Algorithm Hash digest
SHA256 6d11a644cce5d0f2b5d2d322fe4d80ff9aed347c34a578e548a67a0e0f704c98
MD5 a36a300fc95cd52d6907543f4e7649df
BLAKE2b-256 cd79733d3e33ed3f9a1ecbb7fdc3b9c3f55c70836e2fd9df795e282b9fa45277

See more details on using hashes here.

File details

Details for the file geocat.f2py-2023.3.0-py3-none-any.whl.

File metadata

File hashes

Hashes for geocat.f2py-2023.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 f406d573b0e77cfe5306773cdbd0ae25a16ac3156cbd6fd9efc005e90a6070ee
MD5 b8dc3051a228e1a9cf47900dc5c1eb28
BLAKE2b-256 7c26736fb11c10933a2f60c1bb54f21484b9157de5af46264ea6ad57478b76de

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