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.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]]]])

Installation

pip install pydisort

Prebuilt wheels are published for CPython 3.10–3.14, and pip pulls in a compatible torch automatically. pydisort is a compiled PyTorch extension, so if pip builds from source (e.g. no matching wheel for your platform), torch must be importable at build time. Install it first and disable build isolation:

pip install 'torch==2.10.0'
pip install pydisort --no-build-isolation

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

Metadata

Release files for pydisort 1.8.5

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.5
File
pydisort-1.8.5-cp314-cp314-manylinux_2_27_x86_64.whl CPython 3.14 CPython 3.14 Linux glibc 2.27+ x86-64 Details
pydisort-1.8.5-cp314-cp314-macosx_15_0_arm64.whl CPython 3.14 CPython 3.14 macOS 15.0+ ARM64 Details
pydisort-1.8.5-cp313-cp313-manylinux_2_27_x86_64.whl CPython 3.13 CPython 3.13 Linux glibc 2.27+ x86-64 Details
pydisort-1.8.5-cp313-cp313-macosx_15_0_arm64.whl CPython 3.13 CPython 3.13 macOS 15.0+ ARM64 Details
pydisort-1.8.5-cp312-cp312-manylinux_2_27_x86_64.whl CPython 3.12 CPython 3.12 Linux glibc 2.27+ x86-64 Details
pydisort-1.8.5-cp312-cp312-macosx_15_0_arm64.whl CPython 3.12 CPython 3.12 macOS 15.0+ ARM64 Details
pydisort-1.8.5-cp311-cp311-manylinux_2_27_x86_64.whl CPython 3.11 CPython 3.11 Linux glibc 2.27+ x86-64 Details
pydisort-1.8.5-cp311-cp311-macosx_15_0_arm64.whl CPython 3.11 CPython 3.11 macOS 15.0+ ARM64 Details
pydisort-1.8.5-cp310-cp310-manylinux_2_27_x86_64.whl CPython 3.10 CPython 3.10 Linux glibc 2.27+ x86-64 Details
pydisort-1.8.5-cp310-cp310-macosx_15_0_arm64.whl CPython 3.10 CPython 3.10 macOS 15.0+ ARM64 Details

Total release size: 72.2 MB

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

Download URL pydisort-1.8.5-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
899885bdea68d58b9f9d4d8d237a1df4e23de2ef8db20b1e5e5290b58d36bb09
BLAKE2b-256 checksum
How to use checksums
75ccdb504bd2890e9883aa16bd719cd89ff14b774b72af298f476d14fe5303bb
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.5-cp314-cp314-macosx_15_0_arm64.whl

Download URL pydisort-1.8.5-cp314-cp314-macosx_15_0_arm64.whl
Size 641.8 kB
Tags CPython 3.14 macOS 15.0+ ARM64
SHA-256 checksum
How to use checksums
c19ccfa6710dbe4a8080ee3e17f291e4604f508db5ef336b930916373f343559
BLAKE2b-256 checksum
How to use checksums
b7721793199838a6d284f0cb79a04b4d57a12feb4e0e9d31a6929a80daaf8059
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.5-cp313-cp313-manylinux_2_27_x86_64.whl

Download URL pydisort-1.8.5-cp313-cp313-manylinux_2_27_x86_64.whl
Size 13.8 MB
Tags CPython 3.13 Linux glibc 2.27+ x86-64
SHA-256 checksum
How to use checksums
1564c7cc6ca574345861273824f0aa089620cf34dececec599642bccd9104bb2
BLAKE2b-256 checksum
How to use checksums
76dc7f2daf256d9be578a22a8642015b5741315b62127fcda77a4a7f689c9c9b
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.5-cp313-cp313-macosx_15_0_arm64.whl

Download URL pydisort-1.8.5-cp313-cp313-macosx_15_0_arm64.whl
Size 641.2 kB
Tags CPython 3.13 macOS 15.0+ ARM64
SHA-256 checksum
How to use checksums
6260fac6c091f25b27d8783714a8e2f205a146d3a6a60eda89e9e1044cf25a7d
BLAKE2b-256 checksum
How to use checksums
37f54c7f1356fdef68ac4b1dd58ddd0a8d5d5b810e8d5a44b7909aa1a683befe
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.5-cp312-cp312-manylinux_2_27_x86_64.whl

Download URL pydisort-1.8.5-cp312-cp312-manylinux_2_27_x86_64.whl
Size 13.8 MB
Tags CPython 3.12 Linux glibc 2.27+ x86-64
SHA-256 checksum
How to use checksums
068994eea5f1327fddb07e37818141d5f71ed7011959a999900e5927e7e00e21
BLAKE2b-256 checksum
How to use checksums
d2e73d7dd70784c39b120c003217278c943658c586440898d1ab8a889af1cb40
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.5-cp312-cp312-macosx_15_0_arm64.whl

Download URL pydisort-1.8.5-cp312-cp312-macosx_15_0_arm64.whl
Size 641.1 kB
Tags CPython 3.12 macOS 15.0+ ARM64
SHA-256 checksum
How to use checksums
43033ce7e2626ac6553171a6d9de9efc143a4f746b7e76d1ab6d4b91837ba882
BLAKE2b-256 checksum
How to use checksums
1c968300923cefc79923522aaac45efa7efbf116f8055d4db2c28bd060f2a164
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.5-cp311-cp311-manylinux_2_27_x86_64.whl

Download URL pydisort-1.8.5-cp311-cp311-manylinux_2_27_x86_64.whl
Size 13.8 MB
Tags CPython 3.11 Linux glibc 2.27+ x86-64
SHA-256 checksum
How to use checksums
f76186f54f44ce1ba63c9eb5590990f82e48eb68a8513e0ea8968cc0d47af697
BLAKE2b-256 checksum
How to use checksums
a6840d9947c2e37ece8b8958766a6f826f682db982f21511b8a3a5fd544bbb06
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.5-cp311-cp311-macosx_15_0_arm64.whl

Download URL pydisort-1.8.5-cp311-cp311-macosx_15_0_arm64.whl
Size 639.7 kB
Tags CPython 3.11 macOS 15.0+ ARM64
SHA-256 checksum
How to use checksums
deadbf24e078ebd4734a2db5afc4ccf93dd6f40cddfe8b7e5b12c3f71daadbf2
BLAKE2b-256 checksum
How to use checksums
55b3924fac87b39d746813d9a4f6605b46cfbb58f2ef205eb02d847520af1917
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.5-cp310-cp310-manylinux_2_27_x86_64.whl

Download URL pydisort-1.8.5-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
b2f4d996046ece6aff3efbe60345f1033121c3bff0d19424ece83f4dead72d77
BLAKE2b-256 checksum
How to use checksums
89917081da95c0155f2a9ecc5efcd527b0940e02c3b3c651ef5ffa67c6890ab8
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.5-cp310-cp310-macosx_15_0_arm64.whl

Download URL pydisort-1.8.5-cp310-cp310-macosx_15_0_arm64.whl
Size 637.9 kB
Tags CPython 3.10 macOS 15.0+ ARM64
SHA-256 checksum
How to use checksums
fc84c47cfcd7163d6ed4338c08b83e67dbe332eb0ab88bc062a2f49d7af6deac
BLAKE2b-256 checksum
How to use checksums
a03292c7234d5fefacef2a91b6f8038cfa9f19266f9e0bfea0a7ecaa6cba3b7f
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.5 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