Toric working group meeting

20-22 October 2008 IPP Garching
Roberto Bilato (IPP), John Wright (MIT),
Jim Conboy ( Culham / JET ) & Marco Brambilla, by phone


Background

At the last Transp Users meeting  held at Culham ( September 2007 ) it was agreed that JET would update the Toric RF heating code for use with Transp, and investigate the possibilities for using a

Purpose of meeting

Workplan

The workplan was circulated by Email, for discussion before the meeting, and nearly all topics were covered. Some comments from MB are appended

Proceedings

   Code management

Version control   JC described a perl script, which transformed the output of the SVN status command into a Fortran character array declaration. This array was included in a module mSVNvn, which made the version status at compile time available at run time. The Toric make file was changed to support this module. [ Version control for Toric is complicated by the need to maintain an additional version of the code in the Transp cvs repository at pppl. Transp itself provides two executables ( in addition to the main Transp code )  which include Toric, so it is most useful to be able to confirm which subversion files are used by each executable at run time. ]

Completed

Implement Modification logs for each subroutine of Module. JC has sample header files - will distribute these for comments

Action - JC

Adopt some coding conventions, use free format code ? MB was against free format, & conversion would likely be labour intensive. PW proposed running a code analyser, to identify the best method of adding remaining isolated subroutines to modules, identify unused variables etc. IPP have a tool ( Understand ) to do this

Action - PW

Transp version - recombination with main branch The latest versions of Transp branch & Toric trunk codes were compared, and all changes merged. In particular the normalisation of the E field values ( needed by Transp ) were incorporated, removing the only physics related difference.

Completed

Update cvs repository ( pppl ) with merged code

Action - JC

Convention for output file names . These are currently created as fort.21 , fort.22 etc and more meaningful names would be helpful. Transp already names these files in a systematic way ( i.e. with the same root name ) - can this code be taken over for all versions ??

Action - JC

Review input file ( profnt ) format(s) - There are presently 3 slightly different input formats for the Toric profiles ( temperature, density ) - can these be handled more rationally ?

Action - JC

Testing

Test Cases -  PW added a rule to the make file to run any of the available test cases. This was tested using the already existing examples, and an additional JET test case ( shot 63380 ) was added Additional runs would still be useful

Ongoing

Demonstrate restart, nphi sum working. Toric requires further development to be able to combine runs with different phi values for the same antenna. ( sumnphi mode ) - in particular, combining the E field values. This would then be used to check the combination of data in Transp. MB agreed to look into this ..

Action - MB

Speeding up the code

Possibilities for further improvement -  MPI
PW
will look at

Action - PW

JC reported improved performance on the JET cluster, after provision of 24 'Batch only' machines

Graphics Processor Units - provide an extremely cheap source of additional CPU power ( for certain applications ). JET has a test system available, for evaluation. JC will investigate this - although the single precision currently available is not suitable for immediate use with Toric.

Action - JC

Options for Transp ( i.e. what to do when the neutral beam code is running.. ) Combining the existing serial Transp code with a parallel implementation of Toric would lead to underutilisation of several processors while ( for example ) the neutral beam code was executing. Possible workarounds were discussed, but require more input from Doug McCune. Ability to run Toric as a separate process from Transp would be useful - JC will investigate this

Action - JC

Can Nmod = 2**n -1 restriction be relaxed ?? Yes, but the time taken by the FFT routines is the same for 2**(n-1) < nmod < 2**n - 1 , so might as well use the higher number of modes.

Extend profstat ( run time analysis )  to multiple processors for load balancing - done ( JC ) - all processors gave very similar results, so not interesting.

Run Parameters ( choice of )

These questions all depend on how rapidly the plasma is changing. The midplane radius of the resonance layers can provide some indication of this. A Transp plot of these positions would be helpful. (JC to investigate this possibility )If mode conversion is possible, then a higher resolution run is required. RB will document when mode conversion might be expected

Action - JC, RB

Post Processing

Graphics - the IDL utilities distributed with Toric are rather inflexible ( plot a single run only ), & require an expensive IDL license. JC  demonstrated a python application - TkToric - which could superimpose ( 1d ) plots for several different Toric runs. Agreed to add this to the Tools directory & also implement 2D plots

Action - JC

Wish List

Define nphi and current direction convention - flag IBPOL = -1 reverses the current - PW will check the sign convention for this

Action - PW

Portable robust equilibrium processor for Toric input. I2MEC is available, but over complicated for the purpose..  IPP have some alternative codes, which PW will investigate

Action - PW

Asymmetric plasmas, -ve nphi restrictions ( in Transp ) - can these be removed ? Outside scope of this meeting..

Documentation

Toric Manual - converted to html by JC - needs updating..  Can master copy be maintained in html, & a plain text file generated as required ( easier than the other way around .. )

Action - JC

Can we set up a Toric Wiki ? Need a host system which would allow off-site access

Action - All

Are there tools available to generate useful documentation from the code - ( might try Doxygen )

Action - PW

Physics

Are there any comparisons with experimental data which indicate how well the code is performing ?? Not unless the pulse was designed with this in mind..  PW showed plots of a ??? diagnostic, which were reproduced reasonably well by Toric.

ITER Like Antenna  - some discussion of steps necessary to accommodate arrangement of antenna straps, which are spaced poloidally & toroidally, & in particular how to choose nphi value(s). The Felice antenna code may be useful for this - RB will request that JC be added to list of authorised users.

Action - RB

Future Plans

JC
  • Continue Transp / ILA tests
  • TkToric ( Graphics ) development
  • GPU investigations
PW
  • Code - improvements to structure & parallelisation
  • Testing - provide procedures to test subunits of the code,
    add more test shots
  • Improve documentation
MR
  • Preparing new release, with non-Maxwellian Fast Ion distributions