Skip to content

Latest commit

 

History

249 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

A Julia language implementation of the superdroplet method (Shima et al., 2009). Build Status Coverage Status
alt text

Features

  • Superdroplet coalescence scheme (Shima et al. 2009 SDM), with multiple kernel options
  • Droplet activation/diffusional growth via the κ-Köhler equation
  • Droplet motion and settling
  • MPDATA scheme for fluid advection (Smolarkiewicz, 1998)
  • Turbulence closures and functions (Abade and Grabowski., 2018; Mellor-Yamada 2.5)
  • 0D and 1D spatial architecture for cloud simulations

Examples

  • Box model collision-coalescence and/or condensation
  • Superdroplet microphysics coupling for CloudMicrophysics.jl parcel model
  • 1D and 2D MPDATA advection examples
  • MPDATA Warm Bubble Boussinesq solver
  • 1D Kinematic Rainshaft with prescribed Thermodynamics (Shipway and Hill, 2012, PySDM)
  • A single-column DyCOMSII-RF02 stratocumulus example with MPDATA advection and a TKE-based turbulence closure (Wyant et al., 2007, Ackerman et al., 2009)

alt Text

Installation

using Pkg
Pkg.add("Droplets")

Quick Example: SDM collisions

Example of setting up and running collisions, the Shima et al., 2009 box model collision-coalecence case

using Droplets

FT = Float64

Shima2009box_settings = (
    Ns = 2^14,
    Δt = FT(1.0),
    ΔV = FT(1e6),
    kernel = golovin,
    n0 = FT(2^23),
    R0 = FT(30.531e-6),
)
coagsettings = coag_settings{FT}(Shima09_settings...)

#initialize droplets and helper struct
droplets = init_ξ_const(coagsettings) 
allocations = coagulation_run{FT}(coagsettings.Ns)

timesteps = 20
for _ in 1:timesteps
    # droplet volume (droplets.X) and multiplicity (droplets.ξ) update in place
    coalescence_timestep!(Serial(),none(),droplets,allocations,coagsettings)
end     

for more settings and plotting enabled, use the box model example in Droplets/Examples/SDMCollisions/run_file.jl

or on Colab in a jupyter notebook (making sure to change runtime type to Julia): launch on Colab

Documentation

Help for the Droplets functions and structs can searched with

julia> ?
help>

About

Julia implementation of SDM

Resources

Stars

5 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages