musica 0.11.1.4__tar.gz → 0.12.0__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 (264) hide show
  1. {musica-0.11.1.4 → musica-0.12.0}/.github/workflows/windows.yml +4 -2
  2. {musica-0.11.1.4 → musica-0.12.0}/.gitignore +2 -0
  3. musica-0.12.0/.zenodo.json +80 -0
  4. musica-0.12.0/AUTHORS.md +59 -0
  5. {musica-0.11.1.4 → musica-0.12.0}/CITATION.cff +1 -1
  6. {musica-0.11.1.4 → musica-0.12.0}/CMakeLists.txt +1 -1
  7. musica-0.12.0/CONTRIBUTING.md +98 -0
  8. {musica-0.11.1.4 → musica-0.12.0}/PKG-INFO +61 -46
  9. {musica-0.11.1.4 → musica-0.12.0}/README.md +59 -45
  10. {musica-0.11.1.4 → musica-0.12.0}/cmake/dependencies.cmake +7 -2
  11. musica-0.12.0/docs/source/_static/ecosystem.png +0 -0
  12. {musica-0.11.1.4 → musica-0.12.0}/fortran/packaging/CMakeLists.txt +1 -1
  13. musica-0.12.0/musica/constants.py +3 -0
  14. musica-0.12.0/musica/mechanism_configuration/__init__.py +1 -0
  15. musica-0.12.0/musica/mechanism_configuration/aqueous_equilibrium.py +101 -0
  16. musica-0.12.0/musica/mechanism_configuration/arrhenius.py +121 -0
  17. musica-0.12.0/musica/mechanism_configuration/branched.py +116 -0
  18. musica-0.12.0/musica/mechanism_configuration/condensed_phase_arrhenius.py +116 -0
  19. musica-0.12.0/musica/mechanism_configuration/condensed_phase_photolysis.py +91 -0
  20. musica-0.12.0/musica/mechanism_configuration/emission.py +67 -0
  21. musica-0.12.0/musica/mechanism_configuration/first_order_loss.py +67 -0
  22. musica-0.12.0/musica/mechanism_configuration/henrys_law.py +85 -0
  23. musica-0.12.0/musica/mechanism_configuration/mechanism_configuration.py +161 -0
  24. musica-0.12.0/musica/mechanism_configuration/phase.py +43 -0
  25. musica-0.12.0/musica/mechanism_configuration/photolysis.py +83 -0
  26. musica-0.12.0/musica/mechanism_configuration/reactions.py +61 -0
  27. musica-0.12.0/musica/mechanism_configuration/simpol_phase_transfer.py +88 -0
  28. musica-0.12.0/musica/mechanism_configuration/species.py +72 -0
  29. musica-0.12.0/musica/mechanism_configuration/surface.py +89 -0
  30. musica-0.12.0/musica/mechanism_configuration/troe.py +137 -0
  31. musica-0.12.0/musica/mechanism_configuration/tunneling.py +103 -0
  32. musica-0.12.0/musica/mechanism_configuration/user_defined.py +83 -0
  33. musica-0.12.0/musica/mechanism_configuration/utils.py +10 -0
  34. musica-0.12.0/musica/mechanism_configuration/wet_deposition.py +49 -0
  35. {musica-0.11.1.4 → musica-0.12.0}/musica/mechanism_configuration.cpp +0 -1
  36. {musica-0.11.1.4 → musica-0.12.0}/musica/test/examples/v1/full_configuration/full_configuration.json +30 -15
  37. {musica-0.11.1.4 → musica-0.12.0}/musica/test/examples/v1/full_configuration/full_configuration.yaml +16 -1
  38. {musica-0.11.1.4 → musica-0.12.0}/musica/test/test_analytical.py +1 -1
  39. musica-0.12.0/musica/test/test_parser.py +57 -0
  40. musica-0.12.0/musica/test/test_serializer.py +69 -0
  41. musica-0.11.1.4/musica/test/test_parser.py → musica-0.12.0/musica/test/test_util_full_mechanism.py +341 -366
  42. {musica-0.11.1.4 → musica-0.12.0}/musica/types.py +1 -4
  43. {musica-0.11.1.4 → musica-0.12.0}/pyproject.toml +1 -0
  44. {musica-0.11.1.4 → musica-0.12.0}/src/packaging/CMakeLists.txt +1 -1
  45. musica-0.12.0/tutorial/1. multiple_grid_cells.ipynb +515 -0
  46. musica-0.12.0/tutorial/2. hypercube.ipynb +529 -0
  47. musica-0.12.0/tutorial/3. user_defined_reactions.ipynb +515 -0
  48. musica-0.11.1.4/musica/mechanism_configuration.py +0 -1291
  49. {musica-0.11.1.4 → musica-0.12.0}/.clang-format +0 -0
  50. {musica-0.11.1.4 → musica-0.12.0}/.clang-tidy +0 -0
  51. {musica-0.11.1.4 → musica-0.12.0}/.dockerignore +0 -0
  52. {musica-0.11.1.4 → musica-0.12.0}/.github/workflows/clang_format.yml +0 -0
  53. {musica-0.11.1.4 → musica-0.12.0}/.github/workflows/clang_tidy.yml +0 -0
  54. {musica-0.11.1.4 → musica-0.12.0}/.github/workflows/close_stale_issues.yml +0 -0
  55. {musica-0.11.1.4 → musica-0.12.0}/.github/workflows/docker.yml +0 -0
  56. {musica-0.11.1.4 → musica-0.12.0}/.github/workflows/fetch_content_integration.yml +0 -0
  57. {musica-0.11.1.4 → musica-0.12.0}/.github/workflows/format-python.yml +0 -0
  58. {musica-0.11.1.4 → musica-0.12.0}/.github/workflows/gh_pages.yml +0 -0
  59. {musica-0.11.1.4 → musica-0.12.0}/.github/workflows/mac.yml +0 -0
  60. {musica-0.11.1.4 → musica-0.12.0}/.github/workflows/python-tests.yml +0 -0
  61. {musica-0.11.1.4 → musica-0.12.0}/.github/workflows/python-wheels.yml +0 -0
  62. {musica-0.11.1.4 → musica-0.12.0}/.github/workflows/ubuntu.yml +0 -0
  63. {musica-0.11.1.4 → musica-0.12.0}/LICENSE +0 -0
  64. {musica-0.11.1.4 → musica-0.12.0}/cmake/CodeCoverage.cmake +0 -0
  65. {musica-0.11.1.4 → musica-0.12.0}/cmake/FindSphinx.cmake +0 -0
  66. {musica-0.11.1.4 → musica-0.12.0}/cmake/SetDefaults.cmake +0 -0
  67. {musica-0.11.1.4 → musica-0.12.0}/cmake/cmake_uninstall.cmake.in +0 -0
  68. {musica-0.11.1.4 → musica-0.12.0}/cmake/musica-fortran.pc.in +0 -0
  69. {musica-0.11.1.4 → musica-0.12.0}/cmake/musica.pc.in +0 -0
  70. {musica-0.11.1.4 → musica-0.12.0}/cmake/musica.settings.in +0 -0
  71. {musica-0.11.1.4 → musica-0.12.0}/cmake/musicaConfig.cmake.in +0 -0
  72. {musica-0.11.1.4 → musica-0.12.0}/cmake/setup_musica_target.cmake +0 -0
  73. {musica-0.11.1.4 → musica-0.12.0}/cmake/silence_warnings.cmake +0 -0
  74. {musica-0.11.1.4 → musica-0.12.0}/cmake/summary.cmake +0 -0
  75. {musica-0.11.1.4 → musica-0.12.0}/cmake/test_util.cmake +0 -0
  76. {musica-0.11.1.4 → musica-0.12.0}/configs/v0/TS1/config.json +0 -0
  77. {musica-0.11.1.4 → musica-0.12.0}/configs/v0/TS1/initial_conditions.csv +0 -0
  78. {musica-0.11.1.4 → musica-0.12.0}/configs/v0/TS1/reactions.json +0 -0
  79. {musica-0.11.1.4 → musica-0.12.0}/configs/v0/TS1/species.json +0 -0
  80. {musica-0.11.1.4 → musica-0.12.0}/configs/v0/analytical/config.json +0 -0
  81. {musica-0.11.1.4 → musica-0.12.0}/configs/v0/analytical/reactions.json +0 -0
  82. {musica-0.11.1.4 → musica-0.12.0}/configs/v0/analytical/species.json +0 -0
  83. {musica-0.11.1.4 → musica-0.12.0}/configs/v0/carbon_bond_5/config.json +0 -0
  84. {musica-0.11.1.4 → musica-0.12.0}/configs/v0/carbon_bond_5/initial_conditions.csv +0 -0
  85. {musica-0.11.1.4 → musica-0.12.0}/configs/v0/carbon_bond_5/reactions.json +0 -0
  86. {musica-0.11.1.4 → musica-0.12.0}/configs/v0/carbon_bond_5/species.json +0 -0
  87. {musica-0.11.1.4 → musica-0.12.0}/configs/v0/chapman/config.json +0 -0
  88. {musica-0.11.1.4 → musica-0.12.0}/configs/v0/chapman/initial_conditions.csv +0 -0
  89. {musica-0.11.1.4 → musica-0.12.0}/configs/v0/chapman/reactions.json +0 -0
  90. {musica-0.11.1.4 → musica-0.12.0}/configs/v0/chapman/species.json +0 -0
  91. {musica-0.11.1.4 → musica-0.12.0}/configs/v0/robertson/config.json +0 -0
  92. {musica-0.11.1.4 → musica-0.12.0}/configs/v0/robertson/initial_conditions.csv +0 -0
  93. {musica-0.11.1.4 → musica-0.12.0}/configs/v0/robertson/reactions.json +0 -0
  94. {musica-0.11.1.4 → musica-0.12.0}/configs/v0/robertson/species.json +0 -0
  95. {musica-0.11.1.4 → musica-0.12.0}/configs/v1/chapman/config.json +0 -0
  96. {musica-0.11.1.4 → musica-0.12.0}/configs/v1/chapman/config.yaml +0 -0
  97. {musica-0.11.1.4 → musica-0.12.0}/configs/v1/full_configuration/full_configuration.json +0 -0
  98. {musica-0.11.1.4 → musica-0.12.0}/configs/v1/full_configuration/full_configuration.yaml +0 -0
  99. {musica-0.11.1.4 → musica-0.12.0}/docker/Dockerfile +0 -0
  100. {musica-0.11.1.4 → musica-0.12.0}/docker/Dockerfile.coverage +0 -0
  101. {musica-0.11.1.4 → musica-0.12.0}/docker/Dockerfile.docs +0 -0
  102. {musica-0.11.1.4 → musica-0.12.0}/docker/Dockerfile.fortran-gcc +0 -0
  103. {musica-0.11.1.4 → musica-0.12.0}/docker/Dockerfile.fortran-gcc.integration +0 -0
  104. {musica-0.11.1.4 → musica-0.12.0}/docker/Dockerfile.fortran-intel +0 -0
  105. {musica-0.11.1.4 → musica-0.12.0}/docker/Dockerfile.fortran-intel.pkgconfig +0 -0
  106. {musica-0.11.1.4 → musica-0.12.0}/docker/Dockerfile.fortran-nvhpc +0 -0
  107. {musica-0.11.1.4 → musica-0.12.0}/docker/Dockerfile.fortran-nvhpc.pkgconfig +0 -0
  108. {musica-0.11.1.4 → musica-0.12.0}/docker/Dockerfile.memcheck +0 -0
  109. {musica-0.11.1.4 → musica-0.12.0}/docker/Dockerfile.mpi +0 -0
  110. {musica-0.11.1.4 → musica-0.12.0}/docker/Dockerfile.mpi_openmp +0 -0
  111. {musica-0.11.1.4 → musica-0.12.0}/docker/Dockerfile.nvhpc +0 -0
  112. {musica-0.11.1.4 → musica-0.12.0}/docker/Dockerfile.openmp +0 -0
  113. {musica-0.11.1.4 → musica-0.12.0}/docker/Dockerfile.python +0 -0
  114. {musica-0.11.1.4 → musica-0.12.0}/docker/Dockerfile.python-tests +0 -0
  115. {musica-0.11.1.4 → musica-0.12.0}/docker/Dockerfile.wheel +0 -0
  116. {musica-0.11.1.4 → musica-0.12.0}/docs/CMakeLists.txt +0 -0
  117. {musica-0.11.1.4 → musica-0.12.0}/docs/Doxyfile.in +0 -0
  118. {musica-0.11.1.4 → musica-0.12.0}/docs/Makefile +0 -0
  119. {musica-0.11.1.4 → musica-0.12.0}/docs/Software Development Plan.pdf +0 -0
  120. {musica-0.11.1.4 → musica-0.12.0}/docs/make.bat +0 -0
  121. {musica-0.11.1.4 → musica-0.12.0}/docs/requirements.txt +0 -0
  122. {musica-0.11.1.4 → musica-0.12.0}/docs/source/_static/custom.css +0 -0
  123. {musica-0.11.1.4 → musica-0.12.0}/docs/source/_static/favicon/favicon.ico +0 -0
  124. {musica-0.11.1.4 → musica-0.12.0}/docs/source/_static/index_api.svg +0 -0
  125. {musica-0.11.1.4 → musica-0.12.0}/docs/source/_static/index_contribute.svg +0 -0
  126. {musica-0.11.1.4 → musica-0.12.0}/docs/source/_static/index_getting_started.svg +0 -0
  127. {musica-0.11.1.4 → musica-0.12.0}/docs/source/_static/index_user_guide.svg +0 -0
  128. {musica-0.11.1.4 → musica-0.12.0}/docs/source/_static/switcher.json +0 -0
  129. {musica-0.11.1.4 → musica-0.12.0}/docs/source/api/C++.rst +0 -0
  130. {musica-0.11.1.4 → musica-0.12.0}/docs/source/api/index.rst +0 -0
  131. {musica-0.11.1.4 → musica-0.12.0}/docs/source/api/python.rst +0 -0
  132. {musica-0.11.1.4 → musica-0.12.0}/docs/source/conf.py +0 -0
  133. {musica-0.11.1.4 → musica-0.12.0}/docs/source/contributing/index.rst +0 -0
  134. {musica-0.11.1.4 → musica-0.12.0}/docs/source/getting_started/getting_started.rst +0 -0
  135. {musica-0.11.1.4 → musica-0.12.0}/docs/source/getting_started/installation.rst +0 -0
  136. {musica-0.11.1.4 → musica-0.12.0}/docs/source/getting_started/overview.rst +0 -0
  137. {musica-0.11.1.4 → musica-0.12.0}/docs/source/index.rst +0 -0
  138. {musica-0.11.1.4 → musica-0.12.0}/docs/source/references.bib +0 -0
  139. {musica-0.11.1.4 → musica-0.12.0}/docs/source/tutorial/chapter0.rst +0 -0
  140. {musica-0.11.1.4 → musica-0.12.0}/docs/source/tutorial/chapter1.rst +0 -0
  141. {musica-0.11.1.4 → musica-0.12.0}/docs/source/tutorial/chapter2.rst +0 -0
  142. {musica-0.11.1.4 → musica-0.12.0}/docs/source/tutorial/tutorial.rst +0 -0
  143. {musica-0.11.1.4 → musica-0.12.0}/docs/source/user_guide/configurations.rst +0 -0
  144. {musica-0.11.1.4 → musica-0.12.0}/docs/source/user_guide/fortran_c.rst +0 -0
  145. {musica-0.11.1.4 → musica-0.12.0}/docs/source/user_guide/index.rst +0 -0
  146. {musica-0.11.1.4 → musica-0.12.0}/fortran/CMakeLists.txt +0 -0
  147. {musica-0.11.1.4 → musica-0.12.0}/fortran/micm/CMakeLists.txt +0 -0
  148. {musica-0.11.1.4 → musica-0.12.0}/fortran/micm/micm.F90 +0 -0
  149. {musica-0.11.1.4 → musica-0.12.0}/fortran/micm/state.F90 +0 -0
  150. {musica-0.11.1.4 → musica-0.12.0}/fortran/test/CMakeLists.txt +0 -0
  151. {musica-0.11.1.4 → musica-0.12.0}/fortran/test/fetch_content_integration/CMakeLists.txt +0 -0
  152. {musica-0.11.1.4 → musica-0.12.0}/fortran/test/fetch_content_integration/test_get_micm_version.F90 +0 -0
  153. {musica-0.11.1.4 → musica-0.12.0}/fortran/test/fetch_content_integration/test_micm_api.F90 +0 -0
  154. {musica-0.11.1.4 → musica-0.12.0}/fortran/test/fetch_content_integration/test_micm_box_model.F90 +0 -0
  155. {musica-0.11.1.4 → musica-0.12.0}/fortran/test/fetch_content_integration/test_tuvx_api.F90 +0 -0
  156. {musica-0.11.1.4 → musica-0.12.0}/fortran/test/test_simple.F90 +0 -0
  157. {musica-0.11.1.4 → musica-0.12.0}/fortran/test/tutorial/CMakeLists.txt +0 -0
  158. {musica-0.11.1.4 → musica-0.12.0}/fortran/test/tutorial/demo.F90 +0 -0
  159. {musica-0.11.1.4 → musica-0.12.0}/fortran/test/unit/CMakeLists.txt +0 -0
  160. {musica-0.11.1.4 → musica-0.12.0}/fortran/test/unit/tuvx.F90 +0 -0
  161. {musica-0.11.1.4 → musica-0.12.0}/fortran/test/unit/tuvx_openmp.F90 +0 -0
  162. {musica-0.11.1.4 → musica-0.12.0}/fortran/test/unit/util.F90 +0 -0
  163. {musica-0.11.1.4 → musica-0.12.0}/fortran/tuvx/CMakeLists.txt +0 -0
  164. {musica-0.11.1.4 → musica-0.12.0}/fortran/tuvx/grid.F90 +0 -0
  165. {musica-0.11.1.4 → musica-0.12.0}/fortran/tuvx/grid_map.F90 +0 -0
  166. {musica-0.11.1.4 → musica-0.12.0}/fortran/tuvx/profile.F90 +0 -0
  167. {musica-0.11.1.4 → musica-0.12.0}/fortran/tuvx/profile_map.F90 +0 -0
  168. {musica-0.11.1.4 → musica-0.12.0}/fortran/tuvx/radiator.F90 +0 -0
  169. {musica-0.11.1.4 → musica-0.12.0}/fortran/tuvx/radiator_map.F90 +0 -0
  170. {musica-0.11.1.4 → musica-0.12.0}/fortran/tuvx/tuvx.F90 +0 -0
  171. {musica-0.11.1.4 → musica-0.12.0}/fortran/util.F90 +0 -0
  172. {musica-0.11.1.4 → musica-0.12.0}/include/musica/component_versions.hpp +0 -0
  173. {musica-0.11.1.4 → musica-0.12.0}/include/musica/error.hpp +0 -0
  174. {musica-0.11.1.4 → musica-0.12.0}/include/musica/micm/chemistry.hpp +0 -0
  175. {musica-0.11.1.4 → musica-0.12.0}/include/musica/micm/cuda_availability.hpp +0 -0
  176. {musica-0.11.1.4 → musica-0.12.0}/include/musica/micm/micm.hpp +0 -0
  177. {musica-0.11.1.4 → musica-0.12.0}/include/musica/micm/micm_c_interface.hpp +0 -0
  178. {musica-0.11.1.4 → musica-0.12.0}/include/musica/micm/parse.hpp +0 -0
  179. {musica-0.11.1.4 → musica-0.12.0}/include/musica/micm/state.hpp +0 -0
  180. {musica-0.11.1.4 → musica-0.12.0}/include/musica/micm/state_c_interface.hpp +0 -0
  181. {musica-0.11.1.4 → musica-0.12.0}/include/musica/tuvx/grid.hpp +0 -0
  182. {musica-0.11.1.4 → musica-0.12.0}/include/musica/tuvx/grid_map.hpp +0 -0
  183. {musica-0.11.1.4 → musica-0.12.0}/include/musica/tuvx/profile.hpp +0 -0
  184. {musica-0.11.1.4 → musica-0.12.0}/include/musica/tuvx/profile_map.hpp +0 -0
  185. {musica-0.11.1.4 → musica-0.12.0}/include/musica/tuvx/radiator.hpp +0 -0
  186. {musica-0.11.1.4 → musica-0.12.0}/include/musica/tuvx/radiator_map.hpp +0 -0
  187. {musica-0.11.1.4 → musica-0.12.0}/include/musica/tuvx/tuvx.hpp +0 -0
  188. {musica-0.11.1.4 → musica-0.12.0}/include/musica/util.hpp +0 -0
  189. {musica-0.11.1.4 → musica-0.12.0}/include/musica/version.hpp +0 -0
  190. {musica-0.11.1.4 → musica-0.12.0}/musica/CMakeLists.txt +0 -0
  191. {musica-0.11.1.4 → musica-0.12.0}/musica/__init__.py +0 -0
  192. {musica-0.11.1.4 → musica-0.12.0}/musica/binding_common.cpp +0 -0
  193. {musica-0.11.1.4 → musica-0.12.0}/musica/binding_common.hpp +0 -0
  194. {musica-0.11.1.4 → musica-0.12.0}/musica/cpu_binding.cpp +0 -0
  195. {musica-0.11.1.4 → musica-0.12.0}/musica/cuda.cpp +0 -0
  196. {musica-0.11.1.4 → musica-0.12.0}/musica/cuda.py +0 -0
  197. {musica-0.11.1.4 → musica-0.12.0}/musica/gpu_binding.cpp +0 -0
  198. {musica-0.11.1.4 → musica-0.12.0}/musica/musica.cpp +0 -0
  199. {musica-0.11.1.4 → musica-0.12.0}/musica/test/examples/v0/config.json +0 -0
  200. {musica-0.11.1.4 → musica-0.12.0}/musica/test/examples/v0/config.yaml +0 -0
  201. {musica-0.11.1.4 → musica-0.12.0}/musica/test/examples/v0/reactions.json +0 -0
  202. {musica-0.11.1.4 → musica-0.12.0}/musica/test/examples/v0/reactions.yaml +0 -0
  203. {musica-0.11.1.4 → musica-0.12.0}/musica/test/examples/v0/species.json +0 -0
  204. {musica-0.11.1.4 → musica-0.12.0}/musica/test/examples/v0/species.yaml +0 -0
  205. {musica-0.11.1.4 → musica-0.12.0}/musica/test/test_chapman.py +0 -0
  206. {musica-0.11.1.4 → musica-0.12.0}/musica/test/tuvx.py +0 -0
  207. {musica-0.11.1.4 → musica-0.12.0}/musica/tools/prepare_build_environment_linux.sh +0 -0
  208. {musica-0.11.1.4 → musica-0.12.0}/musica/tools/prepare_build_environment_windows.sh +0 -0
  209. {musica-0.11.1.4 → musica-0.12.0}/musica/tools/repair_wheel_gpu.sh +0 -0
  210. {musica-0.11.1.4 → musica-0.12.0}/spack/packages/musica/package.py +0 -0
  211. {musica-0.11.1.4 → musica-0.12.0}/spack/repo.yaml +0 -0
  212. {musica-0.11.1.4 → musica-0.12.0}/src/CMakeLists.txt +0 -0
  213. {musica-0.11.1.4 → musica-0.12.0}/src/component_versions.cpp +0 -0
  214. {musica-0.11.1.4 → musica-0.12.0}/src/micm/cuda_availability.cpp +0 -0
  215. {musica-0.11.1.4 → musica-0.12.0}/src/micm/micm.cpp +0 -0
  216. {musica-0.11.1.4 → musica-0.12.0}/src/micm/micm_c_interface.cpp +0 -0
  217. {musica-0.11.1.4 → musica-0.12.0}/src/micm/parse.cpp +0 -0
  218. {musica-0.11.1.4 → musica-0.12.0}/src/micm/state.cpp +0 -0
  219. {musica-0.11.1.4 → musica-0.12.0}/src/micm/state_c_interface.cpp +0 -0
  220. {musica-0.11.1.4 → musica-0.12.0}/src/micm/v0_parse.cpp +0 -0
  221. {musica-0.11.1.4 → musica-0.12.0}/src/micm/v1_parse.cpp +0 -0
  222. {musica-0.11.1.4 → musica-0.12.0}/src/packaging/modulefile.lua.in +0 -0
  223. {musica-0.11.1.4 → musica-0.12.0}/src/test/CMakeLists.txt +0 -0
  224. {musica-0.11.1.4 → musica-0.12.0}/src/test/data/tuvx/fixed/O2_cross_section.nc +0 -0
  225. {musica-0.11.1.4 → musica-0.12.0}/src/test/data/tuvx/fixed/O2_parameters.txt +0 -0
  226. {musica-0.11.1.4 → musica-0.12.0}/src/test/data/tuvx/fixed/bar_cross_section.nc +0 -0
  227. {musica-0.11.1.4 → musica-0.12.0}/src/test/data/tuvx/fixed/config.json +0 -0
  228. {musica-0.11.1.4 → musica-0.12.0}/src/test/data/tuvx/fixed/foo_cross_section.nc +0 -0
  229. {musica-0.11.1.4 → musica-0.12.0}/src/test/data/tuvx/fixed/stand_alone_tuvx_config.json +0 -0
  230. {musica-0.11.1.4 → musica-0.12.0}/src/test/data/tuvx/from_host/O2_cross_section.nc +0 -0
  231. {musica-0.11.1.4 → musica-0.12.0}/src/test/data/tuvx/from_host/O2_parameters.txt +0 -0
  232. {musica-0.11.1.4 → musica-0.12.0}/src/test/data/tuvx/from_host/bar_cross_section.nc +0 -0
  233. {musica-0.11.1.4 → musica-0.12.0}/src/test/data/tuvx/from_host/config.json +0 -0
  234. {musica-0.11.1.4 → musica-0.12.0}/src/test/data/tuvx/from_host/foo_cross_section.nc +0 -0
  235. {musica-0.11.1.4 → musica-0.12.0}/src/test/data/util_index_mapping_from_file.json +0 -0
  236. {musica-0.11.1.4 → musica-0.12.0}/src/test/test_simple.c +0 -0
  237. {musica-0.11.1.4 → musica-0.12.0}/src/test/unit/CMakeLists.txt +0 -0
  238. {musica-0.11.1.4 → musica-0.12.0}/src/test/unit/component_versions.cpp +0 -0
  239. {musica-0.11.1.4 → musica-0.12.0}/src/test/unit/micm/CMakeLists.txt +0 -0
  240. {musica-0.11.1.4 → musica-0.12.0}/src/test/unit/micm/micm_c_api.cpp +0 -0
  241. {musica-0.11.1.4 → musica-0.12.0}/src/test/unit/micm/micm_wrapper.cpp +0 -0
  242. {musica-0.11.1.4 → musica-0.12.0}/src/test/unit/micm/parser.cpp +0 -0
  243. {musica-0.11.1.4 → musica-0.12.0}/src/test/unit/tuvx/CMakeLists.txt +0 -0
  244. {musica-0.11.1.4 → musica-0.12.0}/src/test/unit/tuvx/tuvx_c_api.cpp +0 -0
  245. {musica-0.11.1.4 → musica-0.12.0}/src/test/unit/tuvx/tuvx_run_from_config.cpp +0 -0
  246. {musica-0.11.1.4 → musica-0.12.0}/src/test/unit/util.cpp +0 -0
  247. {musica-0.11.1.4 → musica-0.12.0}/src/tuvx/grid.cpp +0 -0
  248. {musica-0.11.1.4 → musica-0.12.0}/src/tuvx/grid_map.cpp +0 -0
  249. {musica-0.11.1.4 → musica-0.12.0}/src/tuvx/interface.F90 +0 -0
  250. {musica-0.11.1.4 → musica-0.12.0}/src/tuvx/interface_grid.F90 +0 -0
  251. {musica-0.11.1.4 → musica-0.12.0}/src/tuvx/interface_grid_map.F90 +0 -0
  252. {musica-0.11.1.4 → musica-0.12.0}/src/tuvx/interface_profile.F90 +0 -0
  253. {musica-0.11.1.4 → musica-0.12.0}/src/tuvx/interface_profile_map.F90 +0 -0
  254. {musica-0.11.1.4 → musica-0.12.0}/src/tuvx/interface_radiator.F90 +0 -0
  255. {musica-0.11.1.4 → musica-0.12.0}/src/tuvx/interface_radiator_map.F90 +0 -0
  256. {musica-0.11.1.4 → musica-0.12.0}/src/tuvx/interface_util.F90 +0 -0
  257. {musica-0.11.1.4 → musica-0.12.0}/src/tuvx/profile.cpp +0 -0
  258. {musica-0.11.1.4 → musica-0.12.0}/src/tuvx/profile_map.cpp +0 -0
  259. {musica-0.11.1.4 → musica-0.12.0}/src/tuvx/radiator.cpp +0 -0
  260. {musica-0.11.1.4 → musica-0.12.0}/src/tuvx/radiator_map.cpp +0 -0
  261. {musica-0.11.1.4 → musica-0.12.0}/src/tuvx/tuvx.cpp +0 -0
  262. {musica-0.11.1.4 → musica-0.12.0}/src/util.cpp +0 -0
  263. {musica-0.11.1.4 → musica-0.12.0}/src/version.cpp.in +0 -0
  264. {musica-0.11.1.4 → musica-0.12.0}/valgrind.supp +0 -0
@@ -14,6 +14,7 @@ concurrency:
14
14
  jobs:
15
15
  mingw:
16
16
  runs-on: windows-latest
17
+ continue-on-error: true
17
18
  strategy:
18
19
  matrix:
19
20
  architecture: [x64]
@@ -24,7 +25,7 @@ jobs:
24
25
  uses: egor-tensin/setup-mingw@v2
25
26
  with:
26
27
  platform: ${{ matrix.architecture }}
27
- version: 12.2.0 # https://github.com/egor-tensin/setup-mingw/issues/14
28
+ static: 0
28
29
 
29
30
  - name: Run Cmake
30
31
  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 -D CMAKE_POLICY_VERSION_MINIMUM=3.5
@@ -69,7 +70,7 @@ jobs:
69
70
  continue-on-error: true
70
71
  strategy:
71
72
  matrix:
72
- version: [18.1.0, 19.1.0, 20.1.0]
73
+ version: [19.1.0, 20.1.0]
73
74
 
74
75
  steps:
75
76
  - uses: actions/checkout@v4
@@ -114,6 +115,7 @@ jobs:
114
115
 
115
116
  fortran:
116
117
  runs-on: windows-latest
118
+ continue-on-error: true
117
119
  strategy:
118
120
  fail-fast: false
119
121
  matrix:
@@ -11,6 +11,8 @@ musica.cpython-*
11
11
  musica.egg-info
12
12
  **/*.mod
13
13
 
14
+ .venv
15
+ .pytest_cache
14
16
  **/*__pycache__*
15
17
  **/*.pyc
16
18
  wheelhouse
@@ -0,0 +1,80 @@
1
+ {
2
+ "title": "MUSICA: Multi-Scale Infrastructure for Chemistry and Aerosols",
3
+ "description": "MUSICA is a multi-language library for performing computational simulations in atmospheric chemistry.",
4
+ "license": {
5
+ "id": "Apache-2.0"
6
+ },
7
+ "creators": [
8
+ {
9
+ "name": "Dawson, Matthew",
10
+ "affiliation": "National Center for Atmospheric Research (NCAR)",
11
+ "orcid": ""
12
+ },
13
+ {
14
+ "name": "Gim, Jiwon",
15
+ "affiliation": "National Center for Atmospheric Research (NCAR)",
16
+ "orcid": ""
17
+ },
18
+ {
19
+ "name": "Fillmore, David",
20
+ "affiliation": "National Center for Atmospheric Research (NCAR)",
21
+ "orcid": ""
22
+ },
23
+ {
24
+ "name": "Shores, Kyle",
25
+ "affiliation": "National Center for Atmospheric Research (NCAR)",
26
+ "orcid": "0000-0002-4272-5187"
27
+ },
28
+ {
29
+ "name": "Thind, Montek",
30
+ "affiliation": "National Center for Atmospheric Research (NCAR)",
31
+ "orcid": ""
32
+ },
33
+ {
34
+ "name": "Jian Sun",
35
+ "affiliation": "National Center for Atmospheric Research (NCAR)",
36
+ "orcid": ""
37
+ }
38
+ ],
39
+ "contributors": [
40
+ {
41
+ "name": "ACOM MUSICA Development Team",
42
+ "type": "ResearchGroup"
43
+ },
44
+ {
45
+ "name": "Angela Pak",
46
+ "type": "ProjectMember"
47
+ },
48
+ {
49
+ "name": "Aidan Winney",
50
+ "type": "ProjectMember"
51
+ },
52
+ {
53
+ "name": "Dee Grant",
54
+ "type": "Other"
55
+ },
56
+ {
57
+ "name": "Ward Fisher",
58
+ "type": "Other"
59
+ },
60
+ {
61
+ "name": "Qina Tan",
62
+ "type": "ProjectMember"
63
+ }
64
+ ],
65
+ "keywords": [
66
+ "atmospheric chemistry",
67
+ "chemical mechanisms",
68
+ "air quality modeling",
69
+ "photolysis",
70
+ "MICM",
71
+ "TUV-x"
72
+ ],
73
+ "related_identifiers": [
74
+ {
75
+ "identifier": "10.1175/BAMS-D-19-0331.1",
76
+ "relation": "cites",
77
+ "description": "The foundational MUSICA paper describing the scientific vision"
78
+ }
79
+ ]
80
+ }
@@ -0,0 +1,59 @@
1
+ # MUSICA Authors and Contributors
2
+
3
+ This file acknowledges all individuals who have contributed to the MUSICA project.
4
+
5
+ ## Core Development Team
6
+
7
+ The following individuals are the primary developers and maintainers of the MUSICA software:
8
+
9
+ - **Matthew Dawson** (mattdawson@ucar.edu) - Core Developer
10
+ - **Jiwon Gim** (jiwongim@ucar.edu) - Core Developer
11
+ - **David Fillmore** (fillmore@ucar.edu) - Core Developer
12
+ - **Kyle Shores** (kshores@ucar.edu) - Core Developer
13
+ - **Montek Thind** (mthind@ucar.edu) - Core Developer
14
+ - **Jian Sun** - Core Developer
15
+
16
+ ## Scientific Leadership and Vision
17
+
18
+ The scientific leadership and vision for MUSICA are provided by the authors of the [foundational paper](https://doi.org/10.1175/BAMS-D-19-0331.1).
19
+ This software implements that vision. For a full list of scientific authors,
20
+ please refer to our [CITATION.cff](CITATION.cff) file. To cite the software, use the Zenodo DOI from our latest release.
21
+
22
+ ## Additional Contributors
23
+
24
+ <!-- Contributors will be added here as they join the project -->
25
+ <!-- Format: -->
26
+ <!-- - **Name** (affiliation) - Brief description of contribution -->
27
+
28
+ - **Aidan Winney** - Documentation and Tutorials
29
+ - **Angela Pak** - Documentation and Tutorials
30
+ - **Dee Grant** - Improving the Python API
31
+ - **Qina Tan** - Implementing the CUDA-based Rosenbrock solver
32
+
33
+ ## Recognition Policy
34
+
35
+ We recognize contributors at different levels based on their involvement:
36
+
37
+ - **Core Development Team**: Listed in `pyproject.toml`, `.zenodo.json` (creators), and this file
38
+ - **Additional Contributors**: Listed in `.zenodo.json` (contributors) and this file
39
+ - **All Contributors**: Automatically tracked by GitHub's contributor statistics
40
+
41
+ See our [Contributing Guide](CONTRIBUTING.md) for more details on how contributions are recognized.
42
+
43
+ ## How to Contribute
44
+
45
+ We welcome contributions from the community! Please see our [Contributing Guide](CONTRIBUTING.md) for information on how to get involved.
46
+
47
+ ## Acknowledgments
48
+
49
+ We thank the broader atmospheric chemistry modeling community for their feedback, testing, and contributions to making MUSICA a robust and useful tool for scientific research.
50
+
51
+ ---
52
+
53
+ ## Citation Information
54
+
55
+ For citation purposes, please refer to our [CITATION.cff](CITATION.cff) file for the appropriate citations based on your use case. The main citations are:
56
+
57
+ 1. **For the MUSICA vision and scientific framework**: [Pfister et al., 2020](https://doi.org/10.1175/BAMS-D-19-0331.1)
58
+ 2. **For the MUSICA software evaluation**: [Schwantes et al., 2022](https://doi.org/10.1029/2021MS002889)
59
+ 3. **For the software itself**: Use the Zenodo DOI from our latest release
@@ -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.10.0
67
+ version: 0.12.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.11.1.4)
4
+ project(musica-distribution VERSION 0.12.0)
5
5
 
6
6
  set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH};${PROJECT_SOURCE_DIR}/cmake)
7
7
  set(CMAKE_USER_MAKE_RULES_OVERRIDE ${PROJECT_SOURCE_DIR}/cmake/SetDefaults.cmake)
@@ -0,0 +1,98 @@
1
+ # Contributing to MUSICA
2
+
3
+ We welcome contributions from the community! This guide outlines how you can contribute to the MUSICA project.
4
+
5
+ ## Getting Started
6
+
7
+ ### Development Setup
8
+
9
+ 1. **Clone the repository:**
10
+ ```bash
11
+ git clone https://github.com/NCAR/musica.git
12
+ cd musica
13
+ ```
14
+
15
+ 2. **Build the project:**
16
+ ```bash
17
+ mkdir build && cd build
18
+ ccmake ..
19
+ make
20
+ ```
21
+
22
+ 3. **Python development setup:**
23
+ ```bash
24
+ pip install -e .
25
+ ```
26
+
27
+ For detailed developer options and dependency management, see our [Software Development Plan](docs/Software%20Development%20Plan.pdf).
28
+
29
+ ## Types of Contributions
30
+
31
+ We appreciate all types of contributions:
32
+
33
+ ### Code Contributions
34
+ - Bug fixes
35
+ - New features
36
+ - Performance improvements
37
+ - Test coverage improvements
38
+
39
+ ### Documentation
40
+ - README improvements
41
+ - Code documentation
42
+ - Tutorial and example updates
43
+ - Wiki contributions
44
+
45
+ ### Testing and Validation
46
+ - Bug reports with reproducible examples
47
+ - Testing on different platforms
48
+ - Validation against known results
49
+
50
+ ### Scientific Contributions
51
+ - New chemical mechanisms
52
+ - Algorithm improvements
53
+ - Performance optimizations
54
+
55
+ ## Contribution Process
56
+
57
+ 1. **Fork the repository** and create a feature branch
58
+ 2. **Make your changes** following our coding standards
59
+ 3. **Add tests** for new functionality
60
+ 4. **Update documentation** as needed
61
+ 5. **Submit a pull request** with a clear description
62
+
63
+ ## Recognition Policy
64
+
65
+ We believe in recognizing all contributors appropriately:
66
+
67
+ ### Core Development Team
68
+ Contributors who make substantial, ongoing contributions to the codebase, architecture, or project direction will be listed as authors in:
69
+ - `pyproject.toml` (for Python package metadata)
70
+ - `.zenodo.json` (as "creators" for software citations)
71
+ - `AUTHORS.md` (as core developers)
72
+
73
+ ### Additional Contributors
74
+ Contributors who make valuable but smaller contributions will be acknowledged in:
75
+ - `.zenodo.json` (as "contributors" with appropriate type)
76
+ - `AUTHORS.md` (in the Additional Contributors section)
77
+ - GitHub's contributor list (automatic)
78
+
79
+ ## Development Guidelines
80
+
81
+ ### Code Standards
82
+ - Follow existing code style and conventions
83
+ - Include appropriate tests for new functionality
84
+ - Document new features and APIs
85
+
86
+ ### Dependency Management
87
+ We use CMake for C++ dependencies and pip for Python dependencies. See our [README](README.md#developer-options) for information about specifying dependency versions during development.
88
+
89
+ ### GPU Support
90
+ If contributing GPU-related code, please test on appropriate hardware and follow our GPU build guidelines.
91
+
92
+ ## Questions?
93
+
94
+ - Check our [documentation](https://ncar.github.io/musica/index.html)
95
+ - Read our [Software Development Plan](docs/Software%20Development%20Plan.pdf)
96
+ - Contact the maintainers at musica-support@ucar.edu
97
+
98
+ Thank you for your interest in contributing to MUSICA!
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.2
2
2
  Name: musica
3
- Version: 0.11.1.4
3
+ Version: 0.12.0
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>
@@ -207,6 +207,7 @@ License: Apache License
207
207
  limitations under the License.
208
208
 
209
209
  Project-URL: homepage, https://wiki.ucar.edu/display/MUSICA/MUSICA+Home
210
+ Requires-Dist: pyyaml>=6.0.2
210
211
  Provides-Extra: test
211
212
  Requires-Dist: numpy; extra == "test"
212
213
  Requires-Dist: pytest; extra == "test"
@@ -233,13 +234,21 @@ Multi-Scale Infrastructure for Chemistry and Aerosols
233
234
  MUSICA is a collection of modeling software, tools, and grids, that
234
235
  allow for robust modeling of chemistry in Earth's atmosphere.
235
236
 
236
- At present the project encompasses these components
237
+ At present the project encompasses these core components
237
238
  - [TUV-x](https://github.com/NCAR/tuv-x)
238
239
  - A photolysis rate calculator
239
240
 
240
241
  - [MICM](https://github.com/NCAR/micm)
241
242
  - Model Independent Chemical Module
242
243
 
244
+ - [Mechanism Configuration](https://github.com/NCAR/MechanismConfiguration)
245
+ - The standardized format to describe atmospheric chemistry
246
+
247
+ These components are used to drive the MUSICA software ecosystem. This is a snapshot of how MUSICA can be used with different
248
+ models.
249
+
250
+ ![MUSICA Ecosystem](docs/source/_static/ecosystem.png)
251
+
243
252
  # Installation
244
253
  MUSICA is installable via pip for Python or CMake for C++.
245
254
 
@@ -247,6 +256,7 @@ MUSICA is installable via pip for Python or CMake for C++.
247
256
  ```
248
257
  pip install musica
249
258
  ```
259
+
250
260
  ## CMake
251
261
  ```
252
262
  $ git clone https://github.com/NCAR/musica.git
@@ -343,17 +353,13 @@ import matplotlib.pyplot as plt
343
353
  df.plot(x='time.s', y=['CONC.A.mol m-3', 'CONC.B.mol m-3', 'CONC.C.mol m-3'], title='Concentration over time', ylabel='Concentration (mol m-3)', xlabel='Time (s)')
344
354
  plt.show()
345
355
  ```
346
- # Available grids
347
356
 
357
+ # Available grids
348
358
  Pre-made grids for use in MUSICA are available [here](https://wiki.ucar.edu/display/MUSICA/Available+Grids).
349
359
 
350
- # Contributors guide
351
- Checkout our [software development plan](docs/Software%20Development%20Plan.pdf)
352
- to see how you can contribute new science to MUSICA software.
353
-
354
360
  ## Developer Options
355
361
 
356
- ### Specifying dependency versions via paramaterization at configure time
362
+ ### Specifying dependency versions via parameterization at configure time
357
363
 
358
364
  Introduced in [Pull Request #124](https://github.com/NCAR/musica/pull/124), it is possible for developers to specify which versions of various dependencies should be used. These options are currently limited to those dependencies managed via `FetchContent`. This change allows for more easily testing `musica` against changes committed in different repositories and branches. The environmental variables introduced are outlined in the following table.
359
365
 
@@ -365,6 +371,7 @@ Introduced in [Pull Request #124](https://github.com/NCAR/musica/pull/124), it i
365
371
  | [MICM](https://github.com/NCAR/mcim.git) | MICM_GIT_REPOSITORY | MICM_GIT_TAG |
366
372
  | [TUV-X](https://github.com/NCAR/tuv-x.git) | TUVX_GIT_REPOSITORY | TUVX_GIT_TAG |
367
373
  | [PyBind11](https://github.com/pybind/pybind11) | PYBIND11_GIT_REPOSITORY | PYBIND11_GIT_TAG |
374
+ | [Mechanism Configuration](https://github.com/NCAR/MechanismConfiguration.git) | MECH_CONFIG_GIT_REPOSITORY | MECH_CONFIG_GIT_TAG |
368
375
 
369
376
  #### Example Usage
370
377
 
@@ -416,41 +423,49 @@ variable `BUILD_GPU`.
416
423
  BUILD_GPU=1 pip install -e .
417
424
  ```
418
425
 
419
- ## Citing MUSICA
420
-
421
- 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
422
- of the MUSICA software. The bibtex entry below can be used to generate a citaiton for this.
423
-
424
- ```
425
- @Article { acom.software.musica-vision,
426
- author = "Gabriele G. Pfister and Sebastian D. Eastham and Avelino F. Arellano and Bernard Aumont and Kelley C. Barsanti and Mary C. Barth and Andrew Conley and Nicholas A. Davis and Louisa K. Emmons and Jerome D. Fast and Arlene M. Fiore and Benjamin Gaubert and Steve Goldhaber and Claire Granier and Georg A. Grell and Marc Guevara and Daven K. Henze and Alma Hodzic and Xiaohong Liu and Daniel R. Marsh and John J. Orlando and John M. C. Plane and Lorenzo M. Polvani and Karen H. Rosenlof and Allison L. Steiner and Daniel J. Jacob and Guy P. Brasseur",
427
- title = "The Multi-Scale Infrastructure for Chemistry and Aerosols (MUSICA)",
428
- journal = "Bulletin of the American Meteorological Society",
429
- year = "2020",
430
- publisher = "American Meteorological Society",
431
- address = "Boston MA, USA",
432
- volume = "101",
433
- number = "10",
434
- doi = "10.1175/BAMS-D-19-0331.1",
435
- pages= "E1743 - E1760",
436
- url = "https://journals.ametsoc.org/view/journals/bams/101/10/bamsD190331.xml"
437
- }
438
- ```
439
-
440
- At present MUSICA is on version zero. MUSICAv0 can be cited using the bibtex entry below.
441
- MUSICAv0 description and evaluation:
442
-
443
- ```
444
- @Article{acom.software.musica,
445
- author = {Schwantes, Rebecca H. and Lacey, Forrest G. and Tilmes, Simone and Emmons, Louisa K. and Lauritzen, Peter H. and Walters, Stacy and Callaghan, Patrick and Zarzycki, Colin M. and Barth, Mary C. and Jo, Duseong S. and Bacmeister, Julio T. and Neale, Richard B. and Vitt, Francis and Kluzek, Erik and Roozitalab, Behrooz and Hall, Samuel R. and Ullmann, Kirk and Warneke, Carsten and Peischl, Jeff and Pollack, Ilana B. and Flocke, Frank and Wolfe, Glenn M. and Hanisco, Thomas F. and Keutsch, Frank N. and Kaiser, Jennifer and Bui, Thao Paul V. and Jimenez, Jose L. and Campuzano-Jost, Pedro and Apel, Eric C. and Hornbrook, Rebecca S. and Hills, Alan J. and Yuan, Bin and Wisthaler, Armin},
446
- title = {Evaluating the Impact of Chemical Complexity and Horizontal Resolution on Tropospheric Ozone Over the Conterminous US With a Global Variable Resolution Chemistry Model},
447
- journal = {Journal of Advances in Modeling Earth Systems},
448
- volume = {14},
449
- number = {6},
450
- pages = {e2021MS002889},
451
- doi = {https://doi.org/10.1029/2021MS002889},
452
- url = {https://agupubs.onlinelibrary.wiley.com/doi/abs/10.1029/2021MS002889},
453
- eprint = {https://agupubs.onlinelibrary.wiley.com/doi/pdf/10.1029/2021MS002889},
454
- year = {2022}
455
- }
456
- ```
426
+ # Contributing
427
+
428
+ We welcome contributions from the community! Please see our [Contributing Guide](CONTRIBUTING.md) for information on how to get involved.
429
+
430
+ For a complete list of contributors and authors, see [AUTHORS.md](AUTHORS.md).
431
+
432
+ # Citations
433
+
434
+ MUSICA can be cited in at least two ways:
435
+
436
+ 1. **Cite the foundational paper** that defines the vision of the MUSICA software:
437
+ - [Pfister et al., 2020, Bulletin of the American Meteorological Society](https://doi.org/10.1175/BAMS-D-19-0331.1)
438
+ - Use the following BibTeX entry:
439
+ ```
440
+ @Article { acom.software.musica-vision,
441
+ author = "Gabriele G. Pfister and Sebastian D. Eastham and Avelino F. Arellano and Bernard Aumont and Kelley C. Barsanti and Mary C. Barth and Andrew Conley and Nicholas A. Davis and Louisa K. Emmons and Jerome D. Fast and Arlene M. Fiore and Benjamin Gaubert and Steve Goldhaber and Claire Granier and Georg A. Grell and Marc Guevara and Daven K. Henze and Alma Hodzic and Xiaohong Liu and Daniel R. Marsh and John J. Orlando and John M. C. Plane and Lorenzo M. Polvani and Karen H. Rosenlof and Allison L. Steiner and Daniel J. Jacob and Guy P. Brasseur",
442
+ title = "The Multi-Scale Infrastructure for Chemistry and Aerosols (MUSICA)",
443
+ journal = "Bulletin of the American Meteorological Society",
444
+ year = "2020",
445
+ publisher = "American Meteorological Society",
446
+ address = "Boston MA, USA",
447
+ volume = "101",
448
+ number = "10",
449
+ doi = "10.1175/BAMS-D-19-0331.1",
450
+ pages= "E1743 - E1760",
451
+ url = "https://journals.ametsoc.org/view/journals/bams/101/10/bamsD190331.xml"
452
+ }
453
+ ```
454
+
455
+ 2. **Cite the MUSICA software and its evaluation** (MUSICAv0):
456
+ - [Schwantes et al., 2022, Journal of Advances in Modeling Earth Systems](https://doi.org/10.1029/2021MS002889)
457
+ - Use the following BibTeX entry:
458
+ ```
459
+ @Article{acom.software.musica,
460
+ author = {Schwantes, Rebecca H. and Lacey, Forrest G. and Tilmes, Simone and Emmons, Louisa K. and Lauritzen, Peter H. and Walters, Stacy and Callaghan, Patrick and Zarzycki, Colin M. and Barth, Mary C. and Jo, Duseong S. and Bacmeister, Julio T. and Neale, Richard B. and Vitt, Francis and Kluzek, Erik and Roozitalab, Behrooz and Hall, Samuel R. and Ullmann, Kirk and Warneke, Carsten and Peischl, Jeff and Pollack, Ilana B. and Flocke, Frank and Wolfe, Glenn M. and Hanisco, Thomas F. and Keutsch, Frank N. and Kaiser, Jennifer and Bui, Thao Paul V. and Jimenez, Jose L. and Campuzano-Jost, Pedro and Apel, Eric C. and Hornbrook, Rebecca S. and Hills, Alan J. and Yuan, Bin and Wisthaler, Armin},
461
+ title = {Evaluating the Impact of Chemical Complexity and Horizontal Resolution on Tropospheric Ozone Over the Conterminous US With a Global Variable Resolution Chemistry Model},
462
+ journal = {Journal of Advances in Modeling Earth Systems},
463
+ volume = {14},
464
+ number = {6},
465
+ pages = {e2021MS002889},
466
+ doi = {https://doi.org/10.1029/2021MS002889},
467
+ url = {https://agupubs.onlinelibrary.wiley.com/doi/abs/10.1029/2021MS002889},
468
+ eprint = {https://agupubs.onlinelibrary.wiley.com/doi/pdf/10.1029/2021MS002889},
469
+ year = {2022}
470
+ }
471
+ ```
@@ -16,13 +16,21 @@ Multi-Scale Infrastructure for Chemistry and Aerosols
16
16
  MUSICA is a collection of modeling software, tools, and grids, that
17
17
  allow for robust modeling of chemistry in Earth's atmosphere.
18
18
 
19
- At present the project encompasses these components
19
+ At present the project encompasses these core components
20
20
  - [TUV-x](https://github.com/NCAR/tuv-x)
21
21
  - A photolysis rate calculator
22
22
 
23
23
  - [MICM](https://github.com/NCAR/micm)
24
24
  - Model Independent Chemical Module
25
25
 
26
+ - [Mechanism Configuration](https://github.com/NCAR/MechanismConfiguration)
27
+ - The standardized format to describe atmospheric chemistry
28
+
29
+ These components are used to drive the MUSICA software ecosystem. This is a snapshot of how MUSICA can be used with different
30
+ models.
31
+
32
+ ![MUSICA Ecosystem](docs/source/_static/ecosystem.png)
33
+
26
34
  # Installation
27
35
  MUSICA is installable via pip for Python or CMake for C++.
28
36
 
@@ -30,6 +38,7 @@ MUSICA is installable via pip for Python or CMake for C++.
30
38
  ```
31
39
  pip install musica
32
40
  ```
41
+
33
42
  ## CMake
34
43
  ```
35
44
  $ git clone https://github.com/NCAR/musica.git
@@ -126,17 +135,13 @@ import matplotlib.pyplot as plt
126
135
  df.plot(x='time.s', y=['CONC.A.mol m-3', 'CONC.B.mol m-3', 'CONC.C.mol m-3'], title='Concentration over time', ylabel='Concentration (mol m-3)', xlabel='Time (s)')
127
136
  plt.show()
128
137
  ```
129
- # Available grids
130
138
 
139
+ # Available grids
131
140
  Pre-made grids for use in MUSICA are available [here](https://wiki.ucar.edu/display/MUSICA/Available+Grids).
132
141
 
133
- # Contributors guide
134
- Checkout our [software development plan](docs/Software%20Development%20Plan.pdf)
135
- to see how you can contribute new science to MUSICA software.
136
-
137
142
  ## Developer Options
138
143
 
139
- ### Specifying dependency versions via paramaterization at configure time
144
+ ### Specifying dependency versions via parameterization at configure time
140
145
 
141
146
  Introduced in [Pull Request #124](https://github.com/NCAR/musica/pull/124), it is possible for developers to specify which versions of various dependencies should be used. These options are currently limited to those dependencies managed via `FetchContent`. This change allows for more easily testing `musica` against changes committed in different repositories and branches. The environmental variables introduced are outlined in the following table.
142
147
 
@@ -148,6 +153,7 @@ Introduced in [Pull Request #124](https://github.com/NCAR/musica/pull/124), it i
148
153
  | [MICM](https://github.com/NCAR/mcim.git) | MICM_GIT_REPOSITORY | MICM_GIT_TAG |
149
154
  | [TUV-X](https://github.com/NCAR/tuv-x.git) | TUVX_GIT_REPOSITORY | TUVX_GIT_TAG |
150
155
  | [PyBind11](https://github.com/pybind/pybind11) | PYBIND11_GIT_REPOSITORY | PYBIND11_GIT_TAG |
156
+ | [Mechanism Configuration](https://github.com/NCAR/MechanismConfiguration.git) | MECH_CONFIG_GIT_REPOSITORY | MECH_CONFIG_GIT_TAG |
151
157
 
152
158
  #### Example Usage
153
159
 
@@ -199,41 +205,49 @@ variable `BUILD_GPU`.
199
205
  BUILD_GPU=1 pip install -e .
200
206
  ```
201
207
 
202
- ## Citing MUSICA
203
-
204
- 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
205
- of the MUSICA software. The bibtex entry below can be used to generate a citaiton for this.
206
-
207
- ```
208
- @Article { acom.software.musica-vision,
209
- author = "Gabriele G. Pfister and Sebastian D. Eastham and Avelino F. Arellano and Bernard Aumont and Kelley C. Barsanti and Mary C. Barth and Andrew Conley and Nicholas A. Davis and Louisa K. Emmons and Jerome D. Fast and Arlene M. Fiore and Benjamin Gaubert and Steve Goldhaber and Claire Granier and Georg A. Grell and Marc Guevara and Daven K. Henze and Alma Hodzic and Xiaohong Liu and Daniel R. Marsh and John J. Orlando and John M. C. Plane and Lorenzo M. Polvani and Karen H. Rosenlof and Allison L. Steiner and Daniel J. Jacob and Guy P. Brasseur",
210
- title = "The Multi-Scale Infrastructure for Chemistry and Aerosols (MUSICA)",
211
- journal = "Bulletin of the American Meteorological Society",
212
- year = "2020",
213
- publisher = "American Meteorological Society",
214
- address = "Boston MA, USA",
215
- volume = "101",
216
- number = "10",
217
- doi = "10.1175/BAMS-D-19-0331.1",
218
- pages= "E1743 - E1760",
219
- url = "https://journals.ametsoc.org/view/journals/bams/101/10/bamsD190331.xml"
220
- }
221
- ```
222
-
223
- At present MUSICA is on version zero. MUSICAv0 can be cited using the bibtex entry below.
224
- MUSICAv0 description and evaluation:
225
-
226
- ```
227
- @Article{acom.software.musica,
228
- author = {Schwantes, Rebecca H. and Lacey, Forrest G. and Tilmes, Simone and Emmons, Louisa K. and Lauritzen, Peter H. and Walters, Stacy and Callaghan, Patrick and Zarzycki, Colin M. and Barth, Mary C. and Jo, Duseong S. and Bacmeister, Julio T. and Neale, Richard B. and Vitt, Francis and Kluzek, Erik and Roozitalab, Behrooz and Hall, Samuel R. and Ullmann, Kirk and Warneke, Carsten and Peischl, Jeff and Pollack, Ilana B. and Flocke, Frank and Wolfe, Glenn M. and Hanisco, Thomas F. and Keutsch, Frank N. and Kaiser, Jennifer and Bui, Thao Paul V. and Jimenez, Jose L. and Campuzano-Jost, Pedro and Apel, Eric C. and Hornbrook, Rebecca S. and Hills, Alan J. and Yuan, Bin and Wisthaler, Armin},
229
- title = {Evaluating the Impact of Chemical Complexity and Horizontal Resolution on Tropospheric Ozone Over the Conterminous US With a Global Variable Resolution Chemistry Model},
230
- journal = {Journal of Advances in Modeling Earth Systems},
231
- volume = {14},
232
- number = {6},
233
- pages = {e2021MS002889},
234
- doi = {https://doi.org/10.1029/2021MS002889},
235
- url = {https://agupubs.onlinelibrary.wiley.com/doi/abs/10.1029/2021MS002889},
236
- eprint = {https://agupubs.onlinelibrary.wiley.com/doi/pdf/10.1029/2021MS002889},
237
- year = {2022}
238
- }
239
- ```
208
+ # Contributing
209
+
210
+ We welcome contributions from the community! Please see our [Contributing Guide](CONTRIBUTING.md) for information on how to get involved.
211
+
212
+ For a complete list of contributors and authors, see [AUTHORS.md](AUTHORS.md).
213
+
214
+ # Citations
215
+
216
+ MUSICA can be cited in at least two ways:
217
+
218
+ 1. **Cite the foundational paper** that defines the vision of the MUSICA software:
219
+ - [Pfister et al., 2020, Bulletin of the American Meteorological Society](https://doi.org/10.1175/BAMS-D-19-0331.1)
220
+ - Use the following BibTeX entry:
221
+ ```
222
+ @Article { acom.software.musica-vision,
223
+ author = "Gabriele G. Pfister and Sebastian D. Eastham and Avelino F. Arellano and Bernard Aumont and Kelley C. Barsanti and Mary C. Barth and Andrew Conley and Nicholas A. Davis and Louisa K. Emmons and Jerome D. Fast and Arlene M. Fiore and Benjamin Gaubert and Steve Goldhaber and Claire Granier and Georg A. Grell and Marc Guevara and Daven K. Henze and Alma Hodzic and Xiaohong Liu and Daniel R. Marsh and John J. Orlando and John M. C. Plane and Lorenzo M. Polvani and Karen H. Rosenlof and Allison L. Steiner and Daniel J. Jacob and Guy P. Brasseur",
224
+ title = "The Multi-Scale Infrastructure for Chemistry and Aerosols (MUSICA)",
225
+ journal = "Bulletin of the American Meteorological Society",
226
+ year = "2020",
227
+ publisher = "American Meteorological Society",
228
+ address = "Boston MA, USA",
229
+ volume = "101",
230
+ number = "10",
231
+ doi = "10.1175/BAMS-D-19-0331.1",
232
+ pages= "E1743 - E1760",
233
+ url = "https://journals.ametsoc.org/view/journals/bams/101/10/bamsD190331.xml"
234
+ }
235
+ ```
236
+
237
+ 2. **Cite the MUSICA software and its evaluation** (MUSICAv0):
238
+ - [Schwantes et al., 2022, Journal of Advances in Modeling Earth Systems](https://doi.org/10.1029/2021MS002889)
239
+ - Use the following BibTeX entry:
240
+ ```
241
+ @Article{acom.software.musica,
242
+ author = {Schwantes, Rebecca H. and Lacey, Forrest G. and Tilmes, Simone and Emmons, Louisa K. and Lauritzen, Peter H. and Walters, Stacy and Callaghan, Patrick and Zarzycki, Colin M. and Barth, Mary C. and Jo, Duseong S. and Bacmeister, Julio T. and Neale, Richard B. and Vitt, Francis and Kluzek, Erik and Roozitalab, Behrooz and Hall, Samuel R. and Ullmann, Kirk and Warneke, Carsten and Peischl, Jeff and Pollack, Ilana B. and Flocke, Frank and Wolfe, Glenn M. and Hanisco, Thomas F. and Keutsch, Frank N. and Kaiser, Jennifer and Bui, Thao Paul V. and Jimenez, Jose L. and Campuzano-Jost, Pedro and Apel, Eric C. and Hornbrook, Rebecca S. and Hills, Alan J. and Yuan, Bin and Wisthaler, Armin},
243
+ title = {Evaluating the Impact of Chemical Complexity and Horizontal Resolution on Tropospheric Ozone Over the Conterminous US With a Global Variable Resolution Chemistry Model},
244
+ journal = {Journal of Advances in Modeling Earth Systems},
245
+ volume = {14},
246
+ number = {6},
247
+ pages = {e2021MS002889},
248
+ doi = {https://doi.org/10.1029/2021MS002889},
249
+ url = {https://agupubs.onlinelibrary.wiley.com/doi/abs/10.1029/2021MS002889},
250
+ eprint = {https://agupubs.onlinelibrary.wiley.com/doi/pdf/10.1029/2021MS002889},
251
+ year = {2022}
252
+ }
253
+ ```