particles_radius_ajwr

Module

Description

$Id$

This module takes care of everything related to particle radius.

** AUTOMATIC CPARAM.INC GENERATION ************************

Declare (for generation of cparam.inc) the number of f array variables and auxiliary variables added by this module

MPVAR CONTRIBUTION 1 MPAUX CONTRIBUTION 1 CPARAM logical, parameter :: lparticles_radius=.true.


Quick access

Variables:

a0_initdist, alpha_cond, alpha_cond1, ap0, ap1, aphigh, aplow, apmid, apmin, calc_diagnostics_particles_rad, cdtpc, cdtps, coeff_kappa, coeff_kelvin, condensation_coefficient_type, cp_part_evap, dap_dt_condensation_pencil, dap_dt_sweepup_pencil, deltavp12_floor, diffusion_coefficient, diffusion_coefficient1, dt1_sweepup, g_condensation, get_mass_from_radius, get_maxrad, get_stbin, gs_condensation, iabsm, idiag_ap2m, idiag_ap3m, idiag_apm, idiag_apmax, idiag_apmin, idiag_dtsweepp, idiag_dvp12m, idiag_ieffp, idiag_mnm, idiag_npswarmm, initap, ip1, kappa_aerosol, labsorbing_species, latent_heat_si, lborder_driving_ocean, lcondensation_par, lcondensation_rate, lcondensation_simplified, lconstant_radius_w_chem, ldroplet_evapcool, ldt_condensation, ldt_condensation_off, ldt_evaporation, ldust_accretion, ldust_condensation, lfixed_particles_radius, lfree_molecule, lgas_enthalpy_flux, lkohler, lkohler_simplified, llatent_heat, lreinitialize_ap, lsherwood_film, lsupersat_par, lsweepup_par, ltauascalar, mbar, modified_vapor_diffusivity, n0, n0_mean, nbin_initdist, qplaw, r_ccn, radii_distribution, rpbeta0, rr_d, rr_q, rv, sigma_initdist, sigma_w, ssat0, tau_damp_evap, tau_damp_evap1, tau_ocean_driving, tau_ocean_driving1, tstart_condensation_par, tstart_sweepup_par, ttocean, vapor_mixing_ratio_qvs, vthresh_sweepup, xi_accretion, ztop_ocean

Routines:

calc_diagnostics_particles_rad(), dap_dt(), dap_dt_pencil(), dap_dt_supersat_pencil(), get_mass_from_radius(), get_maxrad(), get_stbin(), initialize_particles_radius(), pencil_criteria_par_radius(), read_particles_rad_init_pars(), read_particles_rad_run_pars(), register_particles_radius(), rprint_particles_radius(), set_particle_radius(), write_particles_rad_init_pars(), write_particles_rad_run_pars()

Needed modules

Variables

  • particles_radius/a0_initdist [real,private/optional/default=5e-06]
  • particles_radius/alpha_cond [real,private/optional/default=1.0]
  • particles_radius/alpha_cond1 [real,private/optional/default=1.0]
  • particles_radius/ap0 (ninit) [real,private/optional/default=0.0]
  • particles_radius/ap1 [real,private/optional/default=1.0]
  • particles_radius/aphigh [real,private/optional/default=2.0]
  • particles_radius/aplow [real,private/optional/default=1.0]
  • particles_radius/apmin [real,private/optional/default=0.0]
  • particles_radius/calc_diagnostics_particles_rad [public]
  • particles_radius/cdtpc [real,private/optional/default=0.2]
  • particles_radius/cdtps [real,private/optional/default=0.2]
  • particles_radius/condensation_coefficient_type [character,private/optional/default='constant']
  • particles_radius/dap_dt_condensation_pencil [private]
  • particles_radius/dap_dt_sweepup_pencil [private]
  • particles_radius/deltavp12_floor [real,private/optional/default=0.0]
  • particles_radius/diffusion_coefficient [real,private/optional/default=1.0]
  • particles_radius/diffusion_coefficient1 [real,private/optional/default=1.0]
  • particles_radius/gamma [real,private]
  • particles_radius/get_mass_from_radius [public]
  • particles_radius/get_maxrad [public]
  • particles_radius/get_stbin [public]
  • particles_radius/gs_condensation [real,private/optional/default=0.0]
  • particles_radius/idiag_ap2m [integer,private/optional/default=0]
  • particles_radius/idiag_apm [integer,private/optional/default=0]
  • particles_radius/idiag_apmax [integer,private/optional/default=0]
  • particles_radius/idiag_apmin [integer,private/optional/default=0]
  • particles_radius/idiag_dtsweepp [integer,private/optional/default=0]
  • particles_radius/idiag_dvp12m [integer,private/optional/default=0]
  • particles_radius/idiag_ieffp [integer,private/optional/default=0]
  • particles_radius/idiag_npswarmm [integer,private/optional/default=0]
  • particles_radius/initap (ninit) [character,private/optional/default='nothing']
  • particles_radius/latent_heat_si [real,private/optional/default=2257000.0]
  • particles_radius/lborder_driving_ocean [logical,private/optional/default=.false.]
  • particles_radius/lcondensation_par [logical,private/optional/default=.false.]
  • particles_radius/lcondensation_simplified [logical,private/optional/default=.false.]
  • particles_radius/llatent_heat [logical,private/optional/default=.true.]
  • particles_radius/lsweepup_par [logical,private/optional/default=.false.]
  • particles_radius/mbar [real,private/optional/default=1.0]
  • particles_radius/nbin_initdist [integer,private/optional/default=20]
  • particles_radius/qplaw [real,private/optional/default=0.0]
  • particles_radius/radii_distribution (ninit) [real,private/optional/default=0.0]
  • particles_radius/rpbeta0 [real,private/optional/default=0.0]
  • particles_radius/sigma_initdist [real,private/optional/default=0.2]
  • particles_radius/tau_damp_evap [real,private/optional/default=0.0]
  • particles_radius/tau_damp_evap1 [real,private/optional/default=0.0]
  • particles_radius/tau_ocean_driving [real,private/optional/default=0.0]
  • particles_radius/tau_ocean_driving1 [real,private/optional/default=0.0]
  • particles_radius/tstart_condensation_par [real,private/optional/default=0.0]
  • particles_radius/tstart_sweepup_par [real,private/optional/default=0.0]
  • particles_radius/ttocean [real,private/optional/default=300.0]
  • particles_radius/vthresh_sweepup [real,private/optional/default=-1.0]
  • particles_radius/ztop_ocean [real,private/optional/default=0.0]

Subroutines and functions

subroutine  particles_radius/register_particles_radius()

Set up indices for access to the fp and dfp arrays.

22-aug-05/anders: coded

Use :

sharedvariables (put_shared_variable())

Call to:

svn_id(), append_npvar(), append_npaux(), fatal_error(), get_gamma_etc(), get_radius_chemistry(), sum_par_name(), max_mn_name(), max_par_name()

subroutine  particles_radius/initialize_particles_radius(f)

Perform any post-parameter-read initialization i.e. calculate derived parameters.

22-aug-05/anders: coded

Parameters:

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

Use :

equationofstate (get_gamma_etc())

Call to:

fatal_error(), get_gamma_etc(), get_radius_chemistry(), sum_par_name(), max_mn_name(), max_par_name()

subroutine  particles_radius/set_particle_radius(f, fp, npar_low, npar_high[, init])

Set radius of new particles.

18-sep-09/nils: adapted from init_particles_radius

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

  • fp (mpar_loc,mparray) [real]

  • npar_low [integer]

  • npar_high [integer]

  • init [logical]

Use :

general (random_number_wrapper())

Call to:

fatal_error(), get_radius_chemistry(), sum_par_name(), max_mn_name(), max_par_name()

subroutine  particles_radius/pencil_criteria_par_radius()

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

21-nov-06/anders: coded

Call to:

get_radius_chemistry(), sum_par_name(), max_mn_name(), fatal_error(), max_par_name()

subroutine  particles_radius/dap_dt_pencil(f, df, fp, dfp, p, ineargrid)

Evolution of particle radius.

22-aug-05/anders: coded

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

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

  • fp (mpar_loc,mparray) [real,inout]

  • dfp (mpar_loc,mpvar) [real,out]

  • p [pencil_case]

  • ineargrid (mpar_loc,3) [integer]

Use :

particles_number

Call to:

get_radius_chemistry(), sum_par_name(), max_mn_name(), fatal_error(), max_par_name()

subroutine  particles_radius/dap_dt(f, df, fp, dfp, ineargrid)

Evolution of particle radius.

21-nov-06/anders: coded

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

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

  • fp (mpar_loc,mparray) [real]

  • dfp (mpar_loc,mpvar) [real]

  • ineargrid (mpar_loc,3) [integer]

Use :

sub

Call to:

sum_par_name(), max_par_name()

subroutine  particles_radius/read_particles_rad_init_pars(iomsg)
Parameters:

iomsg [character,out]

Use :

file_io (parallel_unit())

subroutine  particles_radius/write_particles_rad_init_pars(unit)
Parameters:

unit [integer,in]

subroutine  particles_radius/read_particles_rad_run_pars(iomsg)
Parameters:

iomsg [character,out]

Use :

file_io (parallel_unit())

subroutine  particles_radius/write_particles_rad_run_pars(unit)
Parameters:

unit [integer,in]

subroutine  particles_radius/rprint_particles_radius(lreset[, lwrite])

Read and register print parameters relevant for particles radius.

22-aug-05/anders: coded

Parameters:
  • lreset [logical]

  • lwrite [logical]

Use :

diagnostics (parse_name()), farraymanager (farray_index_append())