ORB5  v4.9.4
derived_inputs Module Reference

Define derived types "input_[...]" to attach descriptions and default values to input variables Most of the commonly used operators are overloaded to operate on derived input values (e.g. myinput==0 <=> myinputval==0). More...

Data Types

interface  abs
 
interface  assignment(=)
 
type  input_integer
 
type  input_integer8
 
type  input_integer_array
 
type  input_logical
 
type  input_nsel
 Selector definition (interface between input string and back-end predefined integer keys) More...
 
type  input_real
 
type  input_real_array
 
type  input_string
 
interface  max
 
interface  min
 
interface  modulo
 
interface  operator(*)
 
interface  operator(+)
 
interface  operator(-)
 
interface  operator(.and.)
 
interface  operator(.eqv.)
 
interface  operator(.neqv.)
 
interface  operator(.not.)
 
interface  operator(.or.)
 
interface  operator(/)
 
interface  operator(/=)
 
interface  operator(<)
 
interface  operator(<=)
 
interface  operator(==)
 
interface  operator(>)
 
interface  operator(>=)
 
interface  store_parameter
 
interface  trim
 

Functions/Subroutines

subroutine init_real (this, name, desc, default_value)
 
subroutine init_real_array (this, name, desc, length, default_value)
 
subroutine init_integer (this, name, desc, default_value)
 
subroutine init_integer8 (this, name, desc, default_value)
 
subroutine init_integer_array (this, name, desc, length, default_value)
 
subroutine init_logical (this, name, desc, default_value)
 
subroutine init_string (this, name, desc, default_value)
 
subroutine init_nsel (this, name, desc)
 
subroutine check_description (name, desc)
 Check that description is non-empty. More...
 
subroutine check_array_length (name, length)
 Check that ARRAY_LEN is large enough. More...
 
subroutine apply_to_real (this, path, var)
 
subroutine apply_to_real_array (this, path, var)
 
subroutine apply_to_integer (this, path, var)
 
subroutine apply_to_integer8 (this, path, var)
 
subroutine apply_to_integer_array (this, path, var)
 
subroutine apply_to_logical (this, path, var)
 
subroutine apply_to_string (this, path, var)
 
subroutine apply_to_nsel (this, path, var, nerrors)
 Check if selection is valid, export it and set global variable. More...
 
subroutine check_constructor (desc)
 Check that constructor has been called. More...
 
subroutine display (name, val_str, desc)
 Display input name, value, and description (truncated at 140 characters) More...
 
subroutine store_parameter_real (path, name, description, value)
 Store a real into hdf5 file. More...
 
subroutine store_parameter_real_array (path, name, description, length, value)
 Store an array of reals into hdf5 file. More...
 
subroutine store_parameter_integer (path, name, description, value)
 Store an integer into hdf5 file. More...
 
subroutine store_parameter_integer8 (path, name, description, value)
 Store a double precision integer into hdf5 file. More...
 
subroutine store_parameter_integer_array (path, name, description, length, value)
 Store an array of integers into hdf5 file. More...
 
subroutine store_parameter_logical (path, name, description, value)
 Store a logical into hdf5 file. More...
 
subroutine store_parameter_string (path, name, description, value)
 Store a string into hdf5 file. Use empty dataset attributes to append strings. More...
 
subroutine store_parameter_nsel (path, name, description, value, value_description)
 Store a selector into hdf5 file. Use empty dataset attributes to append strings. More...
 
subroutine add_option (this, input_key, key, key_desc, by_default)
 Add an option to the selector. More...
 
integer function get_input_index (this, nerrors)
 Look for input key in array (return default if not found) More...
 
logical function identical (str1, str2)
 Case-insensitive comparison between two strings. More...
 
logical function eq_inp_real (this, cmp)
 
logical function eq_inp_integer (this, cmp)
 
logical function eq_inp_nsel (this, cmp)
 
logical function eq_real_inp (cmp, this)
 
logical function eq_integer_inp (cmp, this)
 
logical function eq_nsel_inp (cmp, this)
 
logical function eq_inp_inp_real (this1, this2)
 
logical function eq_inp_inp_integer (this1, this2)
 
logical function neq_inp_real (this, cmp)
 
logical function neq_inp_integer (this, cmp)
 
logical function neq_inp_nsel (this, cmp)
 
logical function neq_real_inp (cmp, this)
 
logical function neq_integer_inp (cmp, this)
 
logical function neq_nsel_inp (cmp, this)
 
logical function neq_inp_inp_real (this1, this2)
 
logical function neq_inp_inp_integer (this1, this2)
 
logical function gt_inp_real (this, cmp)
 
logical function gt_inp_integer (this, cmp)
 
logical function gt_real_inp (cmp, this)
 
logical function gt_integer_inp (cmp, this)
 
logical function gt_inp_inp_real (this1, this2)
 
logical function gt_inp_inp_integer (this1, this2)
 
logical function ge_inp_real (this, cmp)
 
logical function ge_inp_integer (this, cmp)
 
logical function ge_real_inp (cmp, this)
 
logical function ge_integer_inp (cmp, this)
 
logical function ge_inp_inp_real (this1, this2)
 
logical function ge_inp_inp_integer (this1, this2)
 
logical function lt_inp_real (this, cmp)
 
logical function lt_inp_integer (this, cmp)
 
logical function lt_real_inp (cmp, this)
 
logical function lt_integer_inp (cmp, this)
 
logical function lt_inp_inp_real (this1, this2)
 
logical function lt_inp_inp_integer (this1, this2)
 
logical function le_inp_real (this, cmp)
 
logical function le_inp_integer (this, cmp)
 
logical function le_real_inp (cmp, this)
 
logical function le_integer_inp (cmp, this)
 
logical function le_inp_inp_real (this1, this2)
 
logical function le_inp_inp_integer (this1, this2)
 
real function add_inp_real (this, val)
 
integer function add_inp_integer (this, val)
 
real function add_real_inp (val, this)
 
integer function add_integer_inp (val, this)
 
real function add_inp_inp_real (this1, this2)
 
integer function add_inp_inp_integer (this1, this2)
 
real function sub_inp_real (this, val)
 
integer function sub_inp_integer (this, val)
 
real function sub_real_inp (val, this)
 
integer function sub_integer_inp (val, this)
 
real function sub_inp_inp_real (this1, this2)
 
integer function sub_inp_inp_integer (this1, this2)
 
real function mult_inp_real (this, val)
 
integer function mult_inp_integer (this, val)
 
real function mult_real_inp (val, this)
 
integer function mult_integer_inp (val, this)
 
real function mult_inp_inp_real (this1, this2)
 
integer function mult_inp_inp_integer (this1, this2)
 
real function div_inp_real (this, val)
 
integer function div_inp_integer (this, val)
 
real function div_real_inp (val, this)
 
integer function div_integer_inp (val, this)
 
real function div_inp_inp_real (this1, this2)
 
integer function div_inp_inp_integer (this1, this2)
 
integer function mod_inp_integer (this1, val)
 
integer function mod_integer_inp (val, this2)
 
integer function mod_inp_inp_integer (this1, this2)
 
real function abs_inp_real (this)
 
integer function abs_inp_integer (this)
 
real function max_inp_real (this1, cmp)
 
integer function max_inp_integer (this1, cmp)
 
real function max_real_inp (cmp, this2)
 
integer function max_integer_inp (cmp, this2)
 
real function max_inp_inp_real (this1, this2)
 
integer function max_inp_inp_integer (this1, this2)
 
real function min_inp_real (this1, cmp)
 
integer function min_inp_integer (this1, cmp)
 
real function min_real_inp (cmp, this2)
 
integer function min_integer_inp (cmp, this2)
 
real function min_inp_inp_real (this1, this2)
 
integer function min_inp_inp_integer (this1, this2)
 
logical function eqv_inp_logical (this, cmp)
 
logical function eqv_logical_inp (cmp, this)
 
logical function eqv_inp_inp_logical (this1, this2)
 
logical function neqv_inp_logical (this, cmp)
 
logical function neqv_logical_inp (cmp, this)
 
logical function neqv_inp_inp_logical (this1, this2)
 
logical function not_inp (this)
 
logical function and_inp_logical (this, val)
 
logical function and_logical_inp (val, this)
 
logical function and_inp_inp_logical (this1, this2)
 
logical function or_inp_logical (this, val)
 
logical function or_logical_inp (val, this)
 
logical function or_inp_inp_logical (this1, this2)
 
subroutine assign_inp_real (this, val)
 
subroutine assign_inp_integer (this, val)
 
subroutine assign_inp_logical (this, val)
 
subroutine assign_inp_nsel (this, key)
 
subroutine assign_real_inp (val, this)
 
subroutine assign_integer_inp (val, this)
 
subroutine assign_logical_inp (val, this)
 
subroutine assign_inp_inp_real (this1, this2)
 
subroutine assign_inp_inp_integer (this1, this2)
 
subroutine assign_inp_inp_logical (this1, this2)
 
subroutine assign_string_inp (val, this)
 
character(len=len_trim(this%val)) function trim_inp (this)
 

Variables

integer, parameter name_len = 30
 Maximal name length. More...
 
integer, parameter desc_len = 512
 Maximal decription length. More...
 
integer, parameter array_len = 64
 Maximal input array length. More...
 
integer, parameter nopts_max = 99
 Maximal number of options for input_nsel. More...
 
integer, parameter key_len = 60
 Maximal input length. More...
 

Detailed Description

Define derived types "input_[...]" to attach descriptions and default values to input variables Most of the commonly used operators are overloaded to operate on derived input values (e.g. myinput==0 <=> myinputval==0).

Date
09.2017
Author
N. Ohana
Note
It is impossible to make an abstract superclass as the input value must be the first attribute for proper file reading.
The ideal implementation would make use of user-defined derived-type I/O but the behavior gets buggy on many compilers when combined to namelists. (For instance, Intel crashes if there is no whitespace after the equal sign, and the namelist elements order matters. PGI crashes when reading namelist if any element write(formatted) is defined.)
Allocatable arrays are not allowed without user-defined derived-type I/O, so large-enough fixed-size arrays are used.
Some compilers forbid PRIVATE type attributes if one wants to put instances in namelists.

Function/Subroutine Documentation

◆ abs_inp_integer()

integer function derived_inputs::abs_inp_integer ( class(input_integer), intent(in)  this)
private

◆ abs_inp_real()

real function derived_inputs::abs_inp_real ( class(input_real), intent(in)  this)
private

◆ add_inp_inp_integer()

integer function derived_inputs::add_inp_inp_integer ( class(input_integer), intent(in)  this1,
class(input_integer), intent(in)  this2 
)
private

◆ add_inp_inp_real()

real function derived_inputs::add_inp_inp_real ( class(input_real), intent(in)  this1,
class(input_real), intent(in)  this2 
)
private

◆ add_inp_integer()

integer function derived_inputs::add_inp_integer ( class(input_integer), intent(in)  this,
integer, intent(in)  val 
)
private

◆ add_inp_real()

real function derived_inputs::add_inp_real ( class(input_real), intent(in)  this,
real, intent(in)  val 
)
private

◆ add_integer_inp()

integer function derived_inputs::add_integer_inp ( integer, intent(in)  val,
class(input_integer), intent(in)  this 
)
private

◆ add_option()

subroutine derived_inputs::add_option ( class(input_nsel), intent(inout)  this,
character(len=*), intent(in)  input_key,
integer, intent(in)  key,
character(len=*), intent(in)  key_desc,
logical, intent(in), optional  by_default 
)

Add an option to the selector.

Parameters
[in]input_keyKey input string
[in]keykey identifier
[in]key_descKey description
[in]by_defaultSet this key as the default choice
+ Here is the call graph for this function:

◆ add_real_inp()

real function derived_inputs::add_real_inp ( real, intent(in)  val,
class(input_real), intent(in)  this 
)
private

◆ and_inp_inp_logical()

logical function derived_inputs::and_inp_inp_logical ( class(input_logical), intent(in)  this1,
class(input_logical), intent(in)  this2 
)
private

◆ and_inp_logical()

logical function derived_inputs::and_inp_logical ( class(input_logical), intent(in)  this,
logical, intent(in)  val 
)
private

◆ and_logical_inp()

logical function derived_inputs::and_logical_inp ( logical, intent(in)  val,
class(input_logical), intent(in)  this 
)
private

◆ apply_to_integer()

subroutine derived_inputs::apply_to_integer ( class(input_integer), intent(in)  this,
character(len=*), intent(in)  path,
integer, intent(out)  var 
)
private
Parameters
[in]pathOutput path in HDF5 file
[out]varGlobal variable to store input value
+ Here is the call graph for this function:

◆ apply_to_integer8()

subroutine derived_inputs::apply_to_integer8 ( class(input_integer8), intent(in)  this,
character(len=*), intent(in)  path,
integer(kind=i8), intent(out)  var 
)
private
Parameters
[in]pathOutput path in HDF5 file
[out]varGlobal variable to store input value
+ Here is the call graph for this function:

◆ apply_to_integer_array()

subroutine derived_inputs::apply_to_integer_array ( class(input_integer_array), intent(in)  this,
character(len=*), intent(in)  path,
integer, dimension(*), intent(out)  var 
)
private
Parameters
[in]pathOutput path in HDF5 file
[out]varGlobal variable to store input value
+ Here is the call graph for this function:

◆ apply_to_logical()

subroutine derived_inputs::apply_to_logical ( class(input_logical), intent(in)  this,
character(len=*), intent(in)  path,
logical, intent(out)  var 
)
private
Parameters
[in]pathOutput path in HDF5 file
[out]varGlobal variable to store input value
+ Here is the call graph for this function:

◆ apply_to_nsel()

subroutine derived_inputs::apply_to_nsel ( class(input_nsel), intent(inout)  this,
character(len=*), intent(in)  path,
integer, intent(out)  var,
integer, intent(inout)  nerrors 
)
private

Check if selection is valid, export it and set global variable.

Parameters
[in]pathOutput path in HDF5 file
[out]varGlobal variable to store input value
[in,out]nerrorsError counter
+ Here is the call graph for this function:

◆ apply_to_real()

subroutine derived_inputs::apply_to_real ( class(input_real), intent(in)  this,
character(len=*), intent(in)  path,
real, intent(out)  var 
)
private
Parameters
[in]pathOutput path in HDF5 file
[out]varGlobal variable to store input value
+ Here is the call graph for this function:

◆ apply_to_real_array()

subroutine derived_inputs::apply_to_real_array ( class(input_real_array), intent(in)  this,
character(len=*), intent(in)  path,
real, dimension(*), intent(out)  var 
)
private
Parameters
[in]pathOutput path in HDF5 file
[out]varGlobal variable to store input value
+ Here is the call graph for this function:

◆ apply_to_string()

subroutine derived_inputs::apply_to_string ( class(input_string), intent(in)  this,
character(len=*), intent(in)  path,
character(len=*), intent(out)  var 
)
private
Parameters
[in]pathOutput path in HDF5 file
[out]varGlobal variable to store input value
+ Here is the call graph for this function:

◆ assign_inp_inp_integer()

subroutine derived_inputs::assign_inp_inp_integer ( class(input_integer), intent(inout)  this1,
class(input_integer), intent(in)  this2 
)
private

◆ assign_inp_inp_logical()

subroutine derived_inputs::assign_inp_inp_logical ( class(input_logical), intent(inout)  this1,
class(input_logical), intent(in)  this2 
)
private

◆ assign_inp_inp_real()

subroutine derived_inputs::assign_inp_inp_real ( class(input_real), intent(inout)  this1,
class(input_real), intent(in)  this2 
)
private

◆ assign_inp_integer()

subroutine derived_inputs::assign_inp_integer ( class(input_integer), intent(inout)  this,
integer, intent(in)  val 
)
private

◆ assign_inp_logical()

subroutine derived_inputs::assign_inp_logical ( class(input_logical), intent(inout)  this,
logical, intent(in)  val 
)
private

◆ assign_inp_nsel()

subroutine derived_inputs::assign_inp_nsel ( class(input_nsel), intent(inout)  this,
integer, intent(in)  key 
)
private

◆ assign_inp_real()

subroutine derived_inputs::assign_inp_real ( class(input_real), intent(inout)  this,
real, intent(in)  val 
)
private

◆ assign_integer_inp()

subroutine derived_inputs::assign_integer_inp ( integer, intent(out)  val,
class(input_integer), intent(in)  this 
)
private

◆ assign_logical_inp()

subroutine derived_inputs::assign_logical_inp ( logical, intent(out)  val,
class(input_logical), intent(in)  this 
)
private

◆ assign_real_inp()

subroutine derived_inputs::assign_real_inp ( real, intent(out)  val,
class(input_real), intent(in)  this 
)
private

◆ assign_string_inp()

subroutine derived_inputs::assign_string_inp ( character(len=*), intent(out)  val,
class(input_string), intent(in)  this 
)
private

◆ check_array_length()

subroutine derived_inputs::check_array_length ( character(len=*), intent(in)  name,
integer, intent(in)  length 
)
private

Check that ARRAY_LEN is large enough.

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

◆ check_constructor()

subroutine derived_inputs::check_constructor ( character(len=*), intent(in)  desc)
private

Check that constructor has been called.

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

◆ check_description()

subroutine derived_inputs::check_description ( character(len=*), intent(in)  name,
character(len=*), intent(in)  desc 
)
private

Check that description is non-empty.

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

◆ display()

subroutine derived_inputs::display ( character(len=*), intent(in)  name,
character(len=*), intent(in)  val_str,
character(len=*), intent(in)  desc 
)
private

Display input name, value, and description (truncated at 140 characters)

+ Here is the caller graph for this function:

◆ div_inp_inp_integer()

integer function derived_inputs::div_inp_inp_integer ( class(input_integer), intent(in)  this1,
class(input_integer), intent(in)  this2 
)
private

◆ div_inp_inp_real()

real function derived_inputs::div_inp_inp_real ( class(input_real), intent(in)  this1,
class(input_real), intent(in)  this2 
)
private

◆ div_inp_integer()

integer function derived_inputs::div_inp_integer ( class(input_integer), intent(in)  this,
integer, intent(in)  val 
)
private

◆ div_inp_real()

real function derived_inputs::div_inp_real ( class(input_real), intent(in)  this,
real, intent(in)  val 
)
private

◆ div_integer_inp()

integer function derived_inputs::div_integer_inp ( integer, intent(in)  val,
class(input_integer), intent(in)  this 
)
private

◆ div_real_inp()

real function derived_inputs::div_real_inp ( real, intent(in)  val,
class(input_real), intent(in)  this 
)
private

◆ eq_inp_inp_integer()

logical function derived_inputs::eq_inp_inp_integer ( class(input_integer), intent(in)  this1,
class(input_integer), intent(in)  this2 
)
private

◆ eq_inp_inp_real()

logical function derived_inputs::eq_inp_inp_real ( class(input_real), intent(in)  this1,
class(input_real), intent(in)  this2 
)
private

◆ eq_inp_integer()

logical function derived_inputs::eq_inp_integer ( class(input_integer), intent(in)  this,
integer, intent(in)  cmp 
)
private

◆ eq_inp_nsel()

logical function derived_inputs::eq_inp_nsel ( class(input_nsel), intent(in)  this,
integer, intent(in)  cmp 
)
private
+ Here is the caller graph for this function:

◆ eq_inp_real()

logical function derived_inputs::eq_inp_real ( class(input_real), intent(in)  this,
real, intent(in)  cmp 
)
private

◆ eq_integer_inp()

logical function derived_inputs::eq_integer_inp ( integer, intent(in)  cmp,
class(input_integer), intent(in)  this 
)
private

◆ eq_nsel_inp()

logical function derived_inputs::eq_nsel_inp ( integer, intent(in)  cmp,
class(input_nsel), intent(in)  this 
)
private

◆ eq_real_inp()

logical function derived_inputs::eq_real_inp ( real, intent(in)  cmp,
class(input_real), intent(in)  this 
)
private

◆ eqv_inp_inp_logical()

logical function derived_inputs::eqv_inp_inp_logical ( class(input_logical), intent(in)  this1,
class(input_logical), intent(in)  this2 
)
private

◆ eqv_inp_logical()

logical function derived_inputs::eqv_inp_logical ( class(input_logical), intent(in)  this,
logical, intent(in)  cmp 
)
private

◆ eqv_logical_inp()

logical function derived_inputs::eqv_logical_inp ( logical, intent(in)  cmp,
class(input_logical), intent(in)  this 
)
private

◆ ge_inp_inp_integer()

logical function derived_inputs::ge_inp_inp_integer ( class(input_integer), intent(in)  this1,
class(input_integer), intent(in)  this2 
)
private

◆ ge_inp_inp_real()

logical function derived_inputs::ge_inp_inp_real ( class(input_real), intent(in)  this1,
class(input_real), intent(in)  this2 
)
private

◆ ge_inp_integer()

logical function derived_inputs::ge_inp_integer ( class(input_integer), intent(in)  this,
integer, intent(in)  cmp 
)
private

◆ ge_inp_real()

logical function derived_inputs::ge_inp_real ( class(input_real), intent(in)  this,
real, intent(in)  cmp 
)
private

◆ ge_integer_inp()

logical function derived_inputs::ge_integer_inp ( integer, intent(in)  cmp,
class(input_integer), intent(in)  this 
)
private

◆ ge_real_inp()

logical function derived_inputs::ge_real_inp ( real, intent(in)  cmp,
class(input_real), intent(in)  this 
)
private

◆ get_input_index()

integer function derived_inputs::get_input_index ( class(input_nsel), intent(in)  this,
integer, intent(inout), optional  nerrors 
)
private

Look for input key in array (return default if not found)

Parameters
[in,out]nerrorsIf present, check for errors and increment counter
+ Here is the call graph for this function:

◆ gt_inp_inp_integer()

logical function derived_inputs::gt_inp_inp_integer ( class(input_integer), intent(in)  this1,
class(input_integer), intent(in)  this2 
)
private

◆ gt_inp_inp_real()

logical function derived_inputs::gt_inp_inp_real ( class(input_real), intent(in)  this1,
class(input_real), intent(in)  this2 
)
private

◆ gt_inp_integer()

logical function derived_inputs::gt_inp_integer ( class(input_integer), intent(in)  this,
integer, intent(in)  cmp 
)
private

◆ gt_inp_real()

logical function derived_inputs::gt_inp_real ( class(input_real), intent(in)  this,
real, intent(in)  cmp 
)
private

◆ gt_integer_inp()

logical function derived_inputs::gt_integer_inp ( integer, intent(in)  cmp,
class(input_integer), intent(in)  this 
)
private

◆ gt_real_inp()

logical function derived_inputs::gt_real_inp ( real, intent(in)  cmp,
class(input_real), intent(in)  this 
)
private

◆ identical()

logical function derived_inputs::identical ( character(len=*), intent(in)  str1,
character(len=*), intent(in)  str2 
)
private

Case-insensitive comparison between two strings.

Parameters
[in]str1First string to compare
[in]str2Second string to compare with
Returns
.TRUE. if two strings are identical
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ init_integer()

subroutine derived_inputs::init_integer ( class(input_integer), intent(inout)  this,
character(len=*), intent(in)  name,
character(len=*), intent(in)  desc,
integer, intent(in)  default_value 
)
private
+ Here is the call graph for this function:

◆ init_integer8()

subroutine derived_inputs::init_integer8 ( class(input_integer8), intent(inout)  this,
character(len=*), intent(in)  name,
character(len=*), intent(in)  desc,
integer(kind=i8), intent(in)  default_value 
)
private
+ Here is the call graph for this function:

◆ init_integer_array()

subroutine derived_inputs::init_integer_array ( class(input_integer_array), intent(inout)  this,
character(len=*), intent(in)  name,
character(len=*), intent(in)  desc,
integer, intent(in)  length,
integer, dimension(length), intent(in)  default_value 
)
private
+ Here is the call graph for this function:

◆ init_logical()

subroutine derived_inputs::init_logical ( class(input_logical), intent(inout)  this,
character(len=*), intent(in)  name,
character(len=*), intent(in)  desc,
logical, intent(in)  default_value 
)
private
+ Here is the call graph for this function:

◆ init_nsel()

subroutine derived_inputs::init_nsel ( class(input_nsel), intent(inout)  this,
character(len=*), intent(in)  name,
character(len=*), intent(in)  desc 
)
private
+ Here is the call graph for this function:

◆ init_real()

subroutine derived_inputs::init_real ( class(input_real), intent(inout)  this,
character(len=*), intent(in)  name,
character(len=*), intent(in)  desc,
real, intent(in)  default_value 
)
private
+ Here is the call graph for this function:

◆ init_real_array()

subroutine derived_inputs::init_real_array ( class(input_real_array), intent(inout)  this,
character(len=*), intent(in)  name,
character(len=*), intent(in)  desc,
integer, intent(in)  length,
real, dimension(length), intent(in)  default_value 
)
private
+ Here is the call graph for this function:

◆ init_string()

subroutine derived_inputs::init_string ( class(input_string), intent(inout)  this,
character(len=*), intent(in)  name,
character(len=*), intent(in)  desc,
character(len=*), intent(in)  default_value 
)
private
+ Here is the call graph for this function:

◆ le_inp_inp_integer()

logical function derived_inputs::le_inp_inp_integer ( class(input_integer), intent(in)  this1,
class(input_integer), intent(in)  this2 
)
private

◆ le_inp_inp_real()

logical function derived_inputs::le_inp_inp_real ( class(input_real), intent(in)  this1,
class(input_real), intent(in)  this2 
)
private

◆ le_inp_integer()

logical function derived_inputs::le_inp_integer ( class(input_integer), intent(in)  this,
integer, intent(in)  cmp 
)
private

◆ le_inp_real()

logical function derived_inputs::le_inp_real ( class(input_real), intent(in)  this,
real, intent(in)  cmp 
)
private

◆ le_integer_inp()

logical function derived_inputs::le_integer_inp ( integer, intent(in)  cmp,
class(input_integer), intent(in)  this 
)
private

◆ le_real_inp()

logical function derived_inputs::le_real_inp ( real, intent(in)  cmp,
class(input_real), intent(in)  this 
)
private

◆ lt_inp_inp_integer()

logical function derived_inputs::lt_inp_inp_integer ( class(input_integer), intent(in)  this1,
class(input_integer), intent(in)  this2 
)
private

◆ lt_inp_inp_real()

logical function derived_inputs::lt_inp_inp_real ( class(input_real), intent(in)  this1,
class(input_real), intent(in)  this2 
)
private

◆ lt_inp_integer()

logical function derived_inputs::lt_inp_integer ( class(input_integer), intent(in)  this,
integer, intent(in)  cmp 
)
private

◆ lt_inp_real()

logical function derived_inputs::lt_inp_real ( class(input_real), intent(in)  this,
real, intent(in)  cmp 
)
private

◆ lt_integer_inp()

logical function derived_inputs::lt_integer_inp ( integer, intent(in)  cmp,
class(input_integer), intent(in)  this 
)
private

◆ lt_real_inp()

logical function derived_inputs::lt_real_inp ( real, intent(in)  cmp,
class(input_real), intent(in)  this 
)
private

◆ max_inp_inp_integer()

integer function derived_inputs::max_inp_inp_integer ( class(input_integer), intent(in)  this1,
class(input_integer), intent(in)  this2 
)
private

◆ max_inp_inp_real()

real function derived_inputs::max_inp_inp_real ( class(input_real), intent(in)  this1,
class(input_real), intent(in)  this2 
)
private

◆ max_inp_integer()

integer function derived_inputs::max_inp_integer ( class(input_integer), intent(in)  this1,
integer, intent(in)  cmp 
)
private

◆ max_inp_real()

real function derived_inputs::max_inp_real ( class(input_real), intent(in)  this1,
real, intent(in)  cmp 
)
private

◆ max_integer_inp()

integer function derived_inputs::max_integer_inp ( integer, intent(in)  cmp,
class(input_integer), intent(in)  this2 
)
private

◆ max_real_inp()

real function derived_inputs::max_real_inp ( real, intent(in)  cmp,
class(input_real), intent(in)  this2 
)
private

◆ min_inp_inp_integer()

integer function derived_inputs::min_inp_inp_integer ( class(input_integer), intent(in)  this1,
class(input_integer), intent(in)  this2 
)
private

◆ min_inp_inp_real()

real function derived_inputs::min_inp_inp_real ( class(input_real), intent(in)  this1,
class(input_real), intent(in)  this2 
)
private

◆ min_inp_integer()

integer function derived_inputs::min_inp_integer ( class(input_integer), intent(in)  this1,
integer, intent(in)  cmp 
)
private

◆ min_inp_real()

real function derived_inputs::min_inp_real ( class(input_real), intent(in)  this1,
real, intent(in)  cmp 
)
private

◆ min_integer_inp()

integer function derived_inputs::min_integer_inp ( integer, intent(in)  cmp,
class(input_integer), intent(in)  this2 
)
private

◆ min_real_inp()

real function derived_inputs::min_real_inp ( real, intent(in)  cmp,
class(input_real), intent(in)  this2 
)
private

◆ mod_inp_inp_integer()

integer function derived_inputs::mod_inp_inp_integer ( class(input_integer), intent(in)  this1,
class(input_integer), intent(in)  this2 
)
private

◆ mod_inp_integer()

integer function derived_inputs::mod_inp_integer ( class(input_integer), intent(in)  this1,
integer, intent(in)  val 
)
private

◆ mod_integer_inp()

integer function derived_inputs::mod_integer_inp ( integer, intent(in)  val,
class(input_integer), intent(in)  this2 
)
private

◆ mult_inp_inp_integer()

integer function derived_inputs::mult_inp_inp_integer ( class(input_integer), intent(in)  this1,
class(input_integer), intent(in)  this2 
)
private

◆ mult_inp_inp_real()

real function derived_inputs::mult_inp_inp_real ( class(input_real), intent(in)  this1,
class(input_real), intent(in)  this2 
)
private

◆ mult_inp_integer()

integer function derived_inputs::mult_inp_integer ( class(input_integer), intent(in)  this,
integer, intent(in)  val 
)
private

◆ mult_inp_real()

real function derived_inputs::mult_inp_real ( class(input_real), intent(in)  this,
real, intent(in)  val 
)
private

◆ mult_integer_inp()

integer function derived_inputs::mult_integer_inp ( integer, intent(in)  val,
class(input_integer), intent(in)  this 
)
private

◆ mult_real_inp()

real function derived_inputs::mult_real_inp ( real, intent(in)  val,
class(input_real), intent(in)  this 
)
private

◆ neq_inp_inp_integer()

logical function derived_inputs::neq_inp_inp_integer ( class(input_integer), intent(in)  this1,
class(input_integer), intent(in)  this2 
)
private

◆ neq_inp_inp_real()

logical function derived_inputs::neq_inp_inp_real ( class(input_real), intent(in)  this1,
class(input_real), intent(in)  this2 
)
private

◆ neq_inp_integer()

logical function derived_inputs::neq_inp_integer ( class(input_integer), intent(in)  this,
integer, intent(in)  cmp 
)
private

◆ neq_inp_nsel()

logical function derived_inputs::neq_inp_nsel ( class(input_nsel), intent(in)  this,
integer, intent(in)  cmp 
)
private

◆ neq_inp_real()

logical function derived_inputs::neq_inp_real ( class(input_real), intent(in)  this,
real, intent(in)  cmp 
)
private

◆ neq_integer_inp()

logical function derived_inputs::neq_integer_inp ( integer, intent(in)  cmp,
class(input_integer), intent(in)  this 
)
private

◆ neq_nsel_inp()

logical function derived_inputs::neq_nsel_inp ( integer, intent(in)  cmp,
class(input_nsel), intent(in)  this 
)
private

◆ neq_real_inp()

logical function derived_inputs::neq_real_inp ( real, intent(in)  cmp,
class(input_real), intent(in)  this 
)
private

◆ neqv_inp_inp_logical()

logical function derived_inputs::neqv_inp_inp_logical ( class(input_logical), intent(in)  this1,
class(input_logical), intent(in)  this2 
)
private

◆ neqv_inp_logical()

logical function derived_inputs::neqv_inp_logical ( class(input_logical), intent(in)  this,
logical, intent(in)  cmp 
)
private

◆ neqv_logical_inp()

logical function derived_inputs::neqv_logical_inp ( logical, intent(in)  cmp,
class(input_logical), intent(in)  this 
)
private

◆ not_inp()

logical function derived_inputs::not_inp ( class(input_logical), intent(in)  this)
private

◆ or_inp_inp_logical()

logical function derived_inputs::or_inp_inp_logical ( class(input_logical), intent(in)  this1,
class(input_logical), intent(in)  this2 
)
private

◆ or_inp_logical()

logical function derived_inputs::or_inp_logical ( class(input_logical), intent(in)  this,
logical, intent(in)  val 
)
private

◆ or_logical_inp()

logical function derived_inputs::or_logical_inp ( logical, intent(in)  val,
class(input_logical), intent(in)  this 
)
private

◆ store_parameter_integer()

subroutine derived_inputs::store_parameter_integer ( character(len=*), intent(in)  path,
character(len=*), intent(in)  name,
character(len=*), intent(in)  description,
integer, intent(in)  value 
)

Store an integer into hdf5 file.

Parameters
[in]pathPath in HDF5 file
[in]nameParameter name
[in]descriptionParameter description
[in]valueParameter value

◆ store_parameter_integer8()

subroutine derived_inputs::store_parameter_integer8 ( character(len=*), intent(in)  path,
character(len=*), intent(in)  name,
character(len=*), intent(in)  description,
integer(kind=8), intent(in)  value 
)

Store a double precision integer into hdf5 file.

Parameters
[in]pathPath in HDF5 file
[in]nameParameter name
[in]descriptionParameter description
[in]valueParameter value

◆ store_parameter_integer_array()

subroutine derived_inputs::store_parameter_integer_array ( character(len=*), intent(in)  path,
character(len=*), intent(in)  name,
character(len=*), intent(in)  description,
integer, intent(in)  length,
integer, dimension(length), intent(in)  value 
)

Store an array of integers into hdf5 file.

Parameters
[in]pathPath in HDF5 file
[in]nameParameter name
[in]descriptionParameter description
[in]lengthArray length
[in]valueParameter values

◆ store_parameter_logical()

subroutine derived_inputs::store_parameter_logical ( character(len=*), intent(in)  path,
character(len=*), intent(in)  name,
character(len=*), intent(in)  description,
logical, intent(in)  value 
)

Store a logical into hdf5 file.

Parameters
[in]pathPath in HDF5 file
[in]nameParameter name
[in]descriptionParameter description
[in]valueParameter value

◆ store_parameter_nsel()

subroutine derived_inputs::store_parameter_nsel ( character(len=*), intent(in)  path,
character(len=*), intent(in)  name,
character(len=*), intent(in)  description,
character(len=*), intent(in)  value,
character(len=*), intent(in)  value_description 
)

Store a selector into hdf5 file. Use empty dataset attributes to append strings.

Parameters
[in]pathPath in HDF5 file
[in]nameParameter name
[in]descriptionParameter description
[in]valueParameter value
[in]value_descriptionParameter value description

◆ store_parameter_real()

subroutine derived_inputs::store_parameter_real ( character(len=*), intent(in)  path,
character(len=*), intent(in)  name,
character(len=*), intent(in)  description,
real, intent(in)  value 
)
private

Store a real into hdf5 file.

Parameters
[in]pathPath in HDF5 file
[in]nameParameter name
[in]descriptionParameter description
[in]valueParameter value

◆ store_parameter_real_array()

subroutine derived_inputs::store_parameter_real_array ( character(len=*), intent(in)  path,
character(len=*), intent(in)  name,
character(len=*), intent(in)  description,
integer, intent(in)  length,
real, dimension(length), intent(in)  value 
)

Store an array of reals into hdf5 file.

Parameters
[in]pathPath in HDF5 file
[in]nameParameter name
[in]descriptionParameter description
[in]lengthArray length
[in]valueParameter values

◆ store_parameter_string()

subroutine derived_inputs::store_parameter_string ( character(len=*), intent(in)  path,
character(len=*), intent(in)  name,
character(len=*), intent(in)  description,
character(len=*), intent(in)  value 
)

Store a string into hdf5 file. Use empty dataset attributes to append strings.

Parameters
[in]pathPath in HDF5 file
[in]nameParameter name
[in]descriptionParameter description
[in]valueParameter value

◆ sub_inp_inp_integer()

integer function derived_inputs::sub_inp_inp_integer ( class(input_integer), intent(in)  this1,
class(input_integer), intent(in)  this2 
)
private

◆ sub_inp_inp_real()

real function derived_inputs::sub_inp_inp_real ( class(input_real), intent(in)  this1,
class(input_real), intent(in)  this2 
)
private

◆ sub_inp_integer()

integer function derived_inputs::sub_inp_integer ( class(input_integer), intent(in)  this,
integer, intent(in)  val 
)
private

◆ sub_inp_real()

real function derived_inputs::sub_inp_real ( class(input_real), intent(in)  this,
real, intent(in)  val 
)
private

◆ sub_integer_inp()

integer function derived_inputs::sub_integer_inp ( integer, intent(in)  val,
class(input_integer), intent(in)  this 
)
private

◆ sub_real_inp()

real function derived_inputs::sub_real_inp ( real, intent(in)  val,
class(input_real), intent(in)  this 
)
private

◆ trim_inp()

character(len=len_trim(this%val)) function derived_inputs::trim_inp ( class(input_string), intent(in)  this)
private
+ Here is the caller graph for this function:

Variable Documentation

◆ array_len

integer, parameter derived_inputs::array_len = 64
private

Maximal input array length.

◆ desc_len

integer, parameter derived_inputs::desc_len = 512
private

Maximal decription length.

◆ key_len

integer, parameter derived_inputs::key_len = 60
private

Maximal input length.

◆ name_len

integer, parameter derived_inputs::name_len = 30
private

Maximal name length.

◆ nopts_max

integer, parameter derived_inputs::nopts_max = 99
private

Maximal number of options for input_nsel.