alps_io Module

Controls input and output functions to and from main program.


Used by

  • module~~alps_io~~UsedByGraph module~alps_io alps_io proc~derivative_f0 derivative_f0 proc~derivative_f0->module~alps_io proc~derivative_f0_rel derivative_f0_rel proc~derivative_f0_rel->module~alps_io proc~determine_bessel_array determine_bessel_array proc~determine_bessel_array->module~alps_io proc~determine_resonances determine_resonances proc~determine_resonances->module~alps_io proc~integrate_resu_rel integrate_resU_rel proc~integrate_resu_rel->module~alps_io proc~lm_nonlinear_fit LM_nonlinear_fit proc~lm_nonlinear_fit->module~alps_io proc~map_search map_search proc~map_search->module~alps_io proc~om_double_scan om_double_scan proc~om_double_scan->module~alps_io proc~om_scan om_scan proc~om_scan->module~alps_io proc~output_fit output_fit proc~output_fit->module~alps_io proc~refine_guess refine_guess proc~refine_guess->module~alps_io proc~set_polynomial_basis set_polynomial_basis proc~set_polynomial_basis->module~alps_io program~alps alps program~alps->module~alps_io

Variables

Type Visibility Attributes Name Initial
integer, public :: unit

Index for file I/O.

integer, public, parameter :: stdout_unit = 6

Standard unit for I/O.

integer, public, save :: input_unit_no

Saved input unit for use with multiple read in calls.

integer, public, save :: error_unit_no = stdout_unit

Error output unit.


Functions

private function input_unit_exist(nml, exist)

Determine if a particular namelist already opened.

Arguments

Type IntentOptional Attributes Name
character(len=*), intent(in) :: nml

Namelist to be opened.

logical, intent(out) :: exist

Determination if namelist is open.

Return Value integer

I/O dummy indices.

private function input_unit(nml)

Assigns input unit for namelist opening.

Arguments

Type IntentOptional Attributes Name
character(len=*), intent(in) :: nml

Namelist string.

Return Value integer

I/O dummy indices.

public function isnancheck(input)

Checks if double precision number input is NaN.

Arguments

Type IntentOptional Attributes Name
double precision :: input

Variable to be checked.

Return Value logical


Subroutines

public subroutine init_param()

Read in system parameters from *.in file. Only processor 0 calls this routine:

Arguments

None

private subroutine map_read()

Reads in complex frequency map parameters.

Arguments

None

private subroutine solution_read(ik)

Reads in initial guesses for dispersion solutions.

Arguments

Type IntentOptional Attributes Name
integer, intent(in) :: ik

Solution index.

private subroutine spec_read(is)

Subroutine for reading in species parameters

Arguments

Type IntentOptional Attributes Name
integer, intent(in) :: is

Species index.

private subroutine poly_read(is)

Reads in Polynomial Basis Function Parameters

Arguments

Type IntentOptional Attributes Name
integer, intent(in) :: is

Species index.

private subroutine bM_read(is)

Reads in bi-Maxwellian/cold-plasma parameters.

Arguments

Type IntentOptional Attributes Name
integer, intent(in) :: is

Species index.

private subroutine scan_read(is)

The most important subroutine. Reads in wavevector scan parameters. Defines scanner, which controls the behavior of the wavevector scan.

Arguments

Type IntentOptional Attributes Name
integer, intent(in) :: is

Scan index.

public subroutine fit_read(is, ifit)

Reads in fit parameters for component is.

Arguments

Type IntentOptional Attributes Name
integer, intent(in) :: is

Species index.

integer, intent(in) :: ifit

private subroutine get_runname(runname, foldername)

Get runname for output files from input argument.

Arguments

Type IntentOptional Attributes Name
character(len=500), intent(out) :: runname

Basename for file I/O.

character(len=500), intent(out) :: foldername

Directory in which input file is stored.

public subroutine read_f0()

Subroutine for reading in background distribution function

Arguments

None

private subroutine get_indexed_namelist_unit(unit, nml, index_in)

Determines unused I/O unit.

Arguments

Type IntentOptional Attributes Name
integer, intent(out) :: unit

Unit to be defined.

character(len=*), intent(in) :: nml

Character string for namelist to be read in.

integer, intent(in) :: index_in

Index of namelist to be read in.

public subroutine get_indexed_double_namelist_unit(unit, nml, spec_in, index_in)

A version of get_indexed_namelist_unit, extended to allow for double indexing in order to read in multiple fits for a single species.

Arguments

Type IntentOptional Attributes Name
integer, intent(out) :: unit

Unit to be defined.

character(len=*), intent(in) :: nml

Character string for namelist to be read in.

integer, intent(in) :: spec_in

First index of namelist to be read in.

integer, intent(in) :: index_in

Second index of namelist to be read in.

public subroutine get_unused_unit(unit)

Determine unused number for I/O index.

Arguments

Type IntentOptional Attributes Name
integer, intent(out) :: unit

Unit to be assigned.

public subroutine alps_error_init()

Open a file for the error log.

Arguments

None

public subroutine alps_error(error_id)

Error catching subroutine.

Arguments

Type IntentOptional Attributes Name
integer :: error_id

Index of error message.

public subroutine output_time()

Outputs the date and time in a given format using intrinsic FORTRAN function.

Arguments

None

public subroutine display_credits()

Writes the opening credits.

Arguments

None