Projects Record

Implementing and comparing two Gauss-Seidel iteration QR factorization algorithms

In this project we implement and investigate the comparative performance of two QR factorization algorithms which employ two Gauss Seidel iterations. The two algorithms differ in that the first employs one projection and one global synchronization whereas the second employs two incremental projections with a global synchronization in between them. We compare the loss of orthogonality, performance, runtime and number of operations between the algorithms for randomly generated square matrices, randomly generated degenerate matrices, randomly generated matrices of various levels of ill conditioning as well as randomly generated matrices with various levels of departure from normality.

Semester: Spring 2023
Sponsor: AMD


Fire department calls-for-services modeling

Public-safety Telecommunicator answers our call to first determine if it is an emergency and how to help. The emergency line is in operation 24/7. Once the Castle Rock Fire Department is connected to a Service Call, they collect the data. The data have been used to analyze the effectiveness of their response teams. In this Python notebook, a model is attempted to predict Service Calls and to help determine if a new firehouse is necessary in this area. The results were inconclusive and have prompted additional inquiries to better attempt a model in the future.

Semester: Spring 2023
Sponsor: Castle Rock Fire and Rescue


Computation and analysis of geodesics on a parabolic Dupin cyclide

The parabolic Dupin cyclide is a parametric surface embedded in ℝ3. The metric tensor encodes the information needed to understand how the specific geometric properties of the surface are related to the behavior of geodesic curves. This project aims to use various computational methods to solve the geodesic equation and create a visualization of the curves on the surface. Jacobian stability analysis methods are then employed to more rigourously analyze the behavior of the curves, by looking at the eigenvalues produced by the geodesic equation system itself, and the geodesic deviation system.

Extension to selected 2D restrictions of 3D cyclides

Semester: Spring 2023
Sponsor: Aimé Fournier & Vincent Herr


Comparison of real and modeled CyGNSS observations

In this project, we examined the differences between real and modeled DDM observations for two trained models. We performed statistical analysis, in particular, error computations such as Mean absolute error (MAE), Root mean square error (RMSE) and Normalized RMSE to investigate how close or far the modeled DDM observations for the two models are from their corresponding real DDM observations. This was done by binning the models' datasets on wind speed statistics to further examine if extreme wind speeds affect the accuracy of modeled observations. Furthermore, the performance of these models was compared using Peak-signal-to-noise ratio (PSNR).

Semester: Spring 2023
Sponsor: Spire


Bias correction of Spire satellite sea-surface wind-speed observation data based on machine learning and deep learning method

The main research content of this project is to solve the bias problem of wind_speed data in Spire dataset and treat the data in the Cygnss dataset as real wind_speed data. Because observation data do not match, interpolation methods are used to estimate the correct wind_speed data in the Spire dataset based on Cygnss wind_speed. Then, treat the difference in wind_speed as bias data. After that, use other physical variables in the Spire dataset as input data for machine learning, and use linear regression, and neural network methods to predict bias data.

Semester: Spring 2023
Sponsor: Spire


Decentralization of cryptocurrency tokens on the Ethereum blockchain

Cryptocurrency exchanges heavily emphasize being a “decentralized finance,” in that all transactions of cryptocurrencies are made between two individuals without requiring a central intermediary. However, recent studies have expressed doubt about the decentralized nature of cryptocurrency. In this paper, we study the Euler and dYdX crypto tokens (in addition to a previous study done over the AAVE token) to conclude that, although there are some centralized components within the network of transactions, trends across multiple tokens still indicate a decentralized nature to the network.

Semester: Fall 2022
Sponsor: ChainPulse Corp


Methods of predicting customer engagement through churn prediction models

The need to develop an engagement metric for a financial institution initiated this project. The development of an artificial variable was produced as an indicator of the amount of engagement consumers had with the organization. We produced different types of prediction models (multivariate logistic and linear regression, ensemble learning via random decision forests, and deep learning via neural network) and evaluated their accuracy and feasibility to be used as a model of consumer behavior. The "parameter-tuned" random forest model performed the best out of all the predictive models with a 94.5% balanced accuracy and 98% weighted accuracy.

Further investigation into methods of predicting customer engagement through churn prediction models

With the base models and visualizations developed in the team project; this project is intended to address whether the regression models will perform better or worse before and after COVID19. After creating the data sets, basic visualizations were developed on the new data. A different methodology of implementing the engagement score uses Yule's Y as a method to weigh. Overall, the multivariate linear regression performed the best for both pre and post-COVID19 periods (R2 ≈ 1.0) and for post-COVID19, the neural network outperformed the random forest attempt and vise-versa is true for the pre-COVID19 period.

Semester: Fall 2022
Sponsor: 


Comparing direct and iterative solutions for linear systems

This notebook analyzes the efficiency of three iterative methods for solving diagonally-dominant matrices using Pytorch to utilize the GPU. The focus will be the polynomial Gauss-Seidel method, which will be compared against the normal Gauss-Seidel, Jacobi, and direct solve methods. The cost analysis will look at differences in computation time, the number of iterations, and the forward and backward errors. The introduction of the GPU closed the computation timing gap between polynomial Gauss-Seidel and Gauss-Seidel a reasonable amount but still had a much higher computation time. Overall, more testing is needed, possibly with a more powerful GPU.

Semester: Fall 2022
Sponsor: AMD


Imaging utilizing 2D ray travel times

Tomographic inversion of seismic rays is an important technique that is utilized in seismic tomography, which maps structures in the Earth using rays. This process maps rays from sources to receivers, calculates these travel times, and then solves an inverse problem, so that solutions of different parameters can be explored. Within this notebook, we explore 2D linear ray tomography and the impact that input parameters have on image result. We seek to find how to obtain the most optimal image while maintaining a reasonable amount of sources and receivers to minimize cost inputs.

Semester: Fall 2022
Sponsor: Pawan Bharadwaj


Visualizing high-dimension surfaces in Python

The ability to visualize data, objects, and surfaces is important for conceptual understanding of a problem set. Visualizing high-dimension (more than three spatial dimension) surfaces can be difficult without losing information from one or more dimensions. We explore the use of select Python visualization and dimension reduction techniques, including Plotly visualization, coloration, sectioning, slicing, interactivity, and parallel and perspective projection to provide insight into features of high-dimension surfaces. Our goal is to educate users in methods of surface plotting and dimension reduction while maintaining surface characteristics and improving insight into high-dimension surfaces.

Semester: Fall 2022
Sponsor: Aimé Fournier & Vincent Herr


A study on trends in frequency and intensity of winter storms in Colorado (and its PDF version)

This report uses data provided by the United States Department of Agriculture's National Water and Climate Center, which is then analyzed for the Colorado Avalanche Information Center. The goal of this report is to determine if we see any statistically significant change in the frequency and intensity of winter storms in Colorado over time. This project effectively calculates and analyzes trends in winter storms across Colorado. The motive behind this project is to better understand trends in snowstorms to provide useful information about the relationship between winter storms and climate.

Semester: Spring 2022
Sponsor: Colorado Avalanche Information Center


Metcalfe’s Law as a model of the market capitalization of the Ethereum native token

Metcalfe's Law has been used to predict a value for what each user brings to the bitcoin community. This law states the value, V is dependent on its size n (the number of users in the network), i.e., V is proportional to n2. In this analysis, V is the market cap of Ether that depends on the metrics n during the different time periods selected. Regression analysis was used to determine the correct variables and mathematical laws to produce an equation accurately modeling the value each user brings to the Ether (Ethereum's native token) network. Odlyzko’s and Sarnoff’s laws are considered alongside Metcalfe's law in the multivariate equation because of how Ethereum's network operates. Determining the multivariate equation will show the law that fits each metric best on its own, then combine the different laws and metrics to create a multivariate equation.

Semester: Spring 2022
Sponsor: ChainPulse Corp


Implementing Random Sketching in GMRes (and its extension to sparse matrices)

When solving linear systems of equations in the form Ax = b where A and b are given, finding the exact value of x for a large-dimension A can be extremely inefficient. Iterative methods like GMRes can speed up this computation time by finding x values that satisfy the equation within a specified margin of error, but are still slow. By introducing random sketching into GMRes, in which n dimensions are randomly embedded into k dimensions such that k ≪ n, this project hopes to greatly reduce the computation time of x.

Semester: Spring 2022
Sponsor: National Renewable Energy Laboratory


Computation accuracy and efficiency of solving partial differential equations by finite differences

The project intends to analyze the accuracy and efficiency of the Finite Differences method in solving partial differential equation with both CPU and GPU. Using the sine function and Dirichlet boundary conditions as the initial condition to form a 1-D, 2-D, and 3-D spherical coordinate Heat Equation, then we compute the explicit solution, and compare to the numerical solution given by the Finite Differences method. The project performs the visualization of computational errors and running time provide evidence of computational accuracy and time efficiency.

Semester: Spring 2022
Sponsor: Zap Energy


Building energy-consumption analysis with respect to size and solar-power cycle, and seasonal ARIMA modeling (and its PDF version)

For fifteen buildings in Colorado, the Colorado Energy Office (CEO) provided energy consumption, building size, and solar irradiance data, taken every fifteen minutes for around three years. Though the data provided is similar in quantity and quality, variation among buildings includes missing data, slightly different time frames, and the different provenances of weather data. This project analyzes the patterns of energy consumption – comparing consumption to time, building size, and approximate solar panel production, providing several different visualizations to identify such patterns and seasonalities. The project also uses the collected data to create ARIMA models, accounting for three relevant seasonalities: daily, weekly, and annually.

Semester: Fall 2021
Sponsor: Colorado Energy Office


Effect of random sketching on Product Gram-Schmidt in the M-norm

In Ax = b, a source vector b is given and the n×m system matrix A is often a rectangular matrix that is sparse but has very large m and n values, up to the billions. In order to solve this more efficiently, the matrix A will be compressed through random sampling. The new matrix, Ã, also known as the "sketch" will be smaller and take less time to solve. This will be achieved through implementing the Algorithm Product Gram-Schmidt in the M-norm (PGSM) and using it in the generalized minimal residual method (GMRes) rather than the previously used Gram-Schmidt (GS) process.

Semester: Fall 2021
Sponsor: National Renewable Energy Laboratory


Collocation and preliminary modeling of wind speed and wave height vs CYGNSS delay-Doppler maps (and its PDF version)

Ever since the launching of the CYGNSS satellite system in 2016 by NASA, many data analysts have experimented with models that use its Delay Doppler Map (DDM) information to predict weather phenomena. Together, team members of the Fall 2021 Spire project team have analyzed DDM datasets from CYGNSS, interpolated wind speed and wave height data from the European Centre for Medium-Range Weather Forecasts (ECMWF), collocating those with corresponding CYGNSS data. They have performed both linear and machine learning modeling on the collocated sets. The present analysis offers preparation, diagnostics and conclusions for both models, including functions for interpolation/collocation of ECMWF and CYGNSS data along the way.

Semester: Fall 2021
Sponsor: Spire


Comparison of GPU and CPU for marching forward the finite-difference diffusion equation

Using partial differential equations and matrix multiplication, CPU and GPU can be tested to see if one is more optimal for running simulations of complex physics problems for a multitude of real-world purposes. This project attempts to create a test that shows the computation time of GPU and CPU utilizing PDE equations to show which is more optimal for larger computational loads.

Semester: Fall 2021
Sponsor: Zap Energy


Analysis of inclination variation of satellite coverage for the Contiguous United States

Ball Aerospace uses CIRiS (Compact Infrared Radiometer in Space) and ground tracking to examine areas of the surface of the Earth. Previous semesters focused primarily on how many satellites were needed to fully cover the Earth's equator or a fixed-latitude arc between 2 longitudes. This project studies how the number of satellites and the angle of inclination (with respect to the equatorial plane) of the orbits of those satellites affects the overall coverage for a desired region within a given 24-hour period. In this context, coverage is represented by the aggregate set of satellite swath crossings of 2 arcs.

Semester: Spring 2021
Sponsor: Ball Aerospace


Analyzing and modeling building electricity consumption patterns toward greening government (and its faster non-interactive version)

The Colorado Energy Office provided data for 15 buildings’ total electricity consumption every 15 minutes for several years. This project studied the variability of these data in terms of averages and cycles on daily, weekly and longer time scales, plus random variability on shorter time scales, and differences between buildings. Simulations of the data were constructed and validated using ARMA (autoregressive moving average) and other methods e.g., assuming the consumption at any time, or the difference from the previous time etc., could be modeled as a simple function of recent data values.

Semester: Spring 2021
Sponsor: Colorado Energy Office


Optimal assignment of relaxation parameter in successive over-relaxation vs in algebraic multigrid

Owing to the convoluted nature of reality, mathematicians often encounter problems involving systems of large, sparse matrices. Finding a solution to said problems which involve these matrices can be a very time-intensive proposition. From a mathematical point of view, different algorithms exist to assist in solving them. Focusing on the Successive Over Relaxation solver, this paper looks to investigate the optimal relaxation parameter ω for the solver. By applying algorithms in tandem with appropriate parameters, the efficiency of solving large, sparse matrices may be drastically improved. Initial findings include differences in the SOR solver as a standalone algorithm versus as a smoother. The choice of solver and role may drastically improve convergence rates.

Semester: Spring 2021
Sponsor: National Renewable Energy Laboratory


Sketching to accelerate computing QR factors

NREL performs many massively parallel computations simulating time-dependent processes in volumes with n grid-point values, n being in the billions. Part of those computations involve solving sparse n-by-n linear equations quickly and accurately e.g., by finding an orthogonal basis Q for the 1st m unknowns of the n equations, with m no greater than n. This project studies the use of “sketching” i.e., embedding n dimensions randomly into k dimensions to accelerate computing Q, with k no less than m but k much less than n.

Semester: Spring 2021
Sponsor:National Renewable Energy Laboratory


Study of hydrocarbon play data

USGS provides many geological science and information services e.g., analysis of oil & gas well productivity. In this project, we created a Python notebook to read in a large quantity of publicly available oil & gas data in various file formats, scrub the data, create basic visualizations, partition data by hydrocarbon play (shared geological circumstances), calculate annual well counts, estimate annual production, analyse production rate by decline curve and perform further analyses.

Semester: Spring 2021
Sponsor:U.S. Geological Survey


Toward satellite coverage optimization for the Contiguous United States (and its notebook ---download and change filename extension from "txt" to "ipynb")

Ball Aerospace is using the CIRiS (Compact Infrared Radiometer in Space) technology to better examine evapotranspiration at the Earth’s surface and to provide full coverage of the Earth within a 24-hour period. With this technology, Ball is able to track surface-level temperatures throughout the world daily. These data will help scientists and decision makers with evaluating drought conditions and climate modeling. This project will estimate satellite coverage of the contiguous United States and optimize the global coverage that was explored in previous projects. The goals of this project are to encompass the Contiguous United States as well as optimize the number of satellites that achieve full coverage, all of these data being collected in daylight. The impact of the project could lead to better visualization and optimization of more finite areas of the globe such as the coastal regions like the Gulf Coast of the United States to help analyze changing surface-level temperatures in order to more accurately depict extreme weather patterns.

Semester: Fall 2020
Sponsor:Ball Aerospace


A study on the correlation of weather station data and the occurence of wet avalanches (and its ipynb file)

Wet avalanches are not well understood. Our goal is to analyze the data and find the major predictors and create a model to predict when a wet avalanche will occur within approximately an hour. This is to educate future students on the matter and to help them know more about wet avalanches. This is also for the sponsor, whom we can hopefully help with predicting these wet avalanches so that they can act to prevent injury to people in the backcountry e.g., giving enough time to block off a road or warning users about a predicted-avalanche area.

Semester: Fall 2020
Sponsor:Colorado Avalanche Information Center


Analysis of electric vehicle charging stations (and its ipynb file)

Electric vehicles’ (EV) charging demand for electricity as well as the cost and fees of such varies over location and time. During peak demand times the demand fees tend to be higher as well, this results in a high rate for those who use EV. In order to determine a plan that is more cost-effective for users, it is helpful to determine the distribution of the EV charging events based on historical data. This will be accomplished by understanding the peak-demand charging energy in the different locations across the state as well as the peak-demand charging time throughout different periods e.g., hourly, daily, weekly.

Semester: Fall 2020
Sponsor:Colorado Energy Office


An Investigation on the optimal parameters of the SOR and GMRES solvers (and its ipynb file)

Algebraic multigrid (AMG) solvers are computing methods that use hierarchical meshes and are designed to solve extremely large systems of equations with speed and efficiency. The goal of this project is to determine the optimal parameters for AMG to solve a given system of equations in the fewest iterations possible with the least error possible. Hopefully, doing this will mean that it can be upscaled to larger systems with reasonable accuracy. Mainly this project will consist of using the Python code package PyAMG to solve a problem suggested by Dr. Thomas, which was primarily provided in MATLAB. This will provide some knowledge to Dr. Thomas on the Python package and how it compares to the MATLAB solvers already in use at NREL. This Python code will create a foundation for future projects on the subject, both through the code developed and in the understanding of the basics of AMG solvers. Most of the work of this project will be on toy problems, which are used for testing, but once those solutions are optimized it can be used successfully on the simulated data that represent the air flow around wind turbines.

Semester: Fall 2020
Sponsor:National Renewable Energy Laboratory


Ball Aerospace satellite coverage optimization (and its ipynb file)

Ball Aerospace is preparing to launch satellites into orbit that are equipped with CIRiS (Compact Infrared Radiometer in Space) technology used to track evapotranspiration from the earth’s surface. It is crucial that Ball Aerospace can achieve full earth coverage in a twenty-four-hour period, and that this be done with the least amount of satellites possible. Given the initial results, we have reason to believe that seven satellites will not sufficiently achieve full earth coverage in a twenty-four hour period. This, of course, is assuming that all coverage must be attained during the day.

Semester: Spring 2020
Sponsor:Ball Aerospace


Predicting avalanche field in images using convolutional neural networks and edge detection (and its ipynb file)

The Colorado Avalanche Information Center (CAIC) aims to detect the location and shape of avalanches from satellite images. We establish an optimal Convolutional Neural Network architecture by comparing a densely connected CNN with already established architectures VGG16, IRNv2 and RN50. By adjusting data generation parameters we determine that high dimensional data is preferred for training models as larger window size indicates better model fit and feature detection. Prediction outcome analysis suggests further refinement of prediction architecture with RGB data and polygon coordinates.

Semester: Spring 2020
Sponsor:Colorado Avalanche Information Center


Analysis of Charge Ahead Colorado grant program electric vehicle charging stations (and its ipynb file)

This report summarizes and provides analysis for data gathered from Colorado Energy Office (CEO) electric-vehicle charging stations from May to December 2019. We emulated a third-party report which summarized similar data from May 2016 to April 2019, and verified that annual trends observed in the report continued through 2019. The CEO is also concerned with identifying peak demand times as a means of reducing demand charges. We were able to conclude that peak demand-times differ on weekdays from weekends, and identified peak demand-time intervals. Peak demand-times occur near midday on weekdays.

Semester: Spring 2020
Sponsor:Colorado Energy Office


A study into satellite coverage and orbital equations (commentary by Prof. Fournier) (and its pynb file)

Ball is developing a number of small satellite cameras for their evapotranspiration mission that will be placed on satellites within a fixed near polar orbit. The purpose is to provide full camera coverage of the Earth within a 24-hour time period. It is the intention of this report to explore the orbits and provide tools to answer the question of how many satellites are necessary to achieve the full coverage of the Earth in a given time-frame. We will do this by creating an Earth centered Earth fixed model of a satellite’s orbit imposing a swath projection onto the orbit to evaluate coverage. We are using the assumption that when the equator has been fully covered we have achieved full Earth coverage.

Semester: Fall 2019
Sponsor:Ball Aerospace


Analyses of water-meter accuracies with respect to meter manufacturers and flow rates (commentary by Prof. Fournier)

Are residential water meters accurate enough? Most likely not, but in order to estimate the accuracy for a specific make and model of water meter, adequate testing is required. To perform these tests, it is also important to procure an adequate sample size that is representative of the population, without being too costly. To that end, on Water Systems Optimization’s (WSO) behalf, we aspire to review their bootstrapping analysis and determine the minimum sample size that should be acquired. We also analyze the statistics of water-meter performance under different flow rates.

Semester: Fall 2019
Sponsor:Water Systems Optimization


Identifying relationships and simulating pricing across weather and energy market nodes (and its ipynb files 1234)

Identify key relationships in high-resolution market and weather data that inform the load and (non-)renewable production of energy; apply machine learning to reproduce and simulate the price of energy in the California market.

Semester: Spring 2019
Sponsor:Ascend


Applying the Kalman filter to SNOTEL snow depth data (and its ipynb file)

Use Kalman filtering to decrease error in snow telemetry measurements and improve avalanche forecasts and risk assessment about travel into the back-country.

Semester: Spring 2019
Sponsor:Colorado Avalanche Information Center


Nonlinear statistical models for predicting stations surface fields

Evaluate the use of a neural network and another nonlinear model to compare with a linear statistical model to improve windspeed forecasting.

Semester: Spring 2019
Sponsor:Spire


Tetrahedron meshes and hexahedron metrics (and its ipynb file)

Take a physical model comprising a tessellation of some physical shape by thousands of joined tetrahedra, partition each tetrahedron into 4 cuboids (quadrilateral hexahedra) sharing an appropriately defined center vertex, and diagnose the resulting cuboidal tessellation in view of the sample distribution of aspect-ratio, skew and similar shape metrics over the modelj.

Semester: Spring 2019
Sponsor:Tech-X