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

From version 13.1
edited by cpassow
on 2022-04-04 09:56
Change comment: There is no comment for this version
To version 36.1
edited by sndueste
on 2023-09-29 11:07
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,42 +1,182 @@
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 +\\
19 19  
17 +{{info}}
18 +=== There are different options that help you to work with the FLASH HDF5 data in Python ===
19 +
20 +The currently developed option for large data sets: [[the FAB package>>url:https://hasfcpkg.desy.de/fab/fab.html||shape="rect"]] ... see below
21 +
22 +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"]]
23 +{{/info}}
24 +
20 20  \\
21 21  
27 +[[~[~[image:attach:image2023-9-29_11-1-37.png~]~]>>url:https://hasfcpkg.desy.de/fab/fab.html||shape="rect"]]
28 +
22 22  \\
23 23  
24 -Questions:
31 +{{expand title="older ideas ..."}}
32 +(% class="Object" %)(object oriented) [[https:~~/~~/gitlab.desy.de/christopher.passow/fdh-builder>>url:https://gitlab.desy.de/christopher.passow/fdh-builder.git||shape="rect"]]
25 25  
26 -(% style="list-style-type: square;" %)
27 -* for whom
28 -* where Maxwell / local / extern
29 -* distribution\\
30 -(% style="list-style-type: square;" %)
31 -** channel?
32 -(% style="list-style-type: square;" %)
33 -*** where official hosted (DESY, privat, conda-forge)
34 -** enviroment?
35 -(% style="list-style-type: square;" %)
36 -*** via files / already created?
34 +----
37 37  
36 +=== TODO ===
37 +
38 +(% class="task-list" %)
39 +(((
40 +{{task reference="/Tasks/Task_18" status="InProgress"}}
41 +Short descriptions including Links:   → as Text\\
42 +
43 +(% class="task-list" %)
44 +(((
45 +
46 +
47 +{{task reference="/Tasks/Task_19" status="InProgress"}}
48 +GPFS
49 +{{/task}}
50 +
51 +{{task reference="/Tasks/Task_40" status="InProgress"}}
52 +Access rights
53 +{{/task}}
54 +
55 +{{task reference="/Tasks/Task_41" status="InProgress"}}
56 +Gamma Portal
57 +{{/task}}
58 +
59 +{{task reference="/Tasks/Task_42" status="InProgress"}}
60 +Maxwell
61 +{{/task}}
62 +
63 +{{task reference="/Tasks/Task_20" status="InProgress"}}
64 +JupyterHub
65 +{{/task}}
66 +
67 +{{task reference="/Tasks/Task_21" status="InProgress"}}
68 +conda ?
69 +{{/task}}
70 +
71 +{{task reference="/Tasks/Task_36" status="InProgress"}}
72 +explain install from channel instead of fixed environment, but can use environment file from example repository
73 +{{/task}}
74 +)))
75 +{{/task}}
76 +)))
77 +
38 38  \\
39 39  
80 +(% class="task-list" %)
81 +(((
82 +{{task reference="/Tasks/Task_22" status="InProgress"}}
83 +distribution
84 +
85 +(% class="task-list" %)
86 +(((
87 +
88 +
89 +{{task reference="/Tasks/Task_23" status="InProgress"}}
90 +channel  (where to host?)
91 +{{/task}}
92 +
93 +{{task reference="/Tasks/Task_24" status="InProgress"}}
94 +environment file (repository with examples)
95 +{{/task}}
96 +)))
97 +{{/task}}
98 +)))
99 +
100 +\\
101 +
102 +(% class="task-list" %)
103 +(((
104 +{{task reference="/Tasks/Task_25" status="InProgress"}}
105 +Documentation
106 +
107 +(% class="task-list" %)
108 +(((
109 +
110 +
111 +{{task reference="/Tasks/Task_26" status="InProgress"}}
112 +here VS repository VS sphinx
113 +{{/task}}
114 +)))
115 +{{/task}}
116 +)))
117 +
118 +\\
119 +
120 +(% class="task-list" %)
121 +(((
122 +{{task reference="/Tasks/Task_27" status="InProgress"}}
123 +Binder
124 +
125 +(% class="task-list" %)
126 +(((
127 +
128 +
129 +{{task reference="/Tasks/Task_28" status="InProgress"}}
130 +examples with Stefan
131 +{{/task}}
132 +)))
133 +{{/task}}
134 +)))
135 +
136 +\\
137 +
138 +(% class="task-list" %)
139 +(((
140 +{{task reference="/Tasks/Task_29" status="InProgress"}}
141 +Screencast
142 +
143 +(% class="task-list" %)
144 +(((
145 +
146 +
147 +{{task reference="/Tasks/Task_30" status="InProgress"}}
148 +login in jupyter hub
149 +{{/task}}
150 +
151 +{{task reference="/Tasks/Task_31" status="InProgress"}}
152 +login maxwell display
153 +{{/task}}
154 +
155 +{{task reference="/Tasks/Task_32" status="InProgress"}}
156 +use slix
157 +{{/task}}
158 +
159 +{{task reference="/Tasks/Task_33" status="InProgress"}}
160 +use hdfview plugin in jupterLab
161 +{{/task}}
162 +
163 +{{task reference="/Tasks/Task_34" status="InProgress"}}
164 +create conda env with flashh5
165 +{{/task}}
166 +)))
167 +{{/task}}
168 +)))
169 +
170 +\\
171 +
172 +\\
173 +
174 +----
175 +
176 +==== under review ====
177 +
178 +\\
179 +
40 40  {{code language="bash"}}
41 41  conda create -n flashh5 python=3.10 # 3.10 not necessary, but would prefer 3.8 or higher
42 42  source activate flashh5
... ... @@ -57,19 +57,20 @@
57 57  {{code language="py" title="moved to repository?"}}
58 58  class RunDirectory:
59 59  
60 - def get_run_table():
200 + def get_run_table(): # more or less information? RunComment | Number of Files | start & stop time ?
61 61   ...
62 62  
63 - def get_run(daq, run_number): # daq is not needed
203 + def get_run(daq, run_number): # daq is not needed!
204 +
64 64   ...
65 65  
66 66  
67 -class Run:
208 +class Run: # constructor optional without RunDirectory or use there self.path
68 68  
69 69   def get_files():
70 70   ...
71 71  
72 - def get_channels(): # of file #1?
213 + def get_channels(): # of file #1
73 73   ...
74 74  
75 75   def get_start_time(): # better as attribute?
... ... @@ -77,11 +77,8 @@
77 77  
78 78   def get_stop_time(): # which? | better as attribute?
79 79   ...
80 -
81 -### for following methods to restrict number of files or separate method
82 -### e.g. create_df(files)
83 83  
84 - def to_df(daq_map):
222 + def to_df(daq_map): # to_df(daq_map, slice) slice=[0:4] -> throw Exception
85 85   ...
86 86  
87 87   def to_series(channel):
... ... @@ -96,9 +96,12 @@
96 96  run.to_series(daq_adr or daq_map) # on channel only?
97 97  run.to_array(daq_adr) # on channel only?
98 98  
99 -## is this interesting?
237 +## interesting?
100 100  # run.to_dask(daq_map)
101 101  # run.to_xarray(daq_map)
102 102  {{/code}}
103 103  
104 104  \\
243 +
244 +\\
245 +{{/expand}}