Changes for page DEMO - Working with FLASH data
Last modified by makuadm on 2026-01-07 06:21
Summary
-
Page properties (3 modified, 0 added, 0 removed)
Details
- Page properties
-
- Title
-
... ... @@ -1,1 +1,1 @@ 1 -DEMO - Working with FLASH data1 +DEMO - Documentation - Author
-
... ... @@ -1,1 +1,1 @@ 1 -XWiki.s ndueste1 +XWiki.cpassow - Content
-
... ... @@ -1,247 +1,27 @@ 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. 1 +(% style="list-style-type: square;" %) 2 +* Short descriptions including Links: 3 +(% style="list-style-type: square;" %) 4 +** GPFS 5 +** JupyterHub 6 +** conda ? 2 2 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] 8 +(% style="list-style-type: square;" %) 9 +* Links Repository 10 +(% style="list-style-type: square;" %) 11 +** including Method Description 4 4 5 5 \\ 6 6 7 -{{expand title="How to login JupyterHub"}} 15 +(% style="list-style-type: square;" %) 16 +* Links to Binder 8 8 9 - 10 -{{view-file att--filename="tmp.mp4" height="250"/}} 11 -{{/expand}} 12 - 13 13 \\ 14 14 15 -{{info}} 16 -=== Reference implementation (Python) === 17 - 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 - 22 22 \\ 23 -{{/info}} 24 24 25 - link to Reposand Fab22 +Questions: 26 26 27 -\\ 28 - 29 -\\ 30 - 31 -\\ 32 - 33 -{{expand title="older ideas ..."}} 34 -\\ 35 - 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 - 80 -\\ 81 - 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 - 182 -{{code language="bash"}} 183 -conda create -n flashh5 python=3.10 # 3.10 not necessary, but would prefer 3.8 or higher 184 -source activate flashh5 185 -conda install ipython numpy pandas #TODO: fix dependcies 186 -conda install -c https://www.desy.de/~cpassow/condarepo/ flashh5 187 - 188 -## on jhub 189 -conda install ipykernel 190 -python -m ipykernel install --user --name flashh5 --display-name "flashh5" 191 - 192 - 193 -## to remove on jhub 194 -## delete from: /home/$USER/.local/share/jupyter/kernels/ 195 -{{/code}} 196 - 197 -\\ 198 - 199 -{{code language="py" title="moved to repository?"}} 200 -class RunDirectory: 201 - 202 - def get_run_table(): # more or less information? RunComment | Number of Files | start & stop time ? 203 - ... 204 - 205 - def get_run(daq, run_number): # daq is not needed! 206 - 207 - ... 208 - 209 - 210 -class Run: # constructor optional without RunDirectory or use there self.path 211 - 212 - def get_files(): 213 - ... 214 - 215 - def get_channels(): # of file #1 216 - ... 217 - 218 - def get_start_time(): # better as attribute? 219 - ... 220 - 221 - def get_stop_time(): # which? | better as attribute? 222 - ... 223 - 224 - def to_df(daq_map): # to_df(daq_map, slice) slice=[0:4] -> throw Exception 225 - ... 226 - 227 - def to_series(channel): 228 - ... 229 - 230 - def to_array(channel): 231 - ... 232 -{{/code}} 233 - 234 -{{code language="py" title="ideas"}} 235 -run.to_df(daq_map) 236 -run.to_series(daq_adr or daq_map) # on channel only? 237 -run.to_array(daq_adr) # on channel only? 238 - 239 -## interesting? 240 -# run.to_dask(daq_map) 241 -# run.to_xarray(daq_map) 242 -{{/code}} 243 - 244 -\\ 245 - 246 -\\ 247 -{{/expand}} 24 +(% style="list-style-type: square;" %) 25 +* for whom 26 +* where Maxwell / local / extern 27 +* distribution