TurbulenceConvection.jl

A turbulence-convection single column model cloud parameterization.

https://github.com/CliMA/TurbulenceConvection.jl

Science Score: 67.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
    Found 11 DOI reference(s) in README
  • Academic publication links
    Links to: zenodo.org
  • Committers with academic emails
    5 of 11 committers (45.5%) from academic institutions
  • Institutional organization owner
    Organization clima has institutional domain (clima.caltech.edu)
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (8.1%) to scientific vocabulary

Keywords from Contributors

climate data-assimilation fluid-dynamics pde meteorology julialang ode symbolic-computing land-surface-model land
Last synced: 6 months ago · JSON representation

Repository

A turbulence-convection single column model cloud parameterization.

Basic Info
Statistics
  • Stars: 34
  • Watchers: 14
  • Forks: 6
  • Open Issues: 121
  • Releases: 67
Created over 4 years ago · Last pushed 10 months ago
Metadata Files
Readme License

README.md

TurbulenceConvection.jl

||| |---------------------:|:----------------------------------------------| | Documentation | dev | | DOI | DOI | | Docs Build | docs build | | GHA CI | gha ci | | Code Coverage | codecov |

TurbulenceConvection (Single Column Atmospheric Model in Julia) provides a framework for testing parameterizations of clouds and turbulence. It is particularly designed to support eddy-diffusivity mass-flux modeling frameworks.

Information about the EDMF parameterization implemented in TurbulenceConvection can be found in:

Tan, Z., Kaul, C. M., Pressel, K. G., Cohen, Y., Schneider, T., and Teixeira, J. (2018) An extended eddy-diffusivity mass-flux scheme for unified representation of subgrid-scale turbulence and convection. Journal of Advances in Modeling Earth Systems. doi

Cohen, Y., Lopez-Gomez, I., Jaruga, A., He, J., Kaul, C., and Schneider, T. (2020) Unified entrainment and detrainment closures for extended eddy-diffusivity mass-flux schemes. Journal of Advances in Modeling Earth Systems, 12, e2020MS002162. doi

Lopez-Gomez, I., Cohen, Y., He, J., Jaruga, A., Schneider, T. (2020) A generalized mixing length closure for eddy-diffusivity mass-flux schemes of turbulence and convection. Journal of Advances in Modeling Earth Systems, 12, e2020MS002161. doi

He, J., Cohen, Y., Lopez-Gomez, I., Jaruga, A., Schneider, T. (2021) An improved perturbation pressure closure for eddy-diffusivity mass-flux schemes. preprint

The code is written in Julia, and was translated from SCAMPy for the commit 496dad0c2438235684823511cacbf5761d6a237c.

Code Contributors (alphabetical): Yair Cohen (Caltech), Jia He (Caltech), Anna Jaruga (Caltech), Colleen Kaul (PNNL) --initial/primary developer of SCAMPy, Charles Kawczynski (Caltech), Ignacio Lopez-Gomez (Caltech), Kyle Pressel (PNNL),

Additional Acknowledgements: Tapio Schneider (Caltech), Joao Teixeira (JPL).

User Installation

Installation is easy:

julia-repl (@v1.6) pkg> add TurbulenceConvection

TurbulenceConvection.jl requires Julia 1.6 or higher. If you plan to develop TurbulenceConvection.jl, you may want to clone it instead:

git clone https://github.com/CliMA/TurbulenceConvection.jl cd TurbulenceConvection.jl julia --project=integration_tests julia> ] pkg> instantiate ClimaCore.jl, a dependency of TC.jl, will by default attempt to run code on a GPU device if available. TC.jl is not compatible with GPUs, and the following environmental variable needs to be exported to prevent GPU attempts: export CLIMACOMMS_DEVICE=CPU

Running

$ cd TurbulenceConvection.jl

TurbulenceConvection.jl can be run in the same way that SCAMPy used to, given one of the following cases:

  • Bomex
  • lifecycleTan2018
  • Soares
  • Rico
  • TRMM_LBA
  • ARM_SGP
  • GATE_III
  • DYCOMS_RF01
  • DYCOMS_RF02
  • GABLS

with, for example:

julia --project=integration_tests driver/generate_namelist.jl Soares julia --project=integration_tests driver/main.jl Soares or by calling our integraion test driver, julia --project=integration_tests integration_tests/driver.jl --case Soares or, interactively, with julia-repl julia --project=integration_tests julia> case_name = "Soares" # default is "Bomex" julia> include(joinpath("integration_tests", "driver.jl"))

Automated plotting

Upon running a particular experiment (described above), comparison plots (against SCAMPy) are automatically generated in, for example, Output.Bomex.01/stats/comparison/.

Table of prognostic and diagnostic variables

  • Prognostic [✓]
  • Diagnostic [x]
  • NA [-]

| Variable | Grid-mean | Environment | Updrafts | | ------------- | ------------- | --------------- | ------------ | | u | [✓] | [x] | [x] | | v | [✓] | [x] | [x] | | w | [-] | [x] | [✓] | | θ_liq_ice | [✓] | [x] | [✓] | | q_tot | [✓] | [x] | [✓] | | a | [-] | [x] | [✓] | | tke | [x] | [✓] | [-] | | θ′θ′ | [x] | [✓] | [-] | | q_tot′q_tot′| [x] | [✓] | [-] | | θ′q_tot′ | [x] | [✓] | [-] |

Owner

  • Name: Climate Modeling Alliance
  • Login: CliMA
  • Kind: organization
  • Email: clima@caltech.edu

An alliance of scientists, engineers and applied mathematicians, dedicated to pioneering a new, data-informed approach to climate modeling

GitHub Events

Total
  • Watch event: 2
  • Push event: 5
  • Pull request event: 1
  • Fork event: 2
  • Create event: 1
Last Year
  • Watch event: 2
  • Push event: 5
  • Pull request event: 1
  • Fork event: 2
  • Create event: 1

Committers

Last synced: 7 months ago

All Time
  • Total Commits: 1,092
  • Total Committers: 11
  • Avg Commits per committer: 99.273
  • Development Distribution Score (DDS): 0.312
Past Year
  • Commits: 1
  • Committers: 1
  • Avg Commits per committer: 1.0
  • Development Distribution Score (DDS): 0.0
Top Committers
Name Email Commits
Charles Kawczynski k****s@g****m 751
yairchn y****n@c****u 125
Anna Jaruga a****a@c****u 66
ilopezgp i****p@g****m 63
costachris c****a@g****m 45
Haakon Ludvig Langeland Ervik 4****e 20
CompatHelper Julia c****y@j****g 15
nnelsen n****n@c****u 2
Zhaoyi Shen p****y@g****m 2
Jordan Benjamin j****i@s****u 2
Costa Christopoulos c****s@v****u 1
Committer Domains (Top 20 + Academic)

Issues and Pull Requests

Last synced: 6 months ago

All Time
  • Total issues: 12
  • Total pull requests: 159
  • Average time to close issues: 11 days
  • Average time to close pull requests: 27 days
  • Total issue authors: 6
  • Total pull request authors: 9
  • Average comments per issue: 9.42
  • Average comments per pull request: 1.64
  • Merged pull requests: 85
  • Bot issues: 0
  • Bot pull requests: 40
Past Year
  • Issues: 0
  • Pull requests: 3
  • Average time to close issues: N/A
  • Average time to close pull requests: about 5 hours
  • Issue authors: 0
  • Pull request authors: 2
  • Average comments per issue: 0
  • Average comments per pull request: 0.0
  • Merged pull requests: 1
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • charleskawczynski (5)
  • ilopezgp (3)
  • Sbozzolo (1)
  • haakon-e (1)
  • JuliaTagBot (1)
  • costachris (1)
Pull Request Authors
  • github-actions[bot] (54)
  • costachris (44)
  • charleskawczynski (30)
  • ilopezgp (15)
  • trontrytel (14)
  • Sbozzolo (7)
  • yairchn (6)
  • jbphyswx (4)
  • haakon-e (3)
Top Labels
Issue Labels
enhancement (2) Reproducibility (1) upstream issue (1) Performance :rocket: (1) help wanted :wave: (1) Code portability (1) bug (1)
Pull Request Labels
Dependencies :spider_web: (13) Performance :rocket: (7) Performance monitoring :mag::rocket: (4) do not merge (3) Refactor :gear: (3) Microphysics :cloud_with_snow: (2) IO :floppy_disk: (1) Type inference (1) Continuous Integration :gear: (1) Tests :warning: (1) Release (1) ClimaParameters :control_knobs: (1) enhancement (1) bugfix (1)

Packages

  • Total packages: 3
  • Total downloads: unknown
  • Total dependent packages: 1
    (may contain duplicates)
  • Total dependent repositories: 0
    (may contain duplicates)
  • Total versions: 204
proxy.golang.org: github.com/CliMA/TurbulenceConvection.jl
  • Versions: 68
  • Dependent Packages: 0
  • Dependent Repositories: 0
Rankings
Dependent packages count: 5.4%
Average: 5.6%
Dependent repos count: 5.8%
Last synced: 6 months ago
proxy.golang.org: github.com/clima/turbulenceconvection.jl
  • Versions: 68
  • Dependent Packages: 0
  • Dependent Repositories: 0
Rankings
Dependent packages count: 5.4%
Average: 5.6%
Dependent repos count: 5.8%
Last synced: 6 months ago
juliahub.com: TurbulenceConvection

A turbulence-convection single column model cloud parameterization.

  • Versions: 68
  • Dependent Packages: 1
  • Dependent Repositories: 0
Rankings
Dependent repos count: 9.9%
Average: 20.6%
Stargazers count: 21.4%
Dependent packages count: 23.0%
Forks count: 28.1%
Last synced: 6 months ago

Dependencies

.github/workflows/CodeCov.yml actions
  • actions/checkout v2.2.0 composite
  • codecov/codecov-action v1.0.7 composite
  • julia-actions/setup-julia latest composite
.github/workflows/DocCleanUp.yml actions
  • actions/checkout v2 composite
.github/workflows/JuliaFormatter.yml actions
  • actions/checkout v2.2.0 composite
  • dorny/paths-filter v2.9.1 composite
  • julia-actions/setup-julia latest composite
  • styfle/cancel-workflow-action 0.4.0 composite
.github/workflows/TagBot.yml actions
  • JuliaRegistries/TagBot v1 composite
.github/workflows/UpDeps.yml actions
  • actions/checkout v2.2.0 composite
  • julia-actions/setup-julia latest composite
  • styfle/cancel-workflow-action 0.4.0 composite
.github/workflows/ci.yml actions
  • actions/checkout v2 composite
  • codecov/codecov-action v1 composite
  • julia-actions/julia-buildpkg v1 composite
  • julia-actions/julia-processcoverage v1 composite
  • julia-actions/julia-runtest v1 composite
  • julia-actions/setup-julia v1 composite
.github/workflows/docs.yml actions
  • actions/checkout v2 composite
  • julia-actions/setup-julia latest composite
.github/workflows/CompatHelper.yml actions