Wiki source code of DEMO - Working with FLASH data

Version 26.1 by cpassow on 2022-04-06 15:31

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