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