Freedom251 › Physics Simulation Software
PythonicDISORT

What PythonicDISORT is
PythonicDISORT is an open-source Python package that solves the one-dimensional radiative transfer equation for single- and multi-layer plane-parallel atmospheres. Its solver calculates fluxes and can optionally calculate intensity. Documented options include delta-M scaling, Nakajima-Tanaka intensity corrections, direct beams, isotropic internal sources, diffuse-flux boundary sources, surface reflection using a bidirectional reflectance distribution function, and polar-angle interpolation. Boundary inputs can include bidirectional reflectance Fourier modes and other source terms. With Autograd installed and compatibility enabled, the package can compute derivatives of output functions with respect to optical depth, with slightly lower efficiency. It is written in Python 3 and based on Stamnes’ FORTRAN DISORT. Installation is available from PyPI, Conda-Forge, or a repository clone. Runtime requirements include Python 3.8 or later, NumPy 1.8.0 or later, and SciPy 1.8.0 or later. The project is MIT licensed and supports Linux, macOS, and Windows API use.
Who it suits
PythonicDISORT suits users modeling atmospheric radiative transfer who need multilayer calculations, optional intensity, or specialized boundary conditions. It also fits Python workflows requiring optical-depth derivatives or notebook-based exploration.
What it does well
- Solves single- and multilayer atmospheres
- Supports flux and optional intensity outputs
- Includes delta-M and Nakajima-Tanaka options
- Installable through PyPI or Conda-Forge
- MIT-licensed Python implementation
What to know first
- Slower than similar Fortran algorithms
- Around 300 or more streams may become unstable
- Additional Fourier modes beyond NFourier are ignored
- Autograd derivatives reduce efficiency slightly
Verdict
PythonicDISORT offers a broad radiative-transfer solver in pure Python with several physical options and distribution channels. Users should account for performance and high-stream numerical limits when configuring calculations.
Facts from PythonicDISORT's own pages
- Additional calculations
- The package includes a subroutine for computing actinic fluxes and supports integration with respect to optical depth. · pypi.org, 12 Oct 2026
- Boundary conditions
- Optional inputs include bidirectional reflectance Fourier modes, boundary sources, and isotropic internal sources. · pythonic-disort.readthedocs.io, 5 Oct 2026
- Dependencies
- The listed runtime requirements are Python 3.8 or later, NumPy 1.8.0 or later, and SciPy 1.8.0 or later. · pypi.org, 5 Oct 2026
- Differentiation
- When autograd is installed and compatibility is enabled, it can compute tau derivatives of output functions, with slightly lower efficiency. · pythonic-disort.readthedocs.io, 5 Oct 2026
- Documentation and audience
- The documentation recommends that new users read the non-optional parts of sections 1 and 2, which cover parameter choices and modules and outputs. · pythonic-disort.readthedocs.io, 5 Oct 2026
- Implementation
- It is implemented entirely in Python 3 as a reimplementation of DISORT, rather than as a wrapper. · pypi.org, 12 Oct 2026
- Installation
- The package can be installed from PyPI or Conda-Forge, or by cloning its repository and running pip install ., and requires Python 3.8 or later. · pypi.org, 12 Oct 2026
- Integrations
- The installation instructions list PyPI and Conda-Forge as package distribution channels; no other integrations are stated on that page. · pypi.org, 12 Oct 2026
- License
- PyPI lists the package license as MIT License. · pypi.org, 12 Oct 2026
- Notable limit
- Only the first NFourier bidirectional reflectance Fourier modes are used; additional modes are ignored. · pythonic-disort.readthedocs.io, 5 Oct 2026
- Numerical limitation
- The documentation says computational cost scales approximately with the cube of the number of quadrature points and warns that around 300 or more streams can cause numerical instability and inaccurate intensity at some angles. · pythonic-disort.readthedocs.io, 12 Oct 2026
- Optional dependencies
- Autograd can optionally compute gradients of output functions; pytest is optional for running tests, and Jupyter, Notebook, and Matplotlib are listed for the comprehensive notebook. · pypi.org, 12 Oct 2026
- Optional integrations
- Autograd is optional for derivatives; Jupyter, Notebook, and Matplotlib are listed as optional requirements for the comprehensive notebook. · pypi.org, 5 Oct 2026
- Outputs
- Its solver computes fluxes and can optionally compute intensity. · pythonic-disort.readthedocs.io, 5 Oct 2026
- Performance limitation
- The project says it is optimized for speed but naturally slower than similar Fortran algorithms. · pypi.org, 12 Oct 2026
- Platform compatibility
- The project says it should be system agnostic because it has minimal dependencies and pure Python code, and says the repository was built and tested on Windows 11. · pypi.org, 12 Oct 2026
- Purpose
- PythonicDISORT solves the one-dimensional radiative transfer equation for a plane-parallel, horizontally homogeneous atmosphere. · pypi.org, 12 Oct 2026
- Radiative transfer features
- The documented solver supports optional delta-M scaling and Nakajima-Tanaka intensity corrections. · pythonic-disort.readthedocs.io, 5 Oct 2026
- Solver features
- Features include a multilayer solver, delta-M scaling, Nakajima-Tanaka corrections, flux-only mode, direct beam and isotropic internal sources, diffuse-flux boundary sources, surface reflection using a bidirectional reflectance distribution function, and polar-angle interpolation. · pypi.org, 12 Oct 2026
- Support
- The author invites feature requests and feedback and provides the contact address [email protected]. · pypi.org, 12 Oct 2026
- 3D visuals
- No · pythonic-disort.readthedocs.io, 24 Sept 2026
- Verification
- The project provides notebook verification tests and recreated DISORT test problems whose solutions are compared with a F2PY-wrapped Stamnes DISORT version 4.0.99. · pypi.org, 12 Oct 2026
Where PythonicDISORT stands on Freedom251
- Physics Simulation Software#87 of 89