Skip to content

GeoCAT-comp provides implementations of computational functions for operating on geosciences data. Many of these functions originated in NCL and were translated into Python.

License

Notifications You must be signed in to change notification settings

NCAR/geocat-comp

This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.

Folders and files

NameName
Last commit message
Last commit date

Latest commit

a2ac38c · Mar 17, 2023
Jan 31, 2023
Jan 31, 2023
Mar 17, 2023
Jan 27, 2023
Jan 27, 2023
Sep 13, 2022
May 4, 2021
Sep 8, 2022
Jun 21, 2022
Mar 16, 2021
Apr 12, 2022
Mar 2, 2021
Mar 16, 2021
Dec 16, 2022
Nov 17, 2022
Sep 7, 2022
Jul 29, 2021

Repository files navigation

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

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

About

GeoCAT-comp provides implementations of computational functions for operating on geosciences data. Many of these functions originated in NCL and were translated into Python.

Topics

Resources

License

Code of conduct

Citation

Stars

Watchers

Forks