https://github.com/clima/climaparams.jl
Contains universal constants and model parameters used in CLIMA ecosystem
Science Score: 26.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
-
○Academic email domains
-
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (13.5%) to scientific vocabulary
Repository
Contains universal constants and model parameters used in CLIMA ecosystem
Basic Info
Statistics
- Stars: 36
- Watchers: 15
- Forks: 6
- Open Issues: 8
- Releases: 105
Metadata Files
README.md
ClimaParams.jl
A centralized parameter management system for climate modeling. ClimaParams.jl supports physical constants, planetary properties, and tunable parameters designed for calibration with data assimilation and machine learning tools.
| | |
|--------------------------:|:-------------------------------------------------------------------------|
| Stable Release |
|
| Latest Documentation |
|
| Unit Tests |
|
| Downloads |
|
Overview
ClimaParams.jl provides a single source of truth for the parameters used in the Climate Modeling Alliance (CliMA) ecosystem. By centralizing parameters across all model components (atmosphere, ocean, land, etc.), it enables joint calibration of interconnected climate processes through data assimilation and machine learning pipelines. This unified approach ensures that parameters shared between components remain consistent and can be optimized together, leading to more physically coherent model calibration.
The package manages two fundamental types of values: - Physical and planetary constants (e.g., speed of light or planet radius) - Tunable model parameters that can be calibrated individually or jointly across components
Features
- Centralized Management: A single, authoritative source for all model constants and parameters, enabling joint calibration of interconnected processes.
- Type-Safe Retrieval: Guaranteed type-safety with automatic validation and conversion for floating-point, integer, string, and boolean types.
- Override System: Support for parameter overrides with precedence handling for flexible experimentation.
- Parameter Tagging: Logically group values by model component (e.g., atmosphere, land) for easy filtering and retrieval.
- Machine Learning Integration: Seamless integration with data assimilation and ML calibration workflows, including joint parameter optimization across components.
- TOML Configuration: Human-readable TOML files define parameters and their metadata.
- Reproducibility: Automatic logging of parameter sets used in model runs to ensure scientific reproducibility.
- Multi-Planet Support: An extensible framework for simulations of Earth and other planetary bodies.
Quick Example
```julia using ClimaParams
Floating-point type for parameters
FT = Float64
Create a dictionary containing all default parameters, cast to the chosen float type
paramdict = createtoml_dict(FT)
Retrieve a struct of physical constants by name
constants = getparametervalues( paramdict, ["gravitationalacceleration", "planetradius", "lightspeed"], )
Access constants, e.g.:
constants.gravitational_acceleration
Retrieve parameters and assign them custom names for convenience
params = getparametervalues( paramdict, Dict("universalgasconstant" => "R", "gravitationalacceleration" => "g"), )
Access parameters, e.g.
params.R
Get all parameters associated with a specific tag
atmosphericparams = gettaggedparametervalues(param_dict, "atmosphere") ```
Parameter Categories
ClimaParams manages two main categories of parameters:
- Constants: Immutable physical values. This includes universal constants (e.g., speed of light) and planet-specific properties (e.g., gravitational acceleration or planetary radius)
- Model Parameters: Tunable values that are subject to calibration via data assimilation or machine learning. These often correspond to specific physical processes, including:
- Atmospheric physics
- Land surface
- Turbulence closures
- Biogeochemistry
Integration with CliMA Models
By providing a centralized source of parameters, ClimaParams.jl is essential for the interoperability and reliability of the CliMA ecosystem. It is designed to: - Enable joint calibration of parameters across model components through unified data assimilation and machine learning pipelines - Ensure consistent parameter usage across all models (atmosphere, ocean, land, etc.) - Facilitate parameter sensitivity analysis and uncertainty quantification studies, jointly across model components - Enable reproducible experiments by explicitly logging the exact parameter sets used for each simulation
Owner
- Name: Climate Modeling Alliance
- Login: CliMA
- Kind: organization
- Email: clima@caltech.edu
- Website: https://clima.caltech.edu
- Repositories: 67
- Profile: https://github.com/CliMA
An alliance of scientists, engineers and applied mathematicians, dedicated to pioneering a new, data-informed approach to climate modeling
Issues and Pull Requests
Last synced: 10 months ago
All Time
- Total issues: 11
- Total pull requests: 52
- Average time to close issues: almost 2 years
- Average time to close pull requests: 24 days
- Total issue authors: 7
- Total pull request authors: 19
- Average comments per issue: 1.27
- Average comments per pull request: 1.44
- Merged pull requests: 37
- Bot issues: 0
- Bot pull requests: 0
Past Year
- Issues: 3
- Pull requests: 28
- Average time to close issues: 3 months
- Average time to close pull requests: about 3 hours
- Issue authors: 2
- Pull request authors: 11
- Average comments per issue: 0.0
- Average comments per pull request: 0.86
- Merged pull requests: 18
- Bot issues: 0
- Bot pull requests: 0
Top Authors
Issue Authors
- Sbozzolo (3)
- glwagner (2)
- nefrathenrici (2)
- trontrytel (1)
- szy21 (1)
- tapios (1)
- charleskawczynski (1)
Pull Request Authors
- nefrathenrici (10)
- trontrytel (9)
- costachris (7)
- szy21 (5)
- amylu00 (3)
- sajjadazimi (2)
- haakon-e (2)
- crocicc (2)
- anastasia-popova (2)
- tapios (1)
- claresinger (1)
- glwagner (1)
- Sbozzolo (1)
- Julians42 (1)
- ray-chew (1)
Top Labels
Issue Labels
Pull Request Labels
Packages
- Total packages: 1
-
Total downloads:
- julia 155 total
- Total dependent packages: 9
- Total dependent repositories: 0
- Total versions: 40
juliahub.com: ClimaParams
Contains universal constants and model parameters used in CLIMA ecosystem
- Documentation: https://docs.juliahub.com/General/ClimaParams/stable/
- License: Apache-2.0
-
Latest release: 0.12.1
published 11 months ago
Rankings
Dependencies
- actions/checkout v2.2.0 composite
- codecov/codecov-action v1.0.7 composite
- julia-actions/setup-julia latest composite
- actions/checkout v2 composite
- actions/checkout v2 composite
- julia-actions/setup-julia latest composite
- 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
- JuliaRegistries/TagBot v1 composite
- actions/cache v1 composite
- 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