{"id":22753617,"url":"https://github.com/slaclab/lcls-live","last_synced_at":"2025-04-14T15:30:50.876Z","repository":{"id":36072198,"uuid":"201967282","full_name":"slaclab/lcls-live","owner":"slaclab","description":"Tools for running the LCLS live accelerator models","archived":false,"fork":false,"pushed_at":"2025-02-28T18:38:11.000Z","size":22571,"stargazers_count":4,"open_issues_count":1,"forks_count":8,"subscribers_count":6,"default_branch":"master","last_synced_at":"2025-04-06T04:59:42.031Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"https://slaclab.github.io/lcls-live/","language":"Jupyter Notebook","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/slaclab.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2019-08-12T16:22:58.000Z","updated_at":"2025-02-28T18:37:04.000Z","dependencies_parsed_at":"2023-02-17T10:00:43.440Z","dependency_job_id":null,"html_url":"https://github.com/slaclab/lcls-live","commit_stats":null,"previous_names":[],"tags_count":7,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/slaclab%2Flcls-live","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/slaclab%2Flcls-live/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/slaclab%2Flcls-live/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/slaclab%2Flcls-live/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/slaclab","download_url":"https://codeload.github.com/slaclab/lcls-live/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248906368,"owners_count":21181165,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-12-11T06:12:12.906Z","updated_at":"2025-04-14T15:30:50.843Z","avatar_url":"https://github.com/slaclab.png","language":"Jupyter Notebook","funding_links":[],"categories":[],"sub_categories":[],"readme":"# LCLS-Live\n\nTools for setting up the LCLS live models. \n\n## Documentation\n\nhttps://slaclab.github.io/lcls-live/\n\n## EPICS proxy\n\nThis is to facilitate caching of EPICS values and offline usage. Basic usage:\n\n```python\nfrom LCLS.epics import epics_proxy\nepics = epics_proxy('data/epics_cache.json')\n\nval = epics.caget('some_pv_name')\n\nvals = epics.caget_many(['pv', 'name', 'list'])\n```\n\n## Tao tooling\n\n`lcls-live` is packaged with a command line tool for generating tao commands from live or archived EPICS process variables. This command may be executed using epics:  \n\n``` $ get-lcls-live --tao --beampath cu_hxr --source epics \u003e cmd.tao```\n\nAnd with archiver:\n\n``` $ get-lcls-live --tao --beampath cu_hxr --source archiver --isotime '2021-04-21T08:10:25.000000-07:00' \u003e cmd.tao```\n\n\nAt present the tool accomodates `--tao` or `--bmad` options for generating commands, `--beampath cu_hxr` or `--beampath cu_sxr`, `--source archiver` or `--source epics`.\n\n\n### Epics remote environment\n\nAccess to production process variables requires setting of the `$CA_NAME_SERVER_PORT`, `$LCLS_PROD_HOST`, and `$SLAC_MACHINE`. The utility script `configure-epics-remote` is installed with `lcls-live`. The script will perform forward local connections to the `$CA_NAME_SERVER_PORT` to the `$LCLS_PROD_HOST` via a double hop ssh and will required entry of your SLAC password. The process will run in the background and will require manual kill, identifying the pid with `ps aux |grep ssh`.\n\n```$ configure-epics-remote```\n\n### Remote archiver environment\n\nThe remote archiver requires an ssh tunnel, which can be configured using the `configure-archiver-remote` script installed with lcls-live. This should be executed in a separate shell from the Tao command and the process allowed to continue for the duration of archiver use. The script requires setting the `$SLAC_ARCHIVER_HOST` and `$SLAC_USERNAME` environment variables. \n\n```$ configure-archiver-remote```\n\n\n## Datamaps \n\nA utility notebook for generating datamaps is provided in `developer/build_datamaps.ipynb`. This constructs relevant datamaps using the `pytao` Tao interface and requires setting the `$LCLS_LATTICE` and `$ACC_ROOT_DIR` \n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fslaclab%2Flcls-live","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fslaclab%2Flcls-live","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fslaclab%2Flcls-live/lists"}