grib2io-interp


Namegrib2io-interp JSON
Version 1.2.2 PyPI version JSON
download
home_pageNone
SummaryInterpolation component for grib2io providing a Python interface to NCEPLIBS-ip
upload_time2024-04-10 13:24:11
maintainerNone
docs_urlNone
authorNone
requires_python>=3.8
licenseMIT
keywords weather data-science numpy meteorology weather-data atmospheric-science grib2 grib2-decoder grib2-encoder ncep
VCS
bugtrack_url
requirements numpy
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # grib2io-interp: Interpolation Component Package for grib2io

[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)

[![Python 3.8](https://img.shields.io/badge/python-3.8-blue.svg)](https://www.python.org/downloads/release/python-380/)
[![Python 3.9](https://img.shields.io/badge/python-3.9-blue.svg)](https://www.python.org/downloads/release/python-390/)
[![Python 3.10](https://img.shields.io/badge/python-3.10-blue.svg)](https://www.python.org/downloads/release/python-3100/)
[![Python 3.11](https://img.shields.io/badge/python-3.11-blue.svg)](https://www.python.org/downloads/release/python-3110/)

![Build Linux](https://github.com/NOAA-MDL/grib2io-interp/actions/workflows/build_linux.yml/badge.svg)

![PyPI](https://img.shields.io/pypi/v/grib2io-interp?label=pypi%20package)
![PyPI - Downloads](https://img.shields.io/pypi/dm/grib2io-interp)

[![Anaconda-Server Badge](https://anaconda.org/conda-forge/grib2io-interp/badges/version.svg)](https://anaconda.org/conda-forge/grib2io-interp)
[![Anaconda-Server Badge](https://anaconda.org/conda-forge/grib2io-interp/badges/platforms.svg)](https://anaconda.org/conda-forge/grib2io-interp)
[![Anaconda-Server Badge](https://anaconda.org/conda-forge/grib2io-interp/badges/downloads.svg)](https://anaconda.org/conda-forge/grib2io-interp)

# Introduction
`grib2io-interp` is an interpolation component package for [grib2io](https://github.com/NOAA-MDL/grib2io).  This package provides a Python interface to the [NCEPLIBS-ip](https://github.com/NOAA-EMC/NCEPLIBS-ip) Fortran library via a NumPy/F2PY extension module.  Originally, grib2io-interp was a part of the grib2io package, but since it requires NumPy.distutils to build and install, it needs to be handled separately from the main grib2io source that are using `setuptools`.  This package contains an extension module, `interpolate`, that provides interfaces to Fortran subroutines and these subroutines serve as wrappers to NCEPLIBS-ip subroutines.  The following table illustrates the mapping:

| grib2io-interp | NCEPLIBS-ip |
| -------------- | ----------- |
| interpolate.interpolate_scalar | ipolates_grib2 |
| interpolate.interpolate_vector | ipolatev_grib2 |

**NOTE:** It is recommended that you use [`grib2io.interpolate`](https://noaa-mdl.github.io/grib2io/grib2io.html#interpolate) function to access the interpolation subroutines provided by grib2io-interp.

## Documentation
[NOAA-MDL/grib2io-interp](https://noaa-mdl.github.io/grib2io-interp/grib2io-interp.html)

## Required Software

Despite this package being a component for grib2io, grib2io is not a formal dependency for grib2io-interp.

* [Python](https://python.org) 3.8, 3.9, 3.10, and 3.11
* [NCEPLIBS-ip](https://github.com/NOAA-EMC/NCEPLIBS-ip) 4.1.0+
* [NCEPLIBS-sp](https://github.com/NOAA-EMC/NCEPLIBS-sp) 2.4.0+ _**(IMPORTANT: required if NCEPLIBS-ip < v5.0.0)**_
* setuptools 61.0+
* NumPy 1.22+
* Fortran Compiler: GNU (gfortran) and Intel (ifort) have been tested.

## NCEPLIBS-ip

> [!NOTE]
> Beginning with version 5.0.0 of the NCEP Interpolation [(NCEPLIBS-ip)](https://github.om/NOAA-EMC/NCEPLIBS-ip) library, the NCEP Spectral Interpolation [(NCEPLIBS-sp)](https://github.com/NOAA-EMC/NCEPLIBS-sp) library is now integrated into NCEPLIBS-ip.

## Installation
If NCEPLIBS-ip has been installed to custom location (i.e. not default paths), then define the root of the installation via environment variable `IP_DIR`. If the NCEPLIBS-ip version is < 5.0.0, then you will need to install NCEPLIBS-sp and if installed to a custom location, then define the root of the installation via environment variable `SP_DIR`.
```shell
pip install grib2io-interp
```

## Build and Install from Source

* Clone GitHub repository or download a source release from [GitHub](https://github.com/NOAA-MDL/grib2io-interp) or [PyPI](https://pypi.python.org/pypi/grib2io-interp).

* Edit `setup.cfg` to define the NCEPLIBS-ip library installation path __OR__ define `IP_DIR` environment variable.

* Build and install.  Use `--user` to install into personal space (`$HOME/.local`).

```shell
pip install .
```
To build with Intel compilers, perform the following
```shell
pip install . --config-settings="--build-option=build --fcompiler=intelem"
```

> [!NOTE]
> ### Building with static libraries
> The default behavior for building grib2io-interp is to build against shared-object libraries.  However, in production environments, it is beneficial to build against static library files.  grib2io-interp (v1.2.0+) allows for this type of build configuration.  To build against static library files, set the environment variable, `USE_STATIC_LIBS="True"` before your build/install command.  For example,
> 
>```shell
>export USE_STATIC_LIBS="True"
>pip install . --config-settings="--build-option=build ==fcompiler=gnu95"
>```

## Development

The development evolution of grib2io-interp will mainly focus on how best to serve that purpose and its primary user's -- mainly meteorologists, physical scientists, and software developers supporting the missions within NOAA's National Weather Service (NWS) and National Centers for Environmental Prediction (NCEP), and other NOAA organizations.

## Disclaimer

This repository is a scientific product and is not official communication of the National Oceanic and Atmospheric Administration, or the United States Department of Commerce. All NOAA GitHub project code is provided on an 'as is' basis and the user assumes responsibility for its use. Any claims against the Department of Commerce or Department of Commerce bureaus stemming from the use of this GitHub project will be governed by all applicable Federal law. Any reference to specific commercial products, processes, or services by service mark, trademark, manufacturer, or otherwise, does not constitute or imply their endorsement, recommendation or favoring by the Department of Commerce. The Department of Commerce seal and logo, or the seal and logo of a DOC bureau, shall not be used in any manner to imply endorsement of any commercial product or activity by DOC or the United States Government.

            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "grib2io-interp",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.8",
    "maintainer_email": null,
    "keywords": "weather, data-science, numpy, meteorology, weather-data, atmospheric-science, grib2, grib2-decoder, grib2-encoder, ncep",
    "author": null,
    "author_email": "Eric Engle <eric.engle@noaa.gov>",
    "download_url": "https://files.pythonhosted.org/packages/b4/b2/dc4252cd9dfad9a766a9234f9f8d04009545fada2d8ca72b63628ad318ea/grib2io-interp-1.2.2.tar.gz",
    "platform": null,
    "description": "# grib2io-interp: Interpolation Component Package for grib2io\n\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)\n\n[![Python 3.8](https://img.shields.io/badge/python-3.8-blue.svg)](https://www.python.org/downloads/release/python-380/)\n[![Python 3.9](https://img.shields.io/badge/python-3.9-blue.svg)](https://www.python.org/downloads/release/python-390/)\n[![Python 3.10](https://img.shields.io/badge/python-3.10-blue.svg)](https://www.python.org/downloads/release/python-3100/)\n[![Python 3.11](https://img.shields.io/badge/python-3.11-blue.svg)](https://www.python.org/downloads/release/python-3110/)\n\n![Build Linux](https://github.com/NOAA-MDL/grib2io-interp/actions/workflows/build_linux.yml/badge.svg)\n\n![PyPI](https://img.shields.io/pypi/v/grib2io-interp?label=pypi%20package)\n![PyPI - Downloads](https://img.shields.io/pypi/dm/grib2io-interp)\n\n[![Anaconda-Server Badge](https://anaconda.org/conda-forge/grib2io-interp/badges/version.svg)](https://anaconda.org/conda-forge/grib2io-interp)\n[![Anaconda-Server Badge](https://anaconda.org/conda-forge/grib2io-interp/badges/platforms.svg)](https://anaconda.org/conda-forge/grib2io-interp)\n[![Anaconda-Server Badge](https://anaconda.org/conda-forge/grib2io-interp/badges/downloads.svg)](https://anaconda.org/conda-forge/grib2io-interp)\n\n# Introduction\n`grib2io-interp` is an interpolation component package for [grib2io](https://github.com/NOAA-MDL/grib2io).  This package provides a Python interface to the [NCEPLIBS-ip](https://github.com/NOAA-EMC/NCEPLIBS-ip) Fortran library via a NumPy/F2PY extension module.  Originally, grib2io-interp was a part of the grib2io package, but since it requires NumPy.distutils to build and install, it needs to be handled separately from the main grib2io source that are using `setuptools`.  This package contains an extension module, `interpolate`, that provides interfaces to Fortran subroutines and these subroutines serve as wrappers to NCEPLIBS-ip subroutines.  The following table illustrates the mapping:\n\n| grib2io-interp | NCEPLIBS-ip |\n| -------------- | ----------- |\n| interpolate.interpolate_scalar | ipolates_grib2 |\n| interpolate.interpolate_vector | ipolatev_grib2 |\n\n**NOTE:** It is recommended that you use [`grib2io.interpolate`](https://noaa-mdl.github.io/grib2io/grib2io.html#interpolate) function to access the interpolation subroutines provided by grib2io-interp.\n\n## Documentation\n[NOAA-MDL/grib2io-interp](https://noaa-mdl.github.io/grib2io-interp/grib2io-interp.html)\n\n## Required Software\n\nDespite this package being a component for grib2io, grib2io is not a formal dependency for grib2io-interp.\n\n* [Python](https://python.org) 3.8, 3.9, 3.10, and 3.11\n* [NCEPLIBS-ip](https://github.com/NOAA-EMC/NCEPLIBS-ip) 4.1.0+\n* [NCEPLIBS-sp](https://github.com/NOAA-EMC/NCEPLIBS-sp) 2.4.0+ _**(IMPORTANT: required if NCEPLIBS-ip < v5.0.0)**_\n* setuptools 61.0+\n* NumPy 1.22+\n* Fortran Compiler: GNU (gfortran) and Intel (ifort) have been tested.\n\n## NCEPLIBS-ip\n\n> [!NOTE]\n> Beginning with version 5.0.0 of the NCEP Interpolation [(NCEPLIBS-ip)](https://github.om/NOAA-EMC/NCEPLIBS-ip) library, the NCEP Spectral Interpolation [(NCEPLIBS-sp)](https://github.com/NOAA-EMC/NCEPLIBS-sp) library is now integrated into NCEPLIBS-ip.\n\n## Installation\nIf NCEPLIBS-ip has been installed to custom location (i.e. not default paths), then define the root of the installation via environment variable `IP_DIR`. If the NCEPLIBS-ip version is < 5.0.0, then you will need to install NCEPLIBS-sp and if installed to a custom location, then define the root of the installation via environment variable `SP_DIR`.\n```shell\npip install grib2io-interp\n```\n\n## Build and Install from Source\n\n* Clone GitHub repository or download a source release from [GitHub](https://github.com/NOAA-MDL/grib2io-interp) or [PyPI](https://pypi.python.org/pypi/grib2io-interp).\n\n* Edit `setup.cfg` to define the NCEPLIBS-ip library installation path __OR__ define `IP_DIR` environment variable.\n\n* Build and install.  Use `--user` to install into personal space (`$HOME/.local`).\n\n```shell\npip install .\n```\nTo build with Intel compilers, perform the following\n```shell\npip install . --config-settings=\"--build-option=build --fcompiler=intelem\"\n```\n\n> [!NOTE]\n> ### Building with static libraries\n> The default behavior for building grib2io-interp is to build against shared-object libraries.  However, in production environments, it is beneficial to build against static library files.  grib2io-interp (v1.2.0+) allows for this type of build configuration.  To build against static library files, set the environment variable, `USE_STATIC_LIBS=\"True\"` before your build/install command.  For example,\n> \n>```shell\n>export USE_STATIC_LIBS=\"True\"\n>pip install . --config-settings=\"--build-option=build ==fcompiler=gnu95\"\n>```\n\n## Development\n\nThe development evolution of grib2io-interp will mainly focus on how best to serve that purpose and its primary user's -- mainly meteorologists, physical scientists, and software developers supporting the missions within NOAA's National Weather Service (NWS) and National Centers for Environmental Prediction (NCEP), and other NOAA organizations.\n\n## Disclaimer\n\nThis repository is a scientific product and is not official communication of the National Oceanic and Atmospheric Administration, or the United States Department of Commerce. All NOAA GitHub project code is provided on an 'as is' basis and the user assumes responsibility for its use. Any claims against the Department of Commerce or Department of Commerce bureaus stemming from the use of this GitHub project will be governed by all applicable Federal law. Any reference to specific commercial products, processes, or services by service mark, trademark, manufacturer, or otherwise, does not constitute or imply their endorsement, recommendation or favoring by the Department of Commerce. The Department of Commerce seal and logo, or the seal and logo of a DOC bureau, shall not be used in any manner to imply endorsement of any commercial product or activity by DOC or the United States Government.\n",
    "bugtrack_url": null,
    "license": "MIT",
    "summary": "Interpolation component for grib2io providing a Python interface to NCEPLIBS-ip",
    "version": "1.2.2",
    "project_urls": {
        "Documentation": "https://noaa-mdl.github.io/grib2io-interp",
        "Respository": "https://github.com/NOAA-MDL/grib2io-interp"
    },
    "split_keywords": [
        "weather",
        " data-science",
        " numpy",
        " meteorology",
        " weather-data",
        " atmospheric-science",
        " grib2",
        " grib2-decoder",
        " grib2-encoder",
        " ncep"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "b4b2dc4252cd9dfad9a766a9234f9f8d04009545fada2d8ca72b63628ad318ea",
                "md5": "265161f8203449e07223a8b79e3cb36e",
                "sha256": "70e19d71a5208a2ea8692f3cc1c4cadeeaec4375a1dd91af15dc88e2c23faf3e"
            },
            "downloads": -1,
            "filename": "grib2io-interp-1.2.2.tar.gz",
            "has_sig": false,
            "md5_digest": "265161f8203449e07223a8b79e3cb36e",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.8",
            "size": 56483727,
            "upload_time": "2024-04-10T13:24:11",
            "upload_time_iso_8601": "2024-04-10T13:24:11.109688Z",
            "url": "https://files.pythonhosted.org/packages/b4/b2/dc4252cd9dfad9a766a9234f9f8d04009545fada2d8ca72b63628ad318ea/grib2io-interp-1.2.2.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-04-10 13:24:11",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "NOAA-MDL",
    "github_project": "grib2io-interp",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "requirements": [
        {
            "name": "numpy",
            "specs": [
                [
                    ">=",
                    "1.22.0"
                ]
            ]
        }
    ],
    "lcname": "grib2io-interp"
}
        
Elapsed time: 0.31323s