https://github.com/clima/climacore.jl

CliMA model dycore

https://github.com/clima/climacore.jl

Science Score: 54.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
  • Academic publication links
    Links to: zenodo.org
  • Committers with academic emails
    7 of 29 committers (24.1%) from academic institutions
  • Institutional organization owner
    Organization clima has institutional domain (clima.caltech.edu)
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (12.1%) to scientific vocabulary

Keywords from Contributors

climate data-assimilation fluid-dynamics climate-change land land-surface-model julialang ode differentialequations sciml
Last synced: 9 months ago · JSON representation

Repository

CliMA model dycore

Basic Info
Statistics
  • Stars: 105
  • Watchers: 3
  • Forks: 16
  • Open Issues: 262
  • Releases: 125
Created about 5 years ago · Last pushed 10 months ago
Metadata Files
Readme Changelog License Notice

README.md

ClimaCore.jl

||| |---------------------:|:----------------------------------------------| | Docs Build | docs build | | Documentation | dev | | GHA CI | gha ci | | Buildkite CI | buildkite ci | | Code Coverage | codecov | | Downloads | downloads | | DOI | zenodo |

The Climate Modelling Alliance (CliMA) is developing a new Earth System Model (ESM), entirely written in the Julia language. The main goal of the project is to build an ESM that automatically learns from diverse data sources to produce accurate climate predictions with quantified uncertainties. The CliMA model targets both CPU and GPU architectures, using a common codebase. ClimaCore.jl constitutes the dynamical core (dycore) of the atmosphere and land models, providing discretization tools to solve the governing equations of the ESM component models. ClimaCore.jl's high-level application programming interface (API) facilitates modularity and composition of differential operators and the definition of flexible discretizations. This, in turn, is coupled with low-level APIs that support different data layouts, specialized implementations, and flexible models for threading, to better face high-performance optimization, data storage, and scalability challenges on modern HPC architectures.

Technical aims and current support

  • Support both large-eddy simulation (LES) and general circulation model (GCM) configurations for the atmosphere.
  • A suite of tools for constructing space discretizations.
  • Horizontal spectral elements:
    • Supports both continuous Galerkin (CG) and discontinuous Galerkin (DG) spectral element discretizations.
  • Flexible choice of vertical discretization (currently staggered finite differences)
  • Support for different geometries (Cartesian, spherical), with governing equations discretized in terms of covariant vectors for curvilinear, non-orthogonal systems and Cartesian vectors for Euclidean spaces.
  • Field abstraction:
    • Scalar, vector or struct-valued
    • Stores values, geometry, and mesh information
    • Flexible memory layouts: Array-of-Structs (AoS), Struct-of-Arrays (SoA),Array-of-Struct-of-Arrays (AoSoA)
    • Useful overloads: sum (integral), norm, etc.
    • Compatible with DifferentialEquations.jl time steppers.
  • Composable operators via broadcasting: apply a function element-wise to an array; scalar values are broadcast over arrays
  • Fusion of multiple operations; can be specialized for custom functions or argument types (e.g. CuArray compiles and applies a custom CUDA kernel).
  • Operators (grad, div, interpolate) are “pseudo-functions”: Act like functions when broadcasted over a Field; fuse operators and function calls.
  • Add element node size dimensions to type domain
    • i.e., specialize on polynomial degree
    • important for GPU kernel performance.
  • Flexible memory layouts allow for flexible threading models (upcoming):
    • CPU thread over elements
    • GPU thread over nodes.

Versions before and including ClimaCore.jl v0.11.7 relied on WeakValueDicts.jl, which is not thread-safe and no longer maintained. These versions are considered unsupported, and newer versions of ClimaCore.jl should be used.

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

Committers

Last synced: over 2 years ago

All Time
  • Total Commits: 1,477
  • Total Committers: 29
  • Avg Commits per committer: 50.931
  • Development Distribution Score (DDS): 0.68
Past Year
  • Commits: 507
  • Committers: 16
  • Avg Commits per committer: 31.688
  • Development Distribution Score (DDS): 0.546
Top Committers
Name Email Commits
Simon Byrne s****e@g****m 473
Charles Kawczynski k****s@g****m 412
Valeria Barra v****1@g****m 166
sriharshakandala s****s@g****m 111
Jake Bolewski j****i@g****m 107
Gabriele Bozzola s****r@g****m 42
Dennis Yatunin d****n@g****m 26
CompatHelper Julia c****y@j****g 23
Jia He j****h@g****m 18
Akshay Sridhar a****r@c****u 18
Zhaoyi Shen p****y@g****m 17
Ben Mackay j****y@c****u 13
Julia Sloan j****n@c****u 11
SimonDanisch s****h@p****m 8
K Pamnany k****y@g****m 7
Daniel-Huang d****g@c****u 4
bischtob t****f@p****e 4
LenkaNovak l****a@c****u 4
Akshay Sridhar a****r@A****l 2
Gabriele Bozzola g****a@c****u 2
yairchn y****n@c****u 1
sandreza a****a@g****m 1
Navid C. Constantinou n****y 1
Julia Sloan 5****5 1
Daniel Z. Huang h****4@g****m 1
nefrathenrici n****i@g****m 1
ayushpatnaikgit a****k@g****m 1
Shuhei Kadowaki a****k 1
Mike Fairhurst m****t@g****m 1
Committer Domains (Top 20 + Academic)

Issues and Pull Requests

Last synced: 10 months ago

All Time
  • Total issues: 334
  • Total pull requests: 1,099
  • Average time to close issues: 6 months
  • Average time to close pull requests: 23 days
  • Total issue authors: 35
  • Total pull request authors: 28
  • Average comments per issue: 2.31
  • Average comments per pull request: 2.38
  • Merged pull requests: 735
  • Bot issues: 0
  • Bot pull requests: 48
Past Year
  • Issues: 105
  • Pull requests: 473
  • Average time to close issues: 7 days
  • Average time to close pull requests: 6 days
  • Issue authors: 20
  • Pull request authors: 23
  • Average comments per issue: 0.57
  • Average comments per pull request: 1.07
  • Merged pull requests: 317
  • Bot issues: 0
  • Bot pull requests: 17
Top Authors
Issue Authors
  • charleskawczynski (147)
  • Sbozzolo (58)
  • simonbyrne (41)
  • sriharshakandala (15)
  • juliasloan25 (11)
  • imreddyTeja (9)
  • kmdeck (6)
  • szy21 (5)
  • dennisYatunin (4)
  • waywardpidgeon (4)
  • jb-mackay (3)
  • akshaysridhar (3)
  • nefrathenrici (3)
  • Zhengyu-Huang (2)
  • valeriabarra (2)
Pull Request Authors
  • charleskawczynski (668)
  • Sbozzolo (119)
  • simonbyrne (62)
  • dennisYatunin (46)
  • github-actions[bot] (32)
  • sriharshakandala (32)
  • juliasloan25 (31)
  • imreddyTeja (22)
  • dependabot[bot] (16)
  • akshaysridhar (15)
  • szy21 (6)
  • Snowdog85123 (6)
  • valeriabarra (5)
  • kmdeck (4)
  • onzerem (4)
Top Labels
Issue Labels
bug (157) enhancement (92) performance (16) GPU (14) tests (7) CI (5) Inference (5) SDI (5) Allocations (4) distributed (3) documentation (2) Purely single column support (2) Latency (2) unit tests (1) API (1) refactor (1) feature (1) Correctness :pencil2: (1) Release (1) Low priority (1) Invalidations (1) Quality Assurance (1) Dependencies (1) Workflow :gear: :ocean: (1) Continuous integration :gear: (1) Performance monitoring :mag::rocket: (1)
Pull Request Labels
refactor (91) performance (76) tests (74) bugfix (54) GPU (50) Dependencies (49) Performance monitoring :mag::rocket: (31) Inference (26) documentation (21) Release (18) Latency (15) feature (11) CI (8) Workflow :gear: :ocean: (8) breaking :boom: (7) Defensive programming :crossed_swords: (6) unit tests (6) House cleaning :broom: (6) enhancement (5) distributed (5) Allocations (4) Performance tests (3) error message (3) remapping (3) github_actions (3) ClimaCorePlots (3) Coverage (3) limiters (2) Purely single column support (2) Debugging (2)

Packages

  • Total packages: 6
  • Total downloads:
    • julia 204 total
  • Total dependent packages: 22
    (may contain duplicates)
  • Total dependent repositories: 0
    (may contain duplicates)
  • Total versions: 191
juliahub.com: ClimaCore

CliMA model dycore

  • Versions: 125
  • Dependent Packages: 15
  • Dependent Repositories: 0
  • Downloads: 162 Total
Rankings
Dependent packages count: 5.8%
Dependent repos count: 9.9%
Stargazers count: 12.0%
Average: 12.4%
Forks count: 21.7%
Last synced: 10 months ago
juliahub.com: ClimaCorePlots

CliMA model dycore

  • Versions: 13
  • Dependent Packages: 3
  • Dependent Repositories: 0
  • Downloads: 14 Total
Rankings
Dependent repos count: 9.9%
Stargazers count: 12.0%
Average: 15.1%
Dependent packages count: 16.6%
Forks count: 21.7%
Last synced: 10 months ago
juliahub.com: ClimaCoreTempestRemap

CliMA model dycore

  • Versions: 21
  • Dependent Packages: 3
  • Dependent Repositories: 0
  • Downloads: 14 Total
Rankings
Dependent repos count: 9.9%
Stargazers count: 12.0%
Average: 16.6%
Forks count: 21.7%
Dependent packages count: 23.0%
Last synced: 10 months ago
juliahub.com: ClimaCoreVTK

CliMA model dycore

  • Versions: 13
  • Dependent Packages: 1
  • Dependent Repositories: 0
  • Downloads: 1 Total
Rankings
Dependent repos count: 9.9%
Stargazers count: 12.0%
Average: 16.6%
Forks count: 21.7%
Dependent packages count: 23.0%
Last synced: 10 months ago
juliahub.com: ClimaCoreSpectra

CliMA model dycore

  • Versions: 5
  • Dependent Packages: 0
  • Dependent Repositories: 0
  • Downloads: 3 Total
Rankings
Dependent repos count: 9.9%
Stargazers count: 12.0%
Average: 20.6%
Forks count: 21.7%
Dependent packages count: 38.9%
Last synced: 10 months ago
juliahub.com: ClimaCoreMakie

CliMA model dycore

  • Versions: 14
  • Dependent Packages: 0
  • Dependent Repositories: 0
  • Downloads: 10 Total
Rankings
Dependent repos count: 9.9%
Stargazers count: 12.0%
Average: 20.6%
Forks count: 21.7%
Dependent packages count: 38.9%
Last synced: 10 months ago

Dependencies

.github/workflows/ClimaCoreMakie.yml actions
  • actions/cache v1 composite
  • actions/checkout v2 composite
  • actions/upload-artifact v2 composite
  • julia-actions/setup-julia latest composite
.github/workflows/ClimaCorePlots.yml actions
  • actions/cache v1 composite
  • actions/checkout v2 composite
  • actions/upload-artifact v2 composite
  • julia-actions/setup-julia latest composite
.github/workflows/ClimaCoreSpectra.yml actions
  • actions/cache v1 composite
  • actions/checkout v2 composite
  • actions/upload-artifact v2 composite
  • julia-actions/setup-julia latest composite
.github/workflows/ClimaCoreTempestRemap.yml actions
  • actions/cache v1 composite
  • actions/checkout v2 composite
  • actions/upload-artifact v2 composite
  • julia-actions/setup-julia latest composite
.github/workflows/ClimaCoreVTK.yml actions
  • actions/cache v1 composite
  • actions/checkout v2 composite
  • actions/upload-artifact v2 composite
  • julia-actions/setup-julia latest composite
.github/workflows/DocCleanup.yml actions
  • actions/checkout v2 composite
.github/workflows/Invalidations.yml actions
  • actions/checkout v3 composite
  • julia-actions/julia-buildpkg v1 composite
  • julia-actions/julia-invalidations v1 composite
  • julia-actions/setup-julia v1 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
  • reviewdog/action-suggester v1 composite
  • styfle/cancel-workflow-action 0.4.0 composite
.github/workflows/TagBot.yml actions
  • JuliaRegistries/TagBot v1 composite
.github/workflows/docs.yml actions
  • actions/checkout v2 composite
  • julia-actions/setup-julia latest composite
.github/workflows/CompatHelper.yml actions
.github/workflows/UnitTests.yml actions
  • actions/checkout v2.2.0 composite
  • julia-actions/cache v1 composite
  • julia-actions/julia-buildpkg v1 composite
  • julia-actions/julia-runtest v1 composite
  • julia-actions/setup-julia v1 composite
  • styfle/cancel-workflow-action 0.4.0 composite