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)
    • 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)...

    • 1
      FORMAL START. Greetings, agenda approval, misc.
    • 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
      Break (20 min)
    • 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!

    • 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
      Coffee break
    • 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
      Lunch
    • 5
      Discussion/report/feedback on the coding advancement
      Speaker: ALL
    • 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
      Coffee break
    • 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.

       

    • 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
      Coffee break
    • Parallelisation and CRMs: A2
      Convener: Yannick Marandet (CEA)
    • 12:30
      Lunch
    • 7
      Discussion/report/feedback on the coding advancement
      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)
    • 8
      Magnum-PSI modelling: CRMs and FEM for PSI

      (20 + 10) min

      Speaker: Jorge Gonzalez (DIFFER)
    • EIRON status and aplications
      Convener: Oskar Lappi (ACH-VTT)
    • 16:20
      Coffee break
    • 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...

    • 9
      Detachment studies in JET unseeded H, D, T and DT L-mode plasmas

      (20+10)min

      Speaker: Mathias Groth (Aalto University)
    • 10
      Discussion/report/feedback on the coding advancement
      Speaker: ALL
    • 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

      • 11
        Topic A: Code streamlining and refinement
        Speaker: Yannick Marandet (CEA)
      • 12
        Topic B: Imasification and data structures
        Speaker: Jorge Gonzalez (DIFFER)
      • 13
        Topic C: interaction with ACH incl. parallelisation
        Speaker: Dmitriy Borodin (FZJ)
      • 14
        Topic D: CRMs and A&M data
        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
      Lunch
    • 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.

    • 15
      Fixing the meeting points and adjorn
      Speaker: Dmitriy Borodin (FZJ)