Skip to content

Lmtest#1104

Merged
riclarsson merged 16 commits intoatmtools:mainfrom
riclarsson:lmtest
Mar 5, 2026
Merged

Lmtest#1104
riclarsson merged 16 commits intoatmtools:mainfrom
riclarsson:lmtest

Conversation

@riclarsson
Copy link
Contributor

@riclarsson riclarsson commented Mar 5, 2026

This fixes an order bug in one of the CO2 line mixing symbols.

It also adds a couple of more symbols for NH3, CH4 and PH3, but this is done purely by AI-help and is marked as not tested and WIP. The numbers make it work only for Jupiter, so it is not important for most, I will test it when I set up detailed JUICE-SWI simulations.

The PR also fixes a bug in the rational comparison operator. Somehow, GCC ignored this bug but clang executed it, so that the CO2 line mixing was broken under clang.

It also populates the ECS subsection on LBL in the concepts-guide. See it if you want to understand more.

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 extends the line-by-line (LBL) Voigt+ECS line-mixing capabilities by adding new ECS variants for symmetric-top and spherical-top molecules (WIP), adds preliminary ECS parameter datasets for NH3/PH3/CH4, fixes ECS-related ordering/sign issues (including a clang-visible Rational comparison bug), and substantially expands the ECS documentation in the concepts guide.

Changes:

  • Add new ECS Voigt line shapes for symmetric-top (NH3/PH3) and spherical-top (CH4) molecules and wire them into the LBL pipeline/options.
  • Add preliminary ECS parameter-population helpers (abs_ecs_dataAddNH3/PH3/CH4) and expose them as workspace methods.
  • Fix/adjust ECS Hartmann coupling implementation details and update ECS/LBL documentation + references.

Reviewed changes

Copilot reviewed 16 out of 16 changed files in this pull request and generated 8 comments.

Show a summary per file
File Description
src/workspace_methods.cpp Adds workspace-method metadata for new preliminary ECS datasets (NH3/PH3/CH4).
src/m_linemixing.cc Implements the new preliminary ECS parameter population functions for NH3/PH3/CH4.
src/core/tests/test_laginterp.cpp Updates template arguments for test_variant_lag to use z-suffixed literals.
src/core/options/arts_options.cc Exposes new LineByLineLineshape enum string values for ECS symmetric/spherical tops.
src/core/matpack/rational.h Replaces defaulted <=> with a custom comparator and adjusts friend <=> direction.
src/core/lbl/lbl_voigt.cpp Treats the new ECS variants as Voigt-based line shapes.
src/core/lbl/lbl_lineshape_voigt_ecs_stotop.h Declares ECS off-diagonal relaxation computation + reduced dipole for symmetric tops.
src/core/lbl/lbl_lineshape_voigt_ecs_stotop.cpp Implements symmetric-top ECS relaxation matrix off-diagonals and reduced dipole logic.
src/core/lbl/lbl_lineshape_voigt_ecs_sphtop.h Declares ECS off-diagonal relaxation computation + reduced dipole for spherical tops.
src/core/lbl/lbl_lineshape_voigt_ecs_sphtop.cpp Implements spherical-top ECS relaxation matrix off-diagonals and reduced dipole logic.
src/core/lbl/lbl_lineshape_voigt_ecs_hartmann.cpp Adjusts CO2 isotopologue check and Hartmann ECS Wigner-coupling/sign handling.
src/core/lbl/lbl_lineshape_voigt_ecs.cpp Wires the new ECS variants into dipole and relaxation-matrix construction paths.
src/core/lbl/lbl_lineshape.cpp Routes new ECS variants through the ECS linemixing calculation path.
src/core/lbl/CMakeLists.txt Adds new ECS implementation units to the lbl static library build.
doc/arts/references.bib Adds literature references relevant to ECS/line-mixing implementations.
doc/arts/concept.absorption.lbl.rst Adds a detailed ECS subsection and fixes minor formatting in the concepts guide.

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

riclarsson and others added 3 commits March 5, 2026 13:19
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
@riclarsson riclarsson merged commit 866f77e into atmtools:main Mar 5, 2026
9 checks passed
@riclarsson riclarsson deleted the lmtest branch March 5, 2026 07:30
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.

2 participants