Skip to main content

GeoCAT-comp is computational component of the GeoCAT project and provides implementations of computational functions for analysis of geosciences data

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 here. 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 and were translated 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. Such implementation layers are handled within GeoCAT-comp and GeoCAT-f2py repositories, respectively (The GeoCAT-f2py repo is documented on its own).

GeoCAT-comp

GeoCAT-comp repo does not explicitly contain or require any compiled code, making it more accessible to the general Python community at large. However, if GeoCAT-f2py is installed, then all functions contained in the "geocat.f2py" package are imported seamlessly into the "geocat.comp" namespace. Thus, GeoCAT-comp repo serves as a user API to access the entire computational toolkit even though the repo itself only contains pure Python code from the contributor’s perspective. Whenever prospective contributors want to add new computational functionality implemented as pure Python, GeoCAT-comp is the repo to do so. Therefore, there is no onus on contributors of pure python code to build/compile/test any compiled code (i.e. Fortran) at GeoCAT-comp level.

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-comp provides a high-level Xarray interface under the geocat.comp 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 used by GeoCAT-f2py. These functions are accessible under the geocat.comp namespace, but are minimally documented and are intended primarily for internal use.

Citing GeoCAT-comp

Cite GeoCAT-comp using the following text:

<> Visualization & Analysis Systems Technologies. (Year). Geoscience Community Analysis Toolkit (GeoCAT-comp version <version>) [Software]. Boulder, CO: UCAR/NCAR - Computational and Informational System Lab. doi:10.5065/A8PP-4358.

Update the GeoCAT-comp version and year as appropriate. For example:

<> Visualization & Analysis Systems Technologies. (2021). Geoscience Community Analysis Toolkit (GeoCAT-comp version 2021.04.0) [Software]. Boulder, CO: UCAR/NCAR - Computational and Informational System Lab. doi:10.5065/A8PP-4358.

For further information, please refer to GeoCAT homepage - Citation.

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.comp-2022.4.0.tar.gz (46.6 kB view hashes)

Uploaded source

Built Distribution

geocat.comp-2022.4.0-py3-none-any.whl (43.8 kB view hashes)

Uploaded py3

Supported by

AWS AWS Cloud computing Datadog Datadog Monitoring Facebook / Instagram Facebook / Instagram PSF Sponsor Fastly Fastly CDN Google Google Object Storage and Download Analytics Huawei Huawei PSF Sponsor Microsoft Microsoft PSF Sponsor NVIDIA NVIDIA PSF Sponsor Pingdom Pingdom Monitoring Salesforce Salesforce PSF Sponsor Sentry Sentry Error logging StatusPage StatusPage Status page