OpenCMISS-Iron Internal API Documentation
base_routines.f90 File Reference

This module contains all the low-level base routines e.g., all debug, control, and low-level communication routines. More...

Go to the source code of this file.

Data Types

type  base_routines::routine_list_item_type
 Contains information for an item in the routine list for diagnostics or timing. More...
 
type  base_routines::routine_list_type
 Contains information for the routine list for diagnostics or timing. More...
 
type  base_routines::routine_stack_item_type
 Contains information for an item in the routine invocation stack. More...
 
type  base_routines::routine_stack_type
 Contains information for the routine invocation stack. More...
 
interface  base_routines::CPUTIMER
 
interface  base_routines::baseroutinesfinalise
 
interface  base_routines::baseroutinesinitialise
 
interface  base_routines::computationalnodenumbersset
 
interface  base_routines::diagnosticsseton
 
interface  base_routines::diagnosticssetoff
 
interface  base_routines::extract_error_message
 
interface  base_routines::extracterrormessage
 
interface  base_routines::flag_error
 Flags an error condition. More...
 
interface  base_routines::flag_warning
 Flags a warning to the user. More...
 
interface  base_routines::flagerror
 Flags an error condition. More...
 
interface  base_routines::flagwarning
 Flags a warning to the user. More...
 
interface  base_routines::outputseton
 
interface  base_routines::outputsetoff
 
interface  base_routines::randomseedsget
 
interface  base_routines::randomseedssizeget
 
interface  base_routines::randomseedsset
 
interface  base_routines::timingseton
 
interface  base_routines::timingsetoff
 
interface  base_routines::timingsummaryoutput
 
interface  base_routines::write_error
 Flags a warning to the user. More...
 
interface  base_routines::writestr
 Flags a warning to the user. More...
 

Modules

module  base_routines
 This module contains all the low-level base routines e.g., all debug, control, and low-level communication routines.
 

Functions/Subroutines

subroutine, public base_routines::enters (NAME, ERR, ERROR,)
 Records the entry into the named procedure and initialises the error code. More...
 
subroutine, public base_routines::errors (NAME, ERR, ERROR)
 Records the exiting error of the subroutine. More...
 
subroutine, public base_routines::exits (NAME)
 Records the exit out of the named procedure. More...
 
subroutine, public base_routines::computational_node_numbers_set (MY_NODE_NUMBER, NUMBER_OF_NODES, ERR, ERROR,)
 Set the computational node numbers. Note: this is done as a subroutine as COMPUTATIONAL_ENVIRONMENT depends on BASE_ROUTINES. More...
 
subroutine base_routines::extract_error_message_vs (ERROR_MESSAGE, ERR, ERROR,)
 Extracts the error message from a CMISS error string and returns it as a varying string. More...
 
subroutine base_routines::extract_error_message_c (ERROR_MESSAGE, ERR, ERROR,)
 Extracts the error message from a CMISS error string and returns it as a character array. More...
 
subroutine base_routines::flag_error_c (STRING, ERR, ERROR,)
 Sets the error string specified by a character string and flags an error. More...
 
subroutine base_routines::flag_error_vs (STRING, ERR, ERROR,)
 Sets the error string specified by a varying string and flags an error. More...
 
subroutine base_routines::flag_warning_c (STRING, ERR, ERROR,)
 Writes a warning message specified by a character string to the user. More...
 
subroutine base_routines::flag_warning_vs (STRING, ERR, ERROR,)
 Writes a warning message specified by a varying string to the user. More...
 
subroutine, public base_routines::base_routines_finalise (ERR, ERROR,)
 Finalises the base_routines module and deallocates all memory. More...
 
subroutine, public base_routines::base_routines_initialise (ERR, ERROR,)
 Initialises the variables required for the base_routines module. More...
 
subroutine, public base_routines::diagnostics_set_off (ERR, ERROR,)
 Sets diagnositics off. More...
 
subroutine, public base_routines::diagnostics_set_on (DIAG_TYPE, LEVEL_LIST, DIAG_FILENAME, ROUTINE_LIST, ERR, ERROR,)
 Sets diagnositics on. More...
 
subroutine, public base_routines::output_set_off (ERR, ERROR,)
 Sets writes file echo output off. More...
 
subroutine, public base_routines::output_set_on (ECHO_FILENAME, ERR, ERROR,)
 Sets writes file echo output on. More...
 
subroutine, public base_routines::random_seeds_get (RANDOM_SEEDS, ERR, ERROR,)
 Returns the random seeds for CMISS. More...
 
subroutine, public base_routines::random_seeds_size_get (RANDOM_SEEDS_SIZE, ERR, ERROR,)
 Returns the size of the random seeds array for CMISS. More...
 
subroutine, public base_routines::random_seeds_set (RANDOM_SEEDS, ERR, ERROR,)
 Sets the random seeds for cmiss. More...
 
subroutine, public base_routines::timing_set_off (ERR, ERROR,)
 Sets timing off. More...
 
subroutine, public base_routines::timing_set_on (TIMING_TYPE, TIMING_SUMMARY_FLAG, TIMING_FILENAME, ROUTINE_LIST, ERR, ERROR,)
 Sets timing on. More...
 
subroutine, public base_routines::timing_summary_output (ERR, ERROR,)
 Outputs the timing summary. More...
 
subroutine, public base_routines::writeerror (err, error,)
 Writes the error string. More...
 
subroutine, public base_routines::write_str (ID, ERR, ERROR,)
 Writes the output string to a specified output stream. More...
 

Variables

integer(intg), parameter base_routines::max_output_lines =500
 Maximum number of lines that can be output. More...
 
integer(intg), parameter base_routines::max_output_width =132
 Maximum width of output line. More...
 
integer(intg), parameter, public base_routines::general_output_type =1
 General output type. More...
 
integer(intg), parameter, public base_routines::diagnostic_output_type =2
 Diagnostic output type. More...
 
integer(intg), parameter, public base_routines::timing_output_type =3
 Timing output type. More...
 
integer(intg), parameter, public base_routines::error_output_type =4
 Error output type. More...
 
integer(intg), parameter base_routines::warning_output_type =5
 Warning output type. More...
 
integer(intg), parameter, public base_routines::help_output_type =6
 Help output type. More...
 
integer(intg), parameter base_routines::echo_file_unit =10
 File unit for echo files. More...
 
integer(intg), parameter base_routines::diagnostics_file_unit =11
 File unit for diagnostic files. More...
 
integer(intg), parameter base_routines::timing_file_unit =12
 File unit for timing files. More...
 
integer(intg), parameter, public base_routines::learn_file_unit =13
 File unit for learn files. More...
 
integer(intg), parameter, public base_routines::io1_file_unit =21
 File unit for general IO 1 files. More...
 
integer(intg), parameter, public base_routines::io2_file_unit =22
 File unit for general IO 2 files. More...
 
integer(intg), parameter, public base_routines::io3_file_unit =23
 File unit for general IO 3 files. More...
 
integer(intg), parameter, public base_routines::io4_file_unit =24
 File unit for general IO 4 files. More...
 
integer(intg), parameter, public base_routines::io5_file_unit =25
 File unit for general IO 5 files. More...
 
integer(intg), parameter, public base_routines::temporary_file_unit =80
 File unit for temporary files. More...
 
integer(intg), parameter, public base_routines::open_comfile_unit =90
 File unit for open command files. More...
 
integer(intg), parameter, public base_routines::start_read_comfile_unit =90
 First file unit for read command files. More...
 
integer(intg), parameter, public base_routines::stop_read_comfile_unit =99
 Last file unit for read command files. More...
 
integer(intg), parameter, public base_routines::all_diag_type =1
 Type for setting diagnostic output in all routines. More...
 
integer(intg), parameter, public base_routines::in_diag_type =2
 Type for setting diagnostic output in one routine. More...
 
integer(intg), parameter, public base_routines::from_diag_type =3
 Type for setting diagnostic output from one routine downwards. More...
 
integer(intg), parameter, public base_routines::all_timing_type =1
 Type for setting timing output in all routines. More...
 
integer(intg), parameter, public base_routines::in_timing_type =2
 Type for setting timing output in one routine. More...
 
integer(intg), parameter, public base_routines::from_timing_type =3
 Type for setting timing output from one routine downwards. More...
 
integer(intg), save base_routines::my_computational_node_number
 The computational rank for this node. More...
 
integer(intg), save base_routines::number_of_computational_nodes
 The number of computational nodes. More...
 
integer(intg), dimension(:), allocatable, public base_routines::cmiss_random_seeds
 The current error handling seeds for OpenCMISS. More...
 
logical, save base_routines::diagnostics
 .TRUE. if diagnostic output is required in any routines. More...
 
logical, save, public base_routines::diagnostics1
 .TRUE. if level 1 diagnostic output is active in the current routine More...
 
logical, save, public base_routines::diagnostics2
 .TRUE. if level 2 diagnostic output is active in the current routine More...
 
logical, save, public base_routines::diagnostics3
 .TRUE. if level 3 diagnostic output is active in the current routine More...
 
logical, save, public base_routines::diagnostics4
 .TRUE. if level 4 diagnostic output is active in the current routine More...
 
logical, save, public base_routines::diagnostics5
 .TRUE. if level 5 diagnostic output is active in the current routine More...
 
logical, save base_routines::diagnostics_level1
 .TRUE. if the user has requested level 1 diagnostic output to be active More...
 
logical, save base_routines::diagnostics_level2
 .TRUE. if the user has requested level 2 diagnostic output to be active More...
 
logical, save base_routines::diagnostics_level3
 .TRUE. if the user has requested level 3 diagnostic output to be active More...
 
logical, save base_routines::diagnostics_level4
 .TRUE. if the user has requested level 4 diagnostic output to be active More...
 
logical, save base_routines::diagnostics_level5
 .TRUE. if the user has requested level 5 diagnostic output to be active More...
 
logical, save base_routines::diag_all_subroutines
 .TRUE. if diagnostic output is required in all routines More...
 
logical, save base_routines::diag_from_subroutine
 .TRUE. if diagnostic output is required from a particular routine More...
 
logical, save base_routines::diag_file_open
 .TRUE. if the diagnostic output file is open More...
 
logical, save base_routines::diag_or_timing
 .TRUE. if diagnostics or time is .TRUE. More...
 
logical, save base_routines::echo_output
 .TRUE. if all output is to be echoed to the echo file More...
 
logical, save base_routines::timing
 .TRUE. if timing output is required in any routines. More...
 
logical, save base_routines::timing_summary
 .TRUE. if timing output will be summary form via a TIMING_SUMMARY_OUTPUT call otherwise timing will be output for routines when the routine exits More...
 
logical, save base_routines::timing_all_subroutines
 .TRUE. if timing output is required in all routines More...
 
logical, save base_routines::timing_from_subroutine
 .TRUE. if timing output is required from a particular routine More...
 
logical, save base_routines::timing_file_open
 .TRUE. if the timing output file is open More...
 
character(len=maxstrlen), dimension(max_output_lines), save, public base_routines::op_string
 The array of lines to output. More...
 
type(routine_list_type), save base_routines::diag_routine_list
 The list of routines for which diagnostic output is required. More...
 
type(routine_list_type), save base_routines::timing_routine_list
 The list of routines for which timing output is required. More...
 
type(routine_stack_type), save base_routines::routine_stack
 The routime invocation stack. More...
 

Detailed Description

This module contains all the low-level base routines e.g., all debug, control, and low-level communication routines.

Author
Chris Bradley

LICENSE

Version: MPL 1.1/GPL 2.0/LGPL 2.1

The contents of this file are subject to the Mozilla Public License Version 1.1 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.mozilla.org/MPL/

Software distributed under the License is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License for the specific language governing rights and limitations under the License.

The Original Code is OpenCMISS

The Initial Developer of the Original Code is University of Auckland, Auckland, New Zealand, the University of Oxford, Oxford, United Kingdom and King's College, London, United Kingdom. Portions created by the University of Auckland, the University of Oxford and King's College, London are Copyright (C) 2007-2010 by the University of Auckland, the University of Oxford and King's College, London. All Rights Reserved.

Contributor(s):

Alternatively, the contents of this file may be used under the terms of either the GNU General Public License Version 2 or later (the "GPL"), or the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), in which case the provisions of the GPL or the LGPL are applicable instead of those above. If you wish to allow use of your version of this file only under the terms of either the GPL or the LGPL, and not to allow others to use your version of this file under the terms of the MPL, indicate your decision by deleting the provisions above and replace them with the notice and other provisions required by the GPL or the LGPL. If you do not delete the provisions above, a recipient may use your version of this file under the terms of any one of the MPL, the GPL or the LGPL.

Definition in file base_routines.f90.