Skip to content

Conversation

@riclarsson
Copy link
Contributor

This simplifies how the radiative transfer equation is chosen.

You now have to set

ws.rte_option = "optional value"

to select equation. This new WSV is of type TransmittanceOption, and chooses how the new TransmittanceMatrix struct is initialized. By default, this still falls back to "constant", which is the old

I1 = J + T (I0 - J)

The other two options uses linear-in-tau or linear-propagation solvers.

I will not make the switch from this RTE to the linear-in-tau as part of this branch.

Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR simplifies the radiative transfer equation (RTE) solver selection by introducing a new rte_option workspace variable of type TransmittanceOption. Instead of using different agenda methods, users now set ws.rte_option to "constant", "lintau", or "linprop" to select the RTE solver.

Changes:

  • Introduced new rte_option WSV with three options for selecting RTE solvers
  • Refactored transmission and source calculations into unified TransmittanceMatrix and SourceVector structs
  • Removed deprecated agenda-based methods (spectral_radClearskyLinearInTauEmission, etc.)

Reviewed changes

Copilot reviewed 51 out of 51 changed files in this pull request and generated 4 comments.

Show a summary per file
File Description
tests/core/**/*.py Updated test files to use new ws.rte_option instead of agenda methods
src/workspace_variables.cpp Added rte_option WSV, updated variable descriptions for new types
src/workspace_groups.cpp Added TransmittanceMatrix, SourceVector, StokvecTensor3, TransmittanceOption types
src/workspace_methods.cpp Removed old methods, updated method signatures to use new types
src/workspace_meta_methods.cpp Removed linear-in-tau specific meta methods
src/m_tramat.cc New file implementing spectral_tramat_pathFromPath with unified interface
src/m_srcvec.cc New file implementing spectral_rad_srcvec_pathFromPropmat with unified interface
src/m_spectral_radiance.cc Simplified emission calculations using new unified types
src/core/rtepack/rtepack_transmission.* Implemented TransmittanceMatrix struct with option-based initialization
src/core/rtepack/rtepack_source.* Implemented SourceVector struct with unified interface
src/core/rtepack/rtepack_rtestep.* Added new RTE step functions supporting all three options
src/core/options/arts_options.cc Added TransmittanceOption enumeration with documentation
examples/**/*.py Updated examples to use new rte_option syntax

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@riclarsson riclarsson merged commit 6f3b766 into atmtools:main Jan 16, 2026
8 checks passed
@riclarsson riclarsson deleted the rte-option branch January 16, 2026 07:02
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant