fileio_gnuplot_mod Module Reference

I/O for GNUPLOT readable tabular files. More...

Data Types

type  fileio_gnuplot
 FileIO gnuplot class. More...
 
type  output_typ
 
type  tsoutput_typ
 output-pointer for time step scalar data More...
 
type  valptr_typ
 output-pointer for 3D array data More...
 

Private Attributes

some default limits

integer, parameter hlen = 10000
 header length in bytes More...
 
integer, parameter default_decs = 5
 default decimal places More...
 
character, parameter sp = ACHAR(32)
 space More...
 
character, parameter lf = ACHAR(10)
 line feed More...
 
character(len=2), parameter recsep = SP // SP
 data record separator More...
 
character(len=2), parameter linsep = SP // LF
 line separator More...
 
character(len=2), parameter blksep = LF // LF
 block separator More...
 
character(len=30), parameter header_string = "# Data output of fosite" // LINSEP
 the header string More...
 
character(len=hlenheader_buf
 buffer of header More...
 

Methods

subroutine initfileio_gnuplot (this, Mesh, Physics, Timedisc, Sources, config, IO)
 Constructor for the GNUPLOT file I/O. More...
 
recursive subroutine getheaderstring (string, root, k, prefix)
 Creates a string with the configuration (from the dictionary) More...
 
recursive subroutine getoutputlist (this, Mesh, node, oarr, onum, skip, prefix)
 Creates a list of all data arrays which will be written to file. More...
 
subroutine writeheader (this, Mesh, Physics, Header, IO)
 Writes the configuration as a header to the file. More...
 
subroutine readheader (this, success)
 Reads the header (not implemented) More...
 
subroutine writedataset_gnuplot (this, Mesh, Physics, Fluxes, Timedisc, Header, IO)
 Writes all desired data arrays to a file. More...
 
subroutine error (this, modproc, msg)
 Closes the file I/O and calls a further error function. More...
 
subroutine finalize (this)
 Closes the file I/O. More...
 

Detailed Description

I/O for GNUPLOT readable tabular files.

Author
Tobias Illenseer
Björn Sperling
Jannes Klee

This module implements a file I/O, which files can be read by GNUPLOT. It writes the configuration (dictionary) as header. It is possible to select which data arrays should be written.

Function/Subroutine Documentation

◆ error()

subroutine fileio_gnuplot_mod::error ( class(fileio_gnuplot), intent(inout)  this,
character(len=*), intent(in)  modproc,
character(len=*), intent(in)  msg 
)
private

Closes the file I/O and calls a further error function.

Parameters
[in,out]this[in,out] this fileio type
[in]modproc[in] modproc
[in]msg[in] msg error msg

Definition at line 799 of file fileio_gnuplot.f90.

◆ finalize()

subroutine fileio_gnuplot_mod::finalize ( type(fileio_gnuplot), intent(inout)  this)

Closes the file I/O.

Parameters
[in,out]this[in,out] this fileio type

Definition at line 813 of file fileio_gnuplot.f90.

Here is the caller graph for this function:

◆ getheaderstring()

recursive subroutine fileio_gnuplot_mod::getheaderstring ( character(len=*), intent(inout)  string,
type(dict_typ), pointer  root,
integer, intent(inout)  k,
character(len=*), optional  prefix 
)
private

Creates a string with the configuration (from the dictionary)

Definition at line 341 of file fileio_gnuplot.f90.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ getoutputlist()

recursive subroutine fileio_gnuplot_mod::getoutputlist ( class(fileio_gnuplot), intent(inout)  this,
class(mesh_base), intent(in)  Mesh,
type(dict_typ), pointer  node,
integer, intent(inout)  oarr,
integer, intent(inout)  onum,
character(len=max_char_len), dimension(:), intent(in), optional  skip,
character(len=*), intent(inout), optional  prefix 
)
private

Creates a list of all data arrays which will be written to file.

Therefore it ignores all arrays with coordinates and checks if the data arrays are of the dimension of the mesh.

Parameters
[in,out]this[in,out] this fileio type
[in]mesh[in] mesh mesh type
node[in,out] node pointer to (sub-)dict
[in,out]oarr[in,out] oarr number of output arrays
[in,out]onum[in,out] onum number of output numbers
[in]skip[in] skip list of keys to skip
[in,out]prefix[in,out] prefix namespace (path) to sub-dict

Definition at line 405 of file fileio_gnuplot.f90.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ initfileio_gnuplot()

subroutine fileio_gnuplot_mod::initfileio_gnuplot ( class(fileio_gnuplot), intent(inout)  this,
class(mesh_base), intent(in)  Mesh,
class(physics_base), intent(in)  Physics,
class(timedisc_base), intent(in)  Timedisc,
class(sources_list), intent(in), allocatable  Sources,
type(dict_typ), intent(in), pointer  config,
type(dict_typ), intent(in), pointer  IO 
)

Constructor for the GNUPLOT file I/O.

Initilizes the file I/O type, filename, stoptime, number of outputs, number of files, unit number, config as a dict

Parameters
[in,out]this[in,out] this fileio type
[in]mesh[in] Mesh mesh type
[in]physics[in] Physics physics type
[in]timedisc[in] Timedisc timedisc type
[in]sources[in] Sources sources type
[in]config[in] config dict with I/O configuration
[in]io[in] IO dict with pointers to I/O arrays

Definition at line 145 of file fileio_gnuplot.f90.

◆ readheader()

subroutine fileio_gnuplot_mod::readheader ( class(fileio_gnuplot this,
logical, intent(out)  success 
)

Reads the header (not implemented)

Parameters
this[in,out] this fileio type
success[out] success

Definition at line 577 of file fileio_gnuplot.f90.

◆ writedataset_gnuplot()

subroutine fileio_gnuplot_mod::writedataset_gnuplot ( class(fileio_gnuplot), intent(inout)  this,
class(mesh_base), intent(in)  Mesh,
class(physics_base), intent(inout)  Physics,
class(fluxes_base), intent(in)  Fluxes,
class(timedisc_base), intent(in)  Timedisc,
type(dict_typ), pointer  Header,
type(dict_typ), pointer  IO 
)

Writes all desired data arrays to a file.

Parameters
[in,out]this[in,out] this fileio type
[in]mesh[in] mesh mesh type
[in,out]physics[in] physics physics type
[in]fluxes[in] fluxes fluxes type
[in]timedisc[in] timedisc timedisc type
io[in,out] IO I/O dictionary

Definition at line 596 of file fileio_gnuplot.f90.

◆ writeheader()

subroutine fileio_gnuplot_mod::writeheader ( class(fileio_gnuplot), intent(inout)  this,
class(mesh_base), intent(in)  Mesh,
class(physics_base), intent(in)  Physics,
type(dict_typ), pointer  Header,
type(dict_typ), pointer  IO 
)

Writes the configuration as a header to the file.

Parameters
[in,out]this[in,out] this fileio type
[in]mesh[in] Mesh mesh type
[in]physics[in] Physics physics type

Definition at line 544 of file fileio_gnuplot.f90.

Here is the call graph for this function:

Variable Documentation

◆ blksep

character(len=2), parameter fileio_gnuplot_mod::blksep = LF // LF
private

block separator

Definition at line 76 of file fileio_gnuplot.f90.

◆ default_decs

integer, parameter fileio_gnuplot_mod::default_decs = 5
private

default decimal places

Definition at line 70 of file fileio_gnuplot.f90.

◆ header_buf

character(len=hlen) fileio_gnuplot_mod::header_buf
private

buffer of header

Definition at line 80 of file fileio_gnuplot.f90.

◆ header_string

character(len=30), parameter fileio_gnuplot_mod::header_string = "# Data output of fosite" // LINSEP
private

the header string

Definition at line 78 of file fileio_gnuplot.f90.

◆ hlen

integer, parameter fileio_gnuplot_mod::hlen = 10000
private

header length in bytes

Definition at line 69 of file fileio_gnuplot.f90.

◆ lf

character, parameter fileio_gnuplot_mod::lf = ACHAR(10)
private

line feed

Definition at line 73 of file fileio_gnuplot.f90.

◆ linsep

character(len=2), parameter fileio_gnuplot_mod::linsep = SP // LF
private

line separator

Definition at line 75 of file fileio_gnuplot.f90.

◆ recsep

character(len=2), parameter fileio_gnuplot_mod::recsep = SP // SP
private

data record separator

Definition at line 74 of file fileio_gnuplot.f90.

◆ sp

character, parameter fileio_gnuplot_mod::sp = ACHAR(32)
private

space

special strings

Definition at line 72 of file fileio_gnuplot.f90.