climakitae

A Python toolkit for retrieving, visualizing, and performing scientific analyses with data from the Cal-Adapt Analytics Engine.

https://github.com/cal-adapt/climakitae

Science Score: 36.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
  • Committers with academic emails
    6 of 18 committers (33.3%) from academic institutions
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (17.1%) to scientific vocabulary
Last synced: 10 months ago · JSON representation

Repository

A Python toolkit for retrieving, visualizing, and performing scientific analyses with data from the Cal-Adapt Analytics Engine.

Basic Info
Statistics
  • Stars: 27
  • Watchers: 4
  • Forks: 3
  • Open Issues: 15
  • Releases: 10
Created over 4 years ago · Last pushed 10 months ago
Metadata Files
Readme License

README.md

Climakitae

codecov CI Documentation Status PyPI version Python License Code style: black

A powerful Python toolkit for climate data analysis and retrieval from the Cal-Adapt Analytics Engine (AE).

Climakitae provides intuitive tools for accessing, analyzing, and visualizing downscaled CMIP6 data, enabling researchers and practitioners to perform comprehensive climate impact assessments for California.

[!WARNING] This package is under active development. APIs may change between versions.

Key Features

  • 🌡️ Comprehensive Climate Data Access: Retrieve climate variables from hosted climate models
  • 📊 Downscaled Climate Models: Access dynamical (WRF) and statistical (LOCA2) downscaling methods
  • 🗺️ Spatial Analysis Tools: Built-in support for geographic subsetting and spatial aggregation
  • 📈 Climate Indices: Calculate heat indices, warming levels, and extreme event metrics
  • 🔧 Flexible Data Export: Export to NetCDF, CSV, and Zarr
  • 📱 GUI Integration: Works seamlessly with climakitaegui for interactive analysis

About Cal-Adapt

Climakitae is developed as part of the Cal-Adapt Analytics Engine, a platform for California climate data and tools. Cal-Adapt provides access to cutting-edge climate science to support adaptation planning and decision-making.

Getting Started

Installation via Conda

Prerequisites

Install 1.3.0 with conda on Linux

For additional details on the latest version and step-by-step installation instructions please visit the wiki

```bash

get the conda lock file from github

curl https://raw.githubusercontent.com/cal-adapt/cae-environments/refs/heads/main/conda-lock/climakitae/1.3.0/conda-linux-64.lock -o conda-linux-64.lock

create and activate your environment

conda create -n climakitae --file conda-linux-64.lock conda activate climakitae

install climakitae

pip install https://github.com/cal-adapt/climakitae/archive/refs/tags/1.3.0.zip ```

Installation via Pip

Prerequisites

  • Python 3.12
  • pip

Install 1.3.0 with pip on Linux

For additional details on the latest version and step-by-step installation instructions please visit the wiki

```bash

get the requirements.txt file from github

curl https://raw.githubusercontent.com/cal-adapt/climakitae/refs/heads/release-1.3.0/requirements.txt -o requirements.txt

load packages from requirements.txt

pip install -r requirements.txt

install climakitae

pip install https://github.com/cal-adapt/climakitae/archive/refs/tags/1.3.0.zip ```

Basic Usage

```python from climakitae.core.datainterface import getdata

Retrieve temperature data for California

data = getdata( variable="Air Temperature at 2m", downscalingmethod="Dynamical", resolution="9 km", timescale="monthly", scenario="SSP 3-7.0", cached_area="CA" )

Data is returned as an xarray Dataset

print(data) ```

Documentation

| Resource | Description | |----------|-------------| | AE Navigation Guide | Interactive notebook tutorial | | API Reference | Complete API documentation | | AE Notebooks | Sample notebooks and scripts | | Contributing | Development guidelines |

Development Setup

Prerequisites

Dev Environment Setup (Linux)

bash git clone https://github.com/cal-adapt/climakitae.git cd climakitae conda create -n climakitae --file conda-linux-64.lock conda activate climakitae

Running Tests

```bash

Run basic tests

pytest -m "not advanced"

Run all tests

pytest

Run with coverage

pip install pytest-cov pytest --cov=climakitae --cov-report=html ```

Contributing

We welcome contributions! Please see our contributing guidelines for details on:

  • 🐛 Reporting bugs
  • 💡 Requesting features
  • 🔧 Submitting code changes
  • 📖 Improving documentation

Quick Development Workflow

Open a ⚙️ code improvement issue describing the feature you'd like to develop.

Then, checkout and setup your branch: ```bash

Fork the repo and create a feature branch

git checkout -b feature/your-feature-name

Make your changes and add tests

...

Run tests and linting

pytest black climakitae/ isort climakitae/

Submit a pull request

```

When submitting a pull request, please tag at least two project maintainers/developers for review.

License

This project is licensed under the BSD 3-Clause License - see the LICENSE file for details.

Related Projects

Support


Contributors

Contributors

Owner

  • Name: Cal-Adapt
  • Login: cal-adapt
  • Kind: organization

GitHub Events

Total
  • Fork event: 1
  • Create event: 161
  • Commit comment event: 1
  • Issues event: 45
  • Release event: 7
  • Watch event: 7
  • Delete event: 142
  • Issue comment event: 203
  • Push event: 966
  • Gollum event: 23
  • Pull request review event: 350
  • Pull request review comment event: 213
  • Pull request event: 235
Last Year
  • Fork event: 1
  • Create event: 161
  • Commit comment event: 1
  • Issues event: 45
  • Release event: 7
  • Watch event: 7
  • Delete event: 142
  • Issue comment event: 203
  • Push event: 966
  • Gollum event: 23
  • Pull request review event: 350
  • Pull request review comment event: 213
  • Pull request event: 235

Committers

Last synced: 11 months ago

All Time
  • Total Commits: 3,051
  • Total Committers: 18
  • Avg Commits per committer: 169.5
  • Development Distribution Score (DDS): 0.721
Past Year
  • Commits: 783
  • Committers: 9
  • Avg Commits per committer: 87.0
  • Development Distribution Score (DDS): 0.737
Top Committers
Name Email Commits
Nicole Keeney n****y@g****m 852
claalmve c****9@b****u 647
Eric Lehmer e****r@b****u 436
Victoria Ford f****o@g****m 270
Ana Ordonez a****z@e****m 174
neilSchroeder n****r@g****m 143
naomi t****g 139
Tianchi-Liu l****c@b****u 92
Cora Kingdon c****n@b****u 89
bethem b****h@e****m 58
Brian Galey b****y@g****m 39
Nabig Chaudhry n****g@l****v 33
Owen Doherty o****y@g****m 22
Will Krantz k****w@g****m 19
neilSchroeder n****r@g****m 12
Grace Di Cecco 3****o 12
Calvin Chen c****n@C****l 9
Brian Galey b****y@b****u 5
Committer Domains (Top 20 + Academic)

Issues and Pull Requests

Last synced: 10 months ago

All Time
  • Total issues: 50
  • Total pull requests: 571
  • Average time to close issues: 3 months
  • Average time to close pull requests: 8 days
  • Total issue authors: 13
  • Total pull request authors: 11
  • Average comments per issue: 1.4
  • Average comments per pull request: 1.09
  • Merged pull requests: 429
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 30
  • Pull requests: 314
  • Average time to close issues: 17 days
  • Average time to close pull requests: 7 days
  • Issue authors: 11
  • Pull request authors: 8
  • Average comments per issue: 1.27
  • Average comments per pull request: 0.88
  • Merged pull requests: 223
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • elehmer (16)
  • vicford (12)
  • neilSchroeder (5)
  • acordonez (3)
  • zladwp (3)
  • claalmve (3)
  • nathancoliver (2)
  • janluong (1)
  • nicolejkeeney (1)
  • mirachokshi (1)
  • thenaomig (1)
  • alwils916 (1)
  • GondekNP (1)
Pull Request Authors
  • claalmve (195)
  • elehmer (147)
  • nicolejkeeney (79)
  • neilSchroeder (46)
  • vicford (33)
  • acordonez (29)
  • Tianchi-Liu (26)
  • thenaomig (7)
  • wkrantz (6)
  • gdicecco (2)
  • corakingdon (1)
Top Labels
Issue Labels
bug (22) enhancement (6) Release 1.2.0 (3) Release 1.2.2 (2) question (1) environment (1)
Pull Request Labels
Advanced Testing (28) backburner (11) Urgent (2) bug (1) enhancement (1)

Packages

  • Total packages: 1
  • Total downloads:
    • pypi 102 last-month
  • Total dependent packages: 0
  • Total dependent repositories: 0
  • Total versions: 5
  • Total maintainers: 1
pypi.org: climakitae

Climate data analysis toolkit

  • Versions: 5
  • Dependent Packages: 0
  • Dependent Repositories: 0
  • Downloads: 102 Last month
Rankings
Dependent packages count: 10.3%
Average: 34.2%
Dependent repos count: 58.1%
Maintainers (1)
Last synced: 10 months ago

Dependencies

.github/workflows/ci.yaml actions
  • actions/cache v2 composite
  • actions/checkout v2 composite
  • conda-incubator/setup-miniconda v2 composite
  • psf/black stable composite
docs/requirements.txt pypi
  • Sphinx ==4.4.0
  • sphinx-book-theme ==0.2.0
  • sphinx-design *
requirements.txt pypi
  • cartopy ==0.20.1
  • dask-gateway ==0.9.0
  • geopandas ==0.10.2
  • geoviews ==1.9.2
  • holoviews ==1.14.6
  • hvplot ==0.7.3
  • intake ==0.6.4
  • intake-xarray ==0.5.0
  • jinja2 ==3.0.2
  • matplotlib ==3.4.3
  • metpy ==1.1.0
  • numpy ==1.21.2
  • pandas ==1.3.4
  • panel ==0.12.4
  • param ==1.11.1
  • psutil ==5.8.0
  • pyproj ==3.2.1
  • pytest ==7.1.3
  • rioxarray ==0.7.1
  • s3fs ==2021.10.1
  • scipy ==1.7.1
  • shapely ==1.7.1
  • xarray ==0.19.0
setup.py pypi
environment.yml conda
  • cartopy
  • geopandas
  • geoviews
  • holoviews
  • hvplot
  • intake
  • intake-esm
  • intake-geopandas
  • intake-xarray
  • jinja2
  • matplotlib
  • metpy
  • numpy
  • pandas
  • panel
  • param
  • pip
  • proj
  • psutil
  • pygeos
  • pyproj
  • pytest
  • python
  • rioxarray
  • s3fs
  • scipy
  • shapely
  • xarray
  • xmip