Changes for page The FLASH HDF5 structure

Last modified by sndueste on 2025/02/06 10:55

From version 14.1
edited by sndueste
on 2019/09/17 17:52
Change comment: There is no comment for this version
To version 9.1
edited by sndueste
on 2019/09/17 16:31
Change comment: There is no comment for this version

Summary

Details

Page properties
Content
... ... @@ -1,8 +1,25 @@
1 1  == Contents ==
2 2  
3 +\\
3 3  
5 +* [[General information about HDF5>>doc:||anchor="General information about HDF5"]]
6 +* [[FLASH HDF5 structure>>doc:||anchor="FLASH HDF5 structure"]]
7 +* [[Most popular FLASH parameters and their names in HDF5>>doc:||anchor="Most popular FLASH parameters and their names in HDF5"]]
8 +** [[FLASH1>>doc:||anchor="FLASH1"]]
9 +*** [[Beamline info (FLASH1)>>doc:||anchor="Beamline info (FLASH1)"]]
10 +*** [[Photon Diagnostics SASE / Spectrometer (FLASH1)>>doc:||anchor="Photon Diagnostics SASE / Spectrometer (FLASH1)"]]
11 +*** [[Electron Beam properties (FLASH1)>>doc:||anchor="Electron Beam properties (FLASH1)"]]
12 +*** [[Timing information, rep rate etc.(FLASH1)>>doc:||anchor="Timing information, rep rate etc.(FLASH1)"]]
13 +*** [[Pump Probe Laser (FLASH1)>>doc:||anchor="Pump Probe Laser (FLASH1)"]]
14 +*** [[User Data (FLASH1)>>doc:||anchor="User Data (FLASH1)"]]
15 +** [[FLASH2>>doc:||anchor="FLASH2"]]
16 +** [[HDF5 structure revisions>>doc:||anchor="HDF5 structure revisions"]]
17 +* [[Example code showing how to access HDF5 files>>doc:||anchor="Example code showing how to access HDF5 files"]]
18 +** [[Samples how to read HDF5 with Matlab>>doc:||anchor="Samples how to read HDF5 with Matlab"]]
19 +** [[How to read HDF5 with Python via FLASHH5>>doc:||anchor="How to read HDF5 with Python via FLASHH5"]]
20 +* [[HDF5 and DOOCS>>doc:||anchor="HDF5 and DOOCS"]]
4 4  
5 -{{toc/}}
22 +\\
6 6  
7 7  \\
8 8  
... ... @@ -36,7 +36,7 @@
36 36  
37 37  \\
38 38  
39 -== Most popular FLASH parameters and their names in HDF5, DOOCS and (raw) DAQ ==
56 +== Most popular FLASH parameters and their names in HDF5 ==
40 40  
41 41  The complete list for the relation between DOOCS names and HDF5 names for the recordable parameters can be found in [[DESY's Repository~[~[image:url:http://hasfweb.desy.de/pub/TWiki/TWikiDocGraphics/external-link.gif~|~|width="13" height="12"~]~]>>url:https://stash.desy.de/projects/CS/repos/pah/browse/src/camp/data/channel2HdfName.dat||shape="rect"]].
42 42  The most common and often used ones are summarized below:
... ... @@ -123,7 +123,7 @@
123 123  
124 124  \\
125 125  
126 -==== Photon Diagnostics SASE ([[GMD>>url:http://photon-science.desy.de/facilities/flash/photon_diagnostics/gmd_intensity_and_position/index_eng.html||shape="rect"]]) / Spectrometer (FLASH1) ====
143 +==== Photon Diagnostics SASE / Spectrometer (FLASH1) ====
127 127  
128 128  {{code language="none"}}/FL1/Photon Diagnostic/GMD/Average energy/energy tunnel{{/code}}
129 129  //always saved (PBD)//
... ... @@ -547,7 +547,7 @@
547 547  
548 548  \\
549 549  
550 -==== Photon Diagnostics SASE ([[XGMD>>url:http://photon-science.desy.de/facilities/flash/photon_diagnostics/gmd_intensity_and_position/index_eng.html||shape="rect"]] - FLASH2) ====
567 +==== Photon Diagnostics SASE (XGMD) ====
551 551  
552 552  {{code language="none"}}/FL2/Photon Diagnostic/GMD/Average energy/energy tunnel{{/code}}
553 553  //always saved (PBD2)//
... ... @@ -609,6 +609,10 @@
609 609  
610 610  \\
611 611  
629 +\\
630 +
631 +\\
632 +
612 612  {{code language="none"}}/FL2/Photon Diagnostic/GMD/Average Beam position/position tunnel vertical{{/code}}
613 613  //always saved (PBD2)//
614 614  DOOCS prop : {{code language="none"}}FLASH.FEL/XGM.POSMON/FL2.TUNNEL/IY.POS{{/code}}
... ... @@ -618,7 +618,9 @@
618 618  
619 619  \\
620 620  
642 +\\
621 621  
644 +
622 622  //always saved (PBD2)//
623 623  \\\\{{code language="none"}}/FL2/Photon Diagnostic/GMD/Pulse resolved beam position/position tunnel x DOOCS prop : FLASH.FEL/XGM.BPM/FL2.HALL/X.TDDAQ channel: FLASH.FEL/XGM.BPM/FL2.HALL:2 desc: {{/code}}Besides the well calibrated averaged beam position information there is also the option
624 624  {{code language="none"}}to measure the beam position on a single bunch level. HOWEVER this methide needs a perfectly adjusted signal level (talk to your local contact !!) and also then the signal to noise is rather small and one needs some averaging ... BUT with this option one can determine if there was a spatial slope on a burst (say forst bunches were lower than the last ones or so ...)units : mm    {{/code}}
... ... @@ -631,197 +631,26 @@
631 631  
632 632  \\
633 633  
634 -==== Photon Diagnostics OPIS[[ >>url:http://photon-science.desy.de/facilities/flash/photon_diagnostics/opis_spectrometer/index_eng.html||shape="rect"]](FLASH2) ====
635 -
636 -for more info see: [[ OPIS>>url:http://photon-science.desy.de/facilities/flash/photon_diagnostics/opis_spectrometer/index_eng.html||shape="rect"]]
637 -
638 -(The OPIS hall is not installed yet ...)
639 -
640 640  \\
641 641  
642 -{{code language="none"}}/FL2/Photon Diagnostic/Wavelength/OPIS tunnel/Processed/mean photon energy{{/code}}
643 -// saved opon request (PBD2)//
644 -DOOCS prop : {{code language="none"}}FLASH.UTIL/STORE/FL2.TUNNEL.OPIS/VAL042{{/code}}
645 -DAQ channel:{{code language="none"}} FLASH.UTIL/STORE/FL2.TUNNEL.OPIS/VAL042{{/code}}
646 -desc : mean photon energy ( ~~ 1 sec averaging time ) measured in the TUNNEL for a specific bunch out of the bunch train (via photoelectron spectroscopy)
647 -units : eV
648 -
649 649  \\
650 650  
651 -{{code language="none"}}/FL2/Photon Diagnostic/Wavelength/OPIS tunnel/Processed/mean wavelength{{/code}}
652 -// saved opon request (PBD2)//
653 -DOOCS prop : {{code language="none"}}FLASH.UTIL/STORE/FL2.TUNNEL.OPIS/VAL040{{/code}}
654 -DAQ channel:{{code language="none"}} FLASH.UTIL/STORE/FL2.TUNNEL.OPIS/VAL040{{/code}}
655 -desc : meanwavelength ( ~~ 1 sec averaging time ) measured in the TUNNEL for a specific bunch out of the bunch train (via photoelectron spectroscopy)
656 -units : nm
657 -
658 658  \\
659 659  
660 -{{code language="none"}}/FL2/Photon Diagnostic/Wavelength/OPIS tunnel/Processed/number of analyzed bunch        (in older version this can be found in OPIS tunnel/Expert stuff/General operation parameters/){{/code}}
661 -// saved opon request (PBD2)//
662 -DOOCS prop : {{code language="none"}}FLASH.UTIL/STORE/FL2.TUNNEL.OPIS/VAL060{{/code}}
663 -DAQ channel:{{code language="none"}} FLASH.UTIL/STORE/FL2.TUNNEL.OPIS/VAL060{{/code}}
664 -desc : The bunch number of the bunch used for the wavelength calculation
665 -units :
666 -
667 667  \\
668 668  
669 -If Opis is running typically on the the averaged data is saved. For several experiments it may make sense to save the information for each single bunch. This is up to now done by savng the compleate ADC trace of the TOF setup. This is a huge amount of data and needs processing. This has to be performed after the beamtime in close contact to [[Markus Braune>>mailto:markus.braune@desy.de||shape="rect"]] ( respobsible for [[OPIS>>url:http://photon-science.desy.de/facilities/flash/photon_diagnostics/opis_spectrometer/index_eng.html||shape="rect"]])
670 -
671 671  \\
672 672  
673 -In case OPIS was not operating there is still informaton about the set wavelength for the undulators (see below) which may differ by up to 5 % from the actual wavelength due to different settings in the FEL ...
674 -
675 675  \\
676 676  
677 677  \\
678 678  
679 -==== Electron Beam properties (FLASH2) ====
680 -
681 -===== bunch charge =====
682 -
683 -{{code language="none"}}/FL2/Electron Diagnostic/Bunch charge/after undulator{{/code}}
684 -//always saved (PBD2)//
685 -DOOCS prop : {{code language="none"}}FLASH.DIAG/PBD2.TOROID.ML/9FL2BURN/CHARGE.FLASH2{{/code}}
686 -DAQ channel: {{code language="none"}}FLASH.DIAG/PBD2.TOROID.ML/9FL2BURN/CHARGE.FLASH2{{/code}}
687 -desc: electron bunch charge (FLASH2)
688 -units: nC
689 -
690 690  \\
691 691  
692 -===== undulator settings =====
693 -
694 -{{code language="none"}}/FL2/Electron Diagnostic/Undulator setting/set wavelength{{/code}}
695 -//always saved (PBD2)//
696 -DOOCS prop : {{code language="none"}}TTF2.FEEDBACK/FL2.WAVELENGTHCONTROL/FLASH2/WAVELENGTH{{/code}}
697 -DAQ channel:  {{code language="none"}}TTF2.FEEDBACK/FL2.WAVELENGTHCONTROL/FLASH2/WAVELENGTH{{/code}}
698 -desc: Set value for the anticipated wavelength . This parameter is used to set the undulator gap. It may however deviate from the actual wavelength by several % ...
699 -units: nm
700 -
701 -{{code language="none"}}/FL2/Electron Diagnostic/Undulator setting/SASE14 gap{{/code}}
702 -//always saved (PBD2)//
703 -DOOCS prop : {{code language="none"}}FLASH.UTIL/FL2.UND.MOTOR/FL2SASE14/GAP{{/code}}
704 -DAQ channel:  {{code language="none"}}FLASH.UTIL/FL2.UND.MOTOR/FL2SASE14/GAP{{/code}}
705 -desc: Sgap value of the Undulators. this can be used to follow up how many undulators were closed and if there was a taper
706 -units: mm
707 -
708 -The gap values are saved for all 12 undulators (Nr 3 to 14)
709 -
710 -=====
711 -arrival time =====
712 -
713 -**FL1**{{code language="none"}}//Electron Diagnostic/BAM/4DBC3/electron bunch arrival time (low charge){{/code}}
714 -//always saved (PBD2)//
715 -DOOCS prop : {{code language="none"}}FLASH.SDIAG/BAM/4DBC3/LOW_CHARGE_ARRIVAL_TIME{{/code}}
716 -DAQ channel: {{code language="none"}}FLASH.SDIAG/BAM.DAQ/4DBC3.LOW_CHARGE_ARRIVAL_TIME{{/code}}
717 -desc: Electron bunch arrival time measured with the BAM (more or less) before the undulator (pulse resolved data)
718 -units: ps (bigger numbers indicate later arrivaltime of the electrons)
719 -
720 -The BAM measures the arrivaltime of FLASH 1 and FLASH2 in the same data set (thus also sorted in at /FL1/ !). The first values are for FLASH1 bunches.
721 -
722 722  \\
723 723  
724 -first bunch of FLASH2 ... how to calculate ..
725 -
726 726  \\
727 727  
728 -\\
729 -
730 -Docu:  [[LINK to detailled infos from MSK (may only work inside DESY network~[~[image:url:http://hasfweb.desy.de/pub/TWiki/TWikiDocGraphics/external-link.gif~|~|width="13" height="12"~]~]>>url:http://www.desy.de/~~mbock/pages/BAM_daq_channel_descriptions.html||shape="rect"]] and to a recent  [[talk about the working principle of the BAM>>url:https://confluence.desy.de/download/attachments/134216957/BAM-basics_and_outlook-2018_DESY-template_16-9Format.pdf?version=1&modificationDate=1565162143328&api=v2||shape="rect"]]
731 -
732 -\\
733 -
734 -\\
735 -
736 -\\
737 -
738 -
739 -\\
740 -
741 -[[Contents>>doc:||anchor="Contents"]]
742 -
743 -\\
744 -
745 -==== Timing information, rep rate etc.  (FLASH1) ====
746 -
747 -===== bunch repetition rate =====
748 -
749 -{{code language="none"}}/FL1/Timing/repetition rate{{/code}}
750 -//always saved (PBD)//
751 -DOOCS prop : {{code language="none"}}FLASH.DIAG/TIMER/FLASHCPUTIME1.0/REP_RATE_KHZ.1{{/code}}
752 -DAQ channel: {{code language="none"}}TTF2.UTIL/LASER.CONTROL/GUN/PULSE_FREQ{{/code}}
753 -desc: repetition rate of the bunches / pulses within the burst (FLASH1)
754 -units: kHz
755 -\\
756 -
757 -===== set number of pulses =====
758 -
759 -{{code language="none"}}/FL1/Timing/set number of bunches{{/code}}
760 -//always saved (PBD)//
761 -DOOCS prop : {{code language="none"}}FLASH.DIAG/TOROID.ML/3GUN/NUMBEROFBUNCHES.FLASH1{{/code}}
762 -DAQ channel: {{code language="none"}}TTF2.UTIL/LASER.CONTROL/GUN/PULSE_NUM{{/code}}
763 -desc: Number of pulses set at the gun (FLASH1)
764 -units:
765 -
766 -===== actual number of pulses =====
767 -
768 -{{code language="none"}}/FL1/Timing/actual number of bunches{{/code}}
769 -//always saved (PBD)//
770 -DOOCS prop : {{code language="none"}}FLASH.DIAG/TOROID.ML/12EXP/NUMBEROFBUNCHES.FLASH1{{/code}}
771 -DAQ channel: {{code language="none"}}TTF2.DIAG/PBD.TOROID.ML/12EXP{{/code}}
772 -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)
773 -units:
774 -\\
775 -
776 -===== actual pulse pattern recorded after the undulator =====
777 -
778 -{{code language="none"}}/FL1/Timing/Bunch pattern/pattern after undulator{{/code}}
779 -//always saved (PBD)//
780 -DOOCS prop : {{code language="none"}}TTF2.DIAG/PBD.TOROID.ML/12EXP/CHARGE.TD{{/code}}
781 -DAQ channel: {{code language="none"}}TTF2.DIAG/PBD.TOROID.ML/12EXP{{/code}}
782 -desc: The bunch pattern as function of time in a burst recorded by toroide diagnostic BEHIND the undulator. (FLASH1)
783 -units:
784 -\\
785 -
786 -===== Train ID =====
787 -
788 -{{code language="none"}}/Timing/train ID{{/code}}
789 -//always saved (PBD)//
790 -DOOCS prop : {{code language="none"}}none{{/code}}
791 -DAQ channel: {{code language="none"}}none{{/code}}
792 -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 !)
793 -units:
794 -\\
795 -
796 -===== Train time =====
797 -
798 -{{code language="none"}}/Timing/train time{{/code}}
799 -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
800 -units: d h min s cs
801 -\\
802 -
803 -{{code language="none"}}/Timing/time stamp{{/code}}
804 -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
805 -second column: microseconds
806 -third column: Train ID of FLASH
807 -\\
808 -
809 -[[Contents>>doc:||anchor="Contents"]]
810 -
811 -\\
812 -
813 -\\
814 -
815 -\\
816 -
817 -\\
818 -
819 -\\
820 -
821 -\\
822 -
823 -\\
824 -
825 825  (% class="wrapped" %)
826 826  |=(((
827 827  DAQ name