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,47 +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 22 -(% style="list-style-type: square;" %) 23 -* Screencast 27 +[[~[~[image:attach:image2023-9-29_11-1-37.png~]~]>>url:https://hasfcpkg.desy.de/fab/fab.html||shape="rect"]] 24 24 25 25 \\ 26 26 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"]] 33 + 34 +---- 35 + 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 + 27 27 \\ 28 28 29 -Questions: 80 +(% class="task-list" %) 81 +((( 82 +{{task reference="/Tasks/Task_22" status="InProgress"}} 83 +distribution 30 30 31 -(% style="list-style-type: square;" %) 32 -* for whom 33 -* where Maxwell / local / extern 34 -* distribution\\ 35 -(% style="list-style-type: square;" %) 36 -** channel? 37 -(% style="list-style-type: square;" %) 38 -*** where official hosted (DESY, privat, conda-forge) 39 -** enviroment? 40 -(% style="list-style-type: square;" %) 41 -*** via files / already created? 85 +(% class="task-list" %) 86 +((( 87 + 42 42 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 + 43 43 \\ 44 44 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 + 45 45 {{code language="bash"}} 46 46 conda create -n flashh5 python=3.10 # 3.10 not necessary, but would prefer 3.8 or higher 47 47 source activate flashh5 ... ... @@ -62,19 +62,20 @@ 62 62 {{code language="py" title="moved to repository?"}} 63 63 class RunDirectory: 64 64 65 - def get_run_table(): # more or less information? RunComment | Number of Files 200 + def get_run_table(): # more or less information? RunComment | Number of Files | start & stop time ? 66 66 ... 67 67 68 - def get_run(daq, run_number): # daq is not needed 203 + def get_run(daq, run_number): # daq is not needed! 204 + 69 69 ... 70 70 71 71 72 -class Run: 208 +class Run: # constructor optional without RunDirectory or use there self.path 73 73 74 74 def get_files(): 75 75 ... 76 76 77 - def get_channels(): # of file #1 ?213 + def get_channels(): # of file #1 78 78 ... 79 79 80 80 def get_start_time(): # better as attribute? ... ... @@ -82,11 +82,8 @@ 82 82 83 83 def get_stop_time(): # which? | better as attribute? 84 84 ... 85 - 86 -### for following methods to restrict number of files or separate method 87 -### e.g. create_df(files) 88 88 89 - def to_df(daq_map): 222 + def to_df(daq_map): # to_df(daq_map, slice) slice=[0:4] -> throw Exception 90 90 ... 91 91 92 92 def to_series(channel): ... ... @@ -101,9 +101,12 @@ 101 101 run.to_series(daq_adr or daq_map) # on channel only? 102 102 run.to_array(daq_adr) # on channel only? 103 103 104 -## i s this interesting?237 +## interesting? 105 105 # run.to_dask(daq_map) 106 106 # run.to_xarray(daq_map) 107 107 {{/code}} 108 108 109 109 \\ 243 + 244 +\\ 245 +{{/expand}}