Changes for page The FLASH HDF5 structure
Last modified by sndueste on 2025/09/10 11:43
Summary
-
Page properties (1 modified, 0 added, 0 removed)
Details
- Page properties
-
- Content
-
... ... @@ -104,10 +104,10 @@ 104 104 {{/layout-cell}} 105 105 {{/layout-section}} 106 106 107 -{{layout-section ac:type="single"}} 108 -{{layout-cell}} 109 - 107 +{{/layout}} 110 110 109 + 110 + 111 111 == Complete list of recordable parameters == 112 112 113 113 The complete list for the relation between DOOCS names and HDF5 names for the recordable parameters can be found in [[DESY's Repository>>url:https://stash.desy.de/projects/CS/repos/pah/browse/src/camp/data/channel2HdfName.dat||shape="rect"]]. ... ... @@ -116,13 +116,17 @@ 116 116 117 117 {{id name="DOOCSparameters"/}} 118 118 119 -Note, the HDF group and data set names apply to our HDF tree version since vers. 0.3.0. 120 120 121 - 122 122 === FLASH1 === 123 123 124 -==== Beamline info (FLASH1) ==== 125 125 123 +In the Shutdown 2024 / 2025 the complete photon diagnostic and experiment control was renewed and thus the Doocs names and also some HDF5 names had to be changed. The new naming will be documented here as soon as the systems are online again. 124 + 125 +The previously used naming scheme (2024 and before) can be found here: 126 + 127 +{{expand expanded="false" title="FLASH1 Naming scheme used until 2024"}} 128 +==== (% id="cke_bm_8853497S" style="display:none" %) (%%)Beamline info (FLASH1) ==== 129 + 126 126 {{code language="none"}}/FL1/Beamlines/Attenuator/pressure{{/code}} 127 127 //always saved (PBD)// 128 128 DOOCS prop : {{code language="none"}}FLASH.FEL/GAS_DOSING/FL1.ATTENUATOR/PRESSURE{{/code}} ... ... @@ -243,8 +243,8 @@ 243 243 244 244 {{code language="none"}}/FL1/Photon Diagnostic/GMD/Average energy/energy tunnel{{/code}} 245 245 //always saved (PBD)// 246 -(% style="color:#000000" %)DOOCS prop : 247 -(% style="color:#000000" %)DAQ channel: 250 +(% style="color:#000000" %)DOOCS prop : {{code language="none"}}FLASH.FEL/XGM.PHOTONFLUX/FL1.TUNNEL/PHOTONFLUX.UJ{{/code}} (%%) 251 +(% style="color:#000000" %)DAQ channel: {{code language="none"}}FLASH.FEL/XGM.PHOTONFLUX/FL1.TUNNEL/PHOTONFLUX.UJ{{/code}} 248 248 249 249 desc : calibrated average SASE Energy/pulse measured in the TUNNEL upstream the gas attenuator 250 250 units : microJ ... ... @@ -253,8 +253,8 @@ 253 253 {{code language="none"}}/FL1/Photon Diagnostic/GMD/Pulse resolved energy/energy tunnel{{/code}} 254 254 //always saved (PBD)// 255 255 256 -(% style="color:#000000" %)DOOCS prop : 257 -{{code language="none"}}FLASH.FEL/XGM.INTENSITY/FL1.TUNNEL/INTENSITY.TD{{/code}}DAQ channel: {{code language="none"}}FLASH.FEL/XGM.INTENSITY/FL1.TUNNEL/INTENSITY.TD{{/code}} 260 +(% style="color:#000000" %)DOOCS prop : (%%) 261 +(% style="color:#000000" %){{code language="none"}}FLASH.FEL/XGM.INTENSITY/FL1.TUNNEL/INTENSITY.TD{{/code}}DAQ channel: {{code language="none"}}FLASH.FEL/XGM.INTENSITY/FL1.TUNNEL/INTENSITY.TD{{/code}} 258 258 259 259 desc : Energy per pulse measured in the Tunnel. In addition measurement errors and beam position are included for EACH pulse in the pulse train !! (see below) 260 260 units : a.u. (more or less µJ but need to be calibrated with the "Average energy" for good precision)** [[see here for help>>doc:FS-FLASH USER tmp.jddd-linked help pages.Calibrating the pulse resolved (electron) data from GMD.WebHome]]** ... ... @@ -274,8 +274,7 @@ 274 274 The pulse energy and the error are plotted for the first bunch of the pulse trains saved in this 275 275 file 276 276 277 - 278 -[[image:attach:image2021-2-9_10-51-6.png||height="250"]] 281 + [[image:image2021-2-9_10-51-6.png]] 279 279 280 280 281 281 {{/info}} ... ... @@ -467,8 +467,8 @@ 467 467 468 468 //always saved (PBD)// 469 469 (% style="color:#172b4d" %)**FL1.SFELC**(%%) 470 -(% style="color:#000000" %)channel: FLASH.SDIAG/BAM/(% style="color:#172b4d" %)FL1.SFELC(% style="color:#000000" %)/ARRIVAL_TIME.ABSOLUTE.SA1.COMP 471 -{{code language="none"}} DOOCS prop : FLASH.SDIAG/BAM//ARRIVAL_TIME.ABSOLUTE.SA1.COMPDAQ {{/code}}(% style="letter-spacing:0.0px" %)desc: Electron bunch arrival time measured with the BAM before the undulator (pulse resolved data). This one was newly installed in 2020.. The property contains only the arrival time of the bunches sent to FL1 (e.g. if there are 30 bunches in FL1 the first 30 values are the arrival time the remaining numbers still may have arbitrary numbers looking like a signal which they are not). These are the same values as the "raw" data below - just "cleaned". The values show a very good correlation to the arrival time of the XUV pulses in the experiment (see help). 473 +(% style="color:#000000" %)channel: FLASH.SDIAG/BAM/(% style="color:#172b4d" %)FL1.SFELC(% style="color:#000000" %)/ARRIVAL_TIME.ABSOLUTE.SA1.COMP(%%) 474 +(% style="color:#000000" %){{code language="none"}} DOOCS prop : FLASH.SDIAG/BAM//ARRIVAL_TIME.ABSOLUTE.SA1.COMPDAQ {{/code}}(% style="letter-spacing:0.0px" %)desc: Electron bunch arrival time measured with the BAM before the undulator (pulse resolved data). This one was newly installed in 2020.. The property contains only the arrival time of the bunches sent to FL1 (e.g. if there are 30 bunches in FL1 the first 30 values are the arrival time the remaining numbers still may have arbitrary numbers looking like a signal which they are not). These are the same values as the "raw" data below - just "cleaned". The values show a very good correlation to the arrival time of the XUV pulses in the experiment (see help). 472 472 units: fs (bigger numbers (typically) indicate later arrival times of the electrons). 473 473 474 474 ... ... @@ -546,20 +546,23 @@ 546 546 [[Contents>>doc:||anchor="Contents"]] 547 547 548 548 552 +==== ==== 553 + 554 + 549 549 ==== Timing information, rep rate etc. (FLASH1) ==== 550 550 551 551 ===== bunch repetition rate ===== 552 552 553 -{{code language="none"}}/ FL1/Timing/repetition rate{{/code}}559 +{{code language="none"}}/Timing/repetition rate{{/code}} 554 554 //always saved (PBD)// 555 555 DOOCS prop : {{code language="none"}}FLASH.DIAG/TIMER/FLASHCPUTIME1.0/REP_RATE_KHZ.1{{/code}} 556 -DAQ channel: {{code language="none"}} TTF2.UTIL/LASER.CONTROL/GUN/PULSE_FREQ{{/code}}562 +DAQ channel: {{code language="none"}}FLASH.DIAG/TIMER/FLASHCPUTIME1.0/REP_RATE_KHZ.1{{/code}} 557 557 desc: repetition rate of the bunches / pulses within the burst (FLASH1) 558 558 units: kHz 559 559 560 560 ===== set number of pulses ===== 561 561 562 -(% style="color:#ff6600" %)(HDF5 name not yet implemented - see zraw)(% style="color:#ff0000" %){{code language="none"}}/ FL1/Timing/set number of bunches {{/code}}(%%)568 +(% style="color:#ff6600" %)(HDF5 name not yet implemented - see zraw)(% style="color:#ff0000" %){{code language="none"}}/Timing/set number of bunches {{/code}}(%%) 563 563 //always saved (PBD)// 564 564 DOOCS prop : {{code language="none"}}FLASH.DIAG/TIMINGINFO/TIME1.BUNCH_FIRST_INDEX.1 [4th number]{{/code}} 565 565 DAQ channel: {{code language="none"}}FLASH.DIAG/TIMINGINFO/TIME1.BUNCH_FIRST_INDEX.1 [4th number]{{/code}} ... ... @@ -604,12 +604,9 @@ 604 604 second column: microseconds 605 605 third column: Train ID of FLASH 606 606 607 -currently it is saved as Unix time in 613 +currently it is saved as Unix time in : /zraw/FLASH.DIAG/TIMINGINFO/TIME1.BUNCH_FIRST_INDEX.1/dGroup/time 608 608 609 -|((( 610 -/zraw/FLASH.DIAG/TIMINGINFO/TIME1.BUNCH_FIRST_INDEX.1/dGroup/time 611 - 612 -{{expand title="Timestamp help for python" expanded="false"}} 615 +{{expand expanded="false" title="Timestamp help for python"}} 613 613 import time 614 614 615 615 # epoch time is found in /zraw/FLASH.DIAG/TIMINGINFO/TIME1.BUNCH_FIRST_INDEX.1/dGroup/time #!!! a leading 1 has to be added !!! ... ... @@ -620,10 +620,7 @@ 620 620 print(formatted_time) 621 621 {{/expand}} 622 622 623 - 624 -))) 625 625 626 -[[Contents>>doc:||anchor="Contents"]] 627 627 628 628 629 629 ==== Pump Probe Laser (FLASH1) ==== ... ... @@ -741,10 +741,9 @@ 741 741 * {{code language="none"}}number of samples{{/code}}: total number of samples recorded for each 10 Hz trigger 742 742 743 743 [[Contents>>doc:||anchor="Contents"]] 744 +{{/expand}} 744 744 745 745 746 - 747 - 748 748 === FLASH2 === 749 749 750 750 There is analog to FLASH1 a permanently running "PhotonDagnostic DAQ FLASH2" (PBD2) and 2 User DAQs ... ... @@ -1122,10 +1122,10 @@ 1122 1122 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 !) 1123 1123 units: 1124 1124 1125 -===== Train time ===== 1124 +===== (% style="color:#e67e22" %)Train time(%%) ===== 1126 1126 1127 -//always saved (PBD2)// 1128 -{{code language="none"}}/Timing/train time{{/code}} 1126 +(% style="color:#e67e22" %)//always saved (PBD2)//(%%) 1127 +(% style="color:#e67e22" %){{code language="none"}}/Timing/train time{{/code}} 1129 1129 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 1130 1130 units: d h min s cs 1131 1131 ... ... @@ -1133,11 +1133,28 @@ 1133 1133 /Timing/time stamp 1134 1134 {{/code}} 1135 1135 1136 -//always saved (PBD2)// 1137 -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 1135 +(% style="color:#e67e22" %)//always saved (PBD2)//(%%) 1136 +(% style="color:#e67e22" %)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 1138 1138 second column: microseconds 1139 1139 third column: Train ID of FLASH 1140 1140 1140 + 1141 +(% id="cke_bm_2455529S" style="display:none" %) (%%)currently it is saved as Unix time in : /zraw/FLASH.DIAG/TIMINGINFO/TIME1.BUNCH_FIRST_INDEX.1/dGroup/time 1142 + 1143 +{{expand expanded="false" title="Timestamp help for python"}} 1144 + import time 1145 + 1146 +# epoch time is found in /zraw/FLASH.DIAG/TIMINGINFO/TIME1.BUNCH_FIRST_INDEX.1/dGroup/time #!!! a leading 1 has to be added !!! 1147 +# The time and date of the start of the data taking in the HDF file is encoded in the filename - to roughly check the time 1148 +epoch_time = 1709051499.17 # Replace with your epoch time 1149 + 1150 +formatted_time = time.strftime('%Y-%m-%d %H:%M:%S', time.gmtime(epoch_time)) 1151 +print(formatted_time) 1152 +{{/expand}} 1153 + 1154 + 1155 + 1156 + 1141 1141 [[Contents>>doc:||anchor="Contents"]] 1142 1142 1143 1143 ... ... @@ -1682,7 +1682,4 @@ 1682 1682 1683 1683 [[Contents>>doc:||anchor="Contents"]] 1684 1684 1685 - 1686 -{{/layout-cell}} 1687 -{{/layout-section}} 1688 -{{/layout}} 1701 +