simonsobs / simonsobs/scheduler

Suboptimal az path is chosen in some cases

Open
#75 2 comments 0 reactions 0 assignees View on GitHub

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

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.