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

From version 2.1
edited by cpassow
on 2022-04-04 08:06
Change comment: There is no comment for this version
To version 37.1
edited by sndueste
on 2023-09-29 11:13
Change comment: There is no comment for this version

Summary

Details

Page properties
Title
... ... @@ -1,1 +1,1 @@
1 -DEMO - Documentation
1 +DEMO - Working with FLASH data
Author
... ... @@ -1,1 +1,1 @@
1 -XWiki.cpassow
1 +XWiki.sndueste
Content
... ... @@ -1,27 +1,243 @@
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:FLASHUSER.Data Acquisition and controls.Data Access at FLASH (DAQ, gpfs,\.\.\.).Offline data analysis (DAQ).The FLASH HDF5 structure.WebHome]] on the GPFS file system[[~[link~]>>doc:ASAP3.ASAP3 Data Storage for PETRA III]]. 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 -(% style="list-style-type: square;" %)
9 -* Links Repository
10 -(% style="list-style-type: square;" %)
11 -** including Method Description
3 +\\
12 12  
5 +{{expand title="How to login JupyterHub"}}
6 +
7 +
8 +{{view-file att--filename="tmp.mp4" height="250"/}}
9 +{{/expand}}
10 +
13 13  \\
14 14  
15 -(% style="list-style-type: square;" %)
16 -* Links to Binder
13 +\\
17 17  
15 +{{info}}
16 +=== There are different options that help you to work with the FLASH HDF5 data in Python ===
17 +
18 +The currently developed option for large data sets: [[the FAB package>>url:https://hasfcpkg.desy.de/fab/fab.html||shape="rect"]] ... see below
19 +
20 +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"]]
21 +{{/info}}
22 +
18 18  \\
19 19  
25 +[[~[~[image:attach:image2023-9-29_11-1-37.png~]~]>>url:https://hasfcpkg.desy.de/fab/fab.html||shape="rect"]]
26 +
20 20  \\
21 21  
22 -Questions:
29 +{{expand title="older ideas ..."}}
30 +(% class="Object" %)(object oriented) [[https:~~/~~/gitlab.desy.de/christopher.passow/fdh-builder>>url:https://gitlab.desy.de/christopher.passow/fdh-builder.git||shape="rect"]]
23 23  
24 -(% style="list-style-type: square;" %)
25 -* for whom
26 -* where Maxwell / local / extern
27 -* distribution
32 +----
33 +
34 +=== TODO ===
35 +
36 +(% class="task-list" %)
37 +(((
38 +{{task reference="/Tasks/Task_18" status="InProgress"}}
39 +Short descriptions including Links:   → as Text\\
40 +
41 +(% class="task-list" %)
42 +(((
43 +
44 +
45 +{{task reference="/Tasks/Task_19" status="InProgress"}}
46 +GPFS
47 +{{/task}}
48 +
49 +{{task reference="/Tasks/Task_40" status="InProgress"}}
50 +Access rights
51 +{{/task}}
52 +
53 +{{task reference="/Tasks/Task_41" status="InProgress"}}
54 +Gamma Portal
55 +{{/task}}
56 +
57 +{{task reference="/Tasks/Task_42" status="InProgress"}}
58 +Maxwell
59 +{{/task}}
60 +
61 +{{task reference="/Tasks/Task_20" status="InProgress"}}
62 +JupyterHub
63 +{{/task}}
64 +
65 +{{task reference="/Tasks/Task_21" status="InProgress"}}
66 +conda ?
67 +{{/task}}
68 +
69 +{{task reference="/Tasks/Task_36" status="InProgress"}}
70 +explain install from channel instead of fixed environment, but can use environment file from example repository
71 +{{/task}}
72 +)))
73 +{{/task}}
74 +)))
75 +
76 +\\
77 +
78 +(% class="task-list" %)
79 +(((
80 +{{task reference="/Tasks/Task_22" status="InProgress"}}
81 +distribution
82 +
83 +(% class="task-list" %)
84 +(((
85 +
86 +
87 +{{task reference="/Tasks/Task_23" status="InProgress"}}
88 +channel  (where to host?)
89 +{{/task}}
90 +
91 +{{task reference="/Tasks/Task_24" status="InProgress"}}
92 +environment file (repository with examples)
93 +{{/task}}
94 +)))
95 +{{/task}}
96 +)))
97 +
98 +\\
99 +
100 +(% class="task-list" %)
101 +(((
102 +{{task reference="/Tasks/Task_25" status="InProgress"}}
103 +Documentation
104 +
105 +(% class="task-list" %)
106 +(((
107 +
108 +
109 +{{task reference="/Tasks/Task_26" status="InProgress"}}
110 +here VS repository VS sphinx
111 +{{/task}}
112 +)))
113 +{{/task}}
114 +)))
115 +
116 +\\
117 +
118 +(% class="task-list" %)
119 +(((
120 +{{task reference="/Tasks/Task_27" status="InProgress"}}
121 +Binder
122 +
123 +(% class="task-list" %)
124 +(((
125 +
126 +
127 +{{task reference="/Tasks/Task_28" status="InProgress"}}
128 +examples with Stefan
129 +{{/task}}
130 +)))
131 +{{/task}}
132 +)))
133 +
134 +\\
135 +
136 +(% class="task-list" %)
137 +(((
138 +{{task reference="/Tasks/Task_29" status="InProgress"}}
139 +Screencast
140 +
141 +(% class="task-list" %)
142 +(((
143 +
144 +
145 +{{task reference="/Tasks/Task_30" status="InProgress"}}
146 +login in jupyter hub
147 +{{/task}}
148 +
149 +{{task reference="/Tasks/Task_31" status="InProgress"}}
150 +login maxwell display
151 +{{/task}}
152 +
153 +{{task reference="/Tasks/Task_32" status="InProgress"}}
154 +use slix
155 +{{/task}}
156 +
157 +{{task reference="/Tasks/Task_33" status="InProgress"}}
158 +use hdfview plugin in jupterLab
159 +{{/task}}
160 +
161 +{{task reference="/Tasks/Task_34" status="InProgress"}}
162 +create conda env with flashh5
163 +{{/task}}
164 +)))
165 +{{/task}}
166 +)))
167 +
168 +\\
169 +
170 +\\
171 +
172 +----
173 +
174 +==== under review ====
175 +
176 +\\
177 +
178 +{{code language="bash"}}
179 +conda create -n flashh5 python=3.10 # 3.10 not necessary, but would prefer 3.8 or higher
180 +source activate flashh5
181 +conda install ipython numpy pandas #TODO: fix dependcies
182 +conda install -c https://www.desy.de/~cpassow/condarepo/ flashh5
183 +
184 +## on jhub
185 +conda install ipykernel
186 +python -m ipykernel install --user --name flashh5 --display-name "flashh5"
187 +
188 +
189 +## to remove on jhub
190 +## delete from: /home/$USER/.local/share/jupyter/kernels/
191 +{{/code}}
192 +
193 +\\
194 +
195 +{{code language="py" title="moved to repository?"}}
196 +class RunDirectory:
197 +
198 + def get_run_table(): # more or less information? RunComment | Number of Files | start & stop time ?
199 + ...
200 +
201 + def get_run(daq, run_number): # daq is not needed!
202 +
203 + ...
204 +
205 +
206 +class Run: # constructor optional without RunDirectory or use there self.path
207 +
208 + def get_files():
209 + ...
210 +
211 + def get_channels(): # of file #1
212 + ...
213 +
214 + def get_start_time(): # better as attribute?
215 + ...
216 +
217 + def get_stop_time(): # which? | better as attribute?
218 + ...
219 +
220 + def to_df(daq_map): # to_df(daq_map, slice) slice=[0:4] -> throw Exception
221 + ...
222 +
223 + def to_series(channel):
224 + ...
225 +
226 + def to_array(channel):
227 + ...
228 +{{/code}}
229 +
230 +{{code language="py" title="ideas"}}
231 +run.to_df(daq_map)
232 +run.to_series(daq_adr or daq_map) # on channel only?
233 +run.to_array(daq_adr) # on channel only?
234 +
235 +## interesting?
236 +# run.to_dask(daq_map)
237 +# run.to_xarray(daq_map)
238 +{{/code}}
239 +
240 +\\
241 +
242 +\\
243 +{{/expand}}