Kinematic1D.jl

Prescribed flow models for testing cloud microphysics schemes.
Author CliMA
Popularity
7 Stars
Updated Last
4 Months Ago
Started In
April 2022

KinematicDriver.jl

Kinematic 1D driver

Docs Build docs build
Documentation dev
GHA CI gha ci
Code Coverage codecov

Installation and running instructions

KinematicDriver.jl is a Julia registered package. See the Project.toml for a full list of dependencies. When using the KinematicDriver.jl, the easiest way to obtain the package dependencies is to use the Julia built-in package manager (accessed by pressing ] in the Julia REPL):

julia --project

julia> ]
pkg> instantiate

Additional dependencies related to plotting and NetCDF output are included in the test environment. See the Pkg docs for an overview of basic package manager features.

The KiD_driver.jl inside test/experiments/KiD_driver folder is the main file for running the simulations. It accepts some command line arguments, see the --help for details.

julia --project=test/ test/experiments/KiD_driver/KiD_driver.jl --help

An example command to run the Kid_driver.jl from terminal:

julia --color=yes --project=test test/experiments/KiD_driver/KiD_driver.jl --moisture_choice=NonEquilibriumMoisture --precipitation_choice=Precipitation1M

To run KiD_driver.jl interactively, open julia --project=test and run:

include("test/experiments/KiD_driver/parse_commandline.jl")

# Set arguments
config = parse_commandline()
config["FLOAT_TYPE"] = "FLOAT32"
config["moisture_choice"] = "EquilibriumMoisture"

include("test/experiments/KiD_driver/KiD_driver.jl")

In addition to simulating the 1D rainshaft, KinematicDriver.jl provides tools for calibrating microphysics parameters against available data. The main program for running calibrations is given inside test/experiments/calibrations folder. This program is accompanied by the config.jl file that defines all the settings for the dynamics, observations, optimization process, and parameters to be calibrated. To run calibrations of microphysics schemes by using KinematicDriver the config.jl file needs to be adjusted. Then the program can be called from terminal:

julia --color=yes --project=test test/experiments/calibrations/run_calibrations.jl