YAC
YAC is a coupling library for Earth system models.
Documentation
An extensive documentation with:
- user guide
- interface reference
- release information
- building instructions
- detailed information on interpolation options
- ...
can be found here:
https://dkrz-sw.gitlab-pages.dkrz.de/yac/
Requirements
- MPI
- LAPACK (a bundled, limited CLAPACK fallback is used if no external implementation is found)
- libfyaml (only required for the MCI library)
- yaxt
- NetCDF (optional; without it, features like reading/writing weight files are disabled)
- libmtime (bundled version included; only required for the MCI library)
See the documentation for the full list of requirements, including those only needed for building from a non-release checkout or building the documentation itself.
Getting YAC
git clone https://gitlab.dkrz.de/dkrz-sw/yac.git
To get only the code for a specific release:
git clone --depth 1 --branch <release_tag> https://gitlab.dkrz.de/dkrz-sw/yac.git
Installing the Python bindings from PyPI
The Python bindings can be installed directly from PyPI:
pip install yac
By default, pip install automatically detects available MPI compilers and
builds YAC with Python bindings from source. See the
Python bindings documentation
for optional extras (pip install yac[full]) and how to point the build at a
specific MPI, yaxt, or NetCDF installation via CMAKE_ARGS.
Building YAC
YAC can be built either with Autotools or with CMake. Detailed, system-specific build instructions (Levante, macOS, Ubuntu, Windows/WSL, ...) are provided in the documentation.
Autotools
./autogen.sh
mkdir build && cd build
../configure ...
make
CMake
YAC also provides CMake support as an alternative build system, supporting all of the same features (building the core, utils and MCI libraries with C and Fortran interfaces, Python bindings, tools, examples and tests). It requires CMake 3.18 or later.
mkdir build_cmake && cd build_cmake
cmake -DCMAKE_BUILD_TYPE=RelWithDebInfo \
-DBUILD_TESTING=ON \
-DYAC_ENABLE_PYTHON=ON \
-Dyaxt_ROOT=<yaxt_inst_dir> \
-DCMAKE_INSTALL_PREFIX=<yac_inst_dir> \
..
cmake --build . --parallel 8
Note that cmake --install installs the YAC libraries, headers and tools, but
not the Python bindings. See the
CMake documentation for
details, including configuration options and how to consume YAC from a
downstream CMake project via find_package(YAC).
Testing YAC
With Autotools, the following runs the test suite:
make -j8 check
```sh
ctest --output-on-failure --parallel 8
Examples
The examples directory contains a number of C, Fortran, and Python use
case examples, which can be used as a reference on how to use the YAC'
interfaces. Each example therein contains its own README describing its
purpose and how to use it. We also provide examples to test the
coupling between realistic grids. These examples can also be used to
study the behaviour of the various interpolations and the
interpolation stack.
Contact
- Moritz Hanke - hanke at dkrz.de
- Nils-Arne Dreier - dreier at dkrz.de
- Benjamin Rodenberg - rodenberg at dkrz.de
License
BSD License
- see copyright notice in files.
- for mtime source code see COPYING within
mtimedirectory.
Metadata
Release files for yac 3.21.0
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 | |
|---|---|---|---|---|
| yac-3.21.0.tar.gz | 8.2 MB | Without provenance | Details |
Built distributions (wheels)
| File | Reset | |||
|---|---|---|---|---|
| yac-3.21.0-pp311-pypy311_pp73-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl | PyPy 3.11 | PyPy 3.11 7.3 | Linux glibc 2.28+ x86-64, Linux glibc 2.27+ x86-64 | Details |
| yac-3.21.0-cp315-cp315t-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl | CPython 3.15 | CPython 3.15 free-threading | Linux glibc 2.27+ x86-64, Linux glibc 2.28+ x86-64 | Details |
| yac-3.21.0-cp315-cp315-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl | CPython 3.15 | CPython 3.15 | Linux glibc 2.28+ x86-64, Linux glibc 2.27+ x86-64 | Details |
| yac-3.21.0-cp314-cp314t-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl | CPython 3.14 | CPython 3.14 free-threading | Linux glibc 2.28+ x86-64, Linux glibc 2.27+ x86-64 | Details |
| yac-3.21.0-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl | CPython 3.14 | CPython 3.14 | Linux glibc 2.27+ x86-64, Linux glibc 2.28+ x86-64 | Details |
| yac-3.21.0-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl | CPython 3.13 | CPython 3.13 | Linux glibc 2.28+ x86-64, Linux glibc 2.27+ x86-64 | Details |
| yac-3.21.0-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl | CPython 3.12 | CPython 3.12 | Linux glibc 2.28+ x86-64, Linux glibc 2.27+ x86-64 | Details |
| yac-3.21.0-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl | CPython 3.11 | CPython 3.11 | Linux glibc 2.28+ x86-64, Linux glibc 2.27+ x86-64 | Details |
| yac-3.21.0-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl | CPython 3.10 | CPython 3.10 | Linux glibc 2.28+ x86-64, Linux glibc 2.27+ x86-64 | Details |
| yac-3.21.0-cp39-cp39-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl | CPython 3.9 | CPython 3.9 | Linux glibc 2.27+ x86-64, Linux glibc 2.28+ x86-64 | Details |
Total release size: 130.9 MB
Release files / yac-3.21.0.tar.gz
| Download URL | yac-3.21.0.tar.gz |
|---|---|
| Size | 8.2 MB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
d08266fd0105dcf2b1649dd780ed82f74f90847b3fc79cd1fbd381229af6d79d
|
|
BLAKE2b-256 checksum How to use checksums |
53f32de237be99ab29cd8e410d5c8471bf4f21940d717ca41796ea6ebe229c81
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.10.21
|
Release files / yac-3.21.0-pp311-pypy311_pp73-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
| Download URL | yac-3.21.0-pp311-pypy311_pp73-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl |
|---|---|
| Size | 12.2 MB |
| Tags | Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64 PyPy 3.11 PyPy 3.11 7.3 |
|
SHA-256 checksum How to use checksums |
a39d7dc1df950f36e646e40b8dcacfe3ae7c12908b1675cf091cff5c2cbecaf3
|
|
BLAKE2b-256 checksum How to use checksums |
b6a8d5f5e0b069eec60687bcc14a6e4d2cb33598e9f5b6b468357ddc0054099e
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.10.21
|
Release files / yac-3.21.0-cp315-cp315t-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
| Download URL | yac-3.21.0-cp315-cp315t-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl |
|---|---|
| Size | 12.2 MB |
| Tags | CPython 3.15 CPython 3.15 free-threading Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
16636a729b56c5410d9cf161c3a6bf796b445ccd21777a1a37ce90c66c1490db
|
|
BLAKE2b-256 checksum How to use checksums |
d7f1c3cb377a0deec59e02605bfa429a16f7f5abe43b44929136bcb42c8e8824
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.10.21
|
Release files / yac-3.21.0-cp315-cp315-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
| Download URL | yac-3.21.0-cp315-cp315-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl |
|---|---|
| Size | 12.3 MB |
| Tags | CPython 3.15 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
a4a5bca35e7f015fb9299ae73925a6556ccd6b02e21c32c06ac9562c62d6570f
|
|
BLAKE2b-256 checksum How to use checksums |
db027647c53d7b8427f10fcf97ae897a95dc1ba26233c892ad11179c227ae3af
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.10.21
|
Release files / yac-3.21.0-cp314-cp314t-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
| Download URL | yac-3.21.0-cp314-cp314t-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl |
|---|---|
| Size | 12.2 MB |
| Tags | CPython 3.14 CPython 3.14 free-threading Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
03d4d0fc43d7db20a18d450a204f4a939dcab69ac5e417f47f66e8876e2414d5
|
|
BLAKE2b-256 checksum How to use checksums |
cc27bab909814bf8f96c8fba4b973aeddc42e2db9e92bdccb7b4f976fc0d31c7
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.10.21
|
Release files / yac-3.21.0-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
| Download URL | yac-3.21.0-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl |
|---|---|
| Size | 12.3 MB |
| Tags | CPython 3.14 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
9be1ef578488e53cfba0cae7b9463e9983f4f97aef35027916d8042b30713f46
|
|
BLAKE2b-256 checksum How to use checksums |
ff305f1b137b55364e6e18df86295440e6868c1492a01ca562d28700ef4bab13
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.10.21
|
Release files / yac-3.21.0-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
| Download URL | yac-3.21.0-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl |
|---|---|
| Size | 12.3 MB |
| Tags | CPython 3.13 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
8e1c6b75dc5d4cf11f339c12f318e9f742faf95a1ff1ede4576a83bedd297add
|
|
BLAKE2b-256 checksum How to use checksums |
372d403b4c14406d233accb972e0555533dae103d7b0d9cbf80efb6f5659da8b
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.10.21
|
Release files / yac-3.21.0-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
| Download URL | yac-3.21.0-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl |
|---|---|
| Size | 12.3 MB |
| Tags | CPython 3.12 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
e9f009342dae302183d33636a0414762db4ad0a1a4976930b31bc37568228a81
|
|
BLAKE2b-256 checksum How to use checksums |
bea1ebf55d36de277b8d905d7b5c73d2e734fafef5e0c852476aa2ae7d7a4dff
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.10.21
|
Release files / yac-3.21.0-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
| Download URL | yac-3.21.0-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl |
|---|---|
| Size | 12.3 MB |
| Tags | CPython 3.11 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
9cb155e7b4fcc95d0aa1d6516f0016e5d737c8852e8ef448fe25e974343ffc4d
|
|
BLAKE2b-256 checksum How to use checksums |
e78db403e6875a453d20cff0e2c272c4bde574404d5ec80bb1fdd59e06af2f2a
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.10.21
|
Release files / yac-3.21.0-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
| Download URL | yac-3.21.0-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl |
|---|---|
| Size | 12.3 MB |
| Tags | CPython 3.10 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
3690f3d941345a9f8502a3c9adc7f955f1d34bfbb85e6f4a0a364926e86f7bb1
|
|
BLAKE2b-256 checksum How to use checksums |
640e684c51363211754e366ba42083ab51eb5a93952816009bcc9151e0767916
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.10.21
|
Release files / yac-3.21.0-cp39-cp39-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
| Download URL | yac-3.21.0-cp39-cp39-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl |
|---|---|
| Size | 12.3 MB |
| Tags | CPython 3.9 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
73475f8ef0d192f6b03ee57454c73fdeb9860b58321425e4dc4dddd1d5dc9d47
|
|
BLAKE2b-256 checksum How to use checksums |
67c7b8c4c4132d57ca6aa0de834bd2b2f35b2e7aa02ec8cb1a4e534f38df9949
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.10.21
|
Security for yac 3.21.0
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.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A 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.