musica 0.11.1.4__tar.gz → 0.12.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 (527) hide show
  1. {musica-0.11.1.4 → musica-0.12.1}/.dockerignore +1 -1
  2. {musica-0.11.1.4 → musica-0.12.1}/.github/workflows/docker.yml +0 -1
  3. musica-0.11.1.4/.github/workflows/clang_format.yml → musica-0.12.1/.github/workflows/format.yml +12 -5
  4. {musica-0.11.1.4 → musica-0.12.1}/.github/workflows/gh_pages.yml +13 -16
  5. {musica-0.11.1.4 → musica-0.12.1}/.github/workflows/mac.yml +5 -3
  6. {musica-0.11.1.4 → musica-0.12.1}/.github/workflows/python-tests.yml +13 -2
  7. {musica-0.11.1.4 → musica-0.12.1}/.github/workflows/python-wheels.yml +29 -10
  8. {musica-0.11.1.4 → musica-0.12.1}/.github/workflows/ubuntu.yml +3 -2
  9. {musica-0.11.1.4 → musica-0.12.1}/.github/workflows/windows.yml +19 -7
  10. {musica-0.11.1.4 → musica-0.12.1}/.gitignore +7 -0
  11. musica-0.12.1/.zenodo.json +80 -0
  12. musica-0.12.1/AUTHORS.md +59 -0
  13. {musica-0.11.1.4 → musica-0.12.1}/CITATION.cff +1 -1
  14. {musica-0.11.1.4 → musica-0.12.1}/CMakeLists.txt +6 -2
  15. musica-0.12.1/CONTRIBUTING.md +98 -0
  16. {musica-0.11.1.4 → musica-0.12.1}/PKG-INFO +100 -84
  17. {musica-0.11.1.4 → musica-0.12.1}/README.md +87 -83
  18. musica-0.12.1/binder/environment.yml +7 -0
  19. {musica-0.11.1.4 → musica-0.12.1}/cmake/dependencies.cmake +25 -3
  20. {musica-0.11.1.4 → musica-0.12.1}/cmake/musica.settings.in +1 -0
  21. {musica-0.11.1.4 → musica-0.12.1}/cmake/setup_musica_target.cmake +22 -2
  22. {musica-0.11.1.4 → musica-0.12.1}/cmake/summary.cmake +6 -0
  23. {musica-0.11.1.4 → musica-0.12.1}/cmake/test_util.cmake +0 -3
  24. musica-0.12.1/configs/tuvx/data/cross_sections/1-C4H9ONO2_1.nc +0 -0
  25. musica-0.12.1/configs/tuvx/data/cross_sections/2-C4H9ONO2_1.nc +0 -0
  26. musica-0.12.1/configs/tuvx/data/cross_sections/ACETONE_JPL06.nc +0 -0
  27. musica-0.12.1/configs/tuvx/data/cross_sections/BRONO2_JPL06.nc +0 -0
  28. musica-0.12.1/configs/tuvx/data/cross_sections/BRO_JPL06.nc +0 -0
  29. musica-0.12.1/configs/tuvx/data/cross_sections/Br2_1.nc +0 -0
  30. musica-0.12.1/configs/tuvx/data/cross_sections/BrCl_1.nc +0 -0
  31. musica-0.12.1/configs/tuvx/data/cross_sections/BrNO2_1.nc +0 -0
  32. musica-0.12.1/configs/tuvx/data/cross_sections/BrNO_1.nc +0 -0
  33. musica-0.12.1/configs/tuvx/data/cross_sections/BrONO2_1.nc +0 -0
  34. musica-0.12.1/configs/tuvx/data/cross_sections/BrONO_1.nc +0 -0
  35. musica-0.12.1/configs/tuvx/data/cross_sections/BrO_1.nc +0 -0
  36. musica-0.12.1/configs/tuvx/data/cross_sections/C2H5CHO_1.nc +0 -0
  37. musica-0.12.1/configs/tuvx/data/cross_sections/C2H5ONO2_1.nc +0 -0
  38. musica-0.12.1/configs/tuvx/data/cross_sections/CCl2O_1.nc +0 -0
  39. musica-0.12.1/configs/tuvx/data/cross_sections/CCl4_1.nc +0 -0
  40. musica-0.12.1/configs/tuvx/data/cross_sections/CClFO_1.nc +0 -0
  41. musica-0.12.1/configs/tuvx/data/cross_sections/CF2Br2_1.nc +0 -0
  42. musica-0.12.1/configs/tuvx/data/cross_sections/CF2BrCF2Br_1.nc +0 -0
  43. musica-0.12.1/configs/tuvx/data/cross_sections/CF2BrCl_1.nc +0 -0
  44. musica-0.12.1/configs/tuvx/data/cross_sections/CF2CL2_JPL06.nc +0 -0
  45. musica-0.12.1/configs/tuvx/data/cross_sections/CF2ClCF2CHFCl_1.nc +0 -0
  46. musica-0.12.1/configs/tuvx/data/cross_sections/CF2O_1.nc +0 -0
  47. musica-0.12.1/configs/tuvx/data/cross_sections/CF3Br_1.nc +0 -0
  48. musica-0.12.1/configs/tuvx/data/cross_sections/CF3CF2CHCl2_1.nc +0 -0
  49. musica-0.12.1/configs/tuvx/data/cross_sections/CF3CHCl2_1.nc +0 -0
  50. musica-0.12.1/configs/tuvx/data/cross_sections/CF3CHCl_1.nc +0 -0
  51. musica-0.12.1/configs/tuvx/data/cross_sections/CF3CHFCl_1.nc +0 -0
  52. musica-0.12.1/configs/tuvx/data/cross_sections/CFC-113_1.nc +0 -0
  53. musica-0.12.1/configs/tuvx/data/cross_sections/CFC-114_1.nc +0 -0
  54. musica-0.12.1/configs/tuvx/data/cross_sections/CFC-115_1.nc +0 -0
  55. musica-0.12.1/configs/tuvx/data/cross_sections/CFC-11_1.nc +0 -0
  56. musica-0.12.1/configs/tuvx/data/cross_sections/CFC-12_1.nc +0 -0
  57. musica-0.12.1/configs/tuvx/data/cross_sections/CFC113_JPL06.nc +0 -0
  58. musica-0.12.1/configs/tuvx/data/cross_sections/CFC114_JPL10.nc +0 -0
  59. musica-0.12.1/configs/tuvx/data/cross_sections/CFC115_JPL10.nc +0 -0
  60. musica-0.12.1/configs/tuvx/data/cross_sections/CFCL3_JPL06.nc +0 -0
  61. musica-0.12.1/configs/tuvx/data/cross_sections/CH2BR2_1.nc +0 -0
  62. musica-0.12.1/configs/tuvx/data/cross_sections/CH2CHCHO_1.nc +0 -0
  63. musica-0.12.1/configs/tuvx/data/cross_sections/CH2O_1.nc +0 -0
  64. musica-0.12.1/configs/tuvx/data/cross_sections/CH3BR_JPL06.nc +0 -0
  65. musica-0.12.1/configs/tuvx/data/cross_sections/CH3Br_1.nc +0 -0
  66. musica-0.12.1/configs/tuvx/data/cross_sections/CH3CCl3_1.nc +0 -0
  67. musica-0.12.1/configs/tuvx/data/cross_sections/CH3CF2Cl_1.nc +0 -0
  68. musica-0.12.1/configs/tuvx/data/cross_sections/CH3CFCl2_1.nc +0 -0
  69. musica-0.12.1/configs/tuvx/data/cross_sections/CH3CH2ONO2_1.nc +0 -0
  70. musica-0.12.1/configs/tuvx/data/cross_sections/CH3CH3NNO_1.nc +0 -0
  71. musica-0.12.1/configs/tuvx/data/cross_sections/CH3CHONO2CH3_1.nc +0 -0
  72. musica-0.12.1/configs/tuvx/data/cross_sections/CH3CHO_1.nc +0 -0
  73. musica-0.12.1/configs/tuvx/data/cross_sections/CH3CL_JPL06.nc +0 -0
  74. musica-0.12.1/configs/tuvx/data/cross_sections/CH3COCH2CH3_1.nc +0 -0
  75. musica-0.12.1/configs/tuvx/data/cross_sections/CH3COCH3_1.nc +0 -0
  76. musica-0.12.1/configs/tuvx/data/cross_sections/CH3COCHO_1.nc +0 -0
  77. musica-0.12.1/configs/tuvx/data/cross_sections/CH3COCOCH3_1.nc +0 -0
  78. musica-0.12.1/configs/tuvx/data/cross_sections/CH3COCOOH_1.nc +0 -0
  79. musica-0.12.1/configs/tuvx/data/cross_sections/CH3COOH_1.nc +0 -0
  80. musica-0.12.1/configs/tuvx/data/cross_sections/CH3COOOH_1.nc +0 -0
  81. musica-0.12.1/configs/tuvx/data/cross_sections/CH3Cl_1.nc +0 -0
  82. musica-0.12.1/configs/tuvx/data/cross_sections/CH3OCl_1.nc +0 -0
  83. musica-0.12.1/configs/tuvx/data/cross_sections/CH3ONO2_1.nc +0 -0
  84. musica-0.12.1/configs/tuvx/data/cross_sections/CH3OOH_1.nc +0 -0
  85. musica-0.12.1/configs/tuvx/data/cross_sections/CH3OONO2_1.nc +0 -0
  86. musica-0.12.1/configs/tuvx/data/cross_sections/CH4_1.nc +0 -0
  87. musica-0.12.1/configs/tuvx/data/cross_sections/CHBR3_JPL10.nc +0 -0
  88. musica-0.12.1/configs/tuvx/data/cross_sections/CHBr3_1.nc +0 -0
  89. musica-0.12.1/configs/tuvx/data/cross_sections/CHCl3_1.nc +0 -0
  90. musica-0.12.1/configs/tuvx/data/cross_sections/CHClF2_1.nc +0 -0
  91. musica-0.12.1/configs/tuvx/data/cross_sections/CHOCHO_1.nc +0 -0
  92. musica-0.12.1/configs/tuvx/data/cross_sections/CL2O2_JPL10.nc +0 -0
  93. musica-0.12.1/configs/tuvx/data/cross_sections/CLO_JPL06.nc +0 -0
  94. musica-0.12.1/configs/tuvx/data/cross_sections/CO2_1.nc +0 -0
  95. musica-0.12.1/configs/tuvx/data/cross_sections/COF2_1.nc +0 -0
  96. musica-0.12.1/configs/tuvx/data/cross_sections/COFCl_1.nc +0 -0
  97. musica-0.12.1/configs/tuvx/data/cross_sections/Cl2O2_1.nc +0 -0
  98. musica-0.12.1/configs/tuvx/data/cross_sections/ClNO2_1.nc +0 -0
  99. musica-0.12.1/configs/tuvx/data/cross_sections/ClONO2_1.nc +0 -0
  100. musica-0.12.1/configs/tuvx/data/cross_sections/ClONO_1.nc +0 -0
  101. musica-0.12.1/configs/tuvx/data/cross_sections/ClOOCl_1.nc +0 -0
  102. musica-0.12.1/configs/tuvx/data/cross_sections/ClOO_1.nc +0 -0
  103. musica-0.12.1/configs/tuvx/data/cross_sections/ClO_1.nc +0 -0
  104. musica-0.12.1/configs/tuvx/data/cross_sections/H1301_JPL06.nc +0 -0
  105. musica-0.12.1/configs/tuvx/data/cross_sections/H2402_JPL06.nc +0 -0
  106. musica-0.12.1/configs/tuvx/data/cross_sections/H2O2_1.nc +0 -0
  107. musica-0.12.1/configs/tuvx/data/cross_sections/H2O_1.nc +0 -0
  108. musica-0.12.1/configs/tuvx/data/cross_sections/H2O_2.nc +0 -0
  109. musica-0.12.1/configs/tuvx/data/cross_sections/H2O_3.nc +0 -0
  110. musica-0.12.1/configs/tuvx/data/cross_sections/H2SO4_1.nc +0 -0
  111. musica-0.12.1/configs/tuvx/data/cross_sections/HBr_1.nc +0 -0
  112. musica-0.12.1/configs/tuvx/data/cross_sections/HCFC141b_JPL10.nc +0 -0
  113. musica-0.12.1/configs/tuvx/data/cross_sections/HCFC142b_JPL10.nc +0 -0
  114. musica-0.12.1/configs/tuvx/data/cross_sections/HCFC22_JPL06.nc +0 -0
  115. musica-0.12.1/configs/tuvx/data/cross_sections/HCl_1.nc +0 -0
  116. musica-0.12.1/configs/tuvx/data/cross_sections/HF_1.nc +0 -0
  117. musica-0.12.1/configs/tuvx/data/cross_sections/HNO2_1.nc +0 -0
  118. musica-0.12.1/configs/tuvx/data/cross_sections/HNO3_1.nc +0 -0
  119. musica-0.12.1/configs/tuvx/data/cross_sections/HNO3_JPL06.nc +0 -0
  120. musica-0.12.1/configs/tuvx/data/cross_sections/HNO4_1.nc +0 -0
  121. musica-0.12.1/configs/tuvx/data/cross_sections/HO2NO2_JPL06.nc +0 -0
  122. musica-0.12.1/configs/tuvx/data/cross_sections/HO2NO2_temp_JPL06.nc +0 -0
  123. musica-0.12.1/configs/tuvx/data/cross_sections/HO2_1.nc +0 -0
  124. musica-0.12.1/configs/tuvx/data/cross_sections/HOCH2CHO_1.nc +0 -0
  125. musica-0.12.1/configs/tuvx/data/cross_sections/HOCH2CHO_tyndall.nc +0 -0
  126. musica-0.12.1/configs/tuvx/data/cross_sections/HOCH2OOH_1.nc +0 -0
  127. musica-0.12.1/configs/tuvx/data/cross_sections/HOCl_1.nc +0 -0
  128. musica-0.12.1/configs/tuvx/data/cross_sections/HONO_1.nc +0 -0
  129. musica-0.12.1/configs/tuvx/data/cross_sections/Hydroxyacetone_1.nc +0 -0
  130. musica-0.12.1/configs/tuvx/data/cross_sections/I2_1.nc +0 -0
  131. musica-0.12.1/configs/tuvx/data/cross_sections/IOH_1.nc +0 -0
  132. musica-0.12.1/configs/tuvx/data/cross_sections/IO_1.nc +0 -0
  133. musica-0.12.1/configs/tuvx/data/cross_sections/MVK_1.nc +0 -0
  134. musica-0.12.1/configs/tuvx/data/cross_sections/Methacrolein_1.nc +0 -0
  135. musica-0.12.1/configs/tuvx/data/cross_sections/N2O5_1.nc +0 -0
  136. musica-0.12.1/configs/tuvx/data/cross_sections/N2O5_2.nc +0 -0
  137. musica-0.12.1/configs/tuvx/data/cross_sections/N2O5_JPL06.nc +0 -0
  138. musica-0.12.1/configs/tuvx/data/cross_sections/NO2_1.nc +0 -0
  139. musica-0.12.1/configs/tuvx/data/cross_sections/NO3-(aq)_1.nc +0 -0
  140. musica-0.12.1/configs/tuvx/data/cross_sections/NO3_1.nc +0 -0
  141. musica-0.12.1/configs/tuvx/data/cross_sections/NOCl_1.nc +0 -0
  142. musica-0.12.1/configs/tuvx/data/cross_sections/O2_1.nc +0 -0
  143. musica-0.12.1/configs/tuvx/data/cross_sections/O2_JPL06.nc +0 -0
  144. musica-0.12.1/configs/tuvx/data/cross_sections/O3_1.nc +0 -0
  145. musica-0.12.1/configs/tuvx/data/cross_sections/O3_2.nc +0 -0
  146. musica-0.12.1/configs/tuvx/data/cross_sections/O3_3.nc +0 -0
  147. musica-0.12.1/configs/tuvx/data/cross_sections/O3_4.nc +0 -0
  148. musica-0.12.1/configs/tuvx/data/cross_sections/O3_JPL06_218K.nc +0 -0
  149. musica-0.12.1/configs/tuvx/data/cross_sections/O3_JPL06_298K.nc +0 -0
  150. musica-0.12.1/configs/tuvx/data/cross_sections/O3_JPL06_base.nc +0 -0
  151. musica-0.12.1/configs/tuvx/data/cross_sections/OCS_1.nc +0 -0
  152. musica-0.12.1/configs/tuvx/data/cross_sections/OClO_1.nc +0 -0
  153. musica-0.12.1/configs/tuvx/data/cross_sections/OClO_2.nc +0 -0
  154. musica-0.12.1/configs/tuvx/data/cross_sections/OClO_3.nc +0 -0
  155. musica-0.12.1/configs/tuvx/data/cross_sections/PAN_1.nc +0 -0
  156. musica-0.12.1/configs/tuvx/data/cross_sections/PPN_1.nc +0 -0
  157. musica-0.12.1/configs/tuvx/data/cross_sections/SF6_1.nc +0 -0
  158. musica-0.12.1/configs/tuvx/data/cross_sections/SO2_1.nc +0 -0
  159. musica-0.12.1/configs/tuvx/data/cross_sections/SO2_Mills.nc +0 -0
  160. musica-0.12.1/configs/tuvx/data/cross_sections/SO3_1.nc +0 -0
  161. musica-0.12.1/configs/tuvx/data/cross_sections/SO_1.nc +0 -0
  162. musica-0.12.1/configs/tuvx/data/cross_sections/nC3H7ONO2_1.nc +0 -0
  163. musica-0.12.1/configs/tuvx/data/cross_sections/perfluoro 1-iodopropane_1.nc +0 -0
  164. musica-0.12.1/configs/tuvx/data/cross_sections/t-butyl-nitrite_1.nc +0 -0
  165. musica-0.12.1/configs/tuvx/data/dose_rates.json +211 -0
  166. musica-0.12.1/configs/tuvx/data/grids/wavelength/cam.csv +104 -0
  167. musica-0.12.1/configs/tuvx/data/grids/wavelength/combined.grid +158 -0
  168. musica-0.12.1/configs/tuvx/data/grids/wavelength/fast_tuv.grid +22 -0
  169. musica-0.12.1/configs/tuvx/data/grids/wavelength/isaksen.grid +133 -0
  170. musica-0.12.1/configs/tuvx/data/grids/wavelength/kockarts.grid +16 -0
  171. musica-0.12.1/configs/tuvx/data/photolysis_rate_constants.json +1425 -0
  172. musica-0.12.1/configs/tuvx/data/profiles/atmosphere/atmmod.afglmw.100 +103 -0
  173. musica-0.12.1/configs/tuvx/data/profiles/atmosphere/o3column.dat +27 -0
  174. musica-0.12.1/configs/tuvx/data/profiles/atmosphere/toms7.78_93.ave +18 -0
  175. musica-0.12.1/configs/tuvx/data/profiles/atmosphere/ussa.dens +124 -0
  176. musica-0.12.1/configs/tuvx/data/profiles/atmosphere/ussa.ozone +46 -0
  177. musica-0.12.1/configs/tuvx/data/profiles/atmosphere/ussa.temp +124 -0
  178. musica-0.12.1/configs/tuvx/data/profiles/solar/atlas3_1994_317_a.dat +5164 -0
  179. musica-0.12.1/configs/tuvx/data/profiles/solar/neckel.flx +505 -0
  180. musica-0.12.1/configs/tuvx/data/profiles/solar/sao2010.solref.converted +80098 -0
  181. musica-0.12.1/configs/tuvx/data/profiles/solar/susim_hi.flx +5595 -0
  182. musica-0.12.1/configs/tuvx/data/quantum_yields/C2H5CHO_1.nc +0 -0
  183. musica-0.12.1/configs/tuvx/data/quantum_yields/CH2O_1.nc +0 -0
  184. musica-0.12.1/configs/tuvx/data/quantum_yields/CH3CHO_1.nc +0 -0
  185. musica-0.12.1/configs/tuvx/data/quantum_yields/CHOCHO-CH2O_CO_1.nc +0 -0
  186. musica-0.12.1/configs/tuvx/data/quantum_yields/CHOCHO-H2_CO_CO_1.nc +0 -0
  187. musica-0.12.1/configs/tuvx/data/quantum_yields/CHOCHO-HCO_HCO_1.nc +0 -0
  188. musica-0.12.1/configs/tuvx/data/quantum_yields/H2O_2H_O3P.nc +0 -0
  189. musica-0.12.1/configs/tuvx/data/quantum_yields/H2O_H2_O1D.nc +0 -0
  190. musica-0.12.1/configs/tuvx/data/quantum_yields/H2O_H_OH.nc +0 -0
  191. musica-0.12.1/configs/tuvx/data/quantum_yields/H2SO4_mills.nc +0 -0
  192. musica-0.12.1/configs/tuvx/data/quantum_yields/I2_1.nc +0 -0
  193. musica-0.12.1/configs/tuvx/data/quantum_yields/NO2_1.nc +0 -0
  194. musica-0.12.1/configs/tuvx/data/quantum_yields/NO3-NO+O2_1.nc +0 -0
  195. musica-0.12.1/configs/tuvx/data/quantum_yields/NO3-NO2+O(3P)_1.nc +0 -0
  196. musica-0.12.1/configs/tuvx/data/spectral_weights/Cataract, pig(Oriowo et al.,2001)_spectral_wght_1.nc +0 -0
  197. musica-0.12.1/configs/tuvx/data/spectral_weights/DNA_damage_in_vitro(Setlow,1974)_spectral_wght_1.nc +0 -0
  198. musica-0.12.1/configs/tuvx/data/spectral_weights/Eppley-UV-Photometer_spectral_wght_1.nc +0 -0
  199. musica-0.12.1/configs/tuvx/data/spectral_weights/Erythema,humans(Anders et al.,1995)_spectral_wght_1.nc +0 -0
  200. musica-0.12.1/configs/tuvx/data/spectral_weights/NMSC (CIE 2006)_spectral_wght_1.nc +0 -0
  201. musica-0.12.1/configs/tuvx/data/spectral_weights/Occupational TLV (ACGIH,1992)_spectral_wght_1.nc +0 -0
  202. musica-0.12.1/configs/tuvx/data/spectral_weights/Phytoplankton, phaeo(Cullen et al. 1992)_spectral_wght_1.nc +0 -0
  203. musica-0.12.1/configs/tuvx/data/spectral_weights/Phytoplankton, proro(Cullen et al. 1992)_spectral_wght_1.nc +0 -0
  204. musica-0.12.1/configs/tuvx/data/spectral_weights/Previtamin-D3 (CIE 2006)_spectral_wght_1.nc +0 -0
  205. musica-0.12.1/configs/tuvx/data/spectral_weights/RB-Meter,model_501_spectral_wght_1.nc +0 -0
  206. van der Leun,1994)_spectral_wght_1.nc +0 -0
  207. musica-0.12.1/configs/tuvx/tuv_5_4.json +1807 -0
  208. musica-0.12.1/configs/v0/TS1/reactions.json +8355 -0
  209. {musica-0.11.1.4 → musica-0.12.1}/configs/v0/TS1/species.json +26 -25
  210. {musica-0.11.1.4/musica/test/examples → musica-0.12.1/configs}/v1/full_configuration/full_configuration.json +75 -27
  211. {musica-0.11.1.4 → musica-0.12.1}/configs/v1/full_configuration/full_configuration.yaml +85 -28
  212. musica-0.12.1/configs/v1/ts1/initial_conditions.csv +363 -0
  213. musica-0.12.1/configs/v1/ts1/ts1.json +17961 -0
  214. {musica-0.11.1.4 → musica-0.12.1}/docker/Dockerfile +1 -0
  215. {musica-0.11.1.4 → musica-0.12.1}/docker/Dockerfile.coverage +1 -0
  216. {musica-0.11.1.4 → musica-0.12.1}/docker/Dockerfile.docs +16 -8
  217. {musica-0.11.1.4 → musica-0.12.1}/docker/Dockerfile.fortran-gcc +1 -0
  218. {musica-0.11.1.4 → musica-0.12.1}/docker/Dockerfile.fortran-gcc.integration +5 -3
  219. {musica-0.11.1.4 → musica-0.12.1}/docker/Dockerfile.fortran-intel +9 -8
  220. {musica-0.11.1.4 → musica-0.12.1}/docker/Dockerfile.fortran-intel.pkgconfig +1 -0
  221. {musica-0.11.1.4 → musica-0.12.1}/docker/Dockerfile.fortran-nvhpc +8 -8
  222. {musica-0.11.1.4 → musica-0.12.1}/docker/Dockerfile.fortran-nvhpc.pkgconfig +1 -1
  223. {musica-0.11.1.4 → musica-0.12.1}/docker/Dockerfile.memcheck +1 -0
  224. {musica-0.11.1.4 → musica-0.12.1}/docker/Dockerfile.mpi +1 -0
  225. {musica-0.11.1.4 → musica-0.12.1}/docker/Dockerfile.mpi_openmp +1 -0
  226. {musica-0.11.1.4 → musica-0.12.1}/docker/Dockerfile.nvhpc +3 -2
  227. {musica-0.11.1.4 → musica-0.12.1}/docker/Dockerfile.openmp +1 -0
  228. musica-0.11.1.4/docker/Dockerfile.python-tests → musica-0.12.1/docker/Dockerfile.python +8 -10
  229. {musica-0.11.1.4 → musica-0.12.1}/docs/Doxyfile.in +2 -2
  230. {musica-0.11.1.4 → musica-0.12.1}/docs/Makefile +3 -0
  231. {musica-0.11.1.4 → musica-0.12.1}/docs/requirements.txt +7 -0
  232. musica-0.12.1/docs/source/_static/ecosystem.png +0 -0
  233. {musica-0.11.1.4 → musica-0.12.1}/docs/source/api/index.rst +2 -0
  234. {musica-0.11.1.4 → musica-0.12.1}/docs/source/api/python.rst +17 -8
  235. musica-0.12.1/docs/source/citing/index.rst +40 -0
  236. {musica-0.11.1.4 → musica-0.12.1}/docs/source/conf.py +11 -0
  237. musica-0.12.1/docs/source/contributing/index.rst +142 -0
  238. musica-0.12.1/docs/source/getting_started/fortran.rst +157 -0
  239. musica-0.12.1/docs/source/getting_started/getting_started.rst +17 -0
  240. musica-0.12.1/docs/source/getting_started/getting_started_output.png +0 -0
  241. musica-0.12.1/docs/source/getting_started/python.rst +164 -0
  242. musica-0.12.1/docs/source/index.rst +71 -0
  243. musica-0.12.1/docs/source/tutorials/1. multiple_grid_cells.ipynb +752 -0
  244. musica-0.12.1/docs/source/tutorials/2. hypercube.ipynb +541 -0
  245. musica-0.12.1/docs/source/tutorials/3. user_defined_reactions.ipynb +515 -0
  246. musica-0.12.1/docs/source/tutorials/4. local_parallelization.ipynb +1127 -0
  247. musica-0.12.1/docs/source/tutorials/5. hpc_parallelization.ipynb +1130 -0
  248. musica-0.12.1/docs/source/tutorials/6. gpu_solver.ipynb +244 -0
  249. musica-0.12.1/docs/source/tutorials/7. carma.ipynb +1667 -0
  250. {musica-0.11.1.4/docs/source/tutorial → musica-0.12.1/docs/source/tutorials}/chapter0.rst +2 -0
  251. {musica-0.11.1.4/docs/source/tutorial → musica-0.12.1/docs/source/tutorials}/chapter2.rst +5 -3
  252. musica-0.12.1/docs/source/tutorials/config/dask_scaling_tests.csv +37 -0
  253. musica-0.12.1/docs/source/tutorials/tutorials.rst +68 -0
  254. musica-0.12.1/docs/source/user_guide/chemistry/index.rst +57 -0
  255. musica-0.12.1/docs/source/user_guide/examples/index.rst +54 -0
  256. {musica-0.11.1.4 → musica-0.12.1}/docs/source/user_guide/fortran_c.rst +1 -1
  257. musica-0.12.1/docs/source/user_guide/gpu/index.rst +144 -0
  258. musica-0.12.1/docs/source/user_guide/index.rst +28 -0
  259. musica-0.12.1/docs/source/user_guide/installation/index.rst +51 -0
  260. musica-0.12.1/docs/source/user_guide/model/index.rst +53 -0
  261. musica-0.12.1/docs/source/user_guide/multigrid/hypercube/index.rst +117 -0
  262. musica-0.12.1/docs/source/user_guide/multigrid/index.rst +25 -0
  263. musica-0.12.1/docs/source/user_guide/multigrid/parallel/index.rst +243 -0
  264. musica-0.12.1/docs/source/user_guide/multigrid/two-grid-cell/index.rst +110 -0
  265. musica-0.12.1/docs/source/user_guide/output/example_plot.png +0 -0
  266. musica-0.12.1/docs/source/user_guide/output/index.rst +76 -0
  267. {musica-0.11.1.4 → musica-0.12.1}/fortran/micm/micm.F90 +9 -9
  268. {musica-0.11.1.4 → musica-0.12.1}/fortran/micm/state.F90 +10 -7
  269. {musica-0.11.1.4 → musica-0.12.1}/fortran/packaging/CMakeLists.txt +1 -1
  270. {musica-0.11.1.4 → musica-0.12.1}/fortran/util.F90 +22 -24
  271. musica-0.12.1/include/musica/carma/carma.hpp +429 -0
  272. musica-0.12.1/include/musica/carma/carma_c_interface.hpp +466 -0
  273. musica-0.12.1/include/musica/carma/carma_state.hpp +175 -0
  274. musica-0.12.1/include/musica/carma/error.hpp +41 -0
  275. {musica-0.11.1.4 → musica-0.12.1}/include/musica/micm/micm_c_interface.hpp +13 -8
  276. {musica-0.11.1.4 → musica-0.12.1}/include/musica/micm/parse.hpp +7 -1
  277. {musica-0.11.1.4 → musica-0.12.1}/include/musica/micm/state_c_interface.hpp +8 -8
  278. musica-0.12.1/include/musica/tuvx/tuvx.hpp +130 -0
  279. musica-0.11.1.4/include/musica/tuvx/tuvx.hpp → musica-0.12.1/include/musica/tuvx/tuvx_c_interface.hpp +14 -74
  280. {musica-0.11.1.4 → musica-0.12.1}/include/musica/util.hpp +19 -18
  281. {musica-0.11.1.4 → musica-0.12.1}/musica/CMakeLists.txt +28 -2
  282. musica-0.12.1/musica/__init__.py +11 -0
  283. musica-0.12.1/musica/backend.py +41 -0
  284. musica-0.12.1/musica/binding_common.cpp +33 -0
  285. musica-0.12.1/musica/carma.cpp +911 -0
  286. musica-0.12.1/musica/carma.py +1729 -0
  287. musica-0.12.1/musica/constants.py +3 -0
  288. {musica-0.11.1.4 → musica-0.12.1}/musica/cpu_binding.cpp +2 -1
  289. {musica-0.11.1.4 → musica-0.12.1}/musica/cuda.py +4 -1
  290. musica-0.12.1/musica/examples/__init__.py +1 -0
  291. musica-0.12.1/musica/examples/carma_aluminum.py +123 -0
  292. musica-0.12.1/musica/examples/carma_sulfate.py +245 -0
  293. musica-0.12.1/musica/examples/examples.py +165 -0
  294. musica-0.12.1/musica/examples/sulfate_box_model.py +439 -0
  295. musica-0.12.1/musica/examples/ts1_latin_hypercube.py +245 -0
  296. {musica-0.11.1.4 → musica-0.12.1}/musica/gpu_binding.cpp +2 -1
  297. musica-0.12.1/musica/main.py +89 -0
  298. musica-0.12.1/musica/mechanism_configuration/__init__.py +1 -0
  299. musica-0.12.1/musica/mechanism_configuration/aqueous_equilibrium.py +274 -0
  300. musica-0.12.1/musica/mechanism_configuration/arrhenius.py +307 -0
  301. musica-0.12.1/musica/mechanism_configuration/branched.py +299 -0
  302. musica-0.12.1/musica/mechanism_configuration/condensed_phase_arrhenius.py +309 -0
  303. musica-0.12.1/musica/mechanism_configuration/condensed_phase_photolysis.py +88 -0
  304. musica-0.12.1/musica/mechanism_configuration/emission.py +71 -0
  305. musica-0.12.1/musica/mechanism_configuration/first_order_loss.py +174 -0
  306. musica-0.12.1/musica/mechanism_configuration/henrys_law.py +44 -0
  307. musica-0.12.1/musica/mechanism_configuration/mechanism_configuration.py +234 -0
  308. musica-0.12.1/musica/mechanism_configuration/phase.py +47 -0
  309. musica-0.12.1/musica/mechanism_configuration/photolysis.py +88 -0
  310. musica-0.12.1/musica/mechanism_configuration/reactions.py +73 -0
  311. musica-0.12.1/musica/mechanism_configuration/simpol_phase_transfer.py +217 -0
  312. musica-0.12.1/musica/mechanism_configuration/species.py +91 -0
  313. musica-0.12.1/musica/mechanism_configuration/surface.py +94 -0
  314. musica-0.12.1/musica/mechanism_configuration/ternary_chemical_activation.py +352 -0
  315. musica-0.12.1/musica/mechanism_configuration/troe.py +352 -0
  316. musica-0.12.1/musica/mechanism_configuration/tunneling.py +250 -0
  317. musica-0.12.1/musica/mechanism_configuration/user_defined.py +88 -0
  318. musica-0.12.1/musica/mechanism_configuration/utils.py +10 -0
  319. musica-0.12.1/musica/mechanism_configuration/wet_deposition.py +52 -0
  320. {musica-0.11.1.4 → musica-0.12.1}/musica/mechanism_configuration.cpp +184 -96
  321. {musica-0.11.1.4 → musica-0.12.1}/musica/musica.cpp +48 -61
  322. {musica-0.11.1.4/configs → musica-0.12.1/musica/test/examples}/v1/full_configuration/full_configuration.json +111 -37
  323. {musica-0.11.1.4 → musica-0.12.1}/musica/test/examples/v1/full_configuration/full_configuration.yaml +44 -20
  324. {musica-0.11.1.4/musica/test → musica-0.12.1/musica/test/integration}/test_analytical.py +1 -2
  325. musica-0.12.1/musica/test/integration/test_carma.py +227 -0
  326. musica-0.12.1/musica/test/integration/test_carma_aluminum.py +11 -0
  327. musica-0.12.1/musica/test/integration/test_carma_sulfate.py +16 -0
  328. musica-0.12.1/musica/test/integration/test_sulfate_box_model.py +34 -0
  329. musica-0.12.1/musica/test/integration/test_tuvx.py +62 -0
  330. musica-0.12.1/musica/test/unit/test_parser.py +64 -0
  331. musica-0.12.1/musica/test/unit/test_serializer.py +69 -0
  332. musica-0.11.1.4/musica/test/test_parser.py → musica-0.12.1/musica/test/unit/test_util_full_mechanism.py +409 -404
  333. musica-0.12.1/musica/tools/prepare_build_environment_linux.sh +50 -0
  334. musica-0.12.1/musica/tools/prepare_build_environment_macos.sh +1 -0
  335. musica-0.12.1/musica/tuvx.cpp +93 -0
  336. musica-0.12.1/musica/tuvx.py +199 -0
  337. {musica-0.11.1.4 → musica-0.12.1}/musica/types.py +104 -63
  338. musica-0.12.1/pyproject.toml +138 -0
  339. {musica-0.11.1.4 → musica-0.12.1}/spack/packages/musica/package.py +9 -1
  340. {musica-0.11.1.4 → musica-0.12.1}/src/CMakeLists.txt +21 -4
  341. musica-0.12.1/src/carma/carma.cpp +656 -0
  342. musica-0.12.1/src/carma/carma_c_interface.cpp +40 -0
  343. musica-0.12.1/src/carma/carma_parameters.F90 +295 -0
  344. musica-0.12.1/src/carma/carma_state.cpp +423 -0
  345. musica-0.12.1/src/carma/interface.F90 +1568 -0
  346. musica-0.12.1/src/micm/convert_v0_to_v1.cpp +289 -0
  347. {musica-0.11.1.4 → musica-0.12.1}/src/micm/micm_c_interface.cpp +11 -5
  348. {musica-0.11.1.4 → musica-0.12.1}/src/micm/state_c_interface.cpp +12 -16
  349. {musica-0.11.1.4 → musica-0.12.1}/src/micm/v1_parse.cpp +44 -2
  350. {musica-0.11.1.4 → musica-0.12.1}/src/packaging/CMakeLists.txt +14 -3
  351. musica-0.12.1/src/test/data/tuvx/from_host/O2_parameters.txt +44 -0
  352. {musica-0.11.1.4 → musica-0.12.1}/src/test/unit/CMakeLists.txt +5 -1
  353. musica-0.12.1/src/test/unit/carma/CMakeLists.txt +3 -0
  354. musica-0.12.1/src/test/unit/carma/carma_c_api.cpp +258 -0
  355. {musica-0.11.1.4 → musica-0.12.1}/src/test/unit/micm/micm_c_api.cpp +14 -8
  356. musica-0.12.1/src/test/unit/micm/parser.cpp +500 -0
  357. {musica-0.11.1.4 → musica-0.12.1}/src/test/unit/tuvx/tuvx_c_api.cpp +1 -0
  358. {musica-0.11.1.4 → musica-0.12.1}/src/test/unit/tuvx/tuvx_run_from_config.cpp +1 -0
  359. {musica-0.11.1.4 → musica-0.12.1}/src/test/unit/util.cpp +26 -13
  360. musica-0.12.1/src/tuvx/interface.F90 +555 -0
  361. musica-0.12.1/src/tuvx/tuvx.cpp +329 -0
  362. musica-0.12.1/src/tuvx/tuvx_c_interface.cpp +91 -0
  363. {musica-0.11.1.4 → musica-0.12.1}/src/util.cpp +21 -27
  364. musica-0.12.1/tutorials/1. multiple_grid_cells.ipynb +752 -0
  365. musica-0.12.1/tutorials/2. hypercube.ipynb +541 -0
  366. musica-0.12.1/tutorials/3. user_defined_reactions.ipynb +515 -0
  367. musica-0.12.1/tutorials/4. local_parallelization.ipynb +1127 -0
  368. musica-0.12.1/tutorials/5. hpc_parallelization.ipynb +1130 -0
  369. musica-0.12.1/tutorials/6. gpu_solver.ipynb +244 -0
  370. musica-0.12.1/tutorials/7. carma.ipynb +3822 -0
  371. musica-0.12.1/tutorials/config/dask_scaling_tests.csv +37 -0
  372. musica-0.12.1/valgrind.supp +174 -0
  373. musica-0.11.1.4/.github/workflows/format-python.yml +0 -45
  374. musica-0.11.1.4/cmake/silence_warnings.cmake +0 -21
  375. musica-0.11.1.4/configs/v0/TS1/reactions.json +0 -7124
  376. musica-0.11.1.4/docker/Dockerfile.python +0 -41
  377. musica-0.11.1.4/docs/source/contributing/index.rst +0 -2
  378. musica-0.11.1.4/docs/source/getting_started/getting_started.rst +0 -10
  379. musica-0.11.1.4/docs/source/getting_started/installation.rst +0 -16
  380. musica-0.11.1.4/docs/source/getting_started/overview.rst +0 -19
  381. musica-0.11.1.4/docs/source/index.rst +0 -54
  382. musica-0.11.1.4/docs/source/tutorial/tutorial.rst +0 -11
  383. musica-0.11.1.4/docs/source/user_guide/configurations.rst +0 -4
  384. musica-0.11.1.4/docs/source/user_guide/index.rst +0 -17
  385. musica-0.11.1.4/musica/__init__.py +0 -51
  386. musica-0.11.1.4/musica/binding_common.cpp +0 -16
  387. musica-0.11.1.4/musica/mechanism_configuration.py +0 -1291
  388. musica-0.11.1.4/musica/test/examples/v0/config.json +0 -7
  389. musica-0.11.1.4/musica/test/examples/v0/config.yaml +0 -3
  390. musica-0.11.1.4/musica/test/examples/v0/reactions.json +0 -193
  391. musica-0.11.1.4/musica/test/examples/v0/reactions.yaml +0 -142
  392. musica-0.11.1.4/musica/test/examples/v0/species.json +0 -40
  393. musica-0.11.1.4/musica/test/examples/v0/species.yaml +0 -19
  394. musica-0.11.1.4/musica/test/tuvx.py +0 -10
  395. musica-0.11.1.4/musica/tools/prepare_build_environment_linux.sh +0 -43
  396. musica-0.11.1.4/musica/tools/prepare_build_environment_windows.sh +0 -22
  397. musica-0.11.1.4/pyproject.toml +0 -91
  398. musica-0.11.1.4/src/test/data/tuvx/fixed/stand_alone_tuvx_config.json +0 -175
  399. musica-0.11.1.4/src/test/unit/micm/parser.cpp +0 -100
  400. musica-0.11.1.4/src/tuvx/interface.F90 +0 -276
  401. musica-0.11.1.4/src/tuvx/tuvx.cpp +0 -236
  402. musica-0.11.1.4/valgrind.supp +0 -15
  403. {musica-0.11.1.4 → musica-0.12.1}/.clang-format +0 -0
  404. {musica-0.11.1.4 → musica-0.12.1}/.clang-tidy +0 -0
  405. {musica-0.11.1.4 → musica-0.12.1}/.github/workflows/clang_tidy.yml +0 -0
  406. {musica-0.11.1.4 → musica-0.12.1}/.github/workflows/close_stale_issues.yml +0 -0
  407. {musica-0.11.1.4 → musica-0.12.1}/.github/workflows/fetch_content_integration.yml +0 -0
  408. {musica-0.11.1.4 → musica-0.12.1}/LICENSE +0 -0
  409. {musica-0.11.1.4 → musica-0.12.1}/cmake/CodeCoverage.cmake +0 -0
  410. {musica-0.11.1.4 → musica-0.12.1}/cmake/FindSphinx.cmake +0 -0
  411. {musica-0.11.1.4 → musica-0.12.1}/cmake/SetDefaults.cmake +0 -0
  412. {musica-0.11.1.4 → musica-0.12.1}/cmake/cmake_uninstall.cmake.in +0 -0
  413. {musica-0.11.1.4 → musica-0.12.1}/cmake/musica-fortran.pc.in +0 -0
  414. {musica-0.11.1.4 → musica-0.12.1}/cmake/musica.pc.in +0 -0
  415. {musica-0.11.1.4 → musica-0.12.1}/cmake/musicaConfig.cmake.in +0 -0
  416. {musica-0.11.1.4/src/test/data/tuvx/fixed → musica-0.12.1/configs/tuvx/data/cross_sections}/O2_parameters.txt +0 -0
  417. {musica-0.11.1.4 → musica-0.12.1}/configs/v0/TS1/config.json +0 -0
  418. {musica-0.11.1.4 → musica-0.12.1}/configs/v0/TS1/initial_conditions.csv +0 -0
  419. {musica-0.11.1.4 → musica-0.12.1}/configs/v0/analytical/config.json +0 -0
  420. {musica-0.11.1.4 → musica-0.12.1}/configs/v0/analytical/reactions.json +0 -0
  421. {musica-0.11.1.4 → musica-0.12.1}/configs/v0/analytical/species.json +0 -0
  422. {musica-0.11.1.4 → musica-0.12.1}/configs/v0/carbon_bond_5/config.json +0 -0
  423. {musica-0.11.1.4 → musica-0.12.1}/configs/v0/carbon_bond_5/initial_conditions.csv +0 -0
  424. {musica-0.11.1.4 → musica-0.12.1}/configs/v0/carbon_bond_5/reactions.json +0 -0
  425. {musica-0.11.1.4 → musica-0.12.1}/configs/v0/carbon_bond_5/species.json +0 -0
  426. {musica-0.11.1.4 → musica-0.12.1}/configs/v0/chapman/config.json +0 -0
  427. {musica-0.11.1.4 → musica-0.12.1}/configs/v0/chapman/initial_conditions.csv +0 -0
  428. {musica-0.11.1.4 → musica-0.12.1}/configs/v0/chapman/reactions.json +0 -0
  429. {musica-0.11.1.4 → musica-0.12.1}/configs/v0/chapman/species.json +0 -0
  430. {musica-0.11.1.4 → musica-0.12.1}/configs/v0/robertson/config.json +0 -0
  431. {musica-0.11.1.4 → musica-0.12.1}/configs/v0/robertson/initial_conditions.csv +0 -0
  432. {musica-0.11.1.4 → musica-0.12.1}/configs/v0/robertson/reactions.json +0 -0
  433. {musica-0.11.1.4 → musica-0.12.1}/configs/v0/robertson/species.json +0 -0
  434. {musica-0.11.1.4 → musica-0.12.1}/configs/v1/chapman/config.json +0 -0
  435. {musica-0.11.1.4 → musica-0.12.1}/configs/v1/chapman/config.yaml +0 -0
  436. {musica-0.11.1.4 → musica-0.12.1}/docker/Dockerfile.wheel +0 -0
  437. {musica-0.11.1.4 → musica-0.12.1}/docs/CMakeLists.txt +0 -0
  438. {musica-0.11.1.4 → musica-0.12.1}/docs/Software Development Plan.pdf +0 -0
  439. {musica-0.11.1.4 → musica-0.12.1}/docs/make.bat +0 -0
  440. {musica-0.11.1.4 → musica-0.12.1}/docs/source/_static/custom.css +0 -0
  441. {musica-0.11.1.4 → musica-0.12.1}/docs/source/_static/favicon/favicon.ico +0 -0
  442. {musica-0.11.1.4 → musica-0.12.1}/docs/source/_static/index_api.svg +0 -0
  443. {musica-0.11.1.4 → musica-0.12.1}/docs/source/_static/index_contribute.svg +0 -0
  444. {musica-0.11.1.4 → musica-0.12.1}/docs/source/_static/index_getting_started.svg +0 -0
  445. {musica-0.11.1.4 → musica-0.12.1}/docs/source/_static/index_user_guide.svg +0 -0
  446. {musica-0.11.1.4 → musica-0.12.1}/docs/source/_static/switcher.json +0 -0
  447. {musica-0.11.1.4 → musica-0.12.1}/docs/source/api/C++.rst +0 -0
  448. {musica-0.11.1.4 → musica-0.12.1}/docs/source/references.bib +0 -0
  449. {musica-0.11.1.4/docs/source/tutorial → musica-0.12.1/docs/source/tutorials}/chapter1.rst +0 -0
  450. {musica-0.11.1.4 → musica-0.12.1}/fortran/CMakeLists.txt +0 -0
  451. {musica-0.11.1.4 → musica-0.12.1}/fortran/micm/CMakeLists.txt +0 -0
  452. {musica-0.11.1.4 → musica-0.12.1}/fortran/test/CMakeLists.txt +0 -0
  453. {musica-0.11.1.4 → musica-0.12.1}/fortran/test/fetch_content_integration/CMakeLists.txt +0 -0
  454. {musica-0.11.1.4 → musica-0.12.1}/fortran/test/fetch_content_integration/test_get_micm_version.F90 +0 -0
  455. {musica-0.11.1.4 → musica-0.12.1}/fortran/test/fetch_content_integration/test_micm_api.F90 +0 -0
  456. {musica-0.11.1.4 → musica-0.12.1}/fortran/test/fetch_content_integration/test_micm_box_model.F90 +0 -0
  457. {musica-0.11.1.4 → musica-0.12.1}/fortran/test/fetch_content_integration/test_tuvx_api.F90 +0 -0
  458. {musica-0.11.1.4 → musica-0.12.1}/fortran/test/test_simple.F90 +0 -0
  459. {musica-0.11.1.4 → musica-0.12.1}/fortran/test/tutorial/CMakeLists.txt +0 -0
  460. {musica-0.11.1.4 → musica-0.12.1}/fortran/test/tutorial/demo.F90 +0 -0
  461. {musica-0.11.1.4 → musica-0.12.1}/fortran/test/unit/CMakeLists.txt +0 -0
  462. {musica-0.11.1.4 → musica-0.12.1}/fortran/test/unit/tuvx.F90 +0 -0
  463. {musica-0.11.1.4 → musica-0.12.1}/fortran/test/unit/tuvx_openmp.F90 +0 -0
  464. {musica-0.11.1.4 → musica-0.12.1}/fortran/test/unit/util.F90 +0 -0
  465. {musica-0.11.1.4 → musica-0.12.1}/fortran/tuvx/CMakeLists.txt +0 -0
  466. {musica-0.11.1.4 → musica-0.12.1}/fortran/tuvx/grid.F90 +0 -0
  467. {musica-0.11.1.4 → musica-0.12.1}/fortran/tuvx/grid_map.F90 +0 -0
  468. {musica-0.11.1.4 → musica-0.12.1}/fortran/tuvx/profile.F90 +0 -0
  469. {musica-0.11.1.4 → musica-0.12.1}/fortran/tuvx/profile_map.F90 +0 -0
  470. {musica-0.11.1.4 → musica-0.12.1}/fortran/tuvx/radiator.F90 +0 -0
  471. {musica-0.11.1.4 → musica-0.12.1}/fortran/tuvx/radiator_map.F90 +0 -0
  472. {musica-0.11.1.4 → musica-0.12.1}/fortran/tuvx/tuvx.F90 +0 -0
  473. {musica-0.11.1.4 → musica-0.12.1}/include/musica/component_versions.hpp +0 -0
  474. {musica-0.11.1.4 → musica-0.12.1}/include/musica/error.hpp +0 -0
  475. {musica-0.11.1.4 → musica-0.12.1}/include/musica/micm/chemistry.hpp +0 -0
  476. {musica-0.11.1.4 → musica-0.12.1}/include/musica/micm/cuda_availability.hpp +0 -0
  477. {musica-0.11.1.4 → musica-0.12.1}/include/musica/micm/micm.hpp +0 -0
  478. {musica-0.11.1.4 → musica-0.12.1}/include/musica/micm/state.hpp +0 -0
  479. {musica-0.11.1.4 → musica-0.12.1}/include/musica/tuvx/grid.hpp +0 -0
  480. {musica-0.11.1.4 → musica-0.12.1}/include/musica/tuvx/grid_map.hpp +0 -0
  481. {musica-0.11.1.4 → musica-0.12.1}/include/musica/tuvx/profile.hpp +0 -0
  482. {musica-0.11.1.4 → musica-0.12.1}/include/musica/tuvx/profile_map.hpp +0 -0
  483. {musica-0.11.1.4 → musica-0.12.1}/include/musica/tuvx/radiator.hpp +0 -0
  484. {musica-0.11.1.4 → musica-0.12.1}/include/musica/tuvx/radiator_map.hpp +0 -0
  485. {musica-0.11.1.4 → musica-0.12.1}/include/musica/version.hpp +0 -0
  486. {musica-0.11.1.4 → musica-0.12.1}/musica/binding_common.hpp +0 -0
  487. {musica-0.11.1.4 → musica-0.12.1}/musica/cuda.cpp +0 -0
  488. {musica-0.11.1.4/musica/test → musica-0.12.1/musica/test/integration}/test_chapman.py +0 -0
  489. {musica-0.11.1.4 → musica-0.12.1}/musica/tools/repair_wheel_gpu.sh +0 -0
  490. {musica-0.11.1.4 → musica-0.12.1}/spack/repo.yaml +0 -0
  491. {musica-0.11.1.4 → musica-0.12.1}/src/component_versions.cpp +0 -0
  492. {musica-0.11.1.4 → musica-0.12.1}/src/micm/cuda_availability.cpp +0 -0
  493. {musica-0.11.1.4 → musica-0.12.1}/src/micm/micm.cpp +0 -0
  494. {musica-0.11.1.4 → musica-0.12.1}/src/micm/parse.cpp +0 -0
  495. {musica-0.11.1.4 → musica-0.12.1}/src/micm/state.cpp +0 -0
  496. {musica-0.11.1.4 → musica-0.12.1}/src/micm/v0_parse.cpp +0 -0
  497. {musica-0.11.1.4 → musica-0.12.1}/src/packaging/modulefile.lua.in +0 -0
  498. {musica-0.11.1.4 → musica-0.12.1}/src/test/CMakeLists.txt +0 -0
  499. {musica-0.11.1.4 → musica-0.12.1}/src/test/data/tuvx/fixed/O2_cross_section.nc +0 -0
  500. {musica-0.11.1.4/src/test/data/tuvx/from_host → musica-0.12.1/src/test/data/tuvx/fixed}/O2_parameters.txt +0 -0
  501. {musica-0.11.1.4 → musica-0.12.1}/src/test/data/tuvx/fixed/bar_cross_section.nc +0 -0
  502. {musica-0.11.1.4 → musica-0.12.1}/src/test/data/tuvx/fixed/config.json +0 -0
  503. {musica-0.11.1.4 → musica-0.12.1}/src/test/data/tuvx/fixed/foo_cross_section.nc +0 -0
  504. {musica-0.11.1.4 → musica-0.12.1}/src/test/data/tuvx/from_host/O2_cross_section.nc +0 -0
  505. {musica-0.11.1.4 → musica-0.12.1}/src/test/data/tuvx/from_host/bar_cross_section.nc +0 -0
  506. {musica-0.11.1.4 → musica-0.12.1}/src/test/data/tuvx/from_host/config.json +0 -0
  507. {musica-0.11.1.4 → musica-0.12.1}/src/test/data/tuvx/from_host/foo_cross_section.nc +0 -0
  508. {musica-0.11.1.4 → musica-0.12.1}/src/test/data/util_index_mapping_from_file.json +0 -0
  509. {musica-0.11.1.4 → musica-0.12.1}/src/test/test_simple.c +0 -0
  510. {musica-0.11.1.4 → musica-0.12.1}/src/test/unit/component_versions.cpp +0 -0
  511. {musica-0.11.1.4 → musica-0.12.1}/src/test/unit/micm/CMakeLists.txt +0 -0
  512. {musica-0.11.1.4 → musica-0.12.1}/src/test/unit/micm/micm_wrapper.cpp +0 -0
  513. {musica-0.11.1.4 → musica-0.12.1}/src/test/unit/tuvx/CMakeLists.txt +0 -0
  514. {musica-0.11.1.4 → musica-0.12.1}/src/tuvx/grid.cpp +0 -0
  515. {musica-0.11.1.4 → musica-0.12.1}/src/tuvx/grid_map.cpp +0 -0
  516. {musica-0.11.1.4 → musica-0.12.1}/src/tuvx/interface_grid.F90 +0 -0
  517. {musica-0.11.1.4 → musica-0.12.1}/src/tuvx/interface_grid_map.F90 +0 -0
  518. {musica-0.11.1.4 → musica-0.12.1}/src/tuvx/interface_profile.F90 +0 -0
  519. {musica-0.11.1.4 → musica-0.12.1}/src/tuvx/interface_profile_map.F90 +0 -0
  520. {musica-0.11.1.4 → musica-0.12.1}/src/tuvx/interface_radiator.F90 +0 -0
  521. {musica-0.11.1.4 → musica-0.12.1}/src/tuvx/interface_radiator_map.F90 +0 -0
  522. {musica-0.11.1.4 → musica-0.12.1}/src/tuvx/interface_util.F90 +0 -0
  523. {musica-0.11.1.4 → musica-0.12.1}/src/tuvx/profile.cpp +0 -0
  524. {musica-0.11.1.4 → musica-0.12.1}/src/tuvx/profile_map.cpp +0 -0
  525. {musica-0.11.1.4 → musica-0.12.1}/src/tuvx/radiator.cpp +0 -0
  526. {musica-0.11.1.4 → musica-0.12.1}/src/tuvx/radiator_map.cpp +0 -0
  527. {musica-0.11.1.4 → musica-0.12.1}/src/version.cpp.in +0 -0
@@ -17,4 +17,4 @@
17
17
  !pyproject.toml
18
18
  !LICENSE
19
19
  !README.md
20
- !wheelhouse
20
+ !tutorials
@@ -26,7 +26,6 @@ jobs:
26
26
  - Dockerfile.openmp
27
27
  - Dockerfile.mpi
28
28
  - Dockerfile.mpi_openmp
29
- - Dockerfile.python
30
29
  - Dockerfile.nvhpc
31
30
  - Dockerfile.coverage
32
31
  build_type: [Release, Debug]
@@ -1,4 +1,4 @@
1
- name: Clang-Format
1
+ name: Format Code with Clang-Format and autopep8
2
2
 
3
3
  on:
4
4
  push:
@@ -8,7 +8,7 @@ on:
8
8
 
9
9
  jobs:
10
10
  format:
11
- name: Run Clang-Format
11
+ name: Run Formatting
12
12
  runs-on: ubuntu-latest
13
13
 
14
14
  steps:
@@ -21,10 +21,17 @@ jobs:
21
21
  ref: ${{ github.head_ref }}
22
22
  token: ${{ secrets.GITHUB_TOKEN }}
23
23
 
24
+ - name: autopep8
25
+ uses: peter-evans/autopep8@v2
26
+ with:
27
+ args: --recursive --in-place --aggressive --aggressive --max-line-length 120 .
28
+
24
29
  - name: Run clang-format
25
30
  run: |
26
31
  find include -type f \( -name '*.hpp' -or -name '*.h' \) -exec clang-format -i --style=file --verbose {} +
27
32
  find src -type f \( -name '*.cpp' -or -name '*.c' \) -exec clang-format -i --style=file --verbose {} +
33
+ find musica -type f \( -name '*.cpp' -or -name '*.c' \) -exec clang-format -i --style=file --verbose {} +
34
+ find musica -type f \( -name '*.hpp' -or -name '*.h' \) -exec clang-format -i --style=file --verbose {} +
28
35
 
29
36
  - name: Check for changes
30
37
  id: check-changes
@@ -37,7 +44,7 @@ jobs:
37
44
  run: |
38
45
  git config --global user.name "GitHub Actions"
39
46
  git config --global user.email "actions@github.com"
40
- git commit -am "Auto-format code using Clang-Format" || echo "No changes to commit"
47
+ git commit -am "Auto-format code using Clang-Format and autopep8" || echo "No changes to commit"
41
48
 
42
49
  - name: Push changes to main-formatting branch
43
50
  if: steps.check-changes.outcome != 'success'
@@ -48,7 +55,7 @@ jobs:
48
55
  uses: peter-evans/create-pull-request@v6
49
56
  with:
50
57
  token: ${{ secrets.GITHUB_TOKEN }}
51
- commit-message: "Auto-format code using Clang-Format"
58
+ commit-message: "Auto-format code using Clang-Format and autopep8"
52
59
  title: "Auto-format code changes"
53
- body: "This is an automated pull request to apply code formatting using Clang-Format."
60
+ body: "This is an automated pull request to apply code formatting using Clang-Format and autopep8."
54
61
  branch: main-formatting
@@ -1,11 +1,8 @@
1
1
  # Build and deploy documentation to GitHub Pages
2
2
  name: GitHub Pages
3
3
 
4
- on:
4
+ on:
5
5
  push:
6
- branches:
7
- - main
8
- - release
9
6
  pull_request:
10
7
  workflow_dispatch:
11
8
 
@@ -15,14 +12,7 @@ env:
15
12
  jobs:
16
13
  build-and-deploy:
17
14
  name: Build and deploy to gh-pages
18
- runs-on: ubuntu-24.04
19
- strategy:
20
- matrix:
21
- gcc-version: [13]
22
- env:
23
- CXX: g++-${{ matrix.gcc-version }}
24
- CC: gcc-${{ matrix.gcc-version }}
25
- FC: gfortran-${{ matrix.gcc-version }}
15
+ runs-on: ubuntu-latest
26
16
  steps:
27
17
  - uses: actions/checkout@v4
28
18
  with:
@@ -94,7 +84,8 @@ jobs:
94
84
  # _gh-pages/branch/$brname (transforming '/' into '--')
95
85
  - name: Build and copy documentation (branch)
96
86
  if: |
97
- contains(github.event_name, 'push') &&
87
+ (contains(github.event_name, 'push') ||
88
+ contains(github.event_name, 'pull_request')) &&
98
89
  !contains(github.ref, env.DEFAULT_BRANCH)
99
90
  run: |
100
91
  set -x
@@ -102,10 +93,16 @@ jobs:
102
93
  id=$(docker create musica)
103
94
  docker cp $id:/build/docs/sphinx tmpdocs
104
95
  docker rm -v $id
105
- brname="${{github.ref}}"
106
- brname="${brname##refs/heads/}"
96
+ # Determine branch name for deployment directory
97
+ if [ "${{ github.event_name }}" = "pull_request" ]; then
98
+ brname="${{ github.head_ref }}"
99
+ else
100
+ brname="${{ github.ref }}"
101
+ brname="${brname##refs/heads/}"
102
+ fi
107
103
  brdir=${brname//\//--} # replace '/' with '--'
108
104
  rm -rf _gh-pages/branch/${brdir}
105
+ mkdir -p _gh-pages/branch/${brdir}
109
106
  rsync -a tmpdocs/ _gh-pages/branch/${brdir}
110
107
 
111
108
  # Go through each branch in _gh-pages/branch/, if it's not a
@@ -156,4 +153,4 @@ jobs:
156
153
  repo: context.repo.repo,
157
154
  issue_number: context.payload.pull_request.number,
158
155
  body: commentBody
159
- });
156
+ });
@@ -18,11 +18,9 @@ jobs:
18
18
  strategy:
19
19
  matrix:
20
20
  compiler:
21
- - { cpp: g++-12, c: gcc-12, fc: gfortran-12}
22
21
  - { cpp: g++-13, c: gcc-13, fc: gfortran-13}
23
22
  - { cpp: g++-14, c: gcc-14, fc: gfortran-14}
24
- - { cpp: clang++, c: clang, fc: gfortran-12}
25
- - { cpp: g++-14, c: gcc-14, fc: gfortran-14}
23
+ - { cpp: clang++, c: clang, fc: gfortran-14}
26
24
  build_type: [Release]
27
25
  env:
28
26
  CC: ${{ matrix.compiler.c }}
@@ -32,6 +30,10 @@ jobs:
32
30
  steps:
33
31
  - uses: actions/checkout@v4
34
32
 
33
+ - uses: maxim-lobanov/setup-xcode@v1
34
+ with:
35
+ xcode-version: '16.4'
36
+
35
37
  - name: Install dependencies
36
38
  run: brew install netcdf netcdf-fortran
37
39
 
@@ -13,7 +13,7 @@ jobs:
13
13
  fail-fast: false
14
14
  matrix:
15
15
  platform: [windows-latest, macos-13, ubuntu-latest]
16
- python-version: ["3.8", "3.9", "3.10", "3.11", "3.12"]
16
+ python-version: ["3.9", "3.10", "3.11", "3.12", "3.13"]
17
17
  # python versions: https://devguide.python.org/versions/
18
18
 
19
19
  runs-on: ${{ matrix.platform }}
@@ -23,6 +23,17 @@ jobs:
23
23
  with:
24
24
  submodules: true
25
25
 
26
+ - name: Install dependencies
27
+ if: matrix.platform == 'ubuntu-latest'
28
+ run: |
29
+ sudo apt-get update
30
+ sudo apt-get install -y libnetcdf-dev netcdf-bin libnetcdff-dev liblapack-dev
31
+
32
+ - name: Install dependencies
33
+ if: matrix.platform == 'macos-13'
34
+ run: |
35
+ brew install netcdf netcdf-fortran lapack
36
+
26
37
  - uses: actions/setup-python@v5
27
38
  with:
28
39
  python-version: ${{ matrix.python-version }}
@@ -34,4 +45,4 @@ jobs:
34
45
  run: pip install --verbose .[test]
35
46
 
36
47
  - name: Test
37
- run: pytest
48
+ run: pytest -s
@@ -36,8 +36,26 @@ jobs:
36
36
  strategy:
37
37
  fail-fast: false
38
38
  matrix:
39
- os: [ubuntu-latest, windows-latest, macos-latest]
40
- python-version: ["3.12"]
39
+ include:
40
+ # Linux builds (supports cross-compilation via QEMU)
41
+ - os: ubuntu-latest
42
+ python-version: "3.13"
43
+ cibw_archs: "x86_64 aarch64 i686"
44
+
45
+ # Windows builds (separate runners needed for different archs)
46
+ - os: windows-latest
47
+ python-version: "3.13"
48
+ cibw_archs: "AMD64 x86 ARM64"
49
+
50
+ # macOS Intel
51
+ - os: macos-13 # Intel runner
52
+ python-version: "3.13"
53
+ cibw_archs: "x86_64"
54
+
55
+ # macOS Apple Silicon
56
+ - os: macos-latest # ARM64 runner
57
+ python-version: "3.13"
58
+ cibw_archs: "arm64"
41
59
 
42
60
  steps:
43
61
  - uses: actions/checkout@v4
@@ -47,21 +65,22 @@ jobs:
47
65
  - uses: actions/setup-python@v5
48
66
  with:
49
67
  python-version: ${{ matrix.python-version }}
68
+
69
+ - name: Set up QEMU for cross-architecture builds
70
+ if: matrix.os == 'ubuntu-latest'
71
+ uses: docker/setup-qemu-action@v3
72
+ with:
73
+ platforms: all
50
74
 
51
75
  - name: CI Build Wheels
52
76
  uses: pypa/cibuildwheel@v2.17
53
77
  env:
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
78
+ CIBW_ARCHS: ${{ matrix.cibw_archs }}
60
79
 
61
80
  - name: Upload wheels
62
81
  uses: actions/upload-artifact@v4
63
82
  with:
64
- name: cibw-wheels-${{ matrix.os }}-py${{ matrix.python-version }}
83
+ name: cibw-wheels-${{ matrix.os }}-${{ matrix.cibw_archs }}-py${{ matrix.python-version }}
65
84
  path: wheelhouse/*.whl
66
85
 
67
86
  upload_all:
@@ -87,4 +106,4 @@ jobs:
87
106
  merge-multiple: true
88
107
 
89
108
  - name: Publish package distributions to PyPI
90
- uses: pypa/gh-action-pypi-publish@release/v1
109
+ uses: pypa/gh-action-pypi-publish@release/v1
@@ -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
- - {micm: ON, tuvx: OFF, python: ON}
27
- - {micm: OFF, tuvx: ON, python: OFF}
26
+ - {micm: ON, tuvx: OFF, carma: OFF, python: ON}
27
+ - {micm: OFF, tuvx: ON, carma: OFF, python: OFF}
28
28
  build_type: [Release]
29
29
  env:
30
30
  CC: ${{ matrix.compiler.c }}
@@ -46,6 +46,7 @@ jobs:
46
46
  -D MUSICA_GIT_TAG=${{ github.sha }} \
47
47
  -D MUSICA_ENABLE_MICM=${{ matrix.options.micm }} \
48
48
  -D MUSICA_ENABLE_TUVX=${{ matrix.options.tuvx }} \
49
+ -D MUSICA_ENABLE_CARMA=${{ matrix.options.carma }} \
49
50
  -D MUSICA_ENABLE_PYTHON_LIBRARY=${{ matrix.options.python }} \
50
51
  -D CMAKE_POLICY_VERSION_MINIMUM=3.5
51
52
 
@@ -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,10 +25,10 @@ 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
- 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
31
+ run: cmake -S . -B build -G "MinGW Makefiles" -D MUSICA_GIT_TAG=${{ github.sha }} -D MUSICA_ENABLE_TUVX=OFF -D MUSICA_ENABLE_CARMA=OFF -D MUSICA_ENABLE_PYTHON_LIBRARY=ON -D CMAKE_POLICY_VERSION_MINIMUM=3.5
31
32
 
32
33
  - name: Build
33
34
  run: cmake --build build --parallel
@@ -56,7 +57,7 @@ jobs:
56
57
  architecture: x86
57
58
 
58
59
  - name: Run CMake
59
- run: cmake -S . -B build -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 -D CMAKE_POLICY_VERSION_MINIMUM=3.5
60
+ run: cmake -S . -B build -A ${{ matrix.architecture }} -D MUSICA_GIT_TAG=${{ github.sha }} -DCMAKE_BUILD_TYPE=${{ matrix.build_type }} -D MUSICA_ENABLE_TUVX=OFF -D MUSICA_ENABLE_CARMA=OFF -D MUSICA_ENABLE_PYTHON_LIBRARY=ON -D CMAKE_POLICY_VERSION_MINIMUM=3.5
60
61
 
61
62
  - name: Build
62
63
  run: cmake --build build --config ${{ matrix.build_type }} --parallel
@@ -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
@@ -78,7 +79,7 @@ jobs:
78
79
  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"
79
80
 
80
81
  - name: Run CMake
81
- 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 -D CMAKE_POLICY_VERSION_MINIMUM=3.5
82
+ 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_CARMA=OFF -D MUSICA_ENABLE_PYTHON_LIBRARY=ON -D CMAKE_POLICY_VERSION_MINIMUM=3.5
82
83
 
83
84
  - name: Build
84
85
  run: cmake --build build --parallel
@@ -104,7 +105,7 @@ jobs:
104
105
  architecture: x86
105
106
 
106
107
  - name: Run CMake
107
- run: cmake -S . -B build -A ${{ matrix.architecture }} -T ClangCL -D MUSICA_GIT_TAG=${{ github.sha }} -D MUSICA_ENABLE_TUVX=OFF -D MUSICA_ENABLE_PYTHON_LIBRARY=ON -D CMAKE_POLICY_VERSION_MINIMUM=3.5
108
+ run: cmake -S . -B build -A ${{ matrix.architecture }} -T ClangCL -D MUSICA_GIT_TAG=${{ github.sha }} -D MUSICA_ENABLE_TUVX=OFF -D MUSICA_ENABLE_CARMA=OFF -D MUSICA_ENABLE_PYTHON_LIBRARY=ON -D CMAKE_POLICY_VERSION_MINIMUM=3.5
108
109
 
109
110
  - name: Build
110
111
  run: cmake --build build --config Debug --parallel
@@ -114,10 +115,15 @@ 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:
120
- build_type: [Debug, Release]
122
+ # for some reason the debug build fails with an error in the python library
123
+ # something about the usage of mechanism configuration and variants causes missing type information
124
+ # This commit for mechanism configuration works: 903150064277e024b0afcfc879df419e1cefc87b
125
+ # This one doesn't: a3ef728c69f619f80c272d634bc2a17ca5ab4de9
126
+ build_type: [Release]
121
127
 
122
128
  steps:
123
129
  - name: Checkout code
@@ -135,12 +141,17 @@ jobs:
135
141
  mingw-w64-x86_64-cmake
136
142
  mingw-w64-x86_64-netcdf
137
143
  mingw-w64-x86_64-netcdf-fortran
144
+ mingw-w64-x86_64-lapack
138
145
  msystem: MINGW64
139
146
 
140
147
  - name: Add MSYS2 mingw64 to PATH
141
148
  shell: msys2 {0}
142
149
  run: echo "C:/msys64/mingw64/bin" >> $GITHUB_PATH
143
150
 
151
+ - name: Clean build directory
152
+ shell: msys2 {0}
153
+ run: rm -rf build
154
+
144
155
  - name: Configure with CMake
145
156
  shell: msys2 {0}
146
157
  run: |
@@ -149,6 +160,7 @@ jobs:
149
160
  -D MUSICA_GIT_TAG=${{ github.sha }} \
150
161
  -D MUSICA_ENABLE_MICM=ON \
151
162
  -D MUSICA_ENABLE_TUVX=ON \
163
+ -D MUSICA_ENABLE_CARMA=ON \
152
164
  -D MUSICA_ENABLE_PYTHON_LIBRARY=ON \
153
165
  -D MUSICA_BUILD_FORTRAN_INTERFACE=ON \
154
166
  -D CMAKE_POLICY_VERSION_MINIMUM=3.5
@@ -11,6 +11,13 @@ 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
19
+
20
+ error.json
21
+
22
+ .ipynb_checkpoints
23
+ configs/tuvx/output/
@@ -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.1
@@ -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.1)
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)
@@ -29,6 +29,7 @@ option(MUSICA_ENABLE_MEMCHECK "Enable memory checking" OFF)
29
29
  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
+ option(MUSICA_ENABLE_CARMA "Enable CARMA" ON)
32
33
  option(MUSICA_ENABLE_PIC "Build the library with position independent code" OFF)
33
34
  option(MUSICA_ENABLE_COVERAGE "Enable code coverage output" OFF)
34
35
  option(MUSICA_BUNDLE_DEPENDENCIES "Bundle dependencies with the library" ON)
@@ -40,6 +41,9 @@ set(MUSICA_SET_MICM_DEFAULT_VECTOR_SIZE "4" CACHE STRING "Set MICM vector-ordere
40
41
  cmake_dependent_option(
41
42
  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)
42
43
 
44
+ cmake_dependent_option(
45
+ MUSICA_ONLY_PYTHON "Build only the Python bindings. This option is used when building Python wheels primarily" OFF "MUSICA_ENABLE_PYTHON_LIBRARY" OFF)
46
+
43
47
  ################################################################################
44
48
  # Projet wide setup variables
45
49
  set(MUSICA_INSTALL_INCLUDE_DIR ${CMAKE_INSTALL_INCLUDEDIR})
@@ -92,7 +96,7 @@ endif()
92
96
  # since sources are collected so that python libraries can target them directly,
93
97
  # we need to know if we are targeting Fortran before we collect the sources
94
98
  # otherwise cmake freaks out, and I don't know why, but this fixes it
95
- if(MUSICA_ENABLE_TUVX)
99
+ if(MUSICA_ENABLE_TUVX OR MUSICA_ENABLE_CARMA)
96
100
  enable_language(Fortran)
97
101
  endif()
98
102
 
@@ -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!