Skip to main content

YAC

pipeline status PyPI License

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 mtime directory.

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)

Source distribution for yac 3.21.0
File Size Uploaded Provenance
yac-3.21.0.tar.gz 8.2 MB Without provenance Details

Built distributions (wheels)

Table of built distributions (wheels) for yac 3.21.0
File
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.

Release history Release notifications | RSS feed

This release

3.21.0 This release

11 release files No provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page