VZA- Visualization - Application Development

Projects for summer 2016

  1. Virtual Reality Development for Google Cardboard

    Virtual Reality (VR) is a technique for Interacting and exploring a computer-generated, three-dimensional environment in a seemingly real way. Until recently it has required expensive gear such as helmets or glasses fitted with miniature screens to provide the user an immersive experience. However, with a low-cost platform called Google Cardboard, users can replicate the experience of a VR environment using a smartphone and an inexpensive fold-out cardboard viewer.

    This internship offers the student the opportunity to design and develop a Google Cardboard VR app for exploring and manipulating Earth science data by displaying 3D scenes with binocular rendering on a smartphone. The app will run on an IOS and/or Android device and deliver an interactive, immersive experience to help engage and educate the user about the geosciences and NCAR research.

    Skills/qualifications: Creativity, imagination, and experience with 3D visualization and/or game design. Experience with software development. Graduate studies in computer science, physical science, or math. Experience with Javascript. Experience developing apps for IOS and/or Android devices using the Android and/or Unity SDK.

    Back to top

  2. Computer vision techniques for assessing differences between climate-model simulations

    It is common for climate and weather models to be based upon a rectangular computational grid. Such grids may be thought of abstractly as pixels of an image, and thus are potentially amenable to analysis via computer vision and other image processing techniques. This project will be an exploratory effort to determine the effectiveness and utility of a specific computer vision task - image similarity analysis – in evaluating (dis)similarities across different climate-model simulations.

    The Climate Variability Diagnostics Package (CVDP; https://www2.cesm.ucar.edu/working-groups/cvcwg/cvdp) was developed at NCAR to facilitate the evaluation of climate variability among large numbers of model runs. It computes dozens of key variability metrics, and can generate hundreds of output files and images. Some interesting questions about the output include: which model simulations behave most like/unlike the observational data; are certain models consistently good/bad at reproducing observed variability, or do they vary by specific metric. Performing image similarity analysis on the output grids may be a unique means of answering these questions.

    At scale, in the context of the CVDP, such analysis would involve processing large amounts of data. However there are several opportunities for exploiting parallelism, particularly via task-parallelism and GPU computing. Many of the requisite components exist already; for the successful candidate, this project will be a programming-centric effort to tie them together into a potentially new and novel analysis tool for the climate sciences.

    Required Skills/Education: Solid programming skills in C/C++, Java or Python are essential, as is some modest experience with GPU programming. Additional preferred skills would include some experience working with computer vision methods, wavelets, OpenCL and NetCDF. This project is suitable for either undergraduate or graduate students.

    Back to top