musica 0.10.1__tar.gz → 0.11.1.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 (246) hide show
  1. {musica-0.10.1 → musica-0.11.1.1}/.dockerignore +1 -1
  2. {musica-0.10.1 → musica-0.11.1.1}/.github/workflows/docker.yml +4 -3
  3. {musica-0.10.1 → musica-0.11.1.1}/.github/workflows/gh_pages.yml +26 -1
  4. {musica-0.10.1 → musica-0.11.1.1}/.github/workflows/python-tests.yml +1 -1
  5. musica-0.10.1/.github/workflows/release.yml → musica-0.11.1.1/.github/workflows/python-wheels.yml +9 -9
  6. {musica-0.10.1 → musica-0.11.1.1}/.github/workflows/windows.yml +2 -2
  7. {musica-0.10.1 → musica-0.11.1.1}/.gitignore +3 -1
  8. {musica-0.10.1 → musica-0.11.1.1}/CMakeLists.txt +43 -19
  9. {musica-0.10.1 → musica-0.11.1.1}/PKG-INFO +22 -1
  10. {musica-0.10.1 → musica-0.11.1.1}/README.md +17 -0
  11. musica-0.11.1.1/cmake/CodeCoverage.cmake +708 -0
  12. {musica-0.10.1 → musica-0.11.1.1}/cmake/dependencies.cmake +24 -15
  13. musica-0.11.1.1/cmake/musica-fortran.pc.in +13 -0
  14. musica-0.11.1.1/cmake/musica.pc.in +13 -0
  15. {musica-0.10.1 → musica-0.11.1.1}/cmake/test_util.cmake +14 -1
  16. {musica-0.10.1 → musica-0.11.1.1}/configs/analytical/reactions.json +1 -1
  17. {musica-0.10.1 → musica-0.11.1.1}/docker/Dockerfile +6 -2
  18. musica-0.11.1.1/docker/Dockerfile.coverage +32 -0
  19. {musica-0.10.1 → musica-0.11.1.1}/docker/Dockerfile.docs +7 -5
  20. {musica-0.10.1 → musica-0.11.1.1}/docker/Dockerfile.fortran-gcc +11 -2
  21. {musica-0.10.1 → musica-0.11.1.1}/docker/Dockerfile.fortran-gcc.integration +1 -4
  22. {musica-0.10.1 → musica-0.11.1.1}/docker/Dockerfile.fortran-intel +0 -1
  23. musica-0.11.1.1/docker/Dockerfile.fortran-intel.pkgconfig +86 -0
  24. {musica-0.10.1 → musica-0.11.1.1}/docker/Dockerfile.fortran-nvhpc +0 -1
  25. musica-0.11.1.1/docker/Dockerfile.fortran-nvhpc.pkgconfig +86 -0
  26. {musica-0.10.1 → musica-0.11.1.1}/docker/Dockerfile.memcheck +0 -1
  27. {musica-0.10.1 → musica-0.11.1.1}/docker/Dockerfile.mpi +0 -1
  28. {musica-0.10.1 → musica-0.11.1.1}/docker/Dockerfile.mpi_openmp +0 -1
  29. musica-0.11.1.1/docker/Dockerfile.nvhpc +46 -0
  30. {musica-0.10.1 → musica-0.11.1.1}/docker/Dockerfile.openmp +0 -1
  31. musica-0.11.1.1/docker/Dockerfile.python +38 -0
  32. musica-0.11.1.1/docker/Dockerfile.python-tests +31 -0
  33. musica-0.11.1.1/docs/CMakeLists.txt +56 -0
  34. musica-0.11.1.1/docs/Doxyfile.in +2725 -0
  35. {musica-0.10.1 → musica-0.11.1.1}/docs/requirements.txt +1 -0
  36. musica-0.11.1.1/docs/source/_static/switcher.json +17 -0
  37. musica-0.11.1.1/docs/source/api/C++.rst +5 -0
  38. musica-0.11.1.1/docs/source/api/index.rst +13 -0
  39. musica-0.11.1.1/docs/source/api/python.rst +56 -0
  40. {musica-0.10.1 → musica-0.11.1.1}/docs/source/conf.py +13 -2
  41. {musica-0.10.1 → musica-0.11.1.1}/fortran/micm/CMakeLists.txt +1 -0
  42. {musica-0.10.1 → musica-0.11.1.1}/fortran/micm/micm.F90 +82 -175
  43. musica-0.11.1.1/fortran/micm/state.F90 +328 -0
  44. {musica-0.10.1 → musica-0.11.1.1}/fortran/packaging/CMakeLists.txt +19 -0
  45. {musica-0.10.1 → musica-0.11.1.1}/fortran/test/fetch_content_integration/CMakeLists.txt +4 -1
  46. musica-0.11.1.1/fortran/test/fetch_content_integration/test_micm_api.F90 +592 -0
  47. musica-0.11.1.1/fortran/test/fetch_content_integration/test_micm_box_model.F90 +126 -0
  48. musica-0.11.1.1/fortran/test/test_simple.F90 +11 -0
  49. {musica-0.10.1 → musica-0.11.1.1}/fortran/test/unit/CMakeLists.txt +0 -3
  50. {musica-0.10.1 → musica-0.11.1.1}/fortran/test/unit/tuvx.F90 +0 -29
  51. {musica-0.10.1 → musica-0.11.1.1}/fortran/test/unit/tuvx_openmp.F90 +0 -18
  52. {musica-0.10.1 → musica-0.11.1.1}/fortran/test/unit/util.F90 +23 -1
  53. {musica-0.10.1 → musica-0.11.1.1}/fortran/tuvx/tuvx.F90 +10 -6
  54. {musica-0.10.1 → musica-0.11.1.1}/fortran/util.F90 +32 -11
  55. musica-0.11.1.1/include/musica/error.hpp +18 -0
  56. musica-0.11.1.1/include/musica/micm/cuda_availability.hpp +6 -0
  57. musica-0.11.1.1/include/musica/micm/micm.hpp +176 -0
  58. musica-0.11.1.1/include/musica/micm/micm_c_interface.hpp +88 -0
  59. musica-0.11.1.1/include/musica/micm/parse.hpp +69 -0
  60. musica-0.11.1.1/include/musica/micm/state.hpp +94 -0
  61. musica-0.11.1.1/include/musica/micm/state_c_interface.hpp +101 -0
  62. {musica-0.10.1 → musica-0.11.1.1}/include/musica/util.hpp +11 -0
  63. {musica-0.10.1/python → musica-0.11.1.1/musica}/CMakeLists.txt +18 -13
  64. musica-0.11.1.1/musica/__init__.py +3 -0
  65. musica-0.11.1.1/musica/binding.cpp +19 -0
  66. musica-0.11.1.1/musica/mechanism_configuration.cpp +519 -0
  67. musica-0.11.1.1/musica/mechanism_configuration.py +1291 -0
  68. musica-0.11.1.1/musica/musica.cpp +214 -0
  69. musica-0.11.1.1/musica/test/examples/v0/config.json +7 -0
  70. musica-0.11.1.1/musica/test/examples/v0/config.yaml +3 -0
  71. musica-0.11.1.1/musica/test/examples/v0/reactions.json +193 -0
  72. musica-0.11.1.1/musica/test/examples/v0/reactions.yaml +142 -0
  73. musica-0.11.1.1/musica/test/examples/v0/species.json +40 -0
  74. musica-0.11.1.1/musica/test/examples/v0/species.yaml +19 -0
  75. musica-0.11.1.1/musica/test/examples/v1/full_configuration.json +434 -0
  76. musica-0.11.1.1/musica/test/examples/v1/full_configuration.yaml +271 -0
  77. musica-0.11.1.1/musica/test/test_analytical.py +323 -0
  78. musica-0.11.1.1/musica/test/test_chapman.py +123 -0
  79. musica-0.11.1.1/musica/test/test_parser.py +693 -0
  80. musica-0.11.1.1/musica/test/tuvx.py +10 -0
  81. musica-0.11.1.1/musica/tools/prepare_build_environment_linux.sh +41 -0
  82. musica-0.11.1.1/musica/tools/prepare_build_environment_windows.sh +22 -0
  83. musica-0.11.1.1/musica/tools/repair_wheel_gpu.sh +25 -0
  84. musica-0.11.1.1/musica/types.py +362 -0
  85. musica-0.11.1.1/pyproject.toml +91 -0
  86. musica-0.11.1.1/spack/packages/musica/package.py +54 -0
  87. musica-0.11.1.1/spack/repo.yaml +2 -0
  88. {musica-0.10.1 → musica-0.11.1.1}/src/CMakeLists.txt +7 -2
  89. {musica-0.10.1 → musica-0.11.1.1}/src/micm/CMakeLists.txt +3 -1
  90. musica-0.11.1.1/src/micm/cuda_availability.cpp +21 -0
  91. musica-0.11.1.1/src/micm/micm.cpp +153 -0
  92. musica-0.11.1.1/src/micm/micm_c_interface.cpp +137 -0
  93. {musica-0.10.1 → musica-0.11.1.1}/src/micm/parse.cpp +5 -8
  94. {musica-0.10.1 → musica-0.11.1.1}/src/micm/state.cpp +27 -60
  95. musica-0.11.1.1/src/micm/state_c_interface.cpp +219 -0
  96. {musica-0.10.1 → musica-0.11.1.1}/src/micm/v0_parse.cpp +4 -15
  97. {musica-0.10.1 → musica-0.11.1.1}/src/micm/v1_parse.cpp +35 -42
  98. {musica-0.10.1 → musica-0.11.1.1}/src/packaging/CMakeLists.txt +33 -4
  99. {musica-0.10.1 → musica-0.11.1.1}/src/packaging/modulefile.lua.in +9 -5
  100. musica-0.11.1.1/src/test/test_simple.c +9 -0
  101. {musica-0.10.1 → musica-0.11.1.1}/src/test/unit/CMakeLists.txt +0 -1
  102. {musica-0.10.1 → musica-0.11.1.1}/src/test/unit/micm/CMakeLists.txt +2 -1
  103. {musica-0.10.1 → musica-0.11.1.1}/src/test/unit/micm/micm_c_api.cpp +171 -217
  104. musica-0.11.1.1/src/test/unit/micm/micm_wrapper.cpp +61 -0
  105. musica-0.10.1/src/test/unit/micm/micm_wrapper.cpp → musica-0.11.1.1/src/test/unit/micm/parser.cpp +41 -42
  106. {musica-0.10.1 → musica-0.11.1.1}/src/util.cpp +2 -2
  107. musica-0.10.1/docker/Dockerfile.pip +0 -38
  108. musica-0.10.1/docker/Dockerfile.python +0 -61
  109. musica-0.10.1/docs/CMakeLists.txt +0 -19
  110. musica-0.10.1/docs/source/api/index.rst +0 -2
  111. musica-0.10.1/fortran/test/fetch_content_integration/test_micm_api.F90 +0 -650
  112. musica-0.10.1/fortran/test/fetch_content_integration/test_micm_box_model.F90 +0 -126
  113. musica-0.10.1/fortran/test/unit/tuvx_mpi.F90 +0 -80
  114. musica-0.10.1/include/musica/error.hpp +0 -13
  115. musica-0.10.1/include/musica/micm/micm.hpp +0 -336
  116. musica-0.10.1/include/musica/micm/parse.hpp +0 -19
  117. musica-0.10.1/include/musica/micm/state.hpp +0 -97
  118. musica-0.10.1/pyproject.toml +0 -59
  119. musica-0.10.1/python/test/test_analytical.py +0 -388
  120. musica-0.10.1/python/test/test_chapman.py +0 -64
  121. musica-0.10.1/python/test/tuvx.py +0 -12
  122. musica-0.10.1/python/wrapper.cpp +0 -121
  123. musica-0.10.1/src/micm/micm.cpp +0 -421
  124. musica-0.10.1/src/test/unit/parser.cpp +0 -31
  125. {musica-0.10.1 → musica-0.11.1.1}/.clang-format +0 -0
  126. {musica-0.10.1 → musica-0.11.1.1}/.clang-tidy +0 -0
  127. {musica-0.10.1 → musica-0.11.1.1}/.github/workflows/clang_format.yml +0 -0
  128. {musica-0.10.1 → musica-0.11.1.1}/.github/workflows/clang_tidy.yml +0 -0
  129. {musica-0.10.1 → musica-0.11.1.1}/.github/workflows/close_stale_issues.yml +0 -0
  130. {musica-0.10.1 → musica-0.11.1.1}/.github/workflows/fetch_content_integration.yml +0 -0
  131. {musica-0.10.1 → musica-0.11.1.1}/.github/workflows/format-python.yml +0 -0
  132. {musica-0.10.1 → musica-0.11.1.1}/.github/workflows/mac.yml +0 -0
  133. {musica-0.10.1 → musica-0.11.1.1}/.github/workflows/ubuntu.yml +0 -0
  134. {musica-0.10.1 → musica-0.11.1.1}/CITATION.cff +0 -0
  135. {musica-0.10.1 → musica-0.11.1.1}/LICENSE +0 -0
  136. {musica-0.10.1 → musica-0.11.1.1}/cmake/FindSphinx.cmake +0 -0
  137. {musica-0.10.1 → musica-0.11.1.1}/cmake/SetDefaults.cmake +0 -0
  138. {musica-0.10.1 → musica-0.11.1.1}/cmake/cmake_uninstall.cmake.in +0 -0
  139. {musica-0.10.1 → musica-0.11.1.1}/cmake/musica.settings.in +0 -0
  140. {musica-0.10.1 → musica-0.11.1.1}/cmake/musicaConfig.cmake.in +0 -0
  141. {musica-0.10.1 → musica-0.11.1.1}/cmake/silence_warnings.cmake +0 -0
  142. {musica-0.10.1 → musica-0.11.1.1}/cmake/summary.cmake +0 -0
  143. {musica-0.10.1 → musica-0.11.1.1}/configs/TS1/config.json +0 -0
  144. {musica-0.10.1 → musica-0.11.1.1}/configs/TS1/initial_conditions.csv +0 -0
  145. {musica-0.10.1 → musica-0.11.1.1}/configs/TS1/reactions.json +0 -0
  146. {musica-0.10.1 → musica-0.11.1.1}/configs/TS1/species.json +0 -0
  147. {musica-0.10.1 → musica-0.11.1.1}/configs/analytical/config.json +0 -0
  148. {musica-0.10.1 → musica-0.11.1.1}/configs/analytical/species.json +0 -0
  149. {musica-0.10.1 → musica-0.11.1.1}/configs/carbon_bond_5/config.json +0 -0
  150. {musica-0.10.1 → musica-0.11.1.1}/configs/carbon_bond_5/initial_conditions.csv +0 -0
  151. {musica-0.10.1 → musica-0.11.1.1}/configs/carbon_bond_5/reactions.json +0 -0
  152. {musica-0.10.1 → musica-0.11.1.1}/configs/carbon_bond_5/species.json +0 -0
  153. {musica-0.10.1 → musica-0.11.1.1}/configs/chapman/config.json +0 -0
  154. {musica-0.10.1 → musica-0.11.1.1}/configs/chapman/initial_conditions.csv +0 -0
  155. {musica-0.10.1 → musica-0.11.1.1}/configs/chapman/reactions.json +0 -0
  156. {musica-0.10.1 → musica-0.11.1.1}/configs/chapman/species.json +0 -0
  157. {musica-0.10.1 → musica-0.11.1.1}/configs/robertson/config.json +0 -0
  158. {musica-0.10.1 → musica-0.11.1.1}/configs/robertson/initial_conditions.csv +0 -0
  159. {musica-0.10.1 → musica-0.11.1.1}/configs/robertson/reactions.json +0 -0
  160. {musica-0.10.1 → musica-0.11.1.1}/configs/robertson/species.json +0 -0
  161. {musica-0.10.1 → musica-0.11.1.1}/configs/v1/chapman/config.json +0 -0
  162. {musica-0.10.1 → musica-0.11.1.1}/configs/v1/chapman/config.yaml +0 -0
  163. {musica-0.10.1 → musica-0.11.1.1}/configs/v1/full_configuration.json +0 -0
  164. {musica-0.10.1 → musica-0.11.1.1}/configs/v1/full_configuration.yaml +0 -0
  165. {musica-0.10.1 → musica-0.11.1.1}/docs/Makefile +0 -0
  166. {musica-0.10.1 → musica-0.11.1.1}/docs/Software Development Plan.pdf +0 -0
  167. {musica-0.10.1 → musica-0.11.1.1}/docs/make.bat +0 -0
  168. {musica-0.10.1 → musica-0.11.1.1}/docs/source/_static/custom.css +0 -0
  169. {musica-0.10.1 → musica-0.11.1.1}/docs/source/_static/favicon/favicon.ico +0 -0
  170. {musica-0.10.1 → musica-0.11.1.1}/docs/source/_static/index_api.svg +0 -0
  171. {musica-0.10.1 → musica-0.11.1.1}/docs/source/_static/index_contribute.svg +0 -0
  172. {musica-0.10.1 → musica-0.11.1.1}/docs/source/_static/index_getting_started.svg +0 -0
  173. {musica-0.10.1 → musica-0.11.1.1}/docs/source/_static/index_user_guide.svg +0 -0
  174. {musica-0.10.1 → musica-0.11.1.1}/docs/source/contributing/index.rst +0 -0
  175. {musica-0.10.1 → musica-0.11.1.1}/docs/source/getting_started/getting_started.rst +0 -0
  176. {musica-0.10.1 → musica-0.11.1.1}/docs/source/getting_started/installation.rst +0 -0
  177. {musica-0.10.1 → musica-0.11.1.1}/docs/source/getting_started/overview.rst +0 -0
  178. {musica-0.10.1 → musica-0.11.1.1}/docs/source/index.rst +0 -0
  179. {musica-0.10.1 → musica-0.11.1.1}/docs/source/references.bib +0 -0
  180. {musica-0.10.1 → musica-0.11.1.1}/docs/source/tutorial/chapter0.rst +0 -0
  181. {musica-0.10.1 → musica-0.11.1.1}/docs/source/tutorial/chapter1.rst +0 -0
  182. {musica-0.10.1 → musica-0.11.1.1}/docs/source/tutorial/chapter2.rst +0 -0
  183. {musica-0.10.1 → musica-0.11.1.1}/docs/source/tutorial/tutorial.rst +0 -0
  184. {musica-0.10.1 → musica-0.11.1.1}/docs/source/user_guide/configurations.rst +0 -0
  185. {musica-0.10.1 → musica-0.11.1.1}/docs/source/user_guide/fortran_c.rst +0 -0
  186. {musica-0.10.1 → musica-0.11.1.1}/docs/source/user_guide/index.rst +0 -0
  187. {musica-0.10.1 → musica-0.11.1.1}/fortran/CMakeLists.txt +0 -0
  188. {musica-0.10.1 → musica-0.11.1.1}/fortran/test/CMakeLists.txt +0 -0
  189. {musica-0.10.1 → musica-0.11.1.1}/fortran/test/fetch_content_integration/test_get_micm_version.F90 +0 -0
  190. {musica-0.10.1 → musica-0.11.1.1}/fortran/test/fetch_content_integration/test_tuvx_api.F90 +0 -0
  191. {musica-0.10.1 → musica-0.11.1.1}/fortran/test/tutorial/CMakeLists.txt +0 -0
  192. {musica-0.10.1 → musica-0.11.1.1}/fortran/test/tutorial/demo.F90 +0 -0
  193. {musica-0.10.1 → musica-0.11.1.1}/fortran/tuvx/CMakeLists.txt +0 -0
  194. {musica-0.10.1 → musica-0.11.1.1}/fortran/tuvx/grid.F90 +0 -0
  195. {musica-0.10.1 → musica-0.11.1.1}/fortran/tuvx/grid_map.F90 +0 -0
  196. {musica-0.10.1 → musica-0.11.1.1}/fortran/tuvx/profile.F90 +0 -0
  197. {musica-0.10.1 → musica-0.11.1.1}/fortran/tuvx/profile_map.F90 +0 -0
  198. {musica-0.10.1 → musica-0.11.1.1}/fortran/tuvx/radiator.F90 +0 -0
  199. {musica-0.10.1 → musica-0.11.1.1}/fortran/tuvx/radiator_map.F90 +0 -0
  200. {musica-0.10.1 → musica-0.11.1.1}/include/musica/component_versions.hpp +0 -0
  201. {musica-0.10.1 → musica-0.11.1.1}/include/musica/micm/chemistry.hpp +0 -0
  202. {musica-0.10.1 → musica-0.11.1.1}/include/musica/tuvx/grid.hpp +0 -0
  203. {musica-0.10.1 → musica-0.11.1.1}/include/musica/tuvx/grid_map.hpp +0 -0
  204. {musica-0.10.1 → musica-0.11.1.1}/include/musica/tuvx/profile.hpp +0 -0
  205. {musica-0.10.1 → musica-0.11.1.1}/include/musica/tuvx/profile_map.hpp +0 -0
  206. {musica-0.10.1 → musica-0.11.1.1}/include/musica/tuvx/radiator.hpp +0 -0
  207. {musica-0.10.1 → musica-0.11.1.1}/include/musica/tuvx/radiator_map.hpp +0 -0
  208. {musica-0.10.1 → musica-0.11.1.1}/include/musica/tuvx/tuvx.hpp +0 -0
  209. {musica-0.10.1 → musica-0.11.1.1}/include/musica/version.hpp +0 -0
  210. {musica-0.10.1 → musica-0.11.1.1}/src/component_versions.cpp +0 -0
  211. {musica-0.10.1 → musica-0.11.1.1}/src/test/CMakeLists.txt +0 -0
  212. {musica-0.10.1 → musica-0.11.1.1}/src/test/data/tuvx/fixed/O2_cross_section.nc +0 -0
  213. {musica-0.10.1 → musica-0.11.1.1}/src/test/data/tuvx/fixed/O2_parameters.txt +0 -0
  214. {musica-0.10.1 → musica-0.11.1.1}/src/test/data/tuvx/fixed/bar_cross_section.nc +0 -0
  215. {musica-0.10.1 → musica-0.11.1.1}/src/test/data/tuvx/fixed/config.json +0 -0
  216. {musica-0.10.1 → musica-0.11.1.1}/src/test/data/tuvx/fixed/foo_cross_section.nc +0 -0
  217. {musica-0.10.1 → musica-0.11.1.1}/src/test/data/tuvx/fixed/stand_alone_tuvx_config.json +0 -0
  218. {musica-0.10.1 → musica-0.11.1.1}/src/test/data/tuvx/from_host/O2_cross_section.nc +0 -0
  219. {musica-0.10.1 → musica-0.11.1.1}/src/test/data/tuvx/from_host/O2_parameters.txt +0 -0
  220. {musica-0.10.1 → musica-0.11.1.1}/src/test/data/tuvx/from_host/bar_cross_section.nc +0 -0
  221. {musica-0.10.1 → musica-0.11.1.1}/src/test/data/tuvx/from_host/config.json +0 -0
  222. {musica-0.10.1 → musica-0.11.1.1}/src/test/data/tuvx/from_host/foo_cross_section.nc +0 -0
  223. {musica-0.10.1 → musica-0.11.1.1}/src/test/data/util_index_mapping_from_file.json +0 -0
  224. {musica-0.10.1 → musica-0.11.1.1}/src/test/unit/component_versions.cpp +0 -0
  225. {musica-0.10.1 → musica-0.11.1.1}/src/test/unit/tuvx/CMakeLists.txt +0 -0
  226. {musica-0.10.1 → musica-0.11.1.1}/src/test/unit/tuvx/tuvx_c_api.cpp +0 -0
  227. {musica-0.10.1 → musica-0.11.1.1}/src/test/unit/tuvx/tuvx_run_from_config.cpp +0 -0
  228. {musica-0.10.1 → musica-0.11.1.1}/src/test/unit/util.cpp +0 -0
  229. {musica-0.10.1 → musica-0.11.1.1}/src/tuvx/CMakeLists.txt +0 -0
  230. {musica-0.10.1 → musica-0.11.1.1}/src/tuvx/grid.cpp +0 -0
  231. {musica-0.10.1 → musica-0.11.1.1}/src/tuvx/grid_map.cpp +0 -0
  232. {musica-0.10.1 → musica-0.11.1.1}/src/tuvx/interface.F90 +0 -0
  233. {musica-0.10.1 → musica-0.11.1.1}/src/tuvx/interface_grid.F90 +0 -0
  234. {musica-0.10.1 → musica-0.11.1.1}/src/tuvx/interface_grid_map.F90 +0 -0
  235. {musica-0.10.1 → musica-0.11.1.1}/src/tuvx/interface_profile.F90 +0 -0
  236. {musica-0.10.1 → musica-0.11.1.1}/src/tuvx/interface_profile_map.F90 +0 -0
  237. {musica-0.10.1 → musica-0.11.1.1}/src/tuvx/interface_radiator.F90 +0 -0
  238. {musica-0.10.1 → musica-0.11.1.1}/src/tuvx/interface_radiator_map.F90 +0 -0
  239. {musica-0.10.1 → musica-0.11.1.1}/src/tuvx/interface_util.F90 +0 -0
  240. {musica-0.10.1 → musica-0.11.1.1}/src/tuvx/profile.cpp +0 -0
  241. {musica-0.10.1 → musica-0.11.1.1}/src/tuvx/profile_map.cpp +0 -0
  242. {musica-0.10.1 → musica-0.11.1.1}/src/tuvx/radiator.cpp +0 -0
  243. {musica-0.10.1 → musica-0.11.1.1}/src/tuvx/radiator_map.cpp +0 -0
  244. {musica-0.10.1 → musica-0.11.1.1}/src/tuvx/tuvx.cpp +0 -0
  245. {musica-0.10.1 → musica-0.11.1.1}/src/version.cpp.in +0 -0
  246. {musica-0.10.1 → musica-0.11.1.1}/valgrind.supp +0 -0
@@ -13,7 +13,7 @@
13
13
  !include/
14
14
  !lib/
15
15
  !src/
16
- !python/
16
+ !musica/
17
17
  !pyproject.toml
18
18
  !LICENSE
19
19
  !README.md
@@ -13,7 +13,7 @@ concurrency:
13
13
 
14
14
  jobs:
15
15
  docker-build-and-test:
16
- name: Build and Test - ${{ matrix.dockerfile }}
16
+ name: Build and Test - ${{ matrix.dockerfile }} - ${{ matrix.build_type }}
17
17
  runs-on: ubuntu-latest
18
18
  strategy:
19
19
  fail-fast: false
@@ -27,7 +27,8 @@ jobs:
27
27
  - Dockerfile.mpi
28
28
  - Dockerfile.mpi_openmp
29
29
  - Dockerfile.python
30
- - Dockerfile.pip
30
+ - Dockerfile.nvhpc
31
+ - Dockerfile.coverage
31
32
  build_type: [Release, Debug]
32
33
  steps:
33
34
  - name: Checkout code
@@ -42,7 +43,7 @@ jobs:
42
43
  run: docker build -t musica -f docker/${{ matrix.dockerfile }} . --build-arg MUSICA_GIT_TAG=${{ github.sha }} --build-arg BUILD_TYPE=${{ matrix.build_type }}
43
44
 
44
45
  - name: Run tests in container
45
- if: matrix.dockerfile != 'Dockerfile.coverage' && matrix.dockerfile != 'Dockerfile.pip'
46
+ if: matrix.dockerfile != 'Dockerfile.coverage' && matrix.dockerfile != 'Dockerfile.nvhpc'
46
47
  run: docker run --name test-container -t musica bash -c 'make test ARGS="--rerun-failed --output-on-failure -j8"'
47
48
 
48
49
  - name: Run coverage tests in container
@@ -1,7 +1,13 @@
1
1
  # Build and deploy documentation to GitHub Pages
2
2
  name: GitHub Pages
3
3
 
4
- on: [ push, pull_request ]
4
+ on:
5
+ push:
6
+ branches:
7
+ - main
8
+ - release
9
+ pull_request:
10
+ workflow_dispatch:
5
11
 
6
12
  env:
7
13
  DEFAULT_BRANCH: "release"
@@ -132,3 +138,22 @@ jobs:
132
138
  github_token: ${{ secrets.GITHUB_TOKEN }}
133
139
  publish_dir: _gh-pages/
134
140
  force_orphan: true
141
+
142
+ comment-doc-link:
143
+ name: Comment documentation link on PR
144
+ if: ${{ github.event_name == 'pull_request' && github.event.action == 'opened' }}
145
+ runs-on: ubuntu-latest
146
+ steps:
147
+ - name: Post documentation link
148
+ uses: actions/github-script@v6
149
+ with:
150
+ script: |
151
+ const branchName = context.payload.pull_request.head.ref;
152
+ const docLink = `https://ncar.github.io/musica/branch/${branchName}/`;
153
+ const commentBody = `📄 Documentation for this branch is available at: [${docLink}](${docLink})`;
154
+ await github.rest.issues.createComment({
155
+ owner: context.repo.owner,
156
+ repo: context.repo.repo,
157
+ issue_number: context.payload.pull_request.number,
158
+ body: commentBody
159
+ });
@@ -34,4 +34,4 @@ jobs:
34
34
  run: pip install --verbose .[test]
35
35
 
36
36
  - name: Test
37
- run: python -m unittest discover -v -s python/test
37
+ run: pytest
@@ -43,20 +43,20 @@ jobs:
43
43
  - uses: actions/checkout@v4
44
44
  with:
45
45
  submodules: true
46
-
46
+
47
47
  - uses: actions/setup-python@v5
48
48
  with:
49
49
  python-version: ${{ matrix.python-version }}
50
50
 
51
- - uses: pypa/cibuildwheel@v2.17
51
+ - name: CI Build Wheels
52
+ uses: pypa/cibuildwheel@v2.17
52
53
  env:
53
- CIBW_ARCHS_MACOS: arm64 x86_64
54
- CIBW_SKIP: cp27-* cp34-* cp35-* cp36-* *musllinux*
55
- CIBW_BUILD: cp37-* cp38-* cp39-* cp310-* cp311-* cp312-*
56
-
57
- - name: Verify clean directory
58
- run: git diff --exit-code
59
- shell: bash
54
+ CIBW_ENVIRONMENT_PASS_LINUX: CIBW_ARCHS
55
+ CIBW_ENVIRONMENT_LINUX: >
56
+ CUDA_PATH=/usr/local/cuda
57
+ PATH=/usr/local/cuda/bin:$PATH
58
+ LD_LIBRARY_PATH=/usr/local/cuda/lib64:$LD_LIBRARY_PATH
59
+ BUILD_GPU=1
60
60
 
61
61
  - name: Upload wheels
62
62
  uses: actions/upload-artifact@v4
@@ -74,13 +74,13 @@ jobs:
74
74
  continue-on-error: true
75
75
  strategy:
76
76
  matrix:
77
- version: [11, 12, 13, 14, 15]
77
+ version: [12.0.0, 13.0.0, 14.0.0, 15.0.0, 16.0.0, 17.0.1, 18.1.0, 19.1.0, 20.1.0]
78
78
 
79
79
  steps:
80
80
  - uses: actions/checkout@v4
81
81
 
82
82
  - name: Install Clang
83
- run: curl -fsSL -o LLVM${{ matrix.version }}.exe https://github.com/llvm/llvm-project/releases/download/llvmorg-${{ matrix.version }}.0.0/LLVM-${{ matrix.version }}.0.0-win64.exe ; 7z x LLVM${{ matrix.version }}.exe -y -o"C:/Program Files/LLVM"
83
+ run: curl -fsSL -o LLVM${{ matrix.version }}.exe https://github.com/llvm/llvm-project/releases/download/llvmorg-${{ matrix.version }}/LLVM-${{ matrix.version }}-win64.exe ; 7z x LLVM${{ matrix.version }}.exe -y -o"C:/Program Files/LLVM"
84
84
 
85
85
  - uses: actions/setup-python@v5
86
86
  - run: pip install numpy
@@ -1,6 +1,7 @@
1
1
  # cmake and build stuff
2
2
 
3
3
  build/
4
+ install/
4
5
  CMakeCache.txt
5
6
  CMakeFiles
6
7
  .DS_Store
@@ -11,4 +12,5 @@ musica.egg-info
11
12
  **/*.mod
12
13
 
13
14
  **/*__pycache__*
14
- **/*.pyc
15
+ **/*.pyc
16
+ wheelhouse
@@ -1,10 +1,10 @@
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.10.1)
4
+ project(musica-distribution VERSION 0.11.1.1)
5
5
 
6
6
  set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH};${PROJECT_SOURCE_DIR}/cmake)
7
- set(CMAKE_USER_MAKE_RULES_OVERRIDE ${CMAKE_MODULE_PATH}/SetDefaults.cmake)
7
+ set(CMAKE_USER_MAKE_RULES_OVERRIDE ${PROJECT_SOURCE_DIR}/cmake/SetDefaults.cmake)
8
8
  set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR})
9
9
 
10
10
  if(NOT CMAKE_BUILD_TYPE)
@@ -30,21 +30,15 @@ option(MUSICA_BUILD_DOCS "Build the documentation" OFF)
30
30
  option(MUSICA_ENABLE_MICM "Enable MICM" ON)
31
31
  option(MUSICA_ENABLE_TUVX "Enable TUV-x" ON)
32
32
  option(MUSICA_ENABLE_PIC "Build the library with position independent code" OFF)
33
+ option(MUSICA_ENABLE_COVERAGE "Enable code coverage output" OFF)
34
+ option(MUSICA_BUNDLE_DEPENDENCIES "Bundle dependencies with the library" ON)
33
35
 
34
- set(MUSICA_SET_MICM_VECTOR_MATRIX_SIZE "4" CACHE STRING "Set MICM vector-ordered matrix dimension")
36
+ set(MUSICA_GPU_TYPE "None" CACHE STRING "The GPU type being targeted")
35
37
 
36
- cmake_dependent_option(
37
- MUSICA_ENABLE_PYTHON_LIBRARY "Adds pybind11, a lightweight header-only library that exposes C++ types in Python and vice versa" OFF "MUSICA_BUILD_C_CXX_INTERFACE" OFF)
38
+ set(MUSICA_SET_MICM_DEFAULT_VECTOR_SIZE "4" CACHE STRING "Set MICM vector-ordered matrix dimension")
38
39
 
39
40
  cmake_dependent_option(
40
- MUSICA_CREATE_ENVIRONMENT_MODULE "Creates an Lmod environment module file that can be installed on the same machine this library is installed to." OFF "MUSICA_BUILD_C_CXX_INTERFACE" OFF)
41
-
42
- if(MUSICA_CREATE_ENVIRONMENT_MODULE)
43
- set(MUSICA_INSTALL_MODULE_FILE_PATH "" CACHE STRING "This is the path of the modulefiles location that the Lmod files should be installed to.")
44
- if(MUSICA_INSTALL_MODULE_FILE_PATH STREQUAL "")
45
- message(FATAL_ERROR "MUSICA_INSTALL_MODULE_FILE_PATH is required but not set")
46
- endif()
47
- endif()
41
+ MUSICA_ENABLE_PYTHON_LIBRARY "Adds pybind11, a lightweight header-only library that exposes C++ types in Python and vice versa" OFF "MUSICA_BUILD_C_CXX_INTERFACE" OFF)
48
42
 
49
43
  ################################################################################
50
44
  # Projet wide setup variables
@@ -64,6 +58,23 @@ elseif(${CMAKE_Fortran_COMPILER_ID} MATCHES "PGI")
64
58
  list(APPEND musica_compile_definitions MUSICA_USING_PGI)
65
59
  endif()
66
60
 
61
+ # Set the C++ standard library if it is not already set
62
+ if(NOT CMAKE_CXX_STANDARD_LIBRARIES)
63
+ if(${CMAKE_CXX_COMPILER_ID} MATCHES "GNU")
64
+ set(CMAKE_CXX_STANDARD_LIBRARIES "-lstdc++")
65
+ elseif(${CMAKE_CXX_COMPILER_ID} MATCHES "Intel")
66
+ set(CMAKE_CXX_STANDARD_LIBRARIES "-lstdc++")
67
+ elseif(${CMAKE_CXX_COMPILER_ID} MATCHES "IBM")
68
+ set(CMAKE_CXX_STANDARD_LIBRARIES "-lstdc++")
69
+ elseif(${CMAKE_CXX_COMPILER_ID} MATCHES "NVHPC")
70
+ set(CMAKE_CXX_STANDARD_LIBRARIES "-lstdc++")
71
+ elseif(${CMAKE_CXX_COMPILER_ID} MATCHES "Clang")
72
+ set(CMAKE_CXX_STANDARD_LIBRARIES "-lstdc++") # use GNU standard library
73
+ else()
74
+ set(CMAKE_CXX_STANDARD_LIBRARIES "-lstdc++") # default to most common name
75
+ endif()
76
+ endif()
77
+
67
78
  if(MUSICA_BUILD_C_CXX_INTERFACE)
68
79
  # must be global so that it also applies to dependencies like google test, unless we want
69
80
  # to set it for each target
@@ -89,15 +100,24 @@ set(MEMCHECK_SUPPRESS "--suppressions=${PROJECT_SOURCE_DIR}/valgrind.supp")
89
100
  ################################################################################
90
101
  # Dependencies
91
102
 
92
- include(dependencies)
93
-
94
- if(MUSICA_BUILD_DOCS)
95
- add_subdirectory(docs)
103
+ if(MUSICA_BUNDLE_DEPENDENCIES)
104
+ include(${PROJECT_SOURCE_DIR}/cmake/dependencies.cmake)
96
105
  endif()
97
106
 
98
107
  ################################################################################
99
108
  # Tests
100
109
  if(MUSICA_ENABLE_TESTS)
110
+ if(MUSICA_ENABLE_COVERAGE)
111
+ include(CodeCoverage)
112
+ append_coverage_compiler_flags()
113
+ setup_target_for_coverage_lcov(
114
+ NAME coverage
115
+ EXECUTABLE "ctest"
116
+ EXCLUDE "${PROJECT_SOURCE_DIR}/test/*"
117
+ BASE_DIRECTORY "${PROJECT_SOURCE_DIR}/src")
118
+
119
+ endif()
120
+
101
121
  enable_testing()
102
122
  endif()
103
123
 
@@ -107,6 +127,10 @@ if(MUSICA_BUILD_C_CXX_INTERFACE)
107
127
  add_subdirectory(src)
108
128
  endif()
109
129
 
130
+ if(MUSICA_BUILD_DOCS)
131
+ add_subdirectory(docs)
132
+ endif()
133
+
110
134
  ################################################################################
111
135
  # MUSICA-Fortran
112
136
  if(MUSICA_BUILD_FORTRAN_INTERFACE)
@@ -116,11 +140,11 @@ endif()
116
140
  ################################################################################
117
141
  # Musica python
118
142
  if(MUSICA_ENABLE_PYTHON_LIBRARY)
119
- add_subdirectory(python)
143
+ add_subdirectory(musica)
120
144
  endif()
121
145
 
122
146
  ################################################################################
123
147
  ###
124
148
  # Configure and display a summary file for how musica was built.
125
149
  ###
126
- include(summary)
150
+ include(${PROJECT_SOURCE_DIR}/cmake/summary.cmake)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.2
2
2
  Name: musica
3
- Version: 0.10.1
3
+ Version: 0.11.1.1
4
4
  Summary: MUSICA is a Python library for performing computational simulations in atmospheric chemistry.
5
5
  Author-Email: Matthew Dawsom <mattdawson@ucar.edu>, Jiwon Gim <jiwongim@ucar.edu>, David Fillmore <fillmore@ucar.edu>, Kyle Shores <kshores@ucar.edu>, Montek Thind <mthind@ucar.edu>
6
6
  Maintainer-Email: ACOM MUSICA Developers <musica-support@ucar.edu>
@@ -209,6 +209,10 @@ License: Apache License
209
209
  Project-URL: homepage, https://wiki.ucar.edu/display/MUSICA/MUSICA+Home
210
210
  Provides-Extra: test
211
211
  Requires-Dist: numpy; extra == "test"
212
+ Requires-Dist: pytest; extra == "test"
213
+ Provides-Extra: gpu
214
+ Requires-Dist: nvidia-cublas-cu12; extra == "gpu"
215
+ Requires-Dist: nvidia-cuda-runtime-cu12; extra == "gpu"
212
216
  Description-Content-Type: text/markdown
213
217
 
214
218
  # MUSICA
@@ -222,6 +226,7 @@ Description-Content-Type: text/markdown
222
226
  [![DOI](https://zenodo.org/badge/550370528.svg)](https://zenodo.org/doi/10.5281/zenodo.7458559)
223
227
  [![PyPI version](https://badge.fury.io/py/musica.svg)](https://pypi.org/p/musica)
224
228
  [![FAIR checklist badge](https://fairsoftwarechecklist.net/badge.svg)](https://fairsoftwarechecklist.net/v0.2?f=31&a=32113&i=22322&r=123)
229
+ [![codecov](https://codecov.io/gh/NCAR/musica/branch/main/graph/badge.svg)](https://codecov.io/gh/NCAR/musica)
225
230
 
226
231
  Multi-Scale Infrastructure for Chemistry and Aerosols
227
232
 
@@ -274,6 +279,22 @@ Specifying a specific version of `tuv-x` by has, but using the official reposito
274
279
  -DTUVX_GIT_TAG=a6b2c4d8745
275
280
 
276
281
 
282
+ ### Python build
283
+ Musica has python bindings. If you want to install the python package, you may `pip install musica`.
284
+
285
+ To build the package locally,
286
+
287
+ ```
288
+ pip install -e .
289
+ ```
290
+
291
+ If you have an NVIDIA GPU and cuda installed, you can enable a build of musica with GPU support by setting the environment
292
+ variable `BUILD_GPU`.
293
+
294
+ ```
295
+ BUILD_GPU=1 pip install -e .
296
+ ```
297
+
277
298
  ## Citing MUSICA
278
299
 
279
300
  MUSICA can be cited in at least two ways. The first is to cite [the paper](https://doi.org/10.1175/BAMS-D-19-0331.1) that defines the vision
@@ -9,6 +9,7 @@
9
9
  [![DOI](https://zenodo.org/badge/550370528.svg)](https://zenodo.org/doi/10.5281/zenodo.7458559)
10
10
  [![PyPI version](https://badge.fury.io/py/musica.svg)](https://pypi.org/p/musica)
11
11
  [![FAIR checklist badge](https://fairsoftwarechecklist.net/badge.svg)](https://fairsoftwarechecklist.net/v0.2?f=31&a=32113&i=22322&r=123)
12
+ [![codecov](https://codecov.io/gh/NCAR/musica/branch/main/graph/badge.svg)](https://codecov.io/gh/NCAR/musica)
12
13
 
13
14
  Multi-Scale Infrastructure for Chemistry and Aerosols
14
15
 
@@ -61,6 +62,22 @@ Specifying a specific version of `tuv-x` by has, but using the official reposito
61
62
  -DTUVX_GIT_TAG=a6b2c4d8745
62
63
 
63
64
 
65
+ ### Python build
66
+ Musica has python bindings. If you want to install the python package, you may `pip install musica`.
67
+
68
+ To build the package locally,
69
+
70
+ ```
71
+ pip install -e .
72
+ ```
73
+
74
+ If you have an NVIDIA GPU and cuda installed, you can enable a build of musica with GPU support by setting the environment
75
+ variable `BUILD_GPU`.
76
+
77
+ ```
78
+ BUILD_GPU=1 pip install -e .
79
+ ```
80
+
64
81
  ## Citing MUSICA
65
82
 
66
83
  MUSICA can be cited in at least two ways. The first is to cite [the paper](https://doi.org/10.1175/BAMS-D-19-0331.1) that defines the vision