musica 0.10.1__tar.gz → 0.11.1.1__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of musica might be problematic. Click here for more details.
- {musica-0.10.1 → musica-0.11.1.1}/.dockerignore +1 -1
- {musica-0.10.1 → musica-0.11.1.1}/.github/workflows/docker.yml +4 -3
- {musica-0.10.1 → musica-0.11.1.1}/.github/workflows/gh_pages.yml +26 -1
- {musica-0.10.1 → musica-0.11.1.1}/.github/workflows/python-tests.yml +1 -1
- musica-0.10.1/.github/workflows/release.yml → musica-0.11.1.1/.github/workflows/python-wheels.yml +9 -9
- {musica-0.10.1 → musica-0.11.1.1}/.github/workflows/windows.yml +2 -2
- {musica-0.10.1 → musica-0.11.1.1}/.gitignore +3 -1
- {musica-0.10.1 → musica-0.11.1.1}/CMakeLists.txt +43 -19
- {musica-0.10.1 → musica-0.11.1.1}/PKG-INFO +22 -1
- {musica-0.10.1 → musica-0.11.1.1}/README.md +17 -0
- musica-0.11.1.1/cmake/CodeCoverage.cmake +708 -0
- {musica-0.10.1 → musica-0.11.1.1}/cmake/dependencies.cmake +24 -15
- musica-0.11.1.1/cmake/musica-fortran.pc.in +13 -0
- musica-0.11.1.1/cmake/musica.pc.in +13 -0
- {musica-0.10.1 → musica-0.11.1.1}/cmake/test_util.cmake +14 -1
- {musica-0.10.1 → musica-0.11.1.1}/configs/analytical/reactions.json +1 -1
- {musica-0.10.1 → musica-0.11.1.1}/docker/Dockerfile +6 -2
- musica-0.11.1.1/docker/Dockerfile.coverage +32 -0
- {musica-0.10.1 → musica-0.11.1.1}/docker/Dockerfile.docs +7 -5
- {musica-0.10.1 → musica-0.11.1.1}/docker/Dockerfile.fortran-gcc +11 -2
- {musica-0.10.1 → musica-0.11.1.1}/docker/Dockerfile.fortran-gcc.integration +1 -4
- {musica-0.10.1 → musica-0.11.1.1}/docker/Dockerfile.fortran-intel +0 -1
- musica-0.11.1.1/docker/Dockerfile.fortran-intel.pkgconfig +86 -0
- {musica-0.10.1 → musica-0.11.1.1}/docker/Dockerfile.fortran-nvhpc +0 -1
- musica-0.11.1.1/docker/Dockerfile.fortran-nvhpc.pkgconfig +86 -0
- {musica-0.10.1 → musica-0.11.1.1}/docker/Dockerfile.memcheck +0 -1
- {musica-0.10.1 → musica-0.11.1.1}/docker/Dockerfile.mpi +0 -1
- {musica-0.10.1 → musica-0.11.1.1}/docker/Dockerfile.mpi_openmp +0 -1
- musica-0.11.1.1/docker/Dockerfile.nvhpc +46 -0
- {musica-0.10.1 → musica-0.11.1.1}/docker/Dockerfile.openmp +0 -1
- musica-0.11.1.1/docker/Dockerfile.python +38 -0
- musica-0.11.1.1/docker/Dockerfile.python-tests +31 -0
- musica-0.11.1.1/docs/CMakeLists.txt +56 -0
- musica-0.11.1.1/docs/Doxyfile.in +2725 -0
- {musica-0.10.1 → musica-0.11.1.1}/docs/requirements.txt +1 -0
- musica-0.11.1.1/docs/source/_static/switcher.json +17 -0
- musica-0.11.1.1/docs/source/api/C++.rst +5 -0
- musica-0.11.1.1/docs/source/api/index.rst +13 -0
- musica-0.11.1.1/docs/source/api/python.rst +56 -0
- {musica-0.10.1 → musica-0.11.1.1}/docs/source/conf.py +13 -2
- {musica-0.10.1 → musica-0.11.1.1}/fortran/micm/CMakeLists.txt +1 -0
- {musica-0.10.1 → musica-0.11.1.1}/fortran/micm/micm.F90 +82 -175
- musica-0.11.1.1/fortran/micm/state.F90 +328 -0
- {musica-0.10.1 → musica-0.11.1.1}/fortran/packaging/CMakeLists.txt +19 -0
- {musica-0.10.1 → musica-0.11.1.1}/fortran/test/fetch_content_integration/CMakeLists.txt +4 -1
- musica-0.11.1.1/fortran/test/fetch_content_integration/test_micm_api.F90 +592 -0
- musica-0.11.1.1/fortran/test/fetch_content_integration/test_micm_box_model.F90 +126 -0
- musica-0.11.1.1/fortran/test/test_simple.F90 +11 -0
- {musica-0.10.1 → musica-0.11.1.1}/fortran/test/unit/CMakeLists.txt +0 -3
- {musica-0.10.1 → musica-0.11.1.1}/fortran/test/unit/tuvx.F90 +0 -29
- {musica-0.10.1 → musica-0.11.1.1}/fortran/test/unit/tuvx_openmp.F90 +0 -18
- {musica-0.10.1 → musica-0.11.1.1}/fortran/test/unit/util.F90 +23 -1
- {musica-0.10.1 → musica-0.11.1.1}/fortran/tuvx/tuvx.F90 +10 -6
- {musica-0.10.1 → musica-0.11.1.1}/fortran/util.F90 +32 -11
- musica-0.11.1.1/include/musica/error.hpp +18 -0
- musica-0.11.1.1/include/musica/micm/cuda_availability.hpp +6 -0
- musica-0.11.1.1/include/musica/micm/micm.hpp +176 -0
- musica-0.11.1.1/include/musica/micm/micm_c_interface.hpp +88 -0
- musica-0.11.1.1/include/musica/micm/parse.hpp +69 -0
- musica-0.11.1.1/include/musica/micm/state.hpp +94 -0
- musica-0.11.1.1/include/musica/micm/state_c_interface.hpp +101 -0
- {musica-0.10.1 → musica-0.11.1.1}/include/musica/util.hpp +11 -0
- {musica-0.10.1/python → musica-0.11.1.1/musica}/CMakeLists.txt +18 -13
- musica-0.11.1.1/musica/__init__.py +3 -0
- musica-0.11.1.1/musica/binding.cpp +19 -0
- musica-0.11.1.1/musica/mechanism_configuration.cpp +519 -0
- musica-0.11.1.1/musica/mechanism_configuration.py +1291 -0
- musica-0.11.1.1/musica/musica.cpp +214 -0
- musica-0.11.1.1/musica/test/examples/v0/config.json +7 -0
- musica-0.11.1.1/musica/test/examples/v0/config.yaml +3 -0
- musica-0.11.1.1/musica/test/examples/v0/reactions.json +193 -0
- musica-0.11.1.1/musica/test/examples/v0/reactions.yaml +142 -0
- musica-0.11.1.1/musica/test/examples/v0/species.json +40 -0
- musica-0.11.1.1/musica/test/examples/v0/species.yaml +19 -0
- musica-0.11.1.1/musica/test/examples/v1/full_configuration.json +434 -0
- musica-0.11.1.1/musica/test/examples/v1/full_configuration.yaml +271 -0
- musica-0.11.1.1/musica/test/test_analytical.py +323 -0
- musica-0.11.1.1/musica/test/test_chapman.py +123 -0
- musica-0.11.1.1/musica/test/test_parser.py +693 -0
- musica-0.11.1.1/musica/test/tuvx.py +10 -0
- musica-0.11.1.1/musica/tools/prepare_build_environment_linux.sh +41 -0
- musica-0.11.1.1/musica/tools/prepare_build_environment_windows.sh +22 -0
- musica-0.11.1.1/musica/tools/repair_wheel_gpu.sh +25 -0
- musica-0.11.1.1/musica/types.py +362 -0
- musica-0.11.1.1/pyproject.toml +91 -0
- musica-0.11.1.1/spack/packages/musica/package.py +54 -0
- musica-0.11.1.1/spack/repo.yaml +2 -0
- {musica-0.10.1 → musica-0.11.1.1}/src/CMakeLists.txt +7 -2
- {musica-0.10.1 → musica-0.11.1.1}/src/micm/CMakeLists.txt +3 -1
- musica-0.11.1.1/src/micm/cuda_availability.cpp +21 -0
- musica-0.11.1.1/src/micm/micm.cpp +153 -0
- musica-0.11.1.1/src/micm/micm_c_interface.cpp +137 -0
- {musica-0.10.1 → musica-0.11.1.1}/src/micm/parse.cpp +5 -8
- {musica-0.10.1 → musica-0.11.1.1}/src/micm/state.cpp +27 -60
- musica-0.11.1.1/src/micm/state_c_interface.cpp +219 -0
- {musica-0.10.1 → musica-0.11.1.1}/src/micm/v0_parse.cpp +4 -15
- {musica-0.10.1 → musica-0.11.1.1}/src/micm/v1_parse.cpp +35 -42
- {musica-0.10.1 → musica-0.11.1.1}/src/packaging/CMakeLists.txt +33 -4
- {musica-0.10.1 → musica-0.11.1.1}/src/packaging/modulefile.lua.in +9 -5
- musica-0.11.1.1/src/test/test_simple.c +9 -0
- {musica-0.10.1 → musica-0.11.1.1}/src/test/unit/CMakeLists.txt +0 -1
- {musica-0.10.1 → musica-0.11.1.1}/src/test/unit/micm/CMakeLists.txt +2 -1
- {musica-0.10.1 → musica-0.11.1.1}/src/test/unit/micm/micm_c_api.cpp +171 -217
- musica-0.11.1.1/src/test/unit/micm/micm_wrapper.cpp +61 -0
- musica-0.10.1/src/test/unit/micm/micm_wrapper.cpp → musica-0.11.1.1/src/test/unit/micm/parser.cpp +41 -42
- {musica-0.10.1 → musica-0.11.1.1}/src/util.cpp +2 -2
- musica-0.10.1/docker/Dockerfile.pip +0 -38
- musica-0.10.1/docker/Dockerfile.python +0 -61
- musica-0.10.1/docs/CMakeLists.txt +0 -19
- musica-0.10.1/docs/source/api/index.rst +0 -2
- musica-0.10.1/fortran/test/fetch_content_integration/test_micm_api.F90 +0 -650
- musica-0.10.1/fortran/test/fetch_content_integration/test_micm_box_model.F90 +0 -126
- musica-0.10.1/fortran/test/unit/tuvx_mpi.F90 +0 -80
- musica-0.10.1/include/musica/error.hpp +0 -13
- musica-0.10.1/include/musica/micm/micm.hpp +0 -336
- musica-0.10.1/include/musica/micm/parse.hpp +0 -19
- musica-0.10.1/include/musica/micm/state.hpp +0 -97
- musica-0.10.1/pyproject.toml +0 -59
- musica-0.10.1/python/test/test_analytical.py +0 -388
- musica-0.10.1/python/test/test_chapman.py +0 -64
- musica-0.10.1/python/test/tuvx.py +0 -12
- musica-0.10.1/python/wrapper.cpp +0 -121
- musica-0.10.1/src/micm/micm.cpp +0 -421
- musica-0.10.1/src/test/unit/parser.cpp +0 -31
- {musica-0.10.1 → musica-0.11.1.1}/.clang-format +0 -0
- {musica-0.10.1 → musica-0.11.1.1}/.clang-tidy +0 -0
- {musica-0.10.1 → musica-0.11.1.1}/.github/workflows/clang_format.yml +0 -0
- {musica-0.10.1 → musica-0.11.1.1}/.github/workflows/clang_tidy.yml +0 -0
- {musica-0.10.1 → musica-0.11.1.1}/.github/workflows/close_stale_issues.yml +0 -0
- {musica-0.10.1 → musica-0.11.1.1}/.github/workflows/fetch_content_integration.yml +0 -0
- {musica-0.10.1 → musica-0.11.1.1}/.github/workflows/format-python.yml +0 -0
- {musica-0.10.1 → musica-0.11.1.1}/.github/workflows/mac.yml +0 -0
- {musica-0.10.1 → musica-0.11.1.1}/.github/workflows/ubuntu.yml +0 -0
- {musica-0.10.1 → musica-0.11.1.1}/CITATION.cff +0 -0
- {musica-0.10.1 → musica-0.11.1.1}/LICENSE +0 -0
- {musica-0.10.1 → musica-0.11.1.1}/cmake/FindSphinx.cmake +0 -0
- {musica-0.10.1 → musica-0.11.1.1}/cmake/SetDefaults.cmake +0 -0
- {musica-0.10.1 → musica-0.11.1.1}/cmake/cmake_uninstall.cmake.in +0 -0
- {musica-0.10.1 → musica-0.11.1.1}/cmake/musica.settings.in +0 -0
- {musica-0.10.1 → musica-0.11.1.1}/cmake/musicaConfig.cmake.in +0 -0
- {musica-0.10.1 → musica-0.11.1.1}/cmake/silence_warnings.cmake +0 -0
- {musica-0.10.1 → musica-0.11.1.1}/cmake/summary.cmake +0 -0
- {musica-0.10.1 → musica-0.11.1.1}/configs/TS1/config.json +0 -0
- {musica-0.10.1 → musica-0.11.1.1}/configs/TS1/initial_conditions.csv +0 -0
- {musica-0.10.1 → musica-0.11.1.1}/configs/TS1/reactions.json +0 -0
- {musica-0.10.1 → musica-0.11.1.1}/configs/TS1/species.json +0 -0
- {musica-0.10.1 → musica-0.11.1.1}/configs/analytical/config.json +0 -0
- {musica-0.10.1 → musica-0.11.1.1}/configs/analytical/species.json +0 -0
- {musica-0.10.1 → musica-0.11.1.1}/configs/carbon_bond_5/config.json +0 -0
- {musica-0.10.1 → musica-0.11.1.1}/configs/carbon_bond_5/initial_conditions.csv +0 -0
- {musica-0.10.1 → musica-0.11.1.1}/configs/carbon_bond_5/reactions.json +0 -0
- {musica-0.10.1 → musica-0.11.1.1}/configs/carbon_bond_5/species.json +0 -0
- {musica-0.10.1 → musica-0.11.1.1}/configs/chapman/config.json +0 -0
- {musica-0.10.1 → musica-0.11.1.1}/configs/chapman/initial_conditions.csv +0 -0
- {musica-0.10.1 → musica-0.11.1.1}/configs/chapman/reactions.json +0 -0
- {musica-0.10.1 → musica-0.11.1.1}/configs/chapman/species.json +0 -0
- {musica-0.10.1 → musica-0.11.1.1}/configs/robertson/config.json +0 -0
- {musica-0.10.1 → musica-0.11.1.1}/configs/robertson/initial_conditions.csv +0 -0
- {musica-0.10.1 → musica-0.11.1.1}/configs/robertson/reactions.json +0 -0
- {musica-0.10.1 → musica-0.11.1.1}/configs/robertson/species.json +0 -0
- {musica-0.10.1 → musica-0.11.1.1}/configs/v1/chapman/config.json +0 -0
- {musica-0.10.1 → musica-0.11.1.1}/configs/v1/chapman/config.yaml +0 -0
- {musica-0.10.1 → musica-0.11.1.1}/configs/v1/full_configuration.json +0 -0
- {musica-0.10.1 → musica-0.11.1.1}/configs/v1/full_configuration.yaml +0 -0
- {musica-0.10.1 → musica-0.11.1.1}/docs/Makefile +0 -0
- {musica-0.10.1 → musica-0.11.1.1}/docs/Software Development Plan.pdf +0 -0
- {musica-0.10.1 → musica-0.11.1.1}/docs/make.bat +0 -0
- {musica-0.10.1 → musica-0.11.1.1}/docs/source/_static/custom.css +0 -0
- {musica-0.10.1 → musica-0.11.1.1}/docs/source/_static/favicon/favicon.ico +0 -0
- {musica-0.10.1 → musica-0.11.1.1}/docs/source/_static/index_api.svg +0 -0
- {musica-0.10.1 → musica-0.11.1.1}/docs/source/_static/index_contribute.svg +0 -0
- {musica-0.10.1 → musica-0.11.1.1}/docs/source/_static/index_getting_started.svg +0 -0
- {musica-0.10.1 → musica-0.11.1.1}/docs/source/_static/index_user_guide.svg +0 -0
- {musica-0.10.1 → musica-0.11.1.1}/docs/source/contributing/index.rst +0 -0
- {musica-0.10.1 → musica-0.11.1.1}/docs/source/getting_started/getting_started.rst +0 -0
- {musica-0.10.1 → musica-0.11.1.1}/docs/source/getting_started/installation.rst +0 -0
- {musica-0.10.1 → musica-0.11.1.1}/docs/source/getting_started/overview.rst +0 -0
- {musica-0.10.1 → musica-0.11.1.1}/docs/source/index.rst +0 -0
- {musica-0.10.1 → musica-0.11.1.1}/docs/source/references.bib +0 -0
- {musica-0.10.1 → musica-0.11.1.1}/docs/source/tutorial/chapter0.rst +0 -0
- {musica-0.10.1 → musica-0.11.1.1}/docs/source/tutorial/chapter1.rst +0 -0
- {musica-0.10.1 → musica-0.11.1.1}/docs/source/tutorial/chapter2.rst +0 -0
- {musica-0.10.1 → musica-0.11.1.1}/docs/source/tutorial/tutorial.rst +0 -0
- {musica-0.10.1 → musica-0.11.1.1}/docs/source/user_guide/configurations.rst +0 -0
- {musica-0.10.1 → musica-0.11.1.1}/docs/source/user_guide/fortran_c.rst +0 -0
- {musica-0.10.1 → musica-0.11.1.1}/docs/source/user_guide/index.rst +0 -0
- {musica-0.10.1 → musica-0.11.1.1}/fortran/CMakeLists.txt +0 -0
- {musica-0.10.1 → musica-0.11.1.1}/fortran/test/CMakeLists.txt +0 -0
- {musica-0.10.1 → musica-0.11.1.1}/fortran/test/fetch_content_integration/test_get_micm_version.F90 +0 -0
- {musica-0.10.1 → musica-0.11.1.1}/fortran/test/fetch_content_integration/test_tuvx_api.F90 +0 -0
- {musica-0.10.1 → musica-0.11.1.1}/fortran/test/tutorial/CMakeLists.txt +0 -0
- {musica-0.10.1 → musica-0.11.1.1}/fortran/test/tutorial/demo.F90 +0 -0
- {musica-0.10.1 → musica-0.11.1.1}/fortran/tuvx/CMakeLists.txt +0 -0
- {musica-0.10.1 → musica-0.11.1.1}/fortran/tuvx/grid.F90 +0 -0
- {musica-0.10.1 → musica-0.11.1.1}/fortran/tuvx/grid_map.F90 +0 -0
- {musica-0.10.1 → musica-0.11.1.1}/fortran/tuvx/profile.F90 +0 -0
- {musica-0.10.1 → musica-0.11.1.1}/fortran/tuvx/profile_map.F90 +0 -0
- {musica-0.10.1 → musica-0.11.1.1}/fortran/tuvx/radiator.F90 +0 -0
- {musica-0.10.1 → musica-0.11.1.1}/fortran/tuvx/radiator_map.F90 +0 -0
- {musica-0.10.1 → musica-0.11.1.1}/include/musica/component_versions.hpp +0 -0
- {musica-0.10.1 → musica-0.11.1.1}/include/musica/micm/chemistry.hpp +0 -0
- {musica-0.10.1 → musica-0.11.1.1}/include/musica/tuvx/grid.hpp +0 -0
- {musica-0.10.1 → musica-0.11.1.1}/include/musica/tuvx/grid_map.hpp +0 -0
- {musica-0.10.1 → musica-0.11.1.1}/include/musica/tuvx/profile.hpp +0 -0
- {musica-0.10.1 → musica-0.11.1.1}/include/musica/tuvx/profile_map.hpp +0 -0
- {musica-0.10.1 → musica-0.11.1.1}/include/musica/tuvx/radiator.hpp +0 -0
- {musica-0.10.1 → musica-0.11.1.1}/include/musica/tuvx/radiator_map.hpp +0 -0
- {musica-0.10.1 → musica-0.11.1.1}/include/musica/tuvx/tuvx.hpp +0 -0
- {musica-0.10.1 → musica-0.11.1.1}/include/musica/version.hpp +0 -0
- {musica-0.10.1 → musica-0.11.1.1}/src/component_versions.cpp +0 -0
- {musica-0.10.1 → musica-0.11.1.1}/src/test/CMakeLists.txt +0 -0
- {musica-0.10.1 → musica-0.11.1.1}/src/test/data/tuvx/fixed/O2_cross_section.nc +0 -0
- {musica-0.10.1 → musica-0.11.1.1}/src/test/data/tuvx/fixed/O2_parameters.txt +0 -0
- {musica-0.10.1 → musica-0.11.1.1}/src/test/data/tuvx/fixed/bar_cross_section.nc +0 -0
- {musica-0.10.1 → musica-0.11.1.1}/src/test/data/tuvx/fixed/config.json +0 -0
- {musica-0.10.1 → musica-0.11.1.1}/src/test/data/tuvx/fixed/foo_cross_section.nc +0 -0
- {musica-0.10.1 → musica-0.11.1.1}/src/test/data/tuvx/fixed/stand_alone_tuvx_config.json +0 -0
- {musica-0.10.1 → musica-0.11.1.1}/src/test/data/tuvx/from_host/O2_cross_section.nc +0 -0
- {musica-0.10.1 → musica-0.11.1.1}/src/test/data/tuvx/from_host/O2_parameters.txt +0 -0
- {musica-0.10.1 → musica-0.11.1.1}/src/test/data/tuvx/from_host/bar_cross_section.nc +0 -0
- {musica-0.10.1 → musica-0.11.1.1}/src/test/data/tuvx/from_host/config.json +0 -0
- {musica-0.10.1 → musica-0.11.1.1}/src/test/data/tuvx/from_host/foo_cross_section.nc +0 -0
- {musica-0.10.1 → musica-0.11.1.1}/src/test/data/util_index_mapping_from_file.json +0 -0
- {musica-0.10.1 → musica-0.11.1.1}/src/test/unit/component_versions.cpp +0 -0
- {musica-0.10.1 → musica-0.11.1.1}/src/test/unit/tuvx/CMakeLists.txt +0 -0
- {musica-0.10.1 → musica-0.11.1.1}/src/test/unit/tuvx/tuvx_c_api.cpp +0 -0
- {musica-0.10.1 → musica-0.11.1.1}/src/test/unit/tuvx/tuvx_run_from_config.cpp +0 -0
- {musica-0.10.1 → musica-0.11.1.1}/src/test/unit/util.cpp +0 -0
- {musica-0.10.1 → musica-0.11.1.1}/src/tuvx/CMakeLists.txt +0 -0
- {musica-0.10.1 → musica-0.11.1.1}/src/tuvx/grid.cpp +0 -0
- {musica-0.10.1 → musica-0.11.1.1}/src/tuvx/grid_map.cpp +0 -0
- {musica-0.10.1 → musica-0.11.1.1}/src/tuvx/interface.F90 +0 -0
- {musica-0.10.1 → musica-0.11.1.1}/src/tuvx/interface_grid.F90 +0 -0
- {musica-0.10.1 → musica-0.11.1.1}/src/tuvx/interface_grid_map.F90 +0 -0
- {musica-0.10.1 → musica-0.11.1.1}/src/tuvx/interface_profile.F90 +0 -0
- {musica-0.10.1 → musica-0.11.1.1}/src/tuvx/interface_profile_map.F90 +0 -0
- {musica-0.10.1 → musica-0.11.1.1}/src/tuvx/interface_radiator.F90 +0 -0
- {musica-0.10.1 → musica-0.11.1.1}/src/tuvx/interface_radiator_map.F90 +0 -0
- {musica-0.10.1 → musica-0.11.1.1}/src/tuvx/interface_util.F90 +0 -0
- {musica-0.10.1 → musica-0.11.1.1}/src/tuvx/profile.cpp +0 -0
- {musica-0.10.1 → musica-0.11.1.1}/src/tuvx/profile_map.cpp +0 -0
- {musica-0.10.1 → musica-0.11.1.1}/src/tuvx/radiator.cpp +0 -0
- {musica-0.10.1 → musica-0.11.1.1}/src/tuvx/radiator_map.cpp +0 -0
- {musica-0.10.1 → musica-0.11.1.1}/src/tuvx/tuvx.cpp +0 -0
- {musica-0.10.1 → musica-0.11.1.1}/src/version.cpp.in +0 -0
- {musica-0.10.1 → musica-0.11.1.1}/valgrind.supp +0 -0
|
@@ -13,7 +13,7 @@ concurrency:
|
|
|
13
13
|
|
|
14
14
|
jobs:
|
|
15
15
|
docker-build-and-test:
|
|
16
|
-
name: Build and Test - ${{ matrix.dockerfile }}
|
|
16
|
+
name: Build and Test - ${{ matrix.dockerfile }} - ${{ matrix.build_type }}
|
|
17
17
|
runs-on: ubuntu-latest
|
|
18
18
|
strategy:
|
|
19
19
|
fail-fast: false
|
|
@@ -27,7 +27,8 @@ jobs:
|
|
|
27
27
|
- Dockerfile.mpi
|
|
28
28
|
- Dockerfile.mpi_openmp
|
|
29
29
|
- Dockerfile.python
|
|
30
|
-
- Dockerfile.
|
|
30
|
+
- Dockerfile.nvhpc
|
|
31
|
+
- Dockerfile.coverage
|
|
31
32
|
build_type: [Release, Debug]
|
|
32
33
|
steps:
|
|
33
34
|
- name: Checkout code
|
|
@@ -42,7 +43,7 @@ jobs:
|
|
|
42
43
|
run: docker build -t musica -f docker/${{ matrix.dockerfile }} . --build-arg MUSICA_GIT_TAG=${{ github.sha }} --build-arg BUILD_TYPE=${{ matrix.build_type }}
|
|
43
44
|
|
|
44
45
|
- name: Run tests in container
|
|
45
|
-
if: matrix.dockerfile != 'Dockerfile.coverage' && matrix.dockerfile != 'Dockerfile.
|
|
46
|
+
if: matrix.dockerfile != 'Dockerfile.coverage' && matrix.dockerfile != 'Dockerfile.nvhpc'
|
|
46
47
|
run: docker run --name test-container -t musica bash -c 'make test ARGS="--rerun-failed --output-on-failure -j8"'
|
|
47
48
|
|
|
48
49
|
- name: Run coverage tests in container
|
|
@@ -1,7 +1,13 @@
|
|
|
1
1
|
# Build and deploy documentation to GitHub Pages
|
|
2
2
|
name: GitHub Pages
|
|
3
3
|
|
|
4
|
-
on:
|
|
4
|
+
on:
|
|
5
|
+
push:
|
|
6
|
+
branches:
|
|
7
|
+
- main
|
|
8
|
+
- release
|
|
9
|
+
pull_request:
|
|
10
|
+
workflow_dispatch:
|
|
5
11
|
|
|
6
12
|
env:
|
|
7
13
|
DEFAULT_BRANCH: "release"
|
|
@@ -132,3 +138,22 @@ jobs:
|
|
|
132
138
|
github_token: ${{ secrets.GITHUB_TOKEN }}
|
|
133
139
|
publish_dir: _gh-pages/
|
|
134
140
|
force_orphan: true
|
|
141
|
+
|
|
142
|
+
comment-doc-link:
|
|
143
|
+
name: Comment documentation link on PR
|
|
144
|
+
if: ${{ github.event_name == 'pull_request' && github.event.action == 'opened' }}
|
|
145
|
+
runs-on: ubuntu-latest
|
|
146
|
+
steps:
|
|
147
|
+
- name: Post documentation link
|
|
148
|
+
uses: actions/github-script@v6
|
|
149
|
+
with:
|
|
150
|
+
script: |
|
|
151
|
+
const branchName = context.payload.pull_request.head.ref;
|
|
152
|
+
const docLink = `https://ncar.github.io/musica/branch/${branchName}/`;
|
|
153
|
+
const commentBody = `📄 Documentation for this branch is available at: [${docLink}](${docLink})`;
|
|
154
|
+
await github.rest.issues.createComment({
|
|
155
|
+
owner: context.repo.owner,
|
|
156
|
+
repo: context.repo.repo,
|
|
157
|
+
issue_number: context.payload.pull_request.number,
|
|
158
|
+
body: commentBody
|
|
159
|
+
});
|
musica-0.10.1/.github/workflows/release.yml → musica-0.11.1.1/.github/workflows/python-wheels.yml
RENAMED
|
@@ -43,20 +43,20 @@ jobs:
|
|
|
43
43
|
- uses: actions/checkout@v4
|
|
44
44
|
with:
|
|
45
45
|
submodules: true
|
|
46
|
-
|
|
46
|
+
|
|
47
47
|
- uses: actions/setup-python@v5
|
|
48
48
|
with:
|
|
49
49
|
python-version: ${{ matrix.python-version }}
|
|
50
50
|
|
|
51
|
-
-
|
|
51
|
+
- name: CI Build Wheels
|
|
52
|
+
uses: pypa/cibuildwheel@v2.17
|
|
52
53
|
env:
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
shell: bash
|
|
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
|
|
60
60
|
|
|
61
61
|
- name: Upload wheels
|
|
62
62
|
uses: actions/upload-artifact@v4
|
|
@@ -74,13 +74,13 @@ jobs:
|
|
|
74
74
|
continue-on-error: true
|
|
75
75
|
strategy:
|
|
76
76
|
matrix:
|
|
77
|
-
version: [
|
|
77
|
+
version: [12.0.0, 13.0.0, 14.0.0, 15.0.0, 16.0.0, 17.0.1, 18.1.0, 19.1.0, 20.1.0]
|
|
78
78
|
|
|
79
79
|
steps:
|
|
80
80
|
- uses: actions/checkout@v4
|
|
81
81
|
|
|
82
82
|
- name: Install Clang
|
|
83
|
-
run: curl -fsSL -o LLVM${{ matrix.version }}.exe https://github.com/llvm/llvm-project/releases/download/llvmorg-${{ matrix.version }}
|
|
83
|
+
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"
|
|
84
84
|
|
|
85
85
|
- uses: actions/setup-python@v5
|
|
86
86
|
- run: pip install numpy
|
|
@@ -1,10 +1,10 @@
|
|
|
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.
|
|
4
|
+
project(musica-distribution VERSION 0.11.1.1)
|
|
5
5
|
|
|
6
6
|
set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH};${PROJECT_SOURCE_DIR}/cmake)
|
|
7
|
-
set(CMAKE_USER_MAKE_RULES_OVERRIDE ${
|
|
7
|
+
set(CMAKE_USER_MAKE_RULES_OVERRIDE ${PROJECT_SOURCE_DIR}/cmake/SetDefaults.cmake)
|
|
8
8
|
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR})
|
|
9
9
|
|
|
10
10
|
if(NOT CMAKE_BUILD_TYPE)
|
|
@@ -30,21 +30,15 @@ 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
32
|
option(MUSICA_ENABLE_PIC "Build the library with position independent code" OFF)
|
|
33
|
+
option(MUSICA_ENABLE_COVERAGE "Enable code coverage output" OFF)
|
|
34
|
+
option(MUSICA_BUNDLE_DEPENDENCIES "Bundle dependencies with the library" ON)
|
|
33
35
|
|
|
34
|
-
set(
|
|
36
|
+
set(MUSICA_GPU_TYPE "None" CACHE STRING "The GPU type being targeted")
|
|
35
37
|
|
|
36
|
-
|
|
37
|
-
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)
|
|
38
|
+
set(MUSICA_SET_MICM_DEFAULT_VECTOR_SIZE "4" CACHE STRING "Set MICM vector-ordered matrix dimension")
|
|
38
39
|
|
|
39
40
|
cmake_dependent_option(
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
if(MUSICA_CREATE_ENVIRONMENT_MODULE)
|
|
43
|
-
set(MUSICA_INSTALL_MODULE_FILE_PATH "" CACHE STRING "This is the path of the modulefiles location that the Lmod files should be installed to.")
|
|
44
|
-
if(MUSICA_INSTALL_MODULE_FILE_PATH STREQUAL "")
|
|
45
|
-
message(FATAL_ERROR "MUSICA_INSTALL_MODULE_FILE_PATH is required but not set")
|
|
46
|
-
endif()
|
|
47
|
-
endif()
|
|
41
|
+
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)
|
|
48
42
|
|
|
49
43
|
################################################################################
|
|
50
44
|
# Projet wide setup variables
|
|
@@ -64,6 +58,23 @@ elseif(${CMAKE_Fortran_COMPILER_ID} MATCHES "PGI")
|
|
|
64
58
|
list(APPEND musica_compile_definitions MUSICA_USING_PGI)
|
|
65
59
|
endif()
|
|
66
60
|
|
|
61
|
+
# Set the C++ standard library if it is not already set
|
|
62
|
+
if(NOT CMAKE_CXX_STANDARD_LIBRARIES)
|
|
63
|
+
if(${CMAKE_CXX_COMPILER_ID} MATCHES "GNU")
|
|
64
|
+
set(CMAKE_CXX_STANDARD_LIBRARIES "-lstdc++")
|
|
65
|
+
elseif(${CMAKE_CXX_COMPILER_ID} MATCHES "Intel")
|
|
66
|
+
set(CMAKE_CXX_STANDARD_LIBRARIES "-lstdc++")
|
|
67
|
+
elseif(${CMAKE_CXX_COMPILER_ID} MATCHES "IBM")
|
|
68
|
+
set(CMAKE_CXX_STANDARD_LIBRARIES "-lstdc++")
|
|
69
|
+
elseif(${CMAKE_CXX_COMPILER_ID} MATCHES "NVHPC")
|
|
70
|
+
set(CMAKE_CXX_STANDARD_LIBRARIES "-lstdc++")
|
|
71
|
+
elseif(${CMAKE_CXX_COMPILER_ID} MATCHES "Clang")
|
|
72
|
+
set(CMAKE_CXX_STANDARD_LIBRARIES "-lstdc++") # use GNU standard library
|
|
73
|
+
else()
|
|
74
|
+
set(CMAKE_CXX_STANDARD_LIBRARIES "-lstdc++") # default to most common name
|
|
75
|
+
endif()
|
|
76
|
+
endif()
|
|
77
|
+
|
|
67
78
|
if(MUSICA_BUILD_C_CXX_INTERFACE)
|
|
68
79
|
# must be global so that it also applies to dependencies like google test, unless we want
|
|
69
80
|
# to set it for each target
|
|
@@ -89,15 +100,24 @@ set(MEMCHECK_SUPPRESS "--suppressions=${PROJECT_SOURCE_DIR}/valgrind.supp")
|
|
|
89
100
|
################################################################################
|
|
90
101
|
# Dependencies
|
|
91
102
|
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
if(MUSICA_BUILD_DOCS)
|
|
95
|
-
add_subdirectory(docs)
|
|
103
|
+
if(MUSICA_BUNDLE_DEPENDENCIES)
|
|
104
|
+
include(${PROJECT_SOURCE_DIR}/cmake/dependencies.cmake)
|
|
96
105
|
endif()
|
|
97
106
|
|
|
98
107
|
################################################################################
|
|
99
108
|
# Tests
|
|
100
109
|
if(MUSICA_ENABLE_TESTS)
|
|
110
|
+
if(MUSICA_ENABLE_COVERAGE)
|
|
111
|
+
include(CodeCoverage)
|
|
112
|
+
append_coverage_compiler_flags()
|
|
113
|
+
setup_target_for_coverage_lcov(
|
|
114
|
+
NAME coverage
|
|
115
|
+
EXECUTABLE "ctest"
|
|
116
|
+
EXCLUDE "${PROJECT_SOURCE_DIR}/test/*"
|
|
117
|
+
BASE_DIRECTORY "${PROJECT_SOURCE_DIR}/src")
|
|
118
|
+
|
|
119
|
+
endif()
|
|
120
|
+
|
|
101
121
|
enable_testing()
|
|
102
122
|
endif()
|
|
103
123
|
|
|
@@ -107,6 +127,10 @@ if(MUSICA_BUILD_C_CXX_INTERFACE)
|
|
|
107
127
|
add_subdirectory(src)
|
|
108
128
|
endif()
|
|
109
129
|
|
|
130
|
+
if(MUSICA_BUILD_DOCS)
|
|
131
|
+
add_subdirectory(docs)
|
|
132
|
+
endif()
|
|
133
|
+
|
|
110
134
|
################################################################################
|
|
111
135
|
# MUSICA-Fortran
|
|
112
136
|
if(MUSICA_BUILD_FORTRAN_INTERFACE)
|
|
@@ -116,11 +140,11 @@ endif()
|
|
|
116
140
|
################################################################################
|
|
117
141
|
# Musica python
|
|
118
142
|
if(MUSICA_ENABLE_PYTHON_LIBRARY)
|
|
119
|
-
add_subdirectory(
|
|
143
|
+
add_subdirectory(musica)
|
|
120
144
|
endif()
|
|
121
145
|
|
|
122
146
|
################################################################################
|
|
123
147
|
###
|
|
124
148
|
# Configure and display a summary file for how musica was built.
|
|
125
149
|
###
|
|
126
|
-
include(summary)
|
|
150
|
+
include(${PROJECT_SOURCE_DIR}/cmake/summary.cmake)
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.2
|
|
2
2
|
Name: musica
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.11.1.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>
|
|
@@ -209,6 +209,10 @@ License: Apache License
|
|
|
209
209
|
Project-URL: homepage, https://wiki.ucar.edu/display/MUSICA/MUSICA+Home
|
|
210
210
|
Provides-Extra: test
|
|
211
211
|
Requires-Dist: numpy; extra == "test"
|
|
212
|
+
Requires-Dist: pytest; extra == "test"
|
|
213
|
+
Provides-Extra: gpu
|
|
214
|
+
Requires-Dist: nvidia-cublas-cu12; extra == "gpu"
|
|
215
|
+
Requires-Dist: nvidia-cuda-runtime-cu12; extra == "gpu"
|
|
212
216
|
Description-Content-Type: text/markdown
|
|
213
217
|
|
|
214
218
|
# MUSICA
|
|
@@ -222,6 +226,7 @@ Description-Content-Type: text/markdown
|
|
|
222
226
|
[](https://zenodo.org/doi/10.5281/zenodo.7458559)
|
|
223
227
|
[](https://pypi.org/p/musica)
|
|
224
228
|
[](https://fairsoftwarechecklist.net/v0.2?f=31&a=32113&i=22322&r=123)
|
|
229
|
+
[](https://codecov.io/gh/NCAR/musica)
|
|
225
230
|
|
|
226
231
|
Multi-Scale Infrastructure for Chemistry and Aerosols
|
|
227
232
|
|
|
@@ -274,6 +279,22 @@ Specifying a specific version of `tuv-x` by has, but using the official reposito
|
|
|
274
279
|
-DTUVX_GIT_TAG=a6b2c4d8745
|
|
275
280
|
|
|
276
281
|
|
|
282
|
+
### Python build
|
|
283
|
+
Musica has python bindings. If you want to install the python package, you may `pip install musica`.
|
|
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
|
+
|
|
277
298
|
## Citing MUSICA
|
|
278
299
|
|
|
279
300
|
MUSICA can be cited in at least two ways. The first is to cite [the paper](https://doi.org/10.1175/BAMS-D-19-0331.1) that defines the vision
|
|
@@ -9,6 +9,7 @@
|
|
|
9
9
|
[](https://zenodo.org/doi/10.5281/zenodo.7458559)
|
|
10
10
|
[](https://pypi.org/p/musica)
|
|
11
11
|
[](https://fairsoftwarechecklist.net/v0.2?f=31&a=32113&i=22322&r=123)
|
|
12
|
+
[](https://codecov.io/gh/NCAR/musica)
|
|
12
13
|
|
|
13
14
|
Multi-Scale Infrastructure for Chemistry and Aerosols
|
|
14
15
|
|
|
@@ -61,6 +62,22 @@ Specifying a specific version of `tuv-x` by has, but using the official reposito
|
|
|
61
62
|
-DTUVX_GIT_TAG=a6b2c4d8745
|
|
62
63
|
|
|
63
64
|
|
|
65
|
+
### Python build
|
|
66
|
+
Musica has python bindings. If you want to install the python package, you may `pip install musica`.
|
|
67
|
+
|
|
68
|
+
To build the package locally,
|
|
69
|
+
|
|
70
|
+
```
|
|
71
|
+
pip install -e .
|
|
72
|
+
```
|
|
73
|
+
|
|
74
|
+
If you have an NVIDIA GPU and cuda installed, you can enable a build of musica with GPU support by setting the environment
|
|
75
|
+
variable `BUILD_GPU`.
|
|
76
|
+
|
|
77
|
+
```
|
|
78
|
+
BUILD_GPU=1 pip install -e .
|
|
79
|
+
```
|
|
80
|
+
|
|
64
81
|
## Citing MUSICA
|
|
65
82
|
|
|
66
83
|
MUSICA can be cited in at least two ways. The first is to cite [the paper](https://doi.org/10.1175/BAMS-D-19-0331.1) that defines the vision
|