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.
- musica/CMakeLists.txt +28 -2
- musica/__init__.py +9 -49
- musica/_musica.cp311-win_amd64.pyd +0 -0
- musica/_version.py +1 -1
- musica/backend.py +41 -0
- musica/binding_common.cpp +23 -6
- musica/carma.cpp +911 -0
- musica/carma.py +1729 -0
- musica/constants.py +1 -1
- musica/cpu_binding.cpp +2 -1
- musica/cuda.py +4 -1
- musica/examples/__init__.py +1 -0
- musica/examples/carma_aluminum.py +123 -0
- musica/examples/carma_sulfate.py +245 -0
- musica/examples/examples.py +165 -0
- musica/examples/sulfate_box_model.py +439 -0
- musica/examples/ts1_latin_hypercube.py +245 -0
- musica/gpu_binding.cpp +2 -1
- musica/main.py +89 -0
- musica/mechanism_configuration/__init__.py +1 -1
- musica/mechanism_configuration/aqueous_equilibrium.py +227 -54
- musica/mechanism_configuration/arrhenius.py +228 -42
- musica/mechanism_configuration/branched.py +249 -66
- musica/mechanism_configuration/condensed_phase_arrhenius.py +243 -50
- musica/mechanism_configuration/condensed_phase_photolysis.py +16 -19
- musica/mechanism_configuration/emission.py +10 -6
- musica/mechanism_configuration/first_order_loss.py +133 -26
- musica/mechanism_configuration/henrys_law.py +7 -48
- musica/mechanism_configuration/mechanism_configuration.py +114 -41
- musica/mechanism_configuration/phase.py +6 -2
- musica/mechanism_configuration/photolysis.py +12 -7
- musica/mechanism_configuration/reactions.py +20 -8
- musica/mechanism_configuration/simpol_phase_transfer.py +180 -51
- musica/mechanism_configuration/species.py +23 -4
- musica/mechanism_configuration/surface.py +14 -9
- musica/mechanism_configuration/ternary_chemical_activation.py +352 -0
- musica/mechanism_configuration/troe.py +259 -44
- musica/mechanism_configuration/tunneling.py +196 -49
- musica/mechanism_configuration/user_defined.py +9 -4
- musica/mechanism_configuration/wet_deposition.py +11 -8
- musica/mechanism_configuration.cpp +184 -95
- musica/musica.cpp +48 -61
- musica/test/examples/v1/full_configuration/full_configuration.json +39 -22
- musica/test/examples/v1/full_configuration/full_configuration.yaml +29 -20
- musica/test/{test_analytical.py → integration/test_analytical.py} +0 -1
- musica/test/integration/test_carma.py +227 -0
- musica/test/integration/test_carma_aluminum.py +11 -0
- musica/test/integration/test_carma_sulfate.py +16 -0
- musica/test/integration/test_sulfate_box_model.py +34 -0
- musica/test/integration/test_tuvx.py +62 -0
- musica/test/unit/test_parser.py +64 -0
- musica/test/{test_serializer.py → unit/test_serializer.py} +2 -2
- musica/test/{test_util_full_mechanism.py → unit/test_util_full_mechanism.py} +152 -122
- musica/tools/prepare_build_environment_linux.sh +39 -32
- musica/tools/prepare_build_environment_macos.sh +1 -0
- musica/tuvx.cpp +93 -0
- musica/tuvx.py +199 -0
- musica/types.py +104 -60
- {musica-0.12.0.dist-info → musica-0.12.1.dist-info}/METADATA +40 -39
- musica-0.12.1.dist-info/RECORD +69 -0
- {musica-0.12.0.dist-info → musica-0.12.1.dist-info}/WHEEL +1 -1
- musica-0.12.1.dist-info/entry_points.txt +3 -0
- musica/test/examples/v0/config.json +0 -7
- musica/test/examples/v0/config.yaml +0 -3
- musica/test/examples/v0/reactions.json +0 -193
- musica/test/examples/v0/reactions.yaml +0 -142
- musica/test/examples/v0/species.json +0 -40
- musica/test/examples/v0/species.yaml +0 -19
- musica/test/test_parser.py +0 -57
- musica/test/tuvx.py +0 -10
- musica/tools/prepare_build_environment_windows.sh +0 -22
- musica-0.12.0.dist-info/RECORD +0 -57
- /musica/test/{test_chapman.py → integration/test_chapman.py} +0 -0
- {musica-0.12.0.dist-info → musica-0.12.1.dist-info}/licenses/AUTHORS.md +0 -0
- {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.
|
|
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
|
[](https://pypi.org/p/musica)
|
|
229
240
|
[](https://fairsoftwarechecklist.net/v0.2?f=31&a=32113&i=22322&r=123)
|
|
230
241
|
[](https://codecov.io/gh/NCAR/musica)
|
|
242
|
+
[](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/
|
|
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,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
|
musica/test/test_parser.py
DELETED
|
@@ -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
|