Skip to main content

Python Spherical Harmonic Transform Module

Project description

pyspharm-syl

This is a derivative of pyspharm compiled with the help of intel oneAPI, built on pyspharm version 1.0.9.

For more information about the fortran kernel backgroud, please refer to the NCAR-Classic-Libraries-for-Geophysics.

How to install?

The pyspharm-syl package can be installed using Python package installer pip.

pip install pyspharm-syl

Requires

  • python >= 3.9
  • Numpy >= 1.24.3 (for python 3.12, numpy >= 1.26.0)
  • intel-fortran-rt
  • dpcpp-cpp-rt

Platform Support

  • win_amd64: python 3.9, 3.10, 3.11, 3.12, 3.13.
  • linux_x86_64: python 3.9, 3.10, 3.11, 3.12, 3.13.

Build Method

Windows

Install Intel® HPC Toolkit and then open the Intel oneAPI command prompt for Intel 64 for Visual Studio 2022 in the start menu.

Open Anaconda or python in this terminal.

# open python env
python

# or open Anaconda
%windir%\System32\WindowsPowerShell\v1.0\powershell.exe -ExecutionPolicy ByPass -NoExit -Command "& 'C:\Users\[USER NAME]\anaconda3\shell\condabin\conda-hook.ps1' ; conda activate 'C:\Users\[USER NAME]\anaconda3' "

Install the dependencies

pip install -r build_requirement_windows.txt

Create the wheel binary package

.\build_wheel_windows.ps1

Linux

Install Intel® HPC Toolkit and then activate Intel oneAPI environment

source /opt/intel/oneapi/setvars.sh

Open Anaconda or python in this terminal

# open python env
python

# or open Anaconda
__conda_setup="$('/home/[USER NAME]/anaconda3/bin/conda' 'shell.bash' 'hook' 2> /dev/null)"
if [ $? -eq 0 ]; then
    eval "$__conda_setup"
else
    if [ -f "/home/[USER NAME]/anaconda3/etc/profile.d/conda.sh" ]; then
        . "/home/[USER NAME]/anaconda3/etc/profile.d/conda.sh"
    else
        export PATH="/home/[USER NAME]/anaconda3/bin:$PATH"
    fi
fi
unset __conda_setup

Install the dependencies

pip install -r build_requirement_linux.txt

Tips: For build manylinux wheel, please use build_requirement_manylinux.txt

pip install -r build_requirement_manylinux.txt
  • Required in manylinux image environment

Create the wheel binary package

.\build_wheel_linux.sh

# for manylinux, please run as follows:
.\build_wheel_manylinux.sh

Pyspharm description

Source: https://github.com/jswhit/pyspharm

Requires: Numpy (http://numeric.scipy.org), and a fortran compiler supported by numpy.f2py,

Please read LICENSE.spherepack

Installation:

python setup.py install

(to change default fortran compiler you can use e.g. python setup.py build config_fc --fcompiler=g95)

View documentation by pointing your browser to html/index.html.

Example programs are provided in the examples directory.

Copyright: (applies only to python binding, Spherepack fortran source code licensing is in LICENSE.spherepack)

Permission to use, copy, modify, and distribute this software and its documentation for any purpose and without fee is hereby granted, provided that the above copyright notice appear in all copies and that both that copyright notice and this permission notice appear in supporting documentation. THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.

-- Jeff Whitaker Jeffrey.S.Whitaker@noaa.gov

Changelog

Version 1.2.1 (2024.12.12)

  • Support Python 3.13, and build manylinux and windows wheel with intel-oneapi-hpc-toolkit-2025.0.0.825.

Version 1.2.0 (2024.3.25)

  • Change build system from numpy.distutils to meson-python.
  • Change the default C compiler to icx, and the default Fortran compiler to ifx.

Version 1.0.9 (2023.11.19)

  • Support direct installation of wheel without compilation for both the Windows and Linux platform.

Project details


Download files

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

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

pyspharm_syl-1.2.1-cp313-cp313-win_amd64.whl (346.2 kB view details)

Uploaded CPython 3.13Windows x86-64

pyspharm_syl-1.2.1-cp313-cp313-manylinux_2_34_x86_64.whl (9.8 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.34+ x86-64

pyspharm_syl-1.2.1-cp312-cp312-win_amd64.whl (347.1 kB view details)

Uploaded CPython 3.12Windows x86-64

pyspharm_syl-1.2.1-cp312-cp312-manylinux_2_34_x86_64.whl (9.8 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.34+ x86-64

pyspharm_syl-1.2.1-cp311-cp311-win_amd64.whl (346.5 kB view details)

Uploaded CPython 3.11Windows x86-64

pyspharm_syl-1.2.1-cp311-cp311-manylinux_2_34_x86_64.whl (9.8 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.34+ x86-64

pyspharm_syl-1.2.1-cp310-cp310-win_amd64.whl (346.5 kB view details)

Uploaded CPython 3.10Windows x86-64

pyspharm_syl-1.2.1-cp310-cp310-manylinux_2_34_x86_64.whl (9.8 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.34+ x86-64

pyspharm_syl-1.2.1-cp39-cp39-win_amd64.whl (346.4 kB view details)

Uploaded CPython 3.9Windows x86-64

pyspharm_syl-1.2.1-cp39-cp39-manylinux_2_34_x86_64.whl (9.8 MB view details)

Uploaded CPython 3.9manylinux: glibc 2.34+ x86-64

File details

Details for the file pyspharm_syl-1.2.1-cp313-cp313-win_amd64.whl.

File metadata

File hashes

Hashes for pyspharm_syl-1.2.1-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 2dc8f6bbbe6229ab116b6be1f6285ee74150f3a50ed86b043933556e903067c0
MD5 3b8737f124b9d34879ee4046486bfc1d
BLAKE2b-256 f4c8278998f3e2c4a57ffaece5dcbca027e450d10d2d1a56834cf64217488c50

See more details on using hashes here.

File details

Details for the file pyspharm_syl-1.2.1-cp313-cp313-manylinux_2_34_x86_64.whl.

File metadata

File hashes

Hashes for pyspharm_syl-1.2.1-cp313-cp313-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 b1adb379111cd45b57d0ada6f2b3d2b8f8557baa0992b52218ac01f2a9c2160e
MD5 b4d5f7aae36ac66cee24bd06970a802d
BLAKE2b-256 2c66dffae0544ed9767d94934e33768f519859a0651e2797b6059e69f17a168d

See more details on using hashes here.

File details

Details for the file pyspharm_syl-1.2.1-cp312-cp312-win_amd64.whl.

File metadata

File hashes

Hashes for pyspharm_syl-1.2.1-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 994c3123d08163dc4f0af1499274bf373f46f6098986d8a27db9d3ae89303118
MD5 884bbcea94583444e2425b532df0c630
BLAKE2b-256 39e1e0ccba97f58a6b41bba9ba5c5b47a463dbf8d511e19439321dd16b66baec

See more details on using hashes here.

File details

Details for the file pyspharm_syl-1.2.1-cp312-cp312-manylinux_2_34_x86_64.whl.

File metadata

File hashes

Hashes for pyspharm_syl-1.2.1-cp312-cp312-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 8d1d17abdabc43e9d91bf7a6e3bdc21f564c1117fd56e1f3fb01260d059e4f13
MD5 155fe27a1b0a703f2bf78e37c06596c1
BLAKE2b-256 111d76abf83c4c336ca3b4ffcd83268b1731fab566c190bd73a7b4badf68970c

See more details on using hashes here.

File details

Details for the file pyspharm_syl-1.2.1-cp311-cp311-win_amd64.whl.

File metadata

File hashes

Hashes for pyspharm_syl-1.2.1-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 142f8661d526a6d2da3dc452af97a81d04d219115353e90cc7ca39bb44cf3be5
MD5 0ce8ac8845da2b346d1480f18096852f
BLAKE2b-256 f2a58d18cdf4d11fc197e41cf89155e6b876bef620a09ce4a123ec98037d70bf

See more details on using hashes here.

File details

Details for the file pyspharm_syl-1.2.1-cp311-cp311-manylinux_2_34_x86_64.whl.

File metadata

File hashes

Hashes for pyspharm_syl-1.2.1-cp311-cp311-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 79d47ba43e0deef02addcee2cb94474b2d5154a7a77efcbd3fd8f17a700660ed
MD5 216b563e175a35f1127f7c8739ddcc0d
BLAKE2b-256 0de991659fd9d9a6a3cfb2f60e32129340ee43809376e9b659d71f746a99f809

See more details on using hashes here.

File details

Details for the file pyspharm_syl-1.2.1-cp310-cp310-win_amd64.whl.

File metadata

File hashes

Hashes for pyspharm_syl-1.2.1-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 622709b08f369a4fe6c7d741e80be5e52c6dbd79d5baa5bdbddac843e804fb34
MD5 2c7386b80a9959145c46784b26e084f7
BLAKE2b-256 a22f5991f6fbe41ae76ad6eb87bb43debf2ac0f66cf0184a9fd79e75966112a5

See more details on using hashes here.

File details

Details for the file pyspharm_syl-1.2.1-cp310-cp310-manylinux_2_34_x86_64.whl.

File metadata

File hashes

Hashes for pyspharm_syl-1.2.1-cp310-cp310-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 303261c90fb1d01c0461abd4745d6ba902351cf3c70b35e1fa346afb221eed9c
MD5 5fc3e107a01faf9c734ffb89af02949f
BLAKE2b-256 7b7b93ddf74bd088da305ce374beceb831add36c10050b43e8b06390d42224a6

See more details on using hashes here.

File details

Details for the file pyspharm_syl-1.2.1-cp39-cp39-win_amd64.whl.

File metadata

  • Download URL: pyspharm_syl-1.2.1-cp39-cp39-win_amd64.whl
  • Upload date:
  • Size: 346.4 kB
  • Tags: CPython 3.9, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.0.1 CPython/3.10.15

File hashes

Hashes for pyspharm_syl-1.2.1-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 bf7b10a0a302f2598d69da5a0a179d1575d82ce37d9b02d184a8cc5841766e4d
MD5 bb1c60dc998119fc80305f947c3b562b
BLAKE2b-256 65103d02307fb07f6b5445353412fe2e806e422ee0354749debe836810d21f1b

See more details on using hashes here.

File details

Details for the file pyspharm_syl-1.2.1-cp39-cp39-manylinux_2_34_x86_64.whl.

File metadata

File hashes

Hashes for pyspharm_syl-1.2.1-cp39-cp39-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 a8928519cf1b52c6cdb0c22e3f2870d01f597b5ef3e51b1900972a412d24a073
MD5 8e8520d0ee399335c95cface31c7560c
BLAKE2b-256 99521dd4493608f1c65239586aa9a454ff26a6a0e97c373ee648e8eb877979ea

See more details on using hashes here.

Supported by

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