EIRENE-NGM development, Code Camp 2022, KU Leven

Europe/Berlin
KU Leven (In persion / ZOOM )

KU Leven

In persion / ZOOM

https://zoom.us/j/9668661218?pwd=WnMydTR6d2t0Wi8xY0lzRmtYd25SQT09 Meeting ID: 966 866 1218 Passcode: 880409
Dmitriy Borodin (FZJ), Wouter Dekeyser (KU Leuven)
    • 09:00 13:45
      Arrival, getting started, bilateral talks, etc.

      DB:
      Wouter has started sending formal invitations from KUL as a host - please take care to contact him if you need one!

      DB:
      Many have already applied and received EUROfusion missions. For ACH I do not know, however by TSVV budget we have reached the limit. Petra's mission is on hold for now.

      KUL:
      Advice on local accomodation etc. (maybe copy-paste from SOLPS training)...

    • 13:45 14:00
      FORMAL START. Greetings, agenda approval, misc. 15m
    • 14:00 16:00
      A1: Version and simulation case(s): A1

      Taking decisions on main code brances (which are to be followed, which are to be used for e.g. parallelisation or certain validation cases) and upcomming master release.

      Convener: Yannick Marandet (CEA)

      What we agreed on (YM recollection ...) :

      1. What the release will be (still 4 branches to merge) and when it comes out, after full tests - January 2023
      2. Everybody uses the Jรผlich repo for development, downstream branches for each 'husband' code
      3. A review comity is setup for merge requests into develop with representative of every child branches -  (following the DCOC agreed upon some time ago)
      4. How to include the full user community is not yet clear since FZJ will not grant access to everybody (set up an external bug tracker ?, โ€ฆ)
      5. More discussion needed this week on the licence (what does it give access to : master + beta develop ? a snapshot ? how technically ?) & connection with the timing of the release  TBD

      NB there is a new major release of SOLPS-ITER planned in the first months of 2023, would naturally include the new EIRENE release.

    • 16:00 16:20
      Break (20 min) 20m
    • 16:20 18:20
      B1: Grouping of variables into structures: B1

      (Including in a view of IMAS)

      Convener: Jorge Gonzalez (DIFFER)

      Outcome of the discussion (more focused on streamlining the parametrization of A&M models)

      - agreement on the benefit of revising MODCLF/MODCOL for code readability and maintenance

      - first work on the setup of the data structure until end of January (departure of Jorge), JG/PB/YM

      - then see who implements (potentially AMU)

      Yannick (preparation)

      B1 there the idea is we sit down and go through a selected number of modules to agree on what a proper grouping would look like ? I think we need to prepare upfront and agree beforehand on the targeted modules (comprt, โ€ฆ)

           implementation comes when the new master version is out but we could nevertheless (as for folneut below) code at least the module, without replacing all the instances of different variables in the code

      Short-circle meeting is needed (YM, JG, PB, DB,...) - organized by JG!

    • 09:00 10:40
      Streamlining the main loop: A2
      Convener: Yannick Marandet (CEA)

      YM:

      A2 here we have the prototypal folneut routine we designed last December (getting rid of the gotos, using a big select case). This has not been tested so far but could potentially be done on our side, at least to some extent.

           We could identify other critical targets (folion is the obvious one; but it is very similar to folneut). I have to look into locate etcโ€ฆ

           Then there is the unification of the grid description between structured and unstructured grids - to be discussed with Wouter whether there have been progress on this. We could spend quite some time on this ...

      >> Presention on the status (PB)
      >> indentify further routines
      >> Contact Wouter on progress with unification between struct/unstruct grids

    • 10:40 11:00
      Coffee break 20m
    • 11:00 12:30
      Joint session with ACH: C3
      Convener: Dmitriy Borodin (FZJ)
      • Docker can be used alternative to Gateway. This is a way to IMAS.
      • Upcomming HTTP access to IMAS will not substitute Docker (mandatory for productive runs)
      • Wrapper solution can be run at this environment instead of Gateway

       

      Feedback from TSVV:

      1. The instalastion unstructions should be more reliable (tested), large commands should be alisases or scripts.
      2. We need to have it not just for Windows shell, but rather for MinGW/WSL/WSL2 envioronments. 
      3. We need clear instructions for basic cases with examples
        • How to download a signal XX for JET pulse XXX
        • How to fetch the run XX?
        • How to upload the run?..
      4. Invetigate how much of WSL/upstream linux one can accessed from insider docker sandbox
      5. How to mount local resources from Docker container? We would enjoy couple of standard setup scripts.

       

      Feedback from ACH:

      • What should be inlcluded into the docker container?
    • 12:30 13:45
      Lunch 1h 15m
    • 13:45 15:00
      Discussion/report/feedback on the coding advancement 1h 15m
      Speaker: ALL
    • 15:00 16:20
      IMASification (joint with ITER): B2

      New IMAS tools available

      • IMASViz (-> "viz" to launch) - getting the profiles
      • md_summary
      • ParaView -> VTKGGD - full plasma solutions independent on the  particula codes. One can load 2 BGs simiultaniously, operations are to expect.
      • https://confluence.iter.org/display/IMP/Scenarios+for+Diagnostic+Development
      • DivGeo (manipulating the surfaces), dg2ids, uinp. One can create the run with amendments from the existing.
         

      SimDB will include all the files. Still, EIRENE iRods (EUDAT) based system is needed:

      1) ITER will not accomodate all the runs, but just the selected
      2) We should not loose flexibility from technical side

      3) We not necessarily wish to publish for all ITER community all of our runs.

       

      Additional points:

      • HDF5 formatted data is preferrable over the MDSPlus
      • EIRENE should create the run from the IDS

       

       

    • 16:20 16:40
      Coffee break 20m
    • 16:40 18:00
      IMASification (joint with ACH): B3
      Conveners: Piotr Chmielewski (Institute of Plasma Physics and Laser Microfusion), Dr Yurii Yakovenko (IPPLM)
      • Additional output is to be provided (covering generic grid subsets), which is to be referred in the input
      • Anything of intrest should also be inluded into that output
      • The "triangle_structure" type can be a proxy for a generelized grid type (class). It can be parential to the chindren classes for particular grid types.

       

    • 09:30 10:50
      CRMs and A&M data: D2
      Convener: Francesco Cianfrani (FZJ)

      YM:
      Wednesday : personally I would suggest using the two morning sessions into one CRM and A&M data - the parallelization of the call to the setamd routine (prior to the main loop but a heavy bottleneck when you will use an actual CRM in every cell) we are currently working on fits in there. the remainder of the parallelization work, on the main loop, goes through EIRON at the time being - optimization of the OpenMP layer and investigation of domain decomposition schemes (in fact, the idea of having talliers processes goes beyond what we initially had in mind). So this part could be to the topic for Wednesday afternoon, as we discussed this afternoon

      DB: 

      >> HydKin progressa
      >> ColRad progress
       

      FC:

      _quick intro existing A&M databases

      _HYDKIN: restyling and perspectives

      _quick review slreac, tab2d, colrad

      _load datas from external databases (read from json, tabular, xml):

                       --through HYDKIN??

                       --use tab2d and define new type in eirmod_comxs

      _update colrad.

    • 10:50 11:10
      Coffee break 20m
    • 11:10 12:30
      Parallelisation and CRMs: A2
      Convener: Yannick Marandet (CEA)
    • 12:30 13:45
      Lunch 1h 15m
    • 13:45 14:30
      Discussion/report/feedback on the coding advancement 45m
      Speaker: ALL

      Discussion on Geometry generalisation

      • Can we adapt the type from IMAS convesion for that? Use it as a basis?
      • What alreratives to use of OOP do we have to emulate polymorthism (e.g. calling functions by reference)? What about using pre-processor?
      • How this is compatible with domain decomposition?
      • Introducing versioning for the grid type (e.g. for matching the IMAS evolution)

       

       Additional discussion.

      • Versioning of EIRENE input files (using the power of JSON...)
      • CMake use documentation
      • Documentation on isntallation/compilation (already started)
    • 14:30 15:00
      Magnum-PSI modelling: CRMs and FEM for PSI 30m

      (20 + 10) min

      Speaker: Jorge Gonzalez (DIFFER)
    • 15:00 16:20
      EIRON status and aplications
      Convener: Oskar Lappi (ACH-VTT)
    • 16:20 16:40
      Coffee break 20m
    • 16:40 18:00
      Special session on EIRENE hybridisation
      Convener: Giovanni Samaey

      A talk is really wishful - Who?! 15-20 min + questions/guidelines for discussion

      Result - summary of the discussion...

       

      Wouter/Niel/Wim: may be contribute?...
      - short presentation and/or providing few slides and/or points for discussion

      ==> DEMO simulation cases - chalenges, constrains, status...

    • 09:00 09:30
      Detachment studies in JET unseeded H, D, T and DT L-mode plasmas 30m

      (20+10)min

      Speaker: Mathias Groth (Aalto University)
    • 09:30 10:15
      Discussion/report/feedback on the coding advancement 45m
      Speaker: ALL
    • 10:15 12:30
      Summary talks and discussions

      For each line of the code camp should be a summary and a proposed list of action points to be proposed and agreed during the discussion

      • 10:15
        Topic A: Code streamlining and refinement 20m
        Speaker: Yannick Marandet (CEA)
      • 10:35
        Topic B: Imasification and data structures 20m
        Speaker: Jorge Gonzalez (DIFFER)
      • 10:55
        Topic C: interaction with ACH incl. parallelisation 20m
        Speaker: Dmitriy Borodin (FZJ)
      • 11:15
        Topic D: CRMs and A&M data 20m
        Speaker: Francesco Cianfrani (FZJ)

        FC:

        _quick intro existing A&M databases

        _HYDKIN: restyling and perspectives

        _quick review slreac, tab2d, colrad

        _load datas from external databases (read from json, tabular, xml):

                         --through HYDKIN??

                         --use tab2d and define new type in eirmod_comxs

        _update colrad.

    • 12:30 13:45
      Lunch 1h 15m
    • 13:45 14:35
      Wrap-up and future plans

      1) This code camp was absolute success. It is already 2nd experience proving that this kind of in person communication is really needed.  We suggest to put a high priority to have such event every year.

      2) We need new joint publication at FEC conference 2023 - we decide to focus on CRMs this time.

      3) We need seemless and consequent automatic versioning of i/o formalts, code versions etc interlinked. Git hashtags to be linked as well, but main versions are to be defined by the developers. All should be grouped in a dedicated compact input file similar to one of SOLPS-ITER.

    • 14:35 15:00
      Fixing the meeting points and adjorn 25m
      Speaker: Dmitriy Borodin (FZJ)