Modules and functions

program aeolis

AeoLiS main program. Reads command line options, model parameters and start model run.

Usage:
aeolis <input>
aeolis <input> [options]
Options:
-v Shows the version of this AeoLiS executable
Use :run_module, constants_module, input_module
Call to:read_cmd(), read_params(), run_model()

run_module

Description

This is a docstring of run_module

Quick access

Routines:run_model(), write_progress(), get_time(), compute_supply(), format_time()

Needed modules

Subroutines and functions

subroutine run_module/run_model(par)
Parameters:par [parameters,inout]
Called from:aeolis
Call to:generate_bed(), generate_bedcomposition(), generate_wind(), generate_tide(), generate_meteo(), write_dimensions(), output_init(), get_time(), write_progress(), update_moisture(), mix_toplayer(), compute_threshold_grainsize(), compute_threshold_moisture(), get_layer_mass(), compute_supply(), update_bed(), sweep_toplayer(), output_update(), is_output(), get_layer_percentile(), output_write(), output_clear(), output_close()
function run_module/compute_supply(par, mass, cu, ct)
Parameters:
  • par [parameters,in] :: parameters structure
  • mass (:) [real,in]
  • cu (:) [real,in]
  • ct (:) [real,in]
Return:

supply (size(mass) [real]

Called from:

run_model()

Call to:

assert()

subroutine run_module/write_progress(ti, nt, tstart)
Parameters:
  • ti [integer,in]
  • nt [integer,in]
  • tstart [real,in]
Called from:

run_model()

Call to:

get_time(), format_time()

function run_module/get_time()
Return:tm [real]
Called from:run_model(), write_progress()
function run_module/format_time(tm)
Parameters:tm [real,in]
Return:str [character]
Called from:write_progress()

input_module

Quick access

Types:parameters
Routines:check_params(), read_cmd(), read_params(), read_key(), read_key_dbl(), read_key_int(), read_key_str(), read_key_strvec(), read_key_dblvec()

Needed modules

Types

  • type input_module/parameters
    Type fields:
    • % cfl [real]
    • % dx [real]
    • % wind_file [character]
    • % cb [real]
    • % max_error [real]
    • % vs [real]
    • % ntout [integer]
    • % cw [real]
    • % dt [real]
    • % layer_thickness [real]
    • % method_moist [character]
    • % tp [real]
    • % moist_file [character]
    • % nx [integer]
    • % porosity [real]
    • % g [real]
    • % output_dir [character]
    • % scheme [character]
    • % nt [integer]
    • % max_iter [integer]
    • % accfac [real]
    • % phi [real]
    • % minfrac [real]
    • % hs [real]
    • % rhop [real]
    • % rhow [real]
    • % facdod [real]
    • % grain_size (:) [real,allocatable]
    • % rhom [real]
    • % rhoa [real]
    • % z0 [real]
    • % a [real]
    • % bed_file [character]
    • % nlayers [integer]
    • % tide_file [character]
    • % grain_dist (:) [real,allocatable]
    • % f [real]
    • % nfractions [integer]
    • % k [real]
    • % outputvars (:) [character,allocatable]
    • % u_th [real]
    • % tout [real]
    • % w [real]
    • % tstop [real]
    • % gamma [real]

Subroutines and functions

function input_module/read_cmd()
Return:fname [character]
Called from:aeolis
Call to:split_path()
function input_module/read_params(fname)
Parameters:fname [character]
Return:par [parameters]
Called from:aeolis
Call to:read_key_dbl(), read_key_str(), read_key_int(), read_key_dblvec(), read_key_strvec(), check_params()
subroutine input_module/check_params(par)
Parameters:par [parameters,inout]
Called from:read_params()
Call to:sort()
function input_module/read_key_str(fname, key[, default_bn])
Parameters:
  • fname [character]
  • key [character]
Options:

default_bn [character,optional]

Return:

value [character]

Called from:

read_params()

Call to:

read_key()

function input_module/read_key_strvec(fname, key[, default_bn])
Parameters:
  • fname [character]
  • key [character]
Options:

default_bn [character,optional]

Return:

value_arr (:) [character,allocatable]

Called from:

read_params()

Call to:

read_key(), split()

function input_module/read_key_dbl(fname, key[, default_bn])
Parameters:
  • fname [character]
  • key [character]
Options:

default_bn [real,optional]

Return:

value_dbl [real]

Called from:

read_params()

Call to:

read_key()

function input_module/read_key_dblvec(fname, key, n[, default_bn])
Parameters:
  • fname [character]
  • key [character]
  • n [integer]
Options:

default_bn [real,optional]

Return:

value_dbl (n) [real]

Called from:

read_params()

Call to:

read_key()

function input_module/read_key_int(fname, key[, default_bn])
Parameters:
  • fname [character]
  • key [character]
Options:

default_bn [integer,optional]

Return:

value_int [integer]

Called from:

read_params()

Call to:

read_key()

function input_module/read_key(fname, key)
Parameters:
  • fname [character]
  • key [character]
Return:

value [character]

Called from:

read_key_dbl(), read_key_strvec(), read_key_str(), read_key_dblvec(), read_key_int()

wind_module

Quick access

Routines:generate_wind()

Needed modules

Subroutines and functions

subroutine wind_module/generate_wind(par, u)
Parameters:
  • par [parameters,inout]
  • u (:) [real,out,allocatable]
Called from:

run_model()

Call to:

rand_normal()

moist_module

Quick access

Types:meteorology
Routines:generate_meteo(), compute_threshold_moisture(), generate_tide(), generate_moist(), update_moisture(), map_moisture(), saturation_pressure(), vaporation_pressure_slope()

Needed modules

Types

  • type moist_module/meteorology
    Type fields:
    • % latent_heat [real]
    • % relative_humidity [real]
    • % air_temperature [real]
    • % solar_radiation [real]
    • % atmospheric_pressure [real]
    • % air_specific_heat [real]

Subroutines and functions

subroutine moist_module/generate_moist(par, z, m)
Parameters:
  • par [parameters,inout]
  • z (:) [real,out,allocatable]
  • m (:,:) [real,out,allocatable]
Call to:

linear_interp()

subroutine moist_module/generate_tide(par, tide)
Parameters:
  • par [parameters,inout]
  • tide (:) [real,out,allocatable]
Called from:

run_model()

Call to:

linear_interp()

subroutine moist_module/generate_meteo(par, meteo)
Parameters:
Called from:

run_model()

subroutine moist_module/compute_threshold_moisture(par, moist, u_th)
Parameters:
  • par [parameters,in]
  • moist (:) [real,in]
  • u_th (:,:) [real,inout]
Called from:

run_model()

subroutine moist_module/update_moisture(par, z, tide, meteo, u, moist)
Parameters:
  • par [parameters,in]
  • z (:) [real,in]
  • tide [real,in]
  • meteo [meteorology,in]
  • u [real,in]
  • moist (:,:) [real,inout]
Called from:

run_model()

Call to:

vaporation_pressure_slope(), saturation_pressure()

function moist_module/vaporation_pressure_slope(t)
Parameters:t [real,in]
Return:s [real]
Called from:update_moisture()
function moist_module/saturation_pressure(t)
Parameters:t [real,in]
Return:vp [real]
Called from:update_moisture()
function moist_module/map_moisture(par, zm, m, z)
Parameters:
  • par [parameters]
  • zm (:) [real]
  • m (:) [real]
  • z (:) [real]
Return:

mg (par%nx+1) [real]

Call to:

linear_interp()

bed_module

Quick access

Variables:message, messages, morlyr
Routines:sweep_toplayer(), compute_threshold_grainsize(), generate_bedcomposition(), generate_bed(), compute_threshold_bedslope(), mix_toplayer(), get_layer_mass(), get_layer_massfraction(), get_layer_volumefraction(), get_layer_percentile(), update_bed()

Needed modules

Variables

  • bed_module/morlyr [bedcomp_data,pointer]
  • bed_module/message [character]
  • bed_module/messages [message_stack,pointer]

Subroutines and functions

subroutine bed_module/generate_bed(par, x, z)
Parameters:
  • par [parameters,inout]
  • x (:) [real,out,allocatable]
  • z (:) [real,out,allocatable]
Called from:

run_model()

Call to:

linear_interp()

subroutine bed_module/generate_bedcomposition(par, x, z)
Parameters:
  • par [parameters,in]
  • x (:) [real,in]
  • z (:) [real,in]
Called from:

run_model()

function bed_module/update_bed(z, mass, rho, dt)
Parameters:
  • z (:) [real,in]
  • mass (:,:) [real,in]
  • rho (:) [real,in]
  • dt [real,in]
Return:

z_new (:) [real,allocatable]

Called from:

run_model()

function bed_module/get_layer_mass()
Return:mass (:,:,:) [real,pointer]
Called from:run_model()
function bed_module/get_layer_percentile(par, p)
Parameters:
Return:

perc (:,:) [real,allocatable]

Called from:

run_model()

Call to:

linear_interp()

function bed_module/get_layer_massfraction(par)
Parameters:par [parameters,in]
Return:fractions (:,:,:) [real,allocatable]
function bed_module/get_layer_volumefraction(par)
Parameters:par [parameters,in]
Return:fractions (:,:,:) [real,allocatable]
subroutine bed_module/compute_threshold_grainsize(par, u_th)
Parameters:
Called from:

run_model()

subroutine bed_module/compute_threshold_bedslope(par, x, z, u_th)
Parameters:
  • par [parameters,in]
  • x (:) [real,in]
  • z (:) [real,in]
  • u_th (:,:) [real,inout]
subroutine bed_module/mix_toplayer(par, z, tide)
Parameters:
  • par [parameters,in]
  • z (:) [real,in]
  • tide [real,in]
Called from:

run_model()

subroutine bed_module/sweep_toplayer(par)
Parameters:par [parameters,in]
Called from:run_model()

output_module

Quick access

Types:variables, variables_data
Routines:write_dimensions(), output_close(), output_update(), output_write(), output_clear(), alloc_variable_data(), output_init_data(), alloc_variable(), get_pointer_rank0(), get_pointer_rank1(), get_pointer_rank2(), get_pointer_rank3(), output_clear_data(), output_init(), is_output()

Needed modules

Types

  • type output_module/variables
    Type fields:
  • type output_module/variables_data
    Type fields:
    • % init [real]
    • % null [real,pointer]
    • % fid [integer]
    • % rank3 (:,:,:) [real,pointer]
    • % rank2 (:,:) [real,pointer]
    • % rank1 (:) [real,pointer]
    • % rank0 [real,pointer]

Subroutines and functions

subroutine output_module/alloc_variable(var, name, dims)
Parameters:
  • var (:) [variables,inout,allocatable]
  • name [character,in]
  • dims (:) [integer,in]
Called from:

get_pointer_rank0(), get_pointer_rank1(), get_pointer_rank2(), get_pointer_rank3()

Call to:

alloc_variable_data()

subroutine output_module/alloc_variable_data(var, dims, rank_bn[, val])
Parameters:
  • var [variables_data,inout,pointer]
  • dims (:) [integer,in]
  • rank_bn [integer,out]
Options:

val [real,in,optional]

Called from:

alloc_variable()

subroutine output_module/get_pointer_rank0(var, name, dims, ptr)
Parameters:
  • var (:) [variables,inout,allocatable]
  • name [character,in]
  • dims (:) [integer,in]
  • ptr [real,inout,pointer]
Call to:

alloc_variable()

subroutine output_module/get_pointer_rank1(var, name, dims, ptr)
Parameters:
  • var (:) [variables,inout,allocatable]
  • name [character,in]
  • dims (:) [integer,in]
  • ptr (:) [real,inout,pointer]
Call to:

alloc_variable()

subroutine output_module/get_pointer_rank2(var, name, dims, ptr)
Parameters:
  • var (:) [variables,inout,allocatable]
  • name [character,in]
  • dims (:) [integer,in]
  • ptr (:,:) [real,inout,pointer]
Call to:

alloc_variable()

subroutine output_module/get_pointer_rank3(var, name, dims, ptr)
Parameters:
  • var (:) [variables,inout,allocatable]
  • name [character,in]
  • dims (:) [integer,in]
  • ptr (:,:,:) [real,inout,pointer]
Call to:

alloc_variable()

subroutine output_module/output_init(var, vars[, dir])
Parameters:
  • var (:) [variables,inout]
  • vars (:) [character,in]
Options:

dir [character,in,optional]

Called from:

run_model()

Call to:

output_init_data()

subroutine output_module/output_init_data(var, dir, name, fid)
Parameters:
  • var [variables_data,inout]
  • dir [character,in]
  • name [character,in]
  • fid [integer,in]
Called from:

output_init()

subroutine output_module/output_update(var)
Parameters:var (:) [variables,inout]
Called from:run_model()
subroutine output_module/output_write(var)
Parameters:var (:) [variables,in]
Called from:run_model()
subroutine output_module/output_clear(var)
Parameters:var (:) [variables,inout]
Called from:run_model()
Call to:output_clear_data()
subroutine output_module/output_clear_data(var, rank_bn)
Parameters:
Called from:

output_clear()

subroutine output_module/output_close(var)
Parameters:var (:) [variables,in]
Called from:run_model()
subroutine output_module/write_dimensions(par)
Parameters:par [parameters,in]
Called from:run_model()
function output_module/is_output(var, name)
Parameters:
Return:

ret [logical]

Called from:

run_model()

utils_module

Quick access

Routines:assert(), split_path(), sort(), swap(), rand_normal(), split(), find_minimum(), linear_interp(), binary_search()

Needed modules

Subroutines and functions

subroutine utils_module/assert(condition)
Parameters:condition [logical]
Called from:compute_supply()
subroutine utils_module/sort(x[, x2])
Parameters:x (:) [real,inout]
Options:x2 (:) [real,inout,optional]
Called from:check_params()
Call to:find_minimum(), swap()
subroutine utils_module/swap(x, y)
Parameters:
  • x [real,inout]
  • y [real,inout]
Called from:

sort()

function utils_module/split(str[, sep])
Parameters:str [character]
Options:sep [character,optional]
Return:arr (:) [character,allocatable]
Called from:read_key_strvec()
subroutine utils_module/split_path(str, fpath, fname)
Parameters:
  • str [character,in]
  • fpath [character,out]
  • fname [character,out]
Called from:

read_cmd()

function utils_module/find_minimum(x)
Parameters:x (:) [real,in]
Return:loc [integer]
Called from:sort()
function utils_module/linear_interp(x, y, xx)
Parameters:
  • x (:) [real]
  • y (:) [real]
  • xx [real]
Return:

yy [real]

Called from:

get_layer_percentile(), generate_moist(), generate_bed(), map_moisture(), generate_tide()

Call to:

binary_search()

Parameters:
  • xx (:) [real]
  • x [real]
Return:

j [integer]

Called from:

linear_interp()

function utils_module/rand_normal(mean, stdev)
Parameters:
  • mean [real]
  • stdev [real]
Return:

c [real]

Called from:

generate_wind()

constants_module

Quick access

Variables:slen_bn, pi

Variables

  • constants_module/pi [real,parameter=3.14159265359]
  • constants_module/slen_bn [integer,parameter=1024]

Table Of Contents

Previous topic

Examples

This Page