Open-Source Software Packages

KARMA4

KARMA4 v1.0 (Kalman Auto-Regression Moving-Average Fore[4]casting): is a C++ library for autoregressive moving average (ARMA) modeling and forecasting of time-series data while incorporating both process and observation error. KARMA4 is designed for fitting and forecasting of time-series data for predictive purposes. It performs calibration of ARMA model parameters with the aid of Kalman filtering technique and selects the optimal ARMA model order using cross-validation. Its features include:

  • Model calibration is performed using maximum-likelihood estimation
  • Likelihood evaluation utilizes the Kalman filter for state estimation
  • Measurement error modeling and inference
  • Optimal model selection is performed using cross-validation
  • Forecasting under uncertainty

SWinzip

SWinzip v1.0 (Sensing Wavelets in-situ zip): is a Matlab and C++ library for scientific lossy data compression and reconstruction using compressed sensing and tree-wavelets transforms. These methods are known for their large compression and usefulness in data analytics such as features extraction. Compressed sensing and wavelets methods rely heavily on sparse and dense linear algebra operations implemented through the Boost codes in our library. SWinzip accommodates data represented on both regular grids (e.g. image data) and point-clouds (e.g. unstructured meshes).

SWinzip v2.0 (Sensing Wavelets in-situ zip): In SWinzip v2.0, there is more focus on wavelet compression and the following features are added:

  • The matrix-free (direct) wavelet transform is implemented in both C++ and Matlab. A threshold-based compression can now be used. Examples for distributed compression are also added.
  • Python implementation of Alpert wavelet transforms
  • Field data comparison using wavelets in Matlab with global and local metrics.

ForQint

ForQint 1.0 is a generic Fortran code to adaptively integrate multi-dimensional functions using quadratures. The code offers the flexibility to accept the function to be integrated as an external Fortran function declared in a separate file. The code is provided in two versions. (1) By calling Trilinos quadrature classes and (2) by directly calling Fortran quadrature subroutines.

The code was used to run the test cases published in this paper: Chowdhary, K., Salloum, M., Debusschere, B., Larson, V. " Applying Quadrature Methods for the Calculation of Subgrid Microphysics Statistical Moments ", Monthly Weather Review (in press)

UQtk

The Uncertainty Quantification toolkit (UQtk) is a collection of libraries and tools for the quantification of uncertainty in numerical model predictions. Version 2.1.1 offers intrusive and non-intrusive methods for propagating input uncertainties through computational models, tools for sensitivity analysis, methods for sparse surrogate construction, and Bayesian inference tools for inferring parameters from experimental data.

UQtk is a joint effort between different researchers at Sandia National Labs and other universities. My contribution in UQtk is the Matlab interface.