As part of making desisurvey.scheduler usable on the mountain, desisurvey.plan picked up some "simulate" blocks that are only used if surveysim calls the planner with the simulate argument.
It's unfortunate to have any "simulation" code in desisurvey proper. We could imagine moving much of the simulated fiberassignment scheme out of desisurvey and into surveysim, to keep desisurvey free of simulation items. In this case, surveysim would need to keep track of things like COUNTDOWN, which is used in simulating fiber assignment, instead of desisurvey.
As part of making desisurvey.scheduler usable on the mountain, desisurvey.plan picked up some "simulate" blocks that are only used if surveysim calls the planner with the simulate argument.
It's unfortunate to have any "simulation" code in desisurvey proper. We could imagine moving much of the simulated fiberassignment scheme out of desisurvey and into surveysim, to keep desisurvey free of simulation items. In this case, surveysim would need to keep track of things like COUNTDOWN, which is used in simulating fiber assignment, instead of desisurvey.