Search NASA⌕ Search

SEARCH · Search NASA

Results for “The MAGMA library”

Search indexed NASA NTRS and DOE OSTI research on propulsion, heat transfer, battery materials and energy systems. Follow report and document links to the original sources.

Quote a phrase for an exact phrase match. Source license links do not imply unrestricted reuse.

Porting the Nonlinear Optimization Library HiOp to Accelerator-Based Hardware Architectures

While interior point method has been the centerpiece of nonlinear programming tools used in science and engineering, its reliance on linear solvers that can tackle sparse symmetric indefinite and highly ill-conditioned problems made it difficult to implement it effectively on hardware accelerators. HiOp optimization package attempts to provide an implementation of the interior point method suitable for hardware accelerators by compressing the original sparse problem to produce an underlying linear problem that is dense and of manageable size. Implementations of dense linear solvers are more mature and utilize hardware accelerators better than their sparse counterparts. There is a number of important domain problems, such as optimal power flow analysis for power grids, where the sparse problem can be effectively compressed and deploying dense linear solver within the interior point method can improve performance. Here we describe a portable implementation of HiOp optimization engine, which uses a linear solver from Magma library and runs entirely on hardware accelerators. To compress the problem, HiOp uses customized mixed dense-sparse linear algebra. All HiOp kernels are implemented using Umpire and RAJA portability libraries. We describe details of the implementation and discuss trade-offs between performance, portability and development cost.

97 MATHEMATICS AND COMPUTING↗

A fast, dense Chebyshev solver for electronic structure on GPUs

Matrix diagonalization is almost always involved in computing the density matrix needed in quantum chemistry calculations. In the case of modest matrix sizes (≲4000), performance of traditional dense diagonalization algorithms on modern GPUs is underwhelming compared to the peak performance of these devices. This motivates the exploration of alternative algorithms better suited to these types of architectures. We newly derive, and present in detail, an existing Chebyshev expansion algorithm whose number of required matrix multiplications scales with the square root of the number of terms in the expansion. Focusing on dense matrices of modest size, our implementation on GPUs results in large speed ups when compared to diagonalization. Additionally, we improve upon this existing method by capitalizing on the inherent task parallelism and concurrency in the algorithm. Furthermore, this improvement is implemented on GPUs by using CUDA and HIP streams via the MAGMA library and leads to a significant speed up over the serial-only approach for smaller (≲1000) matrix sizes. Finally, we apply our technique to a model system with a high density of states around the Fermi level, which typically presents significant challenges.

37 INORGANIC, ORGANIC, PHYSICAL, AND ANALYTICAL CH↗

Batched Sparse Linear Algebra (Final Report for Subcontract B648960)

This report finalizes design specifications for developing batched kernels for small tensor operations for unassembled matrix-free iterative solvers, batched solvers for partially assembled operators, and batched solvers with support for various sparse formats. The outcome of the project milestones is a set of interfaces to Batched Sparse LA solvers running on hardware accelerators for use in ECP Libraries and Applications. It is part of the development of sparse batched kernels, solvers/preconditioners as well as creating interoperability in xSDK libraries with sparse and dense batched functions to benefit ECP applications. The participants included representatives from ECP libraries (not limited to the xSDK project), applications, and vendors (AMD, Intel, and NVIDIA). Batched sparse linear algebra solvers form the new frontier for algorithmic development and performance engineering. Many applications (ECP and non-ECP alike) require simultaneous solutions of small linear systems of equations that are structurally sparse. To move towards high hardware utilization, it is important to provide these applications with appropriate interfaces to efficient batched sparse solvers running on modern hardware accelerators. We present interface designs in use by HPC software libraries supporting batched sparse linear algebra and the development of sparse batched kernel codes for solvers and preconditioners. We also address the potential interoperability opportunities to keep the software portable between the major hardware accelerators from AMD, Intel, and NVIDIA. The presented interface specifications includes batched band, sparse iterative, and sparse direct solvers. This report summarizes progress in Kokkos Kernels and the xSDK libraries MAGMA, Ginkgo, hypre, SUNDIALS, and SuperLU_dist.

97 MATHEMATICS AND COMPUTING↗

Milestone 49 Report: Batched Sparse LA Phase 5 Implementation

Batched sparse linear algebra operations in general, and solvers in particular, have become the major algorithmic development activity and foremost performance engineering effort in the numerical software libraries work on modern hardware with accelerators such as GPUs. Many applications, ECP and non-ECP alike, require simultaneous solutions of many small linear systems of equations that are structurally sparse in one form or another. In order to move towards high hardware utilization levels, it is important to provide these applications with appropriate interface designs to be both functionally efficient and performance portable and give full access to the appropriate batched sparse solvers running on modern hardware accelerators prevalent across DOE supercomputing sites since the inception of ECP. To this end, we present here a summary of recent advances on the interface designs in use by HPC software libraries supporting batched sparse linear algebra and the development of sparse batched kernel codes for solvers and preconditioners. We also address the potential interoperability opportunities to keep the corresponding software portable between the major hardware accelerators from AMD, Intel, and NVIDIA, while maintaining the appropriate disclosure levels conforming to the active NDA agreements. The presented interface specifications include a mix of batched band, sparse iterative, and sparse direct solvers with their accompanying functionality that is already required by the application codes or we anticipated to be needed in the near future. This report summarizes progress in Kokkos Kernels and the xSDK libraries MAGMA, Ginkgo, hypre, PETSc, and SuperLU.

97 MATHEMATICS AND COMPUTING↗

IRIS-DMEM: Efficient Memory Management for Heterogeneous Computing

This paper proposes an efficient data memory management approach for the Intelligent RuntIme System (IRIS) heterogeneous computing framework along with new data transfer policies. IRIS provides a task-based programming model for extreme heterogeneous computing (e.g., CPU, GPU, DSP, FPGA) with support for today's most important programming languages (e.g., OpenMP, OpenCL, CUDA, HIP, OpenACC). However, the IRIS framework either forces the programmer to introduce data transfer commands for each task or relies on suboptimal memory management for automatic and transparent data transfers. The work described here extends IRIS with novel heterogeneous memory handling and introduces novel data transfer policies by employing the Distributed data MEMory handler (DMEM) for efficient and optimal movement of data among the various computing resources. The proposed approach achieves performance gains of up to 7× for tiled LU factorization and tiled DGEMM (i.e., matrix multiplication) benchmarks. Moreover, this approach also reduces data transfers by up to 71% when compared to previous IRIS heterogeneous memory management handlers. This work compares the performance results of the IRIS framework's novel DMEM with the StarPU runtime and MAGMA math library for GPUs. Experiments show a performance gain of up to 1.95× over StarPU and 2.1× over MAGMA.

Miniskar, Narasinga Rao↗

Accelerating the density-functional tight-binding method using graphical processing units

Acceleration of the density-functional tight-binding (DFTB) method on single and multiple graphical processing units (GPUs) was accomplished using the MAGMA linear algebra library. Herein two major computational bottlenecks of DFTB ground-state calculations were addressed in our implementation: the Hamiltonian matrix diagonalization and the density matrix construction. The code was implemented and benchmarked on two different computer systems: (1) the SUMMIT IBM Power9 supercomputer at the Oak Ridge National Laboratory Leadership Computing Facility with 1–6 NVIDIA Volta V100 GPUs per computer node and (2) an in-house Intel Xeon computer with 1–2 NVIDIA Tesla P100 GPUs. The performance and parallel scalability were measured for three molecular models of 1-, 2-, and 3-dimensional chemical systems, represented by carbon nanotubes, covalent organic frameworks, and water clusters.

37 INORGANIC, ORGANIC, PHYSICAL, AND ANALYTICAL CH↗

Towards Use of Mixed Precision in ECP Math Libraries [Exascale Computing Project]

The use of multiple types of precision in mathematical software has the potential to increase its performance on new heterogeneous architectures. The xSDK project focuses both on the investigation and development of multiprecision algorithms as well as their inclusion into xSDK member libraries. This report summarizes current efforts on including and/or using mixed precision capabilities in the math libraries Ginkgo, heFFTe, hypre, MAGMA, PETSc/TAO, SLATE, SuperLU, and Trilinos, including KokkosKernels. It contains both numerical results from libraries that already provide mixed precision capabilities, as well as descriptions of the strategies to incorporate multiprecision into established libraries.

97 MATHEMATICS AND COMPUTING↗

Towards Use of Mixed Precision in ECP Math Libraries

The use of multiple types of precision in mathematical software has the potential to increase its performance on new heterogeneous architectures. The xSDK project focuses both on the investigation and development of multiprecision algorithms as well as their inclusion into xSDK member libraries. This report summarizes current efforts on including and/or using mixed precision capabilities in the math libraries Ginkgo, heFFTe, hypre, MAGMA, PETSc/TAO, SLATE, SuperLU, and Trilinos, including KokkosKernels. It contains both numerical results from libraries that already provide mixed precision capabilities, as well as descriptions of the strategies to incorporate multiprecision into established libraries.

97 MATHEMATICS AND COMPUTING↗

MAGMA: Enabling exascale performance with accelerated BLAS and LAPACK for diverse GPU architectures

MAGMA (Matrix Algebra for GPU and Multicore Architectures) is a pivotal open-source library in the landscape of GPU-enabled dense and sparse linear algebra computations. With a repertoire of approximately 750 numerical routines across four precisions, MAGMA is deeply ingrained in the DOE software stack, playing a crucial role in high-performance computing. Notable projects such as ExaConstit, HiOP, MARBL, and STRUMPACK, among others, directly harness the capabilities of MAGMA. In addition, the MAGMA development team has been acknowledged multiple times for contributing to the vendors’ numerical software stacks. Looking back over the time of the Exascale Computing Project (ECP), we highlight how MAGMA has adapted to recent changes in modern HPC systems, especially the growing gap between CPU and GPU compute capabilities, as well as the introduction of low precision arithmetic in modern GPUs. We also describe MAGMA’s direct impact on several ECP projects. Maintaining portable performance across NVIDIA and AMD GPUs, and with current efforts toward supporting Intel GPUs, MAGMA ensures its adaptability and relevance in the ever-evolving landscape of GPU architectures.

97 MATHEMATICS AND COMPUTING↗

A graphics processing unit accelerated sparse direct solver and preconditioner with block low rank compression

We present the GPU implementation efforts and challenges of the sparse solver package STRUMPACK. The code is made publicly available on github with a permissive BSD license. STRUMPACK implements an approximate multifrontal solver, a sparse LU factorization which makes use of compression methods to accelerate time to solution and reduce memory usage. Multiple compression schemes based on rank-structured and hierarchical matrix approximations are supported, including hierarchically semi-separable, hierarchically off-diagonal butterfly, and block low rank. Here, in this paper, we present the GPU implementation of the block low rank (BLR) compression method within a multifrontal solver. Our GPU implementation relies on highly optimized vendor libraries such as cuBLAS and cuSOLVER for NVIDIA GPUs, rocBLAS and rocSOLVER for AMD GPUs and the Intel oneAPI Math Kernel Library (oneMKL) for Intel GPUs. Additionally, we rely on external open source libraries such as SLATE (Software for Linear Algebra Targeting Exascale), MAGMA (Matrix Algebra on GPU and Multi-core Architectures), and KBLAS (KAUST BLAS). SLATE is used as a GPU-capable ScaLAPACK replacement. From MAGMA we use variable sized batched dense linear algebra operations such as GEMM, TRSM and LU with partial pivoting. KBLAS provides efficient (batched) low rank matrix compression for NVIDIA GPUs using an adaptive randomized sampling scheme. The resulting sparse solver and preconditioner runs on NVIDIA, AMD and Intel GPUs. Interfaces are available from PETSc, Trilinos and MFEM, or the solver can be used directly in user code. We report results for a range of benchmark applications, using the Perlmutter system from NERSC, Frontier from ORNL, and Aurora from ALCF. For a high frequency wave equation on a regular mesh, using 32 Perlmutter compute nodes, the factorization phase of the exact GPU solver is about 6.5× faster compared to the CPU-only solver. The BLR-enabled GPU solver is about 13.8× faster than the CPU exact solver. For a collection of SuiteSparse matrices, the STRUMPACK exact factorization on a single GPU is on average 1.9× faster than NVIDIA’s cuDSS solver.

97 MATHEMATICS AND COMPUTING↗

Imaging a Free-Geometry Magma Reservoir Using FEM-Based Linear Inverse Modeling of InSAR Data: Application to Rabaul Caldera, Papua New Guinea

We test an innovative inversion scheme using Green’s functions from an array of pressure sources embedded in finite-element method (FEM) models to image, without assuming an a-priori geometry, the composite and complex shape of a volcano deformation source. We invert interferometric synthetic aperture radar (InSAR) data to estimate the pressurization and shape of the magma reservoir of Rabaul caldera, Papua New Guinea. The results image the extended shallow magmatic system responsible for a broad and long-term subsidence of the caldera between 2007 February and 2010 December. Elastic FEM solutions are integrated into the regularized linear inversion of InSAR data of volcano surface displacements in order to obtain a 3-D image of the source of deformation. The Green’s function matrix is constructed from a library of forward line-of-sight displacement solutions for a grid of cubic elementary deformation sources. Each source is sequentially generated by removing the corresponding cubic elements from a common meshed domain and simulating the injection of a fluid mass flux into the cavity, which results in a pressurization and volumetric change of the fluidfilled cavity. The use of a single mesh for the generation of all FEM models avoids the computationally expensive process of non-linear inversion and remeshing a variable geometry domain. Without assuming an a-priori source geometry other than the configuration of the 3-D grid that generates the library of Green’s functions, the geodetic data dictate the geometry of the magma reservoir as a 3-D distribution of pressure (or flux of magma) within the source array. The inversion of InSAR data of Rabaul caldera shows a distribution of interconnected sources forming an amorphous, shallow magmatic system elongated under two opposite sides of the caldera. The marginal areas at the sides of the imaged magmatic system are the possible feeding reservoirs of the ongoing Tavurvur volcano eruption of andesitic products on the east side and of the past Vulcan volcano eruptions of more evolved materials on the west side. The interconnection and spatial distributions of sources correspond to the petrography of the volcanic products described in the literature and to the dynamics of the single and twin eruptions that characterize the caldera. The ability to image the complex geometry of deformation sources in both space and time can improve our ability to monitor active volcanoes, widen our understanding of the dynamics of active volcanic systems and improve the predictions of eruptions.

Inverse theory↗

Imaging the Complex Geometry of a Magma Reservoir Using Fem-Based Linear Inverse Modeling of InSAR Data: Application to Rabaul Caldera, Papua New Guinea

We test an innovative inversion scheme using Green’s functions from an array of pressure sources embedded in finite-element method (FEM) models to image, without assuming an a-priori geometry, the composite and complex shape of a volcano deformation source. We invert interferometric synthetic aperture radar (InSAR) data to estimate the pressurization and shape of the magma reservoir of Rabaul caldera, Papua New Guinea. The results image the extended shallow magmatic system responsible for a broad and long-term subsidence of the caldera between 2007 February and 2010 December. Elastic FEM solutions are integrated into the regularized linear inversion of InSAR data of volcano surface displacements in order to obtain a 3-D image of the source of deformation. The Green’s function matrix is constructed from a library of forward line-of-sight displacement solutions for a grid of cubic elementary deformation sources. Each source is sequentially generated by removing the corresponding cubic elements from a common meshed domain and simulating the injection of a fluid mass flux into the cavity, which results in a pressurization and volumetric change of the fluid-filled cavity. The use of a single mesh for the generation of all FEM models avoids the computationally expensive process of non-linear inversion and remeshing a variable geometry domain. Without assuming an a-priori source geometry other than the configuration of the 3-D grid that generates the library of Green’s functions, the geodetic data dictate the geometry of the magma reservoir as a 3-D distribution of pressure (or flux of magma) within the source array. The inversion of InSAR data of Rabaul caldera shows a distribution of interconnected sources forming an amorphous, shallow magmatic system elongated under two opposite sides of the caldera. The marginal areas at the sides of the imaged magmatic system are the possible feeding reservoirs of the ongoing Tavurvur volcano eruption of andesitic products on the east side and of the past Vulcan volcano eruptions of more evolved materials on the west side. The interconnection and spatial distributions of sources correspond to the petrography of the volcanic products described in the literature and to the dynamics of the single and twin eruptions that characterize the caldera. The ability to image the complex geometry of deformation sources in both space and time can improve our ability to monitor active volcanoes, widen our understanding of the dynamics of active volcanic systems and improve the predictions of eruptions.

Inverse theory↗

Efficient exascale discretizations: High-order finite element methods

Efficient exploitation of exascale architectures requires rethinking of the numerical algorithms used in many large-scale applications. These architectures favor algorithms that expose ultra fine-grain parallelism and maximize the ratio of floating point operations to energy intensive data movement. One of the few viable approaches to achieve high efficiency in the area of PDE discretizations on unstructured grids is to use matrix-free/partially assembled high-order finite element methods, since these methods can increase the accuracy and/or lower the computational time due to reduced data motion. In this paper we provide an overview of the research and development activities in the Center for Efficient Exascale Discretizations (CEED), a co-design center in the Exascale Computing Project that is focused on the development of next-generation discretization software and algorithms to enable a wide range of finite element applications to run efficiently on future hardware. CEED is a research partnership involving more than 30 computational scientists from two US national labs and five universities, including members of the Nek5000, MFEM, MAGMA and PETSc projects. We discuss the CEED co-design activities based on targeted benchmarks, miniapps and discretization libraries and our work on performance optimizations for large-scale GPU architectures. We also provide a broad overview of research and development activities in areas such as unstructured adaptive mesh refinement algorithms, matrix-free linear solvers, high-order data visualization, and list examples of collaborations with several ECP and external applications.

97 MATHEMATICS AND COMPUTING↗

Testing and Application of Commercial Thermodynamics Software for Solid-Gas Equilibria in Planetary Science Applications

The ability to calculate chemical equilibria from thermochemical constants (e.g., H, S, Cp) or other experimental data is a tool widely employed by scientists. However, phase equilibria for planetary science problems is limited by easy access to libraries of thermochemical data, as well as the software to invert that data. Many academic software packages are focused on specific types of problems (e.g., aqueous solutions or melting and crystallization of magmas). This focus makes them excellent tools for specific uses, but poorer tools for other scenarios, especially those involving elements or chemical species that are less well-studied in that specific scientific field (e.g. NaCl vapor). Amongst the more general thermodynamic software tools, there are closed academic software packages, open-source options, as well as commercial software. We have explored the extent to which commercial chemistry/chemical engineering software may be able to satisfy the need for thermochemical modeling packages that can accommodate the diverse species and conditions of planetary science problems. Here we compare the output of software package HSC Chemistry™ (Metso Outotec) to published vapor-solid phase diagrams for a variety of major and minor elements. HSC Chemistry™ has been used in several recent geochemical studies of terrestrial volcanic systems [2- 4]. However, it has not to our knowledge been benchmarked against peer-reviewed model results for the conditions and compositions relevant to planetary science. We present one such comparison here, the low- pressure environment of the solar nebula, using literature data. In short, we find excellent agreement between HSC Chemistry™ and the well-regarded academic software package CONDOR. These preliminary results suggest that at least some commercial software packages are capable of robust thermochemical calculations for planetary science.

planetary science↗

Lunar and Meteorite Sample Education Disk Program - Space Rocks for Classrooms, Museums, Science Centers, and Libraries

NASA is eager for students and the public to experience lunar Apollo samples and meteorites first hand. Lunar rocks and soil, embedded in Lucite disks, are available for educators to use in their classrooms, museums, science centers, and public libraries for education activities and display. The sample education disks are valuable tools for engaging students in the exploration of the Solar System. Scientific research conducted on the Apollo rocks reveals the early history of our Earth-Moon system and meteorites reveal much of the history of the early solar system. The rocks help educators make the connections to this ancient history of our planet and solar system and the basic processes accretion, differentiation, impact and volcanism. With these samples, educators in museums, science centers, libraries, and classrooms can help students and the public understand the key questions pursued by many NASA planetary missions. The Office of the Curator at Johnson Space Center is in the process of reorganizing and renewing the Lunar and Meteorite Sample Education Disk Program to increase reach, security and accountability. The new program expands the reach of these exciting extraterrestrial rocks through increased access to training and educator borrowing. One of the expanded opportunities is that trained certified educators from science centers, museums, and libraries may now borrow the extraterrestrial rock samples. Previously the loan program was only open to classroom educators so the expansion will increase the public access to the samples and allow educators to make the critical connections to the exciting exploration missions taking place in our solar system. Each Lunar Disk contains three lunar rocks and three regolith soils embedded in Lucite. The anorthosite sample is a part of the magma ocean formed on the surface of Moon in the early melting period, the basalt is part of the extensive lunar mare lava flows, and the breccias sample is an important example of the violent impact history of the Moon. The disks also include two regolith soils and orange glass from a pyroclastic deposit. Each Meteorite Disk contains two ordinary chondrites, one carbonaceous chondrite, one iron, one stony iron, and one achondrite. These samples will help educators share the early history of the solar system with students and the public. Educators may borrow either lunar or meteorite disks and the accompanying education materials through the Johnson Space Center Curatorial Office. In trainings provided by the NASA Aerospace Education Services Program specialists, educators certified to borrow the disk learn about education resources, the proper use of the samples, and the special security for care and shipping of the disks. The Lunar and Meteorite Sample Education Disk Program will take NASA exploration to more people. Getting Space Rocks out to the public and inspiring the public about new space exploration is the focus of the NASA disk loan program.

Allen, Jaclyn↗

VESIcal: An Open-source Thermodynamic Model Engine for Mixed Volatile (H2O-CO2) Solubility in Silicate Melts

Modeling the solubility of volatiles in silicate melts is fundamental to the interpretation of volcanic systems and has implications for magma dynamics, eruption style, and material transport between the mantle, crust, and atmosphere. Recent advancements in computational capabilities and access to computing tools has outpaced the functionality and extensibility of previously available modeling platforms. Here we present VESIcal (Volatile Equilibria and Saturation Index calculator), the first comprehensive modeling tool for H2O, CO2, and mixed (H2O-CO2) solubility in silicate melts that: a) allows users access to seven popular models, with easy inter-comparison between models; b) provides universal functionality for all models (e.g., functions for calculating saturation pressures, degassing paths, etc.); c) can process large datasets (1,000’s of samples) automatically; d) can output computed data into an Excel spreadsheet or CSV file for post-modeling analysis; e) integrates plotting capabilities directly within the tool; and f) provides all of this within the framework of a python library, making the tool extensible by the user and allowing any of the model functions to be incorporated into any other code capable of calling python.Here we will provide a demonstration of VESIcal and its capabilities with applications to various volcanic processes affected by volatiles. VESIcal represents the first tool capable of directly comparing multiple solubility models and equations of state. We find that commonly used models predict surprisingly different volatile solubilities, particularly for pure CO2 or mixed CO2-H2O fluids. Even for melt compositions that are well represented in the calibration datasets of multiple models (e.g., MORBs), calculated solubilities for pure CO2 and pure H2O can deviate from one another by factors of >2 leading to 2x deviations in calculated saturation pressures (e.g., 5 to 10 kbar). The solubility of CO2 predicted by different rhyolitic models also differs substantially, overwhelming other sources of uncertainty such as analytical errors on measurements of volatile contents or uncertainties in crustal density profiles. This highlights the importance of model choice when drawing geological conclusions based on volatiles in magmas.

Kayla Iacovino↗

A New Era of H-O-C-S Magma Solubility Modeling: Better, Faster, Stronger

H 2 O, CO 2 , and S are the most abundant volatiles in magmatic systems and are critical to understanding magma storage, phase equilibria, and volcanic eruptions. Models that consider all three of these components, however, may not allow for critical examination and adjustment of assumptions underlying the model, or provide benchmark testing or extensible interfaces. Thus, understanding why models produce different results can be challenging. We have gathered authors of established (D-Compress) and recent (VolFe, EVo, Sulfur_X, MAGEC) H-O-C-S volatile solubility models to work together to understand how and why our models diverge. We present a series of benchmark basalt degassing scenarios revealing that often understated model assumptions such as fO 2 buffer equations, fO 2 -Fe 3+ /ΣFe relationships, and even major element normalization routines have outsized effects on model results. All models consider S 2- and S 6+ melt species but with different approaches to sulfate/sulfide capacities, partition coefficients, and species fugacities, leading to divergence in the evolution of modeled gas compositions, melt S and Fe speciation, and fO 2 , with the extent of divergence depending on melt composition. Such scenarios enable meaningful intercomparison of existing models and lay the groundwork for a user-friendly yet powerful solubility modeling framework. Given our wealth of existing solubility literature, we suggest that the field of magmatic volatiles should focus now on the creation of modern tools and the modular implementation of existing model equations or methods, and that the evaluation of code usability, transparency, and benchmarking should be codified pillars of the peer-review process. As an example of such an endeavor, we present early work coupling these sulfur solubility models with VESIcal, an extensible and rigorously tested python library containing seven existing H 2 O-CO 2 solubility models. VESIcal includes the ability to extract, edit, and even interchange assumptions underlying any model. For example, users may combine or swap separately published H 2 O, CO 2 , and S models, as well as underlying model choices, such as Equations of State and redox models.

volatiles in magmas↗