Modern Python package for DISORT with support for parallel computation.
Project description
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
Built Distributions
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file pydisort-1.3.6-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.
File metadata
- Download URL: pydisort-1.3.6-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
- Upload date:
- Size: 7.6 MB
- Tags: CPython 3.13, manylinux: glibc 2.27+ x86-64, manylinux: glibc 2.28+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
5278f36d4271cc62ab88e326806672b4b820e2d67341c65db037494fba0b015d
|
|
| MD5 |
41892d0ed79bd74c4d8bb381d0c5c031
|
|
| BLAKE2b-256 |
4c2558ccaeb2a80b0dfc8b76410c21eb70d107fefc83ec1991d1d9711e75b199
|
File details
Details for the file pydisort-1.3.6-cp313-cp313-macosx_12_0_arm64.whl.
File metadata
- Download URL: pydisort-1.3.6-cp313-cp313-macosx_12_0_arm64.whl
- Upload date:
- Size: 587.5 kB
- Tags: CPython 3.13, macOS 12.0+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c34d7e0528472db56c7e0d65042e9ef88f350b2fc84c5a4a9a5b2d5710626baf
|
|
| MD5 |
4d9fe63a3c26d092863e8cd12a7ff3c0
|
|
| BLAKE2b-256 |
321f4111e8cbe020e738794504439b743a767f1992d63c451af6889a0c756e48
|
File details
Details for the file pydisort-1.3.6-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.
File metadata
- Download URL: pydisort-1.3.6-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
- Upload date:
- Size: 7.6 MB
- Tags: CPython 3.12, manylinux: glibc 2.27+ x86-64, manylinux: glibc 2.28+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a6ed2c9d3e7fca898a06db94f01a7025a936639b2e8dd91e0e15cd2ed4e2c546
|
|
| MD5 |
8cad08a636550965ac59f412e0c0e86b
|
|
| BLAKE2b-256 |
8119acfc1234623eba8344b52421af0c80acaa7f4b9a95057df5a68de30dfa02
|
File details
Details for the file pydisort-1.3.6-cp312-cp312-macosx_12_0_arm64.whl.
File metadata
- Download URL: pydisort-1.3.6-cp312-cp312-macosx_12_0_arm64.whl
- Upload date:
- Size: 587.5 kB
- Tags: CPython 3.12, macOS 12.0+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
abdf111bf0bc97def9d7d5b25cc10363037ee1f83b176e56a6ce5b74756d7294
|
|
| MD5 |
6a8b8f9b37942dc414a16ef03936ccc0
|
|
| BLAKE2b-256 |
6078e2ec90d78fd55be3b6a871ddcb2818a0d3c0312520552b2d5ddaec47b305
|
File details
Details for the file pydisort-1.3.6-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.
File metadata
- Download URL: pydisort-1.3.6-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
- Upload date:
- Size: 7.6 MB
- Tags: CPython 3.11, manylinux: glibc 2.27+ x86-64, manylinux: glibc 2.28+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
2167e71643127d0dd5acd62c1265c9bfe9f8795e4c22a610767251915dba2652
|
|
| MD5 |
a7806ae0f430c83df690f37733d47751
|
|
| BLAKE2b-256 |
21a9c1fd2819291baef49811001d287a35e10e89128f1dfc74c480f5ca08a09a
|
File details
Details for the file pydisort-1.3.6-cp311-cp311-macosx_12_0_arm64.whl.
File metadata
- Download URL: pydisort-1.3.6-cp311-cp311-macosx_12_0_arm64.whl
- Upload date:
- Size: 587.7 kB
- Tags: CPython 3.11, macOS 12.0+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ff57fd26235b41b1de5e8e66342109c8444e6782ea9ff0b9d0ab4c5222a188d8
|
|
| MD5 |
89519400114fb61b8f75f5117234eb78
|
|
| BLAKE2b-256 |
b10c38ef5f6c37107c40000852f1555ae27a805ad5a5942a014540becffd872c
|
File details
Details for the file pydisort-1.3.6-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.
File metadata
- Download URL: pydisort-1.3.6-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
- Upload date:
- Size: 7.5 MB
- Tags: CPython 3.10, manylinux: glibc 2.27+ x86-64, manylinux: glibc 2.28+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
6ea564e1a152ff7a67d149569abc526b23cf2ba5f0b75d9c2d8a4a496333467f
|
|
| MD5 |
f9488f7fa9c5ba216f98e663f8d796dc
|
|
| BLAKE2b-256 |
b67deb7e7628a1f7cc38632c702985d3aa93dac0d6ec66499276f44535326884
|
File details
Details for the file pydisort-1.3.6-cp310-cp310-macosx_12_0_arm64.whl.
File metadata
- Download URL: pydisort-1.3.6-cp310-cp310-macosx_12_0_arm64.whl
- Upload date:
- Size: 586.5 kB
- Tags: CPython 3.10, macOS 12.0+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
79b17b5204a5c0f21f399e21a244e954ad89127d154b1e166918c242d4cb7a0e
|
|
| MD5 |
4cb8cfd2dd9ee0c72397b0cf925968dc
|
|
| BLAKE2b-256 |
7c63ebe58d9a3015130fc525687ef694968c2dbd5ed72039710dd240556c5f97
|
File details
Details for the file pydisort-1.3.6-cp39-cp39-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.
File metadata
- Download URL: pydisort-1.3.6-cp39-cp39-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
- Upload date:
- Size: 7.5 MB
- Tags: CPython 3.9, manylinux: glibc 2.27+ x86-64, manylinux: glibc 2.28+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0d288fa0dc619c5e3b9105556afbe6f27df0fbcf9194f21923d5389ec05e8145
|
|
| MD5 |
6fa7e884ebc76f80d88a8594b9e38810
|
|
| BLAKE2b-256 |
9fe6c406303f8e4a2e87f3be2828963bca5c9fee24a27ccce70c7d9f5f673b2e
|
File details
Details for the file pydisort-1.3.6-cp39-cp39-macosx_12_0_arm64.whl.
File metadata
- Download URL: pydisort-1.3.6-cp39-cp39-macosx_12_0_arm64.whl
- Upload date:
- Size: 586.6 kB
- Tags: CPython 3.9, macOS 12.0+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
2a0011ca06a8d8f201b4fd081137c1ec21bf4478a59baa2084b0e7d85f6adeed
|
|
| MD5 |
d61c937f1e300328b4fc62e94c5bcb23
|
|
| BLAKE2b-256 |
c3c0c9016150d8a655c8f48c2249035a941dfb7b0bd62bbf5b57e80cf1537719
|