musica 0.12.0__tar.gz → 0.12.2__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of musica might be problematic. Click here for more details.
- {musica-0.12.0 → musica-0.12.2}/.dockerignore +1 -1
- {musica-0.12.0 → musica-0.12.2}/.github/workflows/docker.yml +0 -1
- musica-0.12.0/.github/workflows/clang_format.yml → musica-0.12.2/.github/workflows/format.yml +12 -5
- {musica-0.12.0 → musica-0.12.2}/.github/workflows/gh_pages.yml +13 -16
- {musica-0.12.0 → musica-0.12.2}/.github/workflows/mac.yml +5 -3
- {musica-0.12.0 → musica-0.12.2}/.github/workflows/python-tests.yml +15 -2
- {musica-0.12.0 → musica-0.12.2}/.github/workflows/python-wheels.yml +38 -11
- {musica-0.12.0 → musica-0.12.2}/.github/workflows/ubuntu.yml +3 -2
- {musica-0.12.0 → musica-0.12.2}/.github/workflows/windows.yml +15 -5
- {musica-0.12.0 → musica-0.12.2}/.gitignore +5 -0
- {musica-0.12.0 → musica-0.12.2}/CITATION.cff +1 -1
- {musica-0.12.0 → musica-0.12.2}/CMakeLists.txt +6 -2
- {musica-0.12.0 → musica-0.12.2}/PKG-INFO +41 -39
- {musica-0.12.0 → musica-0.12.2}/README.md +28 -38
- musica-0.12.2/binder/environment.yml +8 -0
- {musica-0.12.0 → musica-0.12.2}/cmake/dependencies.cmake +20 -3
- {musica-0.12.0 → musica-0.12.2}/cmake/musica.settings.in +1 -0
- {musica-0.12.0 → musica-0.12.2}/cmake/setup_musica_target.cmake +22 -2
- {musica-0.12.0 → musica-0.12.2}/cmake/summary.cmake +7 -1
- {musica-0.12.0 → musica-0.12.2}/cmake/test_util.cmake +0 -3
- musica-0.12.2/configs/tuvx/data/cross_sections/1-C4H9ONO2_1.nc +0 -0
- musica-0.12.2/configs/tuvx/data/cross_sections/2-C4H9ONO2_1.nc +0 -0
- musica-0.12.2/configs/tuvx/data/cross_sections/ACETONE_JPL06.nc +0 -0
- musica-0.12.2/configs/tuvx/data/cross_sections/BRONO2_JPL06.nc +0 -0
- musica-0.12.2/configs/tuvx/data/cross_sections/BRO_JPL06.nc +0 -0
- musica-0.12.2/configs/tuvx/data/cross_sections/Br2_1.nc +0 -0
- musica-0.12.2/configs/tuvx/data/cross_sections/BrCl_1.nc +0 -0
- musica-0.12.2/configs/tuvx/data/cross_sections/BrNO2_1.nc +0 -0
- musica-0.12.2/configs/tuvx/data/cross_sections/BrNO_1.nc +0 -0
- musica-0.12.2/configs/tuvx/data/cross_sections/BrONO2_1.nc +0 -0
- musica-0.12.2/configs/tuvx/data/cross_sections/BrONO_1.nc +0 -0
- musica-0.12.2/configs/tuvx/data/cross_sections/BrO_1.nc +0 -0
- musica-0.12.2/configs/tuvx/data/cross_sections/C2H5CHO_1.nc +0 -0
- musica-0.12.2/configs/tuvx/data/cross_sections/C2H5ONO2_1.nc +0 -0
- musica-0.12.2/configs/tuvx/data/cross_sections/CCl2O_1.nc +0 -0
- musica-0.12.2/configs/tuvx/data/cross_sections/CCl4_1.nc +0 -0
- musica-0.12.2/configs/tuvx/data/cross_sections/CClFO_1.nc +0 -0
- musica-0.12.2/configs/tuvx/data/cross_sections/CF2Br2_1.nc +0 -0
- musica-0.12.2/configs/tuvx/data/cross_sections/CF2BrCF2Br_1.nc +0 -0
- musica-0.12.2/configs/tuvx/data/cross_sections/CF2BrCl_1.nc +0 -0
- musica-0.12.2/configs/tuvx/data/cross_sections/CF2CL2_JPL06.nc +0 -0
- musica-0.12.2/configs/tuvx/data/cross_sections/CF2ClCF2CHFCl_1.nc +0 -0
- musica-0.12.2/configs/tuvx/data/cross_sections/CF2O_1.nc +0 -0
- musica-0.12.2/configs/tuvx/data/cross_sections/CF3Br_1.nc +0 -0
- musica-0.12.2/configs/tuvx/data/cross_sections/CF3CF2CHCl2_1.nc +0 -0
- musica-0.12.2/configs/tuvx/data/cross_sections/CF3CHCl2_1.nc +0 -0
- musica-0.12.2/configs/tuvx/data/cross_sections/CF3CHCl_1.nc +0 -0
- musica-0.12.2/configs/tuvx/data/cross_sections/CF3CHFCl_1.nc +0 -0
- musica-0.12.2/configs/tuvx/data/cross_sections/CFC-113_1.nc +0 -0
- musica-0.12.2/configs/tuvx/data/cross_sections/CFC-114_1.nc +0 -0
- musica-0.12.2/configs/tuvx/data/cross_sections/CFC-115_1.nc +0 -0
- musica-0.12.2/configs/tuvx/data/cross_sections/CFC-11_1.nc +0 -0
- musica-0.12.2/configs/tuvx/data/cross_sections/CFC-12_1.nc +0 -0
- musica-0.12.2/configs/tuvx/data/cross_sections/CFC113_JPL06.nc +0 -0
- musica-0.12.2/configs/tuvx/data/cross_sections/CFC114_JPL10.nc +0 -0
- musica-0.12.2/configs/tuvx/data/cross_sections/CFC115_JPL10.nc +0 -0
- musica-0.12.2/configs/tuvx/data/cross_sections/CFCL3_JPL06.nc +0 -0
- musica-0.12.2/configs/tuvx/data/cross_sections/CH2BR2_1.nc +0 -0
- musica-0.12.2/configs/tuvx/data/cross_sections/CH2CHCHO_1.nc +0 -0
- musica-0.12.2/configs/tuvx/data/cross_sections/CH2O_1.nc +0 -0
- musica-0.12.2/configs/tuvx/data/cross_sections/CH3BR_JPL06.nc +0 -0
- musica-0.12.2/configs/tuvx/data/cross_sections/CH3Br_1.nc +0 -0
- musica-0.12.2/configs/tuvx/data/cross_sections/CH3CCl3_1.nc +0 -0
- musica-0.12.2/configs/tuvx/data/cross_sections/CH3CF2Cl_1.nc +0 -0
- musica-0.12.2/configs/tuvx/data/cross_sections/CH3CFCl2_1.nc +0 -0
- musica-0.12.2/configs/tuvx/data/cross_sections/CH3CH2ONO2_1.nc +0 -0
- musica-0.12.2/configs/tuvx/data/cross_sections/CH3CH3NNO_1.nc +0 -0
- musica-0.12.2/configs/tuvx/data/cross_sections/CH3CHONO2CH3_1.nc +0 -0
- musica-0.12.2/configs/tuvx/data/cross_sections/CH3CHO_1.nc +0 -0
- musica-0.12.2/configs/tuvx/data/cross_sections/CH3CL_JPL06.nc +0 -0
- musica-0.12.2/configs/tuvx/data/cross_sections/CH3COCH2CH3_1.nc +0 -0
- musica-0.12.2/configs/tuvx/data/cross_sections/CH3COCH3_1.nc +0 -0
- musica-0.12.2/configs/tuvx/data/cross_sections/CH3COCHO_1.nc +0 -0
- musica-0.12.2/configs/tuvx/data/cross_sections/CH3COCOCH3_1.nc +0 -0
- musica-0.12.2/configs/tuvx/data/cross_sections/CH3COCOOH_1.nc +0 -0
- musica-0.12.2/configs/tuvx/data/cross_sections/CH3COOH_1.nc +0 -0
- musica-0.12.2/configs/tuvx/data/cross_sections/CH3COOOH_1.nc +0 -0
- musica-0.12.2/configs/tuvx/data/cross_sections/CH3Cl_1.nc +0 -0
- musica-0.12.2/configs/tuvx/data/cross_sections/CH3OCl_1.nc +0 -0
- musica-0.12.2/configs/tuvx/data/cross_sections/CH3ONO2_1.nc +0 -0
- musica-0.12.2/configs/tuvx/data/cross_sections/CH3OOH_1.nc +0 -0
- musica-0.12.2/configs/tuvx/data/cross_sections/CH3OONO2_1.nc +0 -0
- musica-0.12.2/configs/tuvx/data/cross_sections/CH4_1.nc +0 -0
- musica-0.12.2/configs/tuvx/data/cross_sections/CHBR3_JPL10.nc +0 -0
- musica-0.12.2/configs/tuvx/data/cross_sections/CHBr3_1.nc +0 -0
- musica-0.12.2/configs/tuvx/data/cross_sections/CHCl3_1.nc +0 -0
- musica-0.12.2/configs/tuvx/data/cross_sections/CHClF2_1.nc +0 -0
- musica-0.12.2/configs/tuvx/data/cross_sections/CHOCHO_1.nc +0 -0
- musica-0.12.2/configs/tuvx/data/cross_sections/CL2O2_JPL10.nc +0 -0
- musica-0.12.2/configs/tuvx/data/cross_sections/CLO_JPL06.nc +0 -0
- musica-0.12.2/configs/tuvx/data/cross_sections/CO2_1.nc +0 -0
- musica-0.12.2/configs/tuvx/data/cross_sections/COF2_1.nc +0 -0
- musica-0.12.2/configs/tuvx/data/cross_sections/COFCl_1.nc +0 -0
- musica-0.12.2/configs/tuvx/data/cross_sections/Cl2O2_1.nc +0 -0
- musica-0.12.2/configs/tuvx/data/cross_sections/ClNO2_1.nc +0 -0
- musica-0.12.2/configs/tuvx/data/cross_sections/ClONO2_1.nc +0 -0
- musica-0.12.2/configs/tuvx/data/cross_sections/ClONO_1.nc +0 -0
- musica-0.12.2/configs/tuvx/data/cross_sections/ClOOCl_1.nc +0 -0
- musica-0.12.2/configs/tuvx/data/cross_sections/ClOO_1.nc +0 -0
- musica-0.12.2/configs/tuvx/data/cross_sections/ClO_1.nc +0 -0
- musica-0.12.2/configs/tuvx/data/cross_sections/H1301_JPL06.nc +0 -0
- musica-0.12.2/configs/tuvx/data/cross_sections/H2402_JPL06.nc +0 -0
- musica-0.12.2/configs/tuvx/data/cross_sections/H2O2_1.nc +0 -0
- musica-0.12.2/configs/tuvx/data/cross_sections/H2O_1.nc +0 -0
- musica-0.12.2/configs/tuvx/data/cross_sections/H2O_2.nc +0 -0
- musica-0.12.2/configs/tuvx/data/cross_sections/H2O_3.nc +0 -0
- musica-0.12.2/configs/tuvx/data/cross_sections/H2SO4_1.nc +0 -0
- musica-0.12.2/configs/tuvx/data/cross_sections/HBr_1.nc +0 -0
- musica-0.12.2/configs/tuvx/data/cross_sections/HCFC141b_JPL10.nc +0 -0
- musica-0.12.2/configs/tuvx/data/cross_sections/HCFC142b_JPL10.nc +0 -0
- musica-0.12.2/configs/tuvx/data/cross_sections/HCFC22_JPL06.nc +0 -0
- musica-0.12.2/configs/tuvx/data/cross_sections/HCl_1.nc +0 -0
- musica-0.12.2/configs/tuvx/data/cross_sections/HF_1.nc +0 -0
- musica-0.12.2/configs/tuvx/data/cross_sections/HNO2_1.nc +0 -0
- musica-0.12.2/configs/tuvx/data/cross_sections/HNO3_1.nc +0 -0
- musica-0.12.2/configs/tuvx/data/cross_sections/HNO3_JPL06.nc +0 -0
- musica-0.12.2/configs/tuvx/data/cross_sections/HNO4_1.nc +0 -0
- musica-0.12.2/configs/tuvx/data/cross_sections/HO2NO2_JPL06.nc +0 -0
- musica-0.12.2/configs/tuvx/data/cross_sections/HO2NO2_temp_JPL06.nc +0 -0
- musica-0.12.2/configs/tuvx/data/cross_sections/HO2_1.nc +0 -0
- musica-0.12.2/configs/tuvx/data/cross_sections/HOCH2CHO_1.nc +0 -0
- musica-0.12.2/configs/tuvx/data/cross_sections/HOCH2CHO_tyndall.nc +0 -0
- musica-0.12.2/configs/tuvx/data/cross_sections/HOCH2OOH_1.nc +0 -0
- musica-0.12.2/configs/tuvx/data/cross_sections/HOCl_1.nc +0 -0
- musica-0.12.2/configs/tuvx/data/cross_sections/HONO_1.nc +0 -0
- musica-0.12.2/configs/tuvx/data/cross_sections/Hydroxyacetone_1.nc +0 -0
- musica-0.12.2/configs/tuvx/data/cross_sections/I2_1.nc +0 -0
- musica-0.12.2/configs/tuvx/data/cross_sections/IOH_1.nc +0 -0
- musica-0.12.2/configs/tuvx/data/cross_sections/IO_1.nc +0 -0
- musica-0.12.2/configs/tuvx/data/cross_sections/MVK_1.nc +0 -0
- musica-0.12.2/configs/tuvx/data/cross_sections/Methacrolein_1.nc +0 -0
- musica-0.12.2/configs/tuvx/data/cross_sections/N2O5_1.nc +0 -0
- musica-0.12.2/configs/tuvx/data/cross_sections/N2O5_2.nc +0 -0
- musica-0.12.2/configs/tuvx/data/cross_sections/N2O5_JPL06.nc +0 -0
- musica-0.12.2/configs/tuvx/data/cross_sections/NO2_1.nc +0 -0
- musica-0.12.2/configs/tuvx/data/cross_sections/NO3-(aq)_1.nc +0 -0
- musica-0.12.2/configs/tuvx/data/cross_sections/NO3_1.nc +0 -0
- musica-0.12.2/configs/tuvx/data/cross_sections/NOCl_1.nc +0 -0
- musica-0.12.2/configs/tuvx/data/cross_sections/O2_1.nc +0 -0
- musica-0.12.2/configs/tuvx/data/cross_sections/O2_JPL06.nc +0 -0
- musica-0.12.2/configs/tuvx/data/cross_sections/O3_1.nc +0 -0
- musica-0.12.2/configs/tuvx/data/cross_sections/O3_2.nc +0 -0
- musica-0.12.2/configs/tuvx/data/cross_sections/O3_3.nc +0 -0
- musica-0.12.2/configs/tuvx/data/cross_sections/O3_4.nc +0 -0
- musica-0.12.2/configs/tuvx/data/cross_sections/O3_JPL06_218K.nc +0 -0
- musica-0.12.2/configs/tuvx/data/cross_sections/O3_JPL06_298K.nc +0 -0
- musica-0.12.2/configs/tuvx/data/cross_sections/O3_JPL06_base.nc +0 -0
- musica-0.12.2/configs/tuvx/data/cross_sections/OCS_1.nc +0 -0
- musica-0.12.2/configs/tuvx/data/cross_sections/OClO_1.nc +0 -0
- musica-0.12.2/configs/tuvx/data/cross_sections/OClO_2.nc +0 -0
- musica-0.12.2/configs/tuvx/data/cross_sections/OClO_3.nc +0 -0
- musica-0.12.2/configs/tuvx/data/cross_sections/PAN_1.nc +0 -0
- musica-0.12.2/configs/tuvx/data/cross_sections/PPN_1.nc +0 -0
- musica-0.12.2/configs/tuvx/data/cross_sections/SF6_1.nc +0 -0
- musica-0.12.2/configs/tuvx/data/cross_sections/SO2_1.nc +0 -0
- musica-0.12.2/configs/tuvx/data/cross_sections/SO2_Mills.nc +0 -0
- musica-0.12.2/configs/tuvx/data/cross_sections/SO3_1.nc +0 -0
- musica-0.12.2/configs/tuvx/data/cross_sections/SO_1.nc +0 -0
- musica-0.12.2/configs/tuvx/data/cross_sections/nC3H7ONO2_1.nc +0 -0
- musica-0.12.2/configs/tuvx/data/cross_sections/perfluoro 1-iodopropane_1.nc +0 -0
- musica-0.12.2/configs/tuvx/data/cross_sections/t-butyl-nitrite_1.nc +0 -0
- musica-0.12.2/configs/tuvx/data/dose_rates.json +211 -0
- musica-0.12.2/configs/tuvx/data/grids/wavelength/cam.csv +104 -0
- musica-0.12.2/configs/tuvx/data/grids/wavelength/combined.grid +158 -0
- musica-0.12.2/configs/tuvx/data/grids/wavelength/fast_tuv.grid +22 -0
- musica-0.12.2/configs/tuvx/data/grids/wavelength/isaksen.grid +133 -0
- musica-0.12.2/configs/tuvx/data/grids/wavelength/kockarts.grid +16 -0
- musica-0.12.2/configs/tuvx/data/photolysis_rate_constants.json +1425 -0
- musica-0.12.2/configs/tuvx/data/profiles/atmosphere/atmmod.afglmw.100 +103 -0
- musica-0.12.2/configs/tuvx/data/profiles/atmosphere/o3column.dat +27 -0
- musica-0.12.2/configs/tuvx/data/profiles/atmosphere/toms7.78_93.ave +18 -0
- musica-0.12.2/configs/tuvx/data/profiles/atmosphere/ussa.dens +124 -0
- musica-0.12.2/configs/tuvx/data/profiles/atmosphere/ussa.ozone +46 -0
- musica-0.12.2/configs/tuvx/data/profiles/atmosphere/ussa.temp +124 -0
- musica-0.12.2/configs/tuvx/data/profiles/solar/atlas3_1994_317_a.dat +5164 -0
- musica-0.12.2/configs/tuvx/data/profiles/solar/neckel.flx +505 -0
- musica-0.12.2/configs/tuvx/data/profiles/solar/sao2010.solref.converted +80098 -0
- musica-0.12.2/configs/tuvx/data/profiles/solar/susim_hi.flx +5595 -0
- musica-0.12.2/configs/tuvx/data/quantum_yields/C2H5CHO_1.nc +0 -0
- musica-0.12.2/configs/tuvx/data/quantum_yields/CH2O_1.nc +0 -0
- musica-0.12.2/configs/tuvx/data/quantum_yields/CH3CHO_1.nc +0 -0
- musica-0.12.2/configs/tuvx/data/quantum_yields/CHOCHO-CH2O_CO_1.nc +0 -0
- musica-0.12.2/configs/tuvx/data/quantum_yields/CHOCHO-H2_CO_CO_1.nc +0 -0
- musica-0.12.2/configs/tuvx/data/quantum_yields/CHOCHO-HCO_HCO_1.nc +0 -0
- musica-0.12.2/configs/tuvx/data/quantum_yields/H2O_2H_O3P.nc +0 -0
- musica-0.12.2/configs/tuvx/data/quantum_yields/H2O_H2_O1D.nc +0 -0
- musica-0.12.2/configs/tuvx/data/quantum_yields/H2O_H_OH.nc +0 -0
- musica-0.12.2/configs/tuvx/data/quantum_yields/H2SO4_mills.nc +0 -0
- musica-0.12.2/configs/tuvx/data/quantum_yields/I2_1.nc +0 -0
- musica-0.12.2/configs/tuvx/data/quantum_yields/NO2_1.nc +0 -0
- musica-0.12.2/configs/tuvx/data/quantum_yields/NO3-NO+O2_1.nc +0 -0
- musica-0.12.2/configs/tuvx/data/quantum_yields/NO3-NO2+O(3P)_1.nc +0 -0
- musica-0.12.2/configs/tuvx/data/spectral_weights/Cataract, pig(Oriowo et al.,2001)_spectral_wght_1.nc +0 -0
- musica-0.12.2/configs/tuvx/data/spectral_weights/DNA_damage_in_vitro(Setlow,1974)_spectral_wght_1.nc +0 -0
- musica-0.12.2/configs/tuvx/data/spectral_weights/Eppley-UV-Photometer_spectral_wght_1.nc +0 -0
- musica-0.12.2/configs/tuvx/data/spectral_weights/Erythema,humans(Anders et al.,1995)_spectral_wght_1.nc +0 -0
- musica-0.12.2/configs/tuvx/data/spectral_weights/NMSC (CIE 2006)_spectral_wght_1.nc +0 -0
- musica-0.12.2/configs/tuvx/data/spectral_weights/Occupational TLV (ACGIH,1992)_spectral_wght_1.nc +0 -0
- musica-0.12.2/configs/tuvx/data/spectral_weights/Phytoplankton, phaeo(Cullen et al. 1992)_spectral_wght_1.nc +0 -0
- musica-0.12.2/configs/tuvx/data/spectral_weights/Phytoplankton, proro(Cullen et al. 1992)_spectral_wght_1.nc +0 -0
- musica-0.12.2/configs/tuvx/data/spectral_weights/Previtamin-D3 (CIE 2006)_spectral_wght_1.nc +0 -0
- musica-0.12.2/configs/tuvx/data/spectral_weights/RB-Meter,model_501_spectral_wght_1.nc +0 -0
- van der Leun,1994)_spectral_wght_1.nc +0 -0
- musica-0.12.2/configs/tuvx/tuv_5_4.json +1807 -0
- musica-0.12.2/configs/v0/TS1/reactions.json +8355 -0
- {musica-0.12.0 → musica-0.12.2}/configs/v0/TS1/species.json +26 -25
- {musica-0.12.0 → musica-0.12.2}/configs/v1/full_configuration/full_configuration.json +120 -30
- {musica-0.12.0 → musica-0.12.2}/configs/v1/full_configuration/full_configuration.yaml +85 -28
- musica-0.12.2/configs/v1/ts1/initial_conditions.csv +363 -0
- musica-0.12.2/configs/v1/ts1/ts1.json +17961 -0
- {musica-0.12.0 → musica-0.12.2}/docker/Dockerfile +1 -0
- {musica-0.12.0 → musica-0.12.2}/docker/Dockerfile.coverage +1 -0
- {musica-0.12.0 → musica-0.12.2}/docker/Dockerfile.docs +16 -8
- {musica-0.12.0 → musica-0.12.2}/docker/Dockerfile.fortran-gcc +1 -0
- {musica-0.12.0 → musica-0.12.2}/docker/Dockerfile.fortran-gcc.integration +5 -3
- {musica-0.12.0 → musica-0.12.2}/docker/Dockerfile.fortran-intel +9 -8
- {musica-0.12.0 → musica-0.12.2}/docker/Dockerfile.fortran-intel.pkgconfig +1 -0
- {musica-0.12.0 → musica-0.12.2}/docker/Dockerfile.fortran-nvhpc +8 -8
- {musica-0.12.0 → musica-0.12.2}/docker/Dockerfile.fortran-nvhpc.pkgconfig +1 -1
- {musica-0.12.0 → musica-0.12.2}/docker/Dockerfile.memcheck +1 -0
- {musica-0.12.0 → musica-0.12.2}/docker/Dockerfile.mpi +1 -0
- {musica-0.12.0 → musica-0.12.2}/docker/Dockerfile.mpi_openmp +1 -0
- {musica-0.12.0 → musica-0.12.2}/docker/Dockerfile.nvhpc +3 -2
- {musica-0.12.0 → musica-0.12.2}/docker/Dockerfile.openmp +1 -0
- musica-0.12.0/docker/Dockerfile.python-tests → musica-0.12.2/docker/Dockerfile.python +9 -9
- {musica-0.12.0 → musica-0.12.2}/docs/Doxyfile.in +2 -2
- {musica-0.12.0 → musica-0.12.2}/docs/Makefile +3 -0
- {musica-0.12.0 → musica-0.12.2}/docs/requirements.txt +7 -0
- {musica-0.12.0 → musica-0.12.2}/docs/source/api/index.rst +2 -0
- {musica-0.12.0 → musica-0.12.2}/docs/source/api/python.rst +17 -8
- musica-0.12.2/docs/source/citing/index.rst +40 -0
- {musica-0.12.0 → musica-0.12.2}/docs/source/conf.py +11 -0
- musica-0.12.2/docs/source/contributing/index.rst +142 -0
- musica-0.12.2/docs/source/getting_started/fortran.rst +157 -0
- musica-0.12.2/docs/source/getting_started/getting_started.rst +17 -0
- musica-0.12.2/docs/source/getting_started/getting_started_output.png +0 -0
- musica-0.12.2/docs/source/getting_started/python.rst +164 -0
- musica-0.12.2/docs/source/index.rst +71 -0
- {musica-0.12.0/tutorial → musica-0.12.2/docs/source/tutorials}/1. multiple_grid_cells.ipynb +258 -21
- musica-0.12.2/docs/source/tutorials/2. hypercube.ipynb +541 -0
- musica-0.12.2/docs/source/tutorials/3. user_defined_reactions.ipynb +515 -0
- musica-0.12.2/docs/source/tutorials/4. local_parallelization.ipynb +1127 -0
- musica-0.12.2/docs/source/tutorials/5. hpc_parallelization.ipynb +1130 -0
- musica-0.12.2/docs/source/tutorials/6. gpu_solver.ipynb +244 -0
- musica-0.12.2/docs/source/tutorials/7. carma.ipynb +1667 -0
- {musica-0.12.0/docs/source/tutorial → musica-0.12.2/docs/source/tutorials}/chapter0.rst +2 -0
- {musica-0.12.0/docs/source/tutorial → musica-0.12.2/docs/source/tutorials}/chapter2.rst +5 -3
- musica-0.12.2/docs/source/tutorials/config/dask_scaling_tests.csv +37 -0
- musica-0.12.2/docs/source/tutorials/tutorials.rst +68 -0
- musica-0.12.2/docs/source/user_guide/chemistry/index.rst +57 -0
- musica-0.12.2/docs/source/user_guide/examples/index.rst +54 -0
- {musica-0.12.0 → musica-0.12.2}/docs/source/user_guide/fortran_c.rst +1 -1
- musica-0.12.2/docs/source/user_guide/gpu/index.rst +144 -0
- musica-0.12.2/docs/source/user_guide/index.rst +28 -0
- musica-0.12.2/docs/source/user_guide/installation/index.rst +51 -0
- musica-0.12.2/docs/source/user_guide/model/index.rst +53 -0
- musica-0.12.2/docs/source/user_guide/multigrid/hypercube/index.rst +117 -0
- musica-0.12.2/docs/source/user_guide/multigrid/index.rst +25 -0
- musica-0.12.2/docs/source/user_guide/multigrid/parallel/index.rst +243 -0
- musica-0.12.2/docs/source/user_guide/multigrid/two-grid-cell/index.rst +110 -0
- musica-0.12.2/docs/source/user_guide/output/example_plot.png +0 -0
- musica-0.12.2/docs/source/user_guide/output/index.rst +76 -0
- {musica-0.12.0 → musica-0.12.2}/fortran/micm/micm.F90 +9 -9
- {musica-0.12.0 → musica-0.12.2}/fortran/micm/state.F90 +10 -7
- {musica-0.12.0 → musica-0.12.2}/fortran/util.F90 +22 -24
- musica-0.12.2/include/musica/carma/carma.hpp +429 -0
- musica-0.12.2/include/musica/carma/carma_c_interface.hpp +466 -0
- musica-0.12.2/include/musica/carma/carma_state.hpp +175 -0
- musica-0.12.2/include/musica/carma/error.hpp +41 -0
- {musica-0.12.0 → musica-0.12.2}/include/musica/micm/micm_c_interface.hpp +13 -8
- {musica-0.12.0 → musica-0.12.2}/include/musica/micm/parse.hpp +7 -1
- {musica-0.12.0 → musica-0.12.2}/include/musica/micm/state_c_interface.hpp +8 -8
- musica-0.12.2/include/musica/tuvx/tuvx.hpp +130 -0
- musica-0.12.0/include/musica/tuvx/tuvx.hpp → musica-0.12.2/include/musica/tuvx/tuvx_c_interface.hpp +14 -74
- {musica-0.12.0 → musica-0.12.2}/include/musica/util.hpp +19 -18
- {musica-0.12.0 → musica-0.12.2}/musica/CMakeLists.txt +28 -2
- musica-0.12.2/musica/__init__.py +11 -0
- musica-0.12.2/musica/backend.py +41 -0
- musica-0.12.2/musica/binding_common.cpp +33 -0
- musica-0.12.2/musica/carma.cpp +911 -0
- musica-0.12.2/musica/carma.py +1729 -0
- {musica-0.12.0 → musica-0.12.2}/musica/constants.py +1 -1
- {musica-0.12.0 → musica-0.12.2}/musica/cpu_binding.cpp +2 -1
- {musica-0.12.0 → musica-0.12.2}/musica/cuda.py +4 -1
- musica-0.12.2/musica/examples/__init__.py +1 -0
- musica-0.12.2/musica/examples/carma_aluminum.py +124 -0
- musica-0.12.2/musica/examples/carma_sulfate.py +246 -0
- musica-0.12.2/musica/examples/examples.py +165 -0
- musica-0.12.2/musica/examples/sulfate_box_model.py +439 -0
- musica-0.12.2/musica/examples/ts1_latin_hypercube.py +245 -0
- {musica-0.12.0 → musica-0.12.2}/musica/gpu_binding.cpp +2 -1
- musica-0.12.2/musica/main.py +89 -0
- musica-0.12.2/musica/mechanism_configuration/__init__.py +1 -0
- musica-0.12.2/musica/mechanism_configuration/aqueous_equilibrium.py +274 -0
- musica-0.12.2/musica/mechanism_configuration/arrhenius.py +307 -0
- musica-0.12.2/musica/mechanism_configuration/branched.py +299 -0
- musica-0.12.2/musica/mechanism_configuration/condensed_phase_arrhenius.py +309 -0
- {musica-0.12.0 → musica-0.12.2}/musica/mechanism_configuration/condensed_phase_photolysis.py +16 -19
- {musica-0.12.0 → musica-0.12.2}/musica/mechanism_configuration/emission.py +10 -6
- musica-0.12.2/musica/mechanism_configuration/first_order_loss.py +174 -0
- musica-0.12.2/musica/mechanism_configuration/henrys_law.py +44 -0
- {musica-0.12.0 → musica-0.12.2}/musica/mechanism_configuration/mechanism_configuration.py +114 -41
- {musica-0.12.0 → musica-0.12.2}/musica/mechanism_configuration/phase.py +6 -2
- {musica-0.12.0 → musica-0.12.2}/musica/mechanism_configuration/photolysis.py +12 -7
- {musica-0.12.0 → musica-0.12.2}/musica/mechanism_configuration/reactions.py +20 -8
- musica-0.12.2/musica/mechanism_configuration/simpol_phase_transfer.py +217 -0
- {musica-0.12.0 → musica-0.12.2}/musica/mechanism_configuration/species.py +23 -4
- {musica-0.12.0 → musica-0.12.2}/musica/mechanism_configuration/surface.py +14 -9
- musica-0.12.2/musica/mechanism_configuration/ternary_chemical_activation.py +352 -0
- musica-0.12.2/musica/mechanism_configuration/troe.py +352 -0
- musica-0.12.2/musica/mechanism_configuration/tunneling.py +250 -0
- {musica-0.12.0 → musica-0.12.2}/musica/mechanism_configuration/user_defined.py +9 -4
- {musica-0.12.0 → musica-0.12.2}/musica/mechanism_configuration/wet_deposition.py +11 -8
- {musica-0.12.0 → musica-0.12.2}/musica/mechanism_configuration.cpp +184 -95
- {musica-0.12.0 → musica-0.12.2}/musica/musica.cpp +48 -61
- {musica-0.12.0 → musica-0.12.2}/musica/test/examples/v1/full_configuration/full_configuration.json +39 -22
- {musica-0.12.0 → musica-0.12.2}/musica/test/examples/v1/full_configuration/full_configuration.yaml +29 -20
- {musica-0.12.0/musica/test → musica-0.12.2/musica/test/integration}/test_analytical.py +0 -1
- musica-0.12.2/musica/test/integration/test_carma.py +227 -0
- musica-0.12.2/musica/test/integration/test_carma_aluminum.py +12 -0
- musica-0.12.2/musica/test/integration/test_carma_sulfate.py +17 -0
- musica-0.12.2/musica/test/integration/test_sulfate_box_model.py +34 -0
- musica-0.12.2/musica/test/integration/test_tuvx.py +62 -0
- musica-0.12.2/musica/test/unit/test_parser.py +64 -0
- {musica-0.12.0/musica/test → musica-0.12.2/musica/test/unit}/test_serializer.py +2 -2
- musica-0.12.2/musica/test/unit/test_state.py +325 -0
- {musica-0.12.0/musica/test → musica-0.12.2/musica/test/unit}/test_util_full_mechanism.py +152 -122
- musica-0.12.2/musica/tools/prepare_build_environment_linux.sh +32 -0
- musica-0.12.2/musica/tools/prepare_build_environment_macos.sh +1 -0
- musica-0.12.2/musica/tuvx.cpp +93 -0
- musica-0.12.2/musica/tuvx.py +199 -0
- {musica-0.12.0 → musica-0.12.2}/musica/types.py +120 -73
- musica-0.12.2/pyproject.toml +136 -0
- {musica-0.12.0 → musica-0.12.2}/spack/packages/musica/package.py +9 -1
- {musica-0.12.0 → musica-0.12.2}/src/CMakeLists.txt +21 -4
- musica-0.12.2/src/carma/carma.cpp +656 -0
- musica-0.12.2/src/carma/carma_c_interface.cpp +40 -0
- musica-0.12.2/src/carma/carma_parameters.F90 +295 -0
- musica-0.12.2/src/carma/carma_state.cpp +423 -0
- musica-0.12.2/src/carma/interface.F90 +1568 -0
- musica-0.12.2/src/micm/convert_v0_to_v1.cpp +289 -0
- {musica-0.12.0 → musica-0.12.2}/src/micm/micm_c_interface.cpp +11 -5
- {musica-0.12.0 → musica-0.12.2}/src/micm/state_c_interface.cpp +12 -16
- {musica-0.12.0 → musica-0.12.2}/src/micm/v0_parse.cpp +52 -31
- {musica-0.12.0 → musica-0.12.2}/src/micm/v1_parse.cpp +98 -41
- {musica-0.12.0 → musica-0.12.2}/src/packaging/CMakeLists.txt +13 -2
- musica-0.12.2/src/test/data/tuvx/from_host/O2_parameters.txt +44 -0
- {musica-0.12.0 → musica-0.12.2}/src/test/unit/CMakeLists.txt +5 -1
- musica-0.12.2/src/test/unit/carma/CMakeLists.txt +3 -0
- musica-0.12.2/src/test/unit/carma/carma_c_api.cpp +258 -0
- {musica-0.12.0 → musica-0.12.2}/src/test/unit/micm/micm_c_api.cpp +14 -8
- musica-0.12.2/src/test/unit/micm/parser.cpp +500 -0
- {musica-0.12.0 → musica-0.12.2}/src/test/unit/tuvx/tuvx_c_api.cpp +1 -0
- {musica-0.12.0 → musica-0.12.2}/src/test/unit/tuvx/tuvx_run_from_config.cpp +1 -0
- {musica-0.12.0 → musica-0.12.2}/src/test/unit/util.cpp +26 -13
- musica-0.12.2/src/tuvx/interface.F90 +555 -0
- musica-0.12.2/src/tuvx/tuvx.cpp +329 -0
- musica-0.12.2/src/tuvx/tuvx_c_interface.cpp +91 -0
- {musica-0.12.0 → musica-0.12.2}/src/util.cpp +21 -27
- musica-0.12.2/tutorials/1. multiple_grid_cells.ipynb +752 -0
- musica-0.12.2/tutorials/2. hypercube.ipynb +541 -0
- musica-0.12.2/tutorials/3. user_defined_reactions.ipynb +515 -0
- musica-0.12.2/tutorials/4. local_parallelization.ipynb +1127 -0
- musica-0.12.2/tutorials/5. hpc_parallelization.ipynb +1130 -0
- musica-0.12.2/tutorials/6. gpu_solver.ipynb +244 -0
- musica-0.12.2/tutorials/7. carma.ipynb +3822 -0
- musica-0.12.2/tutorials/config/dask_scaling_tests.csv +37 -0
- musica-0.12.2/valgrind.supp +174 -0
- musica-0.12.0/.github/workflows/format-python.yml +0 -45
- musica-0.12.0/cmake/silence_warnings.cmake +0 -21
- musica-0.12.0/configs/v0/TS1/reactions.json +0 -7124
- musica-0.12.0/docker/Dockerfile.python +0 -41
- musica-0.12.0/docs/source/contributing/index.rst +0 -2
- musica-0.12.0/docs/source/getting_started/getting_started.rst +0 -10
- musica-0.12.0/docs/source/getting_started/installation.rst +0 -16
- musica-0.12.0/docs/source/getting_started/overview.rst +0 -19
- musica-0.12.0/docs/source/index.rst +0 -54
- musica-0.12.0/docs/source/tutorial/tutorial.rst +0 -11
- musica-0.12.0/docs/source/user_guide/configurations.rst +0 -4
- musica-0.12.0/docs/source/user_guide/index.rst +0 -17
- musica-0.12.0/musica/__init__.py +0 -51
- musica-0.12.0/musica/binding_common.cpp +0 -16
- musica-0.12.0/musica/mechanism_configuration/__init__.py +0 -1
- musica-0.12.0/musica/mechanism_configuration/aqueous_equilibrium.py +0 -101
- musica-0.12.0/musica/mechanism_configuration/arrhenius.py +0 -121
- musica-0.12.0/musica/mechanism_configuration/branched.py +0 -116
- musica-0.12.0/musica/mechanism_configuration/condensed_phase_arrhenius.py +0 -116
- musica-0.12.0/musica/mechanism_configuration/first_order_loss.py +0 -67
- musica-0.12.0/musica/mechanism_configuration/henrys_law.py +0 -85
- musica-0.12.0/musica/mechanism_configuration/simpol_phase_transfer.py +0 -88
- musica-0.12.0/musica/mechanism_configuration/troe.py +0 -137
- musica-0.12.0/musica/mechanism_configuration/tunneling.py +0 -103
- musica-0.12.0/musica/test/examples/v0/config.json +0 -7
- musica-0.12.0/musica/test/examples/v0/config.yaml +0 -3
- musica-0.12.0/musica/test/examples/v0/reactions.json +0 -193
- musica-0.12.0/musica/test/examples/v0/reactions.yaml +0 -142
- musica-0.12.0/musica/test/examples/v0/species.json +0 -40
- musica-0.12.0/musica/test/examples/v0/species.yaml +0 -19
- musica-0.12.0/musica/test/test_parser.py +0 -57
- musica-0.12.0/musica/test/tuvx.py +0 -10
- musica-0.12.0/musica/tools/prepare_build_environment_linux.sh +0 -43
- musica-0.12.0/musica/tools/prepare_build_environment_windows.sh +0 -22
- musica-0.12.0/pyproject.toml +0 -92
- musica-0.12.0/src/test/data/tuvx/fixed/stand_alone_tuvx_config.json +0 -175
- musica-0.12.0/src/test/unit/micm/parser.cpp +0 -100
- musica-0.12.0/src/tuvx/interface.F90 +0 -276
- musica-0.12.0/src/tuvx/tuvx.cpp +0 -236
- musica-0.12.0/tutorial/2. hypercube.ipynb +0 -529
- musica-0.12.0/tutorial/3. user_defined_reactions.ipynb +0 -515
- musica-0.12.0/valgrind.supp +0 -15
- {musica-0.12.0 → musica-0.12.2}/.clang-format +0 -0
- {musica-0.12.0 → musica-0.12.2}/.clang-tidy +0 -0
- {musica-0.12.0 → musica-0.12.2}/.github/workflows/clang_tidy.yml +0 -0
- {musica-0.12.0 → musica-0.12.2}/.github/workflows/close_stale_issues.yml +0 -0
- {musica-0.12.0 → musica-0.12.2}/.github/workflows/fetch_content_integration.yml +0 -0
- {musica-0.12.0 → musica-0.12.2}/.zenodo.json +0 -0
- {musica-0.12.0 → musica-0.12.2}/AUTHORS.md +0 -0
- {musica-0.12.0 → musica-0.12.2}/CONTRIBUTING.md +0 -0
- {musica-0.12.0 → musica-0.12.2}/LICENSE +0 -0
- {musica-0.12.0 → musica-0.12.2}/cmake/CodeCoverage.cmake +0 -0
- {musica-0.12.0 → musica-0.12.2}/cmake/FindSphinx.cmake +0 -0
- {musica-0.12.0 → musica-0.12.2}/cmake/SetDefaults.cmake +0 -0
- {musica-0.12.0 → musica-0.12.2}/cmake/cmake_uninstall.cmake.in +0 -0
- {musica-0.12.0 → musica-0.12.2}/cmake/musica-fortran.pc.in +0 -0
- {musica-0.12.0 → musica-0.12.2}/cmake/musica.pc.in +0 -0
- {musica-0.12.0 → musica-0.12.2}/cmake/musicaConfig.cmake.in +0 -0
- {musica-0.12.0/src/test/data/tuvx/fixed → musica-0.12.2/configs/tuvx/data/cross_sections}/O2_parameters.txt +0 -0
- {musica-0.12.0 → musica-0.12.2}/configs/v0/TS1/config.json +0 -0
- {musica-0.12.0 → musica-0.12.2}/configs/v0/TS1/initial_conditions.csv +0 -0
- {musica-0.12.0 → musica-0.12.2}/configs/v0/analytical/config.json +0 -0
- {musica-0.12.0 → musica-0.12.2}/configs/v0/analytical/reactions.json +0 -0
- {musica-0.12.0 → musica-0.12.2}/configs/v0/analytical/species.json +0 -0
- {musica-0.12.0 → musica-0.12.2}/configs/v0/carbon_bond_5/config.json +0 -0
- {musica-0.12.0 → musica-0.12.2}/configs/v0/carbon_bond_5/initial_conditions.csv +0 -0
- {musica-0.12.0 → musica-0.12.2}/configs/v0/carbon_bond_5/reactions.json +0 -0
- {musica-0.12.0 → musica-0.12.2}/configs/v0/carbon_bond_5/species.json +0 -0
- {musica-0.12.0 → musica-0.12.2}/configs/v0/chapman/config.json +0 -0
- {musica-0.12.0 → musica-0.12.2}/configs/v0/chapman/initial_conditions.csv +0 -0
- {musica-0.12.0 → musica-0.12.2}/configs/v0/chapman/reactions.json +0 -0
- {musica-0.12.0 → musica-0.12.2}/configs/v0/chapman/species.json +0 -0
- {musica-0.12.0 → musica-0.12.2}/configs/v0/robertson/config.json +0 -0
- {musica-0.12.0 → musica-0.12.2}/configs/v0/robertson/initial_conditions.csv +0 -0
- {musica-0.12.0 → musica-0.12.2}/configs/v0/robertson/reactions.json +0 -0
- {musica-0.12.0 → musica-0.12.2}/configs/v0/robertson/species.json +0 -0
- {musica-0.12.0 → musica-0.12.2}/configs/v1/chapman/config.json +0 -0
- {musica-0.12.0 → musica-0.12.2}/configs/v1/chapman/config.yaml +0 -0
- {musica-0.12.0 → musica-0.12.2}/docker/Dockerfile.wheel +0 -0
- {musica-0.12.0 → musica-0.12.2}/docs/CMakeLists.txt +0 -0
- {musica-0.12.0 → musica-0.12.2}/docs/Software Development Plan.pdf +0 -0
- {musica-0.12.0 → musica-0.12.2}/docs/make.bat +0 -0
- {musica-0.12.0 → musica-0.12.2}/docs/source/_static/custom.css +0 -0
- {musica-0.12.0 → musica-0.12.2}/docs/source/_static/ecosystem.png +0 -0
- {musica-0.12.0 → musica-0.12.2}/docs/source/_static/favicon/favicon.ico +0 -0
- {musica-0.12.0 → musica-0.12.2}/docs/source/_static/index_api.svg +0 -0
- {musica-0.12.0 → musica-0.12.2}/docs/source/_static/index_contribute.svg +0 -0
- {musica-0.12.0 → musica-0.12.2}/docs/source/_static/index_getting_started.svg +0 -0
- {musica-0.12.0 → musica-0.12.2}/docs/source/_static/index_user_guide.svg +0 -0
- {musica-0.12.0 → musica-0.12.2}/docs/source/_static/switcher.json +0 -0
- {musica-0.12.0 → musica-0.12.2}/docs/source/api/C++.rst +0 -0
- {musica-0.12.0 → musica-0.12.2}/docs/source/references.bib +0 -0
- {musica-0.12.0/docs/source/tutorial → musica-0.12.2/docs/source/tutorials}/chapter1.rst +0 -0
- {musica-0.12.0 → musica-0.12.2}/fortran/CMakeLists.txt +0 -0
- {musica-0.12.0 → musica-0.12.2}/fortran/micm/CMakeLists.txt +0 -0
- {musica-0.12.0 → musica-0.12.2}/fortran/packaging/CMakeLists.txt +0 -0
- {musica-0.12.0 → musica-0.12.2}/fortran/test/CMakeLists.txt +0 -0
- {musica-0.12.0 → musica-0.12.2}/fortran/test/fetch_content_integration/CMakeLists.txt +0 -0
- {musica-0.12.0 → musica-0.12.2}/fortran/test/fetch_content_integration/test_get_micm_version.F90 +0 -0
- {musica-0.12.0 → musica-0.12.2}/fortran/test/fetch_content_integration/test_micm_api.F90 +0 -0
- {musica-0.12.0 → musica-0.12.2}/fortran/test/fetch_content_integration/test_micm_box_model.F90 +0 -0
- {musica-0.12.0 → musica-0.12.2}/fortran/test/fetch_content_integration/test_tuvx_api.F90 +0 -0
- {musica-0.12.0 → musica-0.12.2}/fortran/test/test_simple.F90 +0 -0
- {musica-0.12.0 → musica-0.12.2}/fortran/test/tutorial/CMakeLists.txt +0 -0
- {musica-0.12.0 → musica-0.12.2}/fortran/test/tutorial/demo.F90 +0 -0
- {musica-0.12.0 → musica-0.12.2}/fortran/test/unit/CMakeLists.txt +0 -0
- {musica-0.12.0 → musica-0.12.2}/fortran/test/unit/tuvx.F90 +0 -0
- {musica-0.12.0 → musica-0.12.2}/fortran/test/unit/tuvx_openmp.F90 +0 -0
- {musica-0.12.0 → musica-0.12.2}/fortran/test/unit/util.F90 +0 -0
- {musica-0.12.0 → musica-0.12.2}/fortran/tuvx/CMakeLists.txt +0 -0
- {musica-0.12.0 → musica-0.12.2}/fortran/tuvx/grid.F90 +0 -0
- {musica-0.12.0 → musica-0.12.2}/fortran/tuvx/grid_map.F90 +0 -0
- {musica-0.12.0 → musica-0.12.2}/fortran/tuvx/profile.F90 +0 -0
- {musica-0.12.0 → musica-0.12.2}/fortran/tuvx/profile_map.F90 +0 -0
- {musica-0.12.0 → musica-0.12.2}/fortran/tuvx/radiator.F90 +0 -0
- {musica-0.12.0 → musica-0.12.2}/fortran/tuvx/radiator_map.F90 +0 -0
- {musica-0.12.0 → musica-0.12.2}/fortran/tuvx/tuvx.F90 +0 -0
- {musica-0.12.0 → musica-0.12.2}/include/musica/component_versions.hpp +0 -0
- {musica-0.12.0 → musica-0.12.2}/include/musica/error.hpp +0 -0
- {musica-0.12.0 → musica-0.12.2}/include/musica/micm/chemistry.hpp +0 -0
- {musica-0.12.0 → musica-0.12.2}/include/musica/micm/cuda_availability.hpp +0 -0
- {musica-0.12.0 → musica-0.12.2}/include/musica/micm/micm.hpp +0 -0
- {musica-0.12.0 → musica-0.12.2}/include/musica/micm/state.hpp +0 -0
- {musica-0.12.0 → musica-0.12.2}/include/musica/tuvx/grid.hpp +0 -0
- {musica-0.12.0 → musica-0.12.2}/include/musica/tuvx/grid_map.hpp +0 -0
- {musica-0.12.0 → musica-0.12.2}/include/musica/tuvx/profile.hpp +0 -0
- {musica-0.12.0 → musica-0.12.2}/include/musica/tuvx/profile_map.hpp +0 -0
- {musica-0.12.0 → musica-0.12.2}/include/musica/tuvx/radiator.hpp +0 -0
- {musica-0.12.0 → musica-0.12.2}/include/musica/tuvx/radiator_map.hpp +0 -0
- {musica-0.12.0 → musica-0.12.2}/include/musica/version.hpp +0 -0
- {musica-0.12.0 → musica-0.12.2}/musica/binding_common.hpp +0 -0
- {musica-0.12.0 → musica-0.12.2}/musica/cuda.cpp +0 -0
- {musica-0.12.0 → musica-0.12.2}/musica/mechanism_configuration/utils.py +0 -0
- {musica-0.12.0/musica/test → musica-0.12.2/musica/test/integration}/test_chapman.py +0 -0
- {musica-0.12.0 → musica-0.12.2}/musica/tools/repair_wheel_gpu.sh +0 -0
- {musica-0.12.0 → musica-0.12.2}/spack/repo.yaml +0 -0
- {musica-0.12.0 → musica-0.12.2}/src/component_versions.cpp +0 -0
- {musica-0.12.0 → musica-0.12.2}/src/micm/cuda_availability.cpp +0 -0
- {musica-0.12.0 → musica-0.12.2}/src/micm/micm.cpp +0 -0
- {musica-0.12.0 → musica-0.12.2}/src/micm/parse.cpp +0 -0
- {musica-0.12.0 → musica-0.12.2}/src/micm/state.cpp +0 -0
- {musica-0.12.0 → musica-0.12.2}/src/packaging/modulefile.lua.in +0 -0
- {musica-0.12.0 → musica-0.12.2}/src/test/CMakeLists.txt +0 -0
- {musica-0.12.0 → musica-0.12.2}/src/test/data/tuvx/fixed/O2_cross_section.nc +0 -0
- {musica-0.12.0/src/test/data/tuvx/from_host → musica-0.12.2/src/test/data/tuvx/fixed}/O2_parameters.txt +0 -0
- {musica-0.12.0 → musica-0.12.2}/src/test/data/tuvx/fixed/bar_cross_section.nc +0 -0
- {musica-0.12.0 → musica-0.12.2}/src/test/data/tuvx/fixed/config.json +0 -0
- {musica-0.12.0 → musica-0.12.2}/src/test/data/tuvx/fixed/foo_cross_section.nc +0 -0
- {musica-0.12.0 → musica-0.12.2}/src/test/data/tuvx/from_host/O2_cross_section.nc +0 -0
- {musica-0.12.0 → musica-0.12.2}/src/test/data/tuvx/from_host/bar_cross_section.nc +0 -0
- {musica-0.12.0 → musica-0.12.2}/src/test/data/tuvx/from_host/config.json +0 -0
- {musica-0.12.0 → musica-0.12.2}/src/test/data/tuvx/from_host/foo_cross_section.nc +0 -0
- {musica-0.12.0 → musica-0.12.2}/src/test/data/util_index_mapping_from_file.json +0 -0
- {musica-0.12.0 → musica-0.12.2}/src/test/test_simple.c +0 -0
- {musica-0.12.0 → musica-0.12.2}/src/test/unit/component_versions.cpp +0 -0
- {musica-0.12.0 → musica-0.12.2}/src/test/unit/micm/CMakeLists.txt +0 -0
- {musica-0.12.0 → musica-0.12.2}/src/test/unit/micm/micm_wrapper.cpp +0 -0
- {musica-0.12.0 → musica-0.12.2}/src/test/unit/tuvx/CMakeLists.txt +0 -0
- {musica-0.12.0 → musica-0.12.2}/src/tuvx/grid.cpp +0 -0
- {musica-0.12.0 → musica-0.12.2}/src/tuvx/grid_map.cpp +0 -0
- {musica-0.12.0 → musica-0.12.2}/src/tuvx/interface_grid.F90 +0 -0
- {musica-0.12.0 → musica-0.12.2}/src/tuvx/interface_grid_map.F90 +0 -0
- {musica-0.12.0 → musica-0.12.2}/src/tuvx/interface_profile.F90 +0 -0
- {musica-0.12.0 → musica-0.12.2}/src/tuvx/interface_profile_map.F90 +0 -0
- {musica-0.12.0 → musica-0.12.2}/src/tuvx/interface_radiator.F90 +0 -0
- {musica-0.12.0 → musica-0.12.2}/src/tuvx/interface_radiator_map.F90 +0 -0
- {musica-0.12.0 → musica-0.12.2}/src/tuvx/interface_util.F90 +0 -0
- {musica-0.12.0 → musica-0.12.2}/src/tuvx/profile.cpp +0 -0
- {musica-0.12.0 → musica-0.12.2}/src/tuvx/profile_map.cpp +0 -0
- {musica-0.12.0 → musica-0.12.2}/src/tuvx/radiator.cpp +0 -0
- {musica-0.12.0 → musica-0.12.2}/src/tuvx/radiator_map.cpp +0 -0
- {musica-0.12.0 → musica-0.12.2}/src/version.cpp.in +0 -0
musica-0.12.0/.github/workflows/clang_format.yml → musica-0.12.2/.github/workflows/format.yml
RENAMED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
name: Clang-Format
|
|
1
|
+
name: Format Code with Clang-Format and autopep8
|
|
2
2
|
|
|
3
3
|
on:
|
|
4
4
|
push:
|
|
@@ -8,7 +8,7 @@ on:
|
|
|
8
8
|
|
|
9
9
|
jobs:
|
|
10
10
|
format:
|
|
11
|
-
name: Run
|
|
11
|
+
name: Run Formatting
|
|
12
12
|
runs-on: ubuntu-latest
|
|
13
13
|
|
|
14
14
|
steps:
|
|
@@ -21,10 +21,17 @@ jobs:
|
|
|
21
21
|
ref: ${{ github.head_ref }}
|
|
22
22
|
token: ${{ secrets.GITHUB_TOKEN }}
|
|
23
23
|
|
|
24
|
+
- name: autopep8
|
|
25
|
+
uses: peter-evans/autopep8@v2
|
|
26
|
+
with:
|
|
27
|
+
args: --recursive --in-place --aggressive --aggressive --max-line-length 120 .
|
|
28
|
+
|
|
24
29
|
- name: Run clang-format
|
|
25
30
|
run: |
|
|
26
31
|
find include -type f \( -name '*.hpp' -or -name '*.h' \) -exec clang-format -i --style=file --verbose {} +
|
|
27
32
|
find src -type f \( -name '*.cpp' -or -name '*.c' \) -exec clang-format -i --style=file --verbose {} +
|
|
33
|
+
find musica -type f \( -name '*.cpp' -or -name '*.c' \) -exec clang-format -i --style=file --verbose {} +
|
|
34
|
+
find musica -type f \( -name '*.hpp' -or -name '*.h' \) -exec clang-format -i --style=file --verbose {} +
|
|
28
35
|
|
|
29
36
|
- name: Check for changes
|
|
30
37
|
id: check-changes
|
|
@@ -37,7 +44,7 @@ jobs:
|
|
|
37
44
|
run: |
|
|
38
45
|
git config --global user.name "GitHub Actions"
|
|
39
46
|
git config --global user.email "actions@github.com"
|
|
40
|
-
git commit -am "Auto-format code using Clang-Format" || echo "No changes to commit"
|
|
47
|
+
git commit -am "Auto-format code using Clang-Format and autopep8" || echo "No changes to commit"
|
|
41
48
|
|
|
42
49
|
- name: Push changes to main-formatting branch
|
|
43
50
|
if: steps.check-changes.outcome != 'success'
|
|
@@ -48,7 +55,7 @@ jobs:
|
|
|
48
55
|
uses: peter-evans/create-pull-request@v6
|
|
49
56
|
with:
|
|
50
57
|
token: ${{ secrets.GITHUB_TOKEN }}
|
|
51
|
-
commit-message: "Auto-format code using Clang-Format"
|
|
58
|
+
commit-message: "Auto-format code using Clang-Format and autopep8"
|
|
52
59
|
title: "Auto-format code changes"
|
|
53
|
-
body: "This is an automated pull request to apply code formatting using Clang-Format."
|
|
60
|
+
body: "This is an automated pull request to apply code formatting using Clang-Format and autopep8."
|
|
54
61
|
branch: main-formatting
|
|
@@ -1,11 +1,8 @@
|
|
|
1
1
|
# Build and deploy documentation to GitHub Pages
|
|
2
2
|
name: GitHub Pages
|
|
3
3
|
|
|
4
|
-
on:
|
|
4
|
+
on:
|
|
5
5
|
push:
|
|
6
|
-
branches:
|
|
7
|
-
- main
|
|
8
|
-
- release
|
|
9
6
|
pull_request:
|
|
10
7
|
workflow_dispatch:
|
|
11
8
|
|
|
@@ -15,14 +12,7 @@ env:
|
|
|
15
12
|
jobs:
|
|
16
13
|
build-and-deploy:
|
|
17
14
|
name: Build and deploy to gh-pages
|
|
18
|
-
runs-on: ubuntu-
|
|
19
|
-
strategy:
|
|
20
|
-
matrix:
|
|
21
|
-
gcc-version: [13]
|
|
22
|
-
env:
|
|
23
|
-
CXX: g++-${{ matrix.gcc-version }}
|
|
24
|
-
CC: gcc-${{ matrix.gcc-version }}
|
|
25
|
-
FC: gfortran-${{ matrix.gcc-version }}
|
|
15
|
+
runs-on: ubuntu-latest
|
|
26
16
|
steps:
|
|
27
17
|
- uses: actions/checkout@v4
|
|
28
18
|
with:
|
|
@@ -94,7 +84,8 @@ jobs:
|
|
|
94
84
|
# _gh-pages/branch/$brname (transforming '/' into '--')
|
|
95
85
|
- name: Build and copy documentation (branch)
|
|
96
86
|
if: |
|
|
97
|
-
contains(github.event_name, 'push')
|
|
87
|
+
(contains(github.event_name, 'push') ||
|
|
88
|
+
contains(github.event_name, 'pull_request')) &&
|
|
98
89
|
!contains(github.ref, env.DEFAULT_BRANCH)
|
|
99
90
|
run: |
|
|
100
91
|
set -x
|
|
@@ -102,10 +93,16 @@ jobs:
|
|
|
102
93
|
id=$(docker create musica)
|
|
103
94
|
docker cp $id:/build/docs/sphinx tmpdocs
|
|
104
95
|
docker rm -v $id
|
|
105
|
-
|
|
106
|
-
|
|
96
|
+
# Determine branch name for deployment directory
|
|
97
|
+
if [ "${{ github.event_name }}" = "pull_request" ]; then
|
|
98
|
+
brname="${{ github.head_ref }}"
|
|
99
|
+
else
|
|
100
|
+
brname="${{ github.ref }}"
|
|
101
|
+
brname="${brname##refs/heads/}"
|
|
102
|
+
fi
|
|
107
103
|
brdir=${brname//\//--} # replace '/' with '--'
|
|
108
104
|
rm -rf _gh-pages/branch/${brdir}
|
|
105
|
+
mkdir -p _gh-pages/branch/${brdir}
|
|
109
106
|
rsync -a tmpdocs/ _gh-pages/branch/${brdir}
|
|
110
107
|
|
|
111
108
|
# Go through each branch in _gh-pages/branch/, if it's not a
|
|
@@ -156,4 +153,4 @@ jobs:
|
|
|
156
153
|
repo: context.repo.repo,
|
|
157
154
|
issue_number: context.payload.pull_request.number,
|
|
158
155
|
body: commentBody
|
|
159
|
-
});
|
|
156
|
+
});
|
|
@@ -18,11 +18,9 @@ jobs:
|
|
|
18
18
|
strategy:
|
|
19
19
|
matrix:
|
|
20
20
|
compiler:
|
|
21
|
-
- { cpp: g++-12, c: gcc-12, fc: gfortran-12}
|
|
22
21
|
- { cpp: g++-13, c: gcc-13, fc: gfortran-13}
|
|
23
22
|
- { cpp: g++-14, c: gcc-14, fc: gfortran-14}
|
|
24
|
-
- { cpp: clang++, c: clang, fc: gfortran-
|
|
25
|
-
- { cpp: g++-14, c: gcc-14, fc: gfortran-14}
|
|
23
|
+
- { cpp: clang++, c: clang, fc: gfortran-14}
|
|
26
24
|
build_type: [Release]
|
|
27
25
|
env:
|
|
28
26
|
CC: ${{ matrix.compiler.c }}
|
|
@@ -32,6 +30,10 @@ jobs:
|
|
|
32
30
|
steps:
|
|
33
31
|
- uses: actions/checkout@v4
|
|
34
32
|
|
|
33
|
+
- uses: maxim-lobanov/setup-xcode@v1
|
|
34
|
+
with:
|
|
35
|
+
xcode-version: '16.4'
|
|
36
|
+
|
|
35
37
|
- name: Install dependencies
|
|
36
38
|
run: brew install netcdf netcdf-fortran
|
|
37
39
|
|
|
@@ -13,7 +13,7 @@ jobs:
|
|
|
13
13
|
fail-fast: false
|
|
14
14
|
matrix:
|
|
15
15
|
platform: [windows-latest, macos-13, ubuntu-latest]
|
|
16
|
-
python-version: ["3.
|
|
16
|
+
python-version: ["3.9", "3.10", "3.11", "3.12", "3.13"]
|
|
17
17
|
# python versions: https://devguide.python.org/versions/
|
|
18
18
|
|
|
19
19
|
runs-on: ${{ matrix.platform }}
|
|
@@ -23,6 +23,17 @@ jobs:
|
|
|
23
23
|
with:
|
|
24
24
|
submodules: true
|
|
25
25
|
|
|
26
|
+
- name: Install dependencies
|
|
27
|
+
if: matrix.platform == 'ubuntu-latest'
|
|
28
|
+
run: |
|
|
29
|
+
sudo apt-get update
|
|
30
|
+
sudo apt-get install -y libnetcdf-dev netcdf-bin libnetcdff-dev liblapack-dev
|
|
31
|
+
|
|
32
|
+
- name: Install dependencies
|
|
33
|
+
if: matrix.platform == 'macos-13'
|
|
34
|
+
run: |
|
|
35
|
+
brew install netcdf netcdf-fortran lapack
|
|
36
|
+
|
|
26
37
|
- uses: actions/setup-python@v5
|
|
27
38
|
with:
|
|
28
39
|
python-version: ${{ matrix.python-version }}
|
|
@@ -32,6 +43,8 @@ jobs:
|
|
|
32
43
|
|
|
33
44
|
- name: Build and install
|
|
34
45
|
run: pip install --verbose .[test]
|
|
46
|
+
env:
|
|
47
|
+
FC: gfortran-14
|
|
35
48
|
|
|
36
49
|
- name: Test
|
|
37
|
-
run: pytest
|
|
50
|
+
run: pytest -s
|
|
@@ -36,8 +36,32 @@ jobs:
|
|
|
36
36
|
strategy:
|
|
37
37
|
fail-fast: false
|
|
38
38
|
matrix:
|
|
39
|
-
|
|
40
|
-
|
|
39
|
+
include:
|
|
40
|
+
# Linux builds (supports cross-compilation via QEMU)
|
|
41
|
+
- os: ubuntu-latest
|
|
42
|
+
python-version: "3.13"
|
|
43
|
+
cibw_archs: "x86_64 i686"
|
|
44
|
+
|
|
45
|
+
- os: ubuntu-24.04-arm
|
|
46
|
+
python-version: "3.13"
|
|
47
|
+
cibw_archs: "aarch64"
|
|
48
|
+
|
|
49
|
+
# Windows builds (separate runners needed for different archs)
|
|
50
|
+
- os: windows-latest
|
|
51
|
+
python-version: "3.13"
|
|
52
|
+
cibw_archs: "AMD64 x86 ARM64"
|
|
53
|
+
|
|
54
|
+
# macOS Intel
|
|
55
|
+
- os: macos-13 # Intel runner
|
|
56
|
+
python-version: "3.13"
|
|
57
|
+
cibw_archs: "x86_64"
|
|
58
|
+
fc: gfortran-15
|
|
59
|
+
|
|
60
|
+
# macOS Apple Silicon
|
|
61
|
+
- os: macos-latest # ARM64 runner
|
|
62
|
+
python-version: "3.13"
|
|
63
|
+
cibw_archs: "arm64"
|
|
64
|
+
fc: gfortran-15
|
|
41
65
|
|
|
42
66
|
steps:
|
|
43
67
|
- uses: actions/checkout@v4
|
|
@@ -47,21 +71,24 @@ jobs:
|
|
|
47
71
|
- uses: actions/setup-python@v5
|
|
48
72
|
with:
|
|
49
73
|
python-version: ${{ matrix.python-version }}
|
|
74
|
+
|
|
75
|
+
- name: CI Build Wheels
|
|
76
|
+
if: ${{ matrix.fc != '' }}
|
|
77
|
+
uses: pypa/cibuildwheel@v3.1.3
|
|
78
|
+
env:
|
|
79
|
+
CIBW_ARCHS: ${{ matrix.cibw_archs }}
|
|
80
|
+
FC: ${{ matrix.fc }}
|
|
50
81
|
|
|
51
82
|
- name: CI Build Wheels
|
|
52
|
-
|
|
83
|
+
if: ${{ matrix.fc == '' }}
|
|
84
|
+
uses: pypa/cibuildwheel@v3.1.3
|
|
53
85
|
env:
|
|
54
|
-
|
|
55
|
-
CIBW_ENVIRONMENT_LINUX: >
|
|
56
|
-
CUDA_PATH=/usr/local/cuda
|
|
57
|
-
PATH=/usr/local/cuda/bin:$PATH
|
|
58
|
-
LD_LIBRARY_PATH=/usr/local/cuda/lib64:$LD_LIBRARY_PATH
|
|
59
|
-
BUILD_GPU=1
|
|
86
|
+
CIBW_ARCHS: ${{ matrix.cibw_archs }}
|
|
60
87
|
|
|
61
88
|
- name: Upload wheels
|
|
62
89
|
uses: actions/upload-artifact@v4
|
|
63
90
|
with:
|
|
64
|
-
name: cibw-wheels-${{ matrix.os }}-py${{ matrix.python-version }}
|
|
91
|
+
name: cibw-wheels-${{ matrix.os }}-${{ matrix.cibw_archs }}-py${{ matrix.python-version }}
|
|
65
92
|
path: wheelhouse/*.whl
|
|
66
93
|
|
|
67
94
|
upload_all:
|
|
@@ -87,4 +114,4 @@ jobs:
|
|
|
87
114
|
merge-multiple: true
|
|
88
115
|
|
|
89
116
|
- name: Publish package distributions to PyPI
|
|
90
|
-
uses: pypa/gh-action-pypi-publish@release/v1
|
|
117
|
+
uses: pypa/gh-action-pypi-publish@release/v1
|
|
@@ -23,8 +23,8 @@ jobs:
|
|
|
23
23
|
- { cpp: g++-14, c: gcc-14, fc: gfortran-14}
|
|
24
24
|
- { cpp: clang++, c: clang, fc: gfortran-12}
|
|
25
25
|
options:
|
|
26
|
-
- {micm: ON, tuvx: OFF, python: ON}
|
|
27
|
-
- {micm: OFF, tuvx: ON, python: OFF}
|
|
26
|
+
- {micm: ON, tuvx: OFF, carma: OFF, python: ON}
|
|
27
|
+
- {micm: OFF, tuvx: ON, carma: OFF, python: OFF}
|
|
28
28
|
build_type: [Release]
|
|
29
29
|
env:
|
|
30
30
|
CC: ${{ matrix.compiler.c }}
|
|
@@ -46,6 +46,7 @@ jobs:
|
|
|
46
46
|
-D MUSICA_GIT_TAG=${{ github.sha }} \
|
|
47
47
|
-D MUSICA_ENABLE_MICM=${{ matrix.options.micm }} \
|
|
48
48
|
-D MUSICA_ENABLE_TUVX=${{ matrix.options.tuvx }} \
|
|
49
|
+
-D MUSICA_ENABLE_CARMA=${{ matrix.options.carma }} \
|
|
49
50
|
-D MUSICA_ENABLE_PYTHON_LIBRARY=${{ matrix.options.python }} \
|
|
50
51
|
-D CMAKE_POLICY_VERSION_MINIMUM=3.5
|
|
51
52
|
|
|
@@ -28,7 +28,7 @@ jobs:
|
|
|
28
28
|
static: 0
|
|
29
29
|
|
|
30
30
|
- name: Run Cmake
|
|
31
|
-
run: cmake -S . -B build -G "MinGW Makefiles" -D MUSICA_GIT_TAG=${{ github.sha }} -D MUSICA_ENABLE_TUVX=OFF -D MUSICA_ENABLE_PYTHON_LIBRARY=ON -D CMAKE_POLICY_VERSION_MINIMUM=3.5
|
|
31
|
+
run: cmake -S . -B build -G "MinGW Makefiles" -D MUSICA_GIT_TAG=${{ github.sha }} -D MUSICA_ENABLE_TUVX=OFF -D MUSICA_ENABLE_CARMA=OFF -D MUSICA_ENABLE_PYTHON_LIBRARY=ON -D CMAKE_POLICY_VERSION_MINIMUM=3.5
|
|
32
32
|
|
|
33
33
|
- name: Build
|
|
34
34
|
run: cmake --build build --parallel
|
|
@@ -57,7 +57,7 @@ jobs:
|
|
|
57
57
|
architecture: x86
|
|
58
58
|
|
|
59
59
|
- name: Run CMake
|
|
60
|
-
run: cmake -S . -B build -A ${{ matrix.architecture }} -D MUSICA_GIT_TAG=${{ github.sha }} -DCMAKE_BUILD_TYPE=${{ matrix.build_type }} -D MUSICA_ENABLE_TUVX=OFF -D MUSICA_ENABLE_PYTHON_LIBRARY=ON -D CMAKE_POLICY_VERSION_MINIMUM=3.5
|
|
60
|
+
run: cmake -S . -B build -A ${{ matrix.architecture }} -D MUSICA_GIT_TAG=${{ github.sha }} -DCMAKE_BUILD_TYPE=${{ matrix.build_type }} -D MUSICA_ENABLE_TUVX=OFF -D MUSICA_ENABLE_CARMA=OFF -D MUSICA_ENABLE_PYTHON_LIBRARY=ON -D CMAKE_POLICY_VERSION_MINIMUM=3.5
|
|
61
61
|
|
|
62
62
|
- name: Build
|
|
63
63
|
run: cmake --build build --config ${{ matrix.build_type }} --parallel
|
|
@@ -79,7 +79,7 @@ jobs:
|
|
|
79
79
|
run: curl -fsSL -o LLVM${{ matrix.version }}.exe https://github.com/llvm/llvm-project/releases/download/llvmorg-${{ matrix.version }}/LLVM-${{ matrix.version }}-win64.exe ; 7z x LLVM${{ matrix.version }}.exe -y -o"C:/Program Files/LLVM"
|
|
80
80
|
|
|
81
81
|
- name: Run CMake
|
|
82
|
-
run: cmake -S . -B build -DCMAKE_CXX_COMPILER="C:/Program Files/LLVM/bin/clang++.exe" -DCMAKE_C_COMPILER="C:/Program Files/LLVM/bin/clang.exe" -G"MinGW Makefiles" -D MUSICA_GIT_TAG=${{ github.sha }} -D MUSICA_ENABLE_TUVX=OFF -D MUSICA_ENABLE_PYTHON_LIBRARY=ON -D CMAKE_POLICY_VERSION_MINIMUM=3.5
|
|
82
|
+
run: cmake -S . -B build -DCMAKE_CXX_COMPILER="C:/Program Files/LLVM/bin/clang++.exe" -DCMAKE_C_COMPILER="C:/Program Files/LLVM/bin/clang.exe" -G"MinGW Makefiles" -D MUSICA_GIT_TAG=${{ github.sha }} -D MUSICA_ENABLE_TUVX=OFF -D MUSICA_ENABLE_CARMA=OFF -D MUSICA_ENABLE_PYTHON_LIBRARY=ON -D CMAKE_POLICY_VERSION_MINIMUM=3.5
|
|
83
83
|
|
|
84
84
|
- name: Build
|
|
85
85
|
run: cmake --build build --parallel
|
|
@@ -105,7 +105,7 @@ jobs:
|
|
|
105
105
|
architecture: x86
|
|
106
106
|
|
|
107
107
|
- name: Run CMake
|
|
108
|
-
run: cmake -S . -B build -A ${{ matrix.architecture }} -T ClangCL -D MUSICA_GIT_TAG=${{ github.sha }} -D MUSICA_ENABLE_TUVX=OFF -D MUSICA_ENABLE_PYTHON_LIBRARY=ON -D CMAKE_POLICY_VERSION_MINIMUM=3.5
|
|
108
|
+
run: cmake -S . -B build -A ${{ matrix.architecture }} -T ClangCL -D MUSICA_GIT_TAG=${{ github.sha }} -D MUSICA_ENABLE_TUVX=OFF -D MUSICA_ENABLE_CARMA=OFF -D MUSICA_ENABLE_PYTHON_LIBRARY=ON -D CMAKE_POLICY_VERSION_MINIMUM=3.5
|
|
109
109
|
|
|
110
110
|
- name: Build
|
|
111
111
|
run: cmake --build build --config Debug --parallel
|
|
@@ -119,7 +119,11 @@ jobs:
|
|
|
119
119
|
strategy:
|
|
120
120
|
fail-fast: false
|
|
121
121
|
matrix:
|
|
122
|
-
|
|
122
|
+
# for some reason the debug build fails with an error in the python library
|
|
123
|
+
# something about the usage of mechanism configuration and variants causes missing type information
|
|
124
|
+
# This commit for mechanism configuration works: 903150064277e024b0afcfc879df419e1cefc87b
|
|
125
|
+
# This one doesn't: a3ef728c69f619f80c272d634bc2a17ca5ab4de9
|
|
126
|
+
build_type: [Release]
|
|
123
127
|
|
|
124
128
|
steps:
|
|
125
129
|
- name: Checkout code
|
|
@@ -137,12 +141,17 @@ jobs:
|
|
|
137
141
|
mingw-w64-x86_64-cmake
|
|
138
142
|
mingw-w64-x86_64-netcdf
|
|
139
143
|
mingw-w64-x86_64-netcdf-fortran
|
|
144
|
+
mingw-w64-x86_64-lapack
|
|
140
145
|
msystem: MINGW64
|
|
141
146
|
|
|
142
147
|
- name: Add MSYS2 mingw64 to PATH
|
|
143
148
|
shell: msys2 {0}
|
|
144
149
|
run: echo "C:/msys64/mingw64/bin" >> $GITHUB_PATH
|
|
145
150
|
|
|
151
|
+
- name: Clean build directory
|
|
152
|
+
shell: msys2 {0}
|
|
153
|
+
run: rm -rf build
|
|
154
|
+
|
|
146
155
|
- name: Configure with CMake
|
|
147
156
|
shell: msys2 {0}
|
|
148
157
|
run: |
|
|
@@ -151,6 +160,7 @@ jobs:
|
|
|
151
160
|
-D MUSICA_GIT_TAG=${{ github.sha }} \
|
|
152
161
|
-D MUSICA_ENABLE_MICM=ON \
|
|
153
162
|
-D MUSICA_ENABLE_TUVX=ON \
|
|
163
|
+
-D MUSICA_ENABLE_CARMA=ON \
|
|
154
164
|
-D MUSICA_ENABLE_PYTHON_LIBRARY=ON \
|
|
155
165
|
-D MUSICA_BUILD_FORTRAN_INTERFACE=ON \
|
|
156
166
|
-D CMAKE_POLICY_VERSION_MINIMUM=3.5
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
cmake_minimum_required(VERSION 3.21)
|
|
2
2
|
|
|
3
3
|
# must be on the same line so that pyproject.toml can correctly identify the version
|
|
4
|
-
project(musica-distribution VERSION 0.12.
|
|
4
|
+
project(musica-distribution VERSION 0.12.2)
|
|
5
5
|
|
|
6
6
|
set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH};${PROJECT_SOURCE_DIR}/cmake)
|
|
7
7
|
set(CMAKE_USER_MAKE_RULES_OVERRIDE ${PROJECT_SOURCE_DIR}/cmake/SetDefaults.cmake)
|
|
@@ -29,6 +29,7 @@ option(MUSICA_ENABLE_MEMCHECK "Enable memory checking" OFF)
|
|
|
29
29
|
option(MUSICA_BUILD_DOCS "Build the documentation" OFF)
|
|
30
30
|
option(MUSICA_ENABLE_MICM "Enable MICM" ON)
|
|
31
31
|
option(MUSICA_ENABLE_TUVX "Enable TUV-x" ON)
|
|
32
|
+
option(MUSICA_ENABLE_CARMA "Enable CARMA" ON)
|
|
32
33
|
option(MUSICA_ENABLE_PIC "Build the library with position independent code" OFF)
|
|
33
34
|
option(MUSICA_ENABLE_COVERAGE "Enable code coverage output" OFF)
|
|
34
35
|
option(MUSICA_BUNDLE_DEPENDENCIES "Bundle dependencies with the library" ON)
|
|
@@ -40,6 +41,9 @@ set(MUSICA_SET_MICM_DEFAULT_VECTOR_SIZE "4" CACHE STRING "Set MICM vector-ordere
|
|
|
40
41
|
cmake_dependent_option(
|
|
41
42
|
MUSICA_ENABLE_PYTHON_LIBRARY "Adds pybind11, a lightweight header-only library that exposes C++ types in Python and vice versa" OFF "MUSICA_BUILD_C_CXX_INTERFACE" OFF)
|
|
42
43
|
|
|
44
|
+
cmake_dependent_option(
|
|
45
|
+
MUSICA_ONLY_PYTHON "Build only the Python bindings. This option is used when building Python wheels primarily" OFF "MUSICA_ENABLE_PYTHON_LIBRARY" OFF)
|
|
46
|
+
|
|
43
47
|
################################################################################
|
|
44
48
|
# Projet wide setup variables
|
|
45
49
|
set(MUSICA_INSTALL_INCLUDE_DIR ${CMAKE_INSTALL_INCLUDEDIR})
|
|
@@ -92,7 +96,7 @@ endif()
|
|
|
92
96
|
# since sources are collected so that python libraries can target them directly,
|
|
93
97
|
# we need to know if we are targeting Fortran before we collect the sources
|
|
94
98
|
# otherwise cmake freaks out, and I don't know why, but this fixes it
|
|
95
|
-
if(MUSICA_ENABLE_TUVX)
|
|
99
|
+
if(MUSICA_ENABLE_TUVX OR MUSICA_ENABLE_CARMA)
|
|
96
100
|
enable_language(Fortran)
|
|
97
101
|
endif()
|
|
98
102
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.2
|
|
2
2
|
Name: musica
|
|
3
|
-
Version: 0.12.
|
|
3
|
+
Version: 0.12.2
|
|
4
4
|
Summary: MUSICA is a Python library for performing computational simulations in atmospheric chemistry.
|
|
5
5
|
Author-Email: Matthew Dawsom <mattdawson@ucar.edu>, Jiwon Gim <jiwongim@ucar.edu>, David Fillmore <fillmore@ucar.edu>, Kyle Shores <kshores@ucar.edu>, Montek Thind <mthind@ucar.edu>
|
|
6
6
|
Maintainer-Email: ACOM MUSICA Developers <musica-support@ucar.edu>
|
|
@@ -207,13 +207,25 @@ License: Apache License
|
|
|
207
207
|
limitations under the License.
|
|
208
208
|
|
|
209
209
|
Project-URL: homepage, https://wiki.ucar.edu/display/MUSICA/MUSICA+Home
|
|
210
|
+
Requires-Python: >=3.9
|
|
210
211
|
Requires-Dist: pyyaml>=6.0.2
|
|
212
|
+
Requires-Dist: xarray>=2022.3.0
|
|
213
|
+
Requires-Dist: ussa1976>=v0.3.4
|
|
211
214
|
Provides-Extra: test
|
|
212
215
|
Requires-Dist: numpy; extra == "test"
|
|
213
216
|
Requires-Dist: pytest; extra == "test"
|
|
217
|
+
Requires-Dist: matplotlib; extra == "test"
|
|
214
218
|
Provides-Extra: gpu
|
|
215
219
|
Requires-Dist: nvidia-cublas-cu12; extra == "gpu"
|
|
216
220
|
Requires-Dist: nvidia-cuda-runtime-cu12; extra == "gpu"
|
|
221
|
+
Provides-Extra: tutorial
|
|
222
|
+
Requires-Dist: pandas; extra == "tutorial"
|
|
223
|
+
Requires-Dist: matplotlib; extra == "tutorial"
|
|
224
|
+
Requires-Dist: numpy; extra == "tutorial"
|
|
225
|
+
Requires-Dist: scipy; extra == "tutorial"
|
|
226
|
+
Requires-Dist: seaborn; extra == "tutorial"
|
|
227
|
+
Requires-Dist: dask[distributed]; extra == "tutorial"
|
|
228
|
+
Requires-Dist: dask-jobqueue; extra == "tutorial"
|
|
217
229
|
Description-Content-Type: text/markdown
|
|
218
230
|
|
|
219
231
|
# MUSICA
|
|
@@ -228,6 +240,8 @@ Description-Content-Type: text/markdown
|
|
|
228
240
|
[](https://pypi.org/p/musica)
|
|
229
241
|
[](https://fairsoftwarechecklist.net/v0.2?f=31&a=32113&i=22322&r=123)
|
|
230
242
|
[](https://codecov.io/gh/NCAR/musica)
|
|
243
|
+
[](https://mybinder.org/v2/gh/NCAR/musica/HEAD?filepath=tutorials)
|
|
244
|
+
|
|
231
245
|
|
|
232
246
|
Multi-Scale Infrastructure for Chemistry and Aerosols
|
|
233
247
|
|
|
@@ -241,6 +255,9 @@ At present the project encompasses these core components
|
|
|
241
255
|
- [MICM](https://github.com/NCAR/micm)
|
|
242
256
|
- Model Independent Chemical Module
|
|
243
257
|
|
|
258
|
+
- [CARMA](https://github.com/ESCOMP/CARMA)
|
|
259
|
+
- Community Aerosol and Radiation Model for Atmospheres (integration in development)
|
|
260
|
+
|
|
244
261
|
- [Mechanism Configuration](https://github.com/NCAR/MechanismConfiguration)
|
|
245
262
|
- The standardized format to describe atmospheric chemistry
|
|
246
263
|
|
|
@@ -257,6 +274,27 @@ MUSICA is installable via pip for Python or CMake for C++.
|
|
|
257
274
|
pip install musica
|
|
258
275
|
```
|
|
259
276
|
|
|
277
|
+
If you would like GPU support, you must first [add the NVIDIA pypi index](https://docs.nvidia.com/cuda/cuda-quick-start-guide/#pip-wheels-linux) and then you can specify the gpu install option for MUSICA. Note that GPU support has only been tested on linux.
|
|
278
|
+
|
|
279
|
+
```
|
|
280
|
+
pip install --upgrade setuptools pip wheel
|
|
281
|
+
pip install nvidia-pyindex
|
|
282
|
+
pip install musica[gpu]
|
|
283
|
+
```
|
|
284
|
+
|
|
285
|
+
To build the package locally,
|
|
286
|
+
|
|
287
|
+
```
|
|
288
|
+
pip install -e .
|
|
289
|
+
```
|
|
290
|
+
|
|
291
|
+
If you have an NVIDIA GPU and cuda installed, you can enable a build of musica with GPU support by setting the environment
|
|
292
|
+
variable `BUILD_GPU`.
|
|
293
|
+
|
|
294
|
+
```
|
|
295
|
+
BUILD_GPU=1 pip install -e .
|
|
296
|
+
```
|
|
297
|
+
|
|
260
298
|
## CMake
|
|
261
299
|
```
|
|
262
300
|
$ git clone https://github.com/NCAR/musica.git
|
|
@@ -270,7 +308,7 @@ $ make install
|
|
|
270
308
|
|
|
271
309
|
# Using the MUSICA Python API
|
|
272
310
|
MUSICA makes its chemical mechanism analysis and visualization available through a Python API. The following example works through solving a simple chemistry system. Please refer to the [official documentation](https://ncar.github.io/musica/index.html) for further tutorials and examples.
|
|
273
|
-
```
|
|
311
|
+
```python
|
|
274
312
|
# --- Import Musica ---
|
|
275
313
|
import musica
|
|
276
314
|
import musica.mechanism_configuration as mc
|
|
@@ -305,7 +343,6 @@ pressure=101000.0
|
|
|
305
343
|
state = solver.create_state()
|
|
306
344
|
state.set_concentrations({"A": 1.0, "B": 3.0, "C": 5.0})
|
|
307
345
|
state.set_conditions(temperature, pressure)
|
|
308
|
-
initial_pressure = state.get_conditions()['air_density'][0] # store for visualization and output
|
|
309
346
|
|
|
310
347
|
# --- 6. Time parameters ---
|
|
311
348
|
time_step = 4 # stepping
|
|
@@ -368,7 +405,7 @@ Introduced in [Pull Request #124](https://github.com/NCAR/musica/pull/124), it i
|
|
|
368
405
|
| Musica Dependency | Repository | Branch, Tag or Hash|
|
|
369
406
|
| ------------------------------------------------------ | --------------------------|--------------------|
|
|
370
407
|
| [Google Test](https://github.com/google/googletest.git)| GOOGLETEST_GIT_REPOSITORY | GOOGLETEST_GIT_TAG |
|
|
371
|
-
| [MICM](https://github.com/NCAR/
|
|
408
|
+
| [MICM](https://github.com/NCAR/micm.git) | MICM_GIT_REPOSITORY | MICM_GIT_TAG |
|
|
372
409
|
| [TUV-X](https://github.com/NCAR/tuv-x.git) | TUVX_GIT_REPOSITORY | TUVX_GIT_TAG |
|
|
373
410
|
| [PyBind11](https://github.com/pybind/pybind11) | PYBIND11_GIT_REPOSITORY | PYBIND11_GIT_TAG |
|
|
374
411
|
| [Mechanism Configuration](https://github.com/NCAR/MechanismConfiguration.git) | MECH_CONFIG_GIT_REPOSITORY | MECH_CONFIG_GIT_TAG |
|
|
@@ -388,41 +425,6 @@ Specifying a specific version of `tuv-x` by has, but using the official reposito
|
|
|
388
425
|
$ cmake .. \
|
|
389
426
|
-DTUVX_GIT_TAG=a6b2c4d8745
|
|
390
427
|
|
|
391
|
-
|
|
392
|
-
### Python build
|
|
393
|
-
Musica has python bindings. If you want to install the python package, you may `pip install musica`.
|
|
394
|
-
|
|
395
|
-
#### PyPi
|
|
396
|
-
If you only want to use the CPU components,
|
|
397
|
-
|
|
398
|
-
```
|
|
399
|
-
pip install musica
|
|
400
|
-
```
|
|
401
|
-
|
|
402
|
-
Note that GPU support has only been tested on linux. If you have an NVIDIA GPU and would like to take
|
|
403
|
-
advantage of our GPU solver, you must first [add the NVIDIA pypi index](https://docs.nvidia.com/cuda/cuda-quick-start-guide/#pip-wheels-linux) and then install musica with our gpu option.
|
|
404
|
-
|
|
405
|
-
```
|
|
406
|
-
pip install --upgrade setuptools pip wheel
|
|
407
|
-
pip install nvidia-pyindex
|
|
408
|
-
pip install musica[gpu]
|
|
409
|
-
```
|
|
410
|
-
|
|
411
|
-
#### Local build
|
|
412
|
-
|
|
413
|
-
Musica has python bindings. To build the package locally,
|
|
414
|
-
|
|
415
|
-
```
|
|
416
|
-
pip install -e .
|
|
417
|
-
```
|
|
418
|
-
|
|
419
|
-
If you have an NVIDIA GPU and cuda installed, you can enable a build of musica with GPU support by setting the environment
|
|
420
|
-
variable `BUILD_GPU`.
|
|
421
|
-
|
|
422
|
-
```
|
|
423
|
-
BUILD_GPU=1 pip install -e .
|
|
424
|
-
```
|
|
425
|
-
|
|
426
428
|
# Contributing
|
|
427
429
|
|
|
428
430
|
We welcome contributions from the community! Please see our [Contributing Guide](CONTRIBUTING.md) for information on how to get involved.
|
|
@@ -10,6 +10,8 @@
|
|
|
10
10
|
[](https://pypi.org/p/musica)
|
|
11
11
|
[](https://fairsoftwarechecklist.net/v0.2?f=31&a=32113&i=22322&r=123)
|
|
12
12
|
[](https://codecov.io/gh/NCAR/musica)
|
|
13
|
+
[](https://mybinder.org/v2/gh/NCAR/musica/HEAD?filepath=tutorials)
|
|
14
|
+
|
|
13
15
|
|
|
14
16
|
Multi-Scale Infrastructure for Chemistry and Aerosols
|
|
15
17
|
|
|
@@ -23,6 +25,9 @@ At present the project encompasses these core components
|
|
|
23
25
|
- [MICM](https://github.com/NCAR/micm)
|
|
24
26
|
- Model Independent Chemical Module
|
|
25
27
|
|
|
28
|
+
- [CARMA](https://github.com/ESCOMP/CARMA)
|
|
29
|
+
- Community Aerosol and Radiation Model for Atmospheres (integration in development)
|
|
30
|
+
|
|
26
31
|
- [Mechanism Configuration](https://github.com/NCAR/MechanismConfiguration)
|
|
27
32
|
- The standardized format to describe atmospheric chemistry
|
|
28
33
|
|
|
@@ -39,6 +44,27 @@ MUSICA is installable via pip for Python or CMake for C++.
|
|
|
39
44
|
pip install musica
|
|
40
45
|
```
|
|
41
46
|
|
|
47
|
+
If you would like GPU support, you must first [add the NVIDIA pypi index](https://docs.nvidia.com/cuda/cuda-quick-start-guide/#pip-wheels-linux) and then you can specify the gpu install option for MUSICA. Note that GPU support has only been tested on linux.
|
|
48
|
+
|
|
49
|
+
```
|
|
50
|
+
pip install --upgrade setuptools pip wheel
|
|
51
|
+
pip install nvidia-pyindex
|
|
52
|
+
pip install musica[gpu]
|
|
53
|
+
```
|
|
54
|
+
|
|
55
|
+
To build the package locally,
|
|
56
|
+
|
|
57
|
+
```
|
|
58
|
+
pip install -e .
|
|
59
|
+
```
|
|
60
|
+
|
|
61
|
+
If you have an NVIDIA GPU and cuda installed, you can enable a build of musica with GPU support by setting the environment
|
|
62
|
+
variable `BUILD_GPU`.
|
|
63
|
+
|
|
64
|
+
```
|
|
65
|
+
BUILD_GPU=1 pip install -e .
|
|
66
|
+
```
|
|
67
|
+
|
|
42
68
|
## CMake
|
|
43
69
|
```
|
|
44
70
|
$ git clone https://github.com/NCAR/musica.git
|
|
@@ -52,7 +78,7 @@ $ make install
|
|
|
52
78
|
|
|
53
79
|
# Using the MUSICA Python API
|
|
54
80
|
MUSICA makes its chemical mechanism analysis and visualization available through a Python API. The following example works through solving a simple chemistry system. Please refer to the [official documentation](https://ncar.github.io/musica/index.html) for further tutorials and examples.
|
|
55
|
-
```
|
|
81
|
+
```python
|
|
56
82
|
# --- Import Musica ---
|
|
57
83
|
import musica
|
|
58
84
|
import musica.mechanism_configuration as mc
|
|
@@ -87,7 +113,6 @@ pressure=101000.0
|
|
|
87
113
|
state = solver.create_state()
|
|
88
114
|
state.set_concentrations({"A": 1.0, "B": 3.0, "C": 5.0})
|
|
89
115
|
state.set_conditions(temperature, pressure)
|
|
90
|
-
initial_pressure = state.get_conditions()['air_density'][0] # store for visualization and output
|
|
91
116
|
|
|
92
117
|
# --- 6. Time parameters ---
|
|
93
118
|
time_step = 4 # stepping
|
|
@@ -150,7 +175,7 @@ Introduced in [Pull Request #124](https://github.com/NCAR/musica/pull/124), it i
|
|
|
150
175
|
| Musica Dependency | Repository | Branch, Tag or Hash|
|
|
151
176
|
| ------------------------------------------------------ | --------------------------|--------------------|
|
|
152
177
|
| [Google Test](https://github.com/google/googletest.git)| GOOGLETEST_GIT_REPOSITORY | GOOGLETEST_GIT_TAG |
|
|
153
|
-
| [MICM](https://github.com/NCAR/
|
|
178
|
+
| [MICM](https://github.com/NCAR/micm.git) | MICM_GIT_REPOSITORY | MICM_GIT_TAG |
|
|
154
179
|
| [TUV-X](https://github.com/NCAR/tuv-x.git) | TUVX_GIT_REPOSITORY | TUVX_GIT_TAG |
|
|
155
180
|
| [PyBind11](https://github.com/pybind/pybind11) | PYBIND11_GIT_REPOSITORY | PYBIND11_GIT_TAG |
|
|
156
181
|
| [Mechanism Configuration](https://github.com/NCAR/MechanismConfiguration.git) | MECH_CONFIG_GIT_REPOSITORY | MECH_CONFIG_GIT_TAG |
|
|
@@ -170,41 +195,6 @@ Specifying a specific version of `tuv-x` by has, but using the official reposito
|
|
|
170
195
|
$ cmake .. \
|
|
171
196
|
-DTUVX_GIT_TAG=a6b2c4d8745
|
|
172
197
|
|
|
173
|
-
|
|
174
|
-
### Python build
|
|
175
|
-
Musica has python bindings. If you want to install the python package, you may `pip install musica`.
|
|
176
|
-
|
|
177
|
-
#### PyPi
|
|
178
|
-
If you only want to use the CPU components,
|
|
179
|
-
|
|
180
|
-
```
|
|
181
|
-
pip install musica
|
|
182
|
-
```
|
|
183
|
-
|
|
184
|
-
Note that GPU support has only been tested on linux. If you have an NVIDIA GPU and would like to take
|
|
185
|
-
advantage of our GPU solver, you must first [add the NVIDIA pypi index](https://docs.nvidia.com/cuda/cuda-quick-start-guide/#pip-wheels-linux) and then install musica with our gpu option.
|
|
186
|
-
|
|
187
|
-
```
|
|
188
|
-
pip install --upgrade setuptools pip wheel
|
|
189
|
-
pip install nvidia-pyindex
|
|
190
|
-
pip install musica[gpu]
|
|
191
|
-
```
|
|
192
|
-
|
|
193
|
-
#### Local build
|
|
194
|
-
|
|
195
|
-
Musica has python bindings. To build the package locally,
|
|
196
|
-
|
|
197
|
-
```
|
|
198
|
-
pip install -e .
|
|
199
|
-
```
|
|
200
|
-
|
|
201
|
-
If you have an NVIDIA GPU and cuda installed, you can enable a build of musica with GPU support by setting the environment
|
|
202
|
-
variable `BUILD_GPU`.
|
|
203
|
-
|
|
204
|
-
```
|
|
205
|
-
BUILD_GPU=1 pip install -e .
|
|
206
|
-
```
|
|
207
|
-
|
|
208
198
|
# Contributing
|
|
209
199
|
|
|
210
200
|
We welcome contributions from the community! Please see our [Contributing Guide](CONTRIBUTING.md) for information on how to get involved.
|