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
The workplan was circulated by Email, for discussion before the meeting, and nearly all topics were covered. Some comments from MB are appended
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
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
Possibilities for
further improvement - MPI
PW will look at
Optimum number of processors required as a function of NMOD ( # torroidal modes ) & effect of using several cores on the same multi-core processor
Interpolation to determine dielectric constant
Optimal ordering of data to make best use of processor cache
Comparison of different processor interconnects
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.
How large does Nmod ( # of Torroidal modes ) need to be ??
When is more than one Nphi/antenna required
(Transp) - optimisation - use more timesteps or higher Nmod ?
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
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
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..
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
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