Single-Column Model

Eulerian grid state and the routines that advance the single-column model (condensation, coalescence, turbulence, advection, and diagnostics).

Droplets.condensation_dataType
condensation_data

Container for condensation-related data allocations, including condensation source terms, radiative effects, and droplet volume changes.
source
Droplets.radiation_dataType
radiation_data{FT, AS, CR}

RRTMGP-backed radiation working arrays/fluxes. The struct itself is generic (`AS`, `CR`
are free type params, so this definition carries no RRTMGP dependency); the constructor
that actually loads RRTMGP's lookup tables and builds `CArad`/`AS` lives in the Examples
radiation driver (`Droplets.radiation_data(::Type{FT}, nsd, grid, constants)`), which is
only included by cases that turn radiation on.
source
Droplets.radiation_dataMethod
radiation_data(::Type{FT}, nsd::Int, nz::Int; CArad=nothing) where FT<:AbstractFloat

radiation allocations for SCM

source
Droplets.scm_dataMethod
scm_data(grid, droplets, scmsettings::scm_settings{FT}; raddata=radiation_data(FT, scmsettings.coagsettings.Ns, scmsettings.spatial.Nz))

Build allocations

source
Droplets.scm_outputsType
scm_outputs

Output arrays for the SCM, storing time series of state variables and diagnostics at each output step.
source
Droplets.scm_statesType
scm_states

State variables for the SCM, including pressure, temperature, water vapor mixing ratio, 
liquid water content, potential temperature, density, turbulent kinetic energy, and dissipation rate.

everything but P_faces is at cell centers_z

_tmp denotes conventionally diagnostic variables
source
Droplets.scm_windType
scm_wind

Wind components for the SCM, including u, v, and w velocities.
W component is at cell faces_z, u and v are at cell centers_z
source
Droplets.turbulence_dataType
turbulence_data

Container for turbulence-related data allocations, including mixing length, shear and buoyancy production, eddy diffusivities, and implicit diffusion coefficients.
source
Droplets.fill_grid_ranges!Method

fillgridranges! Fill the gridrange vector of UnitRanges for each grid cell, based on the current droplets.I and droplets.cellid. This is used to efficiently access the droplets in each grid cell without having to filter the entire droplets.I array.

source
Droplets.keep_layer_filled!Method

keeplayerfilled! Ensure that each grid cell in the cloud layer of DYCOMS(between 400 m and the inversion height) has at least mincount superdroplets. If a cell has fewer than mincount superdroplets, it will borrow superdroplets from aerosol heavy cells with more than min_count superdroplets, superdroplets will be merged to free up slots, and the borrowed superdroplets will be cloned (and halved) from the depleted cell to maintain the total number of superdroplets and real droplets. This is done to maintain a sufficient number of superdroplets for accurate representation of the droplet size distribution in each grid cell.

source
Droplets.radiation_function!Method

radiationfunction! Dispatches on the radiation dynamics flag to compute (or skip) radiative fluxes/heating for one timestep. The DynOFF no-op lives here since it needs no radiation-package dependency; the DynON method (RRTMGP-backed) is defined as `Droplets.radiationfunction!` in the Examples radiation driver, so RRTMGP stays out of this package's dependencies.

source
Droplets.recycle_precipitation!Method

recycleprecipitation Recycle precipitating droplets (X > diagnosticsettings.cloudrain_cuttoff) that have fallen below the bottom of the grid back to the top of the grid, and add their mass to the surface precipitation diagnostic.

source
Droplets.run_scm!Method

run_scm!

Advance a pre-built SCM environment (`grid`, `droplets`, `scmdata`) from t=0 to
`scmsettings.spatial.t_max` in steps of `scmsettings.spatial.dt`, running
`scmspinupsettings` for the spin-up window (`scmsettings.spinup_time`) and
`scmsettings` afterward. `dt`/`t_max` are read from `scmsettings.spatial` rather than
taken as separate arguments so they can't drift out of sync with the rest of the run.

Case-specific environment construction (grid/droplet initialization, radiation data,
etc.) happens beforehand, so that the hydrostatic solve isnt a dependency

Returns 'droplets_snapshots` if `snapshot_every` is given.
source
Droplets.single_column_timestepMethod

singlecolumntimestep

Advance the SCM by one timestep, including condensation, coalescence, turbulence, advection, and diagnostics,
if processes are turned on by scmsettings.
source