Wiki source code of DEMO - Working with FLASH data

Version 28.1 by cpassow on 2022-04-06 16:06

Show last authors
1 test
2
3 \\
4
5 {{expand title="TEST - How to login JupyterHub"}}
6
7
8 {{view-file att--filename="tmp.mp4" height="250"/}}
9 {{/expand}}
10
11 \\
12
13 \\
14
15 ----
16
17 === TODO ===
18
19 (% class="task-list" %)
20 (((
21 {{task reference="/Tasks/Task_18" status="InProgress"}}
22 Short descriptions including Links:   → as Text\\
23
24 (% class="task-list" %)
25 (((
26
27
28 {{task reference="/Tasks/Task_19" status="InProgress"}}
29 GPFS
30 {{/task}}
31
32 {{task reference="/Tasks/Task_40" status="InProgress"}}
33 Access rights
34 {{/task}}
35
36 {{task reference="/Tasks/Task_41" status="InProgress"}}
37 Gamma Portal
38 {{/task}}
39
40 {{task reference="/Tasks/Task_42" status="InProgress"}}
41 Maxwell
42 {{/task}}
43
44 {{task reference="/Tasks/Task_20" status="InProgress"}}
45 JupyterHub
46 {{/task}}
47
48 {{task reference="/Tasks/Task_21" status="InProgress"}}
49 conda ?
50 {{/task}}
51
52 {{task reference="/Tasks/Task_36" status="InProgress"}}
53 explain install from channel instead of fixed environment, but can use environment file from example repository
54 {{/task}}
55 )))
56 {{/task}}
57 )))
58
59 \\
60
61 (% class="task-list" %)
62 (((
63 {{task reference="/Tasks/Task_22" status="InProgress"}}
64 distribution
65
66 (% class="task-list" %)
67 (((
68
69
70 {{task reference="/Tasks/Task_23" status="InProgress"}}
71 channel  (where to host?)
72 {{/task}}
73
74 {{task reference="/Tasks/Task_24" status="InProgress"}}
75 environment file (repository with examples)
76 {{/task}}
77 )))
78 {{/task}}
79 )))
80
81 \\
82
83 (% class="task-list" %)
84 (((
85 {{task reference="/Tasks/Task_25" status="InProgress"}}
86 Documentation
87
88 (% class="task-list" %)
89 (((
90
91
92 {{task reference="/Tasks/Task_26" status="InProgress"}}
93 here VS repository VS sphinx
94 {{/task}}
95 )))
96 {{/task}}
97 )))
98
99 \\
100
101 (% class="task-list" %)
102 (((
103 {{task reference="/Tasks/Task_27" status="InProgress"}}
104 Binder
105
106 (% class="task-list" %)
107 (((
108
109
110 {{task reference="/Tasks/Task_28" status="InProgress"}}
111 examples with Stefan
112 {{/task}}
113 )))
114 {{/task}}
115 )))
116
117 \\
118
119 (% class="task-list" %)
120 (((
121 {{task reference="/Tasks/Task_29" status="InProgress"}}
122 Screencast
123
124 (% class="task-list" %)
125 (((
126
127
128 {{task reference="/Tasks/Task_30" status="InProgress"}}
129 login in jupyter hub
130 {{/task}}
131
132 {{task reference="/Tasks/Task_31" status="InProgress"}}
133 login maxwell display
134 {{/task}}
135
136 {{task reference="/Tasks/Task_32" status="InProgress"}}
137 use slix
138 {{/task}}
139
140 {{task reference="/Tasks/Task_33" status="InProgress"}}
141 use hdfview plugin in jupterLab
142 {{/task}}
143
144 {{task reference="/Tasks/Task_34" status="InProgress"}}
145 create conda env with flashh5
146 {{/task}}
147 )))
148 {{/task}}
149 )))
150
151 \\
152
153 \\
154
155 ----
156
157 ==== under review ====
158
159 \\
160
161 {{code language="bash"}}
162 conda create -n flashh5 python=3.10 # 3.10 not necessary, but would prefer 3.8 or higher
163 source activate flashh5
164 conda install ipython numpy pandas #TODO: fix dependcies
165 conda install -c https://www.desy.de/~cpassow/condarepo/ flashh5
166
167 ## on jhub
168 conda install ipykernel
169 python -m ipykernel install --user --name flashh5 --display-name "flashh5"
170
171
172 ## to remove on jhub
173 ## delete from: /home/$USER/.local/share/jupyter/kernels/
174 {{/code}}
175
176 \\
177
178 {{code language="py" title="moved to repository?"}}
179 class RunDirectory:
180
181 def get_run_table(): # more or less information? RunComment | Number of Files | start & stop time ?
182 ...
183
184 def get_run(daq, run_number): # daq is not needed!
185
186 ...
187
188
189 class Run: # constructor optional without RunDirectory or use there self.path
190
191 def get_files():
192 ...
193
194 def get_channels(): # of file #1
195 ...
196
197 def get_start_time(): # better as attribute?
198 ...
199
200 def get_stop_time(): # which? | better as attribute?
201 ...
202
203 def to_df(daq_map): # to_df(daq_map, slice) slice=[0:4] -> throw Exception
204 ...
205
206 def to_series(channel):
207 ...
208
209 def to_array(channel):
210 ...
211 {{/code}}
212
213 {{code language="py" title="ideas"}}
214 run.to_df(daq_map)
215 run.to_series(daq_adr or daq_map) # on channel only?
216 run.to_array(daq_adr) # on channel only?
217
218 ## interesting?
219 # run.to_dask(daq_map)
220 # run.to_xarray(daq_map)
221 {{/code}}
222
223 \\