ascalar
Module
Description
This module is used to solve the equation of supersaturation for either the Smoluchowski approach or the swarm model.
** AUTOMATIC CPARAM.INC GENERATION ************************ Declare (for generation of cparam.inc) the number of f array variables and auxiliary variables added by this module
CPARAM logical, parameter :: lascalar = .true.
MVAR CONTRIBUTION 2 MAUX CONTRIBUTION 1 !!! COMMUNICATED AUXILIARIES 1
PENCILS PROVIDED acc PENCILS PROVIDED gacc(3); ugacc PENCILS PROVIDED del2acc PENCILS PROVIDED ssat PENCILS PROVIDED ttc PENCILS PROVIDED gttc(3); ugttc PENCILS PROVIDED del2ttc
Quick access
- Variables:
acc_const,acc_mean,amplacc,amplttc,ascalar_after_boundary,ascalar_diff,buoyancy,calc_accmean,calc_ttcmean,const1_qvs,const2_qvs,consttt,cp_constant,es_t,gradacc0,gravity_acceleration,idiag_acc_mean,idiag_accm,idiag_accmax,idiag_accmin,idiag_accmz,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,initttc,l_t_source,lascalar_sink,latent_heat,lbuoyancy,lconsttt,ltt_mean,lttc,lttc_mean,lupdraft,lupw_acc,lupw_ttc,noascalar,qv_env,qvs_t,rascalar_sink,reinitialize_acc,rv_over_rd_minus_one,t_env,thermal_diff,tt_mean,ttc_const,ttc_mean,updraft,widthacc,widthttc,z0_acc- Routines:
calc_diagnostics_ascalar(),calc_pencils_ascalar(),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
Variables
- ascalar/a1 [real,private/optional/default=0.0]
- ascalar/acc_const [real,private/optional/default=0.0]
- ascalar/acc_mean (1) [real,private/optional/default=1.e-2]
- ascalar/amplacc [real,private/optional/default=0.0]
- ascalar/amplttc [real,private/optional/default=0.0]
- ascalar/ascalar_after_boundary [private]
- ascalar/ascalar_diff [real,private/optional/default=0.0]
- ascalar/calc_accmean [private]
- ascalar/calc_ttcmean [private]
- 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/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_accmz [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/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/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 (1) [real,private/optional/default=293.0]
- 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]
- ascalar/z0_acc [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
- 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:
- Call to:
init_acc(),fatal_error(),identify_bcs(),calc_diagnostics_ascalar(),max_mn_name(),save_name(),xysum_mn_name_z(),global_mean()
- subroutine ascalar/init_acc(f)
initialise passive scalar field; called from start.f90
- Parameters:
- Use :
- Call to:
fatal_error(),identify_bcs(),calc_diagnostics_ascalar(),max_mn_name(),save_name(),xysum_mn_name_z(),global_mean()
- subroutine ascalar/pencil_criteria_ascalar()
All pencils that the Ascalar module depends on are specified here.
- 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:
identify_bcs(),calc_diagnostics_ascalar(),max_mn_name(),save_name(),xysum_mn_name_z(),global_mean()
- subroutine ascalar/calc_pencils_ascalar(f, p)
Calculate ascalar Pencils. Most basic pencils should come first, as others may depend on them.
- Parameters:
- Use :
- Call to:
identify_bcs(),calc_diagnostics_ascalar(),max_mn_name(),save_name(),xysum_mn_name_z(),global_mean()
- 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:
- Use :
- Call to:
identify_bcs(),calc_diagnostics_ascalar(),max_mn_name(),save_name(),xysum_mn_name_z(),global_mean()
- subroutine ascalar/calc_diagnostics_ascalar(p)
Diagnostics
- Parameters:
p [pencil_case]
- Use :
- Call to:
max_mn_name(),save_name(),xysum_mn_name_z(),global_mean()
- subroutine ascalar/read_ascalar_init_pars(iomsg)
- Parameters:
iomsg [character,out]
- Use :
- subroutine ascalar/write_ascalar_init_pars(unit)
- Parameters:
unit [integer,in]
- subroutine ascalar/read_ascalar_run_pars(iomsg)
- Parameters:
iomsg [character,out]
- Use :
- subroutine ascalar/write_ascalar_run_pars(unit)
- Parameters:
unit [integer,in]
- subroutine ascalar/rprint_ascalar(lreset[, lwrite])
- Parameters:
lreset [logical]
lwrite [logical]
- Use :