Changes for page DEMO - Working with FLASH data
Last modified by makuadm on 2026-01-07 06:21
From version 15.1
edited by cpassow
on 2022-04-04 11:29
on 2022-04-04 11:29
Change comment:
There is no comment for this version
To version 52.1
edited by makuadm
on 2026-01-07 06:21
on 2026-01-07 06:21
Change comment:
Task [xwiki:FLASHUSER.Offline data analysis (DAQ).DEMO - Working with FLASH data.Tasks.Task_31.WebHome] has been updated!
Summary
-
Page properties (4 modified, 0 added, 0 removed)
-
Attachments (0 modified, 3 added, 0 removed)
Details
- Page properties
-
- Title
-
... ... @@ -1,1 +1,1 @@ 1 -DEMO - Documentation1 +DEMO - Working with FLASH data - Parent
-
... ... @@ -1,0 +1,1 @@ 1 +FLASHUSER.Offline data analysis (DAQ).WebHome - Author
-
... ... @@ -1,1 +1,1 @@ 1 -XWiki. cpassow1 +XWiki.makuadm - Content
-
... ... @@ -1,47 +1,81 @@ 1 -(% style="list-style-type: square;" %) 2 -* Short descriptions including Links: 3 -(% style="list-style-type: square;" %) 4 -** GPFS 5 -** JupyterHub 6 -** conda ? 1 +Experimental data is recorded as HDF files[[~[link~]>>doc:FS-FLASH USER tmp.Data Acquisition and controls 1.DAQ and controls overview.Offline data analysis (DAQ).The FLASH HDF5 structure.WebHome]] on the GPFS file system[[~[link~]>>https://docs.desy.de/asap3/]]. The access rights are linked to the user's DESY account and can be managed by the PI via the GAMMA portal[[~[link~]>>url:https://gamma-portal.desy.de/||shape="rect"]]. The experimental data can be downloaded via the GAMMA portal, but it is advised to use the DESY computing infrastructure. Access point are via ssh, Maxwell-Display Server[[~[link~]>>url:https://confluence.desy.de/display/MXW/Maxwell+Cluster||shape="rect"]] or JuyterHub[[~[link~]>>url:https://confluence.desy.de/display/MXW/JupyterHub+on+Maxwell||shape="rect"]]. We recommend using the JupyterHub for data exploration and the SLURM resources for high performances computing - see FAB for easy usage of the infrastructure. 7 7 8 -\\ 3 +{{info title="How to login JupyterHub"}} 4 +=== === 9 9 10 -(% style="list-style-type: square;" %) 11 -* Links Repository 12 -(% style="list-style-type: square;" %) 13 -** including Method Description? 6 +{{view-file att--filename="tmp.mp4" height="150"/}} 7 +{{/info}} 14 14 15 -\\ 9 +{{info}} 10 +=== There are different options that help you to work with the FLASH HDF5 data in Python === 16 16 17 - (%style="list-style-type:square;"%)18 -* LinkstoBinder12 +* The currently developed option for large data sets: [[the FAB package>>url:https://hasfcpkg.desy.de/fab/fab.html||shape="rect"]] ... see below 13 +* and for smaller projects: (% class="Object" %)[[https:~~/~~/gitlab.desy.de/christopher.passow/flash-daq-hdf>>url:https://gitlab.desy.de/christopher.passow/flash-daq-hdf||shape="rect"]] 19 19 20 -\\ 15 +(% class="Object" %)See also the collection of Demo data and sample scripts : [[doc:FS-FLASH USER tmp.Data Acquisition and controls 1.DAQ and controls overview.Offline data analysis (DAQ).Collection of HDF5 sample data from different beamlines.WebHome]] 16 +{{/info}} 21 21 22 -(% style="list-style-type: square;" %) 23 -* Screencast 24 24 25 - \\19 +[[~[~[image:attach:image2023-9-29_11-1-37.png~]~]>>url:https://hasfcpkg.desy.de/fab/fab.html||shape="rect"]] 26 26 27 -\\ 21 +{{expand title="older ideas ..."}} 22 +(% class="Object" %)(object oriented) [[https:~~/~~/gitlab.desy.de/christopher.passow/fdh-builder>>url:https://gitlab.desy.de/christopher.passow/fdh-builder.git||shape="rect"]] 28 28 29 - Questions:24 +---- 30 30 31 -(% style="list-style-type: square;" %) 32 -* for whom 33 -* where Maxwell / local / extern 34 -* distribution\\ 35 -(% style="list-style-type: square;" %) 36 -** channel? 37 -(% style="list-style-type: square;" %) 38 -*** where official hosted (DESY, privat, conda-forge) 39 -** enviroment? 40 -(% style="list-style-type: square;" %) 41 -*** via files / already created? 26 +=== TODO === 42 42 43 -\\ 28 +(% class="task-list" %) 29 +((( 30 +{{task reference="/Tasks/Task_18" status="InProgress" completeDate="" createDate="2026-01-06" reporter=""}} 31 +Short descriptions including Links: → as Text 32 +\\ 33 +{{/task}} 34 +))) 44 44 36 + 37 +(% class="task-list" %) 38 +((( 39 +{{task reference="/Tasks/Task_22" status="InProgress" completeDate="" createDate="2026-01-07" reporter=""}} 40 +distribution 41 +\\ 42 +{{/task}} 43 +))) 44 + 45 + 46 +(% class="task-list" %) 47 +((( 48 +{{task reference="/Tasks/Task_25" status="InProgress" completeDate="" createDate="2026-01-07" reporter=""}} 49 +Documentation 50 +\\ 51 +{{/task}} 52 +))) 53 + 54 + 55 +(% class="task-list" %) 56 +((( 57 +{{task reference="/Tasks/Task_27" status="InProgress" completeDate="" createDate="2026-01-07" reporter=""}} 58 +Binder 59 +\\ 60 +{{/task}} 61 +))) 62 + 63 + 64 +(% class="task-list" %) 65 +((( 66 +{{task reference="/Tasks/Task_29" status="InProgress" completeDate="" createDate="2026-01-07" reporter=""}} 67 +Screencast 68 +\\ 69 +{{/task}} 70 +))) 71 + 72 + 73 + 74 +---- 75 + 76 +==== under review ==== 77 + 78 + 45 45 {{code language="bash"}} 46 46 conda create -n flashh5 python=3.10 # 3.10 not necessary, but would prefer 3.8 or higher 47 47 source activate flashh5 ... ... @@ -57,24 +57,24 @@ 57 57 ## delete from: /home/$USER/.local/share/jupyter/kernels/ 58 58 {{/code}} 59 59 60 -\\ 61 - 62 -{{code language="py" title="moved to repository?"}} 94 +{{code language="py" title=" 95 +moved to repository?"}} 63 63 class RunDirectory: 64 64 65 - def get_run_table(): # more or less information? 98 + def get_run_table(): # more or less information? RunComment | Number of Files | start & stop time ? 66 66 ... 67 67 68 - def get_run(daq, run_number): # daq is not needed 101 + def get_run(daq, run_number): # daq is not needed! 102 + 69 69 ... 70 70 71 71 72 -class Run: 106 +class Run: # constructor optional without RunDirectory or use there self.path 73 73 74 74 def get_files(): 75 75 ... 76 76 77 - def get_channels(): # of file #1 ?111 + def get_channels(): # of file #1 78 78 ... 79 79 80 80 def get_start_time(): # better as attribute? ... ... @@ -82,11 +82,8 @@ 82 82 83 83 def get_stop_time(): # which? | better as attribute? 84 84 ... 85 - 86 -### for following methods to restrict number of files or separate method 87 -### e.g. create_df(files) 88 88 89 - def to_df(daq_map): 120 + def to_df(daq_map): # to_df(daq_map, slice) slice=[0:4] -> throw Exception 90 90 ... 91 91 92 92 def to_series(channel): ... ... @@ -101,9 +101,11 @@ 101 101 run.to_series(daq_adr or daq_map) # on channel only? 102 102 run.to_array(daq_adr) # on channel only? 103 103 104 -## i s this interesting?135 +## interesting? 105 105 # run.to_dask(daq_map) 106 106 # run.to_xarray(daq_map) 107 107 {{/code}} 108 108 109 -\\ 140 + 141 + 142 +{{/expand}}
- image2023-9-29_11-0-13.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.rangeadm - Size
-
... ... @@ -1,0 +1,1 @@ 1 +123.1 KB - Content
- image2023-9-29_11-1-37.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.rangeadm - Size
-
... ... @@ -1,0 +1,1 @@ 1 +90.4 KB - Content
- tmp.mp4
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.rangeadm - Size
-
... ... @@ -1,0 +1,1 @@ 1 +1.1 MB - Content