syscalls

Module

Description

$Id$

This module takes care of system calls and provides ANSI-C functionality.

Quick access

Variables:

copy_addr_c, copy_addr_c_bool, directory_exists_c, extract_string_c, get_env_var_c, get_pid_c, ikind8, is_nan_c, mem_usage_c, rkind8, sizeof_real_c, system_c

Routines:

copy_addr_dble(), copy_addr_dble_1d(), copy_addr_int(), copy_addr_int_1d(), copy_addr_int_2d(), copy_addr_log(), copy_addr_log_1d(), copy_addr_real(), copy_addr_real_1d(), copy_addr_real_2d(), copy_addr_real_3d(), copy_addr_real_4d(), copy_addr_torus_rect(), directory_exists(), extract_str(), get_char_arr(), get_env_var(), get_pid(), is_nan_0d(), is_nan_1d(), is_nan_2d(), is_nan_3d(), is_nan_4d(), islink(), memusage(), readlink(), sizeof_real(), sleep(), system_cmd()

Needed modules

Variables

  • syscalls/copy_addr_c [external]
  • syscalls/copy_addr_c_bool [external]
  • syscalls/directory_exists_c [external]
  • syscalls/extract_string_c [external]
  • syscalls/get_env_var_c [external]
  • syscalls/get_pid_c [external]
  • syscalls/ikind8 [integer,parameter=selected_int_kind(14)]
  • syscalls/is_nan_c [external]
  • syscalls/mem_usage_c [external]
  • syscalls/rkind8 [integer,parameter=selected_real_kind(12)]
  • syscalls/sizeof_real_c [external]
  • syscalls/system_c [external]

Subroutines and functions

subroutine  syscalls/system_cmd(command)

Executes a system command.

3-nov-11/MR: coded

Parameters:

command [character]

Called from:

initialize_diagnostic_arrays(), register_io(), initialize_messages(), set_caller(), not_implemented(), fatal_error(), inevitably_fatal_error(), fatal_error_local(), fatal_error_local_collect(), error(), warning(), information(), svn_id(), timing(), life_support_off(), life_support_on(), terminal_setfgcolor(), terminal_setfgbrightcolor(), outlog(), initialize_training(), get_datadir(), get_snapdir(), read_all_init_pars(), read_all_run_pars(), get_downpars(), helper_loop(), reload(), gen_output(), timeloop(), check_tspec_crit_log_interval(), check_tsnap_crit_log_interval(), check_tvid_crit_log_interval(), setup_signal_files()

Call to:

sizeof_real(), get_pid(), directory_exists(), is_nan_0d(), is_nan_1d(), is_nan_2d(), is_nan_3d(), is_nan_4d(), readlink(), islink(), memusage()

subroutine  syscalls/sleep(seconds)

Sleep a pre-defined time.

26-Oct-2025/PABourdin: coded

Parameters:

seconds [integer,in]

Use :

iso_c_binding (c_int())

Call to:

sizeof_real(), get_pid(), directory_exists(), is_nan_0d(), is_nan_1d(), is_nan_2d(), is_nan_3d(), is_nan_4d(), readlink(), islink(), memusage()

function  syscalls/sizeof_real()

Determines the size of a real in bytes.

Returns: * The number of bytes used for a real.

16-Feb-2012/Bourdin.KIS: coded

Return:

sizeof_real [integer]

Called from:

system_cmd(), helper_loop(), reload(), gen_output(), timeloop(), check_tspec_crit_log_interval(), check_tsnap_crit_log_interval(), check_tvid_crit_log_interval(), setup_signal_files(), sleep(), pc_h5collect

Call to:

get_pid(), directory_exists(), is_nan_0d(), is_nan_1d(), is_nan_2d(), is_nan_3d(), is_nan_4d(), readlink(), islink(), memusage()

function  syscalls/get_pid()

Determines the PID of the current process.

Returns: * Integer containing the PID of the current process * -1 if retrieving of the PID failed

4-aug-10/Bourdin.KIS: coded

Return:

get_pid [integer]

Called from:

system_cmd(), sizeof_real(), sleep()

Call to:

directory_exists(), is_nan_0d(), is_nan_1d(), is_nan_2d(), is_nan_3d(), is_nan_4d(), readlink(), islink(), memusage()

subroutine  syscalls/get_env_var(name, value)

Reads in an environment variable.

Returns: * String containing the content of a given environment variable name * Empty string, if the variable doesn’t exist

4-aug-10/Bourdin.KIS: coded

Parameters:
  • name [character]

  • value [character]

Called from:

register_energy(), initialize_energy(), read_energy_init_pars(), write_energy_init_pars(), read_energy_run_pars(), write_energy_run_pars(), init_energy(), pencil_criteria_energy(), pencil_interdep_energy(), calc_pencils_energy(), denergy_dt(), calc_diagnostics_energy(), energy_before_boundary(), rprint_energy(), get_slices_energy(), impose_energy_floor(), dynamical_thermal_diffusion(), initialize_messages(), split_update_energy(), initialize_mult_special(), get_datadir(), get_snapdir(), read_all_init_pars(), read_all_run_pars()

Call to:

directory_exists(), is_nan_0d(), is_nan_1d(), is_nan_2d(), is_nan_3d(), is_nan_4d(), readlink(), islink(), memusage()

function  syscalls/directory_exists(path)

Checks for existence of a directory.

Returns: * True, if ‘path’ points to a directory * False, otherwise

2-sep-15/PABourdin: coded

Parameters:

path [character]

Return:

directory_exists [logical]

Called from:

initialize_boundcond(), initialize_messages(), set_caller(), not_implemented(), fatal_error(), inevitably_fatal_error(), fatal_error_local(), fatal_error_local_collect(), error(), warning(), information(), svn_id(), get_pid(), get_env_var(), system_cmd(), sizeof_real(), helper_loop(), reload(), gen_output(), timeloop(), check_tspec_crit_log_interval(), check_tsnap_crit_log_interval(), check_tvid_crit_log_interval(), setup_signal_files(), sleep()

Call to:

is_nan_0d(), is_nan_1d(), is_nan_2d(), is_nan_3d(), is_nan_4d(), readlink(), islink(), memusage()

function  syscalls/is_nan_0d(value)

Determines if value is not a number (NaN).

Returns: * true, if value is not a number (NaN) * false, otherwise

14-jan-2011/Bourdin.KIS: coded

Parameters:

value [real,in]

Return:

is_nan_0d [logical]

Called from:

get_pid(), get_env_var(), system_cmd(), sizeof_real(), sleep(), directory_exists()

Call to:

is_nan_1d(), is_nan_2d(), is_nan_3d(), is_nan_4d(), readlink(), islink(), memusage()

function  syscalls/is_nan_1d(value)

Determines if value is not a number (NaN).

Returns: * true, if value is not a number (NaN) * false, otherwise

15-jan-2011/Bourdin.KIS: coded

Parameters:

value (*) [real,in]

Return:

is_nan_1d (size(value, 1) [logical]

Called from:

get_pid(), get_env_var(), system_cmd(), sizeof_real(), is_nan_0d(), sleep(), directory_exists()

Call to:

is_nan_2d(), is_nan_3d(), is_nan_4d(), readlink(), islink(), memusage()

function  syscalls/is_nan_2d(value)

Determines if value is not a number (NaN).

Returns: * true, if value is not a number (NaN) * false, otherwise

15-jan-2011/Bourdin.KIS: coded

Parameters:

value (,) [real,in]

Return:

is_nan_2d (size(value, 1,size(value, 2) [logical]

Called from:

get_pid(), get_env_var(), system_cmd(), sizeof_real(), is_nan_0d(), is_nan_1d(), sleep(), directory_exists()

Call to:

is_nan_3d(), is_nan_4d(), readlink(), islink(), memusage()

function  syscalls/is_nan_3d(value)

Determines if value is not a number (NaN).

Returns: * true, if value is not a number (NaN) * false, otherwise

15-jan-2011/Bourdin.KIS: coded

Parameters:

value (,,*) [real,in]

Return:

is_nan_3d (size(value, 1,size(value, 2,size(value, 3) [logical]

Called from:

get_pid(), get_env_var(), system_cmd(), sizeof_real(), is_nan_0d(), is_nan_1d(), is_nan_2d(), sleep(), directory_exists()

Call to:

is_nan_4d(), readlink(), islink(), memusage()

function  syscalls/is_nan_4d(value)

Determines if value is not a number (NaN).

Returns: * true, if value is not a number (NaN) * false, otherwise

15-jan-2011/Bourdin.KIS: coded

Parameters:

value (,,*,*) [real,in]

Return:

is_nan_4d (size(value, 1,size(value, 2,size(value, 3,size(value, 4) [logical]

Called from:

get_pid(), get_env_var(), system_cmd(), sizeof_real(), is_nan_0d(), is_nan_1d(), is_nan_2d(), is_nan_3d(), sleep(), directory_exists()

Call to:

readlink(), islink(), memusage()

Returns the file pointed to by symbolic link filename in link. Returns .true. if successful.

21-mar-20/MR: coded

Parameters:
  • filename [character,in]

  • link [character,out]

Return:

readlink [logical]

Called from:

get_pid(), get_env_var(), system_cmd(), sizeof_real(), is_nan_0d(), is_nan_1d(), is_nan_2d(), is_nan_3d(), is_nan_4d(), sleep(), directory_exists()

Call to:

islink(), memusage()

Tests whether filename is a symbolic link.

21-mar-20/MR: coded

Parameters:

filename [character,in]

Return:

islink [logical]

Called from:

get_pid(), get_env_var(), system_cmd(), sizeof_real(), is_nan_0d(), is_nan_1d(), is_nan_2d(), is_nan_3d(), is_nan_4d(), sleep(), directory_exists(), readlink()

Call to:

memusage()

subroutine  syscalls/extract_str(cmd, result)

Extracts a string by cmd, e.g., from a file (would be included in cmd) and returns it in result.

21-mar-20/MR: coded

Parameters:
  • cmd [character,in]

  • result [character,out]

Called from:

initialize_mult_special()

Call to:

memusage()

subroutine  syscalls/copy_addr_int(var, caddr)
Parameters:
  • var [integer,in]

  • caddr [integer,out]

Call to:

memusage()

subroutine  syscalls/copy_addr_log(var, caddr)
Parameters:
  • var [logical,in]

  • caddr [integer,out]

Call to:

memusage()

subroutine  syscalls/copy_addr_real_1d(var, caddr)
Parameters:
  • var (*) [real,in]

  • caddr [integer,out]

Call to:

memusage()

subroutine  syscalls/copy_addr_log_1d(var, caddr)
Parameters:
  • var (*) [logical,in]

  • caddr [integer,out]

Call to:

memusage()

subroutine  syscalls/copy_addr_int_1d(var, caddr)
Parameters:
  • var (*) [integer,in]

  • caddr [integer,out]

Call to:

memusage()

subroutine  syscalls/copy_addr_int_2d(var, caddr)
Parameters:
  • var (,) [integer,in]

  • caddr [integer,out]

Call to:

memusage()

subroutine  syscalls/copy_addr_real_2d(var, caddr)
Parameters:
  • var (,) [real,in]

  • caddr [integer,out]

Call to:

memusage()

subroutine  syscalls/copy_addr_real_3d(var, caddr)
Parameters:
  • var (,,*) [real,in]

  • caddr [integer,out]

Call to:

memusage()

subroutine  syscalls/copy_addr_real_4d(var, caddr)
Parameters:
  • var (,,*,*) [real,in]

  • caddr [integer,out]

Call to:

memusage()

subroutine  syscalls/copy_addr_dble(var, caddr)
Parameters:
  • var [real,in]

  • caddr [integer,out]

Call to:

memusage()

subroutine  syscalls/copy_addr_dble_1d(var, caddr)
Parameters:
  • var (*) [real,in]

  • caddr [integer,out]

Call to:

memusage()

subroutine  syscalls/copy_addr_real(var, caddr)
Parameters:
  • var [real,in]

  • caddr [integer,out]

Call to:

memusage()

subroutine  syscalls/copy_addr_torus_rect(var, caddr)
Parameters:
Call to:

memusage()

subroutine  syscalls/get_char_arr(strarr, strlen, arrlen)
Parameters:
  • strarr (arrlen) [character,in]

  • strlen [integer]

  • arrlen [integer]

Call to:

memusage()

function  syscalls/memusage()
Return:

memusage [integer]

Called from:

initialize_messages(), set_caller(), not_implemented(), fatal_error(), inevitably_fatal_error(), fatal_error_local(), fatal_error_local_collect(), error(), warning(), information(), svn_id(), timing(), life_support_off(), life_support_on(), terminal_setfgcolor(), terminal_setfgbrightcolor(), memory_usage(), get_pid(), get_env_var(), system_cmd(), sizeof_real(), is_nan_0d(), is_nan_1d(), is_nan_2d(), is_nan_3d(), is_nan_4d(), helper_loop(), reload(), gen_output(), timeloop(), check_tspec_crit_log_interval(), check_tsnap_crit_log_interval(), check_tvid_crit_log_interval(), setup_signal_files(), print_metrics(), run_start(), sleep(), directory_exists(), readlink(), islink(), extract_str(), copy_addr_int(), copy_addr_log(), copy_addr_real_1d(), copy_addr_log_1d(), copy_addr_int_1d(), copy_addr_int_2d(), copy_addr_real_2d(), copy_addr_real_3d(), copy_addr_real_4d(), copy_addr_dble(), copy_addr_dble_1d(), copy_addr_real(), copy_addr_torus_rect(), get_char_arr(), start