APS-USAXS / usaxs-bluesky-ended-2023

Bluesky instrument for USAXS
0 stars 0 forks source link

regenerate these NeXus files using new format and metadata #357

Closed prjemian closed 4 years ago

prjemian commented 4 years ago

As noted in #352:

Can you eventually regenerate the nexus files so I can finish the reader, please?

should be enough.

prjemian commented 4 years ago

With .h5 extension per #354, right? And with additional metadata per #355, #356, right?

jilavsky commented 4 years ago

Yes, with all changes if possible.

prjemian commented 4 years ago

@jilavsky -- Here is everything but the SPEC_data_file:

# directory: /share1/USAXS_data/2020-06
-rw-rw-r--   1 usaxs        usaxs  2.3M Jul 24 23:46 20200610-135050-S00049-uascan-78b4801.h5
-rw-rw-r--   1 usaxs        usaxs  2.3M Jul 24 23:50 20200618-105527-S00029-uascan-355d8b5.h5
-rw-rw-r--   1 usaxs        usaxs  2.3M Jul 24 23:50 20200618-121245-S00020-uascan-e904886.h5
prjemian commented 4 years ago

Here's how the files were regenerated:

bash $ blueskyUSAXS
# ... startup ...
from instrument.callbacks.nxwriter_usaxs import NXWriterUascan

my_writer = NXWriterUascan()

run= db["78b4801c"]
replay(run, callback=my_writer.receiver)

run = db["355d8b5"]
replay(run, callback=my_writer.receiver)

run = db["e904886"]
replay(run, callback=my_writer.receiver)
jilavsky commented 4 years ago

I am unable to find new metadata there. Can you provide locations?

prjemian commented 4 years ago

To get new metadata, don't we need to collect it? The NX writer works on info it gets from the databroker.

On Sat, Jul 25, 2020, 9:05 PM Jan Ilavsky notifications@github.com wrote:

Reopened #357 https://github.com/APS-USAXS/ipython-usaxs/issues/357.

— You are receiving this because you modified the open/close state. Reply to this email directly, view it on GitHub https://github.com/APS-USAXS/ipython-usaxs/issues/357#event-3586706107, or unsubscribe https://github.com/notifications/unsubscribe-auth/AARMUMHJ43RYKAD6DWZXW7LR5OFQNANCNFSM4OR5FPEA .

prjemian commented 4 years ago

If I understand, you found the new ,h5 files but did not find the metadata in them, right?

On Sat, Jul 25, 2020, 10:08 PM Pete Jemian prjemian@gmail.com wrote:

To get new metadata, don't we need to collect it? The NX writer works on info it gets from the databroker.

On Sat, Jul 25, 2020, 9:05 PM Jan Ilavsky notifications@github.com wrote:

Reopened #357 https://github.com/APS-USAXS/ipython-usaxs/issues/357.

— You are receiving this because you modified the open/close state. Reply to this email directly, view it on GitHub https://github.com/APS-USAXS/ipython-usaxs/issues/357#event-3586706107, or unsubscribe https://github.com/notifications/unsubscribe-auth/AARMUMHJ43RYKAD6DWZXW7LR5OFQNANCNFSM4OR5FPEA .

prjemian commented 4 years ago

revision on how the files were regenerated:

bash $ blueskyUSAXS
# ... startup ...
from instrument.callbacks.nxwriter_usaxs import NXWriterUascan

my_writer = NXWriterUascan()

for uid in "78b4801c 355d8b5 e904886".split():
    replay(db[uid], callback=my_writer.receiver)
prjemian commented 4 years ago

Here's a check of the new content:

import pyRestTable, h5py
addresses = []
addresses.append("/entry/SPEC_data_file")
addresses.append("/entry/program_name")
addresses.append("/entry/sample/name")
addresses.append("/entry/sample/thickness")
files = []
files.append("20200610-135050-S00049-uascan-78b4801.h5")
files.append("20200618-105527-S00029-uascan-355d8b5.h5")
files.append("20200618-121245-S00020-uascan-e904886.h5")
table = pyRestTable.Table()
table.labels = "file address value".split()
for fname in files:
    with h5py.File(fname, "r") as nx: 
        for addr in addresses: 
            table.addRow((fname, addr, nx[addr][()]))
print(table)

Here is the output:

======================================== ======================= ============================
file                                     address                 value                       
======================================== ======================= ============================
20200610-135050-S00049-uascan-78b4801.h5 /entry/SPEC_data_file   b'06_10_StepScans.dat'      
20200610-135050-S00049-uascan-78b4801.h5 /entry/program_name     bluesky                     
20200610-135050-S00049-uascan-78b4801.h5 /entry/sample/name      b'Blank'                    
20200610-135050-S00049-uascan-78b4801.h5 /entry/sample/thickness 1.0                         
20200618-105527-S00029-uascan-355d8b5.h5 /entry/SPEC_data_file   b'06_18_test.dat'           
20200618-105527-S00029-uascan-355d8b5.h5 /entry/program_name     bluesky                     
20200618-105527-S00029-uascan-355d8b5.h5 /entry/sample/name      b'AirBlank-Step'            
20200618-105527-S00029-uascan-355d8b5.h5 /entry/sample/thickness 0.0                         
20200618-121245-S00020-uascan-e904886.h5 /entry/SPEC_data_file   b'06_18_testAutoCollect.dat'
20200618-121245-S00020-uascan-e904886.h5 /entry/program_name     bluesky                     
20200618-121245-S00020-uascan-e904886.h5 /entry/sample/name      b'GlassyCarbonM5-Step'      
20200618-121245-S00020-uascan-e904886.h5 /entry/sample/thickness 1.0                         
======================================== ======================= ============================
prjemian commented 4 years ago

Files re-generated now. Confirm you find the content.

prjemian commented 4 years ago

tree structure of 20200610-135050-S00049-uascan-78b4801.h5 (all 2,493 lines of it)

``` /share1/USAXS_data/2020-06/20200610-135050-S00049-uascan-78b4801.h5 : NeXus data file entry:NXentry SPEC_data_file --> /entry/instrument/bluesky/streams/baseline/user_data_spec_file/value_start duration:NX_FLOAT64[] = [ ... ] end_time:NX_CHAR = 2020-06-10T13:55:39.559547 entry_identifier --> /entry/instrument/bluesky/metadata/run_start_uid plan_name --> /entry/instrument/bluesky/metadata/plan_name program_name:NX_CHAR = bluesky run_cycle --> /entry/instrument/bluesky/streams/baseline/aps_aps_cycle/value_start start_time:NX_CHAR = 2020-06-10T13:50:50.239672 title --> /entry/instrument/bluesky/streams/baseline/user_data_sample_title/value_start contact:NXuser affiliation --> /entry/instrument/bluesky/streams/baseline/bss_user_info_institution/value_start email --> /entry/instrument/bluesky/streams/baseline/bss_user_info_email/value_start facility_user_id --> /entry/instrument/bluesky/streams/baseline/bss_user_info_badge/value_start name --> /entry/instrument/bluesky/streams/baseline/bss_user_info_contact/value_start role:NX_CHAR = contact data:NXdata EPOCH --> /entry/instrument/bluesky/streams/primary/upd_autorange_controls_reqrange/time I00_autorange_controls_gain --> /entry/instrument/bluesky/streams/primary/I00_autorange_controls_gain/value I00_autorange_controls_reqrange --> /entry/instrument/bluesky/streams/primary/I00_autorange_controls_reqrange/value I0_USAXS --> /entry/instrument/bluesky/streams/primary/I0_USAXS/value I0_autorange_controls_gain --> /entry/instrument/bluesky/streams/primary/I0_autorange_controls_gain/value I0_autorange_controls_reqrange --> /entry/instrument/bluesky/streams/primary/I0_autorange_controls_reqrange/value PD_USAXS --> /entry/instrument/bluesky/streams/primary/PD_USAXS/value a_stage_r --> /entry/instrument/bluesky/streams/primary/a_stage_r/value a_stage_y --> /entry/instrument/bluesky/streams/primary/a_stage_y/value d_stage_y --> /entry/instrument/bluesky/streams/primary/d_stage_y/value m_stage_r --> /entry/instrument/bluesky/streams/primary/m_stage_r/value s_stage_y --> /entry/instrument/bluesky/streams/primary/s_stage_y/value scaler0_display_rate --> /entry/instrument/bluesky/streams/primary/scaler0_display_rate/value scaler0_time --> /entry/instrument/bluesky/streams/primary/scaler0_time/value seconds --> /entry/instrument/bluesky/streams/primary/seconds/value trd_autorange_controls_gain --> /entry/instrument/bluesky/streams/primary/trd_autorange_controls_gain/value trd_autorange_controls_reqrange --> /entry/instrument/bluesky/streams/primary/trd_autorange_controls_reqrange/value upd_autorange_controls_gain --> /entry/instrument/bluesky/streams/primary/upd_autorange_controls_gain/value upd_autorange_controls_reqrange --> /entry/instrument/bluesky/streams/primary/upd_autorange_controls_reqrange/value instrument:NXinstrument bluesky:NXnote plan_name --> /entry/instrument/bluesky/metadata/plan_name uid --> /entry/instrument/bluesky/metadata/run_start_uid metadata:NXnote EPICS_CA_MAX_ARRAY_BYTES:NX_CHAR = b'1280000' EPICS_HOST_ARCH:NX_CHAR = b'linux-x86_64' SAD_mm:NX_FLOAT64[] = [ ... ] SDD_mm:NX_FLOAT64[] = [ ... ] ay0:NX_FLOAT64[] = [ ... ] beamline_id:NX_CHAR = b'APS 9-ID-C USAXS' center:NX_FLOAT64[] = [ ... ] dy0:NX_FLOAT64[] = [ ... ] exponent:NX_FLOAT64[] = [ ... ] finish:NX_FLOAT64[] = [ ... ] intervals:NX_INT64[] = [ ... ] login_id:NX_CHAR = b'usaxs@usaxscontrol.xray.aps.anl.gov' minStep:NX_FLOAT64[] = [ ... ] pid:NX_INT64[] = [ ... ] plan_args:NX_CHAR = b'SAD_mm: 195.0\nSDD_mm: 900.0\nay0: 0.0\ncount_time: 0.5\ndy0: 12.794893\nexponent: 0.6\nfinish: 7.131764183414561\nintervals: 300\nminStep: 2.5e-05\nreference: 8.746958600000001\nstart: 8.748573740933907\n' plan_name:NX_CHAR = b'uascan' plan_type:NX_CHAR = b'generator' proposal_id:NX_CHAR = b'testing' run_start_uid:NX_CHAR = 78b4801c-1db1-4674-b894-03c4ef4d12a5 start:NX_FLOAT64[] = [ ... ] uascan_direction:NX_INT64[] = [ ... ] uascan_factor:NX_FLOAT64[] = [ ... ] useDynamicTime:NX_CHAR = b'True' useSBUSAXS:NX_CHAR = b'False' versions:NX_CHAR = b'apstools: 1.2.4rc3\nbluesky: 1.6.0\ndatabroker: 1.0.2\nepics: 3.4.2\nmatplotlib: 3.2.1\nnumpy: 1.18.5\nophyd: 1.5.0\npyRestTable: 2020.0.2\npymongo: 3.9.0\nspec2nexus: 2021.1.7\n' streams:NXnote aps_current_monitor:NXnote aps_current:NXdata EPOCH:NX_FLOAT64[575] = [ ... ] time:NX_FLOAT64[575] = [ ... ] value:NX_FLOAT64[575] = [ ... ] baseline:NXnote aps_aps_cycle:NXdata EPOCH:NX_FLOAT64[2] = [ ... ] time:NX_FLOAT64[2] = [ ... ] value:NX_CHAR[6,6] = ["2020-2", "2020-2"] value_end:NX_CHAR = b'2020-2' value_start:NX_CHAR = b'2020-2' aps_current:NXdata EPOCH:NX_FLOAT64[2] = [ ... ] time:NX_FLOAT64[2] = [ ... ] value:NX_FLOAT64[2] = [ ... ] value_end:NX_FLOAT64[] = [ ... ] value_start:NX_FLOAT64[] = [ ... ] aps_fill_number:NXdata EPOCH:NX_FLOAT64[2] = [ ... ] time:NX_FLOAT64[2] = [ ... ] value:NX_FLOAT64[2] = [ ... ] value_end:NX_FLOAT64[] = [ ... ] value_start:NX_FLOAT64[] = [ ... ] aps_global_feedback:NXdata EPOCH:NX_FLOAT64[2] = [ ... ] time:NX_FLOAT64[2] = [ ... ] value:NX_CHAR[2,2] = ["On", "On"] value_end:NX_CHAR = b'On' value_start:NX_CHAR = b'On' aps_global_feedback_h:NXdata EPOCH:NX_FLOAT64[2] = [ ... ] time:NX_FLOAT64[2] = [ ... ] value:NX_CHAR[2,2] = ["On", "On"] value_end:NX_CHAR = b'On' value_start:NX_CHAR = b'On' aps_global_feedback_v:NXdata EPOCH:NX_FLOAT64[2] = [ ... ] time:NX_FLOAT64[2] = [ ... ] value:NX_CHAR[2,2] = ["On", "On"] value_end:NX_CHAR = b'On' value_start:NX_CHAR = b'On' aps_lifetime:NXdata EPOCH:NX_FLOAT64[2] = [ ... ] time:NX_FLOAT64[2] = [ ... ] value:NX_FLOAT64[2] = [ ... ] value_end:NX_FLOAT64[] = [ ... ] value_start:NX_FLOAT64[] = [ ... ] aps_machine_status:NXdata EPOCH:NX_FLOAT64[2] = [ ... ] time:NX_FLOAT64[2] = [ ... ] value:NX_CHAR[15,15] = ["USER OPERATIONS", "USER OPERATIONS"] value_end:NX_CHAR = b'USER OPERATIONS' value_start:NX_CHAR = b'USER OPERATIONS' aps_operating_mode:NXdata EPOCH:NX_FLOAT64[2] = [ ... ] time:NX_FLOAT64[2] = [ ... ] value:NX_CHAR[14,14] = ["Delivered Beam", "Delivered Beam"] value_end:NX_CHAR = b'Delivered Beam' value_start:NX_CHAR = b'Delivered Beam' aps_operator_messages_fill_pattern:NXdata EPOCH:NX_FLOAT64[2] = [ ... ] time:NX_FLOAT64[2] = [ ... ] value:NX_CHAR[7,7] = ["0+324*1", "0+324*1"] value_end:NX_CHAR = b'0+324*1' value_start:NX_CHAR = b'0+324*1' aps_operator_messages_floor_coordinator:NXdata EPOCH:NX_FLOAT64[2] = [ ... ] time:NX_FLOAT64[2] = [ ... ] value:NX_CHAR[20,20] = ["Shane Flood (2-0101)", "Shane Flood (2-0101)"] value_end:NX_CHAR = b'Shane Flood (2-0101)' value_start:NX_CHAR = b'Shane Flood (2-0101)' aps_operator_messages_last_problem_message:NXdata EPOCH:NX_FLOAT64[2] = [ ... ] time:NX_FLOAT64[2] = [ ... ] value:NX_CHAR[0,0] = ["", ""] value_end:NX_CHAR = b'' value_start:NX_CHAR = b'' aps_operator_messages_last_trip_message:NXdata EPOCH:NX_FLOAT64[2] = [ ... ] time:NX_FLOAT64[2] = [ ... ] value:NX_CHAR[0,0] = ["", ""] value_end:NX_CHAR = b'' value_start:NX_CHAR = b'' aps_operator_messages_message6:NXdata EPOCH:NX_FLOAT64[2] = [ ... ] time:NX_FLOAT64[2] = [ ... ] value:NX_CHAR[14,14] = ["Top-up ongoing", "Top-up ongoing"] value_end:NX_CHAR = b'Top-up ongoing' value_start:NX_CHAR = b'Top-up ongoing' aps_operator_messages_message7:NXdata EPOCH:NX_FLOAT64[2] = [ ... ] time:NX_FLOAT64[2] = [ ... ] value:NX_CHAR[0,0] = ["", ""] value_end:NX_CHAR = b'' value_start:NX_CHAR = b'' aps_operator_messages_message8:NXdata EPOCH:NX_FLOAT64[2] = [ ... ] time:NX_FLOAT64[2] = [ ... ] value:NX_CHAR[0,0] = ["", ""] value_end:NX_CHAR = b'' value_start:NX_CHAR = b'' aps_operator_messages_operators:NXdata EPOCH:NX_FLOAT64[2] = [ ... ] time:NX_FLOAT64[2] = [ ... ] value:NX_CHAR[12,12] = ["Smith, Davis", "Smith, Davis"] value_end:NX_CHAR = b'Smith, Davis' value_start:NX_CHAR = b'Smith, Davis' aps_orbit_correction:NXdata EPOCH:NX_FLOAT64[2] = [ ... ] time:NX_FLOAT64[2] = [ ... ] value:NX_FLOAT64[2] = [ ... ] value_end:NX_FLOAT64[] = [ ... ] value_start:NX_FLOAT64[] = [ ... ] aps_shutter_permit:NXdata EPOCH:NX_FLOAT64[2] = [ ... ] time:NX_FLOAT64[2] = [ ... ] value:NX_CHAR[6,6] = ["PERMIT", "PERMIT"] value_end:NX_CHAR = b'PERMIT' value_start:NX_CHAR = b'PERMIT' bss_user_info_activity:NXdata EPOCH:NX_FLOAT64[2] = [ ... ] time:NX_FLOAT64[2] = [ ... ] value:NX_CHAR[0,0] = ["", ""] value_end:NX_CHAR = b'' value_start:NX_CHAR = b'' bss_user_info_badge:NXdata EPOCH:NX_FLOAT64[2] = [ ... ] time:NX_FLOAT64[2] = [ ... ] value:NX_CHAR[0,0] = ["", ""] value_end:NX_CHAR = b'' value_start:NX_CHAR = b'' bss_user_info_bss_name:NXdata EPOCH:NX_FLOAT64[2] = [ ... ] time:NX_FLOAT64[2] = [ ... ] value:NX_CHAR[0,0] = ["", ""] value_end:NX_CHAR = b'' value_start:NX_CHAR = b'' bss_user_info_contact:NXdata EPOCH:NX_FLOAT64[2] = [ ... ] time:NX_FLOAT64[2] = [ ... ] value:NX_CHAR[0,0] = ["", ""] value_end:NX_CHAR = b'' value_start:NX_CHAR = b'' bss_user_info_email:NXdata EPOCH:NX_FLOAT64[2] = [ ... ] time:NX_FLOAT64[2] = [ ... ] value:NX_CHAR[0,0] = ["", ""] value_end:NX_CHAR = b'' value_start:NX_CHAR = b'' bss_user_info_esaf:NXdata EPOCH:NX_FLOAT64[2] = [ ... ] time:NX_FLOAT64[2] = [ ... ] value:NX_CHAR[0,0] = ["", ""] value_end:NX_CHAR = b'' value_start:NX_CHAR = b'' bss_user_info_esaf_contact:NXdata EPOCH:NX_FLOAT64[2] = [ ... ] time:NX_FLOAT64[2] = [ ... ] value:NX_CHAR[0,0] = ["", ""] value_end:NX_CHAR = b'' value_start:NX_CHAR = b'' bss_user_info_esaf_team:NXdata EPOCH:NX_FLOAT64[2] = [ ... ] time:NX_FLOAT64[2] = [ ... ] value:NX_CHAR[0,0] = ["", ""] value_end:NX_CHAR = b'' value_start:NX_CHAR = b'' bss_user_info_institution:NXdata EPOCH:NX_FLOAT64[2] = [ ... ] time:NX_FLOAT64[2] = [ ... ] value:NX_CHAR[0,0] = ["", ""] value_end:NX_CHAR = b'' value_start:NX_CHAR = b'' bss_user_info_proposal_number:NXdata EPOCH:NX_FLOAT64[2] = [ ... ] time:NX_FLOAT64[2] = [ ... ] value:NX_INT64[2] = [ ... ] value_end:NX_INT64[] = [ ... ] value_start:NX_INT64[] = [ ... ] bss_user_info_station:NXdata EPOCH:NX_FLOAT64[2] = [ ... ] time:NX_FLOAT64[2] = [ ... ] value:NX_CHAR[0,0] = ["", ""] value_end:NX_CHAR = b'' value_start:NX_CHAR = b'' bss_user_info_team_others:NXdata EPOCH:NX_FLOAT64[2] = [ ... ] time:NX_FLOAT64[2] = [ ... ] value:NX_CHAR[0,0] = ["", ""] value_end:NX_CHAR = b'' value_start:NX_CHAR = b'' bss_user_info_time_begin:NXdata EPOCH:NX_FLOAT64[2] = [ ... ] time:NX_FLOAT64[2] = [ ... ] value:NX_CHAR[0,0] = ["", ""] value_end:NX_CHAR = b'' value_start:NX_CHAR = b'' bss_user_info_time_end:NXdata EPOCH:NX_FLOAT64[2] = [ ... ] time:NX_FLOAT64[2] = [ ... ] value:NX_CHAR[0,0] = ["", ""] value_end:NX_CHAR = b'' value_start:NX_CHAR = b'' bss_user_info_timestamp:NXdata EPOCH:NX_FLOAT64[2] = [ ... ] time:NX_FLOAT64[2] = [ ... ] value:NX_CHAR[0,0] = ["", ""] value_end:NX_CHAR = b'' value_start:NX_CHAR = b'' bss_user_info_title:NXdata EPOCH:NX_FLOAT64[2] = [ ... ] time:NX_FLOAT64[2] = [ ... ] value:NX_CHAR[7,7] = ["mail in", "mail in"] value_end:NX_CHAR = b'mail in' value_start:NX_CHAR = b'mail in' diagnostics_BL_EPS_flow_1:NXdata EPOCH:NX_FLOAT64[2] = [ ... ] time:NX_FLOAT64[2] = [ ... ] value:NX_FLOAT64[2] = [ ... ] value_end:NX_FLOAT64[] = [ ... ] value_start:NX_FLOAT64[] = [ ... ] diagnostics_BL_EPS_flow_1_setpoint:NXdata EPOCH:NX_FLOAT64[2] = [ ... ] time:NX_FLOAT64[2] = [ ... ] value:NX_FLOAT64[2] = [ ... ] value_end:NX_FLOAT64[] = [ ... ] value_start:NX_FLOAT64[] = [ ... ] diagnostics_BL_EPS_flow_2:NXdata EPOCH:NX_FLOAT64[2] = [ ... ] time:NX_FLOAT64[2] = [ ... ] value:NX_FLOAT64[2] = [ ... ] value_end:NX_FLOAT64[] = [ ... ] value_start:NX_FLOAT64[] = [ ... ] diagnostics_BL_EPS_flow_2_setpoint:NXdata EPOCH:NX_FLOAT64[2] = [ ... ] time:NX_FLOAT64[2] = [ ... ] value:NX_FLOAT64[2] = [ ... ] value_end:NX_FLOAT64[] = [ ... ] value_start:NX_FLOAT64[] = [ ... ] diagnostics_BL_EPS_red_light:NXdata EPOCH:NX_FLOAT64[2] = [ ... ] time:NX_FLOAT64[2] = [ ... ] value:NX_INT64[2] = [ ... ] value_end:NX_INT64[] = [ ... ] value_start:NX_INT64[] = [ ... ] diagnostics_BL_EPS_shutter_permit:NXdata EPOCH:NX_FLOAT64[2] = [ ... ] time:NX_FLOAT64[2] = [ ... ] value:NX_CHAR[9,9] = ["Permit OK", "Permit OK"] value_end:NX_CHAR = b'Permit OK' value_start:NX_CHAR = b'Permit OK' diagnostics_BL_EPS_station_shutter_b:NXdata EPOCH:NX_FLOAT64[2] = [ ... ] time:NX_FLOAT64[2] = [ ... ] value:NX_CHAR[6,6] = ["OPENED", "OPENED"] value_end:NX_CHAR = b'OPENED' value_start:NX_CHAR = b'OPENED' diagnostics_BL_EPS_temperature_1_chopper:NXdata EPOCH:NX_FLOAT64[2] = [ ... ] time:NX_FLOAT64[2] = [ ... ] value:NX_FLOAT64[2] = [ ... ] value_end:NX_FLOAT64[] = [ ... ] value_start:NX_FLOAT64[] = [ ... ] diagnostics_BL_EPS_temperature_1_chopper_setpoint:NXdata EPOCH:NX_FLOAT64[2] = [ ... ] time:NX_FLOAT64[2] = [ ... ] value:NX_FLOAT64[2] = [ ... ] value_end:NX_FLOAT64[] = [ ... ] value_start:NX_FLOAT64[] = [ ... ] diagnostics_BL_EPS_temperature_2:NXdata EPOCH:NX_FLOAT64[2] = [ ... ] time:NX_FLOAT64[2] = [ ... ] value:NX_FLOAT64[2] = [ ... ] value_end:NX_FLOAT64[] = [ ... ] value_start:NX_FLOAT64[] = [ ... ] diagnostics_BL_EPS_temperature_2_setpoint:NXdata EPOCH:NX_FLOAT64[2] = [ ... ] time:NX_FLOAT64[2] = [ ... ] value:NX_FLOAT64[2] = [ ... ] value_end:NX_FLOAT64[] = [ ... ] value_start:NX_FLOAT64[] = [ ... ] diagnostics_BL_EPS_temperature_3:NXdata EPOCH:NX_FLOAT64[2] = [ ... ] time:NX_FLOAT64[2] = [ ... ] value:NX_FLOAT64[2] = [ ... ] value_end:NX_FLOAT64[] = [ ... ] value_start:NX_FLOAT64[] = [ ... ] diagnostics_BL_EPS_temperature_3_setpoint:NXdata EPOCH:NX_FLOAT64[2] = [ ... ] time:NX_FLOAT64[2] = [ ... ] value:NX_FLOAT64[2] = [ ... ] value_end:NX_FLOAT64[] = [ ... ] value_start:NX_FLOAT64[] = [ ... ] diagnostics_BL_EPS_temperature_4:NXdata EPOCH:NX_FLOAT64[2] = [ ... ] time:NX_FLOAT64[2] = [ ... ] value:NX_FLOAT64[2] = [ ... ] value_end:NX_FLOAT64[] = [ ... ] value_start:NX_FLOAT64[] = [ ... ] diagnostics_BL_EPS_temperature_4_setpoint:NXdata EPOCH:NX_FLOAT64[2] = [ ... ] time:NX_FLOAT64[2] = [ ... ] value:NX_FLOAT64[2] = [ ... ] value_end:NX_FLOAT64[] = [ ... ] value_start:NX_FLOAT64[] = [ ... ] diagnostics_BL_EPS_temperature_5:NXdata EPOCH:NX_FLOAT64[2] = [ ... ] time:NX_FLOAT64[2] = [ ... ] value:NX_FLOAT64[2] = [ ... ] value_end:NX_FLOAT64[] = [ ... ] value_start:NX_FLOAT64[] = [ ... ] diagnostics_BL_EPS_temperature_5_setpoint:NXdata EPOCH:NX_FLOAT64[2] = [ ... ] time:NX_FLOAT64[2] = [ ... ] value:NX_FLOAT64[2] = [ ... ] value_end:NX_FLOAT64[] = [ ... ] value_start:NX_FLOAT64[] = [ ... ] diagnostics_BL_EPS_temperature_6:NXdata EPOCH:NX_FLOAT64[2] = [ ... ] time:NX_FLOAT64[2] = [ ... ] value:NX_FLOAT64[2] = [ ... ] value_end:NX_FLOAT64[] = [ ... ] value_start:NX_FLOAT64[] = [ ... ] diagnostics_BL_EPS_temperature_6_setpoint:NXdata EPOCH:NX_FLOAT64[2] = [ ... ] time:NX_FLOAT64[2] = [ ... ] value:NX_FLOAT64[2] = [ ... ] value_end:NX_FLOAT64[] = [ ... ] value_start:NX_FLOAT64[] = [ ... ] diagnostics_BL_EPS_temperature_7:NXdata EPOCH:NX_FLOAT64[2] = [ ... ] time:NX_FLOAT64[2] = [ ... ] value:NX_FLOAT64[2] = [ ... ] value_end:NX_FLOAT64[] = [ ... ] value_start:NX_FLOAT64[] = [ ... ] diagnostics_BL_EPS_temperature_7_setpoint:NXdata EPOCH:NX_FLOAT64[2] = [ ... ] time:NX_FLOAT64[2] = [ ... ] value:NX_FLOAT64[2] = [ ... ] value_end:NX_FLOAT64[] = [ ... ] value_start:NX_FLOAT64[] = [ ... ] diagnostics_BL_EPS_temperature_8:NXdata EPOCH:NX_FLOAT64[2] = [ ... ] time:NX_FLOAT64[2] = [ ... ] value:NX_FLOAT64[2] = [ ... ] value_end:NX_FLOAT64[] = [ ... ] value_start:NX_FLOAT64[] = [ ... ] diagnostics_BL_EPS_temperature_8_setpoint:NXdata EPOCH:NX_FLOAT64[2] = [ ... ] time:NX_FLOAT64[2] = [ ... ] value:NX_FLOAT64[2] = [ ... ] value_end:NX_FLOAT64[] = [ ... ] value_start:NX_FLOAT64[] = [ ... ] diagnostics_BL_EPS_vacuum_ok:NXdata EPOCH:NX_FLOAT64[2] = [ ... ] time:NX_FLOAT64[2] = [ ... ] value:NX_CHAR[14,14] = ["BL Vacuum Good", "BL Vacuum Good"] value_end:NX_CHAR = b'BL Vacuum Good' value_start:NX_CHAR = b'BL Vacuum Good' diagnostics_BL_EPS_vacuum_permit:NXdata EPOCH:NX_FLOAT64[2] = [ ... ] time:NX_FLOAT64[2] = [ ... ] value:NX_CHAR[16,16] = ["BL Vac Permit OK", "BL Vac Permit OK"] value_end:NX_CHAR = b'BL Vac Permit OK' value_start:NX_CHAR = b'BL Vac Permit OK' diagnostics_FE_EPS_fe_permit:NXdata EPOCH:NX_FLOAT64[2] = [ ... ] time:NX_FLOAT64[2] = [ ... ] value:NX_CHAR[9,9] = ["Permit OK", "Permit OK"] value_end:NX_CHAR = b'Permit OK' value_start:NX_CHAR = b'Permit OK' diagnostics_FE_EPS_major_fault:NXdata EPOCH:NX_FLOAT64[2] = [ ... ] time:NX_FLOAT64[2] = [ ... ] value:NX_CHAR[1,1] = ["0", "0"] value_end:NX_CHAR = b'0' value_start:NX_CHAR = b'0' diagnostics_FE_EPS_minor_fault:NXdata EPOCH:NX_FLOAT64[2] = [ ... ] time:NX_FLOAT64[2] = [ ... ] value:NX_CHAR[1,1] = ["2", "2"] value_end:NX_CHAR = b'2' value_start:NX_CHAR = b'2' diagnostics_FE_EPS_mps_permit:NXdata EPOCH:NX_FLOAT64[2] = [ ... ] time:NX_FLOAT64[2] = [ ... ] value:NX_CHAR[14,14] = ["MPS RF Perm OK", "MPS RF Perm OK"] value_end:NX_CHAR = b'MPS RF Perm OK' value_start:NX_CHAR = b'MPS RF Perm OK' diagnostics_FE_EPS_photon_shutter_1:NXdata EPOCH:NX_FLOAT64[2] = [ ... ] time:NX_FLOAT64[2] = [ ... ] value:NX_CHAR[4,4] = ["Open", "Open"] value_end:NX_CHAR = b'Open' value_start:NX_CHAR = b'Open' diagnostics_FE_EPS_photon_shutter_2:NXdata EPOCH:NX_FLOAT64[2] = [ ... ] time:NX_FLOAT64[2] = [ ... ] value:NX_CHAR[4,4] = ["Open", "Open"] value_end:NX_CHAR = b'Open' value_start:NX_CHAR = b'Open' diagnostics_FE_EPS_safety_shutter_1:NXdata EPOCH:NX_FLOAT64[2] = [ ... ] time:NX_FLOAT64[2] = [ ... ] value:NX_CHAR[4,4] = ["Open", "Open"] value_end:NX_CHAR = b'Open' value_start:NX_CHAR = b'Open' diagnostics_FE_EPS_safety_shutter_2:NXdata EPOCH:NX_FLOAT64[2] = [ ... ] time:NX_FLOAT64[2] = [ ... ] value:NX_CHAR[4,4] = ["Open", "Open"] value_end:NX_CHAR = b'Open' value_start:NX_CHAR = b'Open' diagnostics_PSS_a_beam_active:NXdata EPOCH:NX_FLOAT64[2] = [ ... ] time:NX_FLOAT64[2] = [ ... ] value:NX_CHAR[7,7] = ["BEAM ON", "BEAM ON"] value_end:NX_CHAR = b'BEAM ON' value_start:NX_CHAR = b'BEAM ON' diagnostics_PSS_a_shutter_open_chain_A:NXdata EPOCH:NX_FLOAT64[2] = [ ... ] time:NX_FLOAT64[2] = [ ... ] value:NX_CHAR[2,2] = ["ON", "ON"] value_end:NX_CHAR = b'ON' value_start:NX_CHAR = b'ON' diagnostics_PSS_b_beam_active:NXdata EPOCH:NX_FLOAT64[2] = [ ... ] time:NX_FLOAT64[2] = [ ... ] value:NX_CHAR[7,7] = ["BEAM ON", "BEAM ON"] value_end:NX_CHAR = b'BEAM ON' value_start:NX_CHAR = b'BEAM ON' diagnostics_PSS_b_beam_ready:NXdata EPOCH:NX_FLOAT64[2] = [ ... ] time:NX_FLOAT64[2] = [ ... ] value:NX_CHAR[10,10] = ["Beam Ready", "Beam Ready"] value_end:NX_CHAR = b'Beam Ready' value_start:NX_CHAR = b'Beam Ready' diagnostics_PSS_b_shutter_closed_chain_B:NXdata EPOCH:NX_FLOAT64[2] = [ ... ] time:NX_FLOAT64[2] = [ ... ] value:NX_CHAR[3,3] = ["OFF", "OFF"] value_end:NX_CHAR = b'OFF' value_start:NX_CHAR = b'OFF' diagnostics_PSS_b_shutter_open_chain_A:NXdata EPOCH:NX_FLOAT64[2] = [ ... ] time:NX_FLOAT64[2] = [ ... ] value:NX_CHAR[2,2] = ["ON", "ON"] value_end:NX_CHAR = b'ON' value_start:NX_CHAR = b'ON' diagnostics_PSS_c_shutter_closed_chain_A:NXdata EPOCH:NX_FLOAT64[2] = [ ... ] time:NX_FLOAT64[2] = [ ... ] value:NX_CHAR[3,3] = ["OFF", "OFF"] value_end:NX_CHAR = b'OFF' value_start:NX_CHAR = b'OFF' diagnostics_PSS_c_shutter_closed_chain_B:NXdata EPOCH:NX_FLOAT64[2] = [ ... ] time:NX_FLOAT64[2] = [ ... ] value:NX_CHAR[3,3] = ["OFF", "OFF"] value_end:NX_CHAR = b'OFF' value_start:NX_CHAR = b'OFF' diagnostics_PSS_c_station_no_access_chain_A:NXdata EPOCH:NX_FLOAT64[2] = [ ... ] time:NX_FLOAT64[2] = [ ... ] value:NX_CHAR[2,2] = ["ON", "ON"] value_end:NX_CHAR = b'ON' value_start:NX_CHAR = b'ON' diagnostics_beam_in_hutch_swait_alarm_severity:NXdata EPOCH:NX_FLOAT64[2] = [ ... ] time:NX_FLOAT64[2] = [ ... ] value:NX_INT64[2] = [ ... ] value_end:NX_INT64[] = [ ... ] value_start:NX_INT64[] = [ ... ] diagnostics_beam_in_hutch_swait_alarm_status:NXdata EPOCH:NX_FLOAT64[2] = [ ... ] time:NX_FLOAT64[2] = [ ... ] value:NX_INT64[2] = [ ... ] value_end:NX_INT64[] = [ ... ] value_start:NX_INT64[] = [ ... ] diagnostics_beam_in_hutch_swait_calculated_value:NXdata EPOCH:NX_FLOAT64[2] = [ ... ] time:NX_FLOAT64[2] = [ ... ] value:NX_FLOAT64[2] = [ ... ] value_end:NX_FLOAT64[] = [ ... ] value_start:NX_FLOAT64[] = [ ... ] diagnostics_beam_in_hutch_swait_calculation:NXdata EPOCH:NX_FLOAT64[2] = [ ... ] time:NX_FLOAT64[2] = [ ... ] value:NX_CHAR[29,29] = ["(A&&!B&&(E>20)&&(ABS(F-H)20)&&(ABS(F-H)20)&&(ABS(F-H)20)&&(ABS(F-H) /entry/instrument/bluesky/streams/baseline/monochromator_dcm_energy/value_start feedback_on --> /entry/instrument/bluesky/streams/baseline/monochromator_feedback_on/value_start mode --> /entry/instrument/bluesky/streams/baseline/monochromator_dcm_mode/value_start theta --> /entry/instrument/bluesky/streams/baseline/monochromator_dcm_theta/value_start wavelength --> /entry/instrument/bluesky/streams/baseline/monochromator_dcm_wavelength/value_start y_offset --> /entry/instrument/bluesky/streams/baseline/monochromator_dcm_y_offset/value_start slits:NXnote guard_slit:NXslit x --> /entry/instrument/bluesky/streams/baseline/guard_slit_x/value_start x_gap --> /entry/instrument/bluesky/streams/baseline/guard_slit_h_size/value_start y --> /entry/instrument/bluesky/streams/baseline/guard_slit_y/value_start y_gap --> /entry/instrument/bluesky/streams/baseline/guard_slit_v_size/value_start usaxs_slit:NXslit x --> /entry/instrument/bluesky/streams/baseline/usaxs_slit_x/value_start x_gap --> /entry/instrument/bluesky/streams/baseline/usaxs_slit_h_size/value_start y --> /entry/instrument/bluesky/streams/baseline/usaxs_slit_y/value_start y_gap --> /entry/instrument/bluesky/streams/baseline/usaxs_slit_v_size/value_start source:NXsource current --> /entry/instrument/bluesky/streams/baseline/aps_current/value_start cycle --> /entry/instrument/bluesky/streams/baseline/aps_aps_cycle/value_start energy:NX_INT64[] = [ ... ] fill_number --> /entry/instrument/bluesky/streams/baseline/aps_fill_number/value_start name:NX_CHAR = Advanced Photon Source probe:NX_CHAR = x-ray type:NX_CHAR = Synchrotron X-ray Source undulator:NXinsertion_device device --> /entry/instrument/bluesky/streams/baseline/undulator_downstream_device/value_start energy --> /entry/instrument/bluesky/streams/baseline/undulator_downstream_energy/value_start energy_taper --> /entry/instrument/bluesky/streams/baseline/undulator_downstream_energy_taper/value_start gap --> /entry/instrument/bluesky/streams/baseline/undulator_downstream_gap/value_start gap_taper --> /entry/instrument/bluesky/streams/baseline/undulator_downstream_gap_taper/value_start harmonic_value --> /entry/instrument/bluesky/streams/baseline/undulator_downstream_harmonic_value/value_start location --> /entry/instrument/bluesky/streams/baseline/undulator_downstream_location/value_start total_power --> /entry/instrument/bluesky/streams/baseline/undulator_downstream_total_power/value_start type:NX_CHAR = undulator version --> /entry/instrument/bluesky/streams/baseline/undulator_downstream_version/value_start sample:NXsample chemical_formula --> /entry/instrument/bluesky/streams/baseline/sample_data_chemical_formula/value_start concentration --> /entry/instrument/bluesky/streams/baseline/sample_data_concentration/value_start description --> /entry/instrument/bluesky/streams/baseline/sample_data_description/value_start electric_field --> /entry/instrument/bluesky/streams/baseline/sample_data_electric_field/value_start magnetic_field --> /entry/instrument/bluesky/streams/baseline/sample_data_magnetic_field/value_start name --> /entry/instrument/bluesky/streams/baseline/user_data_sample_title/value_start rotation_angle --> /entry/instrument/bluesky/streams/baseline/sample_data_rotation_angle/value_start scattering_length_density --> /entry/instrument/bluesky/streams/baseline/sample_data_scattering_length_density/value_start stress_field --> /entry/instrument/bluesky/streams/baseline/sample_data_stress_field/value_start temperature --> /entry/instrument/bluesky/streams/baseline/sample_data_temperature/value_start thickness --> /entry/instrument/bluesky/streams/baseline/user_data_sample_thickness/value_start volume_fraction --> /entry/instrument/bluesky/streams/baseline/sample_data_volume_fraction/value_start x_translation --> /entry/instrument/bluesky/streams/baseline/sample_data_x_translation/value_start ```
prjemian commented 4 years ago

Let's check with a new data collection tomorrow and identify if anything is missing.

prjemian commented 4 years ago

Collecting new data now ... Look at scan_id 27 or 29

prjemian commented 4 years ago
from instrument.callbacks.nxwriter_usaxs import NXWriterUascan 
my_writer = NXWriterUascan()
uids = "b034490 e44696d".split()
for uid in uids:
    replay(db[uid], my_writer.receiver)
prjemian commented 4 years ago

We found the content we expected.