aps-8id-dys / bluesky

XPCS bluesky instrument configuration
Other
2 stars 0 forks source link

Write out a spec or hdf file #34

Closed prjemian closed 3 months ago

prjemian commented 3 months ago

Instrument is already configured to write SPEC files. Will confirm.

prjemian commented 3 months ago

specwriter is created: https://github.com/aps-8id-dys/bluesky/blob/69f5619084dc0e2470fdb8a7f1bd95d4a8e89cc4/instrument/callbacks/spec_data_file_writer.py#L29

Subscription here: https://github.com/aps-8id-dys/bluesky/blob/69f5619084dc0e2470fdb8a7f1bd95d4a8e89cc4/instrument/collection.py#L49-L51

But the feature is turned off at this time: https://github.com/aps-8id-dys/bluesky/blob/69f5619084dc0e2470fdb8a7f1bd95d4a8e89cc4/instrument/iconfig.yml#L51

prjemian commented 3 months ago

nxwriter is created: https://github.com/aps-8id-dys/bluesky/blob/69f5619084dc0e2470fdb8a7f1bd95d4a8e89cc4/instrument/callbacks/nexus_data_file_writer.py#L210-L211

but not enabled: https://github.com/aps-8id-dys/bluesky/blob/69f5619084dc0e2470fdb8a7f1bd95d4a8e89cc4/instrument/iconfig.yml#L48

prjemian commented 3 months ago

Will enable the specwriter first. Open a new issue for the nxwriter.

prjemian commented 3 months ago

Just tested this and it worked as expected.

In [4]: test_signal = Signal(value=1_234.56, name="test_signal")

In [5]: test_signal.read()
Out[5]: {'test_signal': {'value': 1234.56, 'timestamp': 1718057433.41452}}

In [8]: RE(bp.count([test_signal]))

Transient Scan ID: 28810     Time: 2024-06-10 17:11:20
Persistent Unique Scan ID: '4c89d7d0-c7c2-46f3-8da3-e917c498cc00'
New stream: 'label_start_motor'
New stream: 'primary'
+-----------+------------+-------------+
|   seq_num |       time | test_signal |
+-----------+------------+-------------+
|         1 | 17:11:30.0 |    1234.560 |
+-----------+------------+-------------+
generator count ['4c89d7d0'] (scan num: 28810)
Out[8]: ('4c89d7d0-c7c2-46f3-8da3-e917c498cc00',)

In [11]: specwriter.spec_filename
Out[11]: PosixPath('/home/beams10/8IDIUSER/bluesky/20240610-170902.dat')

In [12]: %pycat /home/beams10/8IDIUSER/bluesky/20240610-170902.dat
``` #F /home/beams10/8IDIUSER/bluesky/20240610-170902.dat #E 1718057342 #D Mon Jun 10 17:09:02 2024 #C Bluesky user = 8idiuser host = amber.xray.aps.anl.gov #O0 detector_x detector_y rheometer_pitch rheometer_roll rheometer_x rheometer_y rheometer_yaw rheometer_z #O1 sample_x sample_y sample_z #o0 detector_x detector_y rheometer_pitch rheometer_roll rheometer_x rheometer_y rheometer_yaw rheometer_z #o1 sample_x sample_y sample_z #S 28810 count(detectors=['test_signal'], num=1, delay=None) #D Mon Jun 10 17:11:20 2024 #C Mon Jun 10 17:11:20 2024. plan_type = generator #C Mon Jun 10 17:11:20 2024. uid = 4c89d7d0-c7c2-46f3-8da3-e917c498cc00 #MD uid = 4c89d7d0-c7c2-46f3-8da3-e917c498cc00 #MD beamline_id = 8idi_XPCS #MD conda_prefix = /home/beams/8IDIUSER/.conda/envs/bluesky_2024_2 #MD databroker_catalog = 8idi_xpcs #MD detectors = ['test_signal'] #MD iconfig = {'CONTROLS_SUBNET': 116, 'DATABROKER_CATALOG': '8idi_xpcs', 'RUNENGINE_METADATA': {'beamline_id': '8idi_XPCS', 'instrument_name': '8-ID-I XPCS', 'proposal_id': 'XPCS Development', 'databroker_catalog': '8idi_xpcs'}, 'TILED_SERVER': 'amber', 'ALLOW_AREA_DETECTOR_WARMUP': True, 'ENABLE_AREA_DETECTOR_IMAGE_PLUGIN': True, 'ENABLE_CALCS': False, 'USE_PROGRESS_BAR': False, 'WRITE_NEXUS_DATA_FILES': False, 'NEXUS_WARN_MISSING_CONTENT': False, 'NEXUS_FILE_EXTENSION': 'hdf', 'WRITE_SPEC_DATA_FILES': True, 'DM_SETUP_FILE': '/home/dm/etc/dm.setup.sh', 'AREA_DETECTOR': {'BLUESKY_FILES_ROOT': '/home/8ididata/', 'IMAGE_DIR': '2023-2/pvaccess_test', 'HDF5_FILE_TEMPLATE': '%s%s_%6.6d.h5', 'ADSIM_4M': {'IOC_FILES_ROOT': '/home/8ididata/', 'NAME': 'adsim4M', 'PV_PREFIX': '8idSimDetector4m:'}, 'ADSIM_16M': {'IOC_FILES_ROOT': '/home/8ididata/', 'NAME': 'simdet16M', 'PV_PREFIX': '8idSimDetector16m:'}, 'EIGER_4M': {'IOC_FILES_ROOT': '/home/8ididata/', 'NAME': 'eiger4M', 'PV_PREFIX': '8idEiger4m:'}, 'FLAG1': {'IOC_FILES_ROOT': '/home/8ididata/', 'NAME': 'flag1ad', 'PV_PREFIX': '8idaSoft:flag1:'}, 'FLAG2': {'IOC_FILES_ROOT': '/home/8ididata/', 'NAME': 'flag2ad', 'PV_PREFIX': '8idaSoft:flag2:'}, 'LAMBDA_2M': {'IOC_FILES_ROOT': '/extdisk/', 'NAME': 'lambda2M', 'PV_PREFIX': '8idLambda2m:'}, 'RIGAKU_3M': {'IOC_FILES_ROOT': '/home/8ididata/', 'NAME': 'rigaku3M', 'PV_PREFIX': '8idRigaku3m:'}}, 'RUNENGINE_MD_PATH': '/home/beams/8IDIUSER/.config/Bluesky_RunEngine_md', 'LOGGING': {'NUMBER_OF_PREVIOUS_BACKUPS': 9}, 'PV_READ_TIMEOUT': 30, 'PV_WRITE_TIMEOUT': 30, 'PV_CONNECTION_TIMEOUT': 5, 'XMODE_DEBUG_LEVEL': 'Minimal', 'MINIMUM_PYTHON_VERSION': [3, 10], 'MINIMUM_BLUESKY_VERSION': [1, 10], 'MINIMUM_DATABROKER_VERSION': [1, 2], 'MINIMUM_OPHYD_VERSION': [1, 7], 'ICONFIG_VERSION': '1.0.1'} #MD instrument_name = 8-ID-I XPCS #MD login_id = 8idiuser@amber.xray.aps.anl.gov #MD num_intervals = 0 #MD num_points = 1 #MD pid = 1933746 #MD proposal_id = XPCS Development #MD versions = {'apstools': '1.6.19', 'bluesky': '1.13.0a3', 'databroker': '1.2.5', 'epics': '3.5.2', 'h5py': '3.9.0', 'intake': '0.6.4', 'matplotlib': '3.8.4', 'numpy': '1.26.4', 'ophyd': '1.9.0', 'pyRestTable': '2020.0.8', 'spec2nexus': '2021.2.6'} #MD xpcs_header = A001 #MD xpcs_index = 10678 #P0 -9.999999974752427e-07 200.00000699999998 0.0 0.0 0.0 377.0 0.0 0.0 #P1 1.0986328125e-05 47.39268157958985 -3.0517578125e-07 #N 3 #L Epoch_float Epoch test_signal 9.08653974533081 9 1234.56 #C Mon Jun 10 17:11:30 2024. num_events_label_start_motor = 1 #C Mon Jun 10 17:11:30 2024. num_events_primary = 1 #C Mon Jun 10 17:11:30 2024. exit_status = success ```