TABLE OF CONTENTS
- 1. /output
- 1.1. output/line
- 1.2. output/header
- 1.3. output/chapter
- 1.4. output/subchapter
- 1.5. output/paragraph
- 1.6. output/DoPrLevelDefault
- 1.7. output/DoPrLevel
- 1.8. output/WriteParticle
- 1.9. output/notInRelease
- 1.10. output/DoPr
- 1.11. output/intToChar
- 1.12. output/intToChar4
- 1.13. output/intToChar_pm
- 1.14. output/realToChar
- 1.15. output/realToChar4
- 1.16. output/Write_ReadingInput
- 1.17. output/Write_InitStatus
- 1.18. output/WriteParticle_debug
- 1.19. output/writeFileDocu
- 1.20. output/WriteParticleVector
- 1.21. output/timeMeasurement
- 1.22. output/PrintTime
/output [ Modules ]
NAME
module output
PURPOSE
Includes basic tools for output.
output/line [ Global module-variables ]
[ Top ] [ output ] [ Global module-variables ]
PURPOSE
present a string of length 79 with '*' (not 80 because of f90-internal line breaking!!!)
SOURCE
character(79), parameter, public :: line='*****************************************************************'
output/header [ Global module-variables ]
[ Top ] [ output ] [ Global module-variables ]
PURPOSE
Format of the BUU-Header in the output
USAGE
write(*,header) 'Hallo'
SOURCE
character(100), parameter, public :: header='(79("#"),/,79("#"),/,10("#")," ",A,/,79("#"),/,79("#"),/)'
output/chapter [ Global module-variables ]
[ Top ] [ output ] [ Global module-variables ]
PURPOSE
Format of the output announcing the start of some chapter of the code.
USAGE
write(*,chapter) 'Hallo'
SOURCE
character(100), parameter, public :: chapter='(79("#"),/,5("#")," ",A,/,79("#"),/)'
output/subchapter [ Global module-variables ]
[ Top ] [ output ] [ Global module-variables ]
PURPOSE
Format of the output announcing the start of some subchapter of the code.
USAGE
write(*,subchapter) 'Hallo'
SOURCE
character(100), parameter, public :: subchapter='(79("-"),/,5("-")," ",A,/,79("-"),/)'
output/paragraph [ Global module-variables ]
[ Top ] [ output ] [ Global module-variables ]
PURPOSE
Format of the output announcing the start of some paragraph of the code.
USAGE
write(*,paragraph) 'Hallo'
SOURCE
character(100), parameter, public :: paragraph='(5("~")," ",A," ",5("~"))'
output/DoPrLevelDefault [ Global module-variables ]
[ Top ] [ output ] [ Global module-variables ]
PURPOSE
Default values for DoPrLevel
SOURCE
logical, dimension(-10:5), public, parameter :: DoPrLevelDefault = & (/ (.FALSE.,iDoPrLevelDefault=-10,-1),(.TRUE.,iDoPrLevelDefault=0,5)/)
output/DoPrLevel [ Global module-variables ]
[ Top ] [ output ] [ Global module-variables ]
PURPOSE
Flags, whether message at (error)level n should be printed or not. The (error) levels are:
- Level 5 (TERMINAL) -- A terminal error is not an informational error because corrective action within the program is generally not reasonable. In normal usage, execution should be terminated immediately when an error of this class occurs.
- Level 4 (FATAL) -- A fatal error indicates the existence of a condition that may be serious. In most cases, user or calling routine must take corrective action to recover.
- Level 3 (WARNING) -- A warning indicates the existence of a condition that may require corrective action by user or calling routine
- Level 2 (ALERT) -- Indicates that the user should be adviced about events occuring in the code.
- Level 1 (NOTE) -- Is issued to indicate the possibility of a trivial error or simply to provide information about the computations.
- Level 0 (BASIC) -- Some basic messages
The levels -10 up to -1 are left for the programmer for individual purposes. One can switch on/off writing of message independant of the error classification. They are used for...:
- -1: switching on/off the messages: "WARNING: PYEVNT-Loop -> failure", "DoColl_nuN: itry= ..."
- -2: ...(not used)
- etc
SOURCE
logical, dimension(-10:5), public :: DoPrLevel = DoPrLevelDefault
output/WriteParticle [ Subroutines ]
[ Top ] [ output ] [ Subroutines ]
NAME
subroutine WriteParticle(iFile,iEnsemble,iPart, Part) subroutine WriteParticle(iFile,iEnsemble, Part)
PURPOSE
Write the stored information about a particle to a file/stdout.
INPUTS
- integer :: iFile -- number of file (6=stdout)
- integer :: iEnsemble -- number of Ensemble (maybe arbitrary)
- integer :: iPart -- number of Particle (maybe arbitrary)
- type(particle) :: Part -- Particle to print
or:
- integer :: iFile -- number of file (6=stdout)
- integer :: iEnsemble -- number of Ensemble
- type(particle),dimension(:) :: Part -- Particles to print
NOTES
- This is the format prefered by KG ;)
- If the particles are given in an array, all non-zero entries, including a header and a summary line, are written
- At the moment, the following items are not written: velocity, offshellParameter, coulombPotential, perturbative
output/notInRelease [ Subroutines ]
[ Top ] [ output ] [ Subroutines ]
NAME
subroutine notInRelease(feature)
PURPOSE
Prints a message which states the given "feature" is not included in the present released code version and stops the code.
INPUTS
- character(*) :: feature
output/DoPr [ Subroutines ]
[ Top ] [ output ] [ Subroutines ]
NAME
function DoPr(iLevel)
PURPOSE
Return the Flag, whether a message of the given Error-Level (cf. DoPrLevel) should be written or not
INPUTS
- integer :: iLevel -- Print-Level
OUTPUT
- logical :: DoPr
NOTES
checks, whether the given iLevel is a valid array-index are omitted (compile your code with the approbiate flags to ensure array-bound checks)
output/intToChar [ Subroutines ]
[ Top ] [ output ] [ Subroutines ]
NAME
function intToChar(nr)
PURPOSE
Convert an integer into a character string of length 3.
INPUTS
- integer :: nr -- number to convert (0..999)
OUTPUT
- character(3)
output/intToChar4 [ Subroutines ]
[ Top ] [ output ] [ Subroutines ]
NAME
function intToChar4(nr)
PURPOSE
Convert an integer into a character string of length 4.
INPUTS
- integer :: nr -- number to convert (0..9999)
OUTPUT
- character(3)
output/intToChar_pm [ Subroutines ]
[ Top ] [ output ] [ Subroutines ]
NAME
function intToChar_pm(nr)
PURPOSE
Convert an integer into a signed character string of length 2.
INPUTS
- integer :: nr -- number to convert (-9..9)
OUTPUT
- character(3)
output/realToChar [ Subroutines ]
[ Top ] [ output ] [ Subroutines ]
NAME
function realToChar(nr)
PURPOSE
Convert a real number into a character string of length 3.
INPUTS
- real :: nr -- number to convert (0..999)
OUTPUT
- character(3)
output/realToChar4 [ Subroutines ]
[ Top ] [ output ] [ Subroutines ]
NAME
function realToChar4(nr)
PURPOSE
Convert a real number into a character string of length 4.
INPUTS
- real :: nr -- number to convert (0..9999)
OUTPUT
- character(4)
output/Write_ReadingInput [ Subroutines ]
[ Top ] [ output ] [ Subroutines ]
NAME
subroutine Write_ReadingInput(Text,Code,ios)
PURPOSE
Write a Message about starting/finishing "reading" something. If parameter "ios" is given, this is interpreted as the IOSTAT value of the reading of the namelist (here parameter "Code" is ignored).
INPUTS
- character(*) :: Text -- Name of file/Jobcard/...
- integer :: Code -- 0: start reading, !=0 : reading finished
- integer,optional :: ios -- error code of reading (i.e. IOSTAT value)
output/Write_InitStatus [ Subroutines ]
[ Top ] [ output ] [ Subroutines ]
NAME
subroutine Write_InitStatus(Text,Code)
PURPOSE
Write a Message about starting/finishing "initializing" something
INPUTS
- character(*) :: Text -- Name of file/Jobcard/...
- integer :: Code -- 0 : start initialization, <>0 : finished initialization
output/WriteParticle_debug [ Subroutines ]
[ Top ] [ output ] [ Subroutines ]
NAME
subroutine WriteParticle_debug (Part, med)
PURPOSE
Write the stored information about a particle to a file/stdout.
INPUTS
- type(particle) :: Part --- Particle to print
- type(medium), optional :: med --- medium information (optional)
output/writeFileDocu [ Subroutines ]
[ Top ] [ output ] [ Subroutines ]
NAME
subroutine writeFileDocu(filename,docu)
PURPOSE
Writes the information of a given filename and its documenation to a central file.
INPUTS
- character(*) :: filename
- character(*) :: docu -- Documentation of the output file "filename"
output/WriteParticleVector [ Subroutines ]
[ Top ] [ output ] [ Subroutines ]
NAME
subroutine WriteParticleVector(filename,pv)
PURPOSE
Write a particle-vector (e.g. PertParticles) to files
Opens 7 files and writes the information of the particles to these files. Only for the file "...ALL.dat" the subroutine WriteParticle is used; all other information is written in an own format.
INPUTS
- character(*) :: filename -- base name of files (some extensions are added)
- type(particle),dimension(:,:) :: pv -- particle vector
output/timeMeasurement [ Subroutines ]
[ Top ] [ output ] [ Subroutines ]
NAME
subroutine timeMeasurement(ForceReset)
PURPOSE
Use this as an stopwatch.
If you do not use the optional parameter "ForceReset", the default behaviour is like this:
- the first call sets the stopwatch to zero
- all following (second, third, ...) calls just print the time
only by calling this routine and setting the optional parameter ForceReset=.true. can rewind the stopwatch to zero
INPUTS
- logical,optional :: ForceReset -- see above
- integer,optional :: iFile -- File to print the message
OUTPUT
on stdout
output/PrintTime [ Subroutines ]
[ Top ] [ output ] [ Subroutines ]
NAME
subroutine PrintTime
PURPOSE
print out date and time information