The current “project.py” script that is used by the liquid argon community to run analysis workflows, is actually a suite of python based scripts and libraries designed specifically to submit, monitor, and perform bookkeeping for LarSoft based physics analysis and simulation jobs. The redesign of the “project.py” infrastructure is to better meet the needs of the LAr community and the technical constraints and operational parameters of the Fermilab computing facilities, such as data storage and I/O.
The planned redesigned architecture of the project.py tool kit is a command line interface tool that makes use of the POMS system and API to schedule and submit work to the batch systems. The Project.py tool will allow the user to configure, submit, report and book keep analysis jobs in much the same manner as they are currently interacting with the system, but it will allow increased functionality in the form of more efficient recovery and resubmission of failed jobs and job sets. Under this model a slimmer code stack is required, since most of the functionality and interaction with the infrastructure/queue systems is off loaded to the POMS service and other standard SCD supported tools (e.g. SAM, Jobsub, Fifemon, etc…), while maintaining the same or a greater level of functionality for the end users.