Skip to main content

Modern efficient Python package for DISORT

Reason this release was yanked:

flux indexing 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.1-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.1-cp313-cp313-macosx_11_0_arm64.whl (380.6 kB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

pydisort-1.2.1-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.1-cp312-cp312-macosx_11_0_arm64.whl (380.5 kB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

pydisort-1.2.1-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.1-cp311-cp311-macosx_11_0_arm64.whl (379.2 kB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

pydisort-1.2.1-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.1-cp310-cp310-macosx_11_0_arm64.whl (377.9 kB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

pydisort-1.2.1-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.1-cp39-cp39-macosx_11_0_arm64.whl (378.0 kB view details)

Uploaded CPython 3.9macOS 11.0+ ARM64

File details

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

File metadata

File hashes

Hashes for pydisort-1.2.1-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 fb8970556508187af611c58d95b10fbf49455d7d57af72f757738060ea7f8f72
MD5 6241e44288dea563509cc848cf864830
BLAKE2b-256 fbca7b83210867f301537b1a34095b2331dc9a7b5bf21ee2ddbb59daa5b5f875

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pydisort-1.2.1-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 b4e47c66b5f5d1a087e46591e1b1119c13a5c29fe6adbcbb1bc1bf3bd09707bc
MD5 a94fac99d2162af541fedcc016f2ae05
BLAKE2b-256 b1d11d9371d5debbc412e8191ad223dea99537157728841dd1e523fdc38e5087

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pydisort-1.2.1-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 a862896151d2c63a16f76815ffef52afd8b0482a2202e8e8782d2533f25b1560
MD5 c6304bdb76f835ee6c982a3233708edd
BLAKE2b-256 4fe845aad5902735dfd026a094a332d9ad3fac41153cade6928fc280e09dac66

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pydisort-1.2.1-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 be4de81af086aec1e0a29932343d07ac12a82346c47ec2eed8fafc840485e7f6
MD5 398ae01c794fcd5172850e9844861b86
BLAKE2b-256 a06a76eb61dc1e3de473e75a1cc89f1ba6c4b7967763948dd151000f4be1dffe

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pydisort-1.2.1-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 b63f6444b1c7ec1294755e44df2c59d5c22f2440075daad91d0db11f2cb45ae1
MD5 9b83832e5430a045321ea89d37efe2dd
BLAKE2b-256 7d2635ccb0c507b8485fde8bbfe160ab35fcfe44045cd4af648196d667c0f767

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pydisort-1.2.1-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 6905cb00478b9d4f498d0be886cd08b73fa489a6ea3a696bbc31f18c05e5a5c6
MD5 dc2ceff5c6db725821072966b9ef9638
BLAKE2b-256 e1c919edbcc13a957dbf965613f46819ceac68c72f92fa0afdfe8ef0d2f3d0bc

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pydisort-1.2.1-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 1fed4192722c52c2162dce1343e2646253bb31c9a5d6e571a5eda1764817f0a4
MD5 a3edb7daa543c45f8fcee4081a8bab6f
BLAKE2b-256 fe86d85c21f8fc047849ffcb8d838467318639ac9d4df06aea293116682d7eed

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pydisort-1.2.1-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 0c8afc1bb9123b9bee431ae356c2bf96b5d619f12a7518acf9ca36c5dbd45dc1
MD5 95b589083efed804560135633ad1ce17
BLAKE2b-256 247897abc986a36681b7b3ac5b5c02891ec007ebf910a32a574f26e569a5b1f6

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pydisort-1.2.1-cp39-cp39-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 64436e67fbd1bf46742c40b9ecb33e781e7c46f56ba72e749c74da27526bbd90
MD5 33ace6929e7668d28ffb9d7b48311a81
BLAKE2b-256 13b2191230165a83f0f41bb694e4a5cecc1537a375102072129a0628b1691c8c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pydisort-1.2.1-cp39-cp39-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 076ff1e7219772decfe4e910793be77034c0c72a60e0c73eba0830723aa49076
MD5 55e3f79657fe8d9ee9080be6c6556904
BLAKE2b-256 d5e5e4c9d2c4b7ddad26484133f767c276bba2f81aaa61a2c061c792a99a80b0

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