musica 0.11.1.1__cp312-cp312-win_amd64.whl → 0.14.2__cp312-cp312-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.
- musica/__init__.py +23 -3
- musica/_musica.cp312-win_amd64.pyd +0 -0
- musica/_version.py +1 -1
- musica/backend.py +58 -0
- musica/carma/__init__.py +20 -0
- musica/carma/carma.py +1727 -0
- musica/constants.py +3 -0
- musica/cuda.py +13 -0
- musica/examples/__init__.py +1 -0
- musica/examples/carma_aluminum.py +124 -0
- musica/examples/carma_sulfate.py +246 -0
- musica/examples/examples.py +165 -0
- musica/examples/sulfate_box_model.py +439 -0
- musica/examples/ts1_latin_hypercube.py +245 -0
- musica/main.py +128 -0
- musica/mechanism_configuration/__init__.py +18 -0
- musica/mechanism_configuration/ancillary.py +6 -0
- musica/mechanism_configuration/arrhenius.py +149 -0
- musica/mechanism_configuration/branched.py +140 -0
- musica/mechanism_configuration/emission.py +82 -0
- musica/mechanism_configuration/first_order_loss.py +90 -0
- musica/mechanism_configuration/mechanism.py +93 -0
- musica/mechanism_configuration/phase.py +58 -0
- musica/mechanism_configuration/phase_species.py +58 -0
- musica/mechanism_configuration/photolysis.py +98 -0
- musica/mechanism_configuration/reaction_component.py +54 -0
- musica/mechanism_configuration/reactions.py +32 -0
- musica/mechanism_configuration/species.py +65 -0
- musica/mechanism_configuration/surface.py +98 -0
- musica/mechanism_configuration/taylor_series.py +136 -0
- musica/mechanism_configuration/ternary_chemical_activation.py +160 -0
- musica/mechanism_configuration/troe.py +160 -0
- musica/mechanism_configuration/tunneling.py +126 -0
- musica/mechanism_configuration/user_defined.py +99 -0
- musica/mechanism_configuration/utils.py +10 -0
- musica/micm/__init__.py +10 -0
- musica/micm/conditions.py +49 -0
- musica/micm/micm.py +135 -0
- musica/micm/solver.py +8 -0
- musica/micm/solver_result.py +24 -0
- musica/micm/state.py +220 -0
- musica/micm/utils.py +18 -0
- musica/tuvx/__init__.py +11 -0
- musica/tuvx/grid.py +98 -0
- musica/tuvx/grid_map.py +167 -0
- musica/tuvx/profile.py +130 -0
- musica/tuvx/profile_map.py +167 -0
- musica/tuvx/radiator.py +95 -0
- musica/tuvx/radiator_map.py +173 -0
- musica/tuvx/tuvx.py +283 -0
- musica-0.14.2.dist-info/DELVEWHEEL +2 -0
- {musica-0.11.1.1.dist-info → musica-0.14.2.dist-info}/METADATA +146 -63
- musica-0.14.2.dist-info/RECORD +104 -0
- {musica-0.11.1.1.dist-info → musica-0.14.2.dist-info}/WHEEL +1 -1
- musica-0.14.2.dist-info/entry_points.txt +3 -0
- musica-0.14.2.dist-info/licenses/AUTHORS.md +59 -0
- musica.libs/libaws-c-auth-0a61a643442f1c0912920b37d9fb0be5.dll +0 -0
- musica.libs/libaws-c-cal-eaafa5905de6c9ba274eb8737e6087dd.dll +0 -0
- musica.libs/libaws-c-common-b4aa4468297ae8e1664f9380a5510317.dll +0 -0
- musica.libs/libaws-c-compression-9f997952aeae03067122ca493c9081b5.dll +0 -0
- musica.libs/libaws-c-event-stream-fe9cc8e1692f60c2b5694a8959dbd7c3.dll +0 -0
- musica.libs/libaws-c-http-4a9d50ba6ad8882f5267ef89e5e4103a.dll +0 -0
- musica.libs/libaws-c-io-e454f1c7a44e77f8c957a016888754be.dll +0 -0
- musica.libs/libaws-c-mqtt-67c5fc291740f5cbc5e53fb767e93226.dll +0 -0
- musica.libs/libaws-c-s3-206db4af6e1a95637b1921ea596603b9.dll +0 -0
- musica.libs/libaws-c-sdkutils-5c9c62dafb8b774cd4a3386f95ef428d.dll +0 -0
- musica.libs/libaws-checksums-7e50fe01b862214958f4d2ab4215fde5.dll +0 -0
- musica.libs/libaws-cpp-sdk-core-7a9ba9c045ee16f5262e955d96865718.dll +0 -0
- musica.libs/libaws-cpp-sdk-s3-4eebff3923c6d250fb508da3c990e0ae.dll +0 -0
- musica.libs/libaws-crt-cpp-3173f1e6f504a96d88e8dbf9e04b3b14.dll +0 -0
- musica.libs/libbrotlicommon-c62c08223e450dfc2fff33c752cc2285.dll +0 -0
- musica.libs/libbrotlidec-ccde7c3978eb1d2e052b193f2968d30a.dll +0 -0
- musica.libs/libbz2-1-669a4bf9266d5f020e843aa5fd75b93c.dll +0 -0
- musica.libs/libcrypto-3-x64-237eeb55505d067eab5e0b886e519387.dll +0 -0
- musica.libs/libcurl-4-bdf865458887dc1235b192ec83729214.dll +0 -0
- musica.libs/libgcc_s_seh-1-5a3153f12338f79fbbb7bf095fc5cef1.dll +0 -0
- musica.libs/libgfortran-5-90848e0eacdecce3a9005faf5aaec7e7.dll +0 -0
- musica.libs/libgomp-1-b8afcf09fecd2f6f01e454c9a5f2c690.dll +0 -0
- musica.libs/libhdf5-320-eec6c8ba2fdde30d365786ffbff40989.dll +0 -0
- musica.libs/libhdf5_hl-320-7e26e1caaad6be4082d728cf08ab2de4.dll +0 -0
- musica.libs/libiconv-2-b37d1b4acab5310c4e4f6e2a961d1464.dll +0 -0
- musica.libs/libidn2-0-d17600177f3b4cd2521d595b3472d240.dll +0 -0
- musica.libs/libintl-8-e4d4ca6b37338fbb0a8c1246afa7258f.dll +0 -0
- musica.libs/liblzma-5-bd95aa0fda6e7c8e41b3843d6fc2942c.dll +0 -0
- musica.libs/libnetcdf-0623e518145bddd30cc615b6d7f2f9c1.dll +0 -0
- musica.libs/libnetcdff-7-982cb7ee026b78f05a79d00e735f91d1.dll +0 -0
- musica.libs/libnghttp2-14-6d49ed806389b4892bcf29c6ed6e3984.dll +0 -0
- musica.libs/libnghttp3-9-d3c9b57d760f6dae7d6a067a68126b84.dll +0 -0
- musica.libs/libngtcp2-16-a43356e6376d41ce4238e2c55581636a.dll +0 -0
- musica.libs/libngtcp2_crypto_ossl-0-b37121badf25a552e5654f27bf6ff093.dll +0 -0
- musica.libs/libopenblas-a16595c3cae114c5c7304aa8bb3c1272.dll +0 -0
- musica.libs/libpsl-5-4368d4c2412410a4a14f3e7f3227e295.dll +0 -0
- musica.libs/libquadmath-0-4edeffe0a60c96360445d33a1876dbda.dll +0 -0
- musica.libs/libssh2-1-f407a2b50419bd904c7eb2c101ae81ea.dll +0 -0
- musica.libs/libssl-3-x64-d2e43d36e6f87f6f1645717cd0871f86.dll +0 -0
- musica.libs/libstdc++-6-83061aaccaf8df77a3b584efef12bc7c.dll +0 -0
- musica.libs/libsz-2-d12f3d26417507ec8dea9964f9fe36a1.dll +0 -0
- musica.libs/libunistring-5-0473d7a71d94f08292beed694c34f7d1.dll +0 -0
- musica.libs/libwinpthread-1-9157bac12a85fb717fa3d2bf6712631a.dll +0 -0
- musica.libs/libxml2-16-7fe545d280fdef922282226eef91571f.dll +0 -0
- musica.libs/libzip-62d3c877b7842bc509fc000316a4731b.dll +0 -0
- musica.libs/libzstd-a25427164f8775046eb8ce488d7d0884.dll +0 -0
- musica.libs/zlib1-1dc85208162ee57fe97e892bb5160fe9.dll +0 -0
- _musica.cp312-win_amd64.pyd +0 -0
- lib/musica.lib +0 -0
- lib/yaml-cpp.lib +0 -0
- musica/CMakeLists.txt +0 -47
- musica/binding.cpp +0 -19
- musica/mechanism_configuration.cpp +0 -519
- musica/mechanism_configuration.py +0 -1291
- musica/musica.cpp +0 -214
- 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/examples/v1/full_configuration.json +0 -434
- musica/test/examples/v1/full_configuration.yaml +0 -271
- musica/test/test_analytical.py +0 -323
- musica/test/test_chapman.py +0 -123
- musica/test/test_parser.py +0 -693
- musica/test/tuvx.py +0 -10
- musica/tools/prepare_build_environment_linux.sh +0 -41
- musica/tools/prepare_build_environment_windows.sh +0 -22
- musica/tools/repair_wheel_gpu.sh +0 -25
- musica/types.py +0 -362
- musica-0.11.1.1.dist-info/RECORD +0 -30
- {musica-0.11.1.1.dist-info → musica-0.14.2.dist-info}/licenses/LICENSE +0 -0
musica/__init__.py
CHANGED
|
@@ -1,3 +1,23 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
1
|
+
"""
|
|
2
|
+
MUSICA: A Python library for atmospheric chemistry simulations.
|
|
3
|
+
"""
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
# start delvewheel patch
|
|
7
|
+
def _delvewheel_patch_1_11_2():
|
|
8
|
+
import os
|
|
9
|
+
if os.path.isdir(libs_dir := os.path.abspath(os.path.join(os.path.dirname(__file__), os.pardir, 'musica.libs'))):
|
|
10
|
+
os.add_dll_directory(libs_dir)
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
_delvewheel_patch_1_11_2()
|
|
14
|
+
del _delvewheel_patch_1_11_2
|
|
15
|
+
# end delvewheel patch
|
|
16
|
+
|
|
17
|
+
from ._version import version as __version__
|
|
18
|
+
from .micm import MICM, SolverType, State, Conditions
|
|
19
|
+
from .tuvx import TUVX, GridMap, Grid, ProfileMap, Profile, RadiatorMap, Radiator
|
|
20
|
+
from . import mechanism_configuration
|
|
21
|
+
from . import carma
|
|
22
|
+
from . import cuda
|
|
23
|
+
from .examples import Examples
|
|
Binary file
|
musica/_version.py
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
version = "0.
|
|
1
|
+
version = "0.14.2"
|
musica/backend.py
ADDED
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
"""
|
|
2
|
+
Backend selection and symbol loading for MUSICA.
|
|
3
|
+
"""
|
|
4
|
+
import importlib.util
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
def _safe_find_spec(name):
|
|
8
|
+
try:
|
|
9
|
+
return importlib.util.find_spec(name)
|
|
10
|
+
except ModuleNotFoundError:
|
|
11
|
+
return None
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
def _gpu_deps_installed():
|
|
15
|
+
return (
|
|
16
|
+
_safe_find_spec("nvidia.cublas") is not None or
|
|
17
|
+
_safe_find_spec("nvidia_cuda_runtime") is not None or
|
|
18
|
+
_safe_find_spec("nvidia-cublas-cu12") is not None or
|
|
19
|
+
_safe_find_spec("nvidia-cuda-runtime-cu12") is not None
|
|
20
|
+
)
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
# Global backend instance to ensure it's only loaded once
|
|
24
|
+
_backend_instance = None
|
|
25
|
+
|
|
26
|
+
|
|
27
|
+
def get_backend():
|
|
28
|
+
"""Get the appropriate backend module."""
|
|
29
|
+
|
|
30
|
+
global _backend_instance
|
|
31
|
+
|
|
32
|
+
if _backend_instance is not None:
|
|
33
|
+
return _backend_instance
|
|
34
|
+
|
|
35
|
+
try:
|
|
36
|
+
if _gpu_deps_installed():
|
|
37
|
+
import musica._musica_gpu as backend
|
|
38
|
+
else:
|
|
39
|
+
import musica._musica as backend
|
|
40
|
+
|
|
41
|
+
_backend_instance = backend
|
|
42
|
+
return _backend_instance
|
|
43
|
+
|
|
44
|
+
except ImportError as e:
|
|
45
|
+
raise ImportError(
|
|
46
|
+
f"Failed to import MUSICA backend. Make sure the package is properly built and installed. Error: {e}")
|
|
47
|
+
|
|
48
|
+
|
|
49
|
+
def tuvx_available():
|
|
50
|
+
"""Check if the TUVX backend is available."""
|
|
51
|
+
_backend = get_backend()
|
|
52
|
+
return hasattr(_backend._tuvx, "_get_tuvx_version")
|
|
53
|
+
|
|
54
|
+
|
|
55
|
+
def carma_available():
|
|
56
|
+
"""Check if the CARMA backend is available."""
|
|
57
|
+
_backend = get_backend()
|
|
58
|
+
return hasattr(_backend._carma, "_get_carma_version")
|
musica/carma/__init__.py
ADDED
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
from .carma import (
|
|
2
|
+
# Main classes
|
|
3
|
+
CARMA, CARMAParameters, CARMAState, CARMASurfaceProperties,
|
|
4
|
+
|
|
5
|
+
# Configuration classes
|
|
6
|
+
CARMAGroupConfig, CARMAElementConfig, CARMASoluteConfig, CARMAGasConfig,
|
|
7
|
+
CARMAWavelengthBin, CARMACoagulationConfig, CARMAGrowthConfig,
|
|
8
|
+
CARMANucleationConfig, CARMAInitializationConfig,
|
|
9
|
+
|
|
10
|
+
# Enums
|
|
11
|
+
ParticleShape, ParticleType, ParticleSwellingAlgorithm,
|
|
12
|
+
ParticleSwellingComposition, ParticleFallVelocityAlgorithm,
|
|
13
|
+
MieCalculationAlgorithm, OpticsAlgorithm, VaporizationAlgorithm,
|
|
14
|
+
GasComposition, ParticleComposition, ParticleCollectionAlgorithm,
|
|
15
|
+
ParticleNucleationAlgorithm, SulfateNucleationMethod, CarmaCoordinates,
|
|
16
|
+
)
|
|
17
|
+
from .. import backend
|
|
18
|
+
_backend = backend.get_backend()
|
|
19
|
+
|
|
20
|
+
__version__ = _backend._carma._get_carma_version() if backend.carma_available() else None
|