IndexRundeck: E6TomaF40Created: Sat May 18 03:30:40 EDT 2024

MO_BULK2M_DRIVER_GCM

File: BLK_DRV.f
Summary: 2-moment bulk cloud microphysics scheme
Author : Surabi Menon and Igor Sednev ; based on Morrison 2008 scheme in CCSM as in Morrison and Gettelman, 2008, J Clim 21, 15, 3642-3659 and Gettelman et al. 2008, J Clim,21,3660-3679
Version:

Subroutines:
allocate_arrays_bulk2m_1d

allocate_arrays_bulk2m_driver

brm_make_supsat1d

cleanup_bulk2m_driver

deallocate_arrays_bulk2m_1d

deallocate_arrays_bulk2m_driver

derf1

execute_bulk2m_driver

execute_bulk2m_driver_gcm

execute_bulk2m_sedimentation_gcm

execute_bulk2m_sedimentation_gcm0

gamma

get_micro_bulk2m

get_rate_bulk2m

get_value_bulk2m

gult_drop_activation

hugh_balance_tendencies

hugh_constants_init

hugh_crys_autoconversion

hugh_crys_by_snow_accretion

hugh_crys_condensation

hugh_crys_melting

hugh_crys_nucleation

hugh_crys_sedimentation

hugh_drop_autoconversion

hugh_drop_by_rain_accretion

hugh_drop_by_snow_accretion

hugh_drop_condensation

hugh_drop_freezing

hugh_drop_nucleation

hugh_drop_nucleation_init

hugh_drop_sedimentation

hugh_make_crys_autoconversion

hugh_make_crys_by_snow_accretion

hugh_make_crys_melting

hugh_make_crys_nucleation

hugh_make_crys_sedimentation

hugh_make_drop_autoconversion

hugh_make_drop_by_rain_accretion

hugh_make_drop_by_snow_accretion

hugh_make_drop_freezing

hugh_make_drop_nucleation

hugh_make_drop_sedimentation

hugh_make_ice_condensation

hugh_make_rain_by_snow_accretion

hugh_make_rain_freezing

hugh_make_rain_sedimentation

hugh_make_snow_freezing

hugh_make_snow_melting

hugh_make_snow_sedimentation

hugh_make_supi

hugh_make_supw

hugh_make_template

hugh_make_water_condensation

hugh_rain_by_snow_accretion

hugh_rain_freezing

hugh_snow_condensation

hugh_snow_melting

hugh_template

hugh_update_all_2zero

hugh_update_crys_2zero

hugh_update_crys_tendencies0

hugh_update_drop_2zero

hugh_update_drop_tendencies0

hugh_update_drop_tendencies00

hugh_update_rain_2zero

hugh_update_rain_tendencies0

hugh_update_snow_2zero

hugh_update_snow_tendencies0

hugh_update_tkqv_2zero

hugh_update_tkqv_tendencies

hugh_update_tkqv_tendencies0

init_bulk2m_driver

init_bulk2m_driver_gcm_mat

make_coefs

make_crys_dist

make_crys_timescale

make_distribution

make_distribution0

make_drop_dist

make_drop_timescale

make_rain_dist

make_rain_timescale

make_snow_dist

make_snow_timescale

make_xxxx_dist

make_xxxx_timescale

matr_drop_activation

polysvp

set_micro_bulk2m

set_micro_bulk2m_mat

set_micro_bulk2m_tomas

set_termo_bulk2m

srbm_balance_tendencies

surabi_drop_activation

surabi_make_drop_activation

toma_drop_activation

update_micro_tendencies_bulk2m


Global Variables:
im : used from resolution

jm : used from resolution

lm : used from resolution

tf : used from constant

rgas : used from constant

rvap : used from constant

pi : used from constant

grav : used from constant

am_i_root : used from domain_decomp_1d

mx : integer, parameter
Initial Value = 1
il0 : integer

jl0 : integer

kl0 : integer

nmodes : integer

i : integer

j : integer

k : integer

ktau : integer

ier : integer

ios : integer

ou : integer
Initial Value = 6
dt : real*8

rhw : real*8

rhi : real*8

tp0 : real*8

tk0 : real*8

qk0 : real*8

pk0 : real*8

lcheck : logical

ldummy : logical

ltermo : logical

msg : character*80

na4d : real*8, allocatable, dimension(:, :)

tk3d : real*8, allocatable, dimension(:)

qv3d : real*8, allocatable, dimension(:)

pp3d : real*8, allocatable, dimension(:)

pdel : real*8, allocatable, dimension(:)

sw3d : real*8, allocatable, dimension(:)

si3d : real*8, allocatable, dimension(:)

ww3d : real*8, allocatable, dimension(:)

wvar : real*8, allocatable, dimension(:)

tk3dten : real*8, allocatable, dimension(:)

qv3dten : real*8, allocatable, dimension(:)

qc3dten : real*8, allocatable, dimension(:)

qi3dten : real*8, allocatable, dimension(:)

qs3dten : real*8, allocatable, dimension(:)

qr3dten : real*8, allocatable, dimension(:)

nc3dten : real*8, allocatable, dimension(:)

ni3dten : real*8, allocatable, dimension(:)

ns3dten : real*8, allocatable, dimension(:)

nr3dten : real*8, allocatable, dimension(:)

qc3d : real*8, allocatable, dimension(:)

qi3d : real*8, allocatable, dimension(:)

qs3d : real*8, allocatable, dimension(:)

qr3d : real*8, allocatable, dimension(:)

nc3d : real*8, allocatable, dimension(:)

ni3d : real*8, allocatable, dimension(:)

ns3d : real*8, allocatable, dimension(:)

nr3d : real*8, allocatable, dimension(:)

effc : real*8, allocatable, dimension(:)

effi : real*8, allocatable, dimension(:)

effs : real*8, allocatable, dimension(:)

effr : real*8, allocatable, dimension(:)

precrt : real*8

snowrt : real*8

lamc : real*8, allocatable, dimension(:)

lami : real*8, allocatable, dimension(:)

lams : real*8, allocatable, dimension(:)

lamr : real*8, allocatable, dimension(:)

cdist1 : real*8, allocatable, dimension(:)

n0i : real*8, allocatable, dimension(:)

n0s : real*8, allocatable, dimension(:)

n0rr : real*8, allocatable, dimension(:)

pgam : real*8, allocatable, dimension(:)

nsubc : real*8, allocatable, dimension(:)

nsubi : real*8, allocatable, dimension(:)

nsubs : real*8, allocatable, dimension(:)

nsubr : real*8, allocatable, dimension(:)

ncondc : real*8, allocatable, dimension(:)

ncondi : real*8, allocatable, dimension(:)

ncondr : real*8, allocatable, dimension(:)

nconds : real*8, allocatable, dimension(:)

mcondc : real*8, allocatable, dimension(:)

mcondi : real*8, allocatable, dimension(:)

mcondr : real*8, allocatable, dimension(:)

mconds : real*8, allocatable, dimension(:)

nnuccc : real*8, allocatable, dimension(:)

mnuccc : real*8, allocatable, dimension(:)

nnucci : real*8, allocatable, dimension(:)

mnucci : real*8, allocatable, dimension(:)

npccn : real*8, allocatable, dimension(:)

mpccn : real*8, allocatable, dimension(:)

nnuccd : real*8, allocatable, dimension(:)

mnuccd : real*8, allocatable, dimension(:)

nnucmd : real*8, allocatable, dimension(:)

mnucmd : real*8, allocatable, dimension(:)

nnucmt : real*8, allocatable, dimension(:)

mnucmt : real*8, allocatable, dimension(:)

nnuccr : real*8, allocatable, dimension(:)

mnuccr : real*8, allocatable, dimension(:)

nnucir : real*8, allocatable, dimension(:)

mnucir : real*8, allocatable, dimension(:)

ncactv : real*8, allocatable, dimension(:)

nprc : real*8, allocatable, dimension(:)

mprc : real*8, allocatable, dimension(:)

ncagg : real*8, allocatable, dimension(:)

mcagg : real*8, allocatable, dimension(:)

npra : real*8, allocatable, dimension(:)

mpra : real*8, allocatable, dimension(:)

nragg : real*8, allocatable, dimension(:)

mragg : real*8, allocatable, dimension(:)

nprci : real*8, allocatable, dimension(:)

mprci : real*8, allocatable, dimension(:)

niagg : real*8, allocatable, dimension(:)

miagg : real*8, allocatable, dimension(:)

nprai : real*8, allocatable, dimension(:)

mprai : real*8, allocatable, dimension(:)

nsagg : real*8, allocatable, dimension(:)

msagg : real*8, allocatable, dimension(:)

npsacws : real*8, allocatable, dimension(:)

mpsacws : real*8, allocatable, dimension(:)

nmults : real*8, allocatable, dimension(:)

mmults : real*8, allocatable, dimension(:)

npracs : real*8, allocatable, dimension(:)

mpracs : real*8, allocatable, dimension(:)

nmultr : real*8, allocatable, dimension(:)

mmultr : real*8, allocatable, dimension(:)

nsmlts : real*8, allocatable, dimension(:)

msmlts : real*8, allocatable, dimension(:)

nsmltr : real*8, allocatable, dimension(:)

msmltr : real*8, allocatable, dimension(:)

nmltii : real*8, allocatable, dimension(:)

mmltii : real*8, allocatable, dimension(:)

nmltic : real*8, allocatable, dimension(:)

mmltic : real*8, allocatable, dimension(:)

nhfrc : real*8, allocatable, dimension(:)

mhfrc : real*8, allocatable, dimension(:)

nhfrr : real*8, allocatable, dimension(:)

mhfrr : real*8, allocatable, dimension(:)

nsedimc : real*8, allocatable, dimension(:)

msedimc : real*8, allocatable, dimension(:)

nsedimi : real*8, allocatable, dimension(:)

msedimi : real*8, allocatable, dimension(:)

nsedimr : real*8, allocatable, dimension(:)

msedimr : real*8, allocatable, dimension(:)

nsedims : real*8, allocatable, dimension(:)

msedims : real*8, allocatable, dimension(:)

nvtermc : real*8, allocatable, dimension(:)

mvtermc : real*8, allocatable, dimension(:)

nvtermi : real*8, allocatable, dimension(:)

mvtermi : real*8, allocatable, dimension(:)

nvtermr : real*8, allocatable, dimension(:)

mvtermr : real*8, allocatable, dimension(:)

nvterms : real*8, allocatable, dimension(:)

mvterms : real*8, allocatable, dimension(:)

wnuc : real*8, allocatable, dimension(:)

anuc : real*8, allocatable, dimension(:)

bnuc : real*8, allocatable, dimension(:)

kap : real*8, allocatable, dimension(:)

evs : real*8, allocatable, dimension(:)

eis : real*8, allocatable, dimension(:)

qvs : real*8, allocatable, dimension(:)

qvi : real*8, allocatable, dimension(:)

qvqvs : real*8, allocatable, dimension(:)

qvqvsi : real*8, allocatable, dimension(:)

dv : real*8, allocatable, dimension(:)

dap : real*8, allocatable, dimension(:)

xxls : real*8, allocatable, dimension(:)

xxlv : real*8, allocatable, dimension(:)

mu : real*8, allocatable, dimension(:)

sc : real*8, allocatable, dimension(:)

xlf : real*8, allocatable, dimension(:)

rho : real*8, allocatable, dimension(:)

ab : real*8, allocatable, dimension(:)

abi : real*8, allocatable, dimension(:)

fdum : real*8, allocatable, dimension(:)

eii : real*8, allocatable, dimension(:)

epsc : real*8, allocatable, dimension(:)

epsi : real*8, allocatable, dimension(:)

epss : real*8, allocatable, dimension(:)

epsr : real*8, allocatable, dimension(:)

fnc : real*8, allocatable, dimension(:)

dumfnc : real*8, allocatable, dimension(:)

faloutnc : real*8, allocatable, dimension(:)

fmc : real*8, allocatable, dimension(:)

dumfmc : real*8, allocatable, dimension(:)

faloutmc : real*8, allocatable, dimension(:)

fni : real*8, allocatable, dimension(:)

dumfni : real*8, allocatable, dimension(:)

faloutni : real*8, allocatable, dimension(:)

fmi : real*8, allocatable, dimension(:)

dumfmi : real*8, allocatable, dimension(:)

faloutmi : real*8, allocatable, dimension(:)

fnr : real*8, allocatable, dimension(:)

dumfnr : real*8, allocatable, dimension(:)

faloutnr : real*8, allocatable, dimension(:)

fmr : real*8, allocatable, dimension(:)

dumfmr : real*8, allocatable, dimension(:)

faloutmr : real*8, allocatable, dimension(:)

fns : real*8, allocatable, dimension(:)

dumfns : real*8, allocatable, dimension(:)

faloutns : real*8, allocatable, dimension(:)

fms : real*8, allocatable, dimension(:)

dumfms : real*8, allocatable, dimension(:)

faloutms : real*8, allocatable, dimension(:)

ain : real*8, allocatable, dimension(:)

arn : real*8, allocatable, dimension(:)

asn : real*8, allocatable, dimension(:)

acn : real*8, allocatable, dimension(:)

ai : real*8

ac : real*8

as : real*8

ar : real*8

bi : real*8

bc : real*8

bs : real*8

br : real*8

r : real*8

rv : real*8

cp : real*8

rhosu : real*8

rhow : real*8

rhoi : real*8

rhosn : real*8

aimm : real*8

bimm : real*8

ecr : real*8

dcs : real*8

rw0 : real*8

mw0 : real*8

ri0 : real*8

mi0 : real*8

f1s : real*8

f2s : real*8

f1r : real*8

f2r : real*8

g : real*8

qsmall : real*8

nsmall : real*8

ci : real*8

di : real*8

cs : real*8

ds : real*8

dr : real*8

rin : real*8

mw : real*8

osm : real*8

vi : real*8

epsm : real*8

rhoa : real*8

mapp : real*8

ma : real*8

rr : real*8

bact : real*8

rm1 : real*8

rm2 : real*8

nanew1 : real*8

nanew2 : real*8

sig1 : real*8

sig2 : real*8

f11 : real*8

f12 : real*8

f21 : real*8

f22 : real*8

lcold : logical, allocatable, dimension(:)

lwarm : logical, allocatable, dimension(:)

lqc3d : logical, allocatable, dimension(:)

lqi3d : logical, allocatable, dimension(:)

lqs3d : logical, allocatable, dimension(:)

lqr3d : logical, allocatable, dimension(:)

lnc3d : logical, allocatable, dimension(:)

lni3d : logical, allocatable, dimension(:)

lns3d : logical, allocatable, dimension(:)

lnr3d : logical, allocatable, dimension(:)

Simplex Website Curator: Igor Aleinov — NASA Official: Gavin A. Schmidt

Contact GISS NASA Privacy PolicyAccessibility