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

From version 16.1
edited by cpassow
on 2022-04-04 11:37
Change comment: There is no comment for this version
To version 35.1
edited by sndueste
on 2023-09-28 16:54
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,47 +1,184 @@
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] on the GPFS file system[link]. The access rights[link to ACLs] are linked to the user's DESY account and can be managed by the PI via the GAMMA portal[link]. 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[link], Maxwell-Display Server[link] or JuyterHub[link]. We recommmend using the JupyterHub for data exploration and the SLURM resources[link] for high performances computing.
7 7  
3 +For simplified acccess we provide a conda module flashh5[link] which can be installed in a personal conda environment[link] on the Maxwell Cluster. Example on the usage can be found here [link - repo + binder]
4 +
8 8  \\
9 9  
10 -(% style="list-style-type: square;" %)
11 -* Links Repository
12 -(% style="list-style-type: square;" %)
13 -** including Method Description?
7 +{{expand title="How to login JupyterHub"}}
14 14  
9 +
10 +{{view-file att--filename="tmp.mp4" height="250"/}}
11 +{{/expand}}
12 +
15 15  \\
16 16  
17 -(% style="list-style-type: square;" %)
18 -* Links to Binder
15 +{{info}}
16 +=== Reference implementation (Python) ===
19 19  
18 +(imperative)  (% class="Object" %)[[https:~~/~~/gitlab.desy.de/christopher.passow/flash-daq-hdf>>url:https://gitlab.desy.de/christopher.passow/flash-daq-hdf||shape="rect"]]
19 +
20 +(% class="Object" %)(object oriented) [[https:~~/~~/gitlab.desy.de/christopher.passow/fdh-builder>>url:https://gitlab.desy.de/christopher.passow/fdh-builder.git||shape="rect"]]
21 +
20 20  \\
23 +{{/info}}
21 21  
22 -(% style="list-style-type: square;" %)
23 -* Screencast
25 +link to Repos and Fab
24 24  
25 25  \\
26 26  
27 27  \\
28 28  
29 -Questions:
31 +\\
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?
33 +{{expand title="older ideas ..."}}
34 +\\
42 42  
36 +----
37 +
38 +=== TODO ===
39 +
40 +(% class="task-list" %)
41 +(((
42 +{{task reference="/Tasks/Task_18" status="InProgress"}}
43 +Short descriptions including Links:   → as Text\\
44 +
45 +(% class="task-list" %)
46 +(((
47 +
48 +
49 +{{task reference="/Tasks/Task_19" status="InProgress"}}
50 +GPFS
51 +{{/task}}
52 +
53 +{{task reference="/Tasks/Task_40" status="InProgress"}}
54 +Access rights
55 +{{/task}}
56 +
57 +{{task reference="/Tasks/Task_41" status="InProgress"}}
58 +Gamma Portal
59 +{{/task}}
60 +
61 +{{task reference="/Tasks/Task_42" status="InProgress"}}
62 +Maxwell
63 +{{/task}}
64 +
65 +{{task reference="/Tasks/Task_20" status="InProgress"}}
66 +JupyterHub
67 +{{/task}}
68 +
69 +{{task reference="/Tasks/Task_21" status="InProgress"}}
70 +conda ?
71 +{{/task}}
72 +
73 +{{task reference="/Tasks/Task_36" status="InProgress"}}
74 +explain install from channel instead of fixed environment, but can use environment file from example repository
75 +{{/task}}
76 +)))
77 +{{/task}}
78 +)))
79 +
43 43  \\
44 44  
82 +(% class="task-list" %)
83 +(((
84 +{{task reference="/Tasks/Task_22" status="InProgress"}}
85 +distribution
86 +
87 +(% class="task-list" %)
88 +(((
89 +
90 +
91 +{{task reference="/Tasks/Task_23" status="InProgress"}}
92 +channel  (where to host?)
93 +{{/task}}
94 +
95 +{{task reference="/Tasks/Task_24" status="InProgress"}}
96 +environment file (repository with examples)
97 +{{/task}}
98 +)))
99 +{{/task}}
100 +)))
101 +
102 +\\
103 +
104 +(% class="task-list" %)
105 +(((
106 +{{task reference="/Tasks/Task_25" status="InProgress"}}
107 +Documentation
108 +
109 +(% class="task-list" %)
110 +(((
111 +
112 +
113 +{{task reference="/Tasks/Task_26" status="InProgress"}}
114 +here VS repository VS sphinx
115 +{{/task}}
116 +)))
117 +{{/task}}
118 +)))
119 +
120 +\\
121 +
122 +(% class="task-list" %)
123 +(((
124 +{{task reference="/Tasks/Task_27" status="InProgress"}}
125 +Binder
126 +
127 +(% class="task-list" %)
128 +(((
129 +
130 +
131 +{{task reference="/Tasks/Task_28" status="InProgress"}}
132 +examples with Stefan
133 +{{/task}}
134 +)))
135 +{{/task}}
136 +)))
137 +
138 +\\
139 +
140 +(% class="task-list" %)
141 +(((
142 +{{task reference="/Tasks/Task_29" status="InProgress"}}
143 +Screencast
144 +
145 +(% class="task-list" %)
146 +(((
147 +
148 +
149 +{{task reference="/Tasks/Task_30" status="InProgress"}}
150 +login in jupyter hub
151 +{{/task}}
152 +
153 +{{task reference="/Tasks/Task_31" status="InProgress"}}
154 +login maxwell display
155 +{{/task}}
156 +
157 +{{task reference="/Tasks/Task_32" status="InProgress"}}
158 +use slix
159 +{{/task}}
160 +
161 +{{task reference="/Tasks/Task_33" status="InProgress"}}
162 +use hdfview plugin in jupterLab
163 +{{/task}}
164 +
165 +{{task reference="/Tasks/Task_34" status="InProgress"}}
166 +create conda env with flashh5
167 +{{/task}}
168 +)))
169 +{{/task}}
170 +)))
171 +
172 +\\
173 +
174 +\\
175 +
176 +----
177 +
178 +==== under review ====
179 +
180 +\\
181 +
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
... ... @@ -62,19 +62,20 @@
62 62  {{code language="py" title="moved to repository?"}}
63 63  class RunDirectory:
64 64  
65 - def get_run_table(): # more or less information? RunComment
202 + 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
205 + def get_run(daq, run_number): # daq is not needed!
206 +
69 69   ...
70 70  
71 71  
72 -class Run:
210 +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?
215 + 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):
224 + 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,12 @@
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 -## is this interesting?
239 +## interesting?
105 105  # run.to_dask(daq_map)
106 106  # run.to_xarray(daq_map)
107 107  {{/code}}
108 108  
109 109  \\
245 +
246 +\\
247 +{{/expand}}