Skip to main content

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.Disort object with the pydisort.DisortOptions object by:

>>> import torch
>>> from pydisort import DisortOptions, Disort
>>> torch.set_default_dtype(torch.float64)
>>> 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]]]])

Installation

pip install pydisort

Prebuilt wheels cover CPython 3.10–3.14 on Linux x86-64 (glibc 2.28 or newer with PyTorch) and Apple Silicon macOS 15 or newer. pip installs the required PyTorch automatically. The release workflow publishes wheels only: if no wheel matches, follow the source-build instructions to build the C++ library with CMake before installing the Python bindings.

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

Metadata

Release files for pydisort 1.8.13

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Built distributions (wheels)

Table of built distributions (wheels) for pydisort 1.8.13
File
pydisort-1.8.13-cp314-cp314-manylinux_2_27_x86_64.whl CPython 3.14 CPython 3.14 Linux glibc 2.27+ x86-64 Details
pydisort-1.8.13-cp314-cp314-macosx_15_0_arm64.whl CPython 3.14 CPython 3.14 macOS 15.0+ ARM64 Details
pydisort-1.8.13-cp313-cp313-manylinux_2_27_x86_64.whl CPython 3.13 CPython 3.13 Linux glibc 2.27+ x86-64 Details
pydisort-1.8.13-cp313-cp313-macosx_15_0_arm64.whl CPython 3.13 CPython 3.13 macOS 15.0+ ARM64 Details
pydisort-1.8.13-cp312-cp312-manylinux_2_27_x86_64.whl CPython 3.12 CPython 3.12 Linux glibc 2.27+ x86-64 Details
pydisort-1.8.13-cp312-cp312-macosx_15_0_arm64.whl CPython 3.12 CPython 3.12 macOS 15.0+ ARM64 Details
pydisort-1.8.13-cp311-cp311-manylinux_2_27_x86_64.whl CPython 3.11 CPython 3.11 Linux glibc 2.27+ x86-64 Details
pydisort-1.8.13-cp311-cp311-macosx_15_0_arm64.whl CPython 3.11 CPython 3.11 macOS 15.0+ ARM64 Details
pydisort-1.8.13-cp310-cp310-manylinux_2_27_x86_64.whl CPython 3.10 CPython 3.10 Linux glibc 2.27+ x86-64 Details
pydisort-1.8.13-cp310-cp310-macosx_15_0_arm64.whl CPython 3.10 CPython 3.10 macOS 15.0+ ARM64 Details

Total release size: 71.9 MB

Release files / pydisort-1.8.13-cp314-cp314-manylinux_2_27_x86_64.whl

Download URL pydisort-1.8.13-cp314-cp314-manylinux_2_27_x86_64.whl
Size 13.8 MB
Tags CPython 3.14 Linux glibc 2.27+ x86-64
SHA-256 checksum
How to use checksums
a1d44b30693a5fcbd2506d93f807a3a2de186222f6753464e41152b9674dc7ff
BLAKE2b-256 checksum
How to use checksums
58baadfe9a09dc1eecf14e14bbd68153fe66c0996cdc74de1361750fa4a4944f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / pydisort-1.8.13-cp314-cp314-macosx_15_0_arm64.whl

Download URL pydisort-1.8.13-cp314-cp314-macosx_15_0_arm64.whl
Size 642.6 kB
Tags CPython 3.14 macOS 15.0+ ARM64
SHA-256 checksum
How to use checksums
cbc6d3f5eb207d97fa64c16c2f37a9958a578971bb03e4649ad70f69b2727e7d
BLAKE2b-256 checksum
How to use checksums
949f2c0c94d7da4f4e3279ae3ff2253df909a8c96e8936b09e23675eb02200df
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / pydisort-1.8.13-cp313-cp313-manylinux_2_27_x86_64.whl

Download URL pydisort-1.8.13-cp313-cp313-manylinux_2_27_x86_64.whl
Size 13.7 MB
Tags CPython 3.13 Linux glibc 2.27+ x86-64
SHA-256 checksum
How to use checksums
6393dcd9b6869935b43030095474a4f3c9f435c7858908db406cc2b9eb8d3a3e
BLAKE2b-256 checksum
How to use checksums
bcc3dab0b0572b4ac4f5d3ed5c080fe541937e3f489325276dba1f4e39fe308e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / pydisort-1.8.13-cp313-cp313-macosx_15_0_arm64.whl

Download URL pydisort-1.8.13-cp313-cp313-macosx_15_0_arm64.whl
Size 641.9 kB
Tags CPython 3.13 macOS 15.0+ ARM64
SHA-256 checksum
How to use checksums
e515c0ec58d2fde9ae4255cc8e159a0627ba489eab81926bb68982ff342ba629
BLAKE2b-256 checksum
How to use checksums
00a05425ed86b52cdb96effb1d799e8b98c1cfd190ebf4e8acb7ece7eb550275
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / pydisort-1.8.13-cp312-cp312-manylinux_2_27_x86_64.whl

Download URL pydisort-1.8.13-cp312-cp312-manylinux_2_27_x86_64.whl
Size 13.7 MB
Tags CPython 3.12 Linux glibc 2.27+ x86-64
SHA-256 checksum
How to use checksums
d3df2614d835c95b952725fbd64df25c300bb75c74ee0d4f1c02b3f69a843408
BLAKE2b-256 checksum
How to use checksums
75d75485be9e80c3f3692c743adb5b84c1257acf173e2e374b820dd025c6b0d9
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / pydisort-1.8.13-cp312-cp312-macosx_15_0_arm64.whl

Download URL pydisort-1.8.13-cp312-cp312-macosx_15_0_arm64.whl
Size 641.9 kB
Tags CPython 3.12 macOS 15.0+ ARM64
SHA-256 checksum
How to use checksums
fe7da5b8ff689ffc33dbb98b5383861279f6bb6bc6c4f8b8cec13b908a9b94bb
BLAKE2b-256 checksum
How to use checksums
1de38f29179372816ad73cb50e3cc1c21336717c4b4b7914b1673efed9cc99b9
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / pydisort-1.8.13-cp311-cp311-manylinux_2_27_x86_64.whl

Download URL pydisort-1.8.13-cp311-cp311-manylinux_2_27_x86_64.whl
Size 13.7 MB
Tags CPython 3.11 Linux glibc 2.27+ x86-64
SHA-256 checksum
How to use checksums
f9470a736baecac5fbb4660abc57fd0ac45963cca46614d242e5f04d78bc1aa6
BLAKE2b-256 checksum
How to use checksums
258d5a3f1fd231162903792bf26cdc97dbb38acf700e41388c2e7339cd115cf1
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / pydisort-1.8.13-cp311-cp311-macosx_15_0_arm64.whl

Download URL pydisort-1.8.13-cp311-cp311-macosx_15_0_arm64.whl
Size 640.5 kB
Tags CPython 3.11 macOS 15.0+ ARM64
SHA-256 checksum
How to use checksums
b977b99daa6d67739500a4dfa17241d2d2978a3c07cd3d3ac0162d1de224a404
BLAKE2b-256 checksum
How to use checksums
0005aa6255694ac2f2f49772565aa837b55a66d0b7c26e986ce65f813639747d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / pydisort-1.8.13-cp310-cp310-manylinux_2_27_x86_64.whl

Download URL pydisort-1.8.13-cp310-cp310-manylinux_2_27_x86_64.whl
Size 13.8 MB
Tags CPython 3.10 Linux glibc 2.27+ x86-64
SHA-256 checksum
How to use checksums
812b41dc99a99dd0b3996a38837e8b012f7385381277ac4e8c7877ea5f7eb1c8
BLAKE2b-256 checksum
How to use checksums
5e6d0a945aeb2848463e62f9a82fde4947936c998e4312fb96dee10a8b203a68
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / pydisort-1.8.13-cp310-cp310-macosx_15_0_arm64.whl

Download URL pydisort-1.8.13-cp310-cp310-macosx_15_0_arm64.whl
Size 638.7 kB
Tags CPython 3.10 macOS 15.0+ ARM64
SHA-256 checksum
How to use checksums
04561934c76b9e6808014381fe640e052c9169dfed2844b6a9f2589ff49df902
BLAKE2b-256 checksum
How to use checksums
37e932636ce3ff2e53619067e0815d3b392a94e62c751aa54300f367ce9bba7b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release history Release notifications | RSS feed

This release

1.8.13 This release

10 release files

1.8.3

8 release files

1.7.1

8 release files

1.7.0

9 release files

1.6.0

10 release files

1.5.0

10 release files

1.4.5

10 release files

1.4.3

10 release files

1.4.1

10 release files

1.3.3

10 release files

1.3.2

10 release files

1.3.1

10 release files

1.3.0

10 release files

1.2.10

5 release files

1.2.7

10 release files

1.2.6

10 release files

1.2.5

10 release files

1.2.3

10 release files

1.2.2

10 release files

1.1.4

10 release files

1.0.1

10 release files

0.12.0

5 release files

0.10.14

1 release file

0.10.4

1 release file

0.10.3

1 release file

0.10.2

1 release file

0.10.1

1 release file

0.9.2

1 release file

0.9

2 release files

0.8

11 release files

0.7.1

12 release files

0.7.0

12 release files

0.6.2

9 release files

0.6.1

2 release files

0.0.20

1 release file

0.0.19

1 release file

0.0.18

1 release file

0.0.17

1 release file

0.0.16

1 release file

0.0.15

1 release file

0.0.14

1 release file

0.0.13

1 release file

0.0.12

1 release file

0.0.11

1 release file

0.0.10

1 release file

0.0.9

1 release file

0.0.8

1 release file

0.0.7

1 release file

0.0.6

2 release files

0.0.5

2 release files

0.0.4

3 release files

0.0.3

3 release files

0.0.2

1 release file

0.0.1

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page