musica 0.7.3__tar.gz → 0.8.1__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of musica might be problematic. Click here for more details.

Files changed (189) hide show
  1. {musica-0.7.3 → musica-0.8.1}/.github/workflows/docker.yml +4 -2
  2. {musica-0.7.3 → musica-0.8.1}/.github/workflows/mac.yml +6 -3
  3. {musica-0.7.3 → musica-0.8.1}/.github/workflows/pep8.yml +1 -1
  4. {musica-0.7.3 → musica-0.8.1}/.github/workflows/pip.yml +1 -1
  5. {musica-0.7.3 → musica-0.8.1}/.github/workflows/ubuntu.yml +16 -6
  6. {musica-0.7.3 → musica-0.8.1}/.github/workflows/windows.yml +4 -4
  7. {musica-0.7.3 → musica-0.8.1}/CITATION.cff +1 -1
  8. {musica-0.7.3 → musica-0.8.1}/CMakeLists.txt +1 -1
  9. {musica-0.7.3 → musica-0.8.1}/PKG-INFO +1 -1
  10. {musica-0.7.3 → musica-0.8.1}/cmake/dependencies.cmake +13 -2
  11. {musica-0.7.3 → musica-0.8.1}/cmake/test_util.cmake +1 -1
  12. musica-0.8.1/configs/analytical/reactions.json +71 -0
  13. musica-0.8.1/configs/analytical/species.json +28 -0
  14. musica-0.8.1/configs/chapman/config.json +6 -0
  15. {musica-0.7.3 → musica-0.8.1}/configs/chapman/reactions.json +3 -3
  16. {musica-0.7.3 → musica-0.8.1}/docker/Dockerfile +4 -1
  17. {musica-0.7.3 → musica-0.8.1}/docker/Dockerfile.docs +8 -2
  18. {musica-0.7.3 → musica-0.8.1}/docker/Dockerfile.fortran-gcc +2 -1
  19. {musica-0.7.3 → musica-0.8.1}/docker/Dockerfile.fortran-gcc.integration +2 -1
  20. {musica-0.7.3 → musica-0.8.1}/docker/Dockerfile.fortran-intel +3 -1
  21. {musica-0.7.3 → musica-0.8.1}/docker/Dockerfile.fortran-nvhpc +9 -7
  22. {musica-0.7.3 → musica-0.8.1}/docker/Dockerfile.memcheck +3 -1
  23. {musica-0.7.3 → musica-0.8.1}/docker/Dockerfile.mpi +3 -1
  24. {musica-0.7.3 → musica-0.8.1}/docker/Dockerfile.mpi_openmp +3 -1
  25. {musica-0.7.3 → musica-0.8.1}/docker/Dockerfile.openmp +3 -1
  26. musica-0.8.1/docker/Dockerfile.pip +38 -0
  27. {musica-0.7.3 → musica-0.8.1}/docker/Dockerfile.python +4 -0
  28. musica-0.8.1/docs/source/tutorial/chapter0.rst +86 -0
  29. musica-0.8.1/docs/source/tutorial/chapter1.rst +75 -0
  30. musica-0.8.1/docs/source/tutorial/chapter2.rst +86 -0
  31. {musica-0.7.3 → musica-0.8.1}/fortran/micm.F90 +95 -106
  32. {musica-0.7.3 → musica-0.8.1}/fortran/test/fetch_content_integration/test_get_micm_version.F90 +4 -0
  33. musica-0.8.1/fortran/test/fetch_content_integration/test_micm_api.F90 +356 -0
  34. {musica-0.7.3 → musica-0.8.1}/fortran/test/fetch_content_integration/test_micm_box_model.F90 +15 -21
  35. {musica-0.7.3 → musica-0.8.1}/fortran/test/fetch_content_integration/test_tuvx_api.F90 +50 -15
  36. {musica-0.7.3 → musica-0.8.1}/fortran/test/tutorial/CMakeLists.txt +3 -7
  37. musica-0.7.3/fortran/test/tutorial/demo.f90 → musica-0.8.1/fortran/test/tutorial/demo.F90 +4 -0
  38. {musica-0.7.3 → musica-0.8.1}/fortran/test/unit/CMakeLists.txt +2 -3
  39. musica-0.8.1/fortran/test/unit/tuvx.F90 +267 -0
  40. {musica-0.7.3 → musica-0.8.1}/fortran/test/unit/util.F90 +120 -6
  41. {musica-0.7.3 → musica-0.8.1}/fortran/tuvx/grid.F90 +28 -0
  42. {musica-0.7.3 → musica-0.8.1}/fortran/tuvx/tuvx.F90 +63 -10
  43. musica-0.8.1/fortran/util.F90 +820 -0
  44. {musica-0.7.3 → musica-0.8.1}/include/musica/micm.hpp +91 -83
  45. {musica-0.7.3 → musica-0.8.1}/include/musica/tuvx/grid.hpp +12 -0
  46. {musica-0.7.3 → musica-0.8.1}/include/musica/tuvx/grid_map.hpp +2 -0
  47. {musica-0.7.3 → musica-0.8.1}/include/musica/tuvx/profile_map.hpp +2 -0
  48. {musica-0.7.3 → musica-0.8.1}/include/musica/tuvx/radiator_map.hpp +2 -0
  49. {musica-0.7.3 → musica-0.8.1}/include/musica/tuvx/tuvx.hpp +42 -3
  50. {musica-0.7.3 → musica-0.8.1}/include/musica/util.hpp +86 -3
  51. {musica-0.7.3 → musica-0.8.1}/pyproject.toml +1 -0
  52. {musica-0.7.3 → musica-0.8.1}/python/CMakeLists.txt +17 -5
  53. musica-0.8.1/python/test/test_analytical.py +258 -0
  54. {musica-0.7.3 → musica-0.8.1}/python/test/test_chapman.py +25 -17
  55. {musica-0.7.3 → musica-0.8.1}/python/wrapper.cpp +72 -18
  56. {musica-0.7.3 → musica-0.8.1}/src/CMakeLists.txt +5 -0
  57. {musica-0.7.3 → musica-0.8.1}/src/micm/micm.cpp +189 -61
  58. {musica-0.7.3 → musica-0.8.1}/src/packaging/CMakeLists.txt +1 -2
  59. {musica-0.7.3 → musica-0.8.1}/src/test/CMakeLists.txt +3 -1
  60. musica-0.8.1/src/test/data/tuvx/fixed/O2_cross_section.nc +0 -0
  61. musica-0.8.1/src/test/data/tuvx/fixed/O2_parameters.txt +44 -0
  62. musica-0.8.1/src/test/data/tuvx/fixed/bar_cross_section.nc +0 -0
  63. musica-0.8.1/src/test/data/tuvx/fixed/config.json +149 -0
  64. musica-0.8.1/src/test/data/tuvx/fixed/foo_cross_section.nc +0 -0
  65. musica-0.8.1/src/test/data/tuvx/fixed/stand_alone_tuvx_config.json +175 -0
  66. musica-0.8.1/src/test/data/tuvx/from_host/O2_cross_section.nc +0 -0
  67. musica-0.8.1/src/test/data/tuvx/from_host/O2_parameters.txt +44 -0
  68. musica-0.8.1/src/test/data/tuvx/from_host/bar_cross_section.nc +0 -0
  69. musica-0.8.1/src/test/data/tuvx/from_host/config.json +127 -0
  70. musica-0.8.1/src/test/data/tuvx/from_host/foo_cross_section.nc +0 -0
  71. musica-0.8.1/src/test/data/util_index_mapping_from_file.json +11 -0
  72. {musica-0.7.3 → musica-0.8.1}/src/test/unit/CMakeLists.txt +1 -0
  73. musica-0.8.1/src/test/unit/micm/micm_c_api.cpp +505 -0
  74. {musica-0.7.3 → musica-0.8.1}/src/test/unit/tuvx/CMakeLists.txt +1 -0
  75. {musica-0.7.3 → musica-0.8.1}/src/test/unit/tuvx/tuvx_c_api.cpp +73 -3
  76. musica-0.8.1/src/test/unit/tuvx/tuvx_run_from_config.cpp +278 -0
  77. musica-0.8.1/src/test/unit/util.cpp +173 -0
  78. {musica-0.7.3 → musica-0.8.1}/src/tuvx/grid.cpp +17 -0
  79. {musica-0.7.3 → musica-0.8.1}/src/tuvx/interface.F90 +58 -8
  80. {musica-0.7.3 → musica-0.8.1}/src/tuvx/interface_grid.F90 +23 -0
  81. {musica-0.7.3 → musica-0.8.1}/src/tuvx/interface_profile.F90 +2 -0
  82. {musica-0.7.3 → musica-0.8.1}/src/tuvx/tuvx.cpp +52 -6
  83. {musica-0.7.3 → musica-0.8.1}/src/tuvx/tuvx_util.F90 +1 -21
  84. musica-0.8.1/src/util.cpp +241 -0
  85. musica-0.8.1/valgrind.supp +15 -0
  86. musica-0.7.3/.gitmodules +0 -10
  87. musica-0.7.3/configs/analytical/config.json +0 -1
  88. musica-0.7.3/configs/analytical/reactions.json +0 -22
  89. musica-0.7.3/configs/analytical/species.json +0 -14
  90. musica-0.7.3/docs/source/tutorial/chapter0.rst +0 -40
  91. musica-0.7.3/docs/source/tutorial/chapter1.rst +0 -43
  92. musica-0.7.3/docs/source/tutorial/chapter2.rst +0 -65
  93. musica-0.7.3/fortran/test/fetch_content_integration/test_micm_api.F90 +0 -128
  94. musica-0.7.3/fortran/test/unit/tuvx.F90 +0 -46
  95. musica-0.7.3/fortran/util.F90 +0 -403
  96. musica-0.7.3/python/test/CMakeLists.txt +0 -9
  97. musica-0.7.3/python/test/test_analytical.py +0 -86
  98. musica-0.7.3/src/test/unit/micm/micm_c_api.cpp +0 -335
  99. musica-0.7.3/src/util.cpp +0 -106
  100. musica-0.7.3/valgrind.supp +0 -23
  101. {musica-0.7.3 → musica-0.8.1}/.clang-format +0 -0
  102. {musica-0.7.3 → musica-0.8.1}/.clang-tidy +0 -0
  103. {musica-0.7.3 → musica-0.8.1}/.dockerignore +0 -0
  104. {musica-0.7.3 → musica-0.8.1}/.github/workflows/clang_format.yml +0 -0
  105. {musica-0.7.3 → musica-0.8.1}/.github/workflows/clang_tidy.yml +0 -0
  106. {musica-0.7.3 → musica-0.8.1}/.github/workflows/fetch_content_integration.yml +0 -0
  107. {musica-0.7.3 → musica-0.8.1}/.github/workflows/gh_pages.yml +0 -0
  108. {musica-0.7.3 → musica-0.8.1}/.github/workflows/release.yml +0 -0
  109. {musica-0.7.3 → musica-0.8.1}/.gitignore +0 -0
  110. {musica-0.7.3 → musica-0.8.1}/LICENSE +0 -0
  111. {musica-0.7.3 → musica-0.8.1}/README.md +0 -0
  112. {musica-0.7.3 → musica-0.8.1}/cmake/FindSphinx.cmake +0 -0
  113. {musica-0.7.3 → musica-0.8.1}/cmake/SetDefaults.cmake +0 -0
  114. {musica-0.7.3 → musica-0.8.1}/cmake/cmake_uninstall.cmake.in +0 -0
  115. {musica-0.7.3 → musica-0.8.1}/cmake/musica.settings.in +0 -0
  116. {musica-0.7.3 → musica-0.8.1}/cmake/musicaConfig.cmake.in +0 -0
  117. {musica-0.7.3 → musica-0.8.1}/cmake/summary.cmake +0 -0
  118. {musica-0.7.3 → musica-0.8.1}/configs/TS1/config.json +0 -0
  119. {musica-0.7.3 → musica-0.8.1}/configs/TS1/initial_conditions.csv +0 -0
  120. {musica-0.7.3 → musica-0.8.1}/configs/TS1/reactions.json +0 -0
  121. {musica-0.7.3 → musica-0.8.1}/configs/TS1/species.json +0 -0
  122. {musica-0.7.3/configs/chapman → musica-0.8.1/configs/analytical}/config.json +0 -0
  123. {musica-0.7.3 → musica-0.8.1}/configs/carbon_bond_5/config.json +0 -0
  124. {musica-0.7.3 → musica-0.8.1}/configs/carbon_bond_5/initial_conditions.csv +0 -0
  125. {musica-0.7.3 → musica-0.8.1}/configs/carbon_bond_5/reactions.json +0 -0
  126. {musica-0.7.3 → musica-0.8.1}/configs/carbon_bond_5/species.json +0 -0
  127. {musica-0.7.3 → musica-0.8.1}/configs/chapman/initial_conditions.csv +0 -0
  128. {musica-0.7.3 → musica-0.8.1}/configs/chapman/species.json +0 -0
  129. {musica-0.7.3 → musica-0.8.1}/configs/robertson/config.json +0 -0
  130. {musica-0.7.3 → musica-0.8.1}/configs/robertson/initial_conditions.csv +0 -0
  131. {musica-0.7.3 → musica-0.8.1}/configs/robertson/reactions.json +0 -0
  132. {musica-0.7.3 → musica-0.8.1}/configs/robertson/species.json +0 -0
  133. {musica-0.7.3 → musica-0.8.1}/docs/CMakeLists.txt +0 -0
  134. {musica-0.7.3 → musica-0.8.1}/docs/Makefile +0 -0
  135. {musica-0.7.3 → musica-0.8.1}/docs/Software Development Plan.pdf +0 -0
  136. {musica-0.7.3 → musica-0.8.1}/docs/make.bat +0 -0
  137. {musica-0.7.3 → musica-0.8.1}/docs/requirements.txt +0 -0
  138. {musica-0.7.3 → musica-0.8.1}/docs/source/_static/custom.css +0 -0
  139. {musica-0.7.3 → musica-0.8.1}/docs/source/_static/favicon/favicon.ico +0 -0
  140. {musica-0.7.3 → musica-0.8.1}/docs/source/_static/index_api.svg +0 -0
  141. {musica-0.7.3 → musica-0.8.1}/docs/source/_static/index_contribute.svg +0 -0
  142. {musica-0.7.3 → musica-0.8.1}/docs/source/_static/index_getting_started.svg +0 -0
  143. {musica-0.7.3 → musica-0.8.1}/docs/source/_static/index_user_guide.svg +0 -0
  144. {musica-0.7.3 → musica-0.8.1}/docs/source/api/index.rst +0 -0
  145. {musica-0.7.3 → musica-0.8.1}/docs/source/conf.py +0 -0
  146. {musica-0.7.3 → musica-0.8.1}/docs/source/contributing/index.rst +0 -0
  147. {musica-0.7.3 → musica-0.8.1}/docs/source/getting_started/getting_started.rst +0 -0
  148. {musica-0.7.3 → musica-0.8.1}/docs/source/getting_started/installation.rst +0 -0
  149. {musica-0.7.3 → musica-0.8.1}/docs/source/getting_started/overview.rst +0 -0
  150. {musica-0.7.3 → musica-0.8.1}/docs/source/index.rst +0 -0
  151. {musica-0.7.3 → musica-0.8.1}/docs/source/references.bib +0 -0
  152. {musica-0.7.3 → musica-0.8.1}/docs/source/tutorial/tutorial.rst +0 -0
  153. {musica-0.7.3 → musica-0.8.1}/docs/source/user_guide/fortran_c.rst +0 -0
  154. {musica-0.7.3 → musica-0.8.1}/docs/source/user_guide/model_interface.rst +0 -0
  155. {musica-0.7.3 → musica-0.8.1}/docs/source/user_guide/user_guide.rst +0 -0
  156. {musica-0.7.3 → musica-0.8.1}/fortran/CMakeLists.txt +0 -0
  157. {musica-0.7.3 → musica-0.8.1}/fortran/packaging/CMakeLists.txt +0 -0
  158. {musica-0.7.3 → musica-0.8.1}/fortran/test/CMakeLists.txt +0 -0
  159. {musica-0.7.3 → musica-0.8.1}/fortran/test/fetch_content_integration/CMakeLists.txt +0 -0
  160. {musica-0.7.3 → musica-0.8.1}/fortran/test/unit/tuvx_mpi.F90 +0 -0
  161. {musica-0.7.3 → musica-0.8.1}/fortran/test/unit/tuvx_openmp.F90 +0 -0
  162. {musica-0.7.3 → musica-0.8.1}/fortran/tuvx/CMakeLists.txt +0 -0
  163. {musica-0.7.3 → musica-0.8.1}/fortran/tuvx/grid_map.F90 +0 -0
  164. {musica-0.7.3 → musica-0.8.1}/fortran/tuvx/profile.F90 +0 -0
  165. {musica-0.7.3 → musica-0.8.1}/fortran/tuvx/profile_map.F90 +0 -0
  166. {musica-0.7.3 → musica-0.8.1}/fortran/tuvx/radiator.F90 +0 -0
  167. {musica-0.7.3 → musica-0.8.1}/fortran/tuvx/radiator_map.F90 +0 -0
  168. {musica-0.7.3 → musica-0.8.1}/include/musica/component_versions.hpp +0 -0
  169. {musica-0.7.3 → musica-0.8.1}/include/musica/tuvx/profile.hpp +0 -0
  170. {musica-0.7.3 → musica-0.8.1}/include/musica/tuvx/radiator.hpp +0 -0
  171. {musica-0.7.3 → musica-0.8.1}/include/musica/version.hpp +0 -0
  172. {musica-0.7.3 → musica-0.8.1}/python/test/tuvx.py +0 -0
  173. {musica-0.7.3 → musica-0.8.1}/src/component_versions.cpp +0 -0
  174. {musica-0.7.3 → musica-0.8.1}/src/micm/CMakeLists.txt +0 -0
  175. {musica-0.7.3 → musica-0.8.1}/src/packaging/modulefile.lua.in +0 -0
  176. {musica-0.7.3 → musica-0.8.1}/src/test/unit/component_versions.cpp +0 -0
  177. {musica-0.7.3 → musica-0.8.1}/src/test/unit/micm/CMakeLists.txt +0 -0
  178. {musica-0.7.3 → musica-0.8.1}/src/test/unit/micm/micm.cpp +0 -0
  179. {musica-0.7.3 → musica-0.8.1}/src/tuvx/CMakeLists.txt +0 -0
  180. {musica-0.7.3 → musica-0.8.1}/src/tuvx/grid_map.cpp +0 -0
  181. {musica-0.7.3 → musica-0.8.1}/src/tuvx/interface_grid_map.F90 +0 -0
  182. {musica-0.7.3 → musica-0.8.1}/src/tuvx/interface_profile_map.F90 +0 -0
  183. {musica-0.7.3 → musica-0.8.1}/src/tuvx/interface_radiator.F90 +0 -0
  184. {musica-0.7.3 → musica-0.8.1}/src/tuvx/interface_radiator_map.F90 +0 -0
  185. {musica-0.7.3 → musica-0.8.1}/src/tuvx/profile.cpp +0 -0
  186. {musica-0.7.3 → musica-0.8.1}/src/tuvx/profile_map.cpp +0 -0
  187. {musica-0.7.3 → musica-0.8.1}/src/tuvx/radiator.cpp +0 -0
  188. {musica-0.7.3 → musica-0.8.1}/src/tuvx/radiator_map.cpp +0 -0
  189. {musica-0.7.3 → musica-0.8.1}/src/version.cpp.in +0 -0
@@ -27,6 +27,8 @@ jobs:
27
27
  - Dockerfile.mpi
28
28
  - Dockerfile.mpi_openmp
29
29
  - Dockerfile.python
30
+ - Dockerfile.pip
31
+ build_type: [Release, Debug]
30
32
  steps:
31
33
  - name: Checkout code
32
34
  uses: actions/checkout@v4
@@ -37,10 +39,10 @@ jobs:
37
39
  run: rm -rf /opt/hostedtoolcache
38
40
 
39
41
  - name: Build Docker image
40
- run: docker build -t musica -f docker/${{ matrix.dockerfile }} .
42
+ run: docker build -t musica -f docker/${{ matrix.dockerfile }} . --build-arg MUSICA_GIT_TAG=${{ github.sha }} --build-arg BUILD_TYPE=${{ matrix.build_type }}
41
43
 
42
44
  - name: Run tests in container
43
- if: matrix.dockerfile != 'Dockerfile.coverage'
45
+ if: matrix.dockerfile != 'Dockerfile.coverage' && matrix.dockerfile != 'Dockerfile.pip'
44
46
  run: docker run --name test-container -t musica bash -c 'make test ARGS="--rerun-failed --output-on-failure -j8"'
45
47
 
46
48
  - name: Run coverage tests in container
@@ -18,10 +18,11 @@ jobs:
18
18
  strategy:
19
19
  matrix:
20
20
  compiler:
21
- - { cpp: g++-11, c: gcc-11, fc: gfortran-11}
22
21
  - { cpp: g++-12, c: gcc-12, fc: gfortran-12}
23
22
  - { cpp: g++-13, c: gcc-13, fc: gfortran-13}
23
+ - { cpp: g++-14, c: gcc-14, fc: gfortran-14}
24
24
  - { cpp: clang++, c: clang, fc: gfortran-12}
25
+ - { cpp: g++-14, c: gcc-14, fc: gfortran-14}
25
26
  build_type: [Release]
26
27
  env:
27
28
  CC: ${{ matrix.compiler.c }}
@@ -44,6 +45,7 @@ jobs:
44
45
  cmake -S . -B build \
45
46
  -D CMAKE_CXX_FLAGS=-Wl,-ld_classic \
46
47
  -D CMAKE_BUILD_TYPE=${{ matrix.build_type }} \
48
+ -D MUSICA_GIT_TAG=${{ github.sha }} \
47
49
  -D MUSICA_ENABLE_PYTHON_LIBRARY=ON \
48
50
  -D Python3_EXECUTABLE=$PYTHON_PATH
49
51
 
@@ -57,6 +59,7 @@ jobs:
57
59
  cmake -S . -B build \
58
60
  -D CMAKE_CXX_FLAGS=-Wl,-ld_classic \
59
61
  -D CMAKE_BUILD_TYPE=${{ matrix.build_type }} \
62
+ -D MUSICA_GIT_TAG=${{ github.sha }} \
60
63
  -D MUSICA_ENABLE_PYTHON_LIBRARY=ON \
61
64
  -D Python3_EXECUTABLE=$PYTHON_PATH \
62
65
  -D CMAKE_OSX_SYSROOT=""
@@ -73,7 +76,7 @@ jobs:
73
76
  runs-on: macos-latest
74
77
  strategy:
75
78
  matrix:
76
- gcc_version: [11, 12, 13]
79
+ gcc_version: [13, 14]
77
80
  build_type: [Release]
78
81
  env:
79
82
  FC: gfortran-${{ matrix.gcc_version }}
@@ -85,7 +88,7 @@ jobs:
85
88
  run: brew install netcdf netcdf-fortran
86
89
 
87
90
  - name: Run Cmake
88
- run: cmake -S . -B build -D CMAKE_CXX_FLAGS=-Wl,-ld_classic -D CMAKE_BUILD_TYPE=${{ matrix.build_type }} -D MUSICA_BUILD_FORTRAN_INTERFACE=ON
91
+ run: cmake -S . -B build -D CMAKE_CXX_FLAGS=-Wl,-ld_classic -D CMAKE_BUILD_TYPE=${{ matrix.build_type }} -D MUSICA_GIT_TAG=${{ github.sha }} -D MUSICA_BUILD_FORTRAN_INTERFACE=ON
89
92
 
90
93
  - name: Build
91
94
  run: cmake --build build --verbose --parallel 10
@@ -15,7 +15,7 @@ jobs:
15
15
  - name: autopep8
16
16
  uses: peter-evans/autopep8@v2
17
17
  with:
18
- args: --recursive --in-place --aggressive --aggressive .
18
+ args: --recursive --in-place --aggressive --aggressive --max-line-length 120 .
19
19
 
20
20
  - name: Check for changes
21
21
  id: check-changes
@@ -34,4 +34,4 @@ jobs:
34
34
  run: pip install --verbose .[test]
35
35
 
36
36
  - name: Test
37
- run: python -m unittest discover -s python/test
37
+ run: python -m unittest discover -v -s python/test
@@ -23,8 +23,8 @@ jobs:
23
23
  - { cpp: g++-14, c: gcc-14, fc: gfortran-14}
24
24
  - { cpp: clang++, c: clang, fc: gfortran-12}
25
25
  options:
26
- - {python: ON, tuvx: OFF}
27
- - {python: OFF, tuvx: ON}
26
+ - {micm: ON, tuvx: OFF, python: ON}
27
+ - {micm: OFF, tuvx: ON, python: OFF}
28
28
  build_type: [Release]
29
29
  env:
30
30
  CC: ${{ matrix.compiler.c }}
@@ -40,21 +40,31 @@ jobs:
40
40
  sudo apt-get install -y liblapack-dev libblas-dev build-essential libnetcdf-dev libnetcdff-dev
41
41
  sudo apt-get install -y python3-numpy
42
42
 
43
- - name: Run Cmake
44
- run: cmake -S . -B build -D CMAKE_BUILD_TYPE=${{ matrix.build_type }} -D MUSICA_ENABLE_PYTHON_LIBRARY=${{ matrix.options.python }} -D MUSICA_ENABLE_TUVX=${{ matrix.matrix.options.tuvx }}
43
+ - name: Run Cmake
44
+ # TUV-x doesn't work with gcc 13
45
+ if: matrix.compiler.fc != 'gfortran-13' && matrix.options.tuvx != 'ON'
46
+ run: |
47
+ cmake -S . -B build -D CMAKE_BUILD_TYPE=${{ matrix.build_type }} \
48
+ -D MUSICA_GIT_TAG=${{ github.sha }} \
49
+ -D MUSICA_ENABLE_MICM=${{ matrix.options.micm }} \
50
+ -D MUSICA_ENABLE_TUVX=${{ matrix.options.tuvx }} \
51
+ -D MUSICA_ENABLE_PYTHON_LIBRARY=${{ matrix.options.python }}
45
52
 
46
53
  - name: Build
54
+ if: matrix.compiler.fc != 'gfortran-13' && matrix.options.tuvx != 'ON'
47
55
  run: cmake --build build --verbose
48
56
 
49
57
  - name: Run tests
58
+ if: matrix.compiler.fc != 'gfortran-13' && matrix.options.tuvx != 'ON'
50
59
  run: |
51
60
  cd build
52
61
  ctest -C ${{ matrix.build_type }} --rerun-failed --output-on-failure . --verbose
53
62
  fortran:
54
63
  runs-on: ubuntu-24.04
64
+ continue-on-error: true
55
65
  strategy:
56
66
  matrix:
57
- gcc_version: [12, 13, 14]
67
+ gcc_version: [14]
58
68
  build_type: [Debug, Release]
59
69
  env:
60
70
  CXX: g++-${{ matrix.gcc_version }}
@@ -70,7 +80,7 @@ jobs:
70
80
  sudo apt-get install -y libnetcdf-dev netcdf-bin libnetcdff-dev liblapack-dev libblas-dev
71
81
 
72
82
  - name: Run Cmake
73
- run: cmake -S . -B build -D CMAKE_BUILD_TYPE=${{ matrix.build_type }} -D MUSICA_BUILD_FORTRAN_INTERFACE=ON
83
+ run: cmake -S . -B build -D CMAKE_BUILD_TYPE=${{ matrix.build_type }} -D MUSICA_GIT_TAG=${{ github.sha }} -D MUSICA_BUILD_FORTRAN_INTERFACE=ON
74
84
 
75
85
  - name: Build
76
86
  run: cmake --build build --verbose --parallel 1
@@ -30,7 +30,7 @@ jobs:
30
30
  - run: pip install numpy
31
31
 
32
32
  - name: Run Cmake
33
- run: cmake -S . -B build -G "MinGW Makefiles" -D MUSICA_ENABLE_TUVX=OFF -D MUSICA_ENABLE_PYTHON_LIBRARY=ON
33
+ run: cmake -S . -B build -G "MinGW Makefiles" -D MUSICA_GIT_TAG=${{ github.sha }} -D MUSICA_ENABLE_TUVX=OFF -D MUSICA_ENABLE_PYTHON_LIBRARY=ON
34
34
 
35
35
  - name: Build
36
36
  run: cmake --build build --parallel
@@ -61,7 +61,7 @@ jobs:
61
61
  - run: pip install numpy
62
62
 
63
63
  - name: Run CMake
64
- run: cmake -S . -B build -G "Visual Studio 17 2022" -A ${{ matrix.architecture }} -DCMAKE_BUILD_TYPE=${{ matrix.build_type }} -D MUSICA_ENABLE_TUVX=OFF -D MUSICA_ENABLE_PYTHON_LIBRARY=ON
64
+ run: cmake -S . -B build -G "Visual Studio 17 2022" -A ${{ matrix.architecture }} -D MUSICA_GIT_TAG=${{ github.sha }} -DCMAKE_BUILD_TYPE=${{ matrix.build_type }} -D MUSICA_ENABLE_TUVX=OFF -D MUSICA_ENABLE_PYTHON_LIBRARY=ON
65
65
 
66
66
  - name: Build
67
67
  run: cmake --build build --config ${{ matrix.build_type }} --parallel
@@ -86,7 +86,7 @@ jobs:
86
86
  - run: pip install numpy
87
87
 
88
88
  - name: Run CMake
89
- run: cmake -S . -B build -DCMAKE_CXX_COMPILER="C:/Program Files/LLVM/bin/clang++.exe" -DCMAKE_C_COMPILER="C:/Program Files/LLVM/bin/clang.exe" -G"MinGW Makefiles" -D MUSICA_ENABLE_TUVX=OFF -D MUSICA_ENABLE_PYTHON_LIBRARY=ON
89
+ run: cmake -S . -B build -DCMAKE_CXX_COMPILER="C:/Program Files/LLVM/bin/clang++.exe" -DCMAKE_C_COMPILER="C:/Program Files/LLVM/bin/clang.exe" -G"MinGW Makefiles" -D MUSICA_GIT_TAG=${{ github.sha }} -D MUSICA_ENABLE_TUVX=OFF -D MUSICA_ENABLE_PYTHON_LIBRARY=ON
90
90
 
91
91
  - name: Build
92
92
  run: cmake --build build --parallel
@@ -115,7 +115,7 @@ jobs:
115
115
  - run: pip install numpy
116
116
 
117
117
  - name: Run CMake
118
- run: cmake -S . -B build -G "Visual Studio 16 2019" -A ${{ matrix.architecture }} -T ClangCL -D MUSICA_ENABLE_TUVX=OFF -D MUSICA_ENABLE_PYTHON_LIBRARY=ON
118
+ run: cmake -S . -B build -G "Visual Studio 16 2019" -A ${{ matrix.architecture }} -T ClangCL -D MUSICA_GIT_TAG=${{ github.sha }} -D MUSICA_ENABLE_TUVX=OFF -D MUSICA_ENABLE_PYTHON_LIBRARY=ON
119
119
 
120
120
  - name: Build
121
121
  run: cmake --build build --config Debug --parallel
@@ -64,4 +64,4 @@ number: 10
64
64
  page: "E1743 - E1760"
65
65
  doi: "10.1175/BAMS-D-19-0331.1"
66
66
  url: "https://journals.ametsoc.org/view/journals/bams/101/10/bamsD190331.xml"
67
- version: 0.7.3
67
+ version: 0.8.0
@@ -1,7 +1,7 @@
1
1
  cmake_minimum_required(VERSION 3.21)
2
2
 
3
3
  # must be on the same line so that pyproject.toml can correctly identify the version
4
- project(musica-distribution VERSION 0.7.3)
4
+ project(musica-distribution VERSION 0.8.1)
5
5
 
6
6
  set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH};${PROJECT_SOURCE_DIR}/cmake)
7
7
  set(CMAKE_USER_MAKE_RULES_OVERRIDE ${CMAKE_MODULE_PATH}/SetDefaults.cmake)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: musica
3
- Version: 0.7.3
3
+ Version: 0.8.1
4
4
  Summary: MUSICA is a Python library for performing computational simulations in atmospheric chemistry.
5
5
  Home-page: https://wiki.ucar.edu/display/MUSICA/MUSICA+Home
6
6
  Author-Email: Matthew Dawsom <mattdawson@ucar.edu>, Jiwon Gim <jiwongim@ucar.edu>, David Fillmore <fillmore@ucar.edu>, Kyle Shores <kshores@ucar.edu>
@@ -20,6 +20,17 @@ if (MUSICA_BUILD_FORTRAN_INTERFACE)
20
20
  pkg_check_modules(netcdfc IMPORTED_TARGET REQUIRED netcdf)
21
21
  endif()
22
22
 
23
+ # ##############################################################################
24
+ # yaml-cpp
25
+
26
+ FetchContent_Declare(
27
+ yaml-cpp
28
+ GIT_REPOSITORY https://github.com/jbeder/yaml-cpp/
29
+ GIT_TAG 0.8.0
30
+ GIT_PROGRESS NOT
31
+ ${FETCHCONTENT_QUIET})
32
+ FetchContent_MakeAvailable(yaml-cpp)
33
+
23
34
  ################################################################################
24
35
  # google test
25
36
  if(MUSICA_ENABLE_TESTS)
@@ -51,7 +62,7 @@ endif()
51
62
  if (MUSICA_ENABLE_MICM AND MUSICA_BUILD_C_CXX_INTERFACE)
52
63
 
53
64
  set_git_default(MICM_GIT_REPOSITORY https://github.com/NCAR/micm.git)
54
- set_git_default(MICM_GIT_TAG 6b1c58a9be14095e3f3c6df403c91c4e800f23de)
65
+ set_git_default(MICM_GIT_TAG b3c462a)
55
66
 
56
67
  FetchContent_Declare(micm
57
68
  GIT_REPOSITORY ${MICM_GIT_REPOSITORY}
@@ -75,7 +86,7 @@ if (MUSICA_ENABLE_TUVX AND MUSICA_BUILD_C_CXX_INTERFACE)
75
86
  set(TUVX_INSTALL_INCLUDE_DIR ${MUSICA_INSTALL_INCLUDE_DIR} CACHE STRING "" FORCE)
76
87
 
77
88
  set_git_default(TUVX_GIT_REPOSITORY https://github.com/NCAR/tuv-x.git)
78
- set_git_default(TUVX_GIT_TAG 674ee1e72853bb44d23c36602fa73c955b2f021d)
89
+ set_git_default(TUVX_GIT_TAG v0.10.0)
79
90
 
80
91
  FetchContent_Declare(tuvx
81
92
  GIT_REPOSITORY ${TUVX_GIT_REPOSITORY}
@@ -41,7 +41,7 @@ function(create_standard_test_cxx)
41
41
  include(CMakeParseArguments)
42
42
  cmake_parse_arguments(${prefix} " " "${singleValues}" "${multiValues}" ${ARGN})
43
43
  add_executable(test_${TEST_NAME} ${TEST_SOURCES})
44
- target_link_libraries(test_${TEST_NAME} PUBLIC musica::musica GTest::gtest_main)
44
+ target_link_libraries(test_${TEST_NAME} PUBLIC musica::musica GTest::gtest_main yaml-cpp)
45
45
  if(MUSICA_ENABLE_OPENMP)
46
46
  target_link_libraries(test_${TEST_NAME} PUBLIC OpenMP::OpenMP_CXX)
47
47
  endif()
@@ -0,0 +1,71 @@
1
+ {
2
+ "camp-data": [
3
+ {
4
+ "type": "MECHANISM",
5
+ "name": "music box interactive configuration",
6
+ "reactions": [
7
+ {
8
+ "type": "ARRHENIUS",
9
+ "A": 0.004,
10
+ "C": 50,
11
+ "reactants": {
12
+ "A": {
13
+ "qty": 1
14
+ }
15
+ },
16
+ "products": {
17
+ "B": {
18
+ "yield": 1
19
+ }
20
+ }
21
+ },
22
+ {
23
+ "type": "ARRHENIUS",
24
+ "A": 0.012,
25
+ "B": -2,
26
+ "C": 75,
27
+ "D": 50,
28
+ "E": 1.0e-6,
29
+ "reactants": {
30
+ "B": {
31
+ "qty": 1
32
+ }
33
+ },
34
+ "products": {
35
+ "C": {
36
+ "yield": 1
37
+ }
38
+ }
39
+ },
40
+ {
41
+ "type": "USER_DEFINED",
42
+ "MUSICA name": "reaction 1",
43
+ "reactants": {
44
+ "D": {
45
+ "qty": 1
46
+ }
47
+ },
48
+ "products": {
49
+ "E": {
50
+ "yield": 1
51
+ }
52
+ }
53
+ },
54
+ {
55
+ "type": "USER_DEFINED",
56
+ "MUSICA name": "reaction 2",
57
+ "reactants": {
58
+ "E": {
59
+ "qty": 1
60
+ }
61
+ },
62
+ "products": {
63
+ "F": {
64
+ "yield": 1
65
+ }
66
+ }
67
+ }
68
+ ]
69
+ }
70
+ ]
71
+ }
@@ -0,0 +1,28 @@
1
+ {
2
+ "camp-data": [
3
+ {
4
+ "name": "A",
5
+ "type": "CHEM_SPEC"
6
+ },
7
+ {
8
+ "name": "B",
9
+ "type": "CHEM_SPEC"
10
+ },
11
+ {
12
+ "name": "C",
13
+ "type": "CHEM_SPEC"
14
+ },
15
+ {
16
+ "name": "D",
17
+ "type": "CHEM_SPEC"
18
+ },
19
+ {
20
+ "name": "E",
21
+ "type": "CHEM_SPEC"
22
+ },
23
+ {
24
+ "name": "F",
25
+ "type": "CHEM_SPEC"
26
+ }
27
+ ]
28
+ }
@@ -0,0 +1,6 @@
1
+ {
2
+ "camp-files": [
3
+ "species.json",
4
+ "reactions.json"
5
+ ]
6
+ }
@@ -14,7 +14,7 @@
14
14
  "yield": 2.0
15
15
  }
16
16
  },
17
- "MUSICA name": "R1"
17
+ "MUSICA name": "jO2"
18
18
  },
19
19
  {
20
20
  "type": "ARRHENIUS",
@@ -37,7 +37,7 @@
37
37
  "O": {},
38
38
  "O2": {}
39
39
  },
40
- "MUSICA name": "R3"
40
+ "MUSICA name": "jO3->O"
41
41
  },
42
42
  {
43
43
  "type": "ARRHENIUS",
@@ -62,7 +62,7 @@
62
62
  "O1D": {},
63
63
  "O2": {}
64
64
  },
65
- "MUSICA name": "R5"
65
+ "MUSICA name": "jO3->O1D"
66
66
  },
67
67
  {
68
68
  "type": "ARRHENIUS",
@@ -1,5 +1,6 @@
1
- FROM fedora:35
1
+ FROM fedora:latest
2
2
 
3
+ ARG MUSICA_GIT_TAG=main
3
4
  ARG BUILD_TYPE=Release
4
5
 
5
6
  RUN dnf -y update \
@@ -15,6 +16,7 @@ RUN dnf -y update \
15
16
  json-devel \
16
17
  python \
17
18
  valgrind \
19
+ tree \
18
20
  && dnf clean all
19
21
 
20
22
  # Copy the musica code
@@ -25,6 +27,7 @@ RUN cd musica \
25
27
  && cmake -S . \
26
28
  -B build \
27
29
  -D CMAKE_BUILD_TYPE=${BUILD_TYPE} \
30
+ -D MUSICA_GIT_TAG=${MUSICA_GIT_TAG} \
28
31
  && cd build \
29
32
  && make install -j 8
30
33
 
@@ -1,4 +1,7 @@
1
- FROM fedora:37
1
+ FROM fedora:latest
2
+
3
+ ARG MUSICA_GIT_TAG=main
4
+ ARG BUILD_TYPE=Release
2
5
 
3
6
  RUN dnf -y update \
4
7
  && dnf -y install \
@@ -17,7 +20,8 @@ RUN dnf -y update \
17
20
 
18
21
  COPY . /musica/
19
22
 
20
- RUN pip3 install -r /musica/docs/requirements.txt
23
+ RUN python3 -m pip install --upgrade pip setuptools \
24
+ && python3 -m pip install -r /musica/docs/requirements.txt
21
25
 
22
26
  ARG SUFFIX=""
23
27
  ENV SWITCHER_SUFFIX=$SUFFIX
@@ -28,6 +32,8 @@ RUN mkdir /build \
28
32
  && cd /build \
29
33
  && cmake -D MUSICA_BUILD_DOCS=ON \
30
34
  -D MUSICA_ENABLE_TUVX=OFF \
35
+ -D MUSICA_GIT_TAG=${MUSICA_GIT_TAG} \
36
+ -D CMAKE_BUILD_TYPE=${BUILD_TYPE} \
31
37
  /musica \
32
38
  && make docs
33
39
 
@@ -1,5 +1,6 @@
1
- FROM fedora:35
1
+ FROM fedora:latest
2
2
 
3
+ ARG MUSICA_GIT_TAG=main
3
4
  ARG BUILD_TYPE=Release
4
5
 
5
6
  RUN dnf -y update \
@@ -1,4 +1,4 @@
1
- FROM fedora:35
1
+ FROM fedora:latest
2
2
 
3
3
  ARG MUSICA_GIT_TAG=main
4
4
  ARG BUILD_TYPE=Release
@@ -38,6 +38,7 @@ RUN cd musica \
38
38
  && cmake -S . \
39
39
  -B build \
40
40
  -D CMAKE_BUILD_TYPE=${BUILD_TYPE} \
41
+ -D MUSICA_GIT_TAG=${MUSICA_GIT_TAG} \
41
42
  && cd build \
42
43
  && make install -j
43
44
 
@@ -8,6 +8,7 @@ RUN wget -qO - https://repositories.intel.com/gpu/intel-graphics.key | \
8
8
  gpg --yes --dearmor --output /usr/share/keyrings/intel-graphics-archive-keyring.gpg
9
9
 
10
10
  ARG MUSICA_GIT_TAG=main
11
+ ARG BUILD_TYPE=Release
11
12
 
12
13
  RUN apt update \
13
14
  && apt -y install \
@@ -52,6 +53,7 @@ RUN cd musica \
52
53
  && cmake -S . \
53
54
  -B build \
54
55
  -D CMAKE_BUILD_TYPE=${BUILD_TYPE} \
56
+ -D MUSICA_GIT_TAG=${MUSICA_GIT_TAG} \
55
57
  && cd build \
56
58
  && make install -j
57
59
 
@@ -63,7 +65,7 @@ ENV FC=ifx
63
65
  RUN cd musica/fortran/test/fetch_content_integration \
64
66
  && mkdir build && cd build \
65
67
  && cmake .. \
66
- -D CMAKE_BUILD_TYPE=Release \
68
+ -D CMAKE_BUILD_TYPE=${BUILD_TYPE} \
67
69
  -D CMAKE_EXE_LINKER_FLAGS="-Wl,--copy-dt-needed-entries" \
68
70
  -D MUSICA_GIT_TAG=${MUSICA_GIT_TAG} \
69
71
  -D MUSICA_ENABLE_MEMCHECK=ON \
@@ -49,23 +49,25 @@ COPY . musica
49
49
 
50
50
  # Build and install MUSICA
51
51
  RUN cd musica \
52
- && cmake -S . \
53
- -B build \
54
- -D CMAKE_BUILD_TYPE=${BUILD_TYPE} \
55
- && cd build \
56
- && make install -j
52
+ && cmake -S . \
53
+ -B build \
54
+ -D CMAKE_BUILD_TYPE=${BUILD_TYPE} \
55
+ -D MUSICA_GIT_TAG=${MUSICA_GIT_TAG} \
56
+ && cd build \
57
+ && make install -j
57
58
 
58
59
  # Set environment variables to build MUSICA-Fortran using nvidia compilers
59
60
  ENV CXX=nvc++
60
61
  ENV CC=nvc
61
62
  ENV FC=nvfortran
62
63
 
64
+ # (There is a runtime test failure when building MUSICA with nvhpc in Release mode, so we build in Debug mode)
63
65
  RUN cd musica/fortran/test/fetch_content_integration \
64
66
  && mkdir build && cd build \
65
67
  && cmake .. \
66
- -D CMAKE_BUILD_TYPE=${BUILD_TYPE} \
67
- -D CMAKE_EXE_LINKER_FLAGS="-Wl,--copy-dt-needed-entries" \
68
+ -D CMAKE_BUILD_TYPE=Debug \
68
69
  -D MUSICA_GIT_TAG=${MUSICA_GIT_TAG} \
70
+ -D CMAKE_EXE_LINKER_FLAGS="-Wl,--copy-dt-needed-entries" \
69
71
  -D MUSICA_ENABLE_MEMCHECK=ON \
70
72
  && make -j
71
73
 
@@ -1,5 +1,6 @@
1
- FROM fedora:35
1
+ FROM fedora:latest
2
2
 
3
+ ARG MUSICA_GIT_TAG=main
3
4
  ARG BUILD_TYPE=Debug
4
5
 
5
6
  RUN dnf -y update \
@@ -24,6 +25,7 @@ RUN cd musica \
24
25
  && cmake -S . \
25
26
  -B build \
26
27
  -D CMAKE_BUILD_TYPE=${BUILD_TYPE} \
28
+ -D MUSICA_GIT_TAG=${MUSICA_GIT_TAG} \
27
29
  -D MUSICA_ENABLE_MEMCHECK=ON \
28
30
  && cd build \
29
31
  && make install -j 8
@@ -1,5 +1,6 @@
1
- FROM fedora:35
1
+ FROM fedora:latest
2
2
 
3
+ ARG MUSICA_GIT_TAG=main
3
4
  ARG BUILD_TYPE=Debug
4
5
 
5
6
  RUN dnf -y update \
@@ -40,6 +41,7 @@ RUN cd musica \
40
41
  && cmake -S . \
41
42
  -B build \
42
43
  -D CMAKE_BUILD_TYPE=${BUILD_TYPE} \
44
+ -D MUSICA_GIT_TAG=${MUSICA_GIT_TAG} \
43
45
  -D MUSICA_ENABLE_TESTS=ON \
44
46
  -D MUSICA_ENABLE_MPI=ON \
45
47
  -D CMAKE_Fortran_COMPILER=/usr/lib64/openmpi/bin/mpif90 \
@@ -1,5 +1,6 @@
1
- FROM fedora:35
1
+ FROM fedora:latest
2
2
 
3
+ ARG MUSICA_GIT_TAG=main
3
4
  ARG BUILD_TYPE=Debug
4
5
 
5
6
  RUN dnf -y update \
@@ -40,6 +41,7 @@ RUN cd musica \
40
41
  && cmake -S . \
41
42
  -B build \
42
43
  -D CMAKE_BUILD_TYPE=${BUILD_TYPE} \
44
+ -D MUSICA_GIT_TAG=${MUSICA_GIT_TAG} \
43
45
  -D MUSICA_ENABLE_MPI=ON \
44
46
  -D MUSICA_ENABLE_OPENMP=ON \
45
47
  -D MUSICA_ENABLE_TESTS=ON \
@@ -1,5 +1,6 @@
1
- FROM fedora:35
1
+ FROM fedora:latest
2
2
 
3
+ ARG MUSICA_GIT_TAG=main
3
4
  ARG BUILD_TYPE=Debug
4
5
 
5
6
  RUN dnf -y update \
@@ -39,6 +40,7 @@ RUN cd musica \
39
40
  && cmake -S . \
40
41
  -B build \
41
42
  -D CMAKE_BUILD_TYPE=${BUILD_TYPE} \
43
+ -D MUSICA_GIT_TAG=${MUSICA_GIT_TAG} \
42
44
  -D MUSICA_ENABLE_OPENMP=ON \
43
45
  -D MUSICA_ENABLE_TESTS=ON \
44
46
  -D CMAKE_Fortran_COMPILER=/usr/lib64/openmpi/bin/mpif90 \
@@ -0,0 +1,38 @@
1
+ FROM ubuntu:latest
2
+
3
+ ARG MUSICA_GIT_TAG=main
4
+ ARG BUILD_TYPE=Release
5
+
6
+ RUN apt-get update \
7
+ && apt-get install -y \
8
+ cmake \
9
+ gcc \
10
+ g++ \
11
+ gfortran \
12
+ gdb \
13
+ git \
14
+ libhdf5-dev \
15
+ libnetcdf-dev \
16
+ libjson-c-dev \
17
+ lcov \
18
+ make \
19
+ valgrind \
20
+ vim \
21
+ python3 \
22
+ python3-pip \
23
+ zlib1g-dev \
24
+ && apt-get clean
25
+
26
+ # Copy the musica code
27
+ COPY . musica
28
+
29
+ # Add requirements
30
+ RUN python3 -m pip install --ignore-installed --upgrade wheel setuptools --break-system-packages
31
+
32
+ # Build and install musica
33
+ RUN cd musica \
34
+ && pip install --verbose .[test] --break-system-packages
35
+
36
+ # Test
37
+ RUN cd musica \
38
+ && python3 -m unittest discover -v -s python/test
@@ -1,5 +1,6 @@
1
1
  FROM fedora:latest
2
2
 
3
+ ARG MUSICA_GIT_TAG=main
3
4
  ARG BUILD_TYPE=Release
4
5
 
5
6
  RUN dnf -y update \
@@ -14,6 +15,7 @@ RUN dnf -y update \
14
15
  pip \
15
16
  python \
16
17
  python-devel \
18
+ valgrind \
17
19
  && dnf clean all
18
20
 
19
21
  # Copy the musica code
@@ -46,9 +48,11 @@ RUN pip install -r requirements.txt
46
48
  RUN cd musica \
47
49
  && cmake -S . \
48
50
  -B build \
51
+ -D MUSICA_GIT_TAG=${MUSICA_GIT_TAG} \
49
52
  -D CMAKE_BUILD_TYPE=${BUILD_TYPE} \
50
53
  -D MUSICA_ENABLE_PYTHON_LIBRARY=ON \
51
54
  -D MUSICA_ENABLE_TUVX=OFF \
55
+ -D MUSICA_ENABLE_MEMCHECK=ON \
52
56
  && cd build \
53
57
  && make install -j 8
54
58