PaNOSC WP4 workshop European XFEL 25 to 27 June, Schenefeld, Germany

Useful links:

Note: only 4 clients are allowed to connect (One is Jerome, one is the displaying machine, one is the speaker.).

25 June 2019

Minutes (please all contribute ideas, concerns, questions, possible designs, URLs, etc)

XTOB 1.108 has a kitchen & glasses

Emergency cooling (ice cream) available ~13.50

9:35 Andy Goetz

10:00 Hans Fangohr

10:20 CERIC-ERIC Update - Carlos

10:40 ELI Update - Jakub

10:48 ESRF Update - Thomas

ESS Update - Lottie

11:44 Report from EuXFEL (Robert)

11:54 Report from ILL (Jamie)

        -  JupyterHub        

                 - in pilot phase

- BinderHub

- not convinced people will use it

- question: What barriers could be removed to make adoption more attractive? Proposal from the audience: Default container/requirements.txt; integration of Git(lab) with Jupyter (no need to learn about Git)

- 4 people across WP3 and WP4

- developing new RDP protocol, converting x server to WebGL + textures (not public yet)

- working group of scientists        

12:02 Report from WP5 (Carsten Fortmann-Grote)

12:15 Lunch break

13:36 Report from WP3 (Gareth)

13:57 Report from WP6 (Jamie)

14:00 Report EGI (Giuseppe)

14:15 Calipso Plus, VISA, towards a common Portal  (Jamie, Aidan)

15:07 Break

15:30 Discussions:

           [break out rooms available: XHQ 1.007 & XHQ E1.150 & XHQ E2.037]

17:00 Summary

17:30 Close


Wednesday 26 June 2019

9:15 Welcome (Hans)

9:15 Michael Crusoe: Common Workflow Language  (CWL)

https://tinyurl.com/PaNOSC-CWL 

10:00 Anton Barty: ExPaNDS Project

10:20 Michael Schuh (DESY IT)

11:50 Robert Rosca - Review of computational portal (workflow tools?)

Next WP4 meeting

Should be every 4-6 months

Hackathons

Working meeting

ILL can host next meeting

ESS following meeting

Jamie has licence for confluence

Confluence.panosc.eu

Rooms available 26 June

13:30 Notebooks in use (Scientists from EuXFEL, Steffen Hauf)

13:45 Notebooks in use (Scientists from EuXFEL, MID, Mario)

        

14:41 Notebooks in use (Scientists from EuXFEL, SCS, Laurent)

15:45 Discussion: -> Break out groups Wednesday

19:00 Workshop dinner

Thursday

9:00 Breakfast coffee

9:30 Visualisation tools and hdf5 (Thomas Vincent)

10:00 Virtual hdf5 data sets, h5glance and h5py (Thomas Kluyver)

https://indico.esrf.fr/indico/event/33/overview

10:30 Deployment of computational environments (Robert Rosca)

11:30 JupyterHub & BinderHub experience (Frank Schluenzen)

13:30 Discussion and planning

        

15:00 Summary

15:30 Coffee and close

16:00-17:00 XFEL tour

Break out groups

Tuesday        

Wednesday

Break out groups at break + 30 minutes (~15:30)

Further ideas for break out groups:

Ideas(?) for tasks

––––––––––––––––––––––––––––

Notes from break out groups

Design discussion:

MILESTONE: User interface design (=Portal), 3 months, Jakub + Gareth + Stuart + Jamie

List of milestones:

MILESTONE: Oct 2019 Sample jupyter notebooks (Thomas+Robert)

MILESTONE: Nov 2019 User interface design (portal), (Jakub + Gareth + Stuart + Jamie)

MILESTONE: Feb 2020 Architecture selection of required technologies and specification (Stuart+Eduard+Aidan)

MILESTONE: Mar 2020 Compute resources API specification (Stuart+Jamie)

MILESTONE: Jun 2020 Sample Remote desktop with local data (Stuart + Jamie, VISA)

MILESTONE: Jun 2020 Sample Jupyter Notebooks execute in BinderEnvironment with local data (Robert+Thomas)

MILESTONE: Oct 2020 Prototype implementation for portal (Carlos + Eduard + Jamie)

MILESTONE: February 2021 Sample Jupyter Notebooks execute in BinderEnvironment with remote data (Thomas+Robert+Jamie)

MILESTONE: Mar 2021 Launch Remote Desktop and Jupyter analysis from Portal (Eduard)

MILESTONE: Nov 2021 Demonstrator prototype completed (Eduard + Robert + Jamie + Thomas)

MILESTONE: Nov 2021 First iteration of Documentation/Training materials (Kareem + Thomas) [Python training in Jupyter, particular analysis for selected analysis types, …]

MILESTONE: May 2021, Obtained user feedback after beta testing / validation (Thomas)

MILESTONE: Nov 2022, Deliverable 4.4

Check: cross check and link with tasks/deliverables in WP3, WP6, WP5, WP8

WP4 Deliverables (from page 65 of proposal)

Future ideas/features:

Architecture

Required APIs

 - to request compute resources (potentially at other sites / in the cloud), to show current use,

Experiment classification

Required outcomes from meeting

Visualisation break out group

JupyterHub Deployment

–––––––––––––––––––––––––––

WP4 site leads:

[a]Does anyone have a use case that isn't "last kilometer" analysis? (making figures and tables from highly processed data sourced from an archive)

[b]One group reported that they are indeed doing data reduction using Jupyter notebooks.

[c]How is the CLI generated? Is this Jupyter feature, a common extension, or a local enhancement?

[d]+steffen.hauf@xfel.eu

[e]the variables that need to be filled are extracted via nbparameterise from the first code cell and then and fill an argparse parser. Pretty straight-forward, the only somewhat special feature is to extend argparse with a more convenient list syntax, e.g. that it accepts not only --foo 1,2,3,4 but also ---foo 1-5 on the CLI

[f]Code wise it essentially boils down to this:

from nbparameterise import extract_parameters

parms = extract_parameters(nb)

for p in parms:

    parser.add_argument(p.name,

        type=p.type,  ...)

with special case handling for lists and booleans. "..." is a fill-in for adding helpstr and default values if given.

Afterwards we use nbparameterise.replace_definitions to update the notebook and then execute it into RST using nbconvert

[g]Very cool! Thank you.