musica 0.12.0__tar.gz → 0.12.2__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 (540) hide show
  1. {musica-0.12.0 → musica-0.12.2}/.dockerignore +1 -1
  2. {musica-0.12.0 → musica-0.12.2}/.github/workflows/docker.yml +0 -1
  3. musica-0.12.0/.github/workflows/clang_format.yml → musica-0.12.2/.github/workflows/format.yml +12 -5
  4. {musica-0.12.0 → musica-0.12.2}/.github/workflows/gh_pages.yml +13 -16
  5. {musica-0.12.0 → musica-0.12.2}/.github/workflows/mac.yml +5 -3
  6. {musica-0.12.0 → musica-0.12.2}/.github/workflows/python-tests.yml +15 -2
  7. {musica-0.12.0 → musica-0.12.2}/.github/workflows/python-wheels.yml +38 -11
  8. {musica-0.12.0 → musica-0.12.2}/.github/workflows/ubuntu.yml +3 -2
  9. {musica-0.12.0 → musica-0.12.2}/.github/workflows/windows.yml +15 -5
  10. {musica-0.12.0 → musica-0.12.2}/.gitignore +5 -0
  11. {musica-0.12.0 → musica-0.12.2}/CITATION.cff +1 -1
  12. {musica-0.12.0 → musica-0.12.2}/CMakeLists.txt +6 -2
  13. {musica-0.12.0 → musica-0.12.2}/PKG-INFO +41 -39
  14. {musica-0.12.0 → musica-0.12.2}/README.md +28 -38
  15. musica-0.12.2/binder/environment.yml +8 -0
  16. {musica-0.12.0 → musica-0.12.2}/cmake/dependencies.cmake +20 -3
  17. {musica-0.12.0 → musica-0.12.2}/cmake/musica.settings.in +1 -0
  18. {musica-0.12.0 → musica-0.12.2}/cmake/setup_musica_target.cmake +22 -2
  19. {musica-0.12.0 → musica-0.12.2}/cmake/summary.cmake +7 -1
  20. {musica-0.12.0 → musica-0.12.2}/cmake/test_util.cmake +0 -3
  21. musica-0.12.2/configs/tuvx/data/cross_sections/1-C4H9ONO2_1.nc +0 -0
  22. musica-0.12.2/configs/tuvx/data/cross_sections/2-C4H9ONO2_1.nc +0 -0
  23. musica-0.12.2/configs/tuvx/data/cross_sections/ACETONE_JPL06.nc +0 -0
  24. musica-0.12.2/configs/tuvx/data/cross_sections/BRONO2_JPL06.nc +0 -0
  25. musica-0.12.2/configs/tuvx/data/cross_sections/BRO_JPL06.nc +0 -0
  26. musica-0.12.2/configs/tuvx/data/cross_sections/Br2_1.nc +0 -0
  27. musica-0.12.2/configs/tuvx/data/cross_sections/BrCl_1.nc +0 -0
  28. musica-0.12.2/configs/tuvx/data/cross_sections/BrNO2_1.nc +0 -0
  29. musica-0.12.2/configs/tuvx/data/cross_sections/BrNO_1.nc +0 -0
  30. musica-0.12.2/configs/tuvx/data/cross_sections/BrONO2_1.nc +0 -0
  31. musica-0.12.2/configs/tuvx/data/cross_sections/BrONO_1.nc +0 -0
  32. musica-0.12.2/configs/tuvx/data/cross_sections/BrO_1.nc +0 -0
  33. musica-0.12.2/configs/tuvx/data/cross_sections/C2H5CHO_1.nc +0 -0
  34. musica-0.12.2/configs/tuvx/data/cross_sections/C2H5ONO2_1.nc +0 -0
  35. musica-0.12.2/configs/tuvx/data/cross_sections/CCl2O_1.nc +0 -0
  36. musica-0.12.2/configs/tuvx/data/cross_sections/CCl4_1.nc +0 -0
  37. musica-0.12.2/configs/tuvx/data/cross_sections/CClFO_1.nc +0 -0
  38. musica-0.12.2/configs/tuvx/data/cross_sections/CF2Br2_1.nc +0 -0
  39. musica-0.12.2/configs/tuvx/data/cross_sections/CF2BrCF2Br_1.nc +0 -0
  40. musica-0.12.2/configs/tuvx/data/cross_sections/CF2BrCl_1.nc +0 -0
  41. musica-0.12.2/configs/tuvx/data/cross_sections/CF2CL2_JPL06.nc +0 -0
  42. musica-0.12.2/configs/tuvx/data/cross_sections/CF2ClCF2CHFCl_1.nc +0 -0
  43. musica-0.12.2/configs/tuvx/data/cross_sections/CF2O_1.nc +0 -0
  44. musica-0.12.2/configs/tuvx/data/cross_sections/CF3Br_1.nc +0 -0
  45. musica-0.12.2/configs/tuvx/data/cross_sections/CF3CF2CHCl2_1.nc +0 -0
  46. musica-0.12.2/configs/tuvx/data/cross_sections/CF3CHCl2_1.nc +0 -0
  47. musica-0.12.2/configs/tuvx/data/cross_sections/CF3CHCl_1.nc +0 -0
  48. musica-0.12.2/configs/tuvx/data/cross_sections/CF3CHFCl_1.nc +0 -0
  49. musica-0.12.2/configs/tuvx/data/cross_sections/CFC-113_1.nc +0 -0
  50. musica-0.12.2/configs/tuvx/data/cross_sections/CFC-114_1.nc +0 -0
  51. musica-0.12.2/configs/tuvx/data/cross_sections/CFC-115_1.nc +0 -0
  52. musica-0.12.2/configs/tuvx/data/cross_sections/CFC-11_1.nc +0 -0
  53. musica-0.12.2/configs/tuvx/data/cross_sections/CFC-12_1.nc +0 -0
  54. musica-0.12.2/configs/tuvx/data/cross_sections/CFC113_JPL06.nc +0 -0
  55. musica-0.12.2/configs/tuvx/data/cross_sections/CFC114_JPL10.nc +0 -0
  56. musica-0.12.2/configs/tuvx/data/cross_sections/CFC115_JPL10.nc +0 -0
  57. musica-0.12.2/configs/tuvx/data/cross_sections/CFCL3_JPL06.nc +0 -0
  58. musica-0.12.2/configs/tuvx/data/cross_sections/CH2BR2_1.nc +0 -0
  59. musica-0.12.2/configs/tuvx/data/cross_sections/CH2CHCHO_1.nc +0 -0
  60. musica-0.12.2/configs/tuvx/data/cross_sections/CH2O_1.nc +0 -0
  61. musica-0.12.2/configs/tuvx/data/cross_sections/CH3BR_JPL06.nc +0 -0
  62. musica-0.12.2/configs/tuvx/data/cross_sections/CH3Br_1.nc +0 -0
  63. musica-0.12.2/configs/tuvx/data/cross_sections/CH3CCl3_1.nc +0 -0
  64. musica-0.12.2/configs/tuvx/data/cross_sections/CH3CF2Cl_1.nc +0 -0
  65. musica-0.12.2/configs/tuvx/data/cross_sections/CH3CFCl2_1.nc +0 -0
  66. musica-0.12.2/configs/tuvx/data/cross_sections/CH3CH2ONO2_1.nc +0 -0
  67. musica-0.12.2/configs/tuvx/data/cross_sections/CH3CH3NNO_1.nc +0 -0
  68. musica-0.12.2/configs/tuvx/data/cross_sections/CH3CHONO2CH3_1.nc +0 -0
  69. musica-0.12.2/configs/tuvx/data/cross_sections/CH3CHO_1.nc +0 -0
  70. musica-0.12.2/configs/tuvx/data/cross_sections/CH3CL_JPL06.nc +0 -0
  71. musica-0.12.2/configs/tuvx/data/cross_sections/CH3COCH2CH3_1.nc +0 -0
  72. musica-0.12.2/configs/tuvx/data/cross_sections/CH3COCH3_1.nc +0 -0
  73. musica-0.12.2/configs/tuvx/data/cross_sections/CH3COCHO_1.nc +0 -0
  74. musica-0.12.2/configs/tuvx/data/cross_sections/CH3COCOCH3_1.nc +0 -0
  75. musica-0.12.2/configs/tuvx/data/cross_sections/CH3COCOOH_1.nc +0 -0
  76. musica-0.12.2/configs/tuvx/data/cross_sections/CH3COOH_1.nc +0 -0
  77. musica-0.12.2/configs/tuvx/data/cross_sections/CH3COOOH_1.nc +0 -0
  78. musica-0.12.2/configs/tuvx/data/cross_sections/CH3Cl_1.nc +0 -0
  79. musica-0.12.2/configs/tuvx/data/cross_sections/CH3OCl_1.nc +0 -0
  80. musica-0.12.2/configs/tuvx/data/cross_sections/CH3ONO2_1.nc +0 -0
  81. musica-0.12.2/configs/tuvx/data/cross_sections/CH3OOH_1.nc +0 -0
  82. musica-0.12.2/configs/tuvx/data/cross_sections/CH3OONO2_1.nc +0 -0
  83. musica-0.12.2/configs/tuvx/data/cross_sections/CH4_1.nc +0 -0
  84. musica-0.12.2/configs/tuvx/data/cross_sections/CHBR3_JPL10.nc +0 -0
  85. musica-0.12.2/configs/tuvx/data/cross_sections/CHBr3_1.nc +0 -0
  86. musica-0.12.2/configs/tuvx/data/cross_sections/CHCl3_1.nc +0 -0
  87. musica-0.12.2/configs/tuvx/data/cross_sections/CHClF2_1.nc +0 -0
  88. musica-0.12.2/configs/tuvx/data/cross_sections/CHOCHO_1.nc +0 -0
  89. musica-0.12.2/configs/tuvx/data/cross_sections/CL2O2_JPL10.nc +0 -0
  90. musica-0.12.2/configs/tuvx/data/cross_sections/CLO_JPL06.nc +0 -0
  91. musica-0.12.2/configs/tuvx/data/cross_sections/CO2_1.nc +0 -0
  92. musica-0.12.2/configs/tuvx/data/cross_sections/COF2_1.nc +0 -0
  93. musica-0.12.2/configs/tuvx/data/cross_sections/COFCl_1.nc +0 -0
  94. musica-0.12.2/configs/tuvx/data/cross_sections/Cl2O2_1.nc +0 -0
  95. musica-0.12.2/configs/tuvx/data/cross_sections/ClNO2_1.nc +0 -0
  96. musica-0.12.2/configs/tuvx/data/cross_sections/ClONO2_1.nc +0 -0
  97. musica-0.12.2/configs/tuvx/data/cross_sections/ClONO_1.nc +0 -0
  98. musica-0.12.2/configs/tuvx/data/cross_sections/ClOOCl_1.nc +0 -0
  99. musica-0.12.2/configs/tuvx/data/cross_sections/ClOO_1.nc +0 -0
  100. musica-0.12.2/configs/tuvx/data/cross_sections/ClO_1.nc +0 -0
  101. musica-0.12.2/configs/tuvx/data/cross_sections/H1301_JPL06.nc +0 -0
  102. musica-0.12.2/configs/tuvx/data/cross_sections/H2402_JPL06.nc +0 -0
  103. musica-0.12.2/configs/tuvx/data/cross_sections/H2O2_1.nc +0 -0
  104. musica-0.12.2/configs/tuvx/data/cross_sections/H2O_1.nc +0 -0
  105. musica-0.12.2/configs/tuvx/data/cross_sections/H2O_2.nc +0 -0
  106. musica-0.12.2/configs/tuvx/data/cross_sections/H2O_3.nc +0 -0
  107. musica-0.12.2/configs/tuvx/data/cross_sections/H2SO4_1.nc +0 -0
  108. musica-0.12.2/configs/tuvx/data/cross_sections/HBr_1.nc +0 -0
  109. musica-0.12.2/configs/tuvx/data/cross_sections/HCFC141b_JPL10.nc +0 -0
  110. musica-0.12.2/configs/tuvx/data/cross_sections/HCFC142b_JPL10.nc +0 -0
  111. musica-0.12.2/configs/tuvx/data/cross_sections/HCFC22_JPL06.nc +0 -0
  112. musica-0.12.2/configs/tuvx/data/cross_sections/HCl_1.nc +0 -0
  113. musica-0.12.2/configs/tuvx/data/cross_sections/HF_1.nc +0 -0
  114. musica-0.12.2/configs/tuvx/data/cross_sections/HNO2_1.nc +0 -0
  115. musica-0.12.2/configs/tuvx/data/cross_sections/HNO3_1.nc +0 -0
  116. musica-0.12.2/configs/tuvx/data/cross_sections/HNO3_JPL06.nc +0 -0
  117. musica-0.12.2/configs/tuvx/data/cross_sections/HNO4_1.nc +0 -0
  118. musica-0.12.2/configs/tuvx/data/cross_sections/HO2NO2_JPL06.nc +0 -0
  119. musica-0.12.2/configs/tuvx/data/cross_sections/HO2NO2_temp_JPL06.nc +0 -0
  120. musica-0.12.2/configs/tuvx/data/cross_sections/HO2_1.nc +0 -0
  121. musica-0.12.2/configs/tuvx/data/cross_sections/HOCH2CHO_1.nc +0 -0
  122. musica-0.12.2/configs/tuvx/data/cross_sections/HOCH2CHO_tyndall.nc +0 -0
  123. musica-0.12.2/configs/tuvx/data/cross_sections/HOCH2OOH_1.nc +0 -0
  124. musica-0.12.2/configs/tuvx/data/cross_sections/HOCl_1.nc +0 -0
  125. musica-0.12.2/configs/tuvx/data/cross_sections/HONO_1.nc +0 -0
  126. musica-0.12.2/configs/tuvx/data/cross_sections/Hydroxyacetone_1.nc +0 -0
  127. musica-0.12.2/configs/tuvx/data/cross_sections/I2_1.nc +0 -0
  128. musica-0.12.2/configs/tuvx/data/cross_sections/IOH_1.nc +0 -0
  129. musica-0.12.2/configs/tuvx/data/cross_sections/IO_1.nc +0 -0
  130. musica-0.12.2/configs/tuvx/data/cross_sections/MVK_1.nc +0 -0
  131. musica-0.12.2/configs/tuvx/data/cross_sections/Methacrolein_1.nc +0 -0
  132. musica-0.12.2/configs/tuvx/data/cross_sections/N2O5_1.nc +0 -0
  133. musica-0.12.2/configs/tuvx/data/cross_sections/N2O5_2.nc +0 -0
  134. musica-0.12.2/configs/tuvx/data/cross_sections/N2O5_JPL06.nc +0 -0
  135. musica-0.12.2/configs/tuvx/data/cross_sections/NO2_1.nc +0 -0
  136. musica-0.12.2/configs/tuvx/data/cross_sections/NO3-(aq)_1.nc +0 -0
  137. musica-0.12.2/configs/tuvx/data/cross_sections/NO3_1.nc +0 -0
  138. musica-0.12.2/configs/tuvx/data/cross_sections/NOCl_1.nc +0 -0
  139. musica-0.12.2/configs/tuvx/data/cross_sections/O2_1.nc +0 -0
  140. musica-0.12.2/configs/tuvx/data/cross_sections/O2_JPL06.nc +0 -0
  141. musica-0.12.2/configs/tuvx/data/cross_sections/O3_1.nc +0 -0
  142. musica-0.12.2/configs/tuvx/data/cross_sections/O3_2.nc +0 -0
  143. musica-0.12.2/configs/tuvx/data/cross_sections/O3_3.nc +0 -0
  144. musica-0.12.2/configs/tuvx/data/cross_sections/O3_4.nc +0 -0
  145. musica-0.12.2/configs/tuvx/data/cross_sections/O3_JPL06_218K.nc +0 -0
  146. musica-0.12.2/configs/tuvx/data/cross_sections/O3_JPL06_298K.nc +0 -0
  147. musica-0.12.2/configs/tuvx/data/cross_sections/O3_JPL06_base.nc +0 -0
  148. musica-0.12.2/configs/tuvx/data/cross_sections/OCS_1.nc +0 -0
  149. musica-0.12.2/configs/tuvx/data/cross_sections/OClO_1.nc +0 -0
  150. musica-0.12.2/configs/tuvx/data/cross_sections/OClO_2.nc +0 -0
  151. musica-0.12.2/configs/tuvx/data/cross_sections/OClO_3.nc +0 -0
  152. musica-0.12.2/configs/tuvx/data/cross_sections/PAN_1.nc +0 -0
  153. musica-0.12.2/configs/tuvx/data/cross_sections/PPN_1.nc +0 -0
  154. musica-0.12.2/configs/tuvx/data/cross_sections/SF6_1.nc +0 -0
  155. musica-0.12.2/configs/tuvx/data/cross_sections/SO2_1.nc +0 -0
  156. musica-0.12.2/configs/tuvx/data/cross_sections/SO2_Mills.nc +0 -0
  157. musica-0.12.2/configs/tuvx/data/cross_sections/SO3_1.nc +0 -0
  158. musica-0.12.2/configs/tuvx/data/cross_sections/SO_1.nc +0 -0
  159. musica-0.12.2/configs/tuvx/data/cross_sections/nC3H7ONO2_1.nc +0 -0
  160. musica-0.12.2/configs/tuvx/data/cross_sections/perfluoro 1-iodopropane_1.nc +0 -0
  161. musica-0.12.2/configs/tuvx/data/cross_sections/t-butyl-nitrite_1.nc +0 -0
  162. musica-0.12.2/configs/tuvx/data/dose_rates.json +211 -0
  163. musica-0.12.2/configs/tuvx/data/grids/wavelength/cam.csv +104 -0
  164. musica-0.12.2/configs/tuvx/data/grids/wavelength/combined.grid +158 -0
  165. musica-0.12.2/configs/tuvx/data/grids/wavelength/fast_tuv.grid +22 -0
  166. musica-0.12.2/configs/tuvx/data/grids/wavelength/isaksen.grid +133 -0
  167. musica-0.12.2/configs/tuvx/data/grids/wavelength/kockarts.grid +16 -0
  168. musica-0.12.2/configs/tuvx/data/photolysis_rate_constants.json +1425 -0
  169. musica-0.12.2/configs/tuvx/data/profiles/atmosphere/atmmod.afglmw.100 +103 -0
  170. musica-0.12.2/configs/tuvx/data/profiles/atmosphere/o3column.dat +27 -0
  171. musica-0.12.2/configs/tuvx/data/profiles/atmosphere/toms7.78_93.ave +18 -0
  172. musica-0.12.2/configs/tuvx/data/profiles/atmosphere/ussa.dens +124 -0
  173. musica-0.12.2/configs/tuvx/data/profiles/atmosphere/ussa.ozone +46 -0
  174. musica-0.12.2/configs/tuvx/data/profiles/atmosphere/ussa.temp +124 -0
  175. musica-0.12.2/configs/tuvx/data/profiles/solar/atlas3_1994_317_a.dat +5164 -0
  176. musica-0.12.2/configs/tuvx/data/profiles/solar/neckel.flx +505 -0
  177. musica-0.12.2/configs/tuvx/data/profiles/solar/sao2010.solref.converted +80098 -0
  178. musica-0.12.2/configs/tuvx/data/profiles/solar/susim_hi.flx +5595 -0
  179. musica-0.12.2/configs/tuvx/data/quantum_yields/C2H5CHO_1.nc +0 -0
  180. musica-0.12.2/configs/tuvx/data/quantum_yields/CH2O_1.nc +0 -0
  181. musica-0.12.2/configs/tuvx/data/quantum_yields/CH3CHO_1.nc +0 -0
  182. musica-0.12.2/configs/tuvx/data/quantum_yields/CHOCHO-CH2O_CO_1.nc +0 -0
  183. musica-0.12.2/configs/tuvx/data/quantum_yields/CHOCHO-H2_CO_CO_1.nc +0 -0
  184. musica-0.12.2/configs/tuvx/data/quantum_yields/CHOCHO-HCO_HCO_1.nc +0 -0
  185. musica-0.12.2/configs/tuvx/data/quantum_yields/H2O_2H_O3P.nc +0 -0
  186. musica-0.12.2/configs/tuvx/data/quantum_yields/H2O_H2_O1D.nc +0 -0
  187. musica-0.12.2/configs/tuvx/data/quantum_yields/H2O_H_OH.nc +0 -0
  188. musica-0.12.2/configs/tuvx/data/quantum_yields/H2SO4_mills.nc +0 -0
  189. musica-0.12.2/configs/tuvx/data/quantum_yields/I2_1.nc +0 -0
  190. musica-0.12.2/configs/tuvx/data/quantum_yields/NO2_1.nc +0 -0
  191. musica-0.12.2/configs/tuvx/data/quantum_yields/NO3-NO+O2_1.nc +0 -0
  192. musica-0.12.2/configs/tuvx/data/quantum_yields/NO3-NO2+O(3P)_1.nc +0 -0
  193. musica-0.12.2/configs/tuvx/data/spectral_weights/Cataract, pig(Oriowo et al.,2001)_spectral_wght_1.nc +0 -0
  194. musica-0.12.2/configs/tuvx/data/spectral_weights/DNA_damage_in_vitro(Setlow,1974)_spectral_wght_1.nc +0 -0
  195. musica-0.12.2/configs/tuvx/data/spectral_weights/Eppley-UV-Photometer_spectral_wght_1.nc +0 -0
  196. musica-0.12.2/configs/tuvx/data/spectral_weights/Erythema,humans(Anders et al.,1995)_spectral_wght_1.nc +0 -0
  197. musica-0.12.2/configs/tuvx/data/spectral_weights/NMSC (CIE 2006)_spectral_wght_1.nc +0 -0
  198. musica-0.12.2/configs/tuvx/data/spectral_weights/Occupational TLV (ACGIH,1992)_spectral_wght_1.nc +0 -0
  199. musica-0.12.2/configs/tuvx/data/spectral_weights/Phytoplankton, phaeo(Cullen et al. 1992)_spectral_wght_1.nc +0 -0
  200. musica-0.12.2/configs/tuvx/data/spectral_weights/Phytoplankton, proro(Cullen et al. 1992)_spectral_wght_1.nc +0 -0
  201. musica-0.12.2/configs/tuvx/data/spectral_weights/Previtamin-D3 (CIE 2006)_spectral_wght_1.nc +0 -0
  202. musica-0.12.2/configs/tuvx/data/spectral_weights/RB-Meter,model_501_spectral_wght_1.nc +0 -0
  203. van der Leun,1994)_spectral_wght_1.nc +0 -0
  204. musica-0.12.2/configs/tuvx/tuv_5_4.json +1807 -0
  205. musica-0.12.2/configs/v0/TS1/reactions.json +8355 -0
  206. {musica-0.12.0 → musica-0.12.2}/configs/v0/TS1/species.json +26 -25
  207. {musica-0.12.0 → musica-0.12.2}/configs/v1/full_configuration/full_configuration.json +120 -30
  208. {musica-0.12.0 → musica-0.12.2}/configs/v1/full_configuration/full_configuration.yaml +85 -28
  209. musica-0.12.2/configs/v1/ts1/initial_conditions.csv +363 -0
  210. musica-0.12.2/configs/v1/ts1/ts1.json +17961 -0
  211. {musica-0.12.0 → musica-0.12.2}/docker/Dockerfile +1 -0
  212. {musica-0.12.0 → musica-0.12.2}/docker/Dockerfile.coverage +1 -0
  213. {musica-0.12.0 → musica-0.12.2}/docker/Dockerfile.docs +16 -8
  214. {musica-0.12.0 → musica-0.12.2}/docker/Dockerfile.fortran-gcc +1 -0
  215. {musica-0.12.0 → musica-0.12.2}/docker/Dockerfile.fortran-gcc.integration +5 -3
  216. {musica-0.12.0 → musica-0.12.2}/docker/Dockerfile.fortran-intel +9 -8
  217. {musica-0.12.0 → musica-0.12.2}/docker/Dockerfile.fortran-intel.pkgconfig +1 -0
  218. {musica-0.12.0 → musica-0.12.2}/docker/Dockerfile.fortran-nvhpc +8 -8
  219. {musica-0.12.0 → musica-0.12.2}/docker/Dockerfile.fortran-nvhpc.pkgconfig +1 -1
  220. {musica-0.12.0 → musica-0.12.2}/docker/Dockerfile.memcheck +1 -0
  221. {musica-0.12.0 → musica-0.12.2}/docker/Dockerfile.mpi +1 -0
  222. {musica-0.12.0 → musica-0.12.2}/docker/Dockerfile.mpi_openmp +1 -0
  223. {musica-0.12.0 → musica-0.12.2}/docker/Dockerfile.nvhpc +3 -2
  224. {musica-0.12.0 → musica-0.12.2}/docker/Dockerfile.openmp +1 -0
  225. musica-0.12.0/docker/Dockerfile.python-tests → musica-0.12.2/docker/Dockerfile.python +9 -9
  226. {musica-0.12.0 → musica-0.12.2}/docs/Doxyfile.in +2 -2
  227. {musica-0.12.0 → musica-0.12.2}/docs/Makefile +3 -0
  228. {musica-0.12.0 → musica-0.12.2}/docs/requirements.txt +7 -0
  229. {musica-0.12.0 → musica-0.12.2}/docs/source/api/index.rst +2 -0
  230. {musica-0.12.0 → musica-0.12.2}/docs/source/api/python.rst +17 -8
  231. musica-0.12.2/docs/source/citing/index.rst +40 -0
  232. {musica-0.12.0 → musica-0.12.2}/docs/source/conf.py +11 -0
  233. musica-0.12.2/docs/source/contributing/index.rst +142 -0
  234. musica-0.12.2/docs/source/getting_started/fortran.rst +157 -0
  235. musica-0.12.2/docs/source/getting_started/getting_started.rst +17 -0
  236. musica-0.12.2/docs/source/getting_started/getting_started_output.png +0 -0
  237. musica-0.12.2/docs/source/getting_started/python.rst +164 -0
  238. musica-0.12.2/docs/source/index.rst +71 -0
  239. {musica-0.12.0/tutorial → musica-0.12.2/docs/source/tutorials}/1. multiple_grid_cells.ipynb +258 -21
  240. musica-0.12.2/docs/source/tutorials/2. hypercube.ipynb +541 -0
  241. musica-0.12.2/docs/source/tutorials/3. user_defined_reactions.ipynb +515 -0
  242. musica-0.12.2/docs/source/tutorials/4. local_parallelization.ipynb +1127 -0
  243. musica-0.12.2/docs/source/tutorials/5. hpc_parallelization.ipynb +1130 -0
  244. musica-0.12.2/docs/source/tutorials/6. gpu_solver.ipynb +244 -0
  245. musica-0.12.2/docs/source/tutorials/7. carma.ipynb +1667 -0
  246. {musica-0.12.0/docs/source/tutorial → musica-0.12.2/docs/source/tutorials}/chapter0.rst +2 -0
  247. {musica-0.12.0/docs/source/tutorial → musica-0.12.2/docs/source/tutorials}/chapter2.rst +5 -3
  248. musica-0.12.2/docs/source/tutorials/config/dask_scaling_tests.csv +37 -0
  249. musica-0.12.2/docs/source/tutorials/tutorials.rst +68 -0
  250. musica-0.12.2/docs/source/user_guide/chemistry/index.rst +57 -0
  251. musica-0.12.2/docs/source/user_guide/examples/index.rst +54 -0
  252. {musica-0.12.0 → musica-0.12.2}/docs/source/user_guide/fortran_c.rst +1 -1
  253. musica-0.12.2/docs/source/user_guide/gpu/index.rst +144 -0
  254. musica-0.12.2/docs/source/user_guide/index.rst +28 -0
  255. musica-0.12.2/docs/source/user_guide/installation/index.rst +51 -0
  256. musica-0.12.2/docs/source/user_guide/model/index.rst +53 -0
  257. musica-0.12.2/docs/source/user_guide/multigrid/hypercube/index.rst +117 -0
  258. musica-0.12.2/docs/source/user_guide/multigrid/index.rst +25 -0
  259. musica-0.12.2/docs/source/user_guide/multigrid/parallel/index.rst +243 -0
  260. musica-0.12.2/docs/source/user_guide/multigrid/two-grid-cell/index.rst +110 -0
  261. musica-0.12.2/docs/source/user_guide/output/example_plot.png +0 -0
  262. musica-0.12.2/docs/source/user_guide/output/index.rst +76 -0
  263. {musica-0.12.0 → musica-0.12.2}/fortran/micm/micm.F90 +9 -9
  264. {musica-0.12.0 → musica-0.12.2}/fortran/micm/state.F90 +10 -7
  265. {musica-0.12.0 → musica-0.12.2}/fortran/util.F90 +22 -24
  266. musica-0.12.2/include/musica/carma/carma.hpp +429 -0
  267. musica-0.12.2/include/musica/carma/carma_c_interface.hpp +466 -0
  268. musica-0.12.2/include/musica/carma/carma_state.hpp +175 -0
  269. musica-0.12.2/include/musica/carma/error.hpp +41 -0
  270. {musica-0.12.0 → musica-0.12.2}/include/musica/micm/micm_c_interface.hpp +13 -8
  271. {musica-0.12.0 → musica-0.12.2}/include/musica/micm/parse.hpp +7 -1
  272. {musica-0.12.0 → musica-0.12.2}/include/musica/micm/state_c_interface.hpp +8 -8
  273. musica-0.12.2/include/musica/tuvx/tuvx.hpp +130 -0
  274. musica-0.12.0/include/musica/tuvx/tuvx.hpp → musica-0.12.2/include/musica/tuvx/tuvx_c_interface.hpp +14 -74
  275. {musica-0.12.0 → musica-0.12.2}/include/musica/util.hpp +19 -18
  276. {musica-0.12.0 → musica-0.12.2}/musica/CMakeLists.txt +28 -2
  277. musica-0.12.2/musica/__init__.py +11 -0
  278. musica-0.12.2/musica/backend.py +41 -0
  279. musica-0.12.2/musica/binding_common.cpp +33 -0
  280. musica-0.12.2/musica/carma.cpp +911 -0
  281. musica-0.12.2/musica/carma.py +1729 -0
  282. {musica-0.12.0 → musica-0.12.2}/musica/constants.py +1 -1
  283. {musica-0.12.0 → musica-0.12.2}/musica/cpu_binding.cpp +2 -1
  284. {musica-0.12.0 → musica-0.12.2}/musica/cuda.py +4 -1
  285. musica-0.12.2/musica/examples/__init__.py +1 -0
  286. musica-0.12.2/musica/examples/carma_aluminum.py +124 -0
  287. musica-0.12.2/musica/examples/carma_sulfate.py +246 -0
  288. musica-0.12.2/musica/examples/examples.py +165 -0
  289. musica-0.12.2/musica/examples/sulfate_box_model.py +439 -0
  290. musica-0.12.2/musica/examples/ts1_latin_hypercube.py +245 -0
  291. {musica-0.12.0 → musica-0.12.2}/musica/gpu_binding.cpp +2 -1
  292. musica-0.12.2/musica/main.py +89 -0
  293. musica-0.12.2/musica/mechanism_configuration/__init__.py +1 -0
  294. musica-0.12.2/musica/mechanism_configuration/aqueous_equilibrium.py +274 -0
  295. musica-0.12.2/musica/mechanism_configuration/arrhenius.py +307 -0
  296. musica-0.12.2/musica/mechanism_configuration/branched.py +299 -0
  297. musica-0.12.2/musica/mechanism_configuration/condensed_phase_arrhenius.py +309 -0
  298. {musica-0.12.0 → musica-0.12.2}/musica/mechanism_configuration/condensed_phase_photolysis.py +16 -19
  299. {musica-0.12.0 → musica-0.12.2}/musica/mechanism_configuration/emission.py +10 -6
  300. musica-0.12.2/musica/mechanism_configuration/first_order_loss.py +174 -0
  301. musica-0.12.2/musica/mechanism_configuration/henrys_law.py +44 -0
  302. {musica-0.12.0 → musica-0.12.2}/musica/mechanism_configuration/mechanism_configuration.py +114 -41
  303. {musica-0.12.0 → musica-0.12.2}/musica/mechanism_configuration/phase.py +6 -2
  304. {musica-0.12.0 → musica-0.12.2}/musica/mechanism_configuration/photolysis.py +12 -7
  305. {musica-0.12.0 → musica-0.12.2}/musica/mechanism_configuration/reactions.py +20 -8
  306. musica-0.12.2/musica/mechanism_configuration/simpol_phase_transfer.py +217 -0
  307. {musica-0.12.0 → musica-0.12.2}/musica/mechanism_configuration/species.py +23 -4
  308. {musica-0.12.0 → musica-0.12.2}/musica/mechanism_configuration/surface.py +14 -9
  309. musica-0.12.2/musica/mechanism_configuration/ternary_chemical_activation.py +352 -0
  310. musica-0.12.2/musica/mechanism_configuration/troe.py +352 -0
  311. musica-0.12.2/musica/mechanism_configuration/tunneling.py +250 -0
  312. {musica-0.12.0 → musica-0.12.2}/musica/mechanism_configuration/user_defined.py +9 -4
  313. {musica-0.12.0 → musica-0.12.2}/musica/mechanism_configuration/wet_deposition.py +11 -8
  314. {musica-0.12.0 → musica-0.12.2}/musica/mechanism_configuration.cpp +184 -95
  315. {musica-0.12.0 → musica-0.12.2}/musica/musica.cpp +48 -61
  316. {musica-0.12.0 → musica-0.12.2}/musica/test/examples/v1/full_configuration/full_configuration.json +39 -22
  317. {musica-0.12.0 → musica-0.12.2}/musica/test/examples/v1/full_configuration/full_configuration.yaml +29 -20
  318. {musica-0.12.0/musica/test → musica-0.12.2/musica/test/integration}/test_analytical.py +0 -1
  319. musica-0.12.2/musica/test/integration/test_carma.py +227 -0
  320. musica-0.12.2/musica/test/integration/test_carma_aluminum.py +12 -0
  321. musica-0.12.2/musica/test/integration/test_carma_sulfate.py +17 -0
  322. musica-0.12.2/musica/test/integration/test_sulfate_box_model.py +34 -0
  323. musica-0.12.2/musica/test/integration/test_tuvx.py +62 -0
  324. musica-0.12.2/musica/test/unit/test_parser.py +64 -0
  325. {musica-0.12.0/musica/test → musica-0.12.2/musica/test/unit}/test_serializer.py +2 -2
  326. musica-0.12.2/musica/test/unit/test_state.py +325 -0
  327. {musica-0.12.0/musica/test → musica-0.12.2/musica/test/unit}/test_util_full_mechanism.py +152 -122
  328. musica-0.12.2/musica/tools/prepare_build_environment_linux.sh +32 -0
  329. musica-0.12.2/musica/tools/prepare_build_environment_macos.sh +1 -0
  330. musica-0.12.2/musica/tuvx.cpp +93 -0
  331. musica-0.12.2/musica/tuvx.py +199 -0
  332. {musica-0.12.0 → musica-0.12.2}/musica/types.py +120 -73
  333. musica-0.12.2/pyproject.toml +136 -0
  334. {musica-0.12.0 → musica-0.12.2}/spack/packages/musica/package.py +9 -1
  335. {musica-0.12.0 → musica-0.12.2}/src/CMakeLists.txt +21 -4
  336. musica-0.12.2/src/carma/carma.cpp +656 -0
  337. musica-0.12.2/src/carma/carma_c_interface.cpp +40 -0
  338. musica-0.12.2/src/carma/carma_parameters.F90 +295 -0
  339. musica-0.12.2/src/carma/carma_state.cpp +423 -0
  340. musica-0.12.2/src/carma/interface.F90 +1568 -0
  341. musica-0.12.2/src/micm/convert_v0_to_v1.cpp +289 -0
  342. {musica-0.12.0 → musica-0.12.2}/src/micm/micm_c_interface.cpp +11 -5
  343. {musica-0.12.0 → musica-0.12.2}/src/micm/state_c_interface.cpp +12 -16
  344. {musica-0.12.0 → musica-0.12.2}/src/micm/v0_parse.cpp +52 -31
  345. {musica-0.12.0 → musica-0.12.2}/src/micm/v1_parse.cpp +98 -41
  346. {musica-0.12.0 → musica-0.12.2}/src/packaging/CMakeLists.txt +13 -2
  347. musica-0.12.2/src/test/data/tuvx/from_host/O2_parameters.txt +44 -0
  348. {musica-0.12.0 → musica-0.12.2}/src/test/unit/CMakeLists.txt +5 -1
  349. musica-0.12.2/src/test/unit/carma/CMakeLists.txt +3 -0
  350. musica-0.12.2/src/test/unit/carma/carma_c_api.cpp +258 -0
  351. {musica-0.12.0 → musica-0.12.2}/src/test/unit/micm/micm_c_api.cpp +14 -8
  352. musica-0.12.2/src/test/unit/micm/parser.cpp +500 -0
  353. {musica-0.12.0 → musica-0.12.2}/src/test/unit/tuvx/tuvx_c_api.cpp +1 -0
  354. {musica-0.12.0 → musica-0.12.2}/src/test/unit/tuvx/tuvx_run_from_config.cpp +1 -0
  355. {musica-0.12.0 → musica-0.12.2}/src/test/unit/util.cpp +26 -13
  356. musica-0.12.2/src/tuvx/interface.F90 +555 -0
  357. musica-0.12.2/src/tuvx/tuvx.cpp +329 -0
  358. musica-0.12.2/src/tuvx/tuvx_c_interface.cpp +91 -0
  359. {musica-0.12.0 → musica-0.12.2}/src/util.cpp +21 -27
  360. musica-0.12.2/tutorials/1. multiple_grid_cells.ipynb +752 -0
  361. musica-0.12.2/tutorials/2. hypercube.ipynb +541 -0
  362. musica-0.12.2/tutorials/3. user_defined_reactions.ipynb +515 -0
  363. musica-0.12.2/tutorials/4. local_parallelization.ipynb +1127 -0
  364. musica-0.12.2/tutorials/5. hpc_parallelization.ipynb +1130 -0
  365. musica-0.12.2/tutorials/6. gpu_solver.ipynb +244 -0
  366. musica-0.12.2/tutorials/7. carma.ipynb +3822 -0
  367. musica-0.12.2/tutorials/config/dask_scaling_tests.csv +37 -0
  368. musica-0.12.2/valgrind.supp +174 -0
  369. musica-0.12.0/.github/workflows/format-python.yml +0 -45
  370. musica-0.12.0/cmake/silence_warnings.cmake +0 -21
  371. musica-0.12.0/configs/v0/TS1/reactions.json +0 -7124
  372. musica-0.12.0/docker/Dockerfile.python +0 -41
  373. musica-0.12.0/docs/source/contributing/index.rst +0 -2
  374. musica-0.12.0/docs/source/getting_started/getting_started.rst +0 -10
  375. musica-0.12.0/docs/source/getting_started/installation.rst +0 -16
  376. musica-0.12.0/docs/source/getting_started/overview.rst +0 -19
  377. musica-0.12.0/docs/source/index.rst +0 -54
  378. musica-0.12.0/docs/source/tutorial/tutorial.rst +0 -11
  379. musica-0.12.0/docs/source/user_guide/configurations.rst +0 -4
  380. musica-0.12.0/docs/source/user_guide/index.rst +0 -17
  381. musica-0.12.0/musica/__init__.py +0 -51
  382. musica-0.12.0/musica/binding_common.cpp +0 -16
  383. musica-0.12.0/musica/mechanism_configuration/__init__.py +0 -1
  384. musica-0.12.0/musica/mechanism_configuration/aqueous_equilibrium.py +0 -101
  385. musica-0.12.0/musica/mechanism_configuration/arrhenius.py +0 -121
  386. musica-0.12.0/musica/mechanism_configuration/branched.py +0 -116
  387. musica-0.12.0/musica/mechanism_configuration/condensed_phase_arrhenius.py +0 -116
  388. musica-0.12.0/musica/mechanism_configuration/first_order_loss.py +0 -67
  389. musica-0.12.0/musica/mechanism_configuration/henrys_law.py +0 -85
  390. musica-0.12.0/musica/mechanism_configuration/simpol_phase_transfer.py +0 -88
  391. musica-0.12.0/musica/mechanism_configuration/troe.py +0 -137
  392. musica-0.12.0/musica/mechanism_configuration/tunneling.py +0 -103
  393. musica-0.12.0/musica/test/examples/v0/config.json +0 -7
  394. musica-0.12.0/musica/test/examples/v0/config.yaml +0 -3
  395. musica-0.12.0/musica/test/examples/v0/reactions.json +0 -193
  396. musica-0.12.0/musica/test/examples/v0/reactions.yaml +0 -142
  397. musica-0.12.0/musica/test/examples/v0/species.json +0 -40
  398. musica-0.12.0/musica/test/examples/v0/species.yaml +0 -19
  399. musica-0.12.0/musica/test/test_parser.py +0 -57
  400. musica-0.12.0/musica/test/tuvx.py +0 -10
  401. musica-0.12.0/musica/tools/prepare_build_environment_linux.sh +0 -43
  402. musica-0.12.0/musica/tools/prepare_build_environment_windows.sh +0 -22
  403. musica-0.12.0/pyproject.toml +0 -92
  404. musica-0.12.0/src/test/data/tuvx/fixed/stand_alone_tuvx_config.json +0 -175
  405. musica-0.12.0/src/test/unit/micm/parser.cpp +0 -100
  406. musica-0.12.0/src/tuvx/interface.F90 +0 -276
  407. musica-0.12.0/src/tuvx/tuvx.cpp +0 -236
  408. musica-0.12.0/tutorial/2. hypercube.ipynb +0 -529
  409. musica-0.12.0/tutorial/3. user_defined_reactions.ipynb +0 -515
  410. musica-0.12.0/valgrind.supp +0 -15
  411. {musica-0.12.0 → musica-0.12.2}/.clang-format +0 -0
  412. {musica-0.12.0 → musica-0.12.2}/.clang-tidy +0 -0
  413. {musica-0.12.0 → musica-0.12.2}/.github/workflows/clang_tidy.yml +0 -0
  414. {musica-0.12.0 → musica-0.12.2}/.github/workflows/close_stale_issues.yml +0 -0
  415. {musica-0.12.0 → musica-0.12.2}/.github/workflows/fetch_content_integration.yml +0 -0
  416. {musica-0.12.0 → musica-0.12.2}/.zenodo.json +0 -0
  417. {musica-0.12.0 → musica-0.12.2}/AUTHORS.md +0 -0
  418. {musica-0.12.0 → musica-0.12.2}/CONTRIBUTING.md +0 -0
  419. {musica-0.12.0 → musica-0.12.2}/LICENSE +0 -0
  420. {musica-0.12.0 → musica-0.12.2}/cmake/CodeCoverage.cmake +0 -0
  421. {musica-0.12.0 → musica-0.12.2}/cmake/FindSphinx.cmake +0 -0
  422. {musica-0.12.0 → musica-0.12.2}/cmake/SetDefaults.cmake +0 -0
  423. {musica-0.12.0 → musica-0.12.2}/cmake/cmake_uninstall.cmake.in +0 -0
  424. {musica-0.12.0 → musica-0.12.2}/cmake/musica-fortran.pc.in +0 -0
  425. {musica-0.12.0 → musica-0.12.2}/cmake/musica.pc.in +0 -0
  426. {musica-0.12.0 → musica-0.12.2}/cmake/musicaConfig.cmake.in +0 -0
  427. {musica-0.12.0/src/test/data/tuvx/fixed → musica-0.12.2/configs/tuvx/data/cross_sections}/O2_parameters.txt +0 -0
  428. {musica-0.12.0 → musica-0.12.2}/configs/v0/TS1/config.json +0 -0
  429. {musica-0.12.0 → musica-0.12.2}/configs/v0/TS1/initial_conditions.csv +0 -0
  430. {musica-0.12.0 → musica-0.12.2}/configs/v0/analytical/config.json +0 -0
  431. {musica-0.12.0 → musica-0.12.2}/configs/v0/analytical/reactions.json +0 -0
  432. {musica-0.12.0 → musica-0.12.2}/configs/v0/analytical/species.json +0 -0
  433. {musica-0.12.0 → musica-0.12.2}/configs/v0/carbon_bond_5/config.json +0 -0
  434. {musica-0.12.0 → musica-0.12.2}/configs/v0/carbon_bond_5/initial_conditions.csv +0 -0
  435. {musica-0.12.0 → musica-0.12.2}/configs/v0/carbon_bond_5/reactions.json +0 -0
  436. {musica-0.12.0 → musica-0.12.2}/configs/v0/carbon_bond_5/species.json +0 -0
  437. {musica-0.12.0 → musica-0.12.2}/configs/v0/chapman/config.json +0 -0
  438. {musica-0.12.0 → musica-0.12.2}/configs/v0/chapman/initial_conditions.csv +0 -0
  439. {musica-0.12.0 → musica-0.12.2}/configs/v0/chapman/reactions.json +0 -0
  440. {musica-0.12.0 → musica-0.12.2}/configs/v0/chapman/species.json +0 -0
  441. {musica-0.12.0 → musica-0.12.2}/configs/v0/robertson/config.json +0 -0
  442. {musica-0.12.0 → musica-0.12.2}/configs/v0/robertson/initial_conditions.csv +0 -0
  443. {musica-0.12.0 → musica-0.12.2}/configs/v0/robertson/reactions.json +0 -0
  444. {musica-0.12.0 → musica-0.12.2}/configs/v0/robertson/species.json +0 -0
  445. {musica-0.12.0 → musica-0.12.2}/configs/v1/chapman/config.json +0 -0
  446. {musica-0.12.0 → musica-0.12.2}/configs/v1/chapman/config.yaml +0 -0
  447. {musica-0.12.0 → musica-0.12.2}/docker/Dockerfile.wheel +0 -0
  448. {musica-0.12.0 → musica-0.12.2}/docs/CMakeLists.txt +0 -0
  449. {musica-0.12.0 → musica-0.12.2}/docs/Software Development Plan.pdf +0 -0
  450. {musica-0.12.0 → musica-0.12.2}/docs/make.bat +0 -0
  451. {musica-0.12.0 → musica-0.12.2}/docs/source/_static/custom.css +0 -0
  452. {musica-0.12.0 → musica-0.12.2}/docs/source/_static/ecosystem.png +0 -0
  453. {musica-0.12.0 → musica-0.12.2}/docs/source/_static/favicon/favicon.ico +0 -0
  454. {musica-0.12.0 → musica-0.12.2}/docs/source/_static/index_api.svg +0 -0
  455. {musica-0.12.0 → musica-0.12.2}/docs/source/_static/index_contribute.svg +0 -0
  456. {musica-0.12.0 → musica-0.12.2}/docs/source/_static/index_getting_started.svg +0 -0
  457. {musica-0.12.0 → musica-0.12.2}/docs/source/_static/index_user_guide.svg +0 -0
  458. {musica-0.12.0 → musica-0.12.2}/docs/source/_static/switcher.json +0 -0
  459. {musica-0.12.0 → musica-0.12.2}/docs/source/api/C++.rst +0 -0
  460. {musica-0.12.0 → musica-0.12.2}/docs/source/references.bib +0 -0
  461. {musica-0.12.0/docs/source/tutorial → musica-0.12.2/docs/source/tutorials}/chapter1.rst +0 -0
  462. {musica-0.12.0 → musica-0.12.2}/fortran/CMakeLists.txt +0 -0
  463. {musica-0.12.0 → musica-0.12.2}/fortran/micm/CMakeLists.txt +0 -0
  464. {musica-0.12.0 → musica-0.12.2}/fortran/packaging/CMakeLists.txt +0 -0
  465. {musica-0.12.0 → musica-0.12.2}/fortran/test/CMakeLists.txt +0 -0
  466. {musica-0.12.0 → musica-0.12.2}/fortran/test/fetch_content_integration/CMakeLists.txt +0 -0
  467. {musica-0.12.0 → musica-0.12.2}/fortran/test/fetch_content_integration/test_get_micm_version.F90 +0 -0
  468. {musica-0.12.0 → musica-0.12.2}/fortran/test/fetch_content_integration/test_micm_api.F90 +0 -0
  469. {musica-0.12.0 → musica-0.12.2}/fortran/test/fetch_content_integration/test_micm_box_model.F90 +0 -0
  470. {musica-0.12.0 → musica-0.12.2}/fortran/test/fetch_content_integration/test_tuvx_api.F90 +0 -0
  471. {musica-0.12.0 → musica-0.12.2}/fortran/test/test_simple.F90 +0 -0
  472. {musica-0.12.0 → musica-0.12.2}/fortran/test/tutorial/CMakeLists.txt +0 -0
  473. {musica-0.12.0 → musica-0.12.2}/fortran/test/tutorial/demo.F90 +0 -0
  474. {musica-0.12.0 → musica-0.12.2}/fortran/test/unit/CMakeLists.txt +0 -0
  475. {musica-0.12.0 → musica-0.12.2}/fortran/test/unit/tuvx.F90 +0 -0
  476. {musica-0.12.0 → musica-0.12.2}/fortran/test/unit/tuvx_openmp.F90 +0 -0
  477. {musica-0.12.0 → musica-0.12.2}/fortran/test/unit/util.F90 +0 -0
  478. {musica-0.12.0 → musica-0.12.2}/fortran/tuvx/CMakeLists.txt +0 -0
  479. {musica-0.12.0 → musica-0.12.2}/fortran/tuvx/grid.F90 +0 -0
  480. {musica-0.12.0 → musica-0.12.2}/fortran/tuvx/grid_map.F90 +0 -0
  481. {musica-0.12.0 → musica-0.12.2}/fortran/tuvx/profile.F90 +0 -0
  482. {musica-0.12.0 → musica-0.12.2}/fortran/tuvx/profile_map.F90 +0 -0
  483. {musica-0.12.0 → musica-0.12.2}/fortran/tuvx/radiator.F90 +0 -0
  484. {musica-0.12.0 → musica-0.12.2}/fortran/tuvx/radiator_map.F90 +0 -0
  485. {musica-0.12.0 → musica-0.12.2}/fortran/tuvx/tuvx.F90 +0 -0
  486. {musica-0.12.0 → musica-0.12.2}/include/musica/component_versions.hpp +0 -0
  487. {musica-0.12.0 → musica-0.12.2}/include/musica/error.hpp +0 -0
  488. {musica-0.12.0 → musica-0.12.2}/include/musica/micm/chemistry.hpp +0 -0
  489. {musica-0.12.0 → musica-0.12.2}/include/musica/micm/cuda_availability.hpp +0 -0
  490. {musica-0.12.0 → musica-0.12.2}/include/musica/micm/micm.hpp +0 -0
  491. {musica-0.12.0 → musica-0.12.2}/include/musica/micm/state.hpp +0 -0
  492. {musica-0.12.0 → musica-0.12.2}/include/musica/tuvx/grid.hpp +0 -0
  493. {musica-0.12.0 → musica-0.12.2}/include/musica/tuvx/grid_map.hpp +0 -0
  494. {musica-0.12.0 → musica-0.12.2}/include/musica/tuvx/profile.hpp +0 -0
  495. {musica-0.12.0 → musica-0.12.2}/include/musica/tuvx/profile_map.hpp +0 -0
  496. {musica-0.12.0 → musica-0.12.2}/include/musica/tuvx/radiator.hpp +0 -0
  497. {musica-0.12.0 → musica-0.12.2}/include/musica/tuvx/radiator_map.hpp +0 -0
  498. {musica-0.12.0 → musica-0.12.2}/include/musica/version.hpp +0 -0
  499. {musica-0.12.0 → musica-0.12.2}/musica/binding_common.hpp +0 -0
  500. {musica-0.12.0 → musica-0.12.2}/musica/cuda.cpp +0 -0
  501. {musica-0.12.0 → musica-0.12.2}/musica/mechanism_configuration/utils.py +0 -0
  502. {musica-0.12.0/musica/test → musica-0.12.2/musica/test/integration}/test_chapman.py +0 -0
  503. {musica-0.12.0 → musica-0.12.2}/musica/tools/repair_wheel_gpu.sh +0 -0
  504. {musica-0.12.0 → musica-0.12.2}/spack/repo.yaml +0 -0
  505. {musica-0.12.0 → musica-0.12.2}/src/component_versions.cpp +0 -0
  506. {musica-0.12.0 → musica-0.12.2}/src/micm/cuda_availability.cpp +0 -0
  507. {musica-0.12.0 → musica-0.12.2}/src/micm/micm.cpp +0 -0
  508. {musica-0.12.0 → musica-0.12.2}/src/micm/parse.cpp +0 -0
  509. {musica-0.12.0 → musica-0.12.2}/src/micm/state.cpp +0 -0
  510. {musica-0.12.0 → musica-0.12.2}/src/packaging/modulefile.lua.in +0 -0
  511. {musica-0.12.0 → musica-0.12.2}/src/test/CMakeLists.txt +0 -0
  512. {musica-0.12.0 → musica-0.12.2}/src/test/data/tuvx/fixed/O2_cross_section.nc +0 -0
  513. {musica-0.12.0/src/test/data/tuvx/from_host → musica-0.12.2/src/test/data/tuvx/fixed}/O2_parameters.txt +0 -0
  514. {musica-0.12.0 → musica-0.12.2}/src/test/data/tuvx/fixed/bar_cross_section.nc +0 -0
  515. {musica-0.12.0 → musica-0.12.2}/src/test/data/tuvx/fixed/config.json +0 -0
  516. {musica-0.12.0 → musica-0.12.2}/src/test/data/tuvx/fixed/foo_cross_section.nc +0 -0
  517. {musica-0.12.0 → musica-0.12.2}/src/test/data/tuvx/from_host/O2_cross_section.nc +0 -0
  518. {musica-0.12.0 → musica-0.12.2}/src/test/data/tuvx/from_host/bar_cross_section.nc +0 -0
  519. {musica-0.12.0 → musica-0.12.2}/src/test/data/tuvx/from_host/config.json +0 -0
  520. {musica-0.12.0 → musica-0.12.2}/src/test/data/tuvx/from_host/foo_cross_section.nc +0 -0
  521. {musica-0.12.0 → musica-0.12.2}/src/test/data/util_index_mapping_from_file.json +0 -0
  522. {musica-0.12.0 → musica-0.12.2}/src/test/test_simple.c +0 -0
  523. {musica-0.12.0 → musica-0.12.2}/src/test/unit/component_versions.cpp +0 -0
  524. {musica-0.12.0 → musica-0.12.2}/src/test/unit/micm/CMakeLists.txt +0 -0
  525. {musica-0.12.0 → musica-0.12.2}/src/test/unit/micm/micm_wrapper.cpp +0 -0
  526. {musica-0.12.0 → musica-0.12.2}/src/test/unit/tuvx/CMakeLists.txt +0 -0
  527. {musica-0.12.0 → musica-0.12.2}/src/tuvx/grid.cpp +0 -0
  528. {musica-0.12.0 → musica-0.12.2}/src/tuvx/grid_map.cpp +0 -0
  529. {musica-0.12.0 → musica-0.12.2}/src/tuvx/interface_grid.F90 +0 -0
  530. {musica-0.12.0 → musica-0.12.2}/src/tuvx/interface_grid_map.F90 +0 -0
  531. {musica-0.12.0 → musica-0.12.2}/src/tuvx/interface_profile.F90 +0 -0
  532. {musica-0.12.0 → musica-0.12.2}/src/tuvx/interface_profile_map.F90 +0 -0
  533. {musica-0.12.0 → musica-0.12.2}/src/tuvx/interface_radiator.F90 +0 -0
  534. {musica-0.12.0 → musica-0.12.2}/src/tuvx/interface_radiator_map.F90 +0 -0
  535. {musica-0.12.0 → musica-0.12.2}/src/tuvx/interface_util.F90 +0 -0
  536. {musica-0.12.0 → musica-0.12.2}/src/tuvx/profile.cpp +0 -0
  537. {musica-0.12.0 → musica-0.12.2}/src/tuvx/profile_map.cpp +0 -0
  538. {musica-0.12.0 → musica-0.12.2}/src/tuvx/radiator.cpp +0 -0
  539. {musica-0.12.0 → musica-0.12.2}/src/tuvx/radiator_map.cpp +0 -0
  540. {musica-0.12.0 → musica-0.12.2}/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 }}
@@ -32,6 +43,8 @@ jobs:
32
43
 
33
44
  - name: Build and install
34
45
  run: pip install --verbose .[test]
46
+ env:
47
+ FC: gfortran-14
35
48
 
36
49
  - name: Test
37
- run: pytest
50
+ run: pytest -s
@@ -36,8 +36,32 @@ 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 i686"
44
+
45
+ - os: ubuntu-24.04-arm
46
+ python-version: "3.13"
47
+ cibw_archs: "aarch64"
48
+
49
+ # Windows builds (separate runners needed for different archs)
50
+ - os: windows-latest
51
+ python-version: "3.13"
52
+ cibw_archs: "AMD64 x86 ARM64"
53
+
54
+ # macOS Intel
55
+ - os: macos-13 # Intel runner
56
+ python-version: "3.13"
57
+ cibw_archs: "x86_64"
58
+ fc: gfortran-15
59
+
60
+ # macOS Apple Silicon
61
+ - os: macos-latest # ARM64 runner
62
+ python-version: "3.13"
63
+ cibw_archs: "arm64"
64
+ fc: gfortran-15
41
65
 
42
66
  steps:
43
67
  - uses: actions/checkout@v4
@@ -47,21 +71,24 @@ jobs:
47
71
  - uses: actions/setup-python@v5
48
72
  with:
49
73
  python-version: ${{ matrix.python-version }}
74
+
75
+ - name: CI Build Wheels
76
+ if: ${{ matrix.fc != '' }}
77
+ uses: pypa/cibuildwheel@v3.1.3
78
+ env:
79
+ CIBW_ARCHS: ${{ matrix.cibw_archs }}
80
+ FC: ${{ matrix.fc }}
50
81
 
51
82
  - name: CI Build Wheels
52
- uses: pypa/cibuildwheel@v2.17
83
+ if: ${{ matrix.fc == '' }}
84
+ uses: pypa/cibuildwheel@v3.1.3
53
85
  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
86
+ CIBW_ARCHS: ${{ matrix.cibw_archs }}
60
87
 
61
88
  - name: Upload wheels
62
89
  uses: actions/upload-artifact@v4
63
90
  with:
64
- name: cibw-wheels-${{ matrix.os }}-py${{ matrix.python-version }}
91
+ name: cibw-wheels-${{ matrix.os }}-${{ matrix.cibw_archs }}-py${{ matrix.python-version }}
65
92
  path: wheelhouse/*.whl
66
93
 
67
94
  upload_all:
@@ -87,4 +114,4 @@ jobs:
87
114
  merge-multiple: true
88
115
 
89
116
  - name: Publish package distributions to PyPI
90
- uses: pypa/gh-action-pypi-publish@release/v1
117
+ 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
 
@@ -28,7 +28,7 @@ jobs:
28
28
  static: 0
29
29
 
30
30
  - name: Run Cmake
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
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
32
32
 
33
33
  - name: Build
34
34
  run: cmake --build build --parallel
@@ -57,7 +57,7 @@ jobs:
57
57
  architecture: x86
58
58
 
59
59
  - name: Run CMake
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_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
61
61
 
62
62
  - name: Build
63
63
  run: cmake --build build --config ${{ matrix.build_type }} --parallel
@@ -79,7 +79,7 @@ jobs:
79
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"
80
80
 
81
81
  - name: Run CMake
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_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
83
83
 
84
84
  - name: Build
85
85
  run: cmake --build build --parallel
@@ -105,7 +105,7 @@ jobs:
105
105
  architecture: x86
106
106
 
107
107
  - name: Run CMake
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_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
109
109
 
110
110
  - name: Build
111
111
  run: cmake --build build --config Debug --parallel
@@ -119,7 +119,11 @@ jobs:
119
119
  strategy:
120
120
  fail-fast: false
121
121
  matrix:
122
- 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]
123
127
 
124
128
  steps:
125
129
  - name: Checkout code
@@ -137,12 +141,17 @@ jobs:
137
141
  mingw-w64-x86_64-cmake
138
142
  mingw-w64-x86_64-netcdf
139
143
  mingw-w64-x86_64-netcdf-fortran
144
+ mingw-w64-x86_64-lapack
140
145
  msystem: MINGW64
141
146
 
142
147
  - name: Add MSYS2 mingw64 to PATH
143
148
  shell: msys2 {0}
144
149
  run: echo "C:/msys64/mingw64/bin" >> $GITHUB_PATH
145
150
 
151
+ - name: Clean build directory
152
+ shell: msys2 {0}
153
+ run: rm -rf build
154
+
146
155
  - name: Configure with CMake
147
156
  shell: msys2 {0}
148
157
  run: |
@@ -151,6 +160,7 @@ jobs:
151
160
  -D MUSICA_GIT_TAG=${{ github.sha }} \
152
161
  -D MUSICA_ENABLE_MICM=ON \
153
162
  -D MUSICA_ENABLE_TUVX=ON \
163
+ -D MUSICA_ENABLE_CARMA=ON \
154
164
  -D MUSICA_ENABLE_PYTHON_LIBRARY=ON \
155
165
  -D MUSICA_BUILD_FORTRAN_INTERFACE=ON \
156
166
  -D CMAKE_POLICY_VERSION_MINIMUM=3.5
@@ -16,3 +16,8 @@ musica.egg-info
16
16
  **/*__pycache__*
17
17
  **/*.pyc
18
18
  wheelhouse
19
+
20
+ error.json
21
+
22
+ .ipynb_checkpoints
23
+ configs/tuvx/output/
@@ -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.12.0
67
+ version: 0.12.2
@@ -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.12.0)
4
+ project(musica-distribution VERSION 0.12.2)
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
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.2
2
2
  Name: musica
3
- Version: 0.12.0
3
+ Version: 0.12.2
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,13 +207,25 @@ 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-Python: >=3.9
210
211
  Requires-Dist: pyyaml>=6.0.2
212
+ Requires-Dist: xarray>=2022.3.0
213
+ Requires-Dist: ussa1976>=v0.3.4
211
214
  Provides-Extra: test
212
215
  Requires-Dist: numpy; extra == "test"
213
216
  Requires-Dist: pytest; extra == "test"
217
+ Requires-Dist: matplotlib; extra == "test"
214
218
  Provides-Extra: gpu
215
219
  Requires-Dist: nvidia-cublas-cu12; extra == "gpu"
216
220
  Requires-Dist: nvidia-cuda-runtime-cu12; extra == "gpu"
221
+ Provides-Extra: tutorial
222
+ Requires-Dist: pandas; extra == "tutorial"
223
+ Requires-Dist: matplotlib; extra == "tutorial"
224
+ Requires-Dist: numpy; extra == "tutorial"
225
+ Requires-Dist: scipy; extra == "tutorial"
226
+ Requires-Dist: seaborn; extra == "tutorial"
227
+ Requires-Dist: dask[distributed]; extra == "tutorial"
228
+ Requires-Dist: dask-jobqueue; extra == "tutorial"
217
229
  Description-Content-Type: text/markdown
218
230
 
219
231
  # MUSICA
@@ -228,6 +240,8 @@ Description-Content-Type: text/markdown
228
240
  [![PyPI version](https://badge.fury.io/py/musica.svg)](https://pypi.org/p/musica)
229
241
  [![FAIR checklist badge](https://fairsoftwarechecklist.net/badge.svg)](https://fairsoftwarechecklist.net/v0.2?f=31&a=32113&i=22322&r=123)
230
242
  [![codecov](https://codecov.io/gh/NCAR/musica/branch/main/graph/badge.svg)](https://codecov.io/gh/NCAR/musica)
243
+ [![Binder](https://mybinder.org/badge_logo.svg)](https://mybinder.org/v2/gh/NCAR/musica/HEAD?filepath=tutorials)
244
+
231
245
 
232
246
  Multi-Scale Infrastructure for Chemistry and Aerosols
233
247
 
@@ -241,6 +255,9 @@ At present the project encompasses these core components
241
255
  - [MICM](https://github.com/NCAR/micm)
242
256
  - Model Independent Chemical Module
243
257
 
258
+ - [CARMA](https://github.com/ESCOMP/CARMA)
259
+ - Community Aerosol and Radiation Model for Atmospheres (integration in development)
260
+
244
261
  - [Mechanism Configuration](https://github.com/NCAR/MechanismConfiguration)
245
262
  - The standardized format to describe atmospheric chemistry
246
263
 
@@ -257,6 +274,27 @@ MUSICA is installable via pip for Python or CMake for C++.
257
274
  pip install musica
258
275
  ```
259
276
 
277
+ If you would like GPU support, you must first [add the NVIDIA pypi index](https://docs.nvidia.com/cuda/cuda-quick-start-guide/#pip-wheels-linux) and then you can specify the gpu install option for MUSICA. Note that GPU support has only been tested on linux.
278
+
279
+ ```
280
+ pip install --upgrade setuptools pip wheel
281
+ pip install nvidia-pyindex
282
+ pip install musica[gpu]
283
+ ```
284
+
285
+ To build the package locally,
286
+
287
+ ```
288
+ pip install -e .
289
+ ```
290
+
291
+ If you have an NVIDIA GPU and cuda installed, you can enable a build of musica with GPU support by setting the environment
292
+ variable `BUILD_GPU`.
293
+
294
+ ```
295
+ BUILD_GPU=1 pip install -e .
296
+ ```
297
+
260
298
  ## CMake
261
299
  ```
262
300
  $ git clone https://github.com/NCAR/musica.git
@@ -270,7 +308,7 @@ $ make install
270
308
 
271
309
  # Using the MUSICA Python API
272
310
  MUSICA makes its chemical mechanism analysis and visualization available through a Python API. The following example works through solving a simple chemistry system. Please refer to the [official documentation](https://ncar.github.io/musica/index.html) for further tutorials and examples.
273
- ```
311
+ ```python
274
312
  # --- Import Musica ---
275
313
  import musica
276
314
  import musica.mechanism_configuration as mc
@@ -305,7 +343,6 @@ pressure=101000.0
305
343
  state = solver.create_state()
306
344
  state.set_concentrations({"A": 1.0, "B": 3.0, "C": 5.0})
307
345
  state.set_conditions(temperature, pressure)
308
- initial_pressure = state.get_conditions()['air_density'][0] # store for visualization and output
309
346
 
310
347
  # --- 6. Time parameters ---
311
348
  time_step = 4 # stepping
@@ -368,7 +405,7 @@ Introduced in [Pull Request #124](https://github.com/NCAR/musica/pull/124), it i
368
405
  | Musica Dependency | Repository | Branch, Tag or Hash|
369
406
  | ------------------------------------------------------ | --------------------------|--------------------|
370
407
  | [Google Test](https://github.com/google/googletest.git)| GOOGLETEST_GIT_REPOSITORY | GOOGLETEST_GIT_TAG |
371
- | [MICM](https://github.com/NCAR/mcim.git) | MICM_GIT_REPOSITORY | MICM_GIT_TAG |
408
+ | [MICM](https://github.com/NCAR/micm.git) | MICM_GIT_REPOSITORY | MICM_GIT_TAG |
372
409
  | [TUV-X](https://github.com/NCAR/tuv-x.git) | TUVX_GIT_REPOSITORY | TUVX_GIT_TAG |
373
410
  | [PyBind11](https://github.com/pybind/pybind11) | PYBIND11_GIT_REPOSITORY | PYBIND11_GIT_TAG |
374
411
  | [Mechanism Configuration](https://github.com/NCAR/MechanismConfiguration.git) | MECH_CONFIG_GIT_REPOSITORY | MECH_CONFIG_GIT_TAG |
@@ -388,41 +425,6 @@ Specifying a specific version of `tuv-x` by has, but using the official reposito
388
425
  $ cmake .. \
389
426
  -DTUVX_GIT_TAG=a6b2c4d8745
390
427
 
391
-
392
- ### Python build
393
- Musica has python bindings. If you want to install the python package, you may `pip install musica`.
394
-
395
- #### PyPi
396
- If you only want to use the CPU components,
397
-
398
- ```
399
- pip install musica
400
- ```
401
-
402
- Note that GPU support has only been tested on linux. If you have an NVIDIA GPU and would like to take
403
- advantage of our GPU solver, you must first [add the NVIDIA pypi index](https://docs.nvidia.com/cuda/cuda-quick-start-guide/#pip-wheels-linux) and then install musica with our gpu option.
404
-
405
- ```
406
- pip install --upgrade setuptools pip wheel
407
- pip install nvidia-pyindex
408
- pip install musica[gpu]
409
- ```
410
-
411
- #### Local build
412
-
413
- Musica has python bindings. To build the package locally,
414
-
415
- ```
416
- pip install -e .
417
- ```
418
-
419
- If you have an NVIDIA GPU and cuda installed, you can enable a build of musica with GPU support by setting the environment
420
- variable `BUILD_GPU`.
421
-
422
- ```
423
- BUILD_GPU=1 pip install -e .
424
- ```
425
-
426
428
  # Contributing
427
429
 
428
430
  We welcome contributions from the community! Please see our [Contributing Guide](CONTRIBUTING.md) for information on how to get involved.
@@ -10,6 +10,8 @@
10
10
  [![PyPI version](https://badge.fury.io/py/musica.svg)](https://pypi.org/p/musica)
11
11
  [![FAIR checklist badge](https://fairsoftwarechecklist.net/badge.svg)](https://fairsoftwarechecklist.net/v0.2?f=31&a=32113&i=22322&r=123)
12
12
  [![codecov](https://codecov.io/gh/NCAR/musica/branch/main/graph/badge.svg)](https://codecov.io/gh/NCAR/musica)
13
+ [![Binder](https://mybinder.org/badge_logo.svg)](https://mybinder.org/v2/gh/NCAR/musica/HEAD?filepath=tutorials)
14
+
13
15
 
14
16
  Multi-Scale Infrastructure for Chemistry and Aerosols
15
17
 
@@ -23,6 +25,9 @@ At present the project encompasses these core components
23
25
  - [MICM](https://github.com/NCAR/micm)
24
26
  - Model Independent Chemical Module
25
27
 
28
+ - [CARMA](https://github.com/ESCOMP/CARMA)
29
+ - Community Aerosol and Radiation Model for Atmospheres (integration in development)
30
+
26
31
  - [Mechanism Configuration](https://github.com/NCAR/MechanismConfiguration)
27
32
  - The standardized format to describe atmospheric chemistry
28
33
 
@@ -39,6 +44,27 @@ MUSICA is installable via pip for Python or CMake for C++.
39
44
  pip install musica
40
45
  ```
41
46
 
47
+ If you would like GPU support, you must first [add the NVIDIA pypi index](https://docs.nvidia.com/cuda/cuda-quick-start-guide/#pip-wheels-linux) and then you can specify the gpu install option for MUSICA. Note that GPU support has only been tested on linux.
48
+
49
+ ```
50
+ pip install --upgrade setuptools pip wheel
51
+ pip install nvidia-pyindex
52
+ pip install musica[gpu]
53
+ ```
54
+
55
+ To build the package locally,
56
+
57
+ ```
58
+ pip install -e .
59
+ ```
60
+
61
+ If you have an NVIDIA GPU and cuda installed, you can enable a build of musica with GPU support by setting the environment
62
+ variable `BUILD_GPU`.
63
+
64
+ ```
65
+ BUILD_GPU=1 pip install -e .
66
+ ```
67
+
42
68
  ## CMake
43
69
  ```
44
70
  $ git clone https://github.com/NCAR/musica.git
@@ -52,7 +78,7 @@ $ make install
52
78
 
53
79
  # Using the MUSICA Python API
54
80
  MUSICA makes its chemical mechanism analysis and visualization available through a Python API. The following example works through solving a simple chemistry system. Please refer to the [official documentation](https://ncar.github.io/musica/index.html) for further tutorials and examples.
55
- ```
81
+ ```python
56
82
  # --- Import Musica ---
57
83
  import musica
58
84
  import musica.mechanism_configuration as mc
@@ -87,7 +113,6 @@ pressure=101000.0
87
113
  state = solver.create_state()
88
114
  state.set_concentrations({"A": 1.0, "B": 3.0, "C": 5.0})
89
115
  state.set_conditions(temperature, pressure)
90
- initial_pressure = state.get_conditions()['air_density'][0] # store for visualization and output
91
116
 
92
117
  # --- 6. Time parameters ---
93
118
  time_step = 4 # stepping
@@ -150,7 +175,7 @@ Introduced in [Pull Request #124](https://github.com/NCAR/musica/pull/124), it i
150
175
  | Musica Dependency | Repository | Branch, Tag or Hash|
151
176
  | ------------------------------------------------------ | --------------------------|--------------------|
152
177
  | [Google Test](https://github.com/google/googletest.git)| GOOGLETEST_GIT_REPOSITORY | GOOGLETEST_GIT_TAG |
153
- | [MICM](https://github.com/NCAR/mcim.git) | MICM_GIT_REPOSITORY | MICM_GIT_TAG |
178
+ | [MICM](https://github.com/NCAR/micm.git) | MICM_GIT_REPOSITORY | MICM_GIT_TAG |
154
179
  | [TUV-X](https://github.com/NCAR/tuv-x.git) | TUVX_GIT_REPOSITORY | TUVX_GIT_TAG |
155
180
  | [PyBind11](https://github.com/pybind/pybind11) | PYBIND11_GIT_REPOSITORY | PYBIND11_GIT_TAG |
156
181
  | [Mechanism Configuration](https://github.com/NCAR/MechanismConfiguration.git) | MECH_CONFIG_GIT_REPOSITORY | MECH_CONFIG_GIT_TAG |
@@ -170,41 +195,6 @@ Specifying a specific version of `tuv-x` by has, but using the official reposito
170
195
  $ cmake .. \
171
196
  -DTUVX_GIT_TAG=a6b2c4d8745
172
197
 
173
-
174
- ### Python build
175
- Musica has python bindings. If you want to install the python package, you may `pip install musica`.
176
-
177
- #### PyPi
178
- If you only want to use the CPU components,
179
-
180
- ```
181
- pip install musica
182
- ```
183
-
184
- Note that GPU support has only been tested on linux. If you have an NVIDIA GPU and would like to take
185
- advantage of our GPU solver, you must first [add the NVIDIA pypi index](https://docs.nvidia.com/cuda/cuda-quick-start-guide/#pip-wheels-linux) and then install musica with our gpu option.
186
-
187
- ```
188
- pip install --upgrade setuptools pip wheel
189
- pip install nvidia-pyindex
190
- pip install musica[gpu]
191
- ```
192
-
193
- #### Local build
194
-
195
- Musica has python bindings. To build the package locally,
196
-
197
- ```
198
- pip install -e .
199
- ```
200
-
201
- If you have an NVIDIA GPU and cuda installed, you can enable a build of musica with GPU support by setting the environment
202
- variable `BUILD_GPU`.
203
-
204
- ```
205
- BUILD_GPU=1 pip install -e .
206
- ```
207
-
208
198
  # Contributing
209
199
 
210
200
  We welcome contributions from the community! Please see our [Contributing Guide](CONTRIBUTING.md) for information on how to get involved.