You are here: Home > HDF5main
!!! THE DOCU MOVED TO CONFLUENCE https://confluence.desy.de/display/FLASHUSER/The+FLASH+HDF5+structure !!!!!

Information about the FLASH HDF5 structure

Contents

General information about HDF5

HDF5 is a data format maintained by the HDF group. For detailed general information see here

To download the HDF5 Viewer click here

For use on the DESY Maxwell or PAL (max-fsc or pal) hdfview is available in the xray module :
> module load xray
> hdfview

FLASH HDF5 structure

The photon diagnostic, electron diagnostic and beamline information as well as the information about the pump-probe laser and the infrastructure offered for users (GHz/MHz ADCs) can be included in one HDF5 file which is organised according to train IDs. The general structure is:

  • Electron Diagnostic
  • Photon Diagnostics
  • Beamlines
  • Experiment
  • Timing
    HDF5_structure.jpg

A detailled description of (most) channels can be found in the lower part of the hdf5 viewer:
HDF5_structure_desc.jpg

Most popular FLASH parameters and their names in HDF5

The compleate list for the relation between DOOCS names and HDF5 names for the recordable parameters can be found in DESY's Repository.
The most common and often used ones are summarized below:

Note, the HDF group and dataset names apply to our HDF tree version since vers. 0.3.0.

FLASH1

Beamline info (FLASH1)

/FL1/Beamlines/Attenuator/pressure
always saved (PBD)
DOOCS prop : FLASH.FEL/GAS_DOSING/FL1.ATTENUATOR/PRESSURE
DAQ channel: FLASH.FEL/GAS_DOSING/FL1.ATTENUATOR/PRESSURE
desc: set pressure in the gas attenuator
units: mbar

/FL1/Beamlines/BL/Fast shutter/open
always saved (PBD)
DOOCS prop : FLASH.FEL/ADC.SIS.FL1FS/BL.SHUTTER/CH00.TD
DAQ channel: FLASH.FEL/ADC.SIS.FL1FS/BL.SHUTTER
desc: BL Beamline Fast shutter state
units: none

/FL1/Beamlines/PG/Fast shutter/open
always saved (PBD)
DOOCS prop : FLASH.FEL/ADC.SIS.FL1FS/PG.SHUTTER/CH00.TD
DAQ channel: FLASH.FEL/ADC.SIS.FL1FS/PG.SHUTTER
desc: PG Beamline Fast shutter state
units: none

/FL1/Beamlines/BL/Filters/BL filter wheel/position filter 1
always saved (PBD)
DOOCS prop : TTF2.FEL/BLFILTERS1/FILTER1/FW.MOTOR.POS
DAQ channel: TTF2.FEL/BLFILTERS1/FILTER1/FW.MOTOR.POS
desc: Position of the BL filterwheel 1 - to correlate with the filter material please look here
units: degree

/FL1/Beamlines/BL/Filters/BL filter wheel/position filter 2
always saved (PBD)
DOOCS prop : TTF2.FEL/BLFILTERS2/FILTER2/FW.MOTOR.POS
DAQ channel: TTF2.FEL/BLFILTERS2/FILTER2/FW.MOTOR.POS
desc: Position of the BL filterwheel 2 - to correlate with the filter material please look here
units: degree

/FL1/Beamlines/PG/Filters/position filter 1
always saved (PBD)
DOOCS prop : = TTF2.FEL/BDAF1/BDA.F1/FW.MOTOR.POS=
DAQ channel: TTF2.FEL/BDAF1/BDA.F1/FW.MOTOR.POS
desc: Position of the PG filterwheel 1
units: degree

/FL1/Beamlines/PG/Filters/position filter 2
always saved (PBD)
DOOCS prop : TTF2.FEL/BDAF2/BDA.F2/FW.MOTOR.POS
DAQ channel: TTF2.FEL/BDAF2/BDA.F2/FW.MOTOR.POS
desc: Position of the PG filterwheel 2
units: degree

/FL1/Beamlines/PG/Filters/position filter 3
always saved (PBD)
DOOCS prop : TTF2.FEL/PGFILTERS/PGFILTERS/FW.MOTOR.POS
DAQ channel: TTF2.FEL/PGFILTERS/PGFILTERS/FW.MOTOR.POS
desc: Position of the PG filterwheel 3
units: degree

Photon Diagnostics: SASE / Spectrometer (FLASH1)

/FL1/Photon Diagnostic/GMD/Average energy/energy tunnel
always saved (PBD)
DOOCS prop : TTF2.DAQ/PHFLUX/OUT04/VAL
DAQ channel: PBD.PHFLUX/TUNNEL.ENPULSEIC
desc : calibrated average SASE Energy/pulse measured in the TUNNEL before the attenuator (ion current)
units : microJ

/FL1/Photon Diagnostic/GMD/Pulse resolved energy/energy tunnel
always saved (PBD)
DOOCS prop : TTF2.DAQ/PHFLUX/OUT34/VAL
DAQ channel: PBD.PHFLUX/TUNNEL.ENERGYPULSE.USER
desc :Energy per pulse Tunnel (from e-) - the values are set to "0" if there was no SASE beam in the FEL
units : a.u. (more or less ÁJ but need to be calibrated with the "Average energy" for good precision) see here for help

/FL1/Photon Diagnostic/GMD/Pulse resolved energy/energy tunnel (raw)
always saved (PBD)
DOOCS prop : TTF2.DAQ/PHFLUX/OUT14/VAL
DAQ channel: PBD.PHFLUX/TUNNEL.ENERGYPULSE.FF
desc :Energy per pulse Tunnel (from e-) - uncorrected values. There are also values saved if there was no beam ... just background noise
units : a.u. (more or less ÁJ but need to be calibrated with the "Average energy" for good precision) see here for help

/FL1/Photon Diagnostic/GMD/Average energy/energy BDA
always saved (PBD)
DOOCS prop : TTF2.DAQ/PHFLUX/OUT05/VAL
DAQ channel: PBD.PHFLUX/BDA.ENPULSEIC
desc : calibrated average SASE Energy/pulse measured in the BDA (in the experimental hall) after the attenuator (ion current)
units : microJ

/FL1/Photon Diagnostic/GMD/Pulse resolved energy/energy BDA
always saved (PBD)
DOOCS prop : TTF2.DAQ/PHFLUX/OUT35/VAL
DAQ channel: PBD.PHFLUX/BDA.ENERGYPULSE.USER
desc :Energy per pulse BDA (from e-) - the values are set to "0" if there was no SASE beam in the FEL
units : a.u. (more or less ÁJ but need to be calibrated with the "Average energy" for good precision) see here for help

/FL1/Photon Diagnostic/GMD/Pulse resolved energy/energy BDA (raw)
always saved (PBD)
DOOCS prop : TTF2.DAQ/PHFLUX/OUT15/VAL
DAQ channel: PBD.PHFLUX/BDA.ENERGYPULSE.FF
desc :Energy per pulse BDA (from e-) - uncorrected values. There are also values saved if there was no beam ... just background noise
units : a.u. (more or less ÁJ but need to be calibrated with the "Average energy" for good precision) see here for help

/FL1/Photon Diagnostic/GMD/Beam position/position BDA horizontal
always saved (PBD)
DOOCS prop : FLASH.FEL/XGM.POSMON/FL1.BDA/IX.POS
DAQ channel: FLASH.FEL/XGM.POSMON/FL1.BDA/IX.POS
desc :Beam position of the photon Beam determined by the GMD (BDA, x=horizontal)
units : mm

/FL1/Photon Diagnostic/GMD/Beam position/position BDA vertical
always saved (PBD)
DOOCS prop : FLASH.FEL/XGM.POSMON/FL1.BDA/IY.POS
DAQ channel: FLASH.FEL/XGM.POSMON/FL1.BDA/IY.POS
desc :Beam position of the photon Beam determined by the GMD (BDA, y=vertical)
units : mm

/FL1/Photon Diagnostic/GMD/Beam position/position tunnel horizontal
always saved (PBD)
DOOCS prop : FLASH.FEL/XGM.POSMON/FL1.TUNNEL/IX.POS
DAQ channel: FLASH.FEL/XGM.POSMON/FL1.TUNNEL/IX.POS
desc :Beam position of the photon Beam determined by the GMD (TUNNEL, x=horizontal)
units : mm

/FL1/Photon Diagnostic/GMD/Beam position/position tunnel vertical
always saved (PBD)
DOOCS prop : FLASH.FEL/XGM.POSMON/FL1.TUNNEL/IY.POS
DAQ channel: FLASH.FEL/XGM.POSMON/FL1.TUNNEL/IY.POS
desc :Beam position of the photon Beam determined by the GMD (TUNNEL, y=vertical)
units : mm

/FL1/Photon Diagnostic/Wavelength/Tunnelspectrometer/wavelength
_always saved (when Spectrum is measured !!) (PBD) _
DOOCS prop : TTF2.EXP/PHOTONWL.ML/WAVE_LENGTH/VAL.TD
DAQ channel: PBD.PHOTONWL.ML/WAVE_LENGTH
desc : XUV Spectrum measured with the "tunnel spectrometer"
units :

/FL1/Photon Diagnostic/Wavelength/Tunnelspectrometer/wavelength start value
_always saved (when Spectrum is measured !!) (PBD) _
DOOCS prop : TTF2.EXP/PBD.PHOTONWL.ML/BSTART/VAL
DAQ channel: TTF2.EXP/PBD.PHOTONWL.ML/BSTART/VAL
desc : start value (in nm) for the wavelength axis of the XUV Spectrum measured with the "tunnel spectrometer"
units : nm

/FL1/Photon Diagnostic/Wavelength/Tunnelspectrometer/wavelength increment
_always saved (when Spectrum is measured !!) (PBD) _
DOOCS prop : ==
DAQ channel: ==
desc : increment value (in nm) for each pixel for the wavelength axis of the XUV Spectrum measured with the "tunnel spectrometer"
units : nm

/FL1/Photon Diagnostic/Wavelength/PG2 spectrometer/photon energy
saved on DEMAND (PBD spectrometer stream)
DOOCS prop : ==
DAQ channel: PBD.PHOTONEN.ML/PHOTON_ENERGY
desc : XUV Spectrum in eV measured with the "PG2 spectrometer"
units :

/FL1/Photon Diagnostic/Wavelength/PG2 spectrometer/photon energy start value
saved on DEMAND (PBD spectrometer stream)
DOOCS prop : ==
DAQ channel: ==
desc : start value (in eV) for the wavelength axis of the XUV Spectrum measured with the "PG2 spectrometer"
units : eV

/FL1/Photon Diagnostic/Wavelength/PG2 spectrometer/photon energy increment
saved on DEMAND (PBD spectrometer stream)
DOOCS prop : ==
DAQ channel: ==
desc : increment value (in eV) for each pixel for the wavelength axis of the XUV Spectrum measured with the "PG spectrometer"
units : eV

/FL1/Photon Diagnostic/Wavelength/PG2 spectrometer/photon wavelength
saved on DEMAND (PBD spectrometer stream)
DOOCS prop : ==
DAQ channel: PHOTONEN.ML/PHOTON_WAVE_LEN
desc : XUV Spectrum in nm measured with the "PG2 spectrometer"
units :

/FL1/Photon Diagnostic/Wavelength/PG2 spectrometer/photon wavelength increment
saved on DEMAND (PBD spectrometer stream)
DOOCS prop : ==
DAQ channel: ==
desc : start value (in nm) for the wavelength axis of the XUV Spectrum measured with the "PG2 spectrometer"
units : nm

/FL1/Photon Diagnostic/Wavelength/PG2 spectrometer/photon wavelength start value
saved on DEMAND (PBD spectrometer stream)
DOOCS prop : ==
DAQ channel: ==
desc : increment value (in nm) for each pixel for the wavelength axis of the XUV Spectrum measured with the "PG spectrometer"
units : nm

Electron Beam properties (FLASH1)

bunch charge

/FL1/Electron Diagnostic/Bunch charge/after undulator
always saved (PBD)
DOOCS prop : FLASH.DIAG/TOROID.ML/12EXP/CHARGE.FLASH1
DAQ channel: FLASH.DIAG/TOROID/12EXP
desc: electron bunch charge (FLASH1)
units: nC

arrival time

/FL1/Electron Diagnostic/BAM/4DBC3/electron bunch arrival time (low charge)
always saved (PBD)
DOOCS prop : FLASH.SDIAG/BAM/4DBC3/LOW_CHARGE_ARRIVAL_TIME
DAQ channel: FLASH.SDIAG/BAM.DAQ/4DBC3.LOW_CHARGE_ARRIVAL_TIME
desc: Electron bunch arrival time measured with the BAM (more or less) before the undulator (pulse resolved data)
units: ps (bigger numbers indicate later arrivaltime of the electrons)
note: besides the arivaltime from FLASH1 there is also the FLASH2/3 electron arrival time saved. LINK to detailled infos from MSK (may only work inside DESY network

electron beam profile

/FL1/Electron Diagnostic/Electron bunch profile/TDS profile
always saved (PBD) - IF LOLA is ON and ACTIVATED in the PBD DAQ (talk to expert)
DOOCS prop : TTF2.DAQ/BEAM.PROF.ML/BEAM.PROF/OUT.PROF.CCCED
DAQ channel: PBD.BEAM.PROF.ML/DAQ.OUT.PROF.CCCED
desc: temporal profile of electron bunch, y axis in Ampers (FLASH1)
units: pixel

/FL1/Electron Diagnostic/Electron bunch profile/Expert stuff/TDS calibration constant
always saved (PBD) - IF LOLA is ON and ACTIVATED in the PBD DAQ (talk to expert)
DOOCS prop : TTF2.DAQ/BEAM.PROF.ML/BEAM.PROF/CALIB.CONST.T
DAQ channel: = PBD.BEAM.PROF.ML/CCT=
desc: TDS calibration constant for the x-axis of the profiles: fs per pixel
units: fs per pixel

/FL1/Electron Diagnostic/Electron bunch profile/TDS profile width rms
always saved (PBD) - IF LOLA is ON and ACTIVATED in the PBD DAQ (talk to expert)
DOOCS prop : TTF2.DAQ/BEAM.PROF.ML/BEAM.PROF/SOWS.W.CCTED
DAQ channel: PBD.BEAM.PROF.ML/PROFWIDTHCCTED
desc: rms pulse width of the measures TDS electron bunch profile
units: fs

electron bunch energy

/FL1/Electron Diagnostic/Electron energy/average electron energy
_always saved (PBD)
DOOCS prop : TTF2.DAQ/ENERGY.DOGLEG/E_INTRA_MEAN/VAL
DAQ channel: PBD.ENERGY.DOGLEG/E_MEAN
desc: electron bunch energy (average over the bunch train)
units: MeV

/FL1/Electron Diagnostic/Electron energy/pulse resolved energy
_always saved (PBD)
DOOCS prop : TTF2.DAQ/ENERGY.DOGLEG/E_SPECT/VAL.TD
DAQ channel: PBD.ENERGY.DOGLEG/E_SPECT
desc: electron bunch energy bunch resolved
units: MeV

/FL1/Electron Diagnostic/Electron energy/wavelength bunch train average
_always saved (PBD)
DOOCS prop : TTF2.DAQ/ENERGY.DOGLEG/LAMBDA_MEAN/VAL
DAQ channel: PBD.ENERGY.DOGLEG/LAMBDA_MEAN
desc: Wavelength calculated by the electron bunch energy (average over the bunch train) (FLASH1)
units: nm

Timing information, rep rate etc.(FLASH1)

bunch repetition rate

/FL1/Timing/repetition rate
always saved (PBD)
DOOCS prop : FLASH.DIAG/TIMER/FLASHCPUTIME1.0/REP_RATE_KHZ.1
DAQ channel: TTF2.UTIL/LASER.CONTROL/GUN/PULSE_FREQ
desc: repetition rate of the bunches / pulses within the burst (FLASH1)
units: kHz

set number of pulses

/FL1/Timing/set number of bunches
always saved (PBD)
DOOCS prop : FLASH.DIAG/TOROID.ML/3GUN/NUMBEROFBUNCHES.FLASH1
DAQ channel: TTF2.UTIL/LASER.CONTROL/GUN/PULSE_NUM
desc: Number of pulses set at the gun (FLASH1)
units:

actual number of pulses

/FL1/Timing/actual number of bunches
always saved (PBD)
DOOCS prop : FLASH.DIAG/TOROID.ML/12EXP/NUMBEROFBUNCHES.FLASH1
DAQ channel: TTF2.DIAG/PBD.TOROID.ML/12EXP
desc: Number of bunches measured BEHIND the undulator. If pulses are used for diagnostic of the protection system of the accelerator limits the number of bunches to be accelerated this is the actual number that created XUV radiation.The number is calculated by the DAQ middle layer server, (FLASH1)
units:

actual pulse pattern recorded after the undulator

/FL1/Timing/Bunch pattern/pattern after undulator
always saved (PBD)
DOOCS prop : TTF2.DIAG/PBD.TOROID.ML/12EXP/CHARGE.TD
DAQ channel: TTF2.DIAG/PBD.TOROID.ML/12EXP
desc: The bunch pattern as function of time in a burst recorded by toroide diagnostic BEHIND the undulator. (FLASH1)
units:

Train ID

/Timing/train ID
always saved (PBD)
DOOCS prop : none
DAQ channel: none
desc: Each 10 Hz burst has its unique train ID. For the HDF5 dataset the ID is the same for all parameters with the same index (note camera images may be shifted by 1 ID - talk to the experts !)
units:

Train time

/Timing/train time
desc:Local time as array of day, hour, minute, second, and centisecond. This dataset is meant for visualisation purposes only. For correlations use the train ID or the Unix time of the time stamp
units: d h min s cs

/Timing/time stamp
desc:first column: Local time in unix time. To get day, hour, minute, second you can use unix: e.g. date --date='@1553617729' or matlab, python etc
second column: microseconds
third column: Train ID of FLASH

Pump Probe Laser (FLASH1)

/FL1/Experiment/Pump probe laser/laser attenuation always saved (PBD)
DOOCS prop : TTF2.FEL/PPDELAYCAL/PPDELAYCAL/ROT2.CURRENT
DAQ channel: TTF2.FEL/PPDELAYCAL/PPDELAYCAL/ROT2.CURRENT
desc: attenuation of the PPLaser (rotation of a waveplate)
units : 0 no transmission , 1: full transmission

/FL1/Experiment/Pump probe laser/laser delay
always saved (PBD)
DOOCS prop : TTF2.FEL/PPDELAYCAL/PPDELAYCAL/DLY1.CURRENT
DAQ channel: TTF2.FEL/PPDELAYCAL/PPDELAYCAL/DLY1.CURRENT
desc: delay of the Pump probe laser - measured by the read back position of the motor. only read out every secound ... better use the encoder
units : ps ( pos delay means IR comes later)

/FL1/Experiment/Pump probe laser/delay line IK220.0/ENC.DELAY
always saved (PBD)
DOOCS prop : TTF2.FEL/DELLINE.ENC/IK220.0/ENC.DELAY
DAQ channel: TTF2.FEL/DELLINE.ENC/IK220.0:ENC.DELAY
subsystem: DELLINE.ENC desc : delay of the Pump probe laser - measured by an encoder. The position is read out with 10Hz train synchronized and should be used to determine the actual laser delay (the motor position is only read out about every second
units : ps ( pos delay means IR comes later)

/FL1/Experiment/Pump probe laser/Synchronization/timing jitter RMS GECCO
always saved (PBD)
DOOCS prop : FLASH.SYNC/F1PPL.LASER_LOCK/28C.F1PPL1.CONTROLLER/ADV_CTRL_MANAGER.0.PID_INPUT_JITTER.2.RD
DAQ channel: FLASH.SYNC/F1PPL.LASER_LOCK/28C.F1PPL1.CONTROLLER/ADV_CTRL_MANAGER.0.PID_INPUT_JITTER.2.RD
desc: rms jitter of the GECCO TiSa Oscillator units: fs

/FL1/Experiment/Pump probe laser/streak camera delay time
always saved (PBD)
DOOCS prop : TTF2.FEL/TDOLFEL/TDOLFEL/STREAK.CAM.TIME
DOOCS prop : TTF2.FEL/TDOLFEL/TDOLFEL/STREAK.CAM.TIME
desc: delaytime between the optical laser and the FEL units: ps

User Data (FLASH1)

GHz ADCs

ADC traces of the (SPDevices 412) GHZ ADCs available for the users . More information about the ADCs can be found here
saved on DEMAND in the user DAQ

The HDF5 names for the ADC traces are depending on the beamline :

PG Beamline:
/FL1/Experiment/PG/ADQ412 GHz ADC/CH00/TD
/FL1/Experiment/PG/ADQ412 GHz ADC/CH01/TD
/FL1/Experiment/PG/ADQ412 GHz ADC/CH02/TD
/FL1/Experiment/PG/ADQ412 GHz ADC/CH03/TD

BL Beamlines:
/FL1/Experiment/BL1/ADQ412 GHz ADC/CH00/TD
/FL1/Experiment/BL1/ADQ412 GHz ADC/CH01/TD
/FL1/Experiment/BL1/ADQ412 GHz ADC/CH02/TD
/FL1/Experiment/BL1/ADQ412 GHz ADC/CH03/TD

/FL1/Experiment/BL2/ADQ412 GHz ADC/CH00/TD
/FL1/Experiment/BL2/ADQ412 GHz ADC/CH01/TD

/FL1/Experiment/BL3/ADQ412 GHz ADC/CH02/TD
/FL1/Experiment/BL3/ADQ412 GHz ADC/CH03/TD

DOOCS prop : FLASH.FEL/ADC.ADQ.PG/EXP1.CH00/CH00.TD  or CH00.DAQ.TD
here the CH00.TD is the full ADC trace as it is sampled ( typically several 100.000 samples per pulse train) while the CH00.DAQ.TD trace only has the number of samples which are sent to the DAQ OR if grouping is activated the CH00.DAQ.TD conatins only the grouped spectra. To read the ADC trace with an online analysis program the CH00.DAQ.TD is used preferablly.
DAQ channel: FLASH.FEL/ADC.ADQ.PG/EXP1.CH00

in addition there are also additional parameters saved like:

  • sample frequency (in MHz)
  • error (state)
  • offset

|

MHz ADCs

similar to the GHz ADCs the MHz ASDsa re saved with HDF5 names like:
/FL1/Experiment/BL1/SIS8300 100MHz ADC/CH2/TD
DOOCS prop : FLASH.FEL/ADC.SIS.BL1/EXP1.CH02/CH00.TD
DAQ channel: : FLASH.FEL/ADC.SIS.BL1/EXP1.CH02

FLASH2

DAQ name HDF5 name
FLASH.UTIL/FL2.UND.MOTOR/FL2SASE3/GAP /FL2/Electron Diagnostic/Undulator setting/SASE03 gap
FLASH.UTIL/FL2.UND.MOTOR/FL2SASE14/GAP /FL2/Electron Diagnostic/Undulator setting/SASE14 gap
TTF2.FEEDBACK/FL2.WAVELENGTHCONTROL/FLASH2/WAVELENGTH /FL2/Electron Diagnostic/Undulator setting/set wavelength
FLASH.FEL/XGM.PHOTONFLUX/FL2.HALL/PHOTONFLUX.UJ /FL2/Photon Diagnostic/GMD/Average energy/hall
FLASH.FEL/XGM.PHOTONFLUX/FL2.HALL/PHOTONFLUX /FL2/Photon Diagnostic/GMD/Average energy/hall (raw)
FLASH.FEL/XGM.PHOTONFLUX/FL2.TUNNEL/PHOTONFLUX.UJ /FL2/Photon Diagnostic/GMD/Average energy/tunnel
FLASH.FEL/XGM.PHOTONFLUX/FL2.TUNNEL/PHOTONFLUX /FL2/Photon Diagnostic/GMD/Average energy/tunnel (raw)
FLASH.FEL/XGM.POSMON/FL2.HALL/IX.POS /FL2/Photon Diagnostic/GMD/Average beam position/position hall horizontal
FLASH.FEL/XGM.POSMON/FL2.HALL/IY.POS /FL2/Photon Diagnostic/GMD/Average beam position/position hall vertical
FLASH.FEL/XGM.POSMON/FL2.TUNNEL/IX.POS /FL2/Photon Diagnostic/GMD/Average beam position/position tunnel horizontal
FLASH.FEL/XGM.POSMON/FL2.TUNNEL/IY.POS /FL2/Photon Diagnostic/GMD/Average beam position/position tunnel vertical
FLASH.FEL/XGM.BPM/FL2.HALL:0 /FL2/Photon Diagnostic/GMD/Pulse resolved beam position/position hall horizontal
FLASH.FEL/XGM.BPM/FL2.HALL:1 /FL2/Photon Diagnostic/GMD/Pulse resolved beam position/position hall vertical
FLASH.FEL/XGM.BPM/FL2.TUNNEL:0 /FL2/Photon Diagnostic/GMD/Pulse resolved beam position/position tunnel horizontal
FLASH.FEL/XGM.BPM/FL2.TUNNEL:1 /FL2/Photon Diagnostic/GMD/Pulse resolved beam position/position tunnel vertical
FLASH.FEL/XGM.INTENSITY/FL2.TUNNEL:1 /FL2/Photon Diagnostic/GMD/Pulse resolved energy/energy aux tunnel
FLASH.FEL/XGM.INTENSITY/FL2.HALL /FL2/Photon Diagnostic/GMD/Pulse resolved energy/energy hall
FLASH.FEL/XGM.INTENSITY/FL2.HALL:0 /FL2/Photon Diagnostic/GMD/Pulse resolved energy/energy hall
FLASH.FEL/XGM.INTENSITY/FL2.TUNNEL /FL2/Photon Diagnostic/GMD/Pulse resolved energy/energy tunnel
FLASH.FEL/XGM.INTENSITY/FL2.TUNNEL:0 /FL2/Photon Diagnostic/GMD/Pulse resolved energy/energy tunnel
FLASH.UTIL/STORE/FL2.TUNNEL.OPIS/VAL042 /FL2/Photon Diagnostic/Wavelength/OPIS tunnel/Processed/mean phtoton energy
FLASH.UTIL/STORE/FL2.TUNNEL.OPIS/VAL040 /FL2/Photon Diagnostic/Wavelength/OPIS tunnel/Processed/mean wavelengt
FLASH.FEL/ADC.ADQ/OPIS1.CH02 /FL2/Photon Diagnostic/Wavelength/OPIS tunnel/Raw data/CH02
FLASH.DIAG/PBD2.TOROID.ML/9FL2BURN/CHARGE.FLASH2 /FL2/Electron Diagnostic/Bunch charge/after undulator
FLASH.DIAG/PBD2.TOROID.ML/3GUN/CHARGE.FLASH2 /FL2/Electron Diagnostic/Bunch charge/at gun
FLASH.FEL/FL20T.PH.MOTOR/MOTOR1.MOT1/FPOS /FL2/Beamlines/Tunnel Apertures/position aperture1 horizontal
FLASH.FEL/FL20T.PH.MOTOR/MOTOR2.MOT1/FPOS /FL2/Beamlines/Tunnel Apertures/position aperture1 vertical
FLASH.FEL/ADC.SIS.FL2FS/FL20.SHUTTER /FL2/Beamlines/FL20/Shutter/channel 0
FLASH.FEL/ADC.ADQ.FL2EXP1/FL2EXP1.CH00 /FL2/Experiment/MTCA-EXP1/ADQ412 GHz ADC/CH00/TD
FLASH.FEL/ADC.SIS.FL2EXP1/FL2EXP1.CH00 /FL2/Experiment/MTCA-EXP1/SIS8300 100MHz ADC/CH0/TD
FLASH.SYNC/LASER.LOCK.EXP/FLASH2.PPL1.OSC1/CURRENT_INPUT_JITTER.RD /FL2/Experiment/Pump probe laser/Synchronization/timing jitter RMS
FLASH.SYNC/LASER.LOCK.EXP/FLASH2.PPL1.OSC1/LOCK_STATUS.VALUE.RD /FL2/Experiment/Pump probe laser/Synchronization/timing jitter RMS GECCO
FLASH.SYNC/LASER.LOCK.EXP/FLASH2.PPL1.OSC1/FMC0.MD22.0.POSITION.RD /FL2/Experiment/Pump probe laser/laser delay readback
FLASH.SYNC/LASER.LOCK.EXP/FLASH2.PPL1.OSC1/FMC0.MD22.0.POSITION_SET.WR /FL2/Experiment/Pump probe laser/laser delay set value
FLASH.FEL/FLAPP2BEAMLINES/MOTOR1.FL24/FPOS /FL2/Experiment/Pump probe laser/FL24/attenuator position
FLASH.FEL/FLAPP2BEAMLINES/MOTOR2.FL24/POS /FL2/Experiment/Pump probe laser/FL24/polarization position

HDF5 structure revisions

Starting with Beamblock 4, August 2018, the hierarchy of the HDF group names have been adapted to reflect the new situation at FLASH. FLASH2 is operating for users quite some time now. Therefore, both accelerators appear equally in their respective HDF groups, namely "/FL1" and "/FL2". The root group of proper, by run organised HDF files have an attribute called "version". This version attribute has changed from "0.2.x" to "0.3.x". The changes in detail:

  • All FLASH1 related HDF groups moved to group "/FL1", i.e. a new prefix "/FL1" is added to their HDF path.
  • The ambigious term "pulse" has been replaced by "train" to refer to "pulse train". Most notably, the dataset "/Timing/pulse ID" has changed to "/Timing/train ID".
  • A number of inconsistent names have been streamlined. The relevant changes are listed in the following table.

earlier HDF path (vers. 0.2) is now (vers. 0.3)
/Photon Diagnostic/GMD/Beam position/position BDA x /FL1/Photon Diagnostic/GMD/Beam position/position BDA horizontal
/Photon Diagnostic/GMD/Beam position/position BDA y /FL1/Photon Diagnostic/GMD/Beam position/position BDA vertical
/Photon Diagnostic/GMD/Beam position/position tunnel x /FL1/Photon Diagnostic/GMD/Beam position/position tunnel horizontal
/Photon Diagnostic/GMD/Beam position/position tunnel y /FL1/Photon Diagnostic/GMD/Beam position/position tunnel vertical
/Experiment/Pump probe laser/BPM/position x /FL1/Experiment/Pump probe laser/BPM/position horizontal
/Experiment/Pump probe laser/BPM/position y /FL1/Experiment/Pump probe laser/BPM/position vertical
/FL2/Photon Diagnostic/GMD/Beam position/Average/position hall horizontal /FL2/Photon Diagnostic/GMD/Average beam position/position hall horizontal
/FL2/Photon Diagnostic/GMD/Beam position/Average/position hall vertical /FL2/Photon Diagnostic/GMD/Average beam position/position hall vertical
/FL2/Photon Diagnostic/GMD/Beam position/Average/position tunnel horizontal /FL2/Photon Diagnostic/GMD/Average beam position/position tunnel horizontal
/FL2/Photon Diagnostic/GMD/Beam position/Average/position tunnel vertical /FL2/Photon Diagnostic/GMD/Average beam position/position tunnel vertical
/FL2/Photon Diagnostic/GMD/Average energy/hall /FL2/Photon Diagnostic/GMD/Average energy/energy hall
/FL2/Photon Diagnostic/GMD/Average energy/hall (raw) /FL2/Photon Diagnostic/GMD/Average energy/energy hall (raw)
/FL2/Photon Diagnostic/GMD/Average energy/tunnel /FL2/Photon Diagnostic/GMD/Average energy/energy tunnel
/FL2/Photon Diagnostic/GMD/Average energy/tunnel (raw) /FL2/Photon Diagnostic/GMD/Average energy/energy tunnel (raw)
/FL2/Photon Diagnostic/GMD/Beam position/Pulse resolved/hall x /FL2/Photon Diagnostic/GMD/Pulse resolved beam position/position hall horizontal
/FL2/Photon Diagnostic/GMD/Beam position/Pulse resolved/hall y /FL2/Photon Diagnostic/GMD/Pulse resolved beam position/position hall vertical
/FL2/Photon Diagnostic/GMD/Beam position/Pulse resolved/tunnel x /FL2/Photon Diagnostic/GMD/Pulse resolved beam position/position tunnel horizontal
/FL2/Photon Diagnostic/GMD/Beam position/Pulse resolved/tunnel y /FL2/Photon Diagnostic/GMD/Pulse resolved beam position/position tunnel vertical

Example code showing how to access HDF5 files

Samples how to read HDF5 with Matlab

The examples apply to HDF files with HDF tree version before vers. 0.3.0.

%% read in the needed data p=path; path(p,'D:\mess-daten\DAQ-data\hdf5\Gotthard') % add the actual folder to the path hdf5file='FLASH1_EXP-2016-03-16T1420.h5'; % data with Gotthard and VLS

% h5disp(hdf5file,'/','min') % to get an idea what is in the file % h5info(hdf5file,'/Experiment/Gotthard1/BL.0') % get info about the individual channel

% read a Number per 10 Hz pulse train:

FEL_Wavelength_energy_server=h5read(hdf5file,'/Photon Diagnostic/Wavelength/Calculated by energy/wavelength' );

% read in a 1D array (spectrum) %GMD data GMD_Spectrum=h5read(hdf5file,'/Photon Diagnostic/GMD/Pulse resolved energy/energy BDA');

% This reads in all the data . One can also limit the amount of data read to a subset of the data stored in the file. e.g. for image Data (Gotthard)

Start_event= 500 ;   % define the first 10 Hz event
 Number_of_events = 20; % how many 10 Hz events to load

% read only part of the data:

Gotthard_data=h5read(hdf5file,'/Experiment/Gotthard1/BL.0',[2   650 Start_event],[50 85 Number_of_events]);

% start stop increment "manual" for 2 D data : [start bunch number in Gotthard data start pixelin spectrum start sample in 10 Hz trains], % [number of bunches in the Gotthard data number of points in the spectrum number of spectra ]

VLS_Spectrum=h5read(hdf5file,'/Photon Diagnostic/Wavelength/VLS online spectrometer/PCO.ROI.X',[400 Start_event],[200 Number_of_events] );
 

% start stop increment "manual" for 1D data : [start sample in the spectrum start sample in 10 Hz trains],[number of points in the spectrum number of spectra ]

%GMD data

GMD_Spectrum=h5read(hdf5file,'/Photon Diagnostic/GMD/Pulse resolved energy/energy BDA',[1 Start_event],[40 Number_of_events] );

How to read HDF5 with Python via FLASHH5

With FlashH5 we provide h5py based examples to access and evaluate FLASH's HDF5 files.

HDF5 and DOOCS

Here is an outdated list with the available properties that are always saved (PBD) for FLASH1 as HDF5 names and the corresponding DOOCS names

Contact | Imprint
Copyright © 2003-2019 Deutsches Elektronen-Synchrotron DESY