This is the README file for the GENE application benchmark,
distributed with the Unified European Application Benchmark Suite.

-----------
GENE readme
-----------

Contents
--------

1. General description
2. Code structure
3. Parallelization
4. Building
5. Execution
6. Data

1. General description
======================

The gyrokinetic plasma turbulence code GENE (this acronym stands for
Gyrokinetic Electromagnetic Numerical Experiment) is a software package
dedicated to solving the nonlinear gyrokinetic Integro-Differential system 
of equations in either flux-tube domain or in a radially nonlocal domain.
GENE has been developed by a team of people (the Gene Development Team,
led by F. Jenko, Max-Planck-Institut for Plasma Physics) over the last
several years. 

For further documentation of the code see: http://www.ipp.mpg.de/~fsj/gene/

2.  Code structure
==================

Each particle species is described by a time-dependent distribution function
in a five-dimensional phase space.
This results in 6 dimensional arrays, which have the following coordinates:
x y z	three space coordinates
v	parallel velocity
w	perpendicular velocity
spec	species of particles

GENE is written completely in FORTRAN90, with some language structures
from Fortran 2003 standard. It also contains preprocessing directives.

3. Parallelization
==================

Parallelization is done by domain decomposition of all 6 coordinates using MPI.
x, y, z	3 space coordinates
v	parallel velocity
w	perpendicular velocity
spec	species of particles


4. Building
===========

The source code (fortran-90) resides in directory src.
The compilation of GENE will be done by JuBE.
Compilation will be done automatically if a new executable for the
benchmark runs is needed.


5.  Running the code
====================
A very brief description of the datasets:

parameters_small
	A small data set for test purposes. Needs only 8 cores to run.
parameters_tier1
	Global simulation of ion-scale turbulence in Asdex-Upgrade, 
	needs 200-500GB total memory, runs from 256 to 4096 cores
parameters_tier0
	Global simulation of ion-scale turbulence in JET, 
	needs 3.5-7TB total memory, runs from 4096 to 16384 cores

For running the benchmark for GENE, please follow the instructions for
using JuBE.
JuBE generates for each benchmark run a run directory and generates from
a template input file the input file 'parameters' and stores it in the
run directory.
A job submit script is created as well and is submitted.


6. Data
=======

The only input file is 'parameters'. It has the format of a f90 namelist.

The following output files are stored in the run directory.

nrg.dat		The content of this file is used to verify the correctness
		of the benchmark run.

stdout		is redirected by JuBE.
		It contains logging information,
		especially the result of the time measurement.
 
--------------------------------------------------------------------------
