https://github.com/climlab/climlab-emanuel-convection
Science Score: 23.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
-
○DOI references
-
○Academic publication links
-
✓Committers with academic emails
1 of 2 committers (50.0%) from academic institutions -
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (13.8%) to scientific vocabulary
Keywords from Contributors
Repository
Basic Info
- Host: GitHub
- Owner: climlab
- License: mit
- Language: Fortran
- Default Branch: main
- Size: 251 KB
Statistics
- Stars: 1
- Watchers: 1
- Forks: 1
- Open Issues: 0
- Releases: 2
Metadata Files
README.md
climlab-emanuel-convection
Brian Rose, University at Albany
About
This is a stand-alone Python wrapper for the Emanuel convection scheme.
The primary use-case is to serve as the under-the-hood moist convection driver
for climlab, but it can be used as a
stand-alone model if you are familiar with Fortran source code.
This is a lightweight wrapper that emulates the Fortran interface as closely as possible.
The original convect43c code is bundled here, courtesy of Kerry Emanuel.
Installation
Pre-built binaries for many platforms are available from conda-forge.
To install in the current environment:
conda install climlab-emanuel-convection --channel conda-forge
or create a self-contained environment:
conda create --name my_env python=3.11 climlab-emanuel-convection --channel conda-forge
conda activate my_env
See below for instructions on how to build from source.
Example usage
You can import the Fortran driver into a Python session with
from climlab_emanuel_convection import emanuel_convection
Please see the directory climlab_emanuel_convection/tests/ directory in this repository
for working examples that set up all the necessary input arrays and call the driver.
Building from source
Build environment
Here are instructions to create a build environment (including Fortran compiler) with conda/mamba
Starting from the root of the climlab-sbm-convection repo (example for Apple M1 machine, see ./ci/ for other environment files):
mamba env create --file ./ci/requirements-macos-arm64.yml
conda activate convect_build_env
Or, to specify the Python version, you can do
mamba create --name convect_build_env python=3.11 --channel conda-forge
mamba env update --file ./ci/requirements-macos-arm64.yml
conda activate convect_build_env
Building and installing into the Python environment
From the root of the repository, do this:
python -m pip install . --no-deps -vv
Running tests
To run tests, do this from any directory other than the climlab-emanuel-convection repo:
pytest -v --pyargs climlab_emanuel_convection
Version history
- Version 0.3 (released August 2024) modernizes the build infrastructure (now using meson) and successfully builds on Python 3.12. No changes to the Python wrapper.
- Version 0.2 is the first public release (April 2022). The Python wrapper code has been extracted from climlab v0.7.13.
Owner
- Name: climlab
- Login: climlab
- Kind: organization
- Repositories: 4
- Profile: https://github.com/climlab
Home of climlab software and related user content
GitHub Events
Total
- Issues event: 2
- Issue comment event: 1
- Push event: 3
- Pull request review event: 1
- Pull request event: 6
Last Year
- Issues event: 2
- Issue comment event: 1
- Push event: 3
- Pull request review event: 1
- Pull request event: 6
Committers
Last synced: about 1 year ago
Top Committers
| Name | Commits | |
|---|---|---|
| Brian Rose | b****e@a****u | 22 |
| dependabot[bot] | 4****] | 2 |
Committer Domains (Top 20 + Academic)
Issues and Pull Requests
Last synced: 12 months ago
All Time
- Total issues: 6
- Total pull requests: 9
- Average time to close issues: 4 months
- Average time to close pull requests: about 3 hours
- Total issue authors: 1
- Total pull request authors: 2
- Average comments per issue: 0.67
- Average comments per pull request: 0.22
- Merged pull requests: 8
- Bot issues: 0
- Bot pull requests: 2
Past Year
- Issues: 1
- Pull requests: 4
- Average time to close issues: 6 days
- Average time to close pull requests: 14 minutes
- Issue authors: 1
- Pull request authors: 1
- Average comments per issue: 0.0
- Average comments per pull request: 0.0
- Merged pull requests: 4
- Bot issues: 0
- Bot pull requests: 0
Top Authors
Issue Authors
- brian-rose (6)
Pull Request Authors
- brian-rose (10)
- dependabot[bot] (3)
Top Labels
Issue Labels
Pull Request Labels
Packages
- Total packages: 1
- Total downloads: unknown
- Total dependent packages: 1
- Total dependent repositories: 1
- Total versions: 1
conda-forge.org: climlab-emanuel-convection
climlab-emanuel-convection makes the Emanuel convection code callable from Python by wrapping using f2py. This is a lightweight wrapper that emulates the Fortran interface as closely as possible. The primary use case is to drive the convection process in climlab, but it can be used as a standalone driver if you are familiar with the Fortran interface.
- Homepage: https://github.com/climlab/climlab-emanuel-convection
- License: MIT
-
Latest release: 0.2
published over 4 years ago
Rankings
Dependencies
- actions/checkout v4 composite
- conda-incubator/setup-miniconda v3 composite