This release is a pre-release and may not be stable for production use.
🌍 climatrix
Climatrix is a flexible toolbox for sampling and reconstructing climate datasets.
It provides utilities and an xarray accessor that simplifies the workflow of working with climate data arrays — from preprocessing to statistical sampling.
👤 Author
- Name: Jakub Walczak
- GitHub: @jamesWalczak
- Email: jakub.walczak@p.lodz.pl
👥 Contributors
- Name: Wojciech Żyndul
- GitHub: @wzyndul
- Email: 242575@edu.p.lodz.pl
📌 Version
Important This is an alpha release – features are still evolving, and breaking changes may occur.
📚 Table of Contents
⚙️ Usage
Getting started and API reference are available in the official documentation.
🧪 Examples
🔍 Click to expand example: Accessing `climatrix` features
import climatrix as cm
import xarray as xr
my_dataset = "/file/to/netcdf.nc
cm_dset = xr.open_dataset(my_dataset).cm
📊 Click to expand example: Getting values of coordinate
import climatrix as cm
import xarray as xr
my_dataset = "/file/to/netcdf.nc"
cm_dset = xr.open_dataset(my_dataset).cm
print("Latitude values: ", cm_dset.latitude)
print("Time values: ", cm_dset.time)
📊 Subsetting by bounding box
import climatrix as cm
import xarray as xr
my_dataset = "/file/to/netcdf.nc
cm_dset = xr.open_dataset(my_dataset).cm
europe = cm_dset.cm.subset(north=71, south=36, west=-24, east=35)
🛠️ Features
- 🧭 Easy access to coordinate data (similar to MetPy), using regex to locate lat/lon
- 📊 Sampling of climate data, both uniformly and using normal-like distributions
- 🔁 Reconstruction via:
- IDW (Inverse Distance Weighting)
- Ordinary Kriging
- SIREN (Sinusoidal INR)
- 🧪 Tools to compare reconstruction results
- 📈 Plotting utilities for visualizing inputs and outputs
- 🔧 Hyperparameter Optimization
🔧 Hyperparameter Optimization
Climatrix provides automated hyperparameter optimization for all reconstruction methods using Bayesian optimization. The HParamFinder class offers an intuitive interface for finding optimal parameters.
Quick Start
from climatrix.optim import HParamFinder
# Basic usage - optimize IDW parameters
finder = HParamFinder(train_dataset, validation_dataset, method="idw")
result = finder.optimize()
best_params = result['best_params']
# Use optimized parameters for reconstruction
optimized_reconstruction = train_dataset.reconstruct(
target=test_domain,
method="idw",
**best_params
)
Advanced Usage
# Optimize specific parameters only
finder = HParamFinder(
train_dataset, validation_dataset,
method="sinet",
include=["lr", "batch_size"], # Only optimize these parameters
exclude=["k"], # Or exclude specific parameters
metric="rmse", # Optimization metric (mae, mse, rmse)
explore=0.7, # Exploration vs exploitation (0-1)
n_iters=50, # Total optimization iterations
random_seed=123 # For reproducible results
)
result = finder.optimize()
print(f"Best parameters: {result['best_params']}")
print(f"Best {result['metric_name']} score: {result['best_score']}")
Installation
The hyperparameter optimization feature requires the bayesian-optimization package:
pip install climatrix[optim]
📄 License
This project is licensed under the MIT License - see the LICENSE file for details.
👥 Contributing
The rules for contributing on the project are described in CONTRIBUTING file in details.
🙏 Citation
If you are using this software in scientific work, cite us:
@article{walczak2025climatrix,
title={Climatrix: Xarray accessor for climate data sampling and reconstruction},
author={Walczak, Jakub and {\.Z}yndul, Wojciech},
journal={SoftwareX},
volume={31},
pages={102263},
year={2025},
publisher={Elsevier}
}
Metadata
Release files for climatrix 1.1a2
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| climatrix-1.1a2.tar.gz | 6.2 MB | With provenance | Details for climatrix-1.1a2.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| climatrix-1.1a2-py3-none-any.whl | Python 3 | none | any | Details for climatrix-1.1a2-py3-none-any.whl |
Total release size: 6.3 MB
Release files / climatrix-1.1a2.tar.gz
| Download URL | climatrix-1.1a2.tar.gz |
|---|---|
| Size | 6.2 MB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
3d871688f0bbe4dc6abb9c04f541f97a961acc3f892f21996adad2c56e98881c
|
|
BLAKE2b-256 checksum How to use checksums |
7213da8fc1020aefb53ff31e7f3e416d64f91b21adc48aa1a781fe70b37e1866
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Apr 10, 2026.
Transparency logRelease files / climatrix-1.1a2-py3-none-any.whl
| Download URL | climatrix-1.1a2-py3-none-any.whl |
|---|---|
| Size | 136.2 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
2d0bf30593c0fbf69cbd58539614c6bb6027cc8f749b7d033a2acd7adbf563bc
|
|
BLAKE2b-256 checksum How to use checksums |
41491114cc3ad088d891536962eccc2062e1458410d7cd7794054508806e1229
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Apr 10, 2026.
Transparency logSecurity for climatrix 1.1a2
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
Full provenance
Both files in this release have been uploaded with provenance metadata.
Attestation for climatrix-1.1a2.tar.gz
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Apr 10, 2026.
Transparency logA note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.