Skip to main content

Python bindings for cdisort radiative transfer solver

Project description

nanodisort

Python bindings for CDISORT, a C implementation of the DISORT (Discrete Ordinates Radiative Transfer) solver.

Overview

DISORT is a widely-used radiative transfer solver for plane-parallel atmospheres. It uses the discrete ordinates method to solve the radiative transfer equation with support for:

  • Multiple scattering
  • Absorption and emission
  • Thermal emission (Planck function)
  • Various boundary conditions
  • Pseudo-spherical geometry for direct beam

The CDISORT library offers improved performance over the original Fortran version through dynamic memory allocation and full double precision arithmetic.

Installation

Prerequisites

  • Python 3.9 to 3.13
  • NumPy 1.20 or later

From source

git clone https://github.com/rayference/nanodisort.git
cd nanodisort
uv sync --dev
uv pip install -e .

Quickstart

import nanodisort as nd

# Create solver state
state = nd.DisortState()

# Configure dimensions
state.nstr = 8   # Number of streams
state.nlyr = 6   # Number of layers
state.nmom = 8   # Number of phase function moments
state.ntau = 5   # Number of output optical depths
state.numu = 4   # Number of output polar angles
state.nphi = 3   # Number of output azimuthal angles

# Allocate memory
state.allocate()

# Set optical properties, geometry, boundary conditions
# ... (see documentation)

# Solve
state.solve()

License

This project is licensed under the GNU General Public License v3.0 or later (GPL-3.0-or-later), consistent with the CDISORT library it wraps.

Acknowledgments

nanodisort authors are grateful to the developers of the many implementations of DISORT, and, in particular, to

  • Timothy E. Dowling (original CDISORT C translation);
  • Robert Buras (phase function extensions);
  • Arve Kylling (pseudo-spherical approximation, testing);
  • the original DISORT Fortran authors.

Citation

If you use nanodisort in your research, please cite the CDISORT paper and the nanodisort repository:

@software{Leroy_nanodisort,
    author = {Leroy, Vincent and Emde, Claudia},
    license = {GPL-3.0-or-later},
    title = {{nanodisort}},
    url = {https://github.com/eradiate/nanodisort},
    version = {0.1.0}
}

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

nanodisort-0.1.0.dev1.tar.gz (333.0 kB view details)

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

nanodisort-0.1.0.dev1-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (222.5 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

nanodisort-0.1.0.dev1-cp313-cp313-macosx_11_0_arm64.whl (208.2 kB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

nanodisort-0.1.0.dev1-cp313-cp313-macosx_10_13_x86_64.whl (222.1 kB view details)

Uploaded CPython 3.13macOS 10.13+ x86-64

nanodisort-0.1.0.dev1-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (222.6 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

nanodisort-0.1.0.dev1-cp312-cp312-macosx_11_0_arm64.whl (208.3 kB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

nanodisort-0.1.0.dev1-cp312-cp312-macosx_10_13_x86_64.whl (222.2 kB view details)

Uploaded CPython 3.12macOS 10.13+ x86-64

nanodisort-0.1.0.dev1-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (223.7 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

nanodisort-0.1.0.dev1-cp311-cp311-macosx_11_0_arm64.whl (209.4 kB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

nanodisort-0.1.0.dev1-cp311-cp311-macosx_10_13_x86_64.whl (222.9 kB view details)

Uploaded CPython 3.11macOS 10.13+ x86-64

nanodisort-0.1.0.dev1-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (224.0 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

nanodisort-0.1.0.dev1-cp310-cp310-macosx_11_0_arm64.whl (209.7 kB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

nanodisort-0.1.0.dev1-cp310-cp310-macosx_10_13_x86_64.whl (223.1 kB view details)

Uploaded CPython 3.10macOS 10.13+ x86-64

nanodisort-0.1.0.dev1-cp39-cp39-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (224.1 kB view details)

Uploaded CPython 3.9manylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

nanodisort-0.1.0.dev1-cp39-cp39-macosx_11_0_arm64.whl (209.9 kB view details)

Uploaded CPython 3.9macOS 11.0+ ARM64

nanodisort-0.1.0.dev1-cp39-cp39-macosx_10_13_x86_64.whl (223.3 kB view details)

Uploaded CPython 3.9macOS 10.13+ x86-64

File details

Details for the file nanodisort-0.1.0.dev1.tar.gz.

File metadata

  • Download URL: nanodisort-0.1.0.dev1.tar.gz
  • Upload date:
  • Size: 333.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for nanodisort-0.1.0.dev1.tar.gz
Algorithm Hash digest
SHA256 20eb458dc079d2b364b74fa6fbc681d66a8e37c4547f714b28fcb6b4bd602c86
MD5 24af4f4ef27ed9ede4ed240c3dd72e24
BLAKE2b-256 f0fa19780346671e29f2a10a7cd9dce8f5386b965b1a1bd31ba32811701f8bdd

See more details on using hashes here.

Provenance

The following attestation bundles were made for nanodisort-0.1.0.dev1.tar.gz:

Publisher: build.yml on eradiate/nanodisort

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file nanodisort-0.1.0.dev1-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for nanodisort-0.1.0.dev1-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 32d040b68933096e48972ec76d6449868f81809be0fe805268e5b9391948dc43
MD5 3fad1f574fd67076b1b690eff2e3f5fd
BLAKE2b-256 0bb326785a0d388b4425110510199774721873114cae58d9e4352e3fcff30958

See more details on using hashes here.

Provenance

The following attestation bundles were made for nanodisort-0.1.0.dev1-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl:

Publisher: build.yml on eradiate/nanodisort

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file nanodisort-0.1.0.dev1-cp313-cp313-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for nanodisort-0.1.0.dev1-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 aa2e3fc86ebbd96670eb6c9f47f4e2b6af814a312d16570a77c8cb440e0dbe7e
MD5 ccd5c67e5e96972bbf97178b2e59721c
BLAKE2b-256 a6bac0b8bc70bb1dc21163682947aba95eec76894323eb2a6351273568c8f80f

See more details on using hashes here.

Provenance

The following attestation bundles were made for nanodisort-0.1.0.dev1-cp313-cp313-macosx_11_0_arm64.whl:

Publisher: build.yml on eradiate/nanodisort

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file nanodisort-0.1.0.dev1-cp313-cp313-macosx_10_13_x86_64.whl.

File metadata

File hashes

Hashes for nanodisort-0.1.0.dev1-cp313-cp313-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 92be11242d2022ac64f36bef0c7d5d0e7d493c3728e98c59e835c60e45690a9a
MD5 a0608ba3232b12cc1098215c46132ada
BLAKE2b-256 1c2a5caeb7a9fcdd22f05befaec637310272b90a66b64bf742f4340273936e46

See more details on using hashes here.

Provenance

The following attestation bundles were made for nanodisort-0.1.0.dev1-cp313-cp313-macosx_10_13_x86_64.whl:

Publisher: build.yml on eradiate/nanodisort

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file nanodisort-0.1.0.dev1-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for nanodisort-0.1.0.dev1-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 9c4be9c668989175d94892adb3d69e79c88c9e4998157af8edaf9a679ce590d9
MD5 e887c4d157ca9fb149769a7092213268
BLAKE2b-256 9d87b7cbd8f62a9abce3381de045a89c82db1a359b0835eb7c0d0b18ec9592ab

See more details on using hashes here.

Provenance

The following attestation bundles were made for nanodisort-0.1.0.dev1-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl:

Publisher: build.yml on eradiate/nanodisort

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file nanodisort-0.1.0.dev1-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for nanodisort-0.1.0.dev1-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 ae66d9d029d8847d029f9e2b4f6d78457f5bc95ecc44477f4f109bc114fa4c5f
MD5 f7cc4fc0a52d07065dc4d7a43ed11765
BLAKE2b-256 36d65ae606dd37365c7611248fb60832e2cae6ecd7592ae9cecb12715c3762d5

See more details on using hashes here.

Provenance

The following attestation bundles were made for nanodisort-0.1.0.dev1-cp312-cp312-macosx_11_0_arm64.whl:

Publisher: build.yml on eradiate/nanodisort

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file nanodisort-0.1.0.dev1-cp312-cp312-macosx_10_13_x86_64.whl.

File metadata

File hashes

Hashes for nanodisort-0.1.0.dev1-cp312-cp312-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 971e6b64eb18b38210f5b6aae603a984bf5e29d34507d7ca9cfd7cb0c979a1d4
MD5 e5f69db538550a88edd75c84dcdbe41e
BLAKE2b-256 1a783b9fcdefb596eb7bbc4e5b8211d58289d64950a49e3fb2e138c6ab15d7e0

See more details on using hashes here.

Provenance

The following attestation bundles were made for nanodisort-0.1.0.dev1-cp312-cp312-macosx_10_13_x86_64.whl:

Publisher: build.yml on eradiate/nanodisort

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file nanodisort-0.1.0.dev1-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for nanodisort-0.1.0.dev1-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 83b12d4d4402f8efed7b979644399844f40d79314f80cb55662754afe0488c81
MD5 a07c8791cd63f9a59b0d558524af8f80
BLAKE2b-256 9f62b274c5852e1cb7da7b4512df517740a0e1eff704dfcbea7be986ebd53308

See more details on using hashes here.

Provenance

The following attestation bundles were made for nanodisort-0.1.0.dev1-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl:

Publisher: build.yml on eradiate/nanodisort

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file nanodisort-0.1.0.dev1-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for nanodisort-0.1.0.dev1-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 a13ce5f39a4bd13038071a18b6c83f5244129e2a877ced32147e8459752cfb69
MD5 a825c2bc0299ffde9220f4919034a187
BLAKE2b-256 bf2ebe13a19b352331821766f212dbd35ac75272dc38d5097d96f6151ada4225

See more details on using hashes here.

Provenance

The following attestation bundles were made for nanodisort-0.1.0.dev1-cp311-cp311-macosx_11_0_arm64.whl:

Publisher: build.yml on eradiate/nanodisort

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file nanodisort-0.1.0.dev1-cp311-cp311-macosx_10_13_x86_64.whl.

File metadata

File hashes

Hashes for nanodisort-0.1.0.dev1-cp311-cp311-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 e923cafa6ce5dc28a2a62b432ba08840fc41c3efa3422e66f16edf78e0a5d476
MD5 41769d3a5ed3a168f49a494a889cf57e
BLAKE2b-256 13de752964cc3dd5a286921d0dd12082c11838f54c3aa00d32c7bef2ff101520

See more details on using hashes here.

Provenance

The following attestation bundles were made for nanodisort-0.1.0.dev1-cp311-cp311-macosx_10_13_x86_64.whl:

Publisher: build.yml on eradiate/nanodisort

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file nanodisort-0.1.0.dev1-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for nanodisort-0.1.0.dev1-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 23f3e032ebe4840e7f240f6176582afbd037171556e87bf80ce3e08698f9dedb
MD5 25e0c6c20f4af84ec060ebe93250e796
BLAKE2b-256 a4a0b4ec5889ce745d094d1dd9ea8beebd86b656ecf3f3023e6d5c5cafd0bf86

See more details on using hashes here.

Provenance

The following attestation bundles were made for nanodisort-0.1.0.dev1-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl:

Publisher: build.yml on eradiate/nanodisort

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file nanodisort-0.1.0.dev1-cp310-cp310-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for nanodisort-0.1.0.dev1-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 8cdcb24f1723042d04587573949f0630da5ebdde29290505b69ef8cf1c145de8
MD5 4dded362d74da3f7fe9fe109934e8d14
BLAKE2b-256 31d0776ade28e07dbaa3421665b501c89b683b3764ad8832c9675938f8353e8a

See more details on using hashes here.

Provenance

The following attestation bundles were made for nanodisort-0.1.0.dev1-cp310-cp310-macosx_11_0_arm64.whl:

Publisher: build.yml on eradiate/nanodisort

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file nanodisort-0.1.0.dev1-cp310-cp310-macosx_10_13_x86_64.whl.

File metadata

File hashes

Hashes for nanodisort-0.1.0.dev1-cp310-cp310-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 96c7fabf001da4591d7bf3500df8535af5ac3b5fcc59c5bfd8bba10dfb365c2a
MD5 445106a869fc8dedfa143cb9b30eb576
BLAKE2b-256 18f6c94e970659b241730efb783ad1a77c7a8ee1096aa9bb09216e9f644d1ac6

See more details on using hashes here.

Provenance

The following attestation bundles were made for nanodisort-0.1.0.dev1-cp310-cp310-macosx_10_13_x86_64.whl:

Publisher: build.yml on eradiate/nanodisort

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file nanodisort-0.1.0.dev1-cp39-cp39-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for nanodisort-0.1.0.dev1-cp39-cp39-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 d9fb097f480c3824017a3bc8e8a647cbedd7b15f61c25fdb626ef7ae6cebe641
MD5 a31f06e6ad6083b2aaac7aa996c3c020
BLAKE2b-256 9a38ed539702c82448b77cff344de34fc663b6bb08b3ee10df457322cad2c937

See more details on using hashes here.

Provenance

The following attestation bundles were made for nanodisort-0.1.0.dev1-cp39-cp39-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl:

Publisher: build.yml on eradiate/nanodisort

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file nanodisort-0.1.0.dev1-cp39-cp39-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for nanodisort-0.1.0.dev1-cp39-cp39-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 f5eb6848309ea0194ad89f617fa966942d2b71928a3da5632a282f5f03169339
MD5 ad429c0a2fbab4f66223c065dce77047
BLAKE2b-256 0a29afee455dc4b95d4bfec4bd0fc390e44ece73fe436565c42c74e1b1fdb87b

See more details on using hashes here.

Provenance

The following attestation bundles were made for nanodisort-0.1.0.dev1-cp39-cp39-macosx_11_0_arm64.whl:

Publisher: build.yml on eradiate/nanodisort

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file nanodisort-0.1.0.dev1-cp39-cp39-macosx_10_13_x86_64.whl.

File metadata

File hashes

Hashes for nanodisort-0.1.0.dev1-cp39-cp39-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 906ad73a03ddc8c302afae03e890fe136a8b2f7e994f2200c91b41d60d4eee78
MD5 6c6df0716d48d86e622bcff27c1d747e
BLAKE2b-256 9fe40e9aefe1e758b0b63a46f0abfd13d59f82c1aafb73ae4a5ca97b20a9790d

See more details on using hashes here.

Provenance

The following attestation bundles were made for nanodisort-0.1.0.dev1-cp39-cp39-macosx_10_13_x86_64.whl:

Publisher: build.yml on eradiate/nanodisort

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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