particles_radius

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 CPARAM logical, parameter :: lparticles_radius=.true.

PENCILS PROVIDED


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 [real,private/optional/default=1.0]
  • particles_radius/alpha_cond [real,private/optional/default=1.0]
  • particles_radius/alpha_cond1 [real,private/optional/default=1.0]
  • particles_radius/ap0 (ndustrad) [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/apmid [real,private/optional/default=1.5]
  • particles_radius/apmin [real,private/optional/default=0.0]
  • particles_radius/b [real,private/optional/default=1.0]
  • particles_radius/cdtpc [real,private/optional/default=0.2]
  • particles_radius/cdtps [real,private/optional/default=0.2]
  • particles_radius/coeff_kappa [real,private/optional/default=0.0]
  • particles_radius/coeff_kelvin [real,private/optional/default=0.0]
  • particles_radius/condensation_coefficient_type [character,private/optional/default='constant']
  • particles_radius/cp_part_evap [real,private/pointer]
  • 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/dt1_sweepup (nx) [real,private]
  • particles_radius/g_condensation [real,private/pointer]
  • particles_radius/gamma [real,private]
  • particles_radius/gs_condensation [real,private/optional/default=0.0]
  • particles_radius/iabsm [integer,private/optional/default=0]
  • particles_radius/idiag_ap2m [integer,private/optional/default=0]
  • particles_radius/idiag_ap3m [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_mnm [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/ip1 [integer,private/optional/default=npar/2]
  • particles_radius/kappa_aerosol [real,private/optional/default=0.1]
  • particles_radius/labsorbing_species [logical,private/optional/default=.false.]
  • particles_radius/lambda [real,private/optional/default=1.0]
  • 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_rate [logical,private/optional/default=.false.]
  • particles_radius/lcondensation_simplified [logical,private/optional/default=.false.]
  • particles_radius/lconstant_radius_w_chem [logical,private/optional/default=.false.]
  • particles_radius/ldroplet_evapcool [logical,private/optional/default=.false.]
  • particles_radius/ldt_condensation [logical,private/optional/default=.false.]
  • particles_radius/ldt_condensation_off [logical,private/optional/default=.false.]
  • particles_radius/ldt_evaporation [logical,private/optional/default=.false.]
  • particles_radius/ldust_accretion [logical,private/optional/default=.false.]
  • particles_radius/ldust_condensation [logical,private/optional/default=.false.]
  • particles_radius/lfixed_particles_radius [logical,private/optional/default=.false.]
  • particles_radius/lfree_molecule [logical,private/optional/default=.false.]
  • particles_radius/lgas_enthalpy_flux [logical,private/optional/default=.false.]
  • particles_radius/lkohler [logical,private/optional/default=.false.]
  • particles_radius/lkohler_simplified [logical,private/optional/default=.false.]
  • particles_radius/llatent_heat [logical,private/optional/default=.true.]
  • particles_radius/lreinitialize_ap [logical,private/optional/default=.false.]
  • particles_radius/lsherwood_film [logical,private/optional/default=.false.]
  • particles_radius/lsweepup_par [logical,private/optional/default=.false.]
  • particles_radius/ltauascalar [logical,private/optional/default=.false.]
  • particles_radius/mbar [real,private/optional/default=1.0]
  • particles_radius/mdot_film (*) [real,private/target/allocatable]
  • particles_radius/modified_vapor_diffusivity [real,private/optional/default=6.74e-06]
  • particles_radius/n0 [real,private/optional/default=1.0]
  • particles_radius/n0_mean [real,private/optional/default=100000000.0]
  • particles_radius/nbin_initdist [integer,private/optional/default=20]
  • particles_radius/qplaw [real,private/optional/default=0.0]
  • particles_radius/r_ccn [real,private/optional/default=1e-06]
  • particles_radius/radii_distribution (ndustrad) [real,private/optional/default=0.0]
  • particles_radius/rpbeta0 [real,private/optional/default=0.0]
  • particles_radius/rr_d [real,private/optional/default=0.0]
  • particles_radius/rr_q [real,private/optional/default=2.5]
  • particles_radius/rv [real,private/optional/default=461.5]
  • particles_radius/sigma_initdist [real,private/optional/default=0.2]
  • particles_radius/sigma_w [real,private/optional/default=0.072]
  • particles_radius/ssat0 [real,private/pointer]
  • 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/vapor_mixing_ratio_qvs [real,private/optional/default=0.0]
  • particles_radius/vthresh_sweepup [real,private/optional/default=-1.0]
  • particles_radius/xi_accretion [real,private/optional/default=0.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())

Called from:

particles_register_modules()

Call to:

svn_id(), append_npvar(), append_npaux(), fatal_error(), get_gamma_etc(), get_radius_chemistry(), sum_par_name(), calc_diagnostics_particles_rad(), max_mn_name(), condensing_species_rate(), cond_spec_lmass(), absorb_spec_lsol(), cond_spec_film_rate(), cond_spec_transfer_cv(), cond_spec_absorb_rate(), absorb_spec_lagr(), cond_spec_cond_lagr(), max_par_name()

subroutine  particles_radius/initialize_particles_radius(f, fp)

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

22-aug-05/anders: coded

Parameters:
Use :

equationofstate (get_gamma_etc()), general (random_number_wrapper()), sharedvariables (get_shared_variable(), put_shared_variable())

Called from:

particles_register_modules(), particles_rprint_list(), particles_initialize_modules()

Call to:

fatal_error(), get_gamma_etc(), get_radius_chemistry(), sum_par_name(), calc_diagnostics_particles_rad(), max_mn_name(), condensing_species_rate(), cond_spec_lmass(), absorb_spec_lsol(), cond_spec_film_rate(), cond_spec_transfer_cv(), cond_spec_absorb_rate(), absorb_spec_lagr(), cond_spec_cond_lagr(), 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] :: total droplet mass

  • npar_low [integer]

  • npar_high [integer]

  • init [logical]

Use :

general (random_number_wrapper())

Called from:

particles_register_modules(), particles_rprint_list(), particles_initialize_modules(), particles_init()

Call to:

fatal_error(), get_radius_chemistry(), sum_par_name(), calc_diagnostics_particles_rad(), max_mn_name(), condensing_species_rate(), cond_spec_lmass(), absorb_spec_lsol(), cond_spec_film_rate(), cond_spec_transfer_cv(), cond_spec_absorb_rate(), absorb_spec_lagr(), cond_spec_cond_lagr(), 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

Called from:

particles_register_modules(), particles_rprint_list(), particles_initialize_modules(), particles_init(), particles_finalize(), particles_read_snapshot(), particles_write_snapshot(), particles_write_dsnapshot(), particles_write_pdim(), particles_write_block(), particles_write_rmv(), particles_timestep_first(), particles_timestep_second(), split_update_particles(), particles_load_balance(), particles_boundconds(), particles_pencil_criteria(), particles_calc_selfpotential(), particles_before_boundary(), particles_special_bfre_bdary(), particles_special_after_dtsub(), read_all_particles_init_pars(), read_all_particles_run_pars(), write_dim_particles(), write_snapshot_particles(), read_snapshot_particles()

Call to:

get_radius_chemistry(), sum_par_name(), calc_diagnostics_particles_rad(), max_mn_name(), condensing_species_rate(), cond_spec_lmass(), absorb_spec_lsol(), fatal_error(), cond_spec_film_rate(), cond_spec_transfer_cv(), cond_spec_absorb_rate(), absorb_spec_lagr(), cond_spec_cond_lagr(), 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] :: total droplet mass

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

  • p [pencil_case]

  • ineargrid (mpar_loc,3) [integer]

Use :

particles_number

Called from:

particles_register_modules(), particles_rprint_list(), particles_initialize_modules(), particles_init(), particles_finalize(), particles_read_snapshot(), particles_write_snapshot(), particles_write_dsnapshot(), particles_write_pdim(), particles_write_block(), particles_write_rmv(), particles_timestep_first(), particles_timestep_second(), split_update_particles(), particles_load_balance(), particles_boundconds(), particles_pencil_criteria(), particles_pencil_interdep(), particles_calc_pencils(), particles_calc_selfpotential(), particles_before_boundary(), particles_special_bfre_bdary(), particles_special_after_dtsub(), particles_pde(), particles_pde_pencil(), read_all_particles_init_pars(), read_all_particles_run_pars(), write_dim_particles(), write_snapshot_particles(), read_snapshot_particles()

Call to:

get_radius_chemistry(), sum_par_name(), calc_diagnostics_particles_rad(), max_mn_name(), condensing_species_rate(), cond_spec_lmass(), absorb_spec_lsol(), fatal_error(), cond_spec_film_rate(), cond_spec_transfer_cv(), cond_spec_absorb_rate(), absorb_spec_lagr(), cond_spec_cond_lagr(), max_par_name()

subroutine  particles_radius/calc_diagnostics_particles_rad(p)
Parameters:

p [pencil_case]

Use :

diagnostics (max_mn_name())

Called from:

register_particles_radius(), initialize_particles_radius(), set_particle_radius(), pencil_criteria_par_radius(), dap_dt_pencil(), particles_register_modules(), particles_rprint_list(), particles_initialize_modules(), particles_init(), particles_finalize(), particles_read_snapshot(), particles_write_snapshot(), particles_write_dsnapshot(), particles_write_pdim(), particles_write_block(), particles_write_rmv(), particles_timestep_first(), particles_timestep_second(), split_update_particles(), particles_load_balance(), particles_boundconds(), particles_pencil_criteria(), particles_pencil_interdep(), particles_calc_pencils(), particles_calc_selfpotential(), particles_before_boundary(), particles_special_bfre_bdary(), particles_special_after_dtsub(), particles_pde(), particles_pde_pencil(), particles_calc_pencil_diags(), read_all_particles_init_pars(), read_all_particles_run_pars(), write_dim_particles(), write_snapshot_particles(), read_snapshot_particles()

Call to:

max_mn_name(), condensing_species_rate(), cond_spec_lmass(), absorb_spec_lsol(), fatal_error(), cond_spec_film_rate(), cond_spec_transfer_cv(), cond_spec_absorb_rate(), absorb_spec_lagr(), cond_spec_cond_lagr(), sum_par_name(), 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

Called from:

particles_register_modules(), particles_rprint_list(), particles_initialize_modules(), particles_init(), particles_finalize(), particles_read_snapshot(), particles_write_snapshot(), particles_write_dsnapshot(), particles_write_pdim(), particles_write_block(), particles_write_rmv(), particles_timestep_first(), particles_timestep_second(), split_update_particles(), particles_load_balance(), particles_boundconds(), particles_pencil_criteria(), particles_pencil_interdep(), particles_calc_pencils(), particles_calc_selfpotential(), particles_before_boundary(), particles_special_bfre_bdary(), particles_special_after_dtsub(), particles_pde(), read_all_particles_init_pars(), read_all_particles_run_pars(), write_dim_particles(), write_snapshot_particles(), read_snapshot_particles()

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]

Called from:

particles_register_modules(), particles_rprint_list(), particles_initialize_modules(), particles_init(), particles_finalize(), particles_read_snapshot(), particles_write_snapshot(), particles_write_dsnapshot(), particles_write_pdim(), particles_write_block(), particles_write_rmv(), particles_timestep_first(), particles_timestep_second(), split_update_particles(), particles_load_balance(), particles_boundconds(), particles_pencil_criteria(), particles_pencil_interdep(), particles_calc_pencils(), particles_calc_selfpotential(), particles_before_boundary(), particles_special_bfre_bdary(), particles_special_after_dtsub(), particles_pde(), particles_pde_pencil(), particles_calc_pencil_diags(), particles_pde_blocks(), read_all_particles_init_pars(), write_all_particles_init_pars(), read_all_particles_run_pars(), write_dim_particles(), write_snapshot_particles(), read_snapshot_particles()

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]

Called from:

particles_register_modules(), particles_rprint_list(), particles_initialize_modules(), particles_init(), particles_finalize(), particles_read_snapshot(), particles_write_snapshot(), particles_write_dsnapshot(), particles_write_pdim(), particles_write_block(), particles_write_rmv(), particles_timestep_first(), particles_timestep_second(), split_update_particles(), particles_load_balance(), particles_boundconds(), particles_pencil_criteria(), particles_pencil_interdep(), particles_calc_pencils(), particles_calc_selfpotential(), particles_before_boundary(), particles_special_bfre_bdary(), particles_special_after_dtsub(), particles_pde(), particles_pde_pencil(), particles_calc_pencil_diags(), particles_pde_blocks(), read_all_particles_init_pars(), write_all_particles_init_pars(), read_all_particles_run_pars(), write_all_particles_run_pars(), write_dim_particles(), write_snapshot_particles(), read_snapshot_particles()

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())

Called from:

particles_register_modules(), particles_rprint_list()

subroutine  particles_radius/get_stbin(api, istbin)
Parameters:
  • api [real]

  • istbin [integer,out]

Called from:

register_particles_caustics(), initialize_particles_caustics(), init_particles_caustics(), dcaustics_dt()

subroutine  particles_radius/get_mass_from_radius(mpi, fpwn, ip)
Parameters:
subroutine  particles_radius/get_maxrad(apmax)
Parameters:

apmax [real]

Called from:

register_particles_potential(), initialize_particles_potential()