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...
|
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) |
|
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.