tag:blogger.com,1999:blog-25060932240233575522023-06-20T21:26:30.380-07:00Scheduling in AstroplanKarlhttp://www.blogger.com/profile/10010558618903882661noreply@blogger.comBlogger9125tag:blogger.com,1999:blog-2506093224023357552.post-49828166722463831742016-08-19T21:42:00.002-07:002016-08-26T11:28:44.785-07:00Cleaning Up and DocumentingThis is my final blog for the Google Summer of Code, wrapping up the work that I did for it.<br />
<br />
Astroplan has been fantastic to work on. Over the summer we have implemented a scheduling module complete with tests and documentation. I have written and fixed code all over the package, some of which got added and some of it was rejected or required further modification. The code that I wrote can be found here: a <a href="https://github.com/astropy/astroplan/pulls?utf8=%E2%9C%93&q=is%3Apr%20author%3Akvyh%20">list of my pull requests to astroplan</a>, and a <a href="https://github.com/astropy/astroplan/commits/master?author=kvyh">list of commits that were in the accepted PRs</a>. As a part of the documentation I wrote a tutorial on how to use the scheduling module that can be found in the <a href="https://astroplan.readthedocs.io/en/latest/tutorials/scheduling.html">astroplan documentation</a>.<br />
<br />
I am planning on continuing to work on astroplan after the Summer of Code ends, especially working on improving the scoring and scheduling currently in place.Karlhttp://www.blogger.com/profile/10010558618903882661noreply@blogger.com0tag:blogger.com,1999:blog-2506093224023357552.post-39958135591321875222016-08-08T15:01:00.000-07:002016-08-08T15:02:52.721-07:00Many Merges into AstroplanDuring the past two weeks, a lot of PRs were merged into astroplan (17 as of today, 5 of which are mine). These have moved astroplan over to astropy 1.2.1, made <a href="https://github.com/astropy/astroplan/pull/165">Constraint outputs more consistent</a> and added <a href="https://github.com/astropy/astroplan/pull/185">new functionality and bug-fixes</a>, and <a href="https://github.com/astropy/astroplan/pull/207">condensed a few methods</a>, in the Scheduling module. It has been really cool seeing all the different people adding to the package and trying to make it better.<br />
<br />
My focus is now more heavily on <a href="https://github.com/astropy/astroplan/pull/203">writing tests</a>, documentation, and <a href="https://github.com/astropy/astroplan/pull/218">tutorials </a>as I get closer to the end of the Google Summer of Code. I'm looking forward to continuing to work on astroplan after the Google Summer of Code ends.Karlhttp://www.blogger.com/profile/10010558618903882661noreply@blogger.com0tag:blogger.com,1999:blog-2506093224023357552.post-10096204908901529622016-07-20T12:22:00.002-07:002016-07-20T12:22:43.342-07:00Scoring and Scheduling ConstraintsMy work during the last two weeks has been on writing a separate scorer as well as writing the scheduling constraints that will allow a scheduler to group blocks together. I also would really like to see the features included in Stuart Littlefair's <a href="https://github.com/astropy/astroplan/pull/190">work</a> be able to be merged into the astroplan master, and so I've been trying to work on finding the issues preventing the <a href="https://github.com/astropy/astroplan/pull/177">package template update</a> from being merged. There are still some issues left that I am not sure how to fix, which may partially result from my attempt at fixing it.Karlhttp://www.blogger.com/profile/10010558618903882661noreply@blogger.com0tag:blogger.com,1999:blog-2506093224023357552.post-33713617747615160872016-07-07T16:12:00.001-07:002016-07-07T16:12:23.823-07:00Update in directionA large portion of the <a href="https://github.com/astropy/astroplan/pull/185">work I have done so far</a> has been improving and fixing bugs with the schedulers that are currently in Astroplan. From conversations with mentors and from feedback on my <a href="https://github.com/astropy/astroplan/pull/178">straw-man API</a> that I wrote for how a user should be able to interact with the schedulers, where conversation is still ongoing and feedback welcome, we have realised there a some things that the current schedulers really cannot support. The most common part is allowing a user to designate multiple observing blocks that need to observed consecutively or during the same night. Looking forward I will be working on making the code reflect the straw-man API and making the scheduling more extensible.Karlhttp://www.blogger.com/profile/10010558618903882661noreply@blogger.com0tag:blogger.com,1999:blog-2506093224023357552.post-61459618562687783722016-06-24T13:05:00.001-07:002016-06-24T13:05:13.557-07:00Implementing a ScheduleOne week ago the <a href="https://github.com/astropy/astroplan/pull/151">work that had been done</a> by Stephanie Douglas and Erik Tollerud was merged into astroplan. I made a straw-man API for scheduling in astroplan, partially based off their work, and submitted it as a <a href="https://github.com/astropy/astroplan/pull/178">proposal PR</a> to get feedback on what makes sense and what should be added/changed to the way that users will interact with the schedulers.<br />
<br />
Most of my work this week has been on creating a Schedule class that would provide a consistent format for the output of the schedulers. This process required modifying the schedulers to use the Schedule class. During my modifications I found, and fixed, a couple of bugs in their code that were causing faulty results. I also started writing the body of tests that will be needed to make sure each part of the scheduling is working properly. My PR for the changes can be found <a href="https://github.com/astropy/astroplan/pull/182">here</a>.<br />
<br />
Looking forward, I'm going to be working on the scheduling to make it more flexible and extensible. The first step for that will be allowing a user to input multiple targets that must be observed in succession, and the code being able to handle that properly.Karlhttp://www.blogger.com/profile/10010558618903882661noreply@blogger.com0tag:blogger.com,1999:blog-2506093224023357552.post-89293018519305690372016-06-17T12:12:00.003-07:002016-06-20T12:57:53.970-07:00Getting feedback and planningThis last week has been a productive one for me, in coding, communication and understanding the underlying framework used in astroplan. My mentors mentors Eric Jeschke, Brett Morris, and Erik Tollerud have helped me in coming up with tasks that give me a better understanding of the code and expectations while adding to astroplan. The main piece of work that I did is on a <a href="https://github.com/astropy/astroplan/pull/174">constraint</a> that distinguished between dark grey and bright time. While writing it, I gained a better understanding of how constraints are used in astroplan and how to write tests for them. The comments on that, and a <a href="https://github.com/astropy/astroplan/pull/175">doc page for terminology</a> that we use have, helped me understand the importance of communication is for this project. There are many other astronomers who have a better understanding of syntax and expectations than I do who can help me understand when an error occurs or a description is ambiguous.<br />
<br />
I'm starting work on the scheduling side of things and my first task was to write out how I would imagine working with the scheduler would look like. Right now it looks like <a href="https://github.com/astropy/astroplan/pull/178">https://github.com/astropy/astroplan/pull/178</a>, though it might change from feedback and discussion. At the code level, I'm starting to work on creating a schedule class that the schedulers can interact with.Karlhttp://www.blogger.com/profile/10010558618903882661noreply@blogger.com2tag:blogger.com,1999:blog-2506093224023357552.post-36378504114595929222016-06-09T11:29:00.001-07:002016-06-09T11:29:44.489-07:00Gitting startedGetting started working on astroplan has been a mix of reading up on work people have already done (<a href="https://github.com/astropy/astroplan/pull/137">https://github.com/astropy/astroplan/pull/137</a>, <a href="https://github.com/astropy/astroplan/pull/151">https://github.com/astropy/astroplan/pull/151</a>), brainstorming scheduling styles, planning using astroplan, and figuring out how git works. Working with git has been interesting and being told what to do by Brett Morris and by Github has been very useful in learning the flow of pulling, branching, committing, pushing etc. I'm looking forward to start coding in earnest as a developer.Karlhttp://www.blogger.com/profile/10010558618903882661noreply@blogger.com1tag:blogger.com,1999:blog-2506093224023357552.post-13841859576789793172016-05-14T21:20:00.002-07:002016-05-14T21:20:51.898-07:00Community Bonding UpdateI've been enjoying observing the Astropy mailing list, the two main threads that have interested me are about NDData with LSST and the freezing of features in preparation for the next Astropy version's release. The conversation with NDData and LSST has gone into if/why backwards compatibility is needed in certain parts of NDData and if that outweighs the benefits of having code that is compatible with the needs of LSST. The conversation has also gone over what other methods LSST could use that would satisfy their needs without requiring fundamental changes to NDData. With the feature freeze there is a lot of talk about the process of adding to and maintaining Astropy and the tests that features have to pass before they can be added to the main Astropy package. It also gives an interesting look into the development cycle of a Python package, how for a release each part of it has to be fully functional and consider the changes that have been made to the rest of the code base in the case that a function has been changed in a way that is not backwards-compatible.<div>
<br /></div>
<div>
Another cool part has been watching the Facebook group created by and for this year's GSoC interns. The community is very open and willing to help on coding as well as meet up with other local interns.</div>
<div>
<br /></div>
<div>
Related to my project, I've been looking through the current code and documentation for Astroplan for what I can use and add to during my project.</div>
Karlhttp://www.blogger.com/profile/10010558618903882661noreply@blogger.com1tag:blogger.com,1999:blog-2506093224023357552.post-26516814008448949012016-03-24T11:13:00.001-07:002016-03-24T19:11:00.279-07:00This blog is for GSoC 2016I plan to work on the Astroplan package within Astropy.Karlhttp://www.blogger.com/profile/10010558618903882661noreply@blogger.com0