(git:34ef472)
input_section_types Module Reference

objects that represent the structure of input sections and the data contained in an input section More...

Functions/Subroutines

subroutine, public section_create (section, location, name, description, n_keywords, n_subsections, repeats, citations)
 creates a list of keywords More...
 
recursive subroutine, public section_release (section)
 releases the given keyword list (see doc/ReferenceCounting.html) More...
 
recursive subroutine, public section_describe (section, unit_nr, level, hide_root, recurse)
 prints a description of the given section More...
 
integer function, public section_get_subsection_index (section, subsection_name)
 returns the index of requested subsection (-1 if not found) More...
 
type(section_type) function, pointer, public section_get_subsection (section, subsection_name)
 returns the requested subsection More...
 
integer function, public section_get_keyword_index (section, keyword_name)
 returns the index of the requested keyword (or -2 if not found) More...
 
recursive type(keyword_type) function, pointer, public section_get_keyword (section, keyword_name)
 returns the requested keyword More...
 
subroutine, public section_add_keyword (section, keyword)
 adds a keyword to the given section More...
 
subroutine, public section_add_subsection (section, subsection)
 adds a subsection to the given section More...
 
recursive subroutine, public section_vals_create (section_vals, section)
 creates a object where to store the values of a section More...
 
subroutine, public section_vals_retain (section_vals)
 retains the given section values (see doc/ReferenceCounting.html) More...
 
recursive subroutine, public section_vals_release (section_vals)
 releases the given object More...
 
subroutine, public section_vals_get (section_vals, ref_count, n_repetition, n_subs_vals_rep, section, explicit)
 returns various attributes about the section_vals More...
 
recursive type(section_vals_type) function, pointer, public section_vals_get_subs_vals (section_vals, subsection_name, i_rep_section, can_return_null)
 returns the values of the requested subsection More...
 
type(section_vals_type) function, pointer, public section_vals_get_subs_vals2 (section_vals, i_section, i_rep_section)
 returns the values of the n-th non default subsection (null if no such section exists (not so many non default section)) More...
 
type(section_vals_type) function, pointer, public section_vals_get_subs_vals3 (section_vals, subsection_name, i_rep_section)
 returns the values of the n-th non default subsection (null if no such section exists (not so many non default section)) More...
 
subroutine, public section_vals_add_values (section_vals)
 adds the place to store the values of a repetition of the section More...
 
subroutine, public section_vals_remove_values (section_vals)
 removes the values of a repetition of the section More...
 
real(kind=dp) function, public section_get_rval (section_vals, keyword_name)
 ... More...
 
integer function, public section_get_ival (section_vals, keyword_name)
 ... More...
 
integer function, dimension(:), pointer, public section_get_ivals (section_vals, keyword_name)
 ... More...
 
logical function, public section_get_lval (section_vals, keyword_name)
 ... More...
 
subroutine, public section_vals_val_get (section_vals, keyword_name, i_rep_section, i_rep_val, n_rep_val, val, l_val, i_val, r_val, c_val, l_vals, i_vals, r_vals, c_vals, explicit)
 returns the requested value More...
 
subroutine, public section_vals_list_get (section_vals, keyword_name, i_rep_section, list)
 returns the requested list More...
 
subroutine, public section_vals_val_set (section_vals, keyword_name, i_rep_section, i_rep_val, val, l_val, i_val, r_val, c_val, l_vals_ptr, i_vals_ptr, r_vals_ptr, c_vals_ptr)
 sets the requested value More...
 
subroutine, public section_vals_val_unset (section_vals, keyword_name, i_rep_section, i_rep_val)
 unsets (removes) the requested value (if it is a keyword repetitions removes the repetition, so be careful: the repetition indices bigger than the actual change. More...
 
recursive subroutine, public section_vals_write (section_vals, unit_nr, hide_root, hide_defaults)
 writes the values in the given section in a way that is suitable to the automatic parsing More...
 
recursive subroutine, public write_section_xml (section, level, unit_number)
 writes the values in the given section in xml More...
 
recursive subroutine, public section_typo_match (section, section_name, unknown_string, location_string, matching_rank, matching_string, bonus)
 ... More...
 
subroutine, public section_vals_set_subs_vals (section_vals, subsection_name, new_section_vals, i_rep_section)
 replaces of the requested subsection with the one given More...
 
subroutine, public section_vals_duplicate (section_vals_in, section_vals_out, i_rep_start, i_rep_end)
 creates a deep copy from section_vals_in to section_vals_out More...
 

Variables

type(section_type), pointer, save, public typo_match_section => NULL()
 
integer, dimension(n_typo_matches), public typo_matching_rank = 0
 
character(len=default_string_length *5), dimension(n_typo_matches), public typo_matching_line = ""
 

Detailed Description

objects that represent the structure of input sections and the data contained in an input section

History
06.2004 created [fawzi]
Author
fawzi

Function/Subroutine Documentation

◆ section_create()

subroutine, public input_section_types::section_create ( type(section_type), pointer  section,
character(len=*), intent(in)  location,
character(len=*), intent(in)  name,
character(len=*), intent(in)  description,
integer, intent(in), optional  n_keywords,
integer, intent(in), optional  n_subsections,
logical, intent(in), optional  repeats,
integer, dimension(:), intent(in), optional  citations 
)

creates a list of keywords

Parameters
sectionthe list to be created
locationfrom where in the source code section_create() is called
name...
description...
n_keywordshint about the number of keywords, defaults to 10
n_subsectionsa hint about how many sections will be added to this structure, defaults to 0
repeatsif this section can repeat (defaults to false)
citations...
Author
fawzi

Definition at line 154 of file input_section_types.F.

Here is the call graph for this function:

◆ section_release()

recursive subroutine, public input_section_types::section_release ( type(section_type), pointer  section)

releases the given keyword list (see doc/ReferenceCounting.html)

Parameters
sectionthe list to release
Author
fawzi

Definition at line 230 of file input_section_types.F.

Here is the call graph for this function:

◆ section_describe()

recursive subroutine, public input_section_types::section_describe ( type(section_type), intent(in), pointer  section,
integer, intent(in)  unit_nr,
integer, intent(in)  level,
logical, intent(in), optional  hide_root,
integer, intent(in), optional  recurse 
)

prints a description of the given section

Parameters
sectionthe section to describe
unit_nrthe unit to write to
levelthe level of output: 0: just section name, 1:keywords, then see keyword_describe :-)
hide_rootif the name of the first section should be hidden (defaults to false).
recurse...
Author
fawzi

Definition at line 303 of file input_section_types.F.

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

◆ section_get_subsection_index()

integer function, public input_section_types::section_get_subsection_index ( type(section_type), intent(in)  section,
character(len=*), intent(in)  subsection_name 
)

returns the index of requested subsection (-1 if not found)

Parameters
sectionthe root section
subsection_namethe name of the subsection you want to get
Returns
...
Author
fawzi
Note
private utility function

Definition at line 372 of file input_section_types.F.

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

◆ section_get_subsection()

type(section_type) function, pointer, public input_section_types::section_get_subsection ( type(section_type), intent(in)  section,
character(len=*), intent(in)  subsection_name 
)

returns the requested subsection

Parameters
sectionthe root section
subsection_namethe name of the subsection you want to get
Returns
...
Author
fawzi

Definition at line 402 of file input_section_types.F.

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

◆ section_get_keyword_index()

integer function, public input_section_types::section_get_keyword_index ( type(section_type), intent(in)  section,
character(len=*), intent(in)  keyword_name 
)

returns the index of the requested keyword (or -2 if not found)

Parameters
sectionthe section the keyword is in
keyword_namethe keyword you are interested in
Returns
...
Author
fawzi
Note
private utility function

Definition at line 428 of file input_section_types.F.

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

◆ section_get_keyword()

recursive type(keyword_type) function, pointer, public input_section_types::section_get_keyword ( type(section_type), intent(in)  section,
character(len=*), intent(in)  keyword_name 
)

returns the requested keyword

Parameters
sectionthe section the keyword is in
keyword_namethe keyword you are interested in
Returns
...
Author
fawzi

Definition at line 470 of file input_section_types.F.

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

◆ section_add_keyword()

subroutine, public input_section_types::section_add_keyword ( type(section_type), intent(inout)  section,
type(keyword_type), intent(in), pointer  keyword 
)

adds a keyword to the given section

Parameters
sectionthe section to which the keyword should be added
keywordthe keyword to add
Author
fawzi

Definition at line 503 of file input_section_types.F.

Here is the call graph for this function:

◆ section_add_subsection()

subroutine, public input_section_types::section_add_subsection ( type(section_type), intent(inout)  section,
type(section_type), intent(in), pointer  subsection 
)

adds a subsection to the given section

Parameters
sectionto section to which you want to add a subsection
subsectionthe subsection to add
Author
fawzi

Definition at line 559 of file input_section_types.F.

◆ section_vals_create()

recursive subroutine, public input_section_types::section_vals_create ( type(section_vals_type), pointer  section_vals,
type(section_type), pointer  section 
)

creates a object where to store the values of a section

Parameters
section_valsthe parsed section that will be created
sectionthe structure of the section that you want to parse
Author
fawzi

Definition at line 600 of file input_section_types.F.

Here is the caller graph for this function:

◆ section_vals_retain()

subroutine, public input_section_types::section_vals_retain ( type(section_vals_type), pointer  section_vals)

retains the given section values (see doc/ReferenceCounting.html)

Parameters
section_valsthe object to retain
Author
fawzi

Definition at line 630 of file input_section_types.F.

Here is the caller graph for this function:

◆ section_vals_release()

recursive subroutine, public input_section_types::section_vals_release ( type(section_vals_type), pointer  section_vals)

releases the given object

Parameters
section_valsthe section_vals to release
Author
fawzi

Definition at line 645 of file input_section_types.F.

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

◆ section_vals_get()

subroutine, public input_section_types::section_vals_get ( type(section_vals_type), intent(in)  section_vals,
integer, intent(out), optional  ref_count,
integer, intent(out), optional  n_repetition,
integer, intent(out), optional  n_subs_vals_rep,
type(section_type), optional, pointer  section,
logical, intent(out), optional  explicit 
)

returns various attributes about the section_vals

Parameters
section_valsthe section vals you want information from
ref_count...
n_repetitionnumber of repetitions of the section
n_subs_vals_repnumber of repetitions of the subsections values (max(1,n_repetition))
section...
explicitif the section was explicitly present in
Author
fawzi
Note
For the other arguments see the attributes of section_vals_type

Definition at line 695 of file input_section_types.F.

◆ section_vals_get_subs_vals()

recursive type(section_vals_type) function, pointer, public input_section_types::section_vals_get_subs_vals ( type(section_vals_type), intent(in)  section_vals,
character(len=*), intent(in)  subsection_name,
integer, intent(in), optional  i_rep_section,
logical, intent(in), optional  can_return_null 
)

returns the values of the requested subsection

Parameters
section_valsthe root section
subsection_namethe name of the requested subsection
i_rep_sectionindex of the repetition of section_vals from which you want to extract the subsection (defaults to 1)
can_return_nullif the results can be null (defaults to false)
Returns
...
Author
fawzi

Definition at line 722 of file input_section_types.F.

Here is the call graph for this function:

◆ section_vals_get_subs_vals2()

type(section_vals_type) function, pointer, public input_section_types::section_vals_get_subs_vals2 ( type(section_vals_type), pointer  section_vals,
integer, intent(in)  i_section,
integer, intent(in), optional  i_rep_section 
)

returns the values of the n-th non default subsection (null if no such section exists (not so many non default section))

Parameters
section_valsthe root section
i_sectionindex of the section
i_rep_sectionindex of the repetition of section_vals from which you want to extract the subsection (defaults to 1)
Returns
...
Author
fawzi

Definition at line 778 of file input_section_types.F.

Here is the caller graph for this function:

◆ section_vals_get_subs_vals3()

type(section_vals_type) function, pointer, public input_section_types::section_vals_get_subs_vals3 ( type(section_vals_type), intent(in)  section_vals,
character(len=*), intent(in)  subsection_name,
integer, intent(in), optional  i_rep_section 
)

returns the values of the n-th non default subsection (null if no such section exists (not so many non default section))

Parameters
section_valsthe root section
subsection_name...
i_rep_sectionindex of the repetition of section_vals from which you want to extract the subsection (defaults to 1)
Returns
...
Author
fawzi

Definition at line 815 of file input_section_types.F.

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

◆ section_vals_add_values()

subroutine, public input_section_types::section_vals_add_values ( type(section_vals_type), intent(inout)  section_vals)

adds the place to store the values of a repetition of the section

Parameters
section_valsthe section you want to extend
Author
fawzi

Definition at line 840 of file input_section_types.F.

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

◆ section_vals_remove_values()

subroutine, public input_section_types::section_vals_remove_values ( type(section_vals_type), pointer  section_vals)

removes the values of a repetition of the section

Parameters
section_valsthe section you want to extend
Author
fawzi

Definition at line 888 of file input_section_types.F.

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

◆ section_get_rval()

real(kind=dp) function, public input_section_types::section_get_rval ( type(section_vals_type), intent(in)  section_vals,
character(len=*), intent(in)  keyword_name 
)

...

Parameters
section_vals...
keyword_name...
Returns
...

Definition at line 940 of file input_section_types.F.

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

◆ section_get_ival()

integer function, public input_section_types::section_get_ival ( type(section_vals_type), intent(in)  section_vals,
character(len=*), intent(in)  keyword_name 
)

...

Parameters
section_vals...
keyword_name...
Returns
...

Definition at line 972 of file input_section_types.F.

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

◆ section_get_ivals()

integer function, dimension(:), pointer, public input_section_types::section_get_ivals ( type(section_vals_type), intent(in)  section_vals,
character(len=*), intent(in)  keyword_name 
)

...

Parameters
section_vals...
keyword_name...
Returns
...

Definition at line 988 of file input_section_types.F.

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

◆ section_get_lval()

logical function, public input_section_types::section_get_lval ( type(section_vals_type), intent(in)  section_vals,
character(len=*), intent(in)  keyword_name 
)

...

Parameters
section_vals...
keyword_name...
Returns
...

Definition at line 1004 of file input_section_types.F.

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

◆ section_vals_val_get()

subroutine, public input_section_types::section_vals_val_get ( type(section_vals_type), intent(in), target  section_vals,
character(len=*), intent(in)  keyword_name,
integer, intent(in), optional  i_rep_section,
integer, intent(in), optional  i_rep_val,
integer, intent(out), optional  n_rep_val,
type(val_type), optional, pointer  val,
logical, intent(out), optional  l_val,
integer, intent(out), optional  i_val,
real(kind=dp), intent(out), optional  r_val,
character(len=*), intent(out), optional  c_val,
logical, dimension(:), optional, pointer  l_vals,
integer, dimension(:), optional, pointer  i_vals,
real(kind=dp), dimension(:), optional, pointer  r_vals,
character(len=default_string_length), dimension(:), optional, pointer  c_vals,
logical, intent(out), optional  explicit 
)

returns the requested value

Parameters
section_vals...
keyword_namethe name of the keyword you want
i_rep_sectionwhich repetition of the section you are interested in (defaults to 1)
i_rep_valwhich repetition of the keyword/val you are interested in (defaults to 1)
n_rep_valreturns number of val available
val...
l_val,i_val,r_val,c_valreturns the logical,integer,real or character value
i_val...
r_val...
c_val...
l_vals,i_vals,r_vals,c_valsreturns the logical,integer,real or character arrays. The val reamins the owner of the array
i_vals...
r_vals...
c_vals...
explicit...
Author
fawzi

Definition at line 1037 of file input_section_types.F.

Here is the call graph for this function:

◆ section_vals_list_get()

subroutine, public input_section_types::section_vals_list_get ( type(section_vals_type), intent(in), pointer  section_vals,
character(len=*), intent(in)  keyword_name,
integer, optional  i_rep_section,
type(cp_sll_val_type), pointer  list 
)

returns the requested list

Parameters
section_vals...
keyword_namethe name of the keyword you want
i_rep_sectionwhich repetition of the section you are interested in (defaults to 1)
list...
Author
Joost VandeVondele
Note
  • most useful if the full list is needed anyway, so that faster iteration can be used

Definition at line 1147 of file input_section_types.F.

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

◆ section_vals_val_set()

subroutine, public input_section_types::section_vals_val_set ( type(section_vals_type), pointer  section_vals,
character(len=*), intent(in)  keyword_name,
integer, intent(in), optional  i_rep_section,
integer, intent(in), optional  i_rep_val,
type(val_type), optional, pointer  val,
logical, intent(in), optional  l_val,
integer, intent(in), optional  i_val,
real(kind=dp), intent(in), optional  r_val,
character(len=*), intent(in), optional  c_val,
logical, dimension(:), optional, pointer  l_vals_ptr,
integer, dimension(:), optional, pointer  i_vals_ptr,
real(kind=dp), dimension(:), optional, pointer  r_vals_ptr,
character(len=default_string_length), dimension(:), optional, pointer  c_vals_ptr 
)

sets the requested value

Parameters
section_vals...
keyword_namethe name of the keyword you want (can be a path separated by '')
i_rep_sectionisection which repetition of the section you are nterested in (defaults to 1)
i_rep_valwhich repetition of the keyword/val you are interested in (defaults to 1)
val...
l_val,i_val,r_val,c_valsets the logical,integer,real or character value
i_val...
r_val...
c_val...
l_vals_ptr,i_vals_ptr,r_vals,c_valssets the logical,integer,real or character arrays. The val becomes the owner of the array
i_vals_ptr...
r_vals_ptr...
c_vals_ptr...
Author
fawzi

Definition at line 1214 of file input_section_types.F.

Here is the call graph for this function:

◆ section_vals_val_unset()

subroutine, public input_section_types::section_vals_val_unset ( type(section_vals_type), pointer  section_vals,
character(len=*), intent(in)  keyword_name,
integer, intent(in), optional  i_rep_section,
integer, intent(in), optional  i_rep_val 
)

unsets (removes) the requested value (if it is a keyword repetitions removes the repetition, so be careful: the repetition indices bigger than the actual change.

Parameters
section_vals...
keyword_namethe name of the keyword you want (can be a path separated by '')
i_rep_sectionwhich repetition of the section you are interested in (defaults to 1)
i_rep_valwhich repetition of the keyword/val you are interested in (defaults to 1)
Author
fawzi

Definition at line 1346 of file input_section_types.F.

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

◆ section_vals_write()

recursive subroutine, public input_section_types::section_vals_write ( type(section_vals_type), intent(in)  section_vals,
integer, intent(in)  unit_nr,
logical, intent(in), optional  hide_root,
logical, intent(in), optional  hide_defaults 
)

writes the values in the given section in a way that is suitable to the automatic parsing

Parameters
section_valsthe section to write out
unit_nrthe unit where to write to
hide_root...
hide_defaults...
Author
fawzi
Note
skips required sections which weren't read

Definition at line 1418 of file input_section_types.F.

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

◆ write_section_xml()

recursive subroutine, public input_section_types::write_section_xml ( type(section_type), pointer  section,
integer, intent(in)  level,
integer, intent(in)  unit_number 
)

writes the values in the given section in xml

Parameters
section...
level...
unit_number...

Definition at line 1539 of file input_section_types.F.

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

◆ section_typo_match()

recursive subroutine, public input_section_types::section_typo_match ( type(section_type), intent(in), pointer  section,
character(len=*)  section_name,
character(len=*)  unknown_string,
character(len=*)  location_string,
integer, dimension(:), intent(inout)  matching_rank,
character(len=*), dimension(:), intent(inout)  matching_string,
integer, intent(in)  bonus 
)

...

Parameters
section...
section_name...
unknown_string...
location_string...
matching_rank...
matching_string...
bonus...

Definition at line 1612 of file input_section_types.F.

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

◆ section_vals_set_subs_vals()

subroutine, public input_section_types::section_vals_set_subs_vals ( type(section_vals_type), pointer  section_vals,
character(len=*), intent(in)  subsection_name,
type(section_vals_type), pointer  new_section_vals,
integer, intent(in), optional  i_rep_section 
)

replaces of the requested subsection with the one given

Parameters
section_valsthe root section
subsection_namethe name of the subsection to replace
new_section_valsthe new section_vals to use
i_rep_sectionindex of the repetition of section_vals of which you want to replace the subsection (defaults to 1)
Author
fawzi

Definition at line 1677 of file input_section_types.F.

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

◆ section_vals_duplicate()

subroutine, public input_section_types::section_vals_duplicate ( type(section_vals_type), pointer  section_vals_in,
type(section_vals_type), pointer  section_vals_out,
integer, intent(in), optional  i_rep_start,
integer, intent(in), optional  i_rep_end 
)

creates a deep copy from section_vals_in to section_vals_out

Parameters
section_vals_inthe section_vals to copy
section_vals_outthe section_vals to create
i_rep_start...
i_rep_end...
Author
fawzi

Definition at line 1730 of file input_section_types.F.

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

Variable Documentation

◆ typo_match_section

type(section_type), pointer, save, public input_section_types::typo_match_section => NULL()

Definition at line 134 of file input_section_types.F.

◆ typo_matching_rank

integer, dimension(n_typo_matches), public input_section_types::typo_matching_rank = 0

Definition at line 136 of file input_section_types.F.

◆ typo_matching_line

character(len=default_string_length*5), dimension(n_typo_matches), public input_section_types::typo_matching_line = ""

Definition at line 137 of file input_section_types.F.