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

From version 17.1
edited by cpassow
on 2022-04-04 11:38
Change comment: There is no comment for this version
To version 33.1
edited by sndueste
on 2023-09-28 16:51
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,47 +1,174 @@
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 +link to Repos and Fab
19 19  
20 20  \\
21 21  
22 -(% style="list-style-type: square;" %)
23 -* Screencast
19 +\\
24 24  
25 25  \\
26 26  
23 +{{expand}}
27 27  \\
28 28  
29 -Questions:
26 +----
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?
28 +=== TODO ===
42 42  
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 +
43 43  \\
44 44  
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 +
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
192 + 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
195 + def get_run(daq, run_number): # daq is not needed!
196 +
69 69   ...
70 70  
71 71  
72 -class Run:
200 +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?
205 + 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):
214 + 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,14 @@
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 -## is this interesting?
229 +## interesting?
105 105  # run.to_dask(daq_map)
106 106  # run.to_xarray(daq_map)
107 107  {{/code}}
108 108  
109 109  \\
235 +
236 +\\
237 +{{/expand}}
238 +
239 +\\