-
Notifications
You must be signed in to change notification settings - Fork 2
GSoC 2017 Application Astropy astroquery Ayush Yadav: Adding additional archives to astroquery
Mentors: Adam Ginsburg, Brigitta Sipocz, P. L. Lim, Erik Tollerud
- Name: Ayush Yadav
- Time Zone: +0530 GMT
- IRC Handle@Matrix: ayadav
- Github Handle: AyushYadav
- Instant Messaging: Google Hangout [email protected]
- Blog: Medium
Institute | Course | Graduation Date | Grade/ Percentage |
---|---|---|---|
IIT Mandi | B.Tech (CSE) | 2017 | 8/10 |
CMS Lucknow | 12th (Intermediate) | 2013 | 95.25% |
CMS Lucknow | 10th (High School) | 2011 | 96.80% |
I will be graduating in June 2017 from In.
- University: Indian Institute of Technology Mandi
- Major: Computer Science and Engineering (CSE) for Bachelors of Technology (B.Tech.)
- Current year: 4th
- Graduation date: June 2017
- Degree: Bachelor of Engineering
- The issue was to refactor the angle parsing and use astropy to do this rather than astroquery itself. (#867). This PR dealt with refactoring and fixing the use astropy angle parsing directly rather than use astroquery for that purpose. Test modules and utils were changed in the process. Merged
- Fixed the Notes Issue in docstring of
IrsaClass
(#851). TheIRSAClass
had a reference to the notes which did not existed. Merged - Parallel query example fixed for the API documentation (#856). This PR dealt with fixing the API documentation which incorrectly showed the example for parallel queries. The issue was fixed and pycodestyle was used to implement a correct coding standard. Merged
- Fixing the documentation issue for Magpis with incorrect naming of variable. (#880). I raised a issue (#865) with
Magpis
documentaion while going through the code and fixed it in this PR. Merged
- This issue was created to add a new service to the astroquery module. (#853). A new service issue was created for the core dev team of astroquery to inform about the new possible service that can be included in the fold of astroquery. The module being discussed is 3D-HST Project. Open
My contributions to other repositories in the area of astronomical software development:
-
pyjs9
core modules had issues with installation because of incorrect tab sequences used while development. (#8). The__init__.py
had variable indentation because of some problems with emacs and that was causing the installation to fail. I found the issue and then fixed it in the above mentioned PR. Merged - I am the core developer of the API and Web Interface which is providing data access services to the astronomical community for the 3D-HST Project of Hubble. It is still in its development and testing phase but the entire codebase and repositories will be publically available upon completion. The raw data is already made public after the initial Hubble servey.
I use a Apple MacOSX environment for development and have been using it for the past 4 years. I am also familiar with Git, astroquery, astropy, anaconda and astroconda workflow.
I intend to work on the project - Adding additional archives to the astroquery modules. Few of the features that this project aims to do as follows,
- Analyze the current set of new services to be added to the astroquery module from(
Issue #226
) and finalyze a prioritize them. - Start developing the
core
querying module for the top priority service and then developtest
modules for extensive production level testing. - On successful completion of the new module it will be integrated with
astroquery
with proper and comprehensive documentation which are generated using the docstrings. - The above process will be repeated for the next archive in the priority list and completed in the similar fashion.
Currently if users want to get information on the archives that are not present in the astroquery modules, the user has to go to the respective archive webpage and has following ways :
- Download the raw archival data from the webpage and setup filtering processes to get the required specific data.
- If the archive has a API then the user has to write her/his own code to process the API response to get to exact object point.
- In case the archive has a web based access tool then the user has to download the search results for her/his use. This reduces the use cases when integrating with pipeline codes where processes have to occur with least user interference.
This process is cubersome and must be made as easy for astronomers so that they can focus more on research. Adding more important archives to the astroquery will enhance the ability of astronomer and astrophysicists to do cutting edge research with better tools that we can provide. Hence projects like these need to be motivated and increased.
astropy
, io
, matplotlib
, numpy
, etc. depending on the nature of the archives.
I intend to work on a few archives over the summer. I went through the New-Service issue in the astroquery repo. The MAST archive is one of the largest space telescope related archive but it has it’s own in house development team to develop the API and its integration with popular services including astroquery. The next important service that needs to be added to the module is NOAO, which is a archive of data taken in collection with 40 different telescopes and instruments around the world. In addition to raw data, pipeline-reduced data products from the DECam, Mosaic and NEWFIRM imagers are also available, as well as advanced data products delivered by teams carrying out surveys and other large observing programs with NOAO facilities. This is the broad area of this archive. The development phase can be broken down into following steps:
- Study
The in-depth study of the archives data access tools, its API (if any), its features that are of special use and other relevant use cases to be kept in mind while development.
- Development
After figuring out the actual version that needs to be added along with the queries. Start the development process and code the core module for the service in development. This will be inline with the coding conventions and standards followed. This also includes the docstrings which are used for creating user friendly documentation for our users.
- Tests
After the development phase, write a test module to check for the correctness and efficiency of the core. This will also help while integrating the module in the production build. The extensive testing will help clear out bugs and issues in the core module.
After this, we need to refine its documentation to cater for new user base that is going to use it. This will conclude one cycle of development. This cycle can be repeated to add another module from the issue list mentioned above.
Another aspect that came into light while working on the repo, project mentors Brigitta and Adam, pointed out that the current services also need work on the bugs in testing modules that have been in the codebase for quite long. One such bug is configuring and setting up remote testing units (#595) for some of the major API’s in the modules. Many of the services are not using assert cases correctly leading to false positives and in some cases the coverage is decreasing. This is an important issue that needs to be worked out soon.
A larger archival search base for astronomical querying systems by adding important archives and improving the current services by adding more features.
The currently distributed astronomical archival systems will have a one common place to query the most important aspects of the most important astronomical surveys conducted by the most important telescopes in and around the world. Currently SDSS, ESO-Archive and other important services of astroquery
are helping astronomers all around the world, both professionals and budding ones. The bigger the pool of these archives at one place, more is the usefulness of these open source projects to the development and progress of science.
I would be writing documentation, tests and doctests along with writing the code for the module proposed in the project. This would make sure that mentors are able to understand my ideas lucidly, to ensure correctness and ease of maintainability. I will open PR’s during the process to get reviews on my code to make sure the work heads in the right direction.
During the community bonding period, I would start the in-depth understanding of the modules that need to be implemented, in this case NOAO. I will also go through the codebase and documentation again to make sure I understand the small details of this project. The period will be used to understand the backend procedures that will help me code the query for the general use case. The mentors and the developer’s team of astroquery should look for general set of use cases that need to be implemented for astroquery. At the end of this bonding period a clear set of goals for the development procedure will be compiled.
The coding period will first be used to design the core modules for the NOAO archive. This will be clear set of four to five services inside the modules that are offered by the NOAO archive. The end of this development cycle will also require a docstring based documentation completed.
The first review period will require the test modules to be setup. After the tests during this period the first evaluation will conclude.
The results of the first test of the NOAO will help us clear out some basic bugs found and make necessary changes to the core modules. This period will also require a comprehensive guidelines and documentation to be completed for release. At this end of this week, code refactoring after reviews from mentors and contributors will be received and final changes will be completed at the end of this period.
During the second evaluation the build environment tests and integration will be tested and after minor changes (if any) the codebase will be altered to fit the environment. The module will be merged at the end of this evaluation, on success.
This period will be used to work on and implement the #595 issue. This is one of the key issues that needs to be taken care of because of its utility to a stable build in the later stages. The problem arises because the test modules are not clearly coded to make sure that the assert statements for unit tests are actually working. This will need to be worked out step-by-step with one API at a time in the module. The details and timeline for this will be as follows:
-> Start with the list in the issue page and select one from the top in order of their use.
-> For the first week work on two API’s and fix the test mechanism for these modules. (1 week)
-> Upon successful tests and integration, it can be reviewed and merged in the branch.
-> This process will continue for four weeks and hopefully by the end of this coding sprint I will be able to complete the most important modules with working test services as expected. (3 weeks) completing 8 most used modules of astroquery.
This is one of the issues that has been here in astroquery for a long time and will need to be solved soon for future stable releases.
This week will be used to take in the entire project and change any holes discovered up till this point and make some final revisions to the project in general for a smooth transition to a new release.
Mentors submit final project reports to Google.
Final results of Google Summer of Code 2016 announced.
Since I am a final year student and my semester end on 5th June, I’ll be totally free from any commitments after that. I have my job starting from September and hence gives me exactly three free months to work on this project. This will help me to give 40 hours per week easily and even more, if needed, as I will be free from any commitment during this period. I don't have any logistical issues as well, I am well connected to 24*7 access to high-speed internet
- I have not participated in GSoC before.
- I am not applying to any other organization except
OpenAstronomy
forastropy/astroquery
.
Hello. I am Ayush Yadav, a computer-geek, astro-geek, composition-and-literature-geek etc. Over the years I have learned many new things and have never shied away from exploring the unknown treading the unknown paths. I came to love computer science since my schooldays, I made myself better at it over the years and still consider myself a student so that I keep learning.
Astronomy was a mere hobby and passion for me because I could not pursue it as a career option, at least that was what I thought. But with my experience as summer student at Space Telescope, and the work that I did there using my Computer science skills, brought in me this revelation that I can be a part of this field without being an astrophysicist as I am good at something else and that can also help astronomy just the same. I was also granted a research grant as Co-I for the project ’A Deep Field Legacy Database’ ($17,580DDRF/$25,860JDF) PI-Momcheva from Space Telescope and Science Institute. This project in astroquery furthers the interest of this research project and astronomical data archival solutions in general.
In my free time I also debate in events and have won several competitions. I am also a keen observer of things around me and love to write when I see something that passes by our eyes everyday without any deep thought. My previous articles can be read here.
Yes, I am eligible to receive payments from Google. For any queries, clarifications or further explanation of any approach/feature feel free to contact me at [email protected] or alternatively at [email protected] and I will be happy to reply.