Fortran module

Testing…

Module ascalar

Description

Quick access

Variables:

a1, acc_const, acc_mean, accm_volume, amplacc, amplttc, ascalar_diff, ascalar_sink, buoyancy, const1_qvs, const2_qvs, consttt, cp_constant, es_t, gradacc0, gradtt0, gravity_acceleration, idiag_acc_mean, idiag_accm, idiag_accmax, idiag_accmin, idiag_accrms, idiag_buoyancym, idiag_buoyancymax, idiag_buoyancymin, idiag_buoyancyrms, idiag_condensationratem, idiag_condensationratemax, idiag_condensationratemin, idiag_condensationraterms, idiag_esm, idiag_esmax, idiag_esmin, idiag_esrms, idiag_qvsm, idiag_qvsmax, idiag_qvsmin, idiag_qvsrms, idiag_ssatm, idiag_ssatmax, idiag_ssatmin, idiag_ssatrms, idiag_tauascalarmax, idiag_tauascalarmin, idiag_tauascalarrms, idiag_ttc_mean, idiag_ttcm, idiag_ttcmax, idiag_ttcmin, idiag_ttcrms, idiag_uxaccm, idiag_uyaccm, idiag_uzaccm, idiag_watermixingratiom, idiag_watermixingratiomax, idiag_watermixingratiomin, idiag_watermixingratiorms, initacc, initlntt, inittt, initttc, l_t_source, lascalar_sink, latent_heat, lbuoyancy, lcondensation_rate, lconsttt, ltauascalar, ltt_mean, lttc, lttc_mean, lupdraft, lupw_acc, lupw_ttc, noascalar, qv_env, qvs_t, rascalar_sink, reinitialize_acc, rhoa, rv, rv_over_rd_minus_one, ssat0, t_env, thermal_diff, tt_mean, ttc_const, ttc_mean, ttcm_volume, updraft, vapor_mixing_ratio_qvs, widthacc, widthttc

Routines:

calc_accmean(), calc_pencils_ascalar(), calc_ttcmean(), dacc_dt(), init_acc(), initialize_ascalar(), pencil_criteria_ascalar(), pencil_interdep_ascalar(), read_ascalar_init_pars(), read_ascalar_run_pars(), register_ascalar(), rprint_ascalar(), write_ascalar_init_pars(), write_ascalar_run_pars()

Needed modules

  • cdata

  • cparam

  • messages

Variables

  • ascalar/a1 [real,private/optional/default=0.0]
  • ascalar/acc_const [real,private/optional/default=0.0]
  • ascalar/acc_mean [real,private/optional/default=0.01]
  • ascalar/accm_volume (nx,ny,nz) [real,private]
  • ascalar/amplacc [real,private/optional/default=0.0]
  • ascalar/amplttc [real,private/optional/default=0.0]
  • ascalar/ascalar_diff [real,private/optional/default=0.0]
  • ascalar/ascalar_sink [real,private/optional/default=0.0]
  • ascalar/buoyancy (nx) [real,private/optional/default=0.0]
  • ascalar/const1_qvs [real,private/optional/default=253000000000.0]
  • ascalar/const2_qvs [real,private/optional/default=5420.0]
  • ascalar/consttt [real,private/optional/default=293.25]
  • ascalar/cp_constant [real,private/optional/default=1005.0]
  • ascalar/es_t (nx) [real,private/optional/default=0.0]
  • ascalar/gradacc0 (3) [real,private/optional/default=(/0.0,0.0,0.0/)]
  • ascalar/gradtt0 (3) [real,private/optional/default=(/0.0,0.0,0.0/)]
  • ascalar/gravity_acceleration [real,private/optional/default=9.81]
  • ascalar/idiag_acc_mean [integer,private/optional/default=0]
  • ascalar/idiag_accm [integer,private/optional/default=0]
  • ascalar/idiag_accmax [integer,private/optional/default=0]
  • ascalar/idiag_accmin [integer,private/optional/default=0]
  • ascalar/idiag_accrms [integer,private/optional/default=0]
  • ascalar/idiag_buoyancym [integer,private/optional/default=0]
  • ascalar/idiag_buoyancymax [integer,private/optional/default=0]
  • ascalar/idiag_buoyancymin [integer,private/optional/default=0]
  • ascalar/idiag_buoyancyrms [integer,private/optional/default=0]
  • ascalar/idiag_condensationratem [integer,private/optional/default=0]
  • ascalar/idiag_condensationratemax [integer,private/optional/default=0]
  • ascalar/idiag_condensationratemin [integer,private/optional/default=0]
  • ascalar/idiag_condensationraterms [integer,private/optional/default=0]
  • ascalar/idiag_esm [integer,private/optional/default=0]
  • ascalar/idiag_esmax [integer,private/optional/default=0]
  • ascalar/idiag_esmin [integer,private/optional/default=0]
  • ascalar/idiag_esrms [integer,private/optional/default=0]
  • ascalar/idiag_qvsm [integer,private/optional/default=0]
  • ascalar/idiag_qvsmax [integer,private/optional/default=0]
  • ascalar/idiag_qvsmin [integer,private/optional/default=0]
  • ascalar/idiag_qvsrms [integer,private/optional/default=0]
  • ascalar/idiag_ssatm [integer,private/optional/default=0]
  • ascalar/idiag_ssatmax [integer,private/optional/default=0]
  • ascalar/idiag_ssatmin [integer,private/optional/default=0]
  • ascalar/idiag_ssatrms [integer,private/optional/default=0]
  • ascalar/idiag_tauascalarmax [integer,private/optional/default=0]
  • ascalar/idiag_tauascalarmin [integer,private/optional/default=0]
  • ascalar/idiag_tauascalarrms [integer,private/optional/default=0]
  • ascalar/idiag_ttc_mean [integer,private/optional/default=0]
  • ascalar/idiag_ttcm [integer,private/optional/default=0]
  • ascalar/idiag_ttcmax [integer,private/optional/default=0]
  • ascalar/idiag_ttcmin [integer,private/optional/default=0]
  • ascalar/idiag_ttcrms [integer,private/optional/default=0]
  • ascalar/idiag_uxaccm [integer,private/optional/default=0]
  • ascalar/idiag_uyaccm [integer,private/optional/default=0]
  • ascalar/idiag_uzaccm [integer,private/optional/default=0]
  • ascalar/idiag_watermixingratiom [integer,private/optional/default=0]
  • ascalar/idiag_watermixingratiomax [integer,private/optional/default=0]
  • ascalar/idiag_watermixingratiomin [integer,private/optional/default=0]
  • ascalar/idiag_watermixingratiorms [integer,private/optional/default=0]
  • ascalar/initacc [character,private/optional/default='nothing']
  • ascalar/initlntt [character,private/optional/default='nothing']
  • ascalar/inittt [character,private/optional/default='nothing']
  • ascalar/initttc [character,private/optional/default='nothing']
  • ascalar/l_t_source [logical,private/optional/default=.true.]
  • ascalar/lascalar_sink [logical,private/optional/default=.false.]
  • ascalar/latent_heat [real,private/optional/default=2500000.0]
  • ascalar/lbuoyancy [logical,private/optional/default=.false.]
  • ascalar/lcondensation_rate [logical,private/optional/default=.false.]
  • ascalar/lconsttt [logical,private/optional/default=.false.]
  • ascalar/ltauascalar [logical,private/optional/default=.false.]
  • ascalar/ltt_mean [logical,private/optional/default=.false.]
  • ascalar/lttc [logical,private/optional/default=.false.]
  • ascalar/lttc_mean [logical,private/optional/default=.false.]
  • ascalar/lupdraft [logical,private/optional/default=.false.]
  • ascalar/lupw_acc [logical,private/optional/default=.false.]
  • ascalar/lupw_ttc [logical,private/optional/default=.false.]
  • ascalar/noascalar [logical,private/optional/default=.false.]
  • ascalar/qv_env [real,private/optional/default=0.0163]
  • ascalar/qvs_t (nx) [real,private/optional/default=0.0]
  • ascalar/rascalar_sink [logical,private/optional/default=.false.]
  • ascalar/reinitialize_acc [logical,private/optional/default=.false.]
  • ascalar/rhoa [real,private/optional/default=1.06]
  • ascalar/rv [real,private/optional/default=461.5]
  • ascalar/rv_over_rd_minus_one [real,private/optional/default=0.608]
  • ascalar/ssat0 [real,private/target/optional/default=0.0]
  • ascalar/t_env [real,private/optional/default=293.0]
  • ascalar/thermal_diff [real,private/optional/default=0.0]
  • ascalar/tt_mean [real,private/optional/default=293.25]
  • ascalar/ttc_const [real,private/optional/default=0.0]
  • ascalar/ttc_mean [real,private/optional/default=293.0]
  • ascalar/ttcm_volume (nx,ny,nz) [real,private]
  • ascalar/updraft [real,private/optional/default=0.0]
  • ascalar/vapor_mixing_ratio_qvs [real,private/optional/default=0.0]
  • ascalar/widthacc [real,private/optional/default=0.0]
  • ascalar/widthttc [real,private/optional/default=0.0]

Subroutines and functions

subroutine  ascalar/register_ascalar()

Initialise the acc variable and increase nvar accordingly

3-jun-16/xiangyu: adapted from pscalar_nolog

Use :

farraymanager

Call to:

init_acc(), calc_ttcmean(), calc_accmean()

subroutine  ascalar/initialize_ascalar(f)

Perform any necessary post-parameter read initialization Since the passive scalar is often used for diagnostic purposes one may want to reinitialize it to its initial distribution.

Parameters:

f (mx,my,mz,mfarray) [real]

Use :

sharedvariables (put_shared_variable(), get_shared_variable())

Call to:

init_acc(), calc_ttcmean(), calc_accmean()

subroutine  ascalar/init_acc(f)

initialise passive scalar field; called from start.f90

Parameters:

f (mx,my,mz,mfarray) [real]

Use :

sub, initcond

Called from:

register_ascalar(), initialize_ascalar()

Call to:

calc_ttcmean(), calc_accmean()

subroutine  ascalar/pencil_criteria_ascalar()

All pencils that the Ascalar module depends on are specified here.

Call to:

calc_ttcmean(), calc_accmean()

subroutine  ascalar/pencil_interdep_ascalar(lpencil_in)

Interdependency among pencils provided by the Pscalar module is specified here.

Parameters:

lpencil_in (npencils) [logical]

Call to:

calc_ttcmean(), calc_accmean()

subroutine  ascalar/calc_pencils_ascalar(f, p)

Calculate ascalar Pencils. Most basic pencils should come first, as others may depend on them.

Parameters:
  • f (mx,my,mz,mfarray) [real,in]

  • p [pencil_case,inout]

Use :

sub

Call to:

calc_ttcmean(), calc_accmean()

subroutine  ascalar/dacc_dt(f, df, p)

Active scalar evolution for supersation Calculate dacc/dt=-uu.gacc + supersat_diff*[del2acc + glnrho.gacc].

27-may-16/xiangyu: adapted from pscalar_nolog

4-sep-16/axel: added more diagnostics

Parameters:
  • f (mx,my,mz,mfarray) [real]

  • df (mx,my,mz,mvar) [real,out]

  • p [pencil_case]

Use :

diagnostics, sub

Call to:

calc_ttcmean(), calc_accmean()

subroutine  ascalar/calc_ttcmean(f)

Calculation of volume averaged mean temperature and water vapor mixing ratio.

06-June-18/Xiang-Yu.Li: coded

Parameters:

f (mx,my,mz,mfarray) [real,in]

Use :

sub (finalize_aver()), diagnostics (save_name())

Called from:

register_ascalar(), initialize_ascalar(), init_acc(), pencil_criteria_ascalar(), pencil_interdep_ascalar(), calc_pencils_ascalar(), dacc_dt()

subroutine  ascalar/calc_accmean(f)

Calculation of volume averaged water vapor mixing ratio.

06-June-18/Xiang-Yu.Li: coded

Parameters:

f (mx,my,mz,mfarray) [real,in]

Use :

sub (finalize_aver()), diagnostics (save_name())

Called from:

register_ascalar(), initialize_ascalar(), init_acc(), pencil_criteria_ascalar(), pencil_interdep_ascalar(), calc_pencils_ascalar(), dacc_dt()

subroutine  ascalar/read_ascalar_init_pars(iostat)
Parameters:

iostat [integer,out]

Use :

file_io (parallel_unit())

subroutine  ascalar/write_ascalar_init_pars(unit)
Parameters:

unit [integer,in]

subroutine  ascalar/read_ascalar_run_pars(iostat)
Parameters:

iostat [integer,out]

Use :

file_io (parallel_unit())

subroutine  ascalar/write_ascalar_run_pars(unit)
Parameters:

unit [integer,in]

subroutine  ascalar/rprint_ascalar(lreset[, lwrite])
Parameters:
  • lreset [logical]

  • lwrite [logical]

Use :

diagnostics, farraymanager (farray_index_append())

Module Geometrical Types

Description

$Id$

MODULE_DOC: Collection of geometrical object types. MODULE_DOC: (Presently only rectangular toroid)

16-May-20/MR: coded

Quick access

Types:

torus_rect

Variables:

torus_extend_r, torus_extend_z, torus_init, torus_precess, torus_rect, torus_rect_unfmt_read, torus_rect_unfmt_write, torus_wobble

Types

  • type  geometrical_types/torus_rect
    Type fields:
    • % center (3) [real]

    • % center0 (3) [real]

    • % extr_rate [real]

    • % extz_rate [real]

    • % height [real,optional/default=0.0]

    • % height0 [real]

    • % omega_prec [real]

    • % ph [real,optional/default=0.0]

    • % ph0 [real]

    • % r_in [real,optional/default=0.0]

    • % r_in0 [real]

    • % th [real,optional/default=0.0]

    • % th0 [real]

    • % thick [real,optional/default=0.0]

    • % wob_amp (3) [real]

    • % wob_om (3) [real]

    • % wob_phase (3) [real]

Variables

  • geometrical_types/torus_extend_r [public]
  • geometrical_types/torus_extend_z [public]
  • geometrical_types/torus_init [public]
  • geometrical_types/torus_precess [public]
  • geometrical_types/torus_rect [public]
  • geometrical_types/torus_rect_unfmt_read [public]
  • geometrical_types/torus_rect_unfmt_write [public]
  • geometrical_types/torus_wobble [public]

Revision history

  • changing documentation configuration and documentation in files by Illa at 2021-09-20 18:38:09, f582bb0

  • working on the documentation by Illa at 2021-08-12 23:45:44, 432ec0b

  • Updating all the readthedocs documentation by Illa at 2021-08-09 20:45:37, 3901ba4

  • adding readthedocs directory by Illa at 2021-05-26 02:16:24, 1c471b0