Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

The "fiberassign" wrapper script is missing options, which breaks tutorials #260

Open
tskisner opened this issue Mar 18, 2020 · 2 comments

Comments

@tskisner
Copy link
Member

There are many options accepted by the fba_run and fba_merge_results commandline entry points. Recall that these are separate tools because fba_run is calling threaded C++ code internally, while fba_merge_results is holding many GB of input target data in python shared memory while using python multiprocessing to merge this target data into the output files in parallel.

The fiberassign wrapper script was designed to have a backwards compatible interface to the legacy python wrapper around the old fiberassign code. This script does not accept the full set of options used by the underlying tools.

By default the fiberassign tools use the "current" hardware model from desimodel. The current model is now tracking the as-used positioner geometry and restricted angles of motion. This is good! However, for testing and instructional purposes it is useful to specify the fba_run option (--rundate) to ensure that an older "nominal" model is loaded.

However, the fiberassign wrapper script does not implement this option. So that wrapper only works with whatever the current real hardware configuration is in desimodel. This breaks the expected results in the fiberassign tutorial notebooks.

I think there are 2 options:

  1. Remove the fiberassign wrapper altogether.

  2. Make this wrapper a full-fledged part of the tools:

    • move this wrapper into the scripts subpackage similar to the other tools, so that it can
      be called directly from python without using subprocess calls.
    • Support all relevant options used by fba_run and fba_merge_results

After one of these paths is chosen, modify the tutorials and any other places where consistency is expected so that an explicit rundate (e.g. 2020-01-01) is passed to the fiberassign code.

@tskisner
Copy link
Member Author

As a temporary workaround to this, I'll just implement the --rundate option to the fiberassign script. This option is currently listed in the parser, but does not do anything.

@tskisner
Copy link
Member Author

Ah, actually nevermind- the "workaround" is already in place, and only the tutorials git repo needs updated. I still feel that the the bigger picture of this issue remains, so will leave it open until that is resolved.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant