Skip to content

GSoC 2017 swapsha96

Nabil Freij edited this page Feb 22, 2024 · 3 revisions

Organization: OpenAstronomy

Sub-Organization: SunPy

Personal Information

Full Name: Swapnil Sharma

Time zone: UTC + 5:30

Github and Bitbucket ID: @swapsha96

Education

Institute: Indian Institute of Technology, Mandi

Current year: UTC+5:30

Graduation year: 2019

Degree: Pursuing B.Tech in Computer Science and Engineering

Interest in OpenAstronomy

Open Astronomy is collaboration of 8 organizations that develops tools for different aspects on astronomy, which is giving an opportunity to explore possible contribution which lines up my childhood passion in the field of Astronomy and adult interests in Compute Science together. With advent of powerful data collection, its analysis is of prime importance. This is enabling teachers, students and many other astro-enthusiasts to access to data collected over a stretch of time by outstanding observatories and instruments. The organization is giving aspirant Python developers like me to work with lead developers and ginormous developer community.

Sub-organizations like SunPy are developing free alternative tools to the SolarSoft data analysis environment which is based on the IDL and IDL is quite expensive. It is a privilege to contribute in a community-led free and open-source software in the field of astronomy. Open Astronomy, along with Google Summer of Code, is giving a good platform for me to enhance my skill & Knowledge as well as personal Growth. After my graduation, I look forward to my masters in a similar field and make some meaningful strides towards developing something useful for a long run that can reach masses and make a difference.

Sun, Right Now

Summary

“Sun, Right now!” requires the combination of multiple parts of the SunPy library to combine them all and together with a flask (or similar) application to visualise real time and past images of the sun on a website. I wish to work in the field of Data Analysis and Visualization sedulously.

This project involves analysing the data obtained from prominent observatories and instruments and I wish to continue it further to build something concrete for the use of masses. The realization that anyone can analyse solar data from anywhere, profoundly attracted me the most.

Currently I am working on Space Telescope Science Institute, Maryland (STScI) project, 3D-HST data extractor and API interface with Dr. Ivelina Momcheva (Mentor) and Mr. Ayush Yadav (full stack developer). During this project I worked on development of new API endpoints for single object search and developed a web interface for displaying the information of the objects in the catalogue. I also used various libraries like Astropy, Numpy, and Matplotlib to provide a stamp size picture of the object from actual 3D-HST observations from FITS files (see example). Other tasks involved using jQuery for real-time JSON requests, and querying cone-search, near-position and object search from database. The project is still under development which can be visited here and will soon be made open source. I used Python, Javascript, AJAX, Flask and PostgreSQL in this project. This set of skills align with the SunPy project requirements. I think my hands-on experience with Python libraries, intermediate front-end development and relational database will help me in better understanding and to attain the objectives of the project.

Current Progress

  1. I have started familiarizing myself with Sunpy.net and Sunpy.map following its documentation and its application with other Python libraries.
  2. I have also forked the repository from master branch and started going through the codes of SunPy. I have been playing with the code, trying to explore different code section.
  3. I have been working on how to make modular Flask application with SunPy and other Python libraries.

Proposed Timeline

May 5 - May 30: Community Bonding

  • To familiarize myself with the code and implementation of AstroPy and SunPy along with Flask framework.
  • To study testing, documentation (Docstring Convention) and coding standards that Open Astronomy follows.
  • To be in constant touch with my mentor and discuss and finalize on any modifications in the roadmap for the project.
  • To standardize all the documentation requirements.

May 30 - June 10: Student works on their project

  • To list all the features and objectives.
  • To get review and feedback on the list prepared.
  • To classify features based on accessibility and different parts of SunPy used.
  • To finalize initial website front-end wireframe from mentors.
  • To discuss and decide database structure and design to store missing data sources and solar image metadata.
  • To get review and feedback from the mentors.
  • To identify all the work to be done and finalize the timeline.

June 11 - June 25

  • To set up project virtual environment and install all required libraries using PIP.
  • To set up database and start writing scripts to add missing data sources like DISCOVR.
  • To start flask web application development and create static and template files following modular schema.
  • To be in constant touch with my mentor and discuss and finalize on any modifications in the roadmap for the project.
  • To standardize all the documentation requirements.

June 26 - June 30: First Evaluations

July 1 - July 15: Students continue coding

  • To work on displaying latest images and solar data using SunPy and other libraries.
  • To work on real time solar data by using jQuery AJAX and plugins to visualize data.
  • To write database queries to store these metadata of the images.
  • To write separate error handling modules.

July 15 - July 24

  • To continue developing endpoints using parts of SunPy library.
  • To improve web application to meet wireframe.
  • To complete data validations, error handling and testing.
  • To seek review and feedback.
  • To complete any missing documentation requirements.

July 24- July 28: Second Evaluations

July 28 - August 10: Students continue coding

  • To improve the required features to meet specifications desired.
  • To work on visualization annotations.
  • To improve front-end to make it more user friendly.
  • To complete documentation for each of the features developed.

August 11 - August21

  • Buffer time has been kept for any unpredictable delay.
  • August 21 - August 18: Students Submit Code and Evaluations
  • August 29 - September: Mentors Submit Final Evaluations

Participation

  1. Progress would be reported to mentors on a weekly basis and discussion for next week would be done in advance.
  2. The code would be reviewed as soon as a particular module is completed.
  3. Constant connection on IRC channels and mailing lists will be maintained for doubts and suggestions.

Schedule Availability

Preferred working hours: (Indian Standard Time)

5PM to 3AM : Before June 10

10AM to 11PM : June 10 - August 05

5PM to AM : After August 05

Other commitments:

Before June 02 : College will take 15 hours per week

June 02 - June 09 : Final semester examination

June 10 - August 05 : Summer break and no other commitments

After August 05 : College will take 15 hours per week

Github issues and pull requests

Unable to run sunpy.net.helio.HECClient().get_table_names(...) in Py3.x #2043

Map units parameter is None #1753

Error handling in break_time

Clone this wiki locally