Last modified by makuadm on 2026-01-07 06:21

From version 49.1
edited by makuadm
on 2026-01-07 01:26
Change comment: Task [xwiki:FLASHUSER.Offline data analysis (DAQ).DEMO - Working with FLASH data.Tasks.Task_27.WebHome] has been updated!
To version 19.1
edited by cpassow
on 2022-04-04 11:58
Change comment: There is no comment for this version

Summary

Details

Page properties
Title
... ... @@ -1,1 +1,1 @@
1 -DEMO - Working with FLASH data
1 +DEMO - Documentation
Parent
... ... @@ -1,1 +1,0 @@
1 -FLASHUSER.Offline data analysis (DAQ).WebHome
Author
... ... @@ -1,1 +1,1 @@
1 -XWiki.makuadm
1 +XWiki.cpassow
Content
... ... @@ -1,101 +1,47 @@
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.
1 +(% style="list-style-type: square;" %)
2 +* Short descriptions including Links:
3 +(% style="list-style-type: square;" %)
4 +** GPFS
5 +** JupyterHub
6 +** conda ?
2 2  
3 -{{info title="How to login JupyterHub"}}
4 -=== ===
8 +\\
5 5  
6 -{{view-file att--filename="tmp.mp4" height="150"/}}
7 -{{/info}}
10 +(% style="list-style-type: square;" %)
11 +* Links Repository
12 +(% style="list-style-type: square;" %)
13 +** including Method Description?
8 8  
9 -{{info}}
10 -=== There are different options that help you to work with the FLASH HDF5 data in Python ===
15 +\\
11 11  
12 -* 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"]]
17 +(% style="list-style-type: square;" %)
18 +* Links to Binder
14 14  
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}}
20 +\\
17 17  
22 +(% style="list-style-type: square;" %)
23 +* Screencast
18 18  
19 -[[~[~[image:attach:image2023-9-29_11-1-37.png~]~]>>url:https://hasfcpkg.desy.de/fab/fab.html||shape="rect"]]
25 +\\
20 20  
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"]]
27 +\\
23 23  
24 -----
29 +Questions:
25 25  
26 -=== TODO ===
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?
27 27  
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 -)))
43 +\\
35 35  
36 -
37 -(% class="task-list" %)
38 -(((
39 -{{task reference="/Tasks/Task_22" status="InProgress"}}
40 -distribution
41 -
42 -(% class="task-list" %)
43 -(((
44 -
45 -
46 -{{task reference="/Tasks/Task_23" status="InProgress" completeDate="" createDate="2026-01-06" reporter=""}}
47 -channel  (where to host?)
48 -{{/task}}
49 -
50 -{{task reference="/Tasks/Task_24" status="InProgress"}}
51 -environment file (repository with examples)
52 -{{/task}}
53 -)))
54 -{{/task}}
55 -)))
56 -
57 -
58 -(% class="task-list" %)
59 -(((
60 -{{task reference="/Tasks/Task_25" status="InProgress"}}
61 -Documentation
62 -
63 -(% class="task-list" %)
64 -(((
65 -
66 -
67 -{{task reference="/Tasks/Task_26" status="InProgress"}}
68 -here VS repository VS sphinx
69 -{{/task}}
70 -)))
71 -{{/task}}
72 -)))
73 -
74 -
75 -(% class="task-list" %)
76 -(((
77 -{{task reference="/Tasks/Task_27" status="InProgress" completeDate="" createDate="2026-01-07" reporter=""}}
78 -Binder
79 -\\
80 -{{/task}}
81 -)))
82 -
83 -
84 -(% class="task-list" %)
85 -(((
86 -{{task reference="/Tasks/Task_29" status="InProgress" completeDate="" createDate="2026-01-07" reporter=""}}
87 -Screencast
88 -\\
89 -{{/task}}
90 -)))
91 -
92 -
93 -
94 -----
95 -
96 -==== under review ====
97 -
98 -
99 99  {{code language="bash"}}
100 100  conda create -n flashh5 python=3.10 # 3.10 not necessary, but would prefer 3.8 or higher
101 101  source activate flashh5
... ... @@ -111,19 +111,19 @@
111 111  ## delete from: /home/$USER/.local/share/jupyter/kernels/
112 112  {{/code}}
113 113  
114 -{{code language="py" title="
115 -moved to repository?"}}
60 +\\
61 +
62 +{{code language="py" title="moved to repository?"}}
116 116  class RunDirectory:
117 117  
118 - def get_run_table(): # more or less information? RunComment | Number of Files | start & stop time ?
65 + def get_run_table(): # more or less information? RunComment | Number of Files
119 119   ...
120 120  
121 - def get_run(daq, run_number): # daq is not needed!
122 -
68 + def get_run(daq, run_number): # daq is not needed
123 123   ...
124 124  
125 125  
126 -class Run: # constructor optional without RunDirectory or use there self.path
72 +class Run:
127 127  
128 128   def get_files():
129 129   ...
... ... @@ -136,6 +136,9 @@
136 136  
137 137   def get_stop_time(): # which? | better as attribute?
138 138   ...
85 +
86 +### for following methods to restrict number of files or separate method
87 +### e.g. create_df(files)
139 139  
140 140   def to_df(daq_map): # to_df(daq_map, slice) slice=[0:4] -> throw Exception
141 141   ...
... ... @@ -152,11 +152,9 @@
152 152  run.to_series(daq_adr or daq_map) # on channel only?
153 153  run.to_array(daq_adr) # on channel only?
154 154  
155 -## interesting?
104 +## is this interesting?
156 156  # run.to_dask(daq_map)
157 157  # run.to_xarray(daq_map)
158 158  {{/code}}
159 159  
160 -
161 -
162 -{{/expand}}
109 +\\
image2023-9-29_11-0-13.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.rangeadm
Size
... ... @@ -1,1 +1,0 @@
1 -123.1 KB
Content
image2023-9-29_11-1-37.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.rangeadm
Size
... ... @@ -1,1 +1,0 @@
1 -90.4 KB
Content
tmp.mp4
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.rangeadm
Size
... ... @@ -1,1 +1,0 @@
1 -1.1 MB
Content