Skip to main content

Modern Python package for DISORT with support for parallel computation.

Project description

Pydisort

Superpowered Radiative Transfer: Fast, Scalable, User-Friendly 🚀

About Pydisort

A modern Python package for the DISORT (Discrete Ordinate Radiative Transfer) algorithm for high-performance, 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.8.3-cp313-cp313-manylinux_2_27_x86_64.whl (13.8 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.27+ x86-64

pydisort-1.8.3-cp313-cp313-macosx_15_0_arm64.whl (640.9 kB view details)

Uploaded CPython 3.13macOS 15.0+ ARM64

pydisort-1.8.3-cp312-cp312-manylinux_2_27_x86_64.whl (13.8 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.27+ x86-64

pydisort-1.8.3-cp312-cp312-macosx_15_0_arm64.whl (640.9 kB view details)

Uploaded CPython 3.12macOS 15.0+ ARM64

pydisort-1.8.3-cp311-cp311-manylinux_2_27_x86_64.whl (13.8 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.27+ x86-64

pydisort-1.8.3-cp311-cp311-macosx_15_0_arm64.whl (639.5 kB view details)

Uploaded CPython 3.11macOS 15.0+ ARM64

pydisort-1.8.3-cp310-cp310-manylinux_2_27_x86_64.whl (13.8 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.27+ x86-64

pydisort-1.8.3-cp310-cp310-macosx_15_0_arm64.whl (637.7 kB view details)

Uploaded CPython 3.10macOS 15.0+ ARM64

File details

Details for the file pydisort-1.8.3-cp313-cp313-manylinux_2_27_x86_64.whl.

File metadata

File hashes

Hashes for pydisort-1.8.3-cp313-cp313-manylinux_2_27_x86_64.whl
Algorithm Hash digest
SHA256 a390097978e192b3166883bddb356c579b831bdc5cfac73396a9aeabb955ab1e
MD5 ae2371756f05be59d03f5ba2fad45944
BLAKE2b-256 f65e228e9dbca57b35ebc5dbc4a2b88dbece59043f14adef74e00d5a06c496a2

See more details on using hashes here.

File details

Details for the file pydisort-1.8.3-cp313-cp313-macosx_15_0_arm64.whl.

File metadata

File hashes

Hashes for pydisort-1.8.3-cp313-cp313-macosx_15_0_arm64.whl
Algorithm Hash digest
SHA256 8f8abcedd4d1aa5fbea4af9c14e0146c775cb89e33ef33169b02d9c7bb154310
MD5 e215971c59540babec64243a5479b4d0
BLAKE2b-256 bb583bfd8551d820a343873f12684e3b45562691e2fba4479d19c3c16d5576e1

See more details on using hashes here.

File details

Details for the file pydisort-1.8.3-cp312-cp312-manylinux_2_27_x86_64.whl.

File metadata

File hashes

Hashes for pydisort-1.8.3-cp312-cp312-manylinux_2_27_x86_64.whl
Algorithm Hash digest
SHA256 e213c36748ef0193e04b82bf8155bb444a76abda5e2b2e42d3cf421b55aef0f6
MD5 10930fe87f83e67b265a9cfb02bdaae5
BLAKE2b-256 e4c88360f78e064b7ddf87ef9e4a4c5921e78bbb6f2c38e5cd80552ef8bc6134

See more details on using hashes here.

File details

Details for the file pydisort-1.8.3-cp312-cp312-macosx_15_0_arm64.whl.

File metadata

File hashes

Hashes for pydisort-1.8.3-cp312-cp312-macosx_15_0_arm64.whl
Algorithm Hash digest
SHA256 9ab0f1c0f52ba9f2080411780e7123604f42e892d2705d82f2409fab85c4d154
MD5 74216cc25997760bf228aa7d2ff0ec5c
BLAKE2b-256 160e022d3af6bb878f138864068617a97c8492fa70074359b4e0082066f24cbe

See more details on using hashes here.

File details

Details for the file pydisort-1.8.3-cp311-cp311-manylinux_2_27_x86_64.whl.

File metadata

File hashes

Hashes for pydisort-1.8.3-cp311-cp311-manylinux_2_27_x86_64.whl
Algorithm Hash digest
SHA256 26ca3fdc6ea20ee148bf601a115116cd1e4f52e549c09d713b0b3ec3eab72b32
MD5 827f83f5433879d5bfe0760e370a061d
BLAKE2b-256 69f668eae185fb46f51d8381f2d5f2ffbafda327ae1899c4e3479d4f52f5e7c7

See more details on using hashes here.

File details

Details for the file pydisort-1.8.3-cp311-cp311-macosx_15_0_arm64.whl.

File metadata

File hashes

Hashes for pydisort-1.8.3-cp311-cp311-macosx_15_0_arm64.whl
Algorithm Hash digest
SHA256 fa62a735dc7fd7b139ee6a8ee67af9ba7e626627554015fa531d14dfb8e6d8d0
MD5 fe7da9d744ad6708c6e5711a386d71dc
BLAKE2b-256 0ffa756db01aec487ef4611500954f527dd951011b0e54194de59329c63db26b

See more details on using hashes here.

File details

Details for the file pydisort-1.8.3-cp310-cp310-manylinux_2_27_x86_64.whl.

File metadata

File hashes

Hashes for pydisort-1.8.3-cp310-cp310-manylinux_2_27_x86_64.whl
Algorithm Hash digest
SHA256 d3292deee9c376eb50d7b12fdbfdcab9131064d3400e9dcaacf9a192754ebe43
MD5 f85214c8f73852eee253c322be67c31e
BLAKE2b-256 2ee8e93b5431875a1bdd8a1b7a876cdad5ef0062005dcc56d93d171da14e83c3

See more details on using hashes here.

File details

Details for the file pydisort-1.8.3-cp310-cp310-macosx_15_0_arm64.whl.

File metadata

File hashes

Hashes for pydisort-1.8.3-cp310-cp310-macosx_15_0_arm64.whl
Algorithm Hash digest
SHA256 274a542a96ace4203a68f4bf31d4eb5011611a8c103f09faf05f2e05f6dd89f7
MD5 82c257b0d360bcfe1d3fae65f5f817fb
BLAKE2b-256 453fd51bd2ec669263a504a16d08f8bfeafd04f4d5cdee96c163fc6b8da5b3e3

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