musica 0.12.0__cp311-cp311-win_amd64.whl → 0.12.1__cp311-cp311-win_amd64.whl

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 (75) hide show
  1. musica/CMakeLists.txt +28 -2
  2. musica/__init__.py +9 -49
  3. musica/_musica.cp311-win_amd64.pyd +0 -0
  4. musica/_version.py +1 -1
  5. musica/backend.py +41 -0
  6. musica/binding_common.cpp +23 -6
  7. musica/carma.cpp +911 -0
  8. musica/carma.py +1729 -0
  9. musica/constants.py +1 -1
  10. musica/cpu_binding.cpp +2 -1
  11. musica/cuda.py +4 -1
  12. musica/examples/__init__.py +1 -0
  13. musica/examples/carma_aluminum.py +123 -0
  14. musica/examples/carma_sulfate.py +245 -0
  15. musica/examples/examples.py +165 -0
  16. musica/examples/sulfate_box_model.py +439 -0
  17. musica/examples/ts1_latin_hypercube.py +245 -0
  18. musica/gpu_binding.cpp +2 -1
  19. musica/main.py +89 -0
  20. musica/mechanism_configuration/__init__.py +1 -1
  21. musica/mechanism_configuration/aqueous_equilibrium.py +227 -54
  22. musica/mechanism_configuration/arrhenius.py +228 -42
  23. musica/mechanism_configuration/branched.py +249 -66
  24. musica/mechanism_configuration/condensed_phase_arrhenius.py +243 -50
  25. musica/mechanism_configuration/condensed_phase_photolysis.py +16 -19
  26. musica/mechanism_configuration/emission.py +10 -6
  27. musica/mechanism_configuration/first_order_loss.py +133 -26
  28. musica/mechanism_configuration/henrys_law.py +7 -48
  29. musica/mechanism_configuration/mechanism_configuration.py +114 -41
  30. musica/mechanism_configuration/phase.py +6 -2
  31. musica/mechanism_configuration/photolysis.py +12 -7
  32. musica/mechanism_configuration/reactions.py +20 -8
  33. musica/mechanism_configuration/simpol_phase_transfer.py +180 -51
  34. musica/mechanism_configuration/species.py +23 -4
  35. musica/mechanism_configuration/surface.py +14 -9
  36. musica/mechanism_configuration/ternary_chemical_activation.py +352 -0
  37. musica/mechanism_configuration/troe.py +259 -44
  38. musica/mechanism_configuration/tunneling.py +196 -49
  39. musica/mechanism_configuration/user_defined.py +9 -4
  40. musica/mechanism_configuration/wet_deposition.py +11 -8
  41. musica/mechanism_configuration.cpp +184 -95
  42. musica/musica.cpp +48 -61
  43. musica/test/examples/v1/full_configuration/full_configuration.json +39 -22
  44. musica/test/examples/v1/full_configuration/full_configuration.yaml +29 -20
  45. musica/test/{test_analytical.py → integration/test_analytical.py} +0 -1
  46. musica/test/integration/test_carma.py +227 -0
  47. musica/test/integration/test_carma_aluminum.py +11 -0
  48. musica/test/integration/test_carma_sulfate.py +16 -0
  49. musica/test/integration/test_sulfate_box_model.py +34 -0
  50. musica/test/integration/test_tuvx.py +62 -0
  51. musica/test/unit/test_parser.py +64 -0
  52. musica/test/{test_serializer.py → unit/test_serializer.py} +2 -2
  53. musica/test/{test_util_full_mechanism.py → unit/test_util_full_mechanism.py} +152 -122
  54. musica/tools/prepare_build_environment_linux.sh +39 -32
  55. musica/tools/prepare_build_environment_macos.sh +1 -0
  56. musica/tuvx.cpp +93 -0
  57. musica/tuvx.py +199 -0
  58. musica/types.py +104 -60
  59. {musica-0.12.0.dist-info → musica-0.12.1.dist-info}/METADATA +40 -39
  60. musica-0.12.1.dist-info/RECORD +69 -0
  61. {musica-0.12.0.dist-info → musica-0.12.1.dist-info}/WHEEL +1 -1
  62. musica-0.12.1.dist-info/entry_points.txt +3 -0
  63. musica/test/examples/v0/config.json +0 -7
  64. musica/test/examples/v0/config.yaml +0 -3
  65. musica/test/examples/v0/reactions.json +0 -193
  66. musica/test/examples/v0/reactions.yaml +0 -142
  67. musica/test/examples/v0/species.json +0 -40
  68. musica/test/examples/v0/species.yaml +0 -19
  69. musica/test/test_parser.py +0 -57
  70. musica/test/tuvx.py +0 -10
  71. musica/tools/prepare_build_environment_windows.sh +0 -22
  72. musica-0.12.0.dist-info/RECORD +0 -57
  73. /musica/test/{test_chapman.py → integration/test_chapman.py} +0 -0
  74. {musica-0.12.0.dist-info → musica-0.12.1.dist-info}/licenses/AUTHORS.md +0 -0
  75. {musica-0.12.0.dist-info → musica-0.12.1.dist-info}/licenses/LICENSE +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.2
2
2
  Name: musica
3
- Version: 0.12.0
3
+ Version: 0.12.1
4
4
  Summary: MUSICA is a Python library for performing computational simulations in atmospheric chemistry.
5
5
  Author-Email: Matthew Dawsom <mattdawson@ucar.edu>, Jiwon Gim <jiwongim@ucar.edu>, David Fillmore <fillmore@ucar.edu>, Kyle Shores <kshores@ucar.edu>, Montek Thind <mthind@ucar.edu>
6
6
  Maintainer-Email: ACOM MUSICA Developers <musica-support@ucar.edu>
@@ -208,12 +208,23 @@ License: Apache License
208
208
 
209
209
  Project-URL: homepage, https://wiki.ucar.edu/display/MUSICA/MUSICA+Home
210
210
  Requires-Dist: pyyaml>=6.0.2
211
+ Requires-Dist: xarray>=2022.3.0
212
+ Requires-Dist: ussa1976>=v0.3.4
211
213
  Provides-Extra: test
212
214
  Requires-Dist: numpy; extra == "test"
213
215
  Requires-Dist: pytest; extra == "test"
216
+ Requires-Dist: matplotlib; extra == "test"
214
217
  Provides-Extra: gpu
215
218
  Requires-Dist: nvidia-cublas-cu12; extra == "gpu"
216
219
  Requires-Dist: nvidia-cuda-runtime-cu12; extra == "gpu"
220
+ Provides-Extra: tutorial
221
+ Requires-Dist: pandas; extra == "tutorial"
222
+ Requires-Dist: matplotlib; extra == "tutorial"
223
+ Requires-Dist: numpy; extra == "tutorial"
224
+ Requires-Dist: scipy; extra == "tutorial"
225
+ Requires-Dist: seaborn; extra == "tutorial"
226
+ Requires-Dist: dask[distributed]; extra == "tutorial"
227
+ Requires-Dist: dask-jobqueue; extra == "tutorial"
217
228
  Description-Content-Type: text/markdown
218
229
 
219
230
  # MUSICA
@@ -228,6 +239,8 @@ Description-Content-Type: text/markdown
228
239
  [![PyPI version](https://badge.fury.io/py/musica.svg)](https://pypi.org/p/musica)
229
240
  [![FAIR checklist badge](https://fairsoftwarechecklist.net/badge.svg)](https://fairsoftwarechecklist.net/v0.2?f=31&a=32113&i=22322&r=123)
230
241
  [![codecov](https://codecov.io/gh/NCAR/musica/branch/main/graph/badge.svg)](https://codecov.io/gh/NCAR/musica)
242
+ [![Binder](https://mybinder.org/badge_logo.svg)](https://mybinder.org/v2/gh/NCAR/musica/HEAD?filepath=tutorials)
243
+
231
244
 
232
245
  Multi-Scale Infrastructure for Chemistry and Aerosols
233
246
 
@@ -241,6 +254,9 @@ At present the project encompasses these core components
241
254
  - [MICM](https://github.com/NCAR/micm)
242
255
  - Model Independent Chemical Module
243
256
 
257
+ - [CARMA](https://github.com/ESCOMP/CARMA)
258
+ - Community Aerosol and Radiation Model for Atmospheres (integration in development)
259
+
244
260
  - [Mechanism Configuration](https://github.com/NCAR/MechanismConfiguration)
245
261
  - The standardized format to describe atmospheric chemistry
246
262
 
@@ -257,6 +273,27 @@ MUSICA is installable via pip for Python or CMake for C++.
257
273
  pip install musica
258
274
  ```
259
275
 
276
+ 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.
277
+
278
+ ```
279
+ pip install --upgrade setuptools pip wheel
280
+ pip install nvidia-pyindex
281
+ pip install musica[gpu]
282
+ ```
283
+
284
+ To build the package locally,
285
+
286
+ ```
287
+ pip install -e .
288
+ ```
289
+
290
+ If you have an NVIDIA GPU and cuda installed, you can enable a build of musica with GPU support by setting the environment
291
+ variable `BUILD_GPU`.
292
+
293
+ ```
294
+ BUILD_GPU=1 pip install -e .
295
+ ```
296
+
260
297
  ## CMake
261
298
  ```
262
299
  $ git clone https://github.com/NCAR/musica.git
@@ -270,7 +307,7 @@ $ make install
270
307
 
271
308
  # Using the MUSICA Python API
272
309
  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
- ```
310
+ ```python
274
311
  # --- Import Musica ---
275
312
  import musica
276
313
  import musica.mechanism_configuration as mc
@@ -305,7 +342,6 @@ pressure=101000.0
305
342
  state = solver.create_state()
306
343
  state.set_concentrations({"A": 1.0, "B": 3.0, "C": 5.0})
307
344
  state.set_conditions(temperature, pressure)
308
- initial_pressure = state.get_conditions()['air_density'][0] # store for visualization and output
309
345
 
310
346
  # --- 6. Time parameters ---
311
347
  time_step = 4 # stepping
@@ -368,7 +404,7 @@ Introduced in [Pull Request #124](https://github.com/NCAR/musica/pull/124), it i
368
404
  | Musica Dependency | Repository | Branch, Tag or Hash|
369
405
  | ------------------------------------------------------ | --------------------------|--------------------|
370
406
  | [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 |
407
+ | [MICM](https://github.com/NCAR/micm.git) | MICM_GIT_REPOSITORY | MICM_GIT_TAG |
372
408
  | [TUV-X](https://github.com/NCAR/tuv-x.git) | TUVX_GIT_REPOSITORY | TUVX_GIT_TAG |
373
409
  | [PyBind11](https://github.com/pybind/pybind11) | PYBIND11_GIT_REPOSITORY | PYBIND11_GIT_TAG |
374
410
  | [Mechanism Configuration](https://github.com/NCAR/MechanismConfiguration.git) | MECH_CONFIG_GIT_REPOSITORY | MECH_CONFIG_GIT_TAG |
@@ -388,41 +424,6 @@ Specifying a specific version of `tuv-x` by has, but using the official reposito
388
424
  $ cmake .. \
389
425
  -DTUVX_GIT_TAG=a6b2c4d8745
390
426
 
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
427
  # Contributing
427
428
 
428
429
  We welcome contributions from the community! Please see our [Contributing Guide](CONTRIBUTING.md) for information on how to get involved.
@@ -0,0 +1,69 @@
1
+ musica/__init__.py,sha256=pSZ-H2IJ4EEYIbQDygjGwjhGySXdeifB1DzQBMJzz2g,403
2
+ musica/_musica.cp311-win_amd64.pyd,sha256=AydeXQangJ4Zn7BPjmeW2q8SxVSMjjiX8dNWVYenvEE,1549824
3
+ musica/_version.py,sha256=RtCQ8kIuMhcZYVMe49ceaEtTSjdzpfPWuCJXoyjaKg0,20
4
+ musica/backend.py,sha256=Fw3-HECqsifQmvRonDTGeEZqS-KXYD09BCwBue_HwfM,1081
5
+ musica/binding_common.cpp,sha256=qrJCfdePt-ZoIgCTrPJqSUF1Ie8Mq7b7S2_pEdpi4CE,1013
6
+ musica/binding_common.hpp,sha256=YAcb9WnfXL7Ps-rR-iMBSwUgBQZfZZdCQQod5CTMEZA,108
7
+ musica/carma.cpp,sha256=v6f2MF1PUGHR46vVZ544o6bEZjCTI2rWvtgL8M0oSns,43244
8
+ musica/carma.py,sha256=FNd4pWJQJ8VJoo2LSl2aXUVSfLZFgABTSKqtTE-Cgv4,68716
9
+ musica/CMakeLists.txt,sha256=MTZYtahh4tLpn6adVKZ9oZ9g-np7Hw8-VHiaFaA-lIM,1817
10
+ musica/constants.py,sha256=sQqh1UVu2HRvl25qWPW0ACT8NrHe_r4Ugy-v_BiTGG4,126
11
+ musica/cpu_binding.cpp,sha256=Cy06zLErMV0g7Ol9Fg-q2cpG-g5fb8hcBl-M-ihHLyk,236
12
+ musica/cuda.cpp,sha256=oTG2ZnL-SiW2kx9eL4XJOQGJeIiGuy8tJ5BEoLRWL4M,358
13
+ musica/cuda.py,sha256=ClHKnSNiU8SX0BANh5KybismYHH6mFUyC-3r8S9qARo,271
14
+ musica/examples/__init__.py,sha256=y9FNR3NhT9OYCk7S_kktyOSpkRqwQb-VLNiaMp0rbz0,30
15
+ musica/examples/carma_aluminum.py,sha256=QTdJpcpvoyR4HbliFqfuEIwRHGT0v3NUjC9tiTv1mnc,3806
16
+ musica/examples/carma_sulfate.py,sha256=_LgXOupxsLD6UkziRw40nDsDXPFbmKH-8VyPXaqnUD0,8363
17
+ musica/examples/examples.py,sha256=xWnFSNMYPpUhz04YtSSNsr6DoxmQoOdUtTT9GSUm3ps,5901
18
+ musica/examples/sulfate_box_model.py,sha256=AlQ_30dMLf4wbs9pGWw6y9bxNUHLVIsdJlx9fbC-LKk,17107
19
+ musica/examples/ts1_latin_hypercube.py,sha256=yQIUZJiNnJx5yF_pW9RWq9uZNECQagKDFJdEvl9-17w,9866
20
+ musica/gpu_binding.cpp,sha256=X0qISrKYz7Ldjn5UnqNw8oLzOY4VgyF3fUUszm-QSJI,240
21
+ musica/main.py,sha256=gVCfeh44VL4EH7eFRR2wU_I_kANB94furojDi-0LhoE,2797
22
+ musica/mechanism_configuration/__init__.py,sha256=odlwrCvBBnqUBi951RysExLDYqK_AfqP4nRY90MQpcc,40
23
+ musica/mechanism_configuration/aqueous_equilibrium.py,sha256=60b017VeO9MrzYnkF47hzjQJRdD7k3M6L3S94SKqmAE,11270
24
+ musica/mechanism_configuration/arrhenius.py,sha256=eIDPb485TzsRAvz2bYIjwI7n8ofhahUpCP5HRO-o00E,11479
25
+ musica/mechanism_configuration/branched.py,sha256=g7IsOzaTK1hLWYn1agGzAPRhM0pIsz5fM0pOfVzDyKA,12061
26
+ musica/mechanism_configuration/condensed_phase_arrhenius.py,sha256=bXXu1ctDYiZ4yrzTu2b28R-sstYIXZGNruyMxM31qFQ,11745
27
+ musica/mechanism_configuration/condensed_phase_photolysis.py,sha256=S-J-e4-9TYw_tE1iLEqp1wDohJVx7Vkblc9kxWrXfBc,4203
28
+ musica/mechanism_configuration/emission.py,sha256=GOlyzDqk4-_jDZn7poYJ3Rxo-KSTaPxEO7P_SBzS_xQ,3115
29
+ musica/mechanism_configuration/first_order_loss.py,sha256=4dPG2YKeEHjJkc0biV8tGy3vLxY5f2PTeLFt6cRAuRM,6815
30
+ musica/mechanism_configuration/henrys_law.py,sha256=vuLlqRFwThUJ9icvKJkEWXKvC9cj7ldTzDpWMXBJHQ4,1607
31
+ musica/mechanism_configuration/mechanism_configuration.py,sha256=bLLSsdZAyn01VPbQeSJX8RpKWJoBkH7zjtUsCaCzXKw,10671
32
+ musica/mechanism_configuration/phase.py,sha256=j7sPiVPxpaPeHwoo3SMhBgIuAWlXmKgBLpTjBbhZV3E,1680
33
+ musica/mechanism_configuration/photolysis.py,sha256=7C3RDJ7_iFsfC_duyfl47VMsAS-EHhVdj4QExo5u7mU,3971
34
+ musica/mechanism_configuration/reactions.py,sha256=1YbmKH2tL82ZmUdOvs6vNV9r_1GwtVHtiEZwdgrYSrI,2440
35
+ musica/mechanism_configuration/simpol_phase_transfer.py,sha256=BneQwt4cfyBicxOXFarGqFNjJI9x0VaW1iReLy2h4DQ,9278
36
+ musica/mechanism_configuration/species.py,sha256=dPsBPcc_E7yzxtojw3DiBP3JvUMSjmMsqH89h74ZMuk,5544
37
+ musica/mechanism_configuration/surface.py,sha256=vJBW-brrcdzABeUV5DQSS4xli0KjB_K32sW0dnnxRGo,4440
38
+ musica/mechanism_configuration/ternary_chemical_activation.py,sha256=rbhzhmbvewf2Q6hf3_4TcuMiQaoWiOpCzTzWPKXWE5A,14675
39
+ musica/mechanism_configuration/troe.py,sha256=s3nTWbhRiJ2NiEhPH_Bjlyw-NP9eYy3EASN6WIeLfVQ,13959
40
+ musica/mechanism_configuration/tunneling.py,sha256=LpSRmTjFoniIcS2D-qPL9HKaRSZ1YmxbjHCevm6fKHA,9628
41
+ musica/mechanism_configuration/user_defined.py,sha256=dUuSpj4rc9XRuD8FZJ9CX4DFjvQcUCNt5Krrn0cj-_I,3980
42
+ musica/mechanism_configuration/utils.py,sha256=dhMFrydNchhdRrfeJw35oJB8Y5oQJa6p65Z7I127P-8,356
43
+ musica/mechanism_configuration/wet_deposition.py,sha256=cP8WL6T3FjGF01lyf1tNsJllaHQEOciCX8yZraBycIc,2306
44
+ musica/mechanism_configuration.cpp,sha256=wwH5dDG7AuXRk4-ZZGPYwcAc_EpOwoXYdfje2hOobOE,29712
45
+ musica/musica.cpp,sha256=CMPdG_ddcEhW5r7u-DDjqGAGM97zHd_7h6wk_o5t0Qk,8584
46
+ musica/test/examples/v1/full_configuration/full_configuration.json,sha256=zBC3EVwIWtBy5t3FOIrqMNOsRaNRXth0kCqBps4PxCs,9902
47
+ musica/test/examples/v1/full_configuration/full_configuration.yaml,sha256=XY6TW78rus0DyrI70NR3yvTeUIPff8_I9ErOXy2m3KE,5911
48
+ musica/test/integration/test_analytical.py,sha256=eOPb3DtjQEodTZCpjelw1LQZM_VyhFi2TOlx1bmEtkk,14129
49
+ musica/test/integration/test_carma.py,sha256=itPJNxSRp7FHJokYSicZFgqzBBrZ9dr1TDxawDPT9BM,7092
50
+ musica/test/integration/test_carma_aluminum.py,sha256=qDbFtD7b1q7zW8I_8Fky9tQLevVrQ5DBLxeVyD5OEGY,364
51
+ musica/test/integration/test_carma_sulfate.py,sha256=-xChTCI0eLFOWKNQx6KHq8RJ_KgU4cP1nP92_qHn0-M,755
52
+ musica/test/integration/test_chapman.py,sha256=t6p0CadUy-B4OP7A-EZ9Wz52diuYs5yc9LKiFUS9T6A,3651
53
+ musica/test/integration/test_sulfate_box_model.py,sha256=3hb63Tij05VX__CIRT-njNkGgZp57Vo0ieUI7_DC1Fo,1638
54
+ musica/test/integration/test_tuvx.py,sha256=6MU5RrbNpX_I5VHTDUTreCGdL9c9y3voy68QurVazNI,1980
55
+ musica/test/unit/test_parser.py,sha256=PF7GPddM4-Mbz0qjzqRvl_YSISj-VQR49MGXLfe8dDg,2667
56
+ musica/test/unit/test_serializer.py,sha256=y6u_e2uJm9TGpn7B3x8_LobVGxIFyuKzF-WrIfP1Ewo,2527
57
+ musica/test/unit/test_util_full_mechanism.py,sha256=O7nJjpIt1k-pxUNj4zBiLdSXruyhj8qfbp8Me75kPJg,25915
58
+ musica/tools/prepare_build_environment_linux.sh,sha256=IPNqU0d9cNJQkIU4L7bTO7kqBSUSq69wwPoLE-dU0AE,1671
59
+ musica/tools/prepare_build_environment_macos.sh,sha256=Yhhd-8W6YvR79NabEqixexU6BsClNf7DH_EYYlsmeMo,41
60
+ musica/tools/repair_wheel_gpu.sh,sha256=nQueyGNC2qWcBAicjVdAfB6JH4m_51dFOG83vVxke54,1525
61
+ musica/tuvx.cpp,sha256=vvRi7T8TLZ-U8H7R-jrWIEmHBexXlms-0abhPGibnC8,3108
62
+ musica/tuvx.py,sha256=6EDOULrBc2cojLgK-lNKH68YVHQyOFpBC-jkGYuaraY,6587
63
+ musica/types.py,sha256=R7Iv3iNdp5V3sLABdsnKJm8ShEjY1LbSrjhPY-qe8mE,17029
64
+ musica-0.12.1.dist-info/METADATA,sha256=IShAL_zZWoCFHuV_iXTdW9V9lcjy1QF_ADT_o1EGaIE,26322
65
+ musica-0.12.1.dist-info/WHEEL,sha256=RKWfL8d6R7y9dzb5_AyhPLMoBaKZaDpOTwy7YMg9zGI,106
66
+ musica-0.12.1.dist-info/entry_points.txt,sha256=t9qRU9Ya63_yYMKJkTiVS5kCaW6dDDr0wuQ26lgXTH8,49
67
+ musica-0.12.1.dist-info/licenses/AUTHORS.md,sha256=1ssAXR4WOMdfl5Or1raPu_2nxHbkwCpxfwJwzpF_cJM,2691
68
+ musica-0.12.1.dist-info/licenses/LICENSE,sha256=HrhfyXIkWY2tGFK11kg7vPCqhgh5DcxleloqdhrpyMY,11558
69
+ musica-0.12.1.dist-info/RECORD,,
@@ -1,5 +1,5 @@
1
1
  Wheel-Version: 1.0
2
- Generator: scikit-build-core 0.11.4
2
+ Generator: scikit-build-core 0.11.5
3
3
  Root-Is-Purelib: false
4
4
  Tag: cp311-cp311-win_amd64
5
5
 
@@ -0,0 +1,3 @@
1
+ [console_scripts]
2
+ musica-cli = musica.main:main
3
+
@@ -1,7 +0,0 @@
1
- {
2
- "camp-files": [
3
- "species.json",
4
- "reactions.json"
5
- ]
6
- }
7
-
@@ -1,3 +0,0 @@
1
- camp-files:
2
- - species.yaml
3
- - reactions.yaml
@@ -1,193 +0,0 @@
1
- {
2
- "camp-data": [
3
- {
4
- "type": "MECHANISM",
5
- "name": "music box interactive configuration",
6
- "reactions": [
7
- {
8
- "type": "PHOTOLYSIS",
9
- "scaling factor": 1,
10
- "MUSICA name": "foo",
11
- "reactants": {
12
- "foo": {}
13
- },
14
- "products": {
15
- "buz": {
16
- "yield": 1
17
- },
18
- "bar": {
19
- "yield": 1
20
- }
21
- }
22
- },
23
- {
24
- "type": "ARRHENIUS",
25
- "A": 6e-34,
26
- "Ea": 0,
27
- "B": -2.4,
28
- "D": 300,
29
- "E": 0,
30
- "reactants": {
31
- "bar": {
32
- "qty": 1
33
- },
34
- "quuz": {
35
- "qty": 1
36
- },
37
- "M": {
38
- "qty": 1
39
- }
40
- },
41
- "products": {
42
- "baz": {
43
- "yield": 1
44
- },
45
- "M": {
46
- "yield": 1
47
- }
48
- }
49
- },
50
- {
51
- "type": "TROE",
52
- "k0_A": 2.5e-31,
53
- "k0_B": -1.8,
54
- "k0_C": 0,
55
- "kinf_A": 2.2e-11,
56
- "kinf_B": -0.7,
57
- "kinf_C": 0,
58
- "Fc": 0.6,
59
- "N": 1,
60
- "reactants": {
61
- "bar": {
62
- "qty": 1
63
- },
64
- "foo": {
65
- "qty": 1
66
- }
67
- },
68
- "products": {
69
- "baz": {
70
- "yield": 1
71
- }
72
- }
73
- },
74
- {
75
- "type": "EMISSION",
76
- "scaling factor": 1,
77
- "MUSICA name": "buz",
78
- "species": "buz"
79
- },
80
- {
81
- "type": "FIRST_ORDER_LOSS",
82
- "species": "bar",
83
- "MUSICA name": "bar",
84
- "scaling factor": 2.5
85
- },
86
- {
87
- "type": "TERNARY_CHEMICAL_ACTIVATION",
88
- "reactants": {
89
- "bar" : { },
90
- "baz" : { }
91
- },
92
- "products": {
93
- "bar": { "yield": 0.5 },
94
- "foo": { }
95
- },
96
- "k0_A": 32.1,
97
- "k0_B": -2.3,
98
- "k0_C": 102.3,
99
- "kinf_A": 63.4,
100
- "kinf_B": -1.3,
101
- "kinf_C": 908.5,
102
- "Fc": 1.3,
103
- "N": 32.1
104
- },
105
- {
106
- "type": "BRANCHED",
107
- "reactants": {
108
- "foo" : { },
109
- "quz" : { "qty" :2 }
110
- },
111
- "alkoxy products": {
112
- "bar": { "yield": 1.0 },
113
- "baz": { "yield": 3.2 }
114
- },
115
- "nitrate products": {
116
- "quz": { "yield": 1.0 }
117
- },
118
- "Y" : 42.3,
119
- "X" : 12.3,
120
- "a0" : 1.0e-5,
121
- "n" : 3
122
- },
123
- {
124
- "type": "WENNBERG_NO_RO2",
125
- "reactants": {
126
- "bar" : { },
127
- "baz" : { }
128
- },
129
- "alkoxy products": {
130
- "baz": { }
131
- },
132
- "nitrate products": {
133
- "bar": { "yield": 0.5 },
134
- "foo": { }
135
- },
136
- "Y" : 2.3e8,
137
- "X" : 0.32,
138
- "a0" : 0.423,
139
- "n" : 6
140
- },
141
- {
142
- "type": "TUNNELING",
143
- "reactants": {
144
- "bar" : { },
145
- "baz" : { }
146
- },
147
- "products": {
148
- "bar": { "yield": 0.5 },
149
- "foo": { }
150
- },
151
- "A": 32.1,
152
- "B": -2.3,
153
- "C": 102.3
154
- },
155
- {
156
- "type": "WENNBERG_TUNNELING",
157
- "reactants": {
158
- "bar2" : { },
159
- "baz2" : { }
160
- },
161
- "products": {
162
- "bar2": { "yield": 0.5 },
163
- "foo2": { }
164
- },
165
- "A": 2.1,
166
- "B": -1.3,
167
- "C": 12.3
168
- },
169
- {
170
- "type": "SURFACE",
171
- "gas-phase reactant": "bar",
172
- "gas-phase products": {
173
- "bar": { "yield": 0.5 },
174
- "foo": { }
175
- },
176
- "reaction probability": 0.5,
177
- "MUSICA name": "kbar"
178
- },
179
- {
180
- "type": "USER_DEFINED",
181
- "MUSICA name": "bar",
182
- "reactants": {
183
- "foo" : { "qty": 2 }
184
- },
185
- "products": {
186
- "bar" : { }
187
- },
188
- "scaling factor": 2.5
189
- }
190
- ]
191
- }
192
- ]
193
- }
@@ -1,142 +0,0 @@
1
- camp-data:
2
- - name: music box interactive configuration
3
- reactions:
4
- - MUSICA name: foo
5
- products:
6
- bar:
7
- yield: 1
8
- buz:
9
- yield: 1
10
- reactants:
11
- foo: {}
12
- scaling factor: 1
13
- type: PHOTOLYSIS
14
- - A: 6.0e-34
15
- B: -2.4
16
- D: 300
17
- E: 0
18
- Ea: 0
19
- products:
20
- M:
21
- yield: 1
22
- baz:
23
- yield: 1
24
- reactants:
25
- M:
26
- qty: 1
27
- bar:
28
- qty: 1
29
- quuz:
30
- qty: 1
31
- type: ARRHENIUS
32
- - Fc: 0.6
33
- N: 1
34
- k0_A: 2.5e-31
35
- k0_B: -1.8
36
- k0_C: 0
37
- kinf_A: 2.2e-11
38
- kinf_B: -0.7
39
- kinf_C: 0
40
- products:
41
- baz:
42
- yield: 1
43
- reactants:
44
- bar:
45
- qty: 1
46
- foo:
47
- qty: 1
48
- type: TROE
49
- - MUSICA name: buz
50
- scaling factor: 1
51
- species: buz
52
- type: EMISSION
53
- - MUSICA name: bar
54
- scaling factor: 2.5
55
- species: bar
56
- type: FIRST_ORDER_LOSS
57
- - Fc: 1.3
58
- N: 32.1
59
- k0_A: 32.1
60
- k0_B: -2.3
61
- k0_C: 102.3
62
- kinf_A: 63.4
63
- kinf_B: -1.3
64
- kinf_C: 908.5
65
- products:
66
- bar:
67
- yield: 0.5
68
- foo: {}
69
- reactants:
70
- bar: {}
71
- baz: {}
72
- type: TERNARY_CHEMICAL_ACTIVATION
73
- - X: 12.3
74
- Y: 42.3
75
- a0: 1.0e-05
76
- alkoxy products:
77
- bar:
78
- yield: 1.0
79
- baz:
80
- yield: 3.2
81
- n: 3
82
- nitrate products:
83
- quz:
84
- yield: 1.0
85
- reactants:
86
- foo: {}
87
- quz:
88
- qty: 2
89
- type: BRANCHED
90
- - X: 0.32
91
- Y: 230000000.0
92
- a0: 0.423
93
- alkoxy products:
94
- baz: {}
95
- n: 6
96
- nitrate products:
97
- bar:
98
- yield: 0.5
99
- foo: {}
100
- reactants:
101
- bar: {}
102
- baz: {}
103
- type: WENNBERG_NO_RO2
104
- - A: 32.1
105
- B: -2.3
106
- C: 102.3
107
- products:
108
- bar:
109
- yield: 0.5
110
- foo: {}
111
- reactants:
112
- bar: {}
113
- baz: {}
114
- type: TUNNELING
115
- - A: 2.1
116
- B: -1.3
117
- C: 12.3
118
- products:
119
- bar2:
120
- yield: 0.5
121
- foo2: {}
122
- reactants:
123
- bar2: {}
124
- baz2: {}
125
- type: WENNBERG_TUNNELING
126
- - MUSICA name: kbar
127
- gas-phase products:
128
- bar:
129
- yield: 0.5
130
- foo: {}
131
- gas-phase reactant: bar
132
- reaction probability: 0.5
133
- type: SURFACE
134
- - MUSICA name: bar
135
- products:
136
- bar: {}
137
- reactants:
138
- foo:
139
- qty: 2
140
- scaling factor: 2.5
141
- type: USER_DEFINED
142
- type: MECHANISM
@@ -1,40 +0,0 @@
1
- {
2
- "camp-data": [
3
- {
4
- "name": "foo",
5
- "type": "CHEM_SPEC"
6
- },
7
- {
8
- "name": "bar",
9
- "type": "CHEM_SPEC"
10
- },
11
- {
12
- "name": "buz",
13
- "type": "CHEM_SPEC"
14
- },
15
- {
16
- "name": "quuz",
17
- "type": "CHEM_SPEC"
18
- },
19
- {
20
- "name": "foo2",
21
- "type": "CHEM_SPEC"
22
- },
23
- {
24
- "name": "bar2",
25
- "type": "CHEM_SPEC"
26
- },
27
- {
28
- "name": "baz",
29
- "type": "CHEM_SPEC"
30
- },
31
- {
32
- "name": "baz2",
33
- "type": "CHEM_SPEC"
34
- },
35
- {
36
- "name": "M",
37
- "type": "CHEM_SPEC"
38
- }
39
- ]
40
- }
@@ -1,19 +0,0 @@
1
- camp-data:
2
- - name: foo
3
- type: CHEM_SPEC
4
- - name: bar
5
- type: CHEM_SPEC
6
- - name: buz
7
- type: CHEM_SPEC
8
- - name: quuz
9
- type: CHEM_SPEC
10
- - name: foo2
11
- type: CHEM_SPEC
12
- - name: bar2
13
- type: CHEM_SPEC
14
- - name: baz
15
- type: CHEM_SPEC
16
- - name: baz2
17
- type: CHEM_SPEC
18
- - name: M
19
- type: CHEM_SPEC
@@ -1,57 +0,0 @@
1
- import pytest
2
- from musica.mechanism_configuration import *
3
- from test_util_full_mechanism import get_fully_defined_mechanism, validate_full_v1_mechanism
4
-
5
-
6
- def test_parsed_full_v1_configuration():
7
- parser = Parser()
8
- extensions = [".yaml", ".json"]
9
- for extension in extensions:
10
- path = f"musica/test/examples/v1/full_configuration/full_configuration{extension}"
11
- mechanism = parser.parse(path)
12
- validate_full_v1_mechanism(mechanism)
13
-
14
-
15
- def test_parser_reports_bad_files():
16
- parser = Parser()
17
- extensions = [".yaml", ".json"]
18
- for extension in extensions:
19
- path = f"musica/test/examples/_missing_configuration{extension}"
20
- with pytest.raises(Exception):
21
- parser.parse(path)
22
-
23
-
24
- def test_hard_coded_full_v1_configuration():
25
- MECHANISM_FULLY_DEFINED = get_fully_defined_mechanism()
26
- validate_full_v1_mechanism(MECHANISM_FULLY_DEFINED)
27
-
28
-
29
- def test_hard_coded_default_constructed_types():
30
- arrhenius = Arrhenius()
31
- assert arrhenius.type == ReactionType.Arrhenius
32
- condensed_phase_arrhenius = CondensedPhaseArrhenius()
33
- assert condensed_phase_arrhenius.type == ReactionType.CondensedPhaseArrhenius
34
- condensed_phase_photolysis = CondensedPhasePhotolysis()
35
- assert condensed_phase_photolysis.type == ReactionType.CondensedPhasePhotolysis
36
- emission = Emission()
37
- assert emission.type == ReactionType.Emission
38
- first_order_loss = FirstOrderLoss()
39
- assert first_order_loss.type == ReactionType.FirstOrderLoss
40
- henrys_law = HenrysLaw()
41
- assert henrys_law.type == ReactionType.HenrysLaw
42
- photolysis = Photolysis()
43
- assert photolysis.type == ReactionType.Photolysis
44
- simpol_phase_transfer = SimpolPhaseTransfer()
45
- assert simpol_phase_transfer.type == ReactionType.SimpolPhaseTransfer
46
- surface = Surface()
47
- assert surface.type == ReactionType.Surface
48
- troe = Troe()
49
- assert troe.type == ReactionType.Troe
50
- tunneling = Tunneling()
51
- assert tunneling.type == ReactionType.Tunneling
52
- wet_deposition = WetDeposition()
53
- assert wet_deposition.type == ReactionType.WetDeposition
54
- branched = Branched()
55
- assert branched.type == ReactionType.Branched
56
- user_defined = UserDefined()
57
- assert user_defined.type == ReactionType.UserDefined