Skip to main content

Modern efficient Python package for DISORT

Reason this release was yanked:

flux index counting issue

Project description

Pydisort

Empower Discrete Ordinates Radiative Transfer (DISORT) with Python 🚀

About Pydisort

A modern Python package for the DISORT (Discrete Ordinate Radiative Transfer) algorithm for efficient, high-precision modeling of radiative scattering and absorption in layered media.

pydisort provides a high-level Python API to the well-tested C implementation of DISORT, originally developed in Fortran (Stamnes et al. 1988) and later ported to C as cdisort by Timothy E. Dowling, which is a critical component of libRadTran. To support Python integration, the C code was first encapsulated in C++ classes, which were then exposed to Python using pybind11. For efficient memory management and potential GPU acceleration, pydisort leverages PyTorch tensors, paving the way for future applications in machine learning and large-scale parallel computation.

The normal usage of pydisort is to create a pydisort.DisortOptions object first and then initialize the pydisort.cpp.Disort object with the pydisort.DisortOptions object by:

>>> import torch
>>> from pydisort import DisortOptions, Disort
>>> op = DisortOptions().flags("onlyfl,lamber")
>>> op.ds().nlyr = 4
>>> op.ds().nstr = 4
>>> op.ds().nmom = 4
>>> op.ds().nphase = 4
>>> ds = Disort(op)
>>> tau = torch.tensor([0.1, 0.2, 0.3, 0.4]).unsqueeze(-1)
>>> flx = ds.forward(tau, fbeam=torch.tensor([3.14159]))
>>> flx
tensor([[[[0.0000, 3.1416],
        [0.0000, 2.8426],
        [0.0000, 2.3273],
        [0.0000, 1.7241],
        [0.0000, 1.1557]]]])

For a detailed documentation, please visit https://pydisort.readthedocs.io/.

Project details


Release history Release notifications | RSS feed

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.

pydisort-1.2.2-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (7.6 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

pydisort-1.2.2-cp313-cp313-macosx_11_0_arm64.whl (380.7 kB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

pydisort-1.2.2-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (7.6 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

pydisort-1.2.2-cp312-cp312-macosx_11_0_arm64.whl (380.7 kB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

pydisort-1.2.2-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (7.5 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

pydisort-1.2.2-cp311-cp311-macosx_11_0_arm64.whl (379.3 kB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

pydisort-1.2.2-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (7.5 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

pydisort-1.2.2-cp310-cp310-macosx_11_0_arm64.whl (378.1 kB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

pydisort-1.2.2-cp39-cp39-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (7.5 MB view details)

Uploaded CPython 3.9manylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

pydisort-1.2.2-cp39-cp39-macosx_11_0_arm64.whl (378.2 kB view details)

Uploaded CPython 3.9macOS 11.0+ ARM64

File details

Details for the file pydisort-1.2.2-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for pydisort-1.2.2-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 b5b7e67eaf877a48446d8facc751e7d9efcc2a77c5b615eb74f73dcf9b254fde
MD5 4694645698428cf071e56f9e1cc1cdf0
BLAKE2b-256 de9daabdf1bfc007f65a04536cb82bf8911aa8ff2c1e5a7022451e8f4684fdd6

See more details on using hashes here.

File details

Details for the file pydisort-1.2.2-cp313-cp313-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for pydisort-1.2.2-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 35c43ef62c00441423b6aad1626e1ad2a83e5969bfb9705729bf0e96a5997e0b
MD5 e67ea4bb1c4bff045df7d2b2ac352e83
BLAKE2b-256 ac77e5be84aeb576887464fc803f6b0f55ce375fb9160964a112adf31e41c96a

See more details on using hashes here.

File details

Details for the file pydisort-1.2.2-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for pydisort-1.2.2-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 b96185295adab5be521329df1bacd8c547a431a4af32b372088e00c1287b603d
MD5 636046e3c9ac3df100f3f1abecaa4bde
BLAKE2b-256 bb977d3633637bf03310eae5dec64d23aeca4a927bedac4a734609c19eb57708

See more details on using hashes here.

File details

Details for the file pydisort-1.2.2-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for pydisort-1.2.2-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 644d6a1c1de7b739db0110ae5d32e1f53251461d8f092d3d4ce2d2d18fc045f7
MD5 27195b3bf5ed256f8a6e40cf9027398b
BLAKE2b-256 8ecd5aee59018c06574b5bde6f3468ed681178dd62f6f1d48c78c6ab4ab849c8

See more details on using hashes here.

File details

Details for the file pydisort-1.2.2-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for pydisort-1.2.2-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 e78c0e46a152807e3f7508fb7bee8aa180521d1cdeaeff71b8fafaf37c9e9a12
MD5 2d549fe34cbfad07e231f003cc04e470
BLAKE2b-256 f18f12ff5e752815ef1c5b8caf3ef0c046469ac61d7ec2bd97bb86b580ef264d

See more details on using hashes here.

File details

Details for the file pydisort-1.2.2-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for pydisort-1.2.2-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 0acb489d0b0af7c8a783ed1fd592fbe1f56faba2d627cf6f194daa41ac515927
MD5 c0337c2efffe4dbbb33483c132446efe
BLAKE2b-256 09e48db262f8cada2f1eb646553e6f9edcc09a140960418a3dfaa0f9b30e31eb

See more details on using hashes here.

File details

Details for the file pydisort-1.2.2-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for pydisort-1.2.2-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 ad4652d2f323d13d5abcfd351c1eaca55b4ccd8f8edf7d68f0eb021d678d3676
MD5 5b685895ab0e6fe481e4355e024a8abc
BLAKE2b-256 e37da1fda22817fdca51610241d64e3ced45f0e17fe07e94b93353ac407c2125

See more details on using hashes here.

File details

Details for the file pydisort-1.2.2-cp310-cp310-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for pydisort-1.2.2-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 99ab7b124e53f93b2624fbe5e95fc372cb7ede60e9deb9aafb3d1a3605218295
MD5 db4193179089a161cac6914db71196a1
BLAKE2b-256 1029a899913d12f41202870b014daae131f08c4d9239f0f11da57cae4422cde1

See more details on using hashes here.

File details

Details for the file pydisort-1.2.2-cp39-cp39-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for pydisort-1.2.2-cp39-cp39-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 0dc7c1ab57d083d215a57debc406db7efe8232cea3e33c612c8dac936b4bbf22
MD5 1f6b884f207580643e20de3eda7e2f47
BLAKE2b-256 f05012677c4ef468148b4d2f196b929f229810236298332bfd6d497e5f546723

See more details on using hashes here.

File details

Details for the file pydisort-1.2.2-cp39-cp39-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for pydisort-1.2.2-cp39-cp39-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 a37c8dcc21fa9e6c6f21e3383dd8698382b6da597076dd49194b994585ebf3f1
MD5 3fe4b9ff52d45563567ad30572df8025
BLAKE2b-256 e4c636298862f9d81589240195fe7d4ba0782268347d32445deed75ac071ab1e

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