Changes for page DEMO - Working with FLASH data
Last modified by makuadm on 2026-01-07 06:21
Summary
-
Page properties (4 modified, 0 added, 0 removed)
-
Attachments (0 modified, 0 added, 3 removed)
Details
- Page properties
-
- Title
-
... ... @@ -1,1 +1,1 @@ 1 -DEMO - Working with FLASH data1 +DEMO - Documentation - Parent
-
... ... @@ -1,1 +1,0 @@ 1 -FLASHUSER.Offline data analysis (DAQ).WebHome - Author
-
... ... @@ -1,1 +1,1 @@ 1 -XWiki. makuadm1 +XWiki.cpassow - Content
-
... ... @@ -1,142 +1,81 @@ 1 -Experimental data is recorded as HDF files[[~[link~]>>doc:FS-FLASH USER tmp.Data Acquisition and controls 1.DAQ and controls overview.Offline data analysis (DAQ).The FLASH HDF5 structure.WebHome]] on the GPFS file system[[~[link~]>>https://docs.desy.de/asap3/]]. The access rights are linked to the user's DESY account and can be managed by the PI via the GAMMA portal[[~[link~]>>url:https://gamma-portal.desy.de/||shape="rect"]]. 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, Maxwell-Display Server[[~[link~]>>url:https://confluence.desy.de/display/MXW/Maxwell+Cluster||shape="rect"]] or JuyterHub[[~[link~]>>url:https://confluence.desy.de/display/MXW/JupyterHub+on+Maxwell||shape="rect"]]. We recommend using the JupyterHub for data exploration and the SLURM resources for high performances computing - see FAB for easy usage of the infrastructure. 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 -{{info title="How to login JupyterHub"}} 4 -=== === 8 +(% style="list-style-type: square;" %) 9 +* Links Repository 10 +(% style="list-style-type: square;" %) 11 +** including Method Description 5 5 6 -{{view-file att--filename="tmp.mp4" height="150"/}} 7 -{{/info}} 13 +\\ 8 8 9 - {{info}}10 - ===There are different options that help youto work with the FLASH HDF5 data inPython ===15 +(% style="list-style-type: square;" %) 16 +* Links to Binder 11 11 12 -* The currently developed option for large data sets: [[the FAB package>>url:https://hasfcpkg.desy.de/fab/fab.html||shape="rect"]] ... see below 13 -* 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"]] 18 +\\ 14 14 15 -(% class="Object" %)See also the collection of Demo data and sample scripts : [[doc:FS-FLASH USER tmp.Data Acquisition and controls 1.DAQ and controls overview.Offline data analysis (DAQ).Collection of HDF5 sample data from different beamlines.WebHome]] 16 -{{/info}} 20 +\\ 17 17 22 +Questions: 18 18 19 -[[~[~[image:attach:image2023-9-29_11-1-37.png~]~]>>url:https://hasfcpkg.desy.de/fab/fab.html||shape="rect"]] 24 +(% style="list-style-type: square;" %) 25 +* for whom 26 +* where Maxwell / local / extern 27 +* distribution\\ 28 +(% style="list-style-type: square;" %) 29 +** channel? 30 +(% style="list-style-type: square;" %) 31 +*** where official hosted (DESY, privat, conda-forge) 32 +** enviroment? 33 +(% style="list-style-type: square;" %) 34 +*** via files / already created? 20 20 21 -{{expand title="older ideas ..."}} 22 -(% class="Object" %)(object oriented) [[https:~~/~~/gitlab.desy.de/christopher.passow/fdh-builder>>url:https://gitlab.desy.de/christopher.passow/fdh-builder.git||shape="rect"]] 36 +\\ 23 23 24 ----- 25 - 26 -=== TODO === 27 - 28 -(% class="task-list" %) 29 -((( 30 -{{task reference="/Tasks/Task_18" status="InProgress" completeDate="" createDate="2026-01-06" reporter=""}} 31 -Short descriptions including Links: → as Text 32 -\\ 33 -{{/task}} 34 -))) 35 - 36 - 37 -(% class="task-list" %) 38 -((( 39 -{{task reference="/Tasks/Task_22" status="InProgress" completeDate="" createDate="2026-01-07" reporter=""}} 40 -distribution 41 -\\ 42 -{{/task}} 43 -))) 44 - 45 - 46 -(% class="task-list" %) 47 -((( 48 -{{task reference="/Tasks/Task_25" status="InProgress" completeDate="" createDate="2026-01-07" reporter=""}} 49 -Documentation 50 -\\ 51 -{{/task}} 52 -))) 53 - 54 - 55 -(% class="task-list" %) 56 -((( 57 -{{task reference="/Tasks/Task_27" status="InProgress" completeDate="" createDate="2026-01-07" reporter=""}} 58 -Binder 59 -\\ 60 -{{/task}} 61 -))) 62 - 63 - 64 -(% class="task-list" %) 65 -((( 66 -{{task reference="/Tasks/Task_29" status="InProgress" completeDate="" createDate="2026-01-07" reporter=""}} 67 -Screencast 68 -\\ 69 -{{/task}} 70 -))) 71 - 72 - 73 - 74 ----- 75 - 76 -==== under review ==== 77 - 78 - 79 -{{code language="bash"}} 80 -conda create -n flashh5 python=3.10 # 3.10 not necessary, but would prefer 3.8 or higher 81 -source activate flashh5 82 -conda install ipython numpy pandas #TODO: fix dependcies 83 -conda install -c https://www.desy.de/~cpassow/condarepo/ flashh5 84 - 85 -## on jhub 86 -conda install ipykernel 87 -python -m ipykernel install --user --name flashh5 --display-name "flashh5" 88 - 89 - 90 -## to remove on jhub 91 -## delete from: /home/$USER/.local/share/jupyter/kernels/ 92 -{{/code}} 93 - 94 -{{code language="py" title=" 95 -moved to repository?"}} 38 +{{code language="py"}} 96 96 class RunDirectory: 97 97 98 - def get_run_table( ): # more or less information? RunComment | Number of Files | start & stop time ?41 + def get_run_table(self): 99 99 ... 100 100 101 - def get_run(daq, run_number): # daq is not needed! 102 - 44 + def get_run(self, daq, run_number): 103 103 ... 104 104 105 105 106 -class Run: # constructor optional without RunDirectory or use there self.path48 +class Run: 107 107 108 - def get_files(): 50 + def get_files(self): 109 109 ... 110 110 111 - def get_channels(): # of file #1 53 + def get_channels(self): # of file #1? 112 112 ... 113 113 114 - def get_start_time( ): # better asattribute?56 + def get_start_time(self): 115 115 ... 116 116 117 - def get_stop_time(): # which? | better as attribute?59 + def get_stop_time(self): # which? 118 118 ... 119 - 120 - def to_df( daq_map): # to_df(daq_map,slice) slice=[0:4] ->throw Exception61 + 62 + def to_df(self, channel_dict): 121 121 ... 122 122 123 - def to_series(channel): 65 + def to_series(self, channel): 124 124 ... 125 125 126 - def to_array(channel): 68 + def to_array(self, channel): 127 127 ... 128 128 {{/code}} 129 129 130 -{{code language="py" title="ideas"}}131 -run.to_df( daq_map)132 -run.to_series( daq_adr ordaq_map) # on channel only?133 -run.to_array( daq_adr) # on channel only?72 +{{code language="py"}} 73 +run.to_df(channel_dict) 74 +run.to_series(channel_string or channel_dict) # on channel only? 75 +run.to_array(channel_string) # on channel only? 134 134 135 -## interesting? 136 -# run.to_dask(daq_map) 137 -# run.to_xarray(daq_map) 77 +# run.to_dask(dict) 78 +# run.to_xarray(dict) 138 138 {{/code}} 139 139 140 - 141 - 142 -{{/expand}} 81 +\\
- image2023-9-29_11-0-13.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.rangeadm - Size
-
... ... @@ -1,1 +1,0 @@ 1 -123.1 KB - Content
- image2023-9-29_11-1-37.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.rangeadm - Size
-
... ... @@ -1,1 +1,0 @@ 1 -90.4 KB - Content
- tmp.mp4
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.rangeadm - Size
-
... ... @@ -1,1 +1,0 @@ 1 -1.1 MB - Content