Los Alamos National Laboratory

Los Alamos National Laboratory

Delivering science and technology to protect our nation and promote world stability

Scientific Software

High-performance computational methods and software tools in support of environmental health, cleaner energy, and national security.

Contact Us  

  • Deputy Division Leader
  • Andy Wolfsberg
  • Email
  • Division Office
  • (505) 667-3644

The Earth and Environmental Sciences Division  

EES at Los Alamos National Laboratory (LANL) develops and applies a suite of software to address physical processes across numerous scales including subsurface flow and transport, machine learning, seismoacoustics, discrete fracture networks, ecosystem hydrology, infrastructure and management, and wildfire behavior.

Amanzi: Multi-Process Flow and Reactive Transport Simulator

Amanzi provides a flexible and extensible flow and reactive transport simulation capability for environmental applications. It features general polyhedral mesh infrastructure, which leverages MSTK, advanced discretizations of process models, including traditional finite volume schemes, mimetic finite differences, and nonlinear finite volumes. In addition, it provides:

  • Advanced nonlinear solvers, such as Nonlinear Krylov Acceleration and Anderson Acceleration, and leverages Trilinos-ML and Hypre Algebraic Multigrid for scalable solvers. 
  • Flexibility for hierarchical weak and strong coupling of processes with subcycling, using Arcos as the multiphysics framework. 
  • Geochemistry support through the Alquimia interface, and can use the geochemistry engine from PFLOTRAN or CrunchFlow. 

Amanzi is applicable to groundwater contaminant migration under partially saturated, nonisothermal conditions and its interaction with surface water. The code is parallel and leverages open-source parallel frameworks such as Trilinos, PETSc. It is jointly developed by LANL, LBNL, PNNL, and ORNL as an open-source project under the three-clause BSD license.

Access Amanzi code on GitHub

ATS: Advanced Terrestrial Simulator

The Advanced Terrestrial Simulator is a high-performance computing tool for solving ecosystem-based, integrated, distributed hydrology. It builds on the multiphysics framework and tool sets (mesh infrastructure, discretizations, and solvers) provided by Amanzi and is a key developmental driver of the flexible multiphysics framework Arcos.

Capabilities center on solving varied forms of Richards equation coupled to a surface-flow equation, along with the needed sources and sinks for ecosystem and climate models. This analysis can include thermal processes (particuarly ice for frozen soils), evapo-transpiration, albedo-driven surface energy balances, snow, biogeochemistry, plant dynamics, deformation, transport, and many more.

ATS unique capabilities include:

  • Thermal integrated hydrology capabilities, which include thermal energy with freeze/thaw processes in both the surface and subsurface water.
  • Reactive transport capabilities, which are also coupled in both surface and subsurface water.  

Amanzi/ATS is jointly developed by LANL, LBNL, and ORNL as an open-source project under the three-clause BSD license.

Access ATS code on GitHub

Brown-MoMIC-Mono Soot: Modules for CFD Software Uintah/Arches

Brown, MoMIC, and Mono Soot are modules contributing to the predictability of the CFD software Uintah/Arches, which is developed and maintained by the University of Utah.

These modules execute three separate models for predicting soot formation in solid fuel combustion systems such as coal or biomass. All three models were developed in collaboration with the University of Utah, Brigham Young University, and University of California-Berkeley for predicting soot formation in an oxy-coal boiler, but their use has been generalized to any solid-fuel system including but not limited to:

  • gasification systems
  • chemical looping systems, and
  • wildfire systems.
LANL Copyright No. C18075

Access Uintah Software

CHROTRAN: Parallel Numerical Simulator

CHROTRAN is a massively parallel numerical simulator for in situ biogeochemical and chemical remediation of heavy metals in heterogeneous aquifers.

CHROTRAN can simulate multi-scale remediation processes related to groundwater remediation of heavy metals and other contaminants accounting for physical and chemical aquifer heterogeneities. It has been applied to represent processes from the laboratory to field scale, and has been implemented by LANL to simulate and guide field pilot studies and long-term remediation deployments.

LANL Copyright No. C17061


CO2-PENS: CO2 Predicting Engineered Natural Systems

CO2-PENS is a conceptual and computer model for ensuring safe and effective containment of CO2.

The model links together physics-based process-level modules that describe the entire CO2 sequestration pathway, starting from capture at a power plant and following CO2 through pipelines to the injection site and into the reservoir. After injection, simulation of CO2 migration continues through the subsurface, where it may mineralize, dissolve into brine, or react with wellbore casing or cement.

CO2 may leak from the reservoir along wellbores or faults that lead back towards overlying aquifers or the surface. The model can be used to quickly screen sequestration sites or to perform a more detailed site-specific evaluation.

CO2-PENS V1 code: LACC-2012-122

CO2-PENS Website

dfnWorks: Discrete Fracture Networks Workflow to Simulate Flow and Transport

dfnworks is a parallelized computational suite to generate three-dimensional discrete fracture networks (DFN) and simulate flow and transport. Developed at LANL, it has been used to study flow and transport in fractured media at scales ranging from millimeters to kilometers.

dfnWorks creates high-fidelity three-dimensional networks dfnGen, which combine FRAM (the feature rejection algorithm for meshing) methodology to stochastically generate three-dimensional DFNs with the LaGriT meshing toolbox to create a high-quality computational mesh representation.

The representation produces a conforming Delaunay triangulation suitable for high-performance computing finite volume solvers in an intrinsically parallel fashion. Flow through the network is simulated with dfnFlow, which utilizes the massively parallel subsurface flow and reactive transport finite volume code PFLOTRAN. A Lagrangian approach to simulating transport through the DFN is adopted within dfnTrans to determine pathlines and solute transport through the DFN.            

Documentation: LA-UR-17-22216; LA-CC-17-027 (open source)

dfnWorks Publications and Videos
dfnWorks Website

FEHM: Finite-Element Heat and Mass-Transfer Simulation

The numerical background of the FEHM computer code can be traced to the early 1970s when it was used to simulate geothermal and hot dry rock reservoirs. The primary use over a number of years was to assist in the understanding of flow fields and mass transport in the saturated and unsaturated zones below the potential Yucca Mountain repository.

Today FEHM is used to simulate groundwater and contaminant flow and transport in deep and shallow, fractured and un-fractured porous media throughout the US DOE complex.

FEHM has proved to be a valuable asset on a variety of projects of national interest including:

  • Environmental Remediation of the Nevada Test Site
  • LANL Groundwater Protection Program
  • Geologic CO2 Sequestration
  • Enhanced Geothermal Energy (EGS) programs
  • Oil and Gas production
  • Nuclear Waste Isolation
  • Arctic Permafrost

Documentation: LA-UR-12-24493; LA-CC-2012-083; Copyright No. C13022 (open source)

FEHM Website

FEHM.jl: Julia Interface for FEHM Simulations

FEHM.jl is a module providing a Julia interface to FEHM, and is included in the ZEM framework.

LANL Copyright No. C17004; B&R Code: EY6004300 (open source)

Access FEHM.jl code on GitHub

GeoAc: Acoustic Propagation and Raytracing Written in C++

GeoAc is a numerical package written in C++ which solves the equations governing acoustic propagation through the atmosphere in the geometric limit using a RK4 algorithm.

GeoAc contains multiple instances of said equation system and is able to model propagation in an azimuthal plane using the effective motionless medium approximation as well as in three dimensions using an inhomogeneous moving background medium.

The three dimensional propagation scheme include methods to model propagation in a Cartesian coordinate system as well as a spherical coordinate system which incorporates the curvature of the earth.

Access GeoAc code on GitHub
Software License

HIGRAD/FIRETEC: Coupled Atmosphere/Wildfire Behavior Model

Recent advances in numerical modeling of small-scale phenomena in the atmosphere are based on two models, the HIgh GRADient applications model (HIGRAD), and a physics-based wildfire-behavior model (FIRETEC). These codes have allowed simulations of atmospheric phenomena at very high spatial resolution on LANL's supercomputers.

HIGRAD is coupled to FIRETEC to produce a coupled atmosphere/wildfire behavior model based on conservation of mass, momentum, species, and energy that simulates wildland fire and motions of the local atmosphere.

Examples of types of physical phenomenon of interest are:

  • effects of transient wind conditions
  • effects of nonhomogeneous terrain
  • effects of nonuniform fuels
  • influence of disturbances on fire behavior, such as bark beetle and fuel management.

HIGRAD code: LA-CC-00-45; FIRETEC code: LA-CC-00-46

Related News and Videos
Forest Service Collaboration

InfraMonitor: Matlab-Based Tool for Infrasound Monitoring

InfraMonitor is a Matlab-based tool for infrasound monitoring that incorporates LANL-developed detection, association, and location algorithms in addition to a Matlab implementation of the Tau-P raytracing technique.

The Adaptive F-Detector (AFD): In contrast with other routinely used infrasound detectors, the AFD utilizes a contextual detection hypothesis that adaptively accounts for temporally variable correlated ambient noise. This technique reduces the number of false alarms caused by background noise sources such as ocean noise, wind farms, and other continuous wave sources.

Association: The infrasound association algorithm uses a grid search approach to relate arrivals at multiple arrays. InfraMonitor searches for groups of arrivals with backazimuths and inter-array delay times that are consistent with each grid node. When such groups of arrivals are identified, they are associated and input to the localization procedure described following.

BISL: The BISL technique uses a statistical approach for infrasound location that can appropriately account for both model and measurement uncertainties inherent to infrasound. Phase identification is replaced by the use of a Bayesian prior on group velocity, with both arrival times and backazimuths contributing to the estimation of a location polygon for a specified confidence level.

InfraMonitor Website
Access InfraMonitor code on GitHub
Software License 

LaGriT: Los Alamos Grid Toolbox

LaGriT is a software tool for generating, editing, and optimizing multi-material unstructured finite element grids. It also maintains the geometric integrity of complex elements including input volumes, surfaces, and geologic data to produce an optimal grid (Delaunay, Voronoi).

The data structures used in the code are compact, powerful, and expandable to include hybrid meshes (tet, hex, prism, pyramid, quadrilateral, triangle, line). However, the main algorithms are for triangle and tetrahedral meshes.

The LaGriT tools are used in many projects including:

  • ASCEM meshing for Amanzi
  • Discrete Fracture Networks (DFN)
  • Arctic Permafrost
  • Subsurface Flow and Transport models using FEHM and PFLOTRAN

LANL LA-CC-15-069; Copyright No. C15097 (open source)

 Access LaGriT code on GitHub
LaGrit Documentation
List of Projects
LaGriT Website

LBM3RT: Lattice Boltzmann Methods for Multiphase Multicomponent Reactive Transport Simulations

The LANL-developed LBM3RT is a suite of computer codes for physics-based simulation of coupled multiphase flow, transport of heat and mass, as well as (electro)chemical reactions in porous media with evolving hydrological properties at the individual pore/grain scale

LANL LA-CC-17-022; Copyright No. C17027 (export controlled)

LBM3RT Website

MARFA: Migration Analysis for Radionuclides in the FAr Field

The computer code MARFA uses an extremely efficient particle-based Monte Carlo method to simulate the transport of radionuclides beneath the surface of the Earth.

The algorithm uses non-interacting particles to represent packets of radionuclide mass. These particles are moved through the system according to rules that mimic the underlying physical transport and retention processes.

In contrast to the conventional random walk particle tracking algorithm, which use a specified time step and random spatial displacement, the MARFA algorithms use a fixed spatial displacement and a random transit time for the displacement. The use of a fixed spatial displacement makes the code extremely robust and computationally efficient.

LANL LA-CC-11-089 (open source)

MARFA Website  

MATK: Python Model Analysis ToolKit

MATK facilitates model analysis within the Python computational environment. MATK expects a model defined as a Python function that accepts a dictionary of parameter values as the first argument and returns model results as a dictionary, array, integer, or float.

Many model analyses are provided by MATK. These model analyses can be easily modified and/or extended within the Python scripting language. New model analyses can easily be hooked up to a MATK model as well.

LANL LA-CC-13-132 (open source)

Access MATK code on GitHub

MADS: Model Analysis and Decision Support

MADS is open-source, high-performance computational framework for data- and model-based analyses. There are two versions; the original written in C, and a newer version developed in Julia. MADS is designed to be a user-friendly code utilizing adaptive rules and techniques which allows the model analyses to be performed with minimum user input. MADS can perform:

  • sensitivity analysis
  • parameter estimation
  • model inversion and calibration
  • uncertainty quantification
  • model selection
  • model reduction
  • decision analysis

MADS can be internally or externally coupled with any existing model simulator, and also includes built-in analytical solutions for groundwater flow and contaminant transport. MADS includes extensive verification and example problems.

Documentation: LA-UR-11-11967; MADS: Julia LA-CC-15-080; C LA-CC-10-055; LA-CC-11-035 (open source)

Access original MADS code on GitHub
Access Julia MADS code on GitHub
MADS Website

PFLOTRAN: Parallel Code for Flow and Reactive Transport

PFLOTRAN is an open source, state-of-the-art massively parallel multiphase, multicomponent and multiscale subsurface flow and reactive transport code.  Parallelization is achieved through domain decomposition using the PETSc libraries. PFLOTRAN has been developed from the ground up for parallel scalability and has been run on up to 218 processor cores with problem sizes up to 2 billion degrees of freedom.

Currently PFLOTRAN can handle a number of surface and subsurface processes, including Richards equation, two-phase flow involving supercritical CO2, and multicomponent reactive transport including aqueous complexing, sorption and mineral precipitation and dissolution, on structured as well as unstructured grids. A unique feature of the code is its ability to run multiple input files and multiple realizations of permeability and porosity fields simultaneously on one or more processor cores per run.

Additional capabilities include multiple interacting continuum method and discrete fracture network approach for modeling flow and transport in fractured media.

LANL LA-CC-09-047 (open source)


Pisces: A Practical Seismological Database Library in Python

Pisces connects your Python scientific analysis environments to a seismological database, without having to use a separate data-management language, like SQL or shell scripts.  

Pisces provides command line utilities to import/export waveforms directly to/from your database. It also allows for easy importing/exporting of text "flat-file" data tables, geographic filtering, and integration with well-known scientific libraries like ObsPy. Database queries are built using Python functions and objects via SQLAlchemy, not by concatenating SQL strings.

Pisces Website
Access Pisces code on GitHub

PlumeCalc: Calculations for Groundwater Concentrations

PlumeCalc implements the Convolution-Based Particle Tracking (CBPT) method and requires auxiliary input information related to the flow and transport model as provided by FEHM.

LANL LA-CC-11-029 (open source) 

PlumeCalc Website

PyFEHM: Python Library for FEHM Simulations

PyFEHM is an open-source (LGPL 2.1) Python library that provides classes and methods to support a scripting environment for the subsurface heat and mass transfer, and geomechanics code FEHM.

The library is inspired by a similar library, PyTOUGH, available for use with the TOUGH2 family of codes.

LANL LA-CC-13-081; Copyright No. C13153 (open source)

PyFEHM Website

PyGeoTess: Python Interface to the GeoTess 3D Earth Model Parameterization Library

PyGeoTess is a Python interface module to the GeoTessgridding and earth model library from Sandia National Laboratories.

It provides two interfaces to a subset of the GeoTess library: a direct interface to the GeoTess C++ classes and methods for users familiar with that interface, and a more Pythonic interface that is more comfortable to Python users.

Access PyGeoTess code on GitHub

PySAC: Python Interface to the Seismic Analysis Code File Format

PySAC is a Python interface to the Seismic Analysis Code (SAC) file format, supporting little and big-endian binary and alphanumeric format, containing evenly-sampled time-series data. PySAC emphasizes intuitive header access, header consistency, and ObsPysupport.


  • Read and write SAC binary or ASCII.
    • Autodetect or specify expected byteorder.
    • Optional file size checking and/or header consistency checks.
    • Header-only reading and writing.
    • "Overwrite OK" checking ('locrok' header).
  • Convenient access and manipulation of relative and absolute time headers.
  • Uder-friendly header printing/viewing.
  • Fast access to header values from attributes.
    • With type checking, null handling, and enumerated value checking.
  • Conversion from ObsPy Trace to SAC trace retains detected previous SAC header values.
  • Conversion to ObsPy Trace retains the complete SAC header.

PySAC Website
Access PySAC code on GitHub
→ Software License

SimCCS: Decision Support Tool for CCS

SimCCS is an economic-engineering software tool for making integrated CCS infrastructure decisions.  Using user-provided regional source, sink, and transportation data, SimCCS creates candidate transportation routes and formalizes an optimization problem that determines the most cost-effective CCS system design.

LANL Copyright No. C17147

Access SimCCS code on GitHub
SimCCS GitHub Website
SimCCS Gateway at Indiana University

Taxila LBM: Lattice Boltzmann Method for Simulation of Flow

Taxila LBM is a parallel implementation of the Lattice Boltzmann Method for simulation of flow in complex porous media. The implementation solves both single and multiphase systems and it is capable of solving D2Q9, D3Q19, and other mesh dependencies, on 2D or 3D grids. It is easily extended to other models of connectivity.

The multiphase and multicomponent models are based upon the Shan and Chen method with many improvements. It includes the ability to use higher order derivatives or multiple relaxation times to improve stability at large viscosity ratios. It also handles multiple mineral/wall materials, allowing for different wettabilities and contact angles on each mineral and supports a variety of inlet and outlet boundary conditions.

Access Taxila LBM code on GitHub

TensorDecompositions: Unsupervised Machine Learning Using Tensor Decomposition Algorithms

TensorDecompositions: a series of novel, unsupervised machine learning (ML) methods based on matrix and tensor factorizations, called NMFk and NTFk have been developed allowing for objective, unbiased, data analyses to extract essential features hidden in data.

Unsupervised Machine Learning methods can be applied to:

  • feature extraction
  • blind source separation
  • model diagnostics,
  • detection of disruptions and anomalies
  • image recognition,
  • discovery of unknown dependencies and phenomena represented in datasets
  • development of physics and reduced-order models representing the data

The TensorDecompositions methodology is capable of identifying the unknown number of features charactering the analyzed datasets, as well as the spatial footprints and temporal signatures of the features in the explored domain. TensorDecompositions algorithms are written in Julia.

Access TensorDecompositions code on GitHub
Nonnegative Matrix Factorization using k-means clustering (GitHub)
Nonnegative Tensor Factorization using k-means clustering (GitHub)

VORONOI: Copyright Pending

VORONOI creates a sparse matrix of geometric coefficients that is derived from the Voronoi dual mesh of the Delaunay triangle, or tetrahedral mesh that represents the geometry of the model. VORONOI computes these coefficients, which can be stand alone or integrated into LaGriT mesh generation software.

This software is robust for very large problems, and can take advantage of parallel computing resources. The output is general, and can be utilized by PFLOTRAN, FEHM and TOUGH2. 


→ Pending Open Source
→ VORONOI Web Page Pending

WALKABOUT: Random Walk Particle Tracking Simulations

WALKABOUT performs random walk particle tracking simulations of solute transport based on groundwater flow solutions from FEHM.

A typical workflow for Walkabout within the FEHM system would use LaGriT to generate unstructured grids. FEHM then provides a discretized representation of the steady-state flow field to Walkabout. Given this discrete solution, WALKABOUT then reconstructs a groundwater flow field, and performs the random walk particle tracking calculation.

LANL LA-CC-11-033; Copyright No. C11063 (open source)


WELLS: Multi-Well Variable-Rate Pumping-Test Analysis Tool

WELLS is a C code for multi-well variable-rate pumping-test analysis based on analytical methods and computes drawdown in confined, unconfined, and leaky aquifers through a variety of analytical solutions.

LA-CC-10-019; LA-CC-11-098

Access WELLS code on GitHub
WELLS Website

ZEM: Integrated Framework for Real-Time Data and Model Analyses

ZEM is an integrated framework for real-time data and model analyses for environmental decision-making. 

Typical environmental management problems require analysis of large and complex data sets originating from concurrent data streams with different data collection frequencies and pedigree. These big data sets require on-the-fly integration into a series of models with different complexity for various types of model analyses where the data are applied as soft and hard model constraints. This approach is needed to provide fast iterative model analyses based on the latest available data to guide decision-making. However, the data and model are associated with uncertainties. The uncertainties are probabilistic (e.g. measurement errors) and non-probabilistic (unknowns, e.g. alternative conceptual models characterizing site conditions).

ZEM addresses all of these issues, with a framework that allows for seamless and on-the-fly integration of data and modeling results for robust and scientifically-defensible model analyses related to uncertainty quantification, risk assessment and decision-making. The model analyses are performed using MADS

LANL LA-CC-17-004; Copyright No. C17004

Access ZEM code on GitHub