Sunny Days

High-Level Project Summary

Developed a mobile application to graphically display information collected by NASA's POWER web services portal in a more convenient and user-friendly fashion. Achieved the main challenge of displaying 8 metrics associated with sunshine and solar energy to the general public in the form of time-series graphs. Our app requests the user's location or user-specified lat/long coordinates, a start and end date, and a temporal resolution as precise as "hourly" and as broad as "annually".The app also provides a set of definitions for the parameters selected for ease-of-understanding and has the ability to select multiple parameters simultaneously, producing multiple graphs.

Detailed Project Description

Technical Details


https://github.com/josephsleiman16/sunny-days (code repository) 


Might need to disable CORS when trying to access the PORTAL data via our button "View Results". Can dsiable CORS with this chrome extension: https://chrome.google.com/webstore/detail/allow-cors-access-control/lhobafahddgcelffkeicbaginigeejlf?hl=en


============================================================================================


Video Demo


https://drive.google.com/file/d/1GO2sJC9kO2ba4yzDyCicDTI_oCVMsS11/view?usp=sharing


Project Description


We have developed a user-friendly mobile application that works on both iOS and Android, and also the web browser.


It allows the user to select the following parameters: a geographical location (longitude and latitude coordinates or a personal GPS location at the time of use); the meteorological parameters they want (Solar radiance, Cloud Coverage, Wind Speed, Precipitation Humidity, and many more); a start and end date; and a temporal resolution (hourly, daily, weekly, monthly or annually).


After the user's input request is received, the application will output a series of graphs matching the input of the user. This application solves the inherent difficulty in maneuvering about the NASA POWER portal by providing an alternative user friendly service that allows simple and quick access of up to 40 years of meteorological data, at any given location around the world, and creates a visualization of the data, allowing users of all age groups to understand it.


With this application we hope to aid users in their many pursuits; from those looking to help inform their purchase of a solar panel by assessing historical meteorological data at their home/specified area, to campers looking to track the previous year's weather trends (snow, cloud, rain, humidity and sun!) at the destination of their choice.


For this project, we used the JavaScript Ionic framework, which allowed us to make our mobile app cross-platform. We further used Chart.js to generate the graphs, and the data was fetched from NASA's POWER API. We also utilised the web application 'Miro' to plan out the weekend's tasks for each individual member and break down our problem into manageable chunks.

Space Agency Data

We used the NASA POWER (Prediction Of Worldwide Energy Resource) data service to access the data that is graphically displayed in our mobile application.


We interfaced with the POWER API by requesting a JSON object that satisfied the user request for:


  • temporal resolution
  • latitude
  • longitude
  • start date
  • end date
  • parameter(s)


This gave us the necessary information to plot (i.e. parameter values, parameter units, and corresponding dates)


The vast amount of information supplied by the POWER portal inspired us to find a way to make this database accessible to the wider public, providing them with interesting metrics for weather or energy purposes for the last 40 years at any point on Earth.

Hackathon Journey

SpaceApps provided us with a great framework for motivation through a very focused challenge to work on , allowing us to learn software and coding skills that we would not otherwise have practiced, including developing our first mobile application, and (for some of us) writing JavaScript for the very first time (console.log(":)")) .


We learnt how to:



  • write in JavaScript,
  • use the Ionic React framework
  • interface with an API
  • break down a problem into manageable chunks using different software and to-do lists (e.g. Miro) to effectively collaborate.


The conciseness and focus of the "You are my Sunshine" challenge was one of the main motivations to select it, as it had clear instructions, a database with a working API, and provided the challenge of developing our first mobile application.

References

Resources Used


. GitHub

. Visual Studio Code

. JavaScript

. Ionic React

. NASA POWER (Prediction Of Worldwide Energy Resource) data service

. Discord

. Miro

. Google

. Chart.js

Tags

#software development #ionic #renewables #apps #solar #CSS #sunny-days

Global Judging

This project has been submitted for consideration during the Judging process.