GithubHelp home page GithubHelp logo

Comments (4)

dkirkby avatar dkirkby commented on July 20, 2024

Flexible tile priorities are now implemented via a set of rules in a YAML file. These can either be left untouched (e.g., when running surveysims) or else adjusted any afternoon by the survey coordinator.

from desisurvey.

sbailey avatar sbailey commented on July 20, 2024

[apologies for commenting in one issue (#18) on a topic that I should have commented here...]

For BOSS we found it helpful to have a set of priorities that the survey coordinator could adjust that the automated algorithm would not override, on a tile-by-tile basis. e.g. to force a problematic tile to priority=0 and know it would be left there, or move a special tile to top priority until it was observed, even if the automated algorithm would have ranked it differently.

In the current scheme, the survey coordinator can update the global rules in the YAML file, but can that easily be done for individual tiles? They can also override it for an individual tile for an individual night via editing the plan.fits file, but that would get reset the following night, correct?

i.e. is there some easy way to set "sticky" priorities (low or high) on a per-tile basis?

from desisurvey.

dkirkby avatar dkirkby commented on July 20, 2024

I think the cleanest implementation is to extend the YAML syntax to support, e.g.

# Specify TILEID: PRIORITY pairs that override all other rules.
overrides:
  123: 0.0
  456: 99.9

I prefer this over a new mechanism since it simplifies record keeping (taking a snapshot of the rules each afternoon is sufficient to fully document how each night's priorities were set) and program logic (small perturbation to existing code and unit tests).

I guess tiles with an override directive should be removed from the group they would otherwise belong to, for the purposes of determining whether that group is "done"?

Note that the rules syntax already allows a group of tiles to forced to some priority. For example, adding the following to the top of the rules does what you would expect:

kill-sgc-pass0:
  cap: S
  passes: 0
  rules:
    kill-sgc-pass0(0): { START: 0 }

from desisurvey.

schlafly avatar schlafly commented on July 20, 2024

The tiles file includes a priority boost factor that is only changed by humans. That's enough to address anything we might want to do with it. We have not built much plumbing around it to make it easy to set priorities. If we end up setting a lot of special priorities, I'll put together such code. Closing this in the meantime as the base functionality exists.

from desisurvey.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.