Michael D. Galloy



I am a software developer at NCAR High Altitude Observatory (HAO). I work on the data pipelines for Mauna Loa Solar Observatory (MLSO). Previously, I was a research mathematician at Tech-X Corporation, working in the areas of high-performance computing, general purpose computing on graphics processing units (GPGPU), and visualization, especially as applied to the earth sciences. Before Tech-X, I taught scientists to use the Interactive Date Language (IDL) at RSI, now Exelis VIS.


mgalloy [at] gmail [dot] com

High Altitude Observatory (HAO)
National Center for Atmospheric Research (NCAR)
1342 Marshall St. Apt. B Boulder, CO 80302

Google Scholar


Magnetic Nulls and Super-radial Expansion in the Solar Corona 2017
Sarah E. Gibson, Kevin Dalmasse, Laurel A. Rachmeler, Marc L. De Rosa, Steven Tomczyk, Giuliana de Toma, Joan Burkepile, and Michael Galloy

SatelliteDL: a Toolkit for Analysis of Heterogeneous Satellite Datasets 2014
Michael Galloy and David Fillmore
American Geophysical Union Fall Meeting

Accelerated IDL using OpenCL 2013
Michael Galloy
American Geophysical Union Fall Meeting

Remote Data Access with IDL 2013
Michael D. Galloy

GPU accelerated curve fitting with IDL 2012
Michael Galloy
American Geophysical Union Fall Meeting

A Python Geospatial Language Toolkit 2012
David Fillmore, Alexander Pletzer, and Michael Galloy
American Geophysical Union Fall Meeting

Using the Data Access Protocol with IDL 2011
Michael Galloy

Modern IDL: A Guide to IDL Programming 2011
Michael Galloy

Accessing Data via DAP in IDL 2010
Michael Galloy
American Geophysical Union Fall Meeting

Astronomical Data Analysis on Graphics Cards 2008
Peter Messmer, Paul Mullowney, Michael Galloy, David Fillmore, Brian Granger, and Keegan Amyx
American Physical Society

GPU Computing in High-Level Languages 2008
Peter Messmer, Paul Mullowney, Mike Galloy, Dan Granger, Brianand Karipides, David Fillmore, Nate Sizemore, Keegan Amyx, and Dave Wade-Stein
SIAM Conference on Parallel Processing for Scientific Computing

Parallel IDL and Python for Earth and Space Science Data Analysis 2007
David Fillmore, Michael Galloy, and Peter Messmer
American Geophysical Union Fall Meeting

TxView: A Tool for Interactive Analysis of Remote Accelerator SimulationData 2007
Michael Galloy, Peter Stoltz, Brian Granger, and Doug Dechow
Particle Accelerator Conference

Making Regular Expressions Your Friends 2005
Michael Galloy

Advanced Topics in IDL 2004
Michael Galloy and Mark Piper

Counting Nilpotent Pairs in Finite Groups 1999
Jason E. Fulman, Michael D. Galloy, Gary J. Sherman, and Jeffrey M. Vanderkam

Harmonic Univalent Mappings on the Unit Disk and the Punctured Unit Disk 1998
Michael Galloy



GPULib enables users to access high performance computing with minimal modification to their existing programs. By providing bindings between Interactive Data Language (IDL) and large GPU libraries for general purpose computations, GPULib can accelerate new applications or be incorporated into existing applications with minimal effort. No knowledge of GPU programming or memory management is required.


Often experiments and simulations generate large amounts of data. Scientists exploring fluid and particle dynamics, high-energy and plasma physics, astrophysics and space sciences, biophysics, protein folding and medical science are challenged to visualize and analyze increasingly complex data. Many technical professionals rely on the Interactive Data Language (IDL) from Exelis Visual Information Solutions to visualize and analyze these large data sets. However some analyses cannot be practically accomplished on a workstation or server with only symmetric multi-processing. And while distributed memory parallel processing promises cost-effective computing power, IDL alone does not naturally take advantage of this parallel environment. To bridge the gap between IDL and parallel computing, Tech-X Corporation has developed FastDL. With FastDL scientists and developers can run IDL visualization and analysis applications in parallel on a series of networked computers – significantly shortening the time required to get results.

A Rapid Model Fitting Tool Suite (RMFT)

Instruments flown on board NASA missions often do not measure quantities of interest to scientists directly, but rather observable quantities. In addition, instruments often introduce artifacts into the data and techniques are needed to remove them. In both cases, scientifically relevant information can be inferred by simulating a parameterized model and adjusting the parameters to best match observed data. This minimization process of “fitting” a model to data is computationally demanding, since it requires evaluating the often complex models many times and minimizing a function of many variables. Fast, more efficient fitting techniques are therefore required in order to fully harvest the scientific output from NASA missions. In this project, we developed a fast, general-purpose parameter fitting software tool suite taking advantage of inexpensive, high-performance graphics processing units (GPUs). The goal of Phase I of this project is to demonstrate the feasibility of model fitting on GPUs. We will therefore prototype forward models, relevant mathematical operators and the actual parameter adjustment algorithm on GPUs and compare their performance to a pure CPU implementation. We will particularly focus on ease of use for the scientist to migrate their applications to this infrastructure.

Remote Data Exploration with IDL (RDL)

The DAP protocol provides a discipline-neutral means of requesting and providing data across the World Wide Web. We built a library of routines, including a graphical user interface, for IDL allowing a user-friendly experience to seamlessly retrieve remote data with the DAP standard. The library was also integrated with a parallel computing library.


IDLdoc generates nicely formatted API documentation directly from IDL source code. If the documentation is kept close to the code itself is much more likely to be kept up-to-date. As much as possible the documentation produced by IDLdoc is generated directly from the source code, making IDLdoc useful even if there are no specially formatted comments at all in the source code.


mgunit is a unit testing framework modeled on other xUnit testing frameworks. The goal is to allow easy creation and reporting of results of tests, while still allowing for many different testing situations. Simple naming conventions replace formal creation of hierarchies and specification of tests. This allows test suites to be created with a minimum of code beyond the actual code of the tests themselves.


The Really Interactive Data Language (rIDL) provides a command line interface for IDL with more interactive features. Completion on filenames, variables, routines, system variables, reserved words, and executive commands allows users to quickly explore possibilities. rIDL also provides a richer set of other features including output logging and advanced history handling.

Modern IDL

Modern IDL is an opinionated guide to using IDL, including information about recent versions of IDL, advanced topics, and best practices. Modern IDL is also a useful reference guide for both beginners and advanced users, collecting tables and lists of items that are scattered through the online help.


Accessing Climate Data via OPeNDAP June 2012
VISualize 2012, Washington, DC

Remote Data Exploration June 2011
2011 NASA Earth Science Technology Forum, Pasadena, CA

Accessing remote data and the tools used in an IDL project April 2011
VISualize 2011, Washington, DC

GPU Accelerated Fitting with IDL via GPULib April 2011
VISualize 2011, Washington, DC

GPULib with IDL 8.0 May 2010
VISualize 2010, Washington, DC

GPU computing with IDL and demonstration July 2010.
GPU Workshop, Lawrence Berkeley National Laboratory, Berkeley, CA

GPULib with IDL 8.0 February 2010
IDL User Group Meeting, Boulder, CO