From 57912018129f76dc731730fdfcf05545b73c1374 Mon Sep 17 00:00:00 2001 From: Bruce Ravel Date: Tue, 19 Nov 2024 16:38:35 -0500 Subject: [PATCH] general editing + some formatting fun --- docs/_static/color.css | 10 +++++++ docs/automation.rst | 2 +- docs/commonchores.rst | 8 ++--- docs/data.rst | 32 ++++++++++++++++---- docs/desktop.rst | 20 ++++++------- docs/details.rst | 49 +++++++++++++++++++++++++++++- docs/instruments.rst | 2 ++ docs/intro.rst | 6 ++-- docs/kafka.rst | 49 +++++++++++++++++------------- docs/manage.rst | 10 +++---- docs/motors.rst | 2 +- docs/profile.rst | 67 ++++++++++++++++++++++++++---------------- docs/prolog.rst | 14 +++++++++ docs/proposal.rst | 17 ++++++----- docs/restore.rst | 61 ++++++++++++++++++++++++++------------ docs/trouble.rst | 10 +++---- 16 files changed, 251 insertions(+), 108 deletions(-) diff --git a/docs/_static/color.css b/docs/_static/color.css index 74dbc59..84b44e2 100644 --- a/docs/_static/color.css +++ b/docs/_static/color.css @@ -129,6 +129,16 @@ text-decoration: line-through; } +.bolditalic { + font-weight: bold; + font-style: italic; +} + +.smallcaps { + font-variant: small-caps; + color: #8f4800; +} + .it { font-style: italic; } diff --git a/docs/automation.rst b/docs/automation.rst index 3d88392..0d1bc27 100644 --- a/docs/automation.rst +++ b/docs/automation.rst @@ -241,7 +241,7 @@ was called :file:`mysamples`, the new BlueSky command is called .. admonition:: Future Tech! - Convert spreadsheets to Bluesky queueserver input. + Convert spreadsheets to Bluesky |qs| input. .. _sample_wheel_automation: diff --git a/docs/commonchores.rst b/docs/commonchores.rst index 97d5bc6..4f3fbf0 100644 --- a/docs/commonchores.rst +++ b/docs/commonchores.rst @@ -120,7 +120,7 @@ Once the hutch is secured and you are back at the computer: samples: ``RE(xafs_wheel.inner())`` and ``RE(xafs_wheel.outer())``. For other sample holders, move the appropriate sample stages. -#. To import the spreadsheet into bsui (the data acquisition program): +#. To import the spreadsheet into |bsui| (the data acquisition program): ``xlsx()`` You will be presented with a list of .xlsx file choices, pick the correct one by number and hit :key:`Enter`. You will then be presented with a list of tabs in the spreadsheet file, pick the @@ -130,7 +130,7 @@ Once the hutch is secured and you are back at the computer: #. The output of the ``xlsx()`` command will display the command for reviewing the file (the one with ``??``) and the command for running the measurement sequence (the one with ``RE( - ... )``). Check to make sure it looks like ``bsui`` correctly + ... )``). Check to make sure it looks like |bsui| correctly imported the information from the spreadsheet (you did remember to save the spreadsheet, yes...?), then start the measurements. @@ -285,7 +285,7 @@ Filling the 25 liter LN2 dewar the HMI panel. Push the door open manually. #. Open main LN2 valve. Use the button on the "06BM utilities" CSS - screen or at the bsui command line do ``ln2.open()``. + screen or at the |bsui| command line do ``ln2.open()``. .. _fig-utilities: .. figure:: _images/BMM_utilities.png @@ -336,7 +336,7 @@ Filling the 25 liter LN2 dewar hutch. #. Close main LN2 valve. Use the button on the "06BM utilities" CSS - screen or at the bsui command line do ``ln2.close()``. + screen or at the |bsui| command line do ``ln2.close()``. #. Press the :green:`Front Right Maglock` button. The green light should be on. Manually close the right hutch door. diff --git a/docs/data.rst b/docs/data.rst index 29e0ec9..d8a5f9c 100644 --- a/docs/data.rst +++ b/docs/data.rst @@ -230,7 +230,8 @@ Accessing data from the beamline computers Under the new data security regime, the beamline computer does not have normal access to your data. This is because all users run their experiment as the beamline operator. If the beamline operator |nd| -``xf06bm`` |nd| could see data, than any could look at anyone's data. +``xf06bm`` |nd| could see data, than any user could look at any other +user's data. Instead, data are stored on central storage with read permission granted to everyone named on the user proposal. In this way, data are @@ -241,7 +242,7 @@ To look at your data while at the beamline, do the following + Open a terminal window. Normally a terminal window with a white background is open on screen and intended for this purpose. - ``bsui`` is typically run from a window with a black background, so + |bsui| is typically run from a window with a black background, so the white background is meant as a visual cue indicating that it is the place for data access. @@ -258,7 +259,7 @@ To look at your data while at the beamline, do the following ``2024-2`` with the cycle of your visit and ``123456`` with your proposal number. -Athena can be launched from the command line. The best way to do this +|athena| can be launched from the command line. The best way to do this is to type .. code-block:: bash @@ -266,8 +267,8 @@ is to type dathena 2&>1 & at the command line. That incantation will suppress spurious screen -messages and put Athena into the background so you can continue using -the command line. From there, simply use `Athena's File menu +messages and put |athena| into the background so you can continue using +the command line. From there, simply use |athena|'s `File menu `__ to load data from your proposal folder. @@ -282,3 +283,24 @@ Accessing data via Jupyter -------------------------- .. todo:: Details needed + +Why is data security important? +------------------------------- + +For those who have been coming to NSLS-II over the last decade, this +new emphasis on data security might be a bit surprising. In short, +the new data security model is consistent with Department of Energy +data policies. + +Recently, there were a pair of incidents involving accidental leaks of +sensitive synchrotron data to unauthorized parties. This sort of +violation of DOE policy can have an impact on the authorization to +operate NSLS-II as a user facility. Safe operations of the facility +includes data security. + +As a result, our Data Science and Systems Integration team at NSLS-II +has been begun moving the beamlines to a data acquisition model that +includes sounds data security practices. BMM volunteered to be an +early adopter of the new data security practices. We now provide an +excellent user experience at BM that includes secure data management. + diff --git a/docs/desktop.rst b/docs/desktop.rst index ef41f5f..46e41ae 100644 --- a/docs/desktop.rst +++ b/docs/desktop.rst @@ -85,8 +85,8 @@ Data collection and visualization Data collection and visualization are separate things and should be managed separately. -On the main virtual desktop, open a terminal window for bsui. At the -command line type ``bsui``. ``bsui`` startup at BMM is rather +On the main virtual desktop, open a terminal window for |bsui|. At the +command line type ``bsui``. |bsui| startup at BMM is rather time-consuming, but after a couple minutes it is ready to go. @@ -100,7 +100,7 @@ plot workers as explained in :numref:`the section on Kafka workers :width: 80% :align: center - The tail end of the ``bsui`` startup messages and the + The tail end of the |bsui| startup messages and the command prompt. @@ -117,20 +117,20 @@ experiment: Workspace folder Note that there is a button on the icon bar at the bottom of the -screen for Hephaestus. +screen for |hephaestus|. -In the new data security regime, launching Athena as the beamline +In the new data security regime, launching |athena| as the beamline account (``xf06bm``) is not very helpful given that it cannot access the data. -If data are accessed by opening a terminal window and doing -``su - `` followed by authentication with password and DUO, -first ``cd`` to the proposal directory, the start Athena with this -command: +If data are accessed by opening a terminal window and doing ``su - +`` followed by authentication with password and DUO (see +:numref:`section %s `), first ``cd`` to the proposal directory, +then start |athena| with this command: .. code-block:: bash dathena > /dev/null 2>&1 & -That will open Athena and suppress the large stream of uniteresting +That will open |athena| and suppress the large stream of uniteresting warning messages from the graphics tool kit. diff --git a/docs/details.rst b/docs/details.rst index a1e6ac6..cb243df 100644 --- a/docs/details.rst +++ b/docs/details.rst @@ -16,6 +16,44 @@ This section is a scattershot assortment of details about things at the beamline. This is basically an attempt to capture institutional knowledge ... someplace. +Network configuration +--------------------- + +When introducing a new device to the beamline network: + ++ Open a Jira ticket to request a new IP address and device name for + DNS. As an example, a new Moxa terminal server was introduced. In + the Jira ticket, we requested an IP address of 10.68.42.83 and a DNS + entry of ``xf06bm-tsrv13`` (full name: + ``xf06bm-tsrv13.nsls2.bnl.local``). + ++ In the case of a device that one in s series of similar devices, be + sure that the name matches the similar devices and that the number + is incremented. In the case of the new Moxa server, there are 12 + others at the beamline. The numbers were incremented correctly for + both the name and the IP address + ++ Identify a port on one of the servers that is available and + configured for the correct network. The networks are: + + + **SCI** (650): 10.68.40.xxx + + **CAM** (651): 10.68.41.xxx + + **INST** (652): 10.68.42.xxx + + **EPICS** (653): 10.68.43.xxx + +When configuring an individual device, here are the network configurations: + ++ The gateway address on each network is ``xz.yy.zz.2``. For example, + the gateway on the SCI network is 10.68.40.2. + +* The netmask is ``255.255.255.0``. + ++ There are two DNS servers: + + + DNS1: 10.65.2.25 + + DNS2: 10.65.2.26 + + xf06bm-ws5, in-hutch Zoom calls ------------------------------- @@ -90,6 +128,13 @@ Needle valves are mounted on the outboard side of DM3. Quick connect outlets for the gases are mounted on the upstream/inboard corner of the XAFS table. +.. admonition:: Gaseous nitrogen supply + :class: note + + BMM no longer uses a nitrogen cylinder as the supply of N\ :sub:`2` + for the ion chambers. The house GN2 supplies N\ :sub:`2` to the + needle valves. + .. _fig-inertgas: .. figure:: _images/Gas_handling.png :target: _images/Gas_handling.png @@ -185,13 +230,15 @@ pointed to in databroker. See: Pilatus 100K ------------ +.. todo:: Need to flesh this out with explanatory text and screenshots + How files saving works ~~~~~~~~~~~~~~~~~~~~~~ + tiff files to /disk2 + /disk2 is mounted on xf06bm-ioc1 + tiff and hdf5 AD plugins write files to proposal directories -+ in bsui, there are pilatus and pilatus_tiff objects. normally use ++ in |bsui|, there are pilatus and pilatus_tiff objects. normally use pilatus, puilatus_tiff is helpful for testing tiff file writing, which is used by IBM diff --git a/docs/instruments.rst b/docs/instruments.rst index 914ff6a..352cd4d 100644 --- a/docs/instruments.rst +++ b/docs/instruments.rst @@ -9,6 +9,8 @@ .. _instruments: + + Beamline instrumentation ======================== diff --git a/docs/intro.rst b/docs/intro.rst index 90e10a1..d8e5ebf 100644 --- a/docs/intro.rst +++ b/docs/intro.rst @@ -15,7 +15,7 @@ Introduction to BMM BMM is NIST's :red:`B`\ eamline for :red:`M`\ aterials :red:`M`\ easurement. At the unix command line, type ``bsui`` to start the BlueSky user -interface. bsui is simply an `Ipython shell `_ +interface. |bsui| is simply an `Ipython shell `_ with some customizations specific to BlueSky. On top of that, there are a number of customizations specific to BMM. @@ -66,7 +66,7 @@ Essential links The user experience ------------------- -The Ipython/bsui prompt at BMM is modified to provide at-a-glance +The Ipython/|bsui| prompt at BMM is modified to provide at-a-glance information about the state of the beamline. .. _fig-prompt: @@ -86,7 +86,7 @@ information about the state of the beamline. Si(111) monochromator (Section %s) ` is in use. * The green number in square brackets is an incremented count of how - many commands have been issued since ``bsui`` was started. + many commands have been issued since |bsui| was started. * If the prompt starts with three red exclamation points |nd| something like diff --git a/docs/kafka.rst b/docs/kafka.rst index d661e12..026a1e0 100644 --- a/docs/kafka.rst +++ b/docs/kafka.rst @@ -17,7 +17,7 @@ visualization. Prior to that, BMM was using a modified version of Bluesky's `LivePlot `__. With the advent of BMM's use of `BlueSky queueserver -`__ alongside bsui, we +`__ alongside |bsui|, we had to rethink how plots were made. In short, a Kafka client was developed to manage real-time @@ -30,9 +30,9 @@ requested. The worker then parses event documents and adds data points to the real-time plots. In May 2024, data security upgrades were implemented at BMM. The -upshot of this new data security regime is that the bsui or qs process +upshot of this new data security regime is that the |bsui| or qs process is not able to write data to the proposal directory on central -storage. Moving all data file output from the bsui profile to a new +storage. Moving all data file output from the |bsui| profile to a new Kafka worker gave us a path forward. The workers can be run with adequate privilege to write to central storage. @@ -115,8 +115,8 @@ Note that you must be beamline staff to run the system services. A beamline user will not be able to execute the second and third steps above. -Once all three workers are running, you are ready to start bsui or -queue-server and begin collecting data. +Once all three workers are running, you are ready to start |bsui| or +|qs| and begin collecting data. .. _fig-consumer: @@ -152,26 +152,25 @@ Many applications can subscribe as producers and many applications can subscribe as consumers. In the case of BMM, there are two possible producers of messages |nd| -bsui and queue-server. At BMM, there are three consumers |nd| the +|bsui| and |qs|. At BMM, there are three consumers |nd| the three listed above. The consumers are in separate processes, thus can act upon messages in parallel. Because the Kakfa message bus is involved, actions can be taken by consumers on messages asynchronously with the producer of the -messages. This means, for instance, that bsui can carry on with data +messages. This means, for instance, that |bsui| can carry on with data collection and let the file worker take care of the details of writing files. -This is, admittedly, a lot more complicated than just having bsui +This is, admittedly, a lot more complicated than just having |bsui| handle all those chores by itself. But this complication pays off in two very significant ways: -#. The plot worker makes plots regardless of whether bsui or - queue-server is running the experiment. Since queue-server is - probably not running on the beamline workstation, that is very - handy. +#. The plot worker makes plots regardless of whether |bsui| or |qs| is + running the experiment. Since |qs| is probably not running on the + beamline workstation, that is very handy. #. The workers run as systemd processes are able to write files to the - secure proposal directory. Neither bsui nor queue-server are run + secure proposal directory. Neither |bsui| nor |qs| are run with adequate privilege for that. @@ -276,6 +275,11 @@ the output data file. Live areascan plots ~~~~~~~~~~~~~~~~~~~ +.. todo:: + + Explain this in words. Explain how the contour plot is made at the + end of the scan. + .. code-block:: python kafka_message({'areascan' : 'start', @@ -363,7 +367,7 @@ manner. :align: center An example of the final plot for an alignment of the *ex situ* - sample wheel. The green X marks shows the aligned positions in + sample wheel. The green X marks show the aligned positions in ``xafs_x`` and ``xafs_y``. @@ -387,6 +391,11 @@ linescan plots, but with some additional considerations: Panel for live |chi|\ (k) plots, begin plotting this panel, say, 60 eV above the edge. + +.. admonition:: Future Tech! + + Plot electron yield data in a consistent, maintainable manner. + Like with the linescan, the plot begins with a message issued to tell the consumer to begin preparing for an XAFS plot and providing enough information to make that plot. This ``start`` message is issued at @@ -438,14 +447,12 @@ of transmission |mu| (E), I\ :sub:`0`, and the reference spectrum. :align: center An example of the XAFS live plot made for a fluorescence XAFS scan. + This is a somewhat old example. I\ :sub:`0` is now normalized by + the dwell time, thus is plotting in units of nanoamperes rather than + nanoampere*seconds, as shown (but labeled incorrectly). -.. note:: I\ :sub:`0` is now normalized by the dwell time, thus is - plotting in units of amperes rather than ampere*seconds, - as shown. - - Also, as of January 2024, the live plot at the end of the - scan sequence is posted to Slack and included in the - :numref:`dossier (Section %s) `. +The live plot at the end of the scan sequence is posted to Slack and +included in the :numref:`dossier (Section %s) `. .. _xafssequence: diff --git a/docs/manage.rst b/docs/manage.rst index be26b1a..a62c53b 100644 --- a/docs/manage.rst +++ b/docs/manage.rst @@ -669,7 +669,7 @@ calibration. file. Edge appropriate command line parameters will be added by the ``calibrate()`` plan. -#. Examine the data in Athena. Make sure E\ :sub:`0` is selected +#. Examine the data in |athena|. Make sure E\ :sub:`0` is selected correctly for all 10 edges. Copy those values into the first column of :file:`edges111.ini` (or :file:`edges311.ini`). @@ -727,7 +727,7 @@ calibration. dcm.set_crystal() - Or simply restart ``bsui``, which is usually the easier thing. + Or simply restart |bsui|, which is usually the easier thing. #. Finally, do @@ -758,8 +758,8 @@ install additional packages ~~~~~~~~~~~~~~~~~~~~~~~~~~~ + plasma-desktop (just ... better) -+ redis (essential for operation of bsui) -+ most (used as the pager in BMM's bsui profile) ++ redis (essential for operation of |bsui|) ++ most (used as the pager in BMM's |bsui| profile) + ag (powerful ack-like grep alternative) + fswebcam (used to capture analog pinhole camera) + demeter and perl-Graphics-GnuplotIF (something silly, no doubt) @@ -825,7 +825,7 @@ Manage Silicon Drift Detectors The assumption in the data acquisition system is that one of the three silicon drift detectors will be the primary detector in an experiment. -At the bsui command line (or in queue server) the ``xs`` symbol should +At the |bsui| command line (or in |qs|) the ``xs`` symbol should point at the correct detector. Also, a parameter is set in Redis allowing other processes (such as the Kafka plotting agent) to know which detector to be paying attention to. diff --git a/docs/motors.rst b/docs/motors.rst index 75166f6..4ad0e1e 100644 --- a/docs/motors.rst +++ b/docs/motors.rst @@ -16,7 +16,7 @@ Moving and querying motors ========================== To get an overview of the state of the beamline motors, do ``%m`` at -the bsui command line. Here is an example: +the |bsui| command line. Here is an example: .. code-block:: text diff --git a/docs/profile.rst b/docs/profile.rst index 9837618..52f4c95 100644 --- a/docs/profile.rst +++ b/docs/profile.rst @@ -30,7 +30,7 @@ The startup folder ------------------ The startup folder is a symlink to a folder on Lustre where BMM's -profile is kept. If bsui does not start with BMM's profile, make that +profile is kept. If |bsui| does not start with BMM's profile, make that symlink by doing the following: .. code-block:: sh @@ -39,57 +39,74 @@ symlink by doing the following: ln -s /nsls2/data3/bmm/shared/config/bluesky/profile_collection If a folder called ``profile_collection`` already exists at that -location |nd| which would be the case if you have already used bsui +location |nd| which would be the case if you have already used |bsui| or ipython |nd| go ahead and rename or delete that folder. The top folder of the profile contains a single python file. It follows the old convention in that it is named ``00-populate-namespace.py`` and is read as soon as IPython starts. +There are three files in the ``startup`` folder: + +``00-populate-namespace.py`` + This is the first file ipython loads as it starts |bsui|. + :numref:`See Section %s `. + +``rois.json`` + This is a small database of ROI definitions used by the XSpress3 + configuration. + +``user_group_permissions.yaml`` + This is a configuration file used by |qs| to grant access to plans + according to authentication + + + Beneath the ``startup`` folder, there are several sub-folders: -``BMM`` +``BMM/`` the bulk of the code used for data acquisition. -``consumer`` +``consumer/`` the code used by the process that captures Kafka messages and generates plots for real-time and other data visualization :numref:`(Section %s) ` -``BMM_common`` +``BMM_common/`` code shared by data acquisition and the Kafka consumer -``lookup_table`` +``lookup_table/`` the spreadsheet with the look up table of motor positions used by the ``change_edge()`` command :numref:`(Section %s) ` -``standards`` +``standards/`` the spreadsheet for working with `BMM's collection of measurement standards `__ -``ML`` +``ML/`` the data used for the machine learning data evaluation model :numref:`(Section %s) ` -``telemetry`` +``telemetry/`` the data used for the time estimates of XAFS and other scans :numref:`(Section %s) ` -``dossier`` +``dossier/`` files used to construct dossiers :numref:`(Section %s) ` -``tmpl`` - template files used for dossiers files, INI files, and other +``tmpl/`` + template files used for dossiers, INI files, and other templated materials -``xlsx`` +``xlsx/`` empty spreadsheet examples for the various forms of automation :numref:`(Section %s) ` -.. todo:: Explain other three files in top folder. Explain folder - above top folder. + +.. _namespace: + The IPython namespace --------------------- @@ -133,8 +150,8 @@ makes for code that is more robust and more readily maintainable and extensible. -Managing *bsui* and *queueserver* ---------------------------------- +Managing |bsui| and |qs| +------------------------ A common motif found in many files, including ``BMM/user_ns/__init__.py``, looks like this: @@ -148,14 +165,14 @@ A common motif found in many files, including return False This is used to allow a plan or some other bit of code to know whether -it is being run under *bsui* or *queueserver.* +it is being run under |bsui| or |qs|. -*bsui* is, by design, run on the same workstation with which the -experimenter is interacting. *queueserver* is, by design, run on a +|bsui| is, by design, run on the same workstation with which the +experimenter is interacting. |qs| is, by design, run on a remote server. Having a way to distinguish the two is essential. For -example, there are many plans which, when run with *bsui*, stop to +example, there are many plans which, when run with |bsui|, stop to prompt for an interaction from the user. Such prompts need to be -disabled when running under *queueserver*. +disabled when running under |qs|. Profile start-up as a narrative @@ -185,7 +202,7 @@ similar in concept, it is a bit more suited to our purpose. :width: 80% :align: center - Screen messages during *bsui* start-up. + Screen messages during |bsui| start-up. For one thing, it applies consistent coloring to the text. In that @@ -274,7 +291,7 @@ the bluesky ecosystem: + `nslsii.configure_base() `__ - is called appropriately for *bsui* or *queueserver* + is called appropriately for |bsui| or |qs| + Some configuration of best effort callbacks is done @@ -301,7 +318,7 @@ Here's a brief summary of every module in the BMM profile. ``db.py`` utilities for working with *DataBroker* ``dcm.py`` define monochromator ophyd objects ``dcm_parameters.py`` mono calibration parameters - ``demeter.py`` Athena and Hephaestus integration + ``demeter.py`` |athena| and |hephaestus| integration ``derivedplot.py`` deprecated plotting capabilities ``desc_string.py`` fix epics motor ``DESC`` fields for CSS ``detector_mount.py`` deprecated tools for ``xafs_det`` diff --git a/docs/prolog.rst b/docs/prolog.rst index 987b530..ea99966 100644 --- a/docs/prolog.rst +++ b/docs/prolog.rst @@ -51,3 +51,17 @@ .. |mquad| unicode:: U+2001 .. EM QUAD .. |circle| unicode:: U+25CB .. WHITE CIRCLE .. |elementof| unicode:: U+2208 .. ELEMENT OF + +.. role:: bolditalic + :class: bolditalic + +.. |bsui| replace:: :bolditalic:`bsui` +.. |qs| replace:: :bolditalic:`queueserver` + +.. role:: smallcaps + :class: smallcaps + +.. |athena| replace:: :smallcaps:`athena` +.. |artemis| replace:: :smallcaps:`artemis` +.. |hephaestus| replace:: :smallcaps:`hephaestus` + diff --git a/docs/proposal.rst b/docs/proposal.rst index 07a5c5c..21bda5c 100644 --- a/docs/proposal.rst +++ b/docs/proposal.rst @@ -34,14 +34,15 @@ beamline staff how you intend to use your beamtime effectively. + If you are measuring a dopant, state the concentration of the dopant. + If you are measuring a low concentration sample |nd| for example the amount of arsenic in a natural sample |nd| provide an estimate of - the concentration. Even better, do elemental analysis of an aloquat + the concentration. Even better, do elemental analysis of an aliquot in the electron microscope or with ICP. -+ If you are measuring a thin film sample, state the thickness of the - sample and the areal dimensions of the sample. ++ If you are measuring a thin film sample, state the substrate + material, the thickness of the sample, and the areal dimensions of + the sample. + If you have a matrix of sample conditions |nd| for example a range of dopants, a range of absorption edges, and a range of annealing conditions |nd| do the math. Tell the reader how many XAS - emasurements are required. + measurements are required. + Make sensible estimates about your time requirements. Be prepared to prioritize your samples if you are unable to get the full time you request. @@ -100,9 +101,9 @@ However, asking for XAS and XRD in a single proposal at BMM is an edge-case for the NSLS-II multi-modal program. It turns out that there is no way to request a multi-modal proposal -where *different* measurement techniques are performed at the *same* -beamline. Thus, there is no way to send both parts of the multi-modal -proposal to the relevant proposal review panels. +where :maroon:`different` measurement techniques are performed at the +:maroon:`same` beamline. Thus, there is no way to send both parts of the +multi-modal proposal to the relevant proposal review panels. As a result, if you wish to request both spectroscopy and scattering at BMM, you need to write **two proposals**. That is the only way to @@ -129,7 +130,7 @@ NIST Partner User Proposals As of the 2024-2 cycle, NIST staff must use the new **Partner User - Project** proposal type. This new proposal type is necessary to accommodate :numref:`the new data access and security policies -(Section %s) `. Writing this proposal is a *requirement*. It +(Section %s) `. Writing this proposal is a :red:`requirement`. It is no longer possible to access the beamline via the main partner user proposal. diff --git a/docs/restore.rst b/docs/restore.rst index 5942f5b..7c2f2e6 100644 --- a/docs/restore.rst +++ b/docs/restore.rst @@ -57,7 +57,7 @@ Operations at BMM require that a redis server is running on xf06bm-ioc2. For whatever reason, the redis server never starts correctly after a reboot. -This will become apparent when bsui and cadashboard fail to start, +This will become apparent when |bsui| and cadashboard fail to start, complaining about ``Connection refused`` with ``xf06bm-ioc2:6379``. 6379 is the port that redis uses for communication. @@ -77,17 +77,14 @@ To re-power the Xspress3 and its associated server: #. Verify that the power button on the back of the Xspress3 unit is switched on. It should be glowing red. #. Press the front power button. -#. Once running, reboot xf06bm-xspress3 - -.. note:: In the near future, the Xspress3 IOC will be moving away - from xf06bm-xspress3, which is an old, vendor-supplied - CentOS 7 machine. +#. Once running, restart the relevant IOC on ``xf06bm-ioc2``. For the + seven element detector, use ``xs3-7-1``. Other IOCs ---------- -The startup acceptance tests in the bsui profile may eventually fail +The startup acceptance tests in the |bsui| profile may eventually fail when trying to connect to instruments. For example, this: .. code-block:: text @@ -118,20 +115,29 @@ on: dzdo manage-iocs report -Here is a list of all the IOCs and what they do: -================ ============================================= +IOCs on xf06bm-ioc2 +~~~~~~~~~~~~~~~~~~~ + +``xf06bm-ioc2`` is the main IOC server at BMM. It is a much beefier +machine than ``xf06bm-ioc1``. + +Here is a list of all the IOCs on ``xf06bm-ioc2`` and what they do: + +================ ================================================= IOC name purpose -================ ============================================= +================ ================================================= + axis-caproto5 XRD Axis web camera + axis-caproto6 XAS Axis web camera cam01 Prosilica camera #1 (DM1) cam02 Prosilica camera #1 (DM2) cam03 Prosilica camera #3 (DM3) - cam04 ?? - cam07 ?? - cas-switch enables cahnnel access security management + cam04 :silver:`??` + cam07 :silver:`??` + cas-switch enables channel access security management dante Dante controller for Ge detector diode DIODE controller (filters, spinner stage) - EigerTest1 ?? + EigerTest1 :silver:`placeholder` F460 FMBO current monitor (not in use) flag1 Front end flag (not in use) I400 FMBO electrometer (not in use) @@ -144,8 +150,8 @@ IOC name purpose MC04 Focusing mirror MC05 Harmonic rejection mirror and DM1 filters MC06 DM3 diagnostics and slits3 - MC07 xafs_8 motors - MC08 xafs_8 motors + MC07 xafs_* motors + MC08 xafs_* motors MC11 goniometer motors MC12 goniometer motors MC13 goniometer motors @@ -163,9 +169,26 @@ IOC name purpose simDetector ?? va-1 Vacuum controllers and gauges xf06bmAlarmIOC Alarm server -================ ============================================= + xs3-8ch :silver:`deprecated XSpress3 server, do not run` + xs3-7-1 XSpress3 server for use with 7-element detector + xs3-4-1 XSpress3 server for use with 4-element detector +================ ================================================= + +IOCs on xf06bm-ioc1 +~~~~~~~~~~~~~~~~~~~ + +Additionally, there is one IOC that regularly runs on ``xf06bm-ioc1``. + +================ ================================================= +IOC name purpose +================ ================================================= + Pilatus100K Pilatus 100k +================ ================================================= +This IOC does a lot of file I/O, so it seemed like a good idea to +isolate it from the other IOCs. +All other IOCs on ``xf06bm-ioc1`` must be in the ``stopped`` state. Motor controllers @@ -182,7 +205,7 @@ Restore power to the motor controllers. It should not necessary to restart the IOCs (MC02 through MC06), but do so if motors are not moving after powering up the controllers. -The steps below are the commands in bsui for homing sets of axes. The +The steps below are the commands in |bsui| for homing sets of axes. The ``ks.cycle()`` steps are not, strictly speaking, necessary. But it is a good idea to be sure the amplifiers are in a good state. If any amplifier faults trigger upon starting the homing process, the motors @@ -258,7 +281,7 @@ XRD position is around 107,000. Homing MSC8s via PEWIN ~~~~~~~~~~~~~~~~~~~~~~ -If homing from the bsui command line fails, your best bet is to find +If homing from the |bsui| command line fails, your best bet is to find the laptop with PEWIN and connect to the motor controller with a USB cable. diff --git a/docs/trouble.rst b/docs/trouble.rst index 2e5d670..a788310 100644 --- a/docs/trouble.rst +++ b/docs/trouble.rst @@ -41,8 +41,8 @@ To resume BlueSky, type the command ``fg`` and hit ``Enter``. You will find yourself back at the BlueSky prompt and can carry on normally. -Exiting or crashing bsui ------------------------- +Exiting or crashing |bsui| +-------------------------- Another possibility is that BlueSky has exited entirely |nd| possibly because something has happened to put the program into an unworkable @@ -59,10 +59,10 @@ fault is shown here: :width: 100% :align: center - An example of bsui crashing with a segfault + An example of |bsui| crashing with a segfault -The previous bsui session cannot be recovered at this point. You will -have to restart bsui and restart your data collection. +The previous |bsui| session cannot be recovered at this point. You will +have to restart |bsui| and restart your data collection. In this case, at the command line, type ``bsui`` and hit ``Enter``.