Project 3 Write-up

Visual Encodings

Heatmap for Spatial Temperature Distribution

Line Graph for Time Series

Interaction Techniques

Development Process

Data Preprocessing

The first step was pulling from the AWS API using the s3 File System. We utilized this website to understand the channels available and how to path to them. After, we implemented a system that downloaded the dataset if we had never requested it prior or used the already local copy of the data set. This allowed for fast prototyping. Then we utilized xarrays to parse the large metadata sets to get the target variable, Land Surface Temperature (LST). Each product of the GOES18 dataset also includes information about the satellite trajectory to transform the data from the satellite axes to latitude and longitude. This required use of python projection packages. After transformation, we clipped the data to focus specifically around the lower 48 states of the US. Taking the mean of all the LST scans taken in a single day, we organized the coordinates and corresponding temperatures into static JSON files (one per day). The transformation was computationally expensive, so we tried reducing the resolution, but running the preprocessing script for ~4 hours only resulted in 129 days of parsed data.

Visualizations, Style, and Interaction

Alternate Considerations/Extras

Reflection

We spent around 8 hours for data preprocessing and 8 hours for javascript development. Other logistics took 2-3 hours (ie submissions, meetings, etc). Data preprocessing and javascript development took the most time equally. Data preprocessing was difficult considering the immense resolution of the GOES datasets, transforming and projecting geospatial data, and we had never worked with the AWS API before this. Developing the visualizations with d3 required a many rounds of debugging as each feature was adding. Many features are dynamically updated as the user interacts with the site, but this required global tracking of the current visible data and organization amongst exportable functions.

Member A handled preprocessing the data with python, pulling from the GOES API. They also initially implemented the heatmap, 'filter by day functionality', and json wrangling upon site initialization. Member B completed the remaining interactive elements: US overlay, time series time graph, dropdown menu, and hovering tooltip. Member C/D helped with brainstorming, attended meetings, and added final touches. This required constant communication about git deployments.