#Useful spec commands:
spec.log for a given sample is saved in /nfs/chess/raw/[run cycle ID]/id3a/[userid-file ID]/[sample ID]
##Basic spec commands:
ascan [motor] [start] [stop] [#steps] [count time] is an absolute position scan of [motor]
mbascan [motor] [start] [stop] [#steps] [count time] to automatically close garage door to protect far-field detectorsdscan [motor] [relative start] [relative stop] [#steps] [count time] is a relative position scan of [motor]
mbdscan [motor] [start] [stop] [#steps] [count time] to automatically close garage door to protect far-field detectorsd2scan does a dscan of 2 motors simultaneously
mbd2scan [motor] [start] [stop] [#steps] [count time] to automatically close garage door to protect far-field detectorsumv [motor] [position] is an absolute move of [motor] to [position]umvr [motor] [relative position] is a relative movetw [motor] [step size] gives you a prompt to move [motor] by relative +/- [step size]. Within the prompt hit enter to do the move, type + or – to change directions, type a new step size to change step sizes; type anything else to exit tweak modewm [motor] reports [motor]’s current position, and also displays [motor]’s limitswe prints all motor positionsct [count time] counts for [count time] and displays the resulting ion chamber countsplotselect [counter] , then splotprdef [macro name] displays the definition of the macro, including the filename where it’s locatedqdo [macro name] compiles a macro filenewsample prompts you to define a new sample name##Checking and setting the beam width and height:
get_beam_width returns the width of the beam-defining slits (s0l, s0r) in mmget_beam_height returns the height of the beam-defining slits (s0t, s0b) in mmget_beam_size returns the width x height of the beam-defining slits in mmset_beam_width sets the width of the beam-defining slitsset_beam_height sets the height of the beam-defining slitsget_guard_width, etc exist to check or set the guard slits (s1t,b,l,r)##Absorption foil utilities:
foil_ds to place one of several elemental foils in the beam path between IC0 and IC1. Beamline staff will have performed an energy calibration during x-ray alignment at the start of your beamtime. Particularly for powder XRD and far-field HEDM, you may wish to have the relevant foil in place during data collection so that the ratio of intensities between IC0 and IC1 at every scan point can be used as a frame-by-frame energy correction during data analysis.p FOIL displays a list of the available foils, along with the absorption edge energy of each, and the position of foil_ds that will put that foil in the beam pathumv foil_ds [target position] to insert the desired foil##Fast shutter and garage door:
opens opens the fast shuttercloses closes the fast shutteropen_garage_door opens the garage door (lead shield in front of the far-field detector)close_garage_door closes the garage door##Attenuation:
atten [thickness] inserts [thickness] mm of steel; range is 0-20 mm in 0.25 mm steps. NOTE: the fast shutter automatically closes when the attenuation is changed, so make sure to opens if you are e.g. watching the live view on the near-field camera or running line-up scans (dscan, etc)watt returns the current attenuator thickness##RAMS2 loading:
The RAMS2 operates in displacement control by default. Load control is possible, but should be used with care and only if you have consulted with beamline staff first.
mvr_screw [displacement] [block] [velocity] [acceleration] moves the screw head by [displacement] mm, at corresponding [velocity] and [acceleration]. Almost always set [block] = 1 to have mvr_screw block the spec terminal until motion is complete. [displacement] > 0 for tension, < 0 for compression. [velocity] and [acceleration] should be given as absolute values.wm_screw returns the current screw position in mmwm_force returns the current load cell reading in Nmv_force [force in N] switches from displacement control to load control and moves to the specified force (units: N). It will hold at this force until another mv_force command, or until rams_force_off. Note: load control only works if the screw position is within a millimeter or so of 0 (the position it was at when the RAMS2 was last power cycled).rams_force_off exits force control and re-enters displacement control##data acquisition: far-field
sync_ff_on preps the far-field detector (Dexelas or Eiger16M) for data acquisition, moves the near-field detector out of the way, and opens the garage door. must be preceded by sync_nf_off if the near-field detector has been in use.tseries [number of frames] [exposure time] opens the fast shutter, acquires [number of frames] frames each with exposure time [exposure time] (in s) on the far-field detector, then closes the fast shutter. To acquire a darkfield, run close_garage_door and then your desired tseries.flyscan ome [ome start] [ome end] [number of frames] [exposure time] rotates RAMS2 ome from [ome start] to [ome end], acquiring [number of frames] with exposure time [exposure time] during rotation. The fast shutter is opened and closed at the beginning and end of data acquisition. To manually acquire a darkfield, run close_garage_door and then your desired flyscan ome.sync_ff_off removes the far-field detector from data acquisition and closes the garage door.##data acquisition: near-field
sync_nf_on preps the near-field detector (Retiga or Manta) for data acquisition, moves the near-field detector into place, moves the near-field beamtop into place to block the direct beam, and sets the attenuation to 0 mm steel. must be preceded by sync_ff_off if the far-field detector has been in use.sync_tomo_on is identical to sync_nf_on, except that it moves the near-field beamtop out of the field of view.flyscan ome [ome start] [ome end] [number of frames] [exposure time] rotates RAMS2 ome from [ome start] to [ome end], acquiring [number of frames] with exposure time [exposure time] during rotation. The fast shutter is opened and closed at the beginning and end of data acquisition. To manually acquire a darkfield, run shutter_auto_off, your desired flyscan ome, and then shutter_auto_on. Note: darkfields are automatically acquired for each layer in a tomography scan run with do_tomo_scan_layers_array.retiga_von 1 starts a live stream of 1 s exposures on the near-field detector. Images are not saved.retiga_voff stops the live stream. if retiga_von was used, retiga_voff must be used prior to data acquisition or images will not be saved.sync_nf_off removes the near-field detector from data acquisition.