Skip to content

Version 0.14.5#774

Merged
K20shores merged 15 commits intoreleasefrom
main
Feb 6, 2026
Merged

Version 0.14.5#774
K20shores merged 15 commits intoreleasefrom
main

Conversation

@K20shores
Copy link
Collaborator

No description provided.

mattldawson and others added 15 commits January 23, 2026 13:36
* add XArray output for TUV-x

* Update python/musica/tuvx/tuvx.py

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* address copilot comments

* add vertical and wavelength grids to TUV-x run output

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: GitHub Actions <actions@github.com>
* Julia wrapper infrastructure

- can read musica version
- adds github actions file
- adds readmes

* Update cmake/dependencies.cmake

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* Update julia/src/Musica.jl

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* adding libdl

* correcting docs

* Update julia/CMakeLists.txt

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* Update julia/CMakeLists.txt

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* allowing more versions

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: Kyle Shores <kyle.shores44@gmail.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
* Initial plan

* Add Julia formatting to GitHub Actions workflow

Co-authored-by: K20shores <13836216+K20shores@users.noreply.github.com>

* Update Julia version in format workflow

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: K20shores <13836216+K20shores@users.noreply.github.com>
Co-authored-by: Kyle Shores <kyle.shores44@gmail.com>
…matter (#755)

Co-authored-by: GitHub Actions <actions@github.com>
* disabling tuvx on windows fortran

* just disabling tuvx
* started box model

* adding ts1 box model

* adding ts1 example, adding more tests

* undoing some changes

* Update python/musica/examples/ts1_box_model.py

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* Update python/musica/examples/ts1_box_model.py

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* Update python/bindings/mechanism_configuration/mechanism_configuration.cpp

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* remove option that is redundant

* correcting cli

* correcting logical install of ussa1976

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
…matter (#756)

Co-authored-by: GitHub Actions <actions@github.com>
* add v5.4 wavelength grid

* add v5.4 height grid

* add profile read function

* add profile data for v5.4

* add remaining profiles

* add v5.4 aerosol radiator

* add draft tuv-x 5.4 example

* add test of tuv 5.4 against standalone tuv-x

* added ts1 config test and example

* add TUV-x yaml configs

* tighten tolerances on tuv-x standalone tests

* allow in-place profile updates

* allow in-place grid element updates

* allow in-place radiator array updates

* start tuv-x jupyter notebook

* add second TUV-x tutorial

* typos

* add tuv-x dockerfile action

* address copilot comments and action failures

* try to address fortran and python action failures

* attempting to pull the fork head instead of main

* Update tutorials/8.tuv-x_standard_configurations.ipynb

Co-authored-by: Kyle Shores <kyle.shores44@gmail.com>

* merge main into develop-603-tuvx-examples

* packaging configs

* ignoring duplicate named nc files

* Fix memory safety in TUV-x Python bindings for array returns (#759)

* Initial plan

* Fix memory safety issue in TUV-x Python bindings

Allocate output arrays on heap and use py::capsule to manage lifetime.
This prevents dangling pointers when local vectors are destroyed.

Co-authored-by: K20shores <13836216+K20shores@users.noreply.github.com>

* Improve exception safety using std::unique_ptr

Use RAII-based memory management with std::unique_ptr instead of raw
pointers to ensure automatic cleanup if exceptions occur during
allocation or array construction.

Co-authored-by: K20shores <13836216+K20shores@users.noreply.github.com>

* Fix double-delete issue in ownership transfer

Store data pointers before releasing unique_ptrs to prevent double-delete
if exceptions occur during numpy array construction.

Co-authored-by: K20shores <13836216+K20shores@users.noreply.github.com>

* Ensure atomic ownership transfer from capsule to array

Create each numpy array immediately after its capsule to prevent
use-after-free if exceptions occur during array construction.

Co-authored-by: K20shores <13836216+K20shores@users.noreply.github.com>

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: K20shores <13836216+K20shores@users.noreply.github.com>

* [WIP] Update TUV-x examples and tutorial based on feedback (#760)

* Initial plan

* Align Run() docstring array dimensions with C interface and Python bindings

Co-authored-by: K20shores <13836216+K20shores@users.noreply.github.com>

* Use consistent dimension labels with underscores in Run() docstring

Co-authored-by: K20shores <13836216+K20shores@users.noreply.github.com>

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: K20shores <13836216+K20shores@users.noreply.github.com>

* responding to pr comments

* adding ffmpeg

---------

Co-authored-by: Kyle Shores <kyle.shores44@gmail.com>
Co-authored-by: Copilot <198982749+Copilot@users.noreply.github.com>
Co-authored-by: K20shores <13836216+K20shores@users.noreply.github.com>
…matter (#763)

Co-authored-by: GitHub Actions <actions@github.com>
* using tuvx to drive photo rates

* turn the example into a column model

* responding to pr comments

* nonblocking tests
…matter (#767)

Co-authored-by: GitHub Actions <actions@github.com>
* Chapman box model with tuvx rates

* Correcting tests

- updating v1 configurations to be correct
- using find config path in all python tests/examples
- updating fortran assert to place line number next to file name
  so it's easier to navigate to errors from the command line

* simplifying nc creation

* correcting js tests

* getting wheel to pass chapman test
…matter (#772)

Co-authored-by: GitHub Actions <actions@github.com>
@github-actions
Copy link
Contributor

github-actions bot commented Feb 6, 2026

📄 Documentation for this branch is available at: https://ncar.github.io/musica/branch/main/

@K20shores K20shores merged commit 0180ff6 into release Feb 6, 2026
96 of 98 checks passed
@codecov-commenter
Copy link

codecov-commenter commented Feb 6, 2026

Codecov Report

❌ Patch coverage is 29.75113% with 621 lines in your changes missing coverage. Please review.
✅ Project coverage is 70.17%. Comparing base (04f45a5) to head (3d8f7a6).
⚠️ Report is 42 commits behind head on release.

Files with missing lines Patch % Lines
python/musica/examples/chapman.py 0.00% 146 Missing ⚠️
python/musica/examples/ts1_box_model.py 0.00% 114 Missing ⚠️
src/tuvx/radiator.cpp 0.00% 45 Missing ⚠️
src/tuvx/profile.cpp 0.00% 42 Missing ⚠️
python/musica/examples/tuvx_5_4.py 0.00% 41 Missing ⚠️
python/musica/examples/tuvx_TS1_TSMLT.py 0.00% 41 Missing ⚠️
src/tuvx/grid.cpp 0.00% 30 Missing ⚠️
python/musica/tuvx/v54.py 83.53% 27 Missing ⚠️
src/tuvx/interface_radiator.F90 0.00% 27 Missing ⚠️
python/musica/tuvx/vTS1.py 40.47% 25 Missing ⚠️
... and 11 more
Additional details and impacted files
@@             Coverage Diff             @@
##           release     #774      +/-   ##
===========================================
- Coverage    74.58%   70.17%   -4.42%     
===========================================
  Files          109      116       +7     
  Lines         8090     8908     +818     
===========================================
+ Hits          6034     6251     +217     
- Misses        2056     2657     +601     
Flag Coverage Δ
cpp_fortran 65.87% <19.52%> (-2.63%) ⬇️
javascript 92.56% <ø> (ø)
python 69.32% <33.80%> (-9.02%) ⬇️

Flags with carried forward coverage won't be shown. Click here to find out more.

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

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.

4 participants