simonsobs / simonsobs/scheduler
Suboptimal az path is chosen in some cases
Nobody has claimed this yet.
- Dominant language
- Python
- Stars
- 0
- Forks
- 1
- Avg merge
- 12h 45m
- Merged PRs (30d)
- 6
Description
The function recur is intended to find the best az values (taking into account branch options and sun avoidance) at which to run each operation.
I suspect this function isn't implemented correctly. The example in https://github.com/simonsobs/scheduler/issues/73 shows one consequence of the implementation -- the scheduler injects a move_to(az=52.0) unnecessarily; I think it could have just stayed at az=218 (or so) to do the bias_step. This happens because of some interaction with sun avoidance -- but I am finding it difficult to tell what the purpose of the function is, precisely.
I hereby request, for this specific az path optimization:
- unit tests (including a test that exposes the failure observed in #73, before it gets solved)
- clearer docstrings that state what the purpose of the function is (i.e. the problem it is solving / the metric it is using to optimize) and thus what the criteria for a successful test would be
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with recur in src/schedlib/policies/stages/build_op.py around line 688, then review issue #73's example and the branch-option context in issue #74. Reproduce the unnecessary move_to(az=52.0) behavior and determine the function's intended optimization metric. Add unit tests, including a regression test for #73, and clarify the docstring so the success criteria are explicit.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- backend, testing
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 30/100